Reference

Component documentation

Complete EJS configuration, public parameters, and JavaScript API for every kit component. Incompatible options are still shown in the snippet so the full contract remains visible.

Public conventions

  • EJS parameters use camelCase; explicit booleans notably use show… and enable….
  • class targets the root or primary element; targeted extensions use the Class suffix.
  • Instance APIs are exposed on root.__ui<Component> and their methods begin with a verb.
  • Each method argument states its expected type; the ? suffix and optional mention mean it can be omitted.
  • Events follow component:action, bubble through the DOM, and expose their data in event.detail.
  • Every capability has one canonical name; no legacy alias is maintained.

Button

View demo

Action button or link with variants, colors, sizes, icons, and loading state.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Button — EJS Ejs
<%- include('../ui/button', {
  label: 'Save',
  variant: 'regular',
  color: 'primary',
  size: 'md',
  shape: 'default',
  iconName: 'check',
  customSize: '3rem',
  type: 'button',
  href: '/action',
  id: 'save-button',
  pressAnimation: true,
  iconLeft: 'save',
  iconRight: 'arrow-right',
  attrs: { 'data-action': 'save', 'aria-label': 'Save' },
  class: 'w-full sm:w-auto',
  disabled: false,
  loading: false,
}) %>

Parameters

Parameters for Button
Parameter Type Required Default Possible values Description
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
variant string No regular See the complete configuration above Public component parameter; see the complete EJS configuration above.
color string No primary See the complete configuration above Public component parameter; see the complete EJS configuration above.
size string No md See the complete configuration above Public component parameter; see the complete EJS configuration above.
shape string No default See the complete configuration above Public component parameter; see the complete EJS configuration above.
iconName string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
customSize number/string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
type string No button See the complete configuration above Public component parameter; see the complete EJS configuration above.
href string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
pressAnimation boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
iconLeft string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
iconRight string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
loading boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: import { setLoading } from '/ui/utils.js'

JavaScript methods for Button
Method or interactionExpected parametersReturnDescription
setLoading(button, active)
  • button: HTMLElement
  • active: boolean
void Public method; see the component module for its behavior.

Badge

View demo

Compact status or category indicator.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Badge — EJS Ejs
<%- include('../ui/badge', {
  label: 'New',
  variant: 'soft',
  color: 'success',
  iconName: 'sparkles',
  class: 'w-full',
}) %>

Parameters

Parameters for Badge
Parameter Type Required Default Possible values Description
label string Yes See the complete configuration above Public component parameter; see the complete EJS configuration above.
variant string No default See the complete configuration above Public component parameter; see the complete EJS configuration above.
color string No primary See the complete configuration above Public component parameter; see the complete EJS configuration above.
iconName string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Alert

View demo

Contextual message with severity level and HTML content.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Alert — EJS Ejs
<%- include('../ui/alert', {
  variant: 'warning',
  title: 'Warning',
  message: '<p><strong>HTML</strong> content.</p>',
  dismissible: true,
  dismissLabel: 'Close alert',
  class: 'w-full',
}) %>

Parameters

Parameters for Alert
Parameter Type Required Default Possible values Description
variant string No info See the complete configuration above Public component parameter; see the complete EJS configuration above.
title string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
message string Yes See the complete configuration above Public component parameter; see the complete EJS configuration above.
dismissible boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
dismissLabel string No Fermer See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiAlert

JavaScript methods for Alert
Method or interactionExpected parametersReturnDescription
dismiss() boolean Public method; see the component module for its behavior.
.
JavaScript events for Alert
EventDetailDescription
alert:dismiss Event detail Public event emitted by the component.

Spinner

View demo

Standalone loading indicator without JavaScript initialization.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Spinner — EJS Ejs
<%- include('../ui/spinner', {
  size: "md",
  class: 'w-full',
}) %>

Parameters

Parameters for Spinner
Parameter Type Required Default Possible values Description
size string No md See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Skeleton

View demo

Loading placeholder with text, card, list presets, and free composition.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Skeleton — EJS Ejs
<%- include('../ui/skeleton', {
  type: 'custom',
  lines: 4,
  items: 3,
  body: '<div class="ui-skeleton h-12 w-full"></div>',
  class: 'w-full',
}) %>

Parameters

Parameters for Skeleton
Parameter Type Required Default Possible values Description
type string No text See the complete configuration above Public component parameter; see the complete EJS configuration above.
lines number No 3 See the complete configuration above Public component parameter; see the complete EJS configuration above.
items number No 3 See the complete configuration above Public component parameter; see the complete EJS configuration above.
body string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: import { showSkeleton } from '/ui/utils.js'

JavaScript methods for Skeleton
Method or interactionExpected parametersReturnDescription
showSkeleton(element, type?, options?)
  • element: HTMLElement
  • type?: 'text' | 'card' | 'list' (optional)
  • options?: { lines?: number, items?: number } (optional)
void Public method; see the component module for its behavior.

Card

View demo

Structured container with media, header, body, and footer.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Card — EJS Ejs
<%- include('../ui/card', {
  title: 'Component title',
  subtitle: 'Secondary description',
  image: { src: '/images/example.jpg', alt: 'Illustration', position: 'top', aspect: '16 / 9', class: 'object-cover', mediaClass: 'bg-muted', loading: 'lazy' },
  imageAlt: 'Illustration',
  imagePosition: 'top',
  imageAspect: '16 / 9',
  imageClass: 'object-cover',
  imageMediaClass: 'bg-muted',
  footer: '<button type="button" class="ui-btn ui-btn-regular ui-btn-md">Confirm</button>',
  body: '<p>Component HTML content.</p>',
  class: 'w-full',
}) %>

Parameters

Parameters for Card
Parameter Type Required Default Possible values Description
title string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
subtitle string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
image string/object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
imageAlt string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
imagePosition string No top See the complete configuration above Public component parameter; see the complete EJS configuration above.
imageAspect string No 16 / 9 See the complete configuration above Public component parameter; see the complete EJS configuration above.
imageClass string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
imageMediaClass string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
footer string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
body string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Modal

View demo

Modal dialog with focus trap, keyboard closing, and structured actions.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Modal — EJS Ejs
<%- include('../ui/modal', {
  id: 'example-modal',
  title: 'Component title',
  titleIcon: 'info',
  body: '<p>Component HTML content.</p>',
  size: 'lg',
  class: 'w-full',
  footerHidden: false,
  buttons: [
      { label: 'Cancel', variant: 'ghost', color: 'muted', size: 'sm', close: true },
      { label: 'Save', variant: 'regular', color: 'primary', size: 'md', shape: 'default', iconLeft: 'save', iconRight: 'arrow-right', type: 'submit', id: 'save', class: 'font-semibold', attrs: { 'data-action': 'save' }, disabled: false },
    ],
  footer: '<button type="button" class="ui-btn ui-btn-regular ui-btn-md">Confirm</button>',
}) %>

Parameters

Parameters for Modal
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
title string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
titleIcon string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
body string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
size string No md See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
footerHidden boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
buttons array No See the complete configuration above Public component parameter; see the complete EJS configuration above.
footer string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiModal

JavaScript methods for Modal
Method or interactionExpected parametersReturnDescription
open() boolean Public method; see the component module for its behavior.
close() boolean Public method; see the component module for its behavior.
isOpen() boolean Public method; see the component module for its behavior.
. .
JavaScript events for Modal
EventDetailDescription
modal:open Event detail Public event emitted by the component.
modal:close Event detail Public event emitted by the component.

Drawer

View demo

Side or vertical panel, static or fed from a responsive source.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Drawer — EJS Ejs
<%- include('../ui/drawer', {
  id: 'example-drawer',
  title: 'Component title',
  titleIcon: 'info',
  body: '<p>Component HTML content.</p>',
  side: { base: 'right', lg: 'left' },
  width: { base: 'calc(100vw - 2rem)', sm: '24rem', lg: '32rem' },
  bodyClass: '',
  responsive: { source: '#drawer-content', breakpoints: ['base', 'sm', 'md'], media: '(max-width: 1023px)', controls: true },
  class: 'w-full',
}) %>

Parameters

Parameters for Drawer
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
title string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
titleIcon string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
body string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
side string|object No right See the complete configuration above Public component parameter; see the complete EJS configuration above.
width string|number|object No 20rem See the complete configuration above Public component parameter; see the complete EJS configuration above.
bodyClass string No p-4 See the complete configuration above Public component parameter; see the complete EJS configuration above.
responsive object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiDrawer

JavaScript methods for Drawer
Method or interactionExpected parametersReturnDescription
open() boolean Public method; see the component module for its behavior.
close() boolean Public method; see the component module for its behavior.
isOpen() boolean Public method; see the component module for its behavior.
. .
JavaScript events for Drawer
EventDetailDescription
drawer:open Event detail Public event emitted by the component.
drawer:close Event detail Public event emitted by the component.

Sliding Drawer

View demo

Persistent sliding panel with a handle and responsive dimensions.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Sliding Drawer — EJS Ejs
<%- include('../ui/sliding-drawer', {
  id: 'example-sliding-drawer',
  body: '<p>Component HTML content.</p>',
  side: 'right',
  size: 'full',
  overlay: true,
  handle: 'icon',
  handleIcon: 'panel-right',
  handleText: 'Open',
  handleAriaLabel: 'Open panel',
  radiusClass: 'rounded-l-xl',
  radius: '1rem',
  edgeInset: '1rem',
  responsive: { source: '#sliding-content', breakpoints: ['base', 'sm', 'md'], controls: true },
  class: 'w-full',
}) %>

Parameters

Parameters for Sliding Drawer
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
body string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
side string No right See the complete configuration above Public component parameter; see the complete EJS configuration above.
size string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
overlay boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
handle string No grip See the complete configuration above Public component parameter; see the complete EJS configuration above.
handleIcon string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
handleText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
handleAriaLabel string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
radiusClass string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
radius string No var(--radius) See the complete configuration above Public component parameter; see the complete EJS configuration above.
edgeInset string | number No 0 See the complete configuration above Public component parameter; see the complete EJS configuration above.
responsive object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiSlidingDrawer

JavaScript methods for Sliding Drawer
Method or interactionExpected parametersReturnDescription
open() boolean Public method; see the component module for its behavior.
close() boolean Public method; see the component module for its behavior.
isOpen() boolean Public method; see the component module for its behavior.
. .
JavaScript events for Sliding Drawer
EventDetailDescription
sliding-drawer:open Event detail Public event emitted by the component.
sliding-drawer:close Event detail Public event emitted by the component.

Anchor Nav

View demo

Side navigation with scrollspy, desktop sticky behavior, and a mobile drawer.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Anchor Nav — EJS Ejs
<%- include('../ui/anchor-nav', {
  id: 'example-anchor-nav',
  title: 'Component title',
  items: [
      { id: 'overview', label: 'Overview' },
      { id: 'api', label: 'API' },
    ],
  targetSelector: 'section[id]',
  scrollContainer: '#scroll-container',
  offsetSelector: 'header',
  rootMargin: '-80px 0px -70% 0px',
  sticky: true,
  mobileDrawer: { id: 'page-nav-drawer', title: 'Sections', side: 'right' },
  class: 'w-full',
}) %>

<%# Associated subcomponents %>
<%- include('../ui/anchor-nav-trigger', {
  target: 'page-nav-drawer',
  label: 'Label',
  iconName: 'list',
  class: 'w-full',
}) %>

Parameters

Parameters for Anchor Nav
Parameter Partial Type Required Default Possible values Description
id anchor-nav string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
title anchor-nav string No On this page See the complete configuration above Public component parameter; see the complete EJS configuration above.
items anchor-nav array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
targetSelector anchor-nav string No section[id] See the complete configuration above Public component parameter; see the complete EJS configuration above.
scrollContainer anchor-nav string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
offsetSelector anchor-nav string No header See the complete configuration above Public component parameter; see the complete EJS configuration above.
rootMargin anchor-nav string No -80px 0px -70% 0px See the complete configuration above Public component parameter; see the complete EJS configuration above.
sticky anchor-nav boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
mobileDrawer anchor-nav object|boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
class anchor-nav string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
target anchor-nav-trigger string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
label anchor-nav-trigger string No Sections See the complete configuration above Public component parameter; see the complete EJS configuration above.
iconName anchor-nav-trigger string No align-justify See the complete configuration above Public component parameter; see the complete EJS configuration above.
class anchor-nav-trigger string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiAnchorNav

JavaScript methods for Anchor Nav
Method or interactionExpected parametersReturnDescription
getActiveId() string|null Public method; see the component module for its behavior.
scrollTo(id)
  • id: string
boolean Public method; see the component module for its behavior.
refresh() void Public method; see the component module for its behavior.

Nav

View demo

Generic horizontal or vertical navigation with overflow handling.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Nav — EJS Ejs
<%- include('../ui/nav', {
  items: [
      { label: 'Home', href: '/', iconLeft: 'home', active: true },
      { label: 'Action', type: 'button', iconRight: 'arrow-right', attrs: { 'data-action': 'open' } },
      { label: 'Information', type: 'text', disabled: true },
    ],
  orientation: "horizontal",
  variant: "pill",
  size: "md",
  gap: "sm",
  activeMode: "exact",
  wrap: true,
  overflowX: true,
  overflowPosition: "start",
  overflowFade: true,
  id: 'example-nav',
  ariaLabel: "Navigation",
  listClass: '',
  itemClass: '',
  linkClass: '',
  attrs: { 'data-example': 'complete' },
  class: 'w-full',
}) %>

Parameters

Parameters for Nav
Parameter Type Required Default Possible values Description
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
orientation string No horizontal See the complete configuration above Public component parameter; see the complete EJS configuration above.
variant string No pill See the complete configuration above Public component parameter; see the complete EJS configuration above.
size string No md See the complete configuration above Public component parameter; see the complete EJS configuration above.
gap string No sm See the complete configuration above Public component parameter; see the complete EJS configuration above.
activeMode string No exact See the complete configuration above Public component parameter; see the complete EJS configuration above.
wrap boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowX boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowPosition string No start See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowFade boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
ariaLabel string No Navigation See the complete configuration above Public component parameter; see the complete EJS configuration above.
listClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
itemClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
linkClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Breadcrumbs

View demo

Responsive, collapsible, accessible breadcrumb trail.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Breadcrumbs — EJS Ejs
<%- include('../ui/breadcrumbs', {
  id: 'example-breadcrumbs',
  ariaLabel: "Breadcrumb",
  items: [
      { label: 'Home', href: '/', icon: 'home' },
      { label: 'Components', href: '/components', icon: 'blocks' },
      { label: 'Current page', current: true },
    ],
  activeMode: "exact",
  mobileBehavior: "scroll",
  overflowPosition: "start",
  overflowFade: true,
  separatorIcon: "chevron-right",
  separator: 'separator',
  separatorHtml: 'separatorHtml',
  maxItems: 1,
  ellipsisLabel: "Pages masquees",
  class: 'w-full',
  listClass: '',
  itemClass: '',
  linkClass: '',
  currentClass: '',
  separatorClass: '',
  attrs: { 'data-example': 'complete' },
}) %>

Parameters

Parameters for Breadcrumbs
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
ariaLabel string No Breadcrumb See the complete configuration above Public component parameter; see the complete EJS configuration above.
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
activeMode string No exact See the complete configuration above Public component parameter; see the complete EJS configuration above.
mobileBehavior string No scroll See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowPosition string No start See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowFade boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
separatorIcon string No chevron-right See the complete configuration above Public component parameter; see the complete EJS configuration above.
separator string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
separatorHtml string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
maxItems number No See the complete configuration above Public component parameter; see the complete EJS configuration above.
ellipsisLabel string No Pages masquees See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
listClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
itemClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
linkClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
currentClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
separatorClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Mega Menu

View demo

Multi-level navigation with desktop panels and a mobile journey.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Mega Menu — EJS Ejs
<%- include('../ui/mega-menu', {
  id: 'example-mega-menu',
  items: [
      { label: 'Home', href: '/', iconLeft: 'home' },
      { label: 'Products', icon: 'package', children: [
        { label: 'Platform', href: '/platform', description: 'Overview', icon: 'layers', badge: 'New', children: [
          { label: 'API', href: '/api', icon: 'braces', active: true },
        ] },
      ] },
    ],
  ariaLabel: "Navigation",
  orientation: "horizontal",
  variant: "pill",
  size: "md",
  gap: "sm",
  activeMode: "exact",
  wrap: true,
  overflowX: true,
  overflowPosition: "start",
  overflowFade: true,
  mobileTrigger: 'mobileTrigger',
  drawerMode: 'drawerMode',
  drawerBreakpoints: "base sm md",
  drawerMedia: 'drawerMedia',
  drawer: {},
  allLabel: "Tout voir",
  mobileTitle: 'mobileTitle',
  mobileThumbnails: true,
  linkAdapter: (item) => item.href,
  deobfuscate: true,
  panelClass: '',
  gridClass: '',
  rootClass: '',
  class: 'w-full',
  listClass: '',
  itemClass: '',
  linkClass: '',
  attrs: { 'data-example': 'complete' },
  openMode: "click",
}) %>

Parameters

Parameters for Mega Menu
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
ariaLabel string No Navigation See the complete configuration above Public component parameter; see the complete EJS configuration above.
orientation string No horizontal See the complete configuration above Public component parameter; see the complete EJS configuration above.
variant string No pill See the complete configuration above Public component parameter; see the complete EJS configuration above.
size string No md See the complete configuration above Public component parameter; see the complete EJS configuration above.
gap string No sm See the complete configuration above Public component parameter; see the complete EJS configuration above.
activeMode string No exact See the complete configuration above Public component parameter; see the complete EJS configuration above.
wrap boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowX boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowPosition string No start See the complete configuration above Public component parameter; see the complete EJS configuration above.
overflowFade boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
mobileTrigger string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
drawerMode string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
drawerBreakpoints string No base sm md See the complete configuration above Public component parameter; see the complete EJS configuration above.
drawerMedia string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
drawer object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
allLabel string No Tout voir See the complete configuration above Public component parameter; see the complete EJS configuration above.
mobileTitle string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
mobileThumbnails boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
linkAdapter function No See the complete configuration above Public component parameter; see the complete EJS configuration above.
deobfuscate boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
panelClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
gridClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
rootClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
listClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
itemClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
linkClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
openMode string No click See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiMegaMenu

JavaScript methods for Mega Menu
Method or interactionExpected parametersReturnDescription
open(target?)
  • target?: string | Element (optional)
void Public method; see the component module for its behavior.
close() void Public method; see the component module for its behavior.
showStep(step, direction?)
  • step: string
  • direction?: 'forward' | 'back' | '' (optional)
void Public method; see the component module for its behavior.
isOpen() boolean Public method; see the component module for its behavior.

Accordion

View demo

Collection of collapsible panels in single or multiple mode.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Accordion — EJS Ejs
<%- include('../ui/accordion', {
  items: [
      { id: 'general', title: 'General', content: '<p>HTML content</p>', open: true },
      { id: 'advanced', title: 'Advanced', content: '<p>More content</p>' },
    ],
  mode: 'multiple',
  class: 'w-full',
}) %>

Parameters

Parameters for Accordion
Parameter Type Required Default Possible values Description
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
mode string No single See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Collapse

View demo

Standalone collapsible panel controlled by one or more triggers.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Collapse — EJS Ejs
<%- include('../ui/collapse', {
  id: 'example-collapse',
  label: 'Label',
  trigger: '<button type="button" class="ui-btn ui-btn-outline ui-btn-md">Show</button>',
  body: '<p>Component HTML content.</p>',
  open: true,
  showIcon: true,
  duration: 200,
  responsive: { open: { base: false, lg: true } },
  class: 'w-full',
  triggerClass: '',
  panelClass: '',
  contentClass: '',
  disabled: false,
}) %>

Parameters

Parameters for Collapse
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No null See the complete configuration above Public component parameter; see the complete EJS configuration above.
trigger string (HTML) No null See the complete configuration above Public component parameter; see the complete EJS configuration above.
body string (HTML) No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
open boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
showIcon boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
duration number No 200 See the complete configuration above Public component parameter; see the complete EJS configuration above.
responsive object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
triggerClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
panelClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
contentClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiCollapse

JavaScript methods for Collapse
Method or interactionExpected parametersReturnDescription
open() void Public method; see the component module for its behavior.
close() void Public method; see the component module for its behavior.
toggle() void Public method; see the component module for its behavior.
isOpen() boolean Public method; see the component module for its behavior.
. . .
JavaScript events for Collapse
EventDetailDescription
collapse:open Event detail Public event emitted by the component.
collapse:close Event detail Public event emitted by the component.
collapse:change Event detail Public event emitted by the component.

Dropdown

View demo

Action menu positioned with Floating UI and an optional portal.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Dropdown — EJS Ejs
<%- include('../ui/dropdown', {
  id: 'example-dropdown',
  trigger: '<button class="ui-btn ui-btn-outline ui-btn-md">Actions</button>',
  items: [
      { label: 'Edit', icon: 'pencil', href: '/edit' },
      { label: 'Move to', icon: 'folder', children: [
        { label: 'Archives', href: '/archives' },
        { label: 'Projects', href: '/projects' },
      ] },
      { type: 'separator' },
      { label: 'Delete', icon: 'trash-2', danger: true, attrs: { 'data-action': 'delete' } },
    ],
  placement: "bottom-start",
  class: 'w-full',
  portal: true,
  portalBreakpoints: [],
  portalMedia: 'portalMedia',
}) %>

Parameters

Parameters for Dropdown
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
trigger string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
placement string No bottom-start See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
portal boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
portalBreakpoints string \/ array No See the complete configuration above Public component parameter; see the complete EJS configuration above.
portalMedia string No See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Tooltip

View demo

Accessible Floating UI-powered tooltip.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Tooltip — EJS Ejs
<%- include('../ui/tooltip', {
  id: 'example-tooltip',
  content: 'Additional information',
  placement: 'top',
  trigger: '<button type="button" class="ui-btn ui-btn-ghost ui-btn-sm">Help</button>',
  class: 'w-full',
}) %>

Parameters

Parameters for Tooltip
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
content string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
placement string No top See the complete configuration above Public component parameter; see the complete EJS configuration above.
trigger string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Popover

View demo

Interactive floating panel with free HTML content.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Popover — EJS Ejs
<%- include('../ui/popover', {
  id: 'example-popover',
  trigger: '<button type="button" class="ui-btn ui-btn-outline ui-btn-md">Details</button>',
  body: '<p>Component HTML content.</p>',
  placement: 'bottom-start',
  class: 'w-full',
  portal: true,
  portalBreakpoints: ['base', 'sm'],
  portalMedia: '(max-width: 639px)',
}) %>

Parameters

Parameters for Popover
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
trigger string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
body string (HTML) No See the complete configuration above Public component parameter; see the complete EJS configuration above.
placement string No bottom See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
portal boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
portalBreakpoints string \/ array No See the complete configuration above Public component parameter; see the complete EJS configuration above.
portalMedia string No See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Toast

View demo

Ephemeral notification created from JavaScript or an event.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Toast — EJS Ejs
<%- include('../ui/toast-container') %>

<script type="module">
window.UI.toast({
  title: 'Save complete',
  message: 'Your changes have been saved.',
  variant: 'success',
  duration: 4000,
  position: 'top-right',
});
</script>

Parameters

Parameters for Toast
Parameter Type Required Default Possible values Description
title string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
message string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
variant string No info See the complete configuration above Public component parameter; see the complete EJS configuration above.
duration number No 4000 See the complete configuration above Public component parameter; see the complete EJS configuration above.
position string No bottom-right See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: window.UI.toast

JavaScript methods for Toast
Method or interactionExpected parametersReturnDescription
toast(options)
  • options: { title?: string, message?: string, variant?: 'info' | 'success' | 'warning' | 'danger', duration?: number, position?: string }
void Public method; see the component module for its behavior.
.
JavaScript events for Toast
EventDetailDescription
ui:toast Event detail Public event emitted by the component.

Tabs

View demo

ARIA tabs with keyboard navigation and HTML panels.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Tabs — EJS Ejs
<%- include('../ui/tabs', {
  id: 'example-tabs',
  items: [
      { id: 'account', label: 'Account', icon: 'user', iconPosition: 'start', content: '<p>Account</p>', active: true },
      { id: 'security', label: 'Security', icon: 'lock', iconPosition: 'end', content: '<p>Security</p>' },
    ],
  class: 'w-full',
}) %>

Parameters

Parameters for Tabs
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Table

View demo

SSR table with sorting, selection, row limit, sticky behavior, and personalization.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Table — EJS Ejs
<%- include('../ui/table', {
  id: 'example-table',
  columns: [
      { key: 'name', label: 'Name', sortable: true, align: 'left', width: '16rem', personalization: { hideable: false, pinnable: true, defaultVisible: true, defaultPin: 'left' } },
      { key: 'status', label: 'Status', align: 'center', personalization: { hideable: true, pinnable: true } },
    ],
  rows: [
      { name: 'Alice', status: 'Active', rowDataAttributes: { url: '/users/1' }, cellDataAttributes: { status: { state: 'active' } } },
    ],
  tableTitle: {},
  tableTitleAs: "h2",
  sort: {},
  selectable: { key: 'id', name: 'selected[]', selected: ['1'], disabledKey: 'locked', dataAttribute: 'selectionValue', sticky: true },
  rowsLimit: { value: 25, defaultValue: 25, options: [10, 25, 50, 100], name: 'limit', label: 'Rows', persist: true, storageKey: 'users:limit' },
  personalization: { persist: true, storageKey: 'users:columns', label: 'Columns', resetLabel: 'Reset', titleLabel: 'Customize', description: 'Choose columns', pinLabels: { free: 'Free', left: 'Left', right: 'Right' } },
  ariaLabels: {},
  sticky: { header: true, topRows: 1, leftColumns: 1, rightColumns: 1, maxScrollHeight: '32rem', breakpoints: { base: { header: true }, lg: { leftColumns: 2 } } },
  striped: true,
  compact: true,
  caption: 'caption',
  empty: "No data",
  class: 'w-full',
}) %>

Parameters

Parameters for Table
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
columns array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
rows array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
tableTitle string|object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
tableTitleAs string No h2 See the complete configuration above Public component parameter; see the complete EJS configuration above.
sort object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
selectable object|boolean No See the complete configuration above Public component parameter; see the complete EJS configuration above.
rowsLimit object|boolean No See the complete configuration above Public component parameter; see the complete EJS configuration above.
personalization object|boolean No See the complete configuration above Public component parameter; see the complete EJS configuration above.
ariaLabels object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
sticky object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
striped boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
compact boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
caption string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
empty string No No data See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiTable

JavaScript methods for Table
Method or interactionExpected parametersReturnDescription
selection.getSelected() string[] Public method; see the component module for its behavior.
selection.getSelectedRows() HTMLElement[] Public method; see the component module for its behavior.
selection.setSelected(values)
  • values: Array<string | number>
void Public method; see the component module for its behavior.
selection.clear() void Public method; see the component module for its behavior.
selection.selectAll() void Public method; see the component module for its behavior.
rowsLimit.getValue() number Public method; see the component module for its behavior.
rowsLimit.getOptions() number[] Public method; see the component module for its behavior.
rowsLimit.setValue(value)
  • value: number
void Public method; see the component module for its behavior.
rowsLimit.clearStoredValue() void Public method; see the component module for its behavior.
personalization.open() void Public method; see the component module for its behavior.
personalization.close() void Public method; see the component module for its behavior.
personalization.getState() object Public method; see the component module for its behavior.
personalization.getDefaults() object Public method; see the component module for its behavior.
personalization.reset() void Public method; see the component module for its behavior.
personalization.clearStoredValue() void Public method; see the component module for its behavior.
refresh() void Public method; see the component module for its behavior.
. . . .
JavaScript events for Table
EventDetailDescription
table:sort Event detail Public event emitted by the component.
table:selection-change Event detail Public event emitted by the component.
table:rows-limit-change Event detail Public event emitted by the component.
table:personalization-change Event detail Public event emitted by the component.

Code

View demo

Code block with syntax highlighting, copy, line numbers, and wrapping.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Code — EJS Ejs
<%- include('../ui/code', {
  id: 'example-code',
  language: 'ejs',
  code: '<h1>Title</h1>',
  title: 'Component title',
  copyLabel: "Copy",
  copiedLabel: "Copied!",
  copyAriaLabel: 'copyAriaLabel',
  copyIconLeft: 'copy',
  copyIconRight: 'check',
  copyButtonVariant: "outline",
  copyButtonColor: "primary",
  copyButtonSize: "sm",
  copyButtonClass: '',
  copyButton: true,
  languageBadgeVariant: "primary-soft",
  lineNumbers: true,
  wrap: true,
  wrapButton: true,
  wrapButtonLabel: "Automatic line wrapping",
  preClass: '',
  class: 'w-full',
}) %>

Parameters

Parameters for Code
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
language string No plaintext See the complete configuration above Public component parameter; see the complete EJS configuration above.
code string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
title string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyLabel string No Copy See the complete configuration above Public component parameter; see the complete EJS configuration above.
copiedLabel string No Copied! See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyAriaLabel string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyIconLeft string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyIconRight string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyButtonVariant string No outline See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyButtonColor string No primary See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyButtonSize string No sm See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyButtonClass string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
copyButton boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
languageBadgeVariant string No primary-soft See the complete configuration above Public component parameter; see the complete EJS configuration above.
lineNumbers boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
wrap boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
wrapButton boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
wrapButtonLabel string No Automatic line wrapping See the complete configuration above Public component parameter; see the complete EJS configuration above.
preClass string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

This component exposes no public method or event; its behavior is initialized automatically by the loader.

Pagination

View demo

SSR or event-driven pagination responsive to its width.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Pagination — EJS Ejs
<%- include('../ui/pagination', {
  id: 'example-pagination',
  page: 1,
  totalPages: 1,
  totalItems: 1,
  itemsPerPage: 1,
  siblings: 1,
  boundaries: 1,
  showAllThreshold: 10,
  name: 'pagination',
  href: '/destination',
  showSummary: true,
  summaryLabel: "of",
  ariaLabel: "Pagination",
  previousLabel: "Previous",
  nextLabel: "Next",
  previousAriaLabel: "Previous page",
  nextAriaLabel: "Next page",
  class: 'w-full',
}) %>

Parameters

Parameters for Pagination
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
page number No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
totalPages number No See the complete configuration above Public component parameter; see the complete EJS configuration above.
totalItems number No See the complete configuration above Public component parameter; see the complete EJS configuration above.
itemsPerPage number No See the complete configuration above Public component parameter; see the complete EJS configuration above.
siblings number No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
boundaries number No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
showAllThreshold number No 10 See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No 'page' See the complete configuration above Public component parameter; see the complete EJS configuration above.
href function|string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
showSummary boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
summaryLabel string No 'of' See the complete configuration above Public component parameter; see the complete EJS configuration above.
ariaLabel string No 'Pagination' See the complete configuration above Public component parameter; see the complete EJS configuration above.
previousLabel string No 'Previous' See the complete configuration above Public component parameter; see the complete EJS configuration above.
nextLabel string No 'Next' See the complete configuration above Public component parameter; see the complete EJS configuration above.
previousAriaLabel string No 'Previous page' See the complete configuration above Public component parameter; see the complete EJS configuration above.
nextAriaLabel string No 'Next page' See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiPagination

JavaScript methods for Pagination
Method or interactionExpected parametersReturnDescription
getPage() number Public method; see the component module for its behavior.
getTotalPages() number Public method; see the component module for its behavior.
refresh() void Public method; see the component module for its behavior.
.
JavaScript events for Pagination
EventDetailDescription
pagination:page-change Event detail Public event emitted by the component.

Filters

View demo

SSR-first filter form with native, asynchronous, and event modes.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Filters — EJS Ejs
<%- include('../ui/filters', {
  method: "GET",
  submitMode: "form",
  submitOnChange: true,
  showReset: true,
  showTitle: true,
  responsive: { drawer: true, breakpoints: ['base', 'sm', 'md'], drawerId: 'filters-drawer', drawerTitle: 'Filters', side: 'right', width: { base: 'calc(100vw - 2rem)', sm: '26rem' }, submitOnChange: false },
  componentFallbacks: { selectSearch: 'select', autocomplete: 'text' },
  debounce: 150,
  asyncTarget: "",
  responseType: 'responseType',
  id: 'example-filters',
  action: "",
  fields: [
      { type: 'search', name: 'q', label: 'Search', placeholder: 'Keyword' },
      { type: 'select-search', name: 'status', label: 'Status', options: [{ value: 'active', label: 'Active' }] },
      { type: 'autocomplete', name: 'owner', label: 'Owner', fetchUrl: '/api/users' },
      { type: 'datepicker', name: 'period', label: 'Period', mode: 'range' },
      { type: 'switch', name: 'active', label: 'Active only' },
      { type: 'custom', name: 'custom', html: '<strong>Custom field</strong>' },
    ],
  activeFilters: [{ label: 'Status', value: 'Active', href: '/users', name: 'status', class: 'font-medium' }],
  fieldsClass: '',
  actionsClass: '',
  activeFiltersClass: '',
  labels: {},
  resetHref: "action to GET",
  class: 'w-full',
}) %>

Parameters

Parameters for Filters
Parameter Type Required Default Possible values Description
method string No GET See the complete configuration above Public component parameter; see the complete EJS configuration above.
submitMode string No form See the complete configuration above Public component parameter; see the complete EJS configuration above.
submitOnChange boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
showReset boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
showTitle boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
responsive object No null See the complete configuration above Public component parameter; see the complete EJS configuration above.
componentFallbacks object No { selectSearch: 'select', autocomplete: 'text' } See the complete configuration above Public component parameter; see the complete EJS configuration above.
debounce number No 150 See the complete configuration above Public component parameter; see the complete EJS configuration above.
asyncTarget string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
responseType string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
action string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
fields array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
activeFilters array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
fieldsClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
actionsClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
activeFiltersClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
labels object No see below See the complete configuration above Public component parameter; see the complete EJS configuration above.
resetHref string No action to GET See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: form.__uiFilters

JavaScript methods for Filters
Method or interactionExpected parametersReturnDescription
submit() void | Promise Public method; see the component module for its behavior.
reset() void | Promise Public method; see the component module for its behavior.
getValues() object Public method; see the component module for its behavior.
. . . . .
JavaScript events for Filters
EventDetailDescription
filters:change Event detail Public event emitted by the component.
filters:submit Event detail Public event emitted by the component.
filters:reset Event detail Public event emitted by the component.
filters:success Event detail Public event emitted by the component.
filters:error Event detail Public event emitted by the component.

Datepicker

View demo

Date, range, month, year, or time picker with normalized values.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Datepicker — EJS Ejs
<%- include('../ui/datepicker', {
  mode: 'range',
  type: 'datetime',
  rangeDisplay: "full",
  compactSeparator: ",",
  panelMonths: 2,
  locale: "fr-FR",
  firstDayOfWeek: 1,
  timePrecision: 'minute',
  id: 'example-datepicker',
  name: 'datepicker',
  startName: "${name}_start",
  endName: "${name}_end",
  label: 'Label',
  value: '',
  startValue: '',
  endValue: '',
  placeholder: 'Select…',
  startPlaceholder: "Start",
  endPlaceholder: "End",
  rangeSeparator: "-",
  min: 'min',
  max: 'max',
  clearable: true,
  required: true,
  disabled: false,
  readonly: false,
  helpText: 'Help text',
  errorText: '',
  triggerClass: '',
  panelClass: '',
  attrs: { 'data-context': 'booking' },
  labels: { clear: 'Clear', today: 'Today', previousMonth: 'Previous month', nextMonth: 'Next month' },
  class: 'w-full',
}) %>

Parameters

Parameters for Datepicker
Parameter Type Required Default Possible values Description
mode string No single See the complete configuration above Public component parameter; see the complete EJS configuration above.
type string No date See the complete configuration above Public component parameter; see the complete EJS configuration above.
rangeDisplay string No full See the complete configuration above Public component parameter; see the complete EJS configuration above.
compactSeparator string No , See the complete configuration above Public component parameter; see the complete EJS configuration above.
panelMonths number No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
locale string No fr-FR See the complete configuration above Public component parameter; see the complete EJS configuration above.
firstDayOfWeek number No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
timePrecision string No minute See the complete configuration above Public component parameter; see the complete EJS configuration above.
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
startName string No ${name}_start See the complete configuration above Public component parameter; see the complete EJS configuration above.
endName string No ${name}_end See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
startValue string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
endValue string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
placeholder string No Choose a date See the complete configuration above Public component parameter; see the complete EJS configuration above.
startPlaceholder string No Start See the complete configuration above Public component parameter; see the complete EJS configuration above.
endPlaceholder string No End See the complete configuration above Public component parameter; see the complete EJS configuration above.
rangeSeparator string No - See the complete configuration above Public component parameter; see the complete EJS configuration above.
min string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
max string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
clearable boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
readonly boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
triggerClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
panelClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
labels object No see below See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiDatepicker

JavaScript methods for Datepicker
Method or interactionExpected parametersReturnDescription
open() void Public method; see the component module for its behavior.
close() void Public method; see the component module for its behavior.
clear() void Public method; see the component module for its behavior.
setValue(value, options?)
  • value: string | { startValue?: string, endValue?: string }
  • options?: { notifyPart?: 'start' | 'end' } (optional)
boolean Public method; see the component module for its behavior.
getValue() { value, startValue, endValue } Public method; see the component module for its behavior.
. . . .
JavaScript events for Datepicker
EventDetailDescription
datepicker:open Event detail Public event emitted by the component.
datepicker:close Event detail Public event emitted by the component.
datepicker:change Event detail Public event emitted by the component.
datepicker:clear Event detail Public event emitted by the component.

Planning

View demo

Day, week, and month planner with resources, compact mode, and asynchronous loading.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Planning — EJS Ejs
<%- include('../ui/planning', {
  id: 'example-planning',
  items: [{ id: 'event-1', title: 'Service call', subtitle: 'Customer', start: '2026-07-21T09:00', end: '2026-07-21T10:30', resourceId: 'tech-1', color: '#2563eb', status: 'planned', movable: true, class: 'priority', href: '/events/1', dataAttrs: { customerId: '42' } }],
  resources: [{ id: 'tech-1', label: 'Alice Martin', avatar: 'AM', color: '#2563eb' }],
  view: "week",
  currentDate: "today",
  minDate: 'minDate',
  maxDate: 'maxDate',
  firstDayOfWeek: 1,
  showWeekNumber: true,
  dayStartHour: 7,
  dayEndHour: 20,
  slotMinutes: 60,
  locale: "fr-FR",
  timezone: "timezone browser",
  compact: { base: true, lg: false },
  compactViews: [],
  dayCompactMode: "resource-focus",
  legend: true,
  enableFullscreen: true,
  fullscreenCompact: true,
  fullscreenToolbarSticky: true,
  dragDrop: true,
  loading: false,
  errorText: '',
  labels: { today: 'Today', empty: 'Available', moving: 'Updating...', retry: 'Retry' },
  cta: { label: 'New service call', href: '/events/new', iconLeft: 'plus', variant: 'regular', color: 'primary' },
  resourceFilters: "",
  class: 'w-full',
  resourceSticky: { base: false, md: true },
  hourSticky: { base: true },
  surfaceMaxHeight: { base: '24rem', md: '40rem' },
}) %>

Parameters

Parameters for Planning
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
resources array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
view string No week See the complete configuration above Public component parameter; see the complete EJS configuration above.
currentDate string No today See the complete configuration above Public component parameter; see the complete EJS configuration above.
minDate string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
maxDate string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
firstDayOfWeek number No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
showWeekNumber boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
dayStartHour number No 7 See the complete configuration above Public component parameter; see the complete EJS configuration above.
dayEndHour number No 20 See the complete configuration above Public component parameter; see the complete EJS configuration above.
slotMinutes number No 60 See the complete configuration above Public component parameter; see the complete EJS configuration above.
locale string No fr-FR See the complete configuration above Public component parameter; see the complete EJS configuration above.
timezone string No timezone browser See the complete configuration above Public component parameter; see the complete EJS configuration above.
compact boolean | object No null See the complete configuration above Public component parameter; see the complete EJS configuration above.
compactViews array | string No ['week', 'month'] See the complete configuration above Public component parameter; see the complete EJS configuration above.
dayCompactMode string No resource-focus See the complete configuration above Public component parameter; see the complete EJS configuration above.
legend boolean | string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
enableFullscreen boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
fullscreenCompact boolean | object No null See the complete configuration above Public component parameter; see the complete EJS configuration above.
fullscreenToolbarSticky boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
dragDrop boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
loading boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
labels object No see defaults See the complete configuration above Public component parameter; see the complete EJS configuration above.
cta object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
resourceFilters string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
resourceSticky object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
hourSticky object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
surfaceMaxHeight string | object No null See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiPlanning

JavaScript methods for Planning
Method or interactionExpected parametersReturnDescription
next() void Public method; see the component module for its behavior.
previous() void Public method; see the component module for its behavior.
today() void Public method; see the component module for its behavior.
setView(view, options?)
  • view: 'day' | 'week' | 'month'
  • options?: { force?: boolean, reason?: string } (optional)
void Public method; see the component module for its behavior.
setDate(date, options?)
  • date: Date | string | number
  • options?: { force?: boolean, reason?: string } (optional)
void Public method; see the component module for its behavior.
setData(data, options?)
  • data: { items?: PlanningItem[], resources?: PlanningResource[] }
  • options?: { preserveScroll?: boolean, clearLoading?: boolean, clearError?: boolean, reason?: string } (optional)
void Public method; see the component module for its behavior.
setLoading(loading, options?)
  • loading: boolean
  • options?: { clearError?: boolean, reason?: string } (optional)
void Public method; see the component module for its behavior.
setError(error, options?)
  • error: string | Error | { message: string } | null
  • options?: { clearLoading?: boolean, reason?: string } (optional)
void Public method; see the component module for its behavior.
clearError(options?)
  • options?: { clearLoading?: boolean, reason?: string } (optional)
void Public method; see the component module for its behavior.
setDragDrop(enabled)
  • enabled: boolean
void Public method; see the component module for its behavior.
setItemMoveHandler(handler)
  • handler: ((detail) => Promise<{ items?: PlanningItem[], resources?: PlanningResource[] } | void>) | null
void Public method; see the component module for its behavior.
setItems(items)
  • items: PlanningItem[]
void Public method; see the component module for its behavior.
setResources(resources)
  • resources: PlanningResource[]
void Public method; see the component module for its behavior.
setCompact(config)
  • config: boolean | Record<string, boolean>
void Public method; see the component module for its behavior.
setFullscreenCompact(config)
  • config: boolean | Record<string, boolean>
void Public method; see the component module for its behavior.
setFullscreenToolbarSticky(sticky)
  • sticky: boolean
void Public method; see the component module for its behavior.
setCompactViews(views)
  • views: Array<'day' | 'week' | 'month'> | string
void Public method; see the component module for its behavior.
setCompactResource(resourceId)
  • resourceId: string | number
void Public method; see the component module for its behavior.
setLegend(legend)
  • legend: boolean | 'auto'
void Public method; see the component module for its behavior.
setFullscreen(active)
  • active: boolean
void Public method; see the component module for its behavior.
toggleFullscreen() void Public method; see the component module for its behavior.
retry() void Public method; see the component module for its behavior.
getRange() object Public method; see the component module for its behavior.
refreshRange(reason?)
  • reason?: string (optional)
void Public method; see the component module for its behavior.
refresh() void Public method; see the component module for its behavior.
getState() object Public method; see the component module for its behavior.
. . . . . . . . . . . . . . .
JavaScript events for Planning
EventDetailDescription
planning:ready Event detail Public event emitted by the component.
planning:range-change Event detail Public event emitted by the component.
planning:view-change Event detail Public event emitted by the component.
planning:date-change Event detail Public event emitted by the component.
planning:data-change Event detail Public event emitted by the component.
planning:loading-change Event detail Public event emitted by the component.
planning:error-change Event detail Public event emitted by the component.
planning:item-click Event detail Public event emitted by the component.
planning:slot-click Event detail Public event emitted by the component.
planning:retry Event detail Public event emitted by the component.
planning:fullscreen-change Event detail Public event emitted by the component.
planning:item-move-start Event detail Public event emitted by the component.
planning:item-move-success Event detail Public event emitted by the component.
planning:item-move-error Event detail Public event emitted by the component.
planning:drag-drop-error Event detail Public event emitted by the component.

Input

View demo

Native text input with label, help text, error, and additional attributes.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Input — EJS Ejs
<%- include('../ui/input', {
  label: 'Label',
  type: "text",
  class: 'w-full',
  inputClass: '',
  attrs: { 'data-example': 'complete' },
  id: 'example-input',
  name: 'input',
  placeholder: 'Select…',
  value: '',
  helpText: 'Help text',
  errorText: '',
  required: true,
  disabled: false,
}) %>

Parameters

Parameters for Input
Parameter Type Required Default Possible values Description
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
type string No text See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
inputClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
placeholder string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No — (triggers red border) See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Textarea

View demo

Multiline text area with validation states.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Textarea — EJS Ejs
<%- include('../ui/textarea', {
  id: 'example-textarea',
  name: 'textarea',
  label: 'Label',
  placeholder: 'Select…',
  value: '',
  rows: [],
  helpText: 'Help text',
  errorText: '',
  required: true,
  disabled: false,
  inputClass: '',
  class: 'w-full',
}) %>

Parameters

Parameters for Textarea
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
placeholder string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
rows number No 4 See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
inputClass string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Select

View demo

Native select with simple or grouped options.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Select — EJS Ejs
<%- include('../ui/select', {
  id: 'example-select',
  name: 'select',
  label: 'Label',
  options: [
      { value: '', label: 'Select…' },
      { label: 'Group', options: [{ value: 'one', label: 'Option 1' }, { value: 'two', label: 'Option 2', disabled: true }] },
    ],
  value: '',
  helpText: 'Help text',
  errorText: '',
  required: true,
  disabled: false,
  inputClass: '',
  attrs: { 'data-action': 'change-status' },
  class: 'w-full',
}) %>

Parameters

Parameters for Select
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
options array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
inputClass string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Checkbox

View demo

Native checkbox with help text and disabled state.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Checkbox — EJS Ejs
<%- include('../ui/checkbox', {
  id: 'example-checkbox',
  name: 'checkbox',
  label: 'Label',
  checked: true,
  disabled: false,
  helpText: 'Help text',
  value: '',
  class: 'w-full',
}) %>

Parameters

Parameters for Checkbox
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
checked boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Switch

View demo

Accessible switch with description and configurable label position.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Switch — EJS Ejs
<%- include('../ui/switch', {
  value: '',
  labelPosition: "right",
  attrs: { 'data-example': 'complete' },
  class: 'w-full',
  id: 'example-switch',
  name: 'switch',
  label: 'Label',
  description: 'description',
  errorText: '',
  checked: true,
  disabled: false,
  required: true,
  inputClass: '',
  trackClass: '',
  thumbClass: '',
  labelClass: '',
  descriptionClass: '',
}) %>

Parameters

Parameters for Switch
Parameter Type Required Default Possible values Description
value string No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
labelPosition string No right See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
description string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
checked boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
inputClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
trackClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
thumbClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
labelClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
descriptionClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Radio

View demo

Native radio-button group.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Radio — EJS Ejs
<%- include('../ui/radio', {
  name: 'radio',
  label: 'Label',
  options: [
      { value: 'email', label: 'E-mail', checked: true },
      { value: 'sms', label: 'SMS', disabled: true },
    ],
  class: 'w-full',
}) %>

Parameters

Parameters for Radio
Parameter Type Required Default Possible values Description
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No — (group legend) See the complete configuration above Public component parameter; see the complete EJS configuration above.
options array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Autocomplete

View demo

Remote search field with structured selection and application hooks.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Autocomplete — EJS Ejs
<%- include('../ui/autocomplete', {
  id: 'example-autocomplete',
  name: 'autocomplete',
  label: 'Label',
  value: '',
  selectedId: '',
  fetchUrl: 'fetchUrl',
  fetchByIdUrl: 'fetchByIdUrl',
  keyName: "label",
  idKey: "id",
  minChars: 1,
  debounce: 300,
  emptyText: "No results",
  portal: true,
  portalBreakpoints: [],
  portalMedia: 'portalMedia',
  class: 'w-full',
  placeholder: 'Select…',
  helpText: 'Help text',
  errorText: '',
  required: true,
  disabled: false,
}) %>

Parameters

Parameters for Autocomplete
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
selectedId string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
fetchUrl string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
fetchByIdUrl string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
keyName string No label See the complete configuration above Public component parameter; see the complete EJS configuration above.
idKey string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
minChars number No 1 See the complete configuration above Public component parameter; see the complete EJS configuration above.
debounce number No 300 See the complete configuration above Public component parameter; see the complete EJS configuration above.
emptyText string No No results See the complete configuration above Public component parameter; see the complete EJS configuration above.
portal boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
portalBreakpoints string \/ array No See the complete configuration above Public component parameter; see the complete EJS configuration above.
portalMedia string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
placeholder string No Search… See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiAutocomplete

JavaScript methods for Autocomplete
Method or interactionExpected parametersReturnDescription
getValue() { value, label } Public method; see the component module for its behavior.
setValue(item)
  • item: Record<string, unknown>
boolean Public method; see the component module for its behavior.
clear() void Public method; see the component module for its behavior.
focus() void Public method; see the component module for its behavior.
setFilter(callback)
  • callback: ((items: object[]) => object[]) | null
void Public method; see the component module for its behavior.
setOnSelect(callback)
  • callback: ((item: object) => void) | null
void Public method; see the component module for its behavior.
. .
JavaScript events for Autocomplete
EventDetailDescription
autocomplete:change Event detail Public event emitted by the component.
autocomplete:select Event detail Public event emitted by the component.

Upload

View demo

File selection, drag and drop, paste, and preview.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Upload — EJS Ejs
<%- include('../ui/upload', {
  id: 'example-upload',
  name: 'upload',
  label: 'Label',
  accept: 'image/*,.pdf',
  multiple: true,
  maxSize: 5242880,
  placeholder: 'Select…',
  subtext: "based on accept",
  hint: 'hint',
  preview: true,
  existingFiles: [
      { name: 'document.pdf', size: 184200, url: '/uploads/document.pdf', type: 'application/pdf' },
    ],
  class: 'w-full',
  helpText: 'Help text',
  errorText: '',
  required: true,
  disabled: false,
}) %>

Parameters

Parameters for Upload
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
accept string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
multiple boolean No See the complete configuration above Public component parameter; see the complete EJS configuration above.
maxSize number No See the complete configuration above Public component parameter; see the complete EJS configuration above.
placeholder string No 'Choose a file' See the complete configuration above Public component parameter; see the complete EJS configuration above.
subtext string No based on accept See the complete configuration above Public component parameter; see the complete EJS configuration above.
hint string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
preview boolean No See the complete configuration above Public component parameter; see the complete EJS configuration above.
existingFiles array No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: Automatic initialization by /ui/loader.js

.
JavaScript events for Upload
EventDetailDescription
upload:change Event detail Public event emitted by the component.

Signature

View demo

Canvas signature area synchronized with a form field.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Signature — EJS Ejs
<%- include('../ui/signature', {
  value: '',
  height: 180,
  strokeColor: '#111827',
  strokeWidth: 2.5,
  backgroundColor: '#ffffff',
  outputType: 'image/png',
  id: 'example-signature',
  name: 'signature',
  label: 'Label',
  placeholder: 'Select…',
  clearLabel: "Clear",
  emptyMessage: "Signature required.",
  helpText: 'Help text',
  errorText: '',
  required: true,
  disabled: false,
  readonly: false,
  class: 'w-full',
}) %>

Parameters

Parameters for Signature
Parameter Type Required Default Possible values Description
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
height number|string No 180 See the complete configuration above Public component parameter; see the complete EJS configuration above.
strokeColor string No currentColor See the complete configuration above Public component parameter; see the complete EJS configuration above.
strokeWidth number No 2.5 See the complete configuration above Public component parameter; see the complete EJS configuration above.
backgroundColor string No transparent See the complete configuration above Public component parameter; see the complete EJS configuration above.
outputType string No image/png See the complete configuration above Public component parameter; see the complete EJS configuration above.
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
placeholder string No Sign here See the complete configuration above Public component parameter; see the complete EJS configuration above.
clearLabel string No Clear See the complete configuration above Public component parameter; see the complete EJS configuration above.
emptyMessage string No Signature required. See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
readonly boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiSignature

JavaScript methods for Signature
Method or interactionExpected parametersReturnDescription
clear(options?)
  • options?: { emit?: boolean } (optional)
void Public method; see the component module for its behavior.
fromDataURL(value, options?)
  • value: string
  • options?: { emit?: boolean } (optional)
void Public method; see the component module for its behavior.
isEmpty() boolean Public method; see the component module for its behavior.
resize() void Public method; see the component module for its behavior.
toDataURL(type?)
  • type?: string (optional)
string Public method; see the component module for its behavior.
validate() boolean Public method; see the component module for its behavior.
.
JavaScript events for Signature
EventDetailDescription
signature:change Event detail Public event emitted by the component.

Timeline

View demo

Vertical, alternating, or horizontal timeline in data or free-markup mode.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Timeline — EJS Ejs
<%- include('../ui/timeline', {
  items: [
      { date: 'July 21', title: 'Created', body: '<p>Record created.</p>', nodeIcon: 'check', nodeStep: 1, status: 'success', active: true },
    ],
  body: include('../ui/timeline-item', { title: 'Free markup', body: '<strong>HTML</strong>' }),
  layout: "vertical",
  step: 'step',
  class: 'w-full',
}) %>

<%# Associated subcomponents %>
<%- include('../ui/timeline-item', {
  date: 'date',
  title: 'Component title',
  body: include('../ui/timeline-item', { title: 'Free markup', body: '<strong>HTML</strong>' }),
  nodeIcon: 'check',
  nodeStep: 1,
  status: 'success',
  active: true,
  class: 'w-full',
}) %>

Parameters

Parameters for Timeline
Parameter Partial Type Required Default Possible values Description
items timeline array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
body timeline string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
layout timeline string No 'vertical' See the complete configuration above Public component parameter; see the complete EJS configuration above.
step timeline string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class timeline string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
date timeline-item string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
title timeline-item string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
body timeline-item string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
nodeIcon timeline-item string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
nodeStep timeline-item string|number No See the complete configuration above Public component parameter; see the complete EJS configuration above.
status timeline-item string No 'default' See the complete configuration above Public component parameter; see the complete EJS configuration above.
active timeline-item boolean No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class timeline-item string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Progress Bar

View demo

Determinate or indeterminate progress bar with labels and variants.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Progress Bar — EJS Ejs
<%- include('../ui/progress', {
  value: 65,
  size: "md",
  color: "primary",
  label: 'Label',
  showValue: true,
  textPosition: 'top-left',
  striped: true,
  animated: true,
  indeterminate: true,
  class: 'w-full',
  attrs: { 'data-task-id': '42' },
}) %>

Parameters

Parameters for Progress Bar
Parameter Type Required Default Possible values Description
value number No 0 See the complete configuration above Public component parameter; see the complete EJS configuration above.
size string No md See the complete configuration above Public component parameter; see the complete EJS configuration above.
color string No primary See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
showValue boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
textPosition string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
striped boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
animated boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
indeterminate boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: No public JavaScript API

This component exposes no public method or event.

Lightbox

View demo

Standalone fullscreen image gallery, also usable with free markup.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Lightbox — EJS Ejs
<%- include('../ui/lightbox', {
  id: 'example-lightbox',
  items: [
      { src: '/images/photo-1-xl.jpg', thumbSrc: '/images/photo-1-thumb.jpg', width: 1600, height: 1200, alt: 'Photo 1', caption: 'Caption' },
    ],
  label: 'Team gallery',
  class: 'max-w-2xl',
  itemClass: 'rounded-xl',
  imageClass: 'aspect-video',
  attrs: { 'data-context': 'team' },
  value: '',
}) %>

Parameters

Parameters for Lightbox
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
items array No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No Image gallery See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
itemClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
imageClass string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
attrs object No {} See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiLightbox

JavaScript methods for Lightbox
Method or interactionExpected parametersReturnDescription
await ready Promise<PhotoSwipeLightbox|null> Public method; see the component module for its behavior.
getInstance() PhotoSwipeLightbox|null Public method; see the component module for its behavior.
destroy() void Public method; see the component module for its behavior.

Chart

View demo

Lazy Chart.js adapter with presets and an update API.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Chart — EJS Ejs
<%- include('../ui/chart', {
  id: 'example-chart',
  type: "line",
  data: { labels: ['Jan', 'Feb'], datasets: [{ label: 'Sales', data: [12, 19], gaugeMax: 100 }] },
  options: { responsive: true, plugins: { legend: { display: true } } },
  preset: 'preset',
  height: 240,
  emptyText: "No data",
  ariaLabel: "Chart",
  lazy: true,
  class: 'w-full',
}) %>

Parameters

Parameters for Chart
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
type string No line See the complete configuration above Public component parameter; see the complete EJS configuration above.
data object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
options object No [] See the complete configuration above Public component parameter; see the complete EJS configuration above.
preset string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
height number No 240 See the complete configuration above Public component parameter; see the complete EJS configuration above.
emptyText string No No data See the complete configuration above Public component parameter; see the complete EJS configuration above.
ariaLabel string No Chart See the complete configuration above Public component parameter; see the complete EJS configuration above.
lazy boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiChart

JavaScript methods for Chart
Method or interactionExpected parametersReturnDescription
getInstance() Chart|null Public method; see the component module for its behavior.
setData(data)
  • data: ChartData
void Public method; see the component module for its behavior.
setOptions(options)
  • options: ChartOptions
void Public method; see the component module for its behavior.
update() void Public method; see the component module for its behavior.
destroy() void Public method; see the component module for its behavior.
await ready Promise<object|null> Public method; see the component module for its behavior.

Editor

View demo

On-demand Quill rich-text editor synchronized with a hidden field.

Complete EJS configuration

All public properties are provided. Adapt or remove options for your use case.

Editor — EJS Ejs
<%- include('../ui/editor', {
  id: 'example-editor',
  name: 'editor',
  label: 'Label',
  value: '',
  toolbar: 'full',
  height: 220,
  resizable: true,
  lazy: true,
  labels: { tooltipVisit: 'URL:', tooltipEnterLink: 'Link:', tooltipEdit: 'Edit', tooltipSave: 'Apply', tooltipRemove: 'Remove' },
  class: 'w-full',
  placeholder: 'Select…',
  helpText: 'Help text',
  errorText: '',
  required: true,
  disabled: false,
}) %>

Parameters

Parameters for Editor
Parameter Type Required Default Possible values Description
id string No auto See the complete configuration above Public component parameter; see the complete EJS configuration above.
name string No id See the complete configuration above Public component parameter; see the complete EJS configuration above.
label string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
value string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
toolbar string No 'full' See the complete configuration above Public component parameter; see the complete EJS configuration above.
height number No 200 See the complete configuration above Public component parameter; see the complete EJS configuration above.
resizable boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
lazy boolean No true See the complete configuration above Public component parameter; see the complete EJS configuration above.
labels object No See the complete configuration above Public component parameter; see the complete EJS configuration above.
class string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
placeholder string No '' See the complete configuration above Public component parameter; see the complete EJS configuration above.
helpText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
errorText string No See the complete configuration above Public component parameter; see the complete EJS configuration above.
required boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.
disabled boolean No false See the complete configuration above Public component parameter; see the complete EJS configuration above.

JavaScript API

Access point: root.__uiEditor

JavaScript methods for Editor
Method or interactionExpected parametersReturnDescription
await ready Promise<Quill|null> Public method; see the component module for its behavior.
getInstance() Quill|null Public method; see the component module for its behavior.
getValue() string Public method; see the component module for its behavior.
setValue(value)
  • value: string | null
void Public method; see the component module for its behavior.
focus() Promise<Quill|null> Public method; see the component module for its behavior.
setEnabled(enabled?)
  • enabled?: boolean (optional)
void Public method; see the component module for its behavior.
.
JavaScript events for Editor
EventDetailDescription
editor:change Event detail Public event emitted by the component.