wj-elements 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "wj-elements",
4
- "version": "0.7.3",
4
+ "version": "0.7.4",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -305,30 +305,6 @@
305
305
  "events": []
306
306
  }
307
307
  },
308
- {
309
- "name": "wje-badge",
310
- "description": "This class represents a Badge element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes(): _void_** - Configures initial attributes for the Badge element.\n- **draw(): _DocumentFragment_** - Creates the DOM structure for the Badge element.\n\n### **Slots:**\n - _default_ - The badge's main content.\n\n### **CSS Properties:**\n - **--wje-badge-border-radius** - Border radius of the badge element. _(default: var(--wje-border-radius-pill))_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
311
- "doc-url": "",
312
- "attributes": [
313
- {
314
- "name": "color",
315
- "description": "The color of the badge element. Accepts any valid string primary, secondary, success, danger, warning, info, default.",
316
- "value": { "type": "string" }
317
- }
318
- ],
319
- "slots": [{ "name": "", "description": "The badge's main content." }],
320
- "events": [],
321
- "js": {
322
- "properties": [
323
- {
324
- "name": "className",
325
- "description": "The class name for the Badge element.",
326
- "type": "string"
327
- }
328
- ],
329
- "events": []
330
- }
331
- },
332
308
  {
333
309
  "name": "wje-breadcrumb",
334
310
  "description": "This class represents a Breadcrumb element, extending the WJElement class. It provides a navigational aid in user interfaces, displaying the current location within a hierarchy.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Breadcrumb element.\n- **draw(): _object_** - Draw method for the Breadcrumb element.\n- **shouldRenderSeparator(): _boolean_** - Returns whether the separator should be visible after this breadcrumb.\n- **hasVisibleBreadcrumbAfter(): _boolean_** - Returns whether any later breadcrumb is still visible in the rendered trail.\n- **isBreadcrumbVisibleInTrail(breadcrumb: _Element_): _boolean_** - Returns whether a breadcrumb is visible in the rendered trail.\n- **syncNativeAttributes()** - Synchronizes host attributes to the internal anchor.\n- **afterDraw()** - Sets up native anchor listeners after render.\n- **beforeDisconnect()** - Removes native anchor listeners before redraw/disconnect.\n- **handleDisabledNativeClick(e: _MouseEvent_)** - Prevents disabled breadcrumbs from navigating or bubbling click handlers.\n- **drawCollapsedIndicator(): _any_** - Renders the collapsed indicator based on the current collapsed variant.\nIf the collapsed variant is 'DROPDOWN', it invokes the collapseDropdown method.\nMobile breakpoint variants render compact breadcrumb summaries, otherwise the default button is used.\n- **isMobileCollapsedVariant(): _boolean_** - Returns whether the current collapsed variant is a compact mobile layout.\n- **collapseDropdown(): _HTMLElement_** - Creates and returns a dropdown UI component for collapsed breadcrumbs.\nThis method generates a dropdown element with a button trigger and a menu populated with items corresponding\nto the collapsed breadcrumbs. The dropdown is configured to handle specific interactions and ensure that\nevents are appropriately managed to avoid propagation issues. Menu items are linked to their corresponding\nbreadcrumbs, enabling the same functionality as clicking on the original breadcrumb.\n- **createBreadcrumbDropdown({ breadcrumbs, trigger, placement = 'bottom' }, options: _@param {Array<HTMLElement>} options.breadcrumbs Breadcrumb elements to mirror in the menu.\n * @param {HTMLElement} options.trigger Element assigned to the dropdown trigger slot.\n * @param {string} options.placement Floating UI placement token for the popup.\n * _): _HTMLElement_** - Creates a dropdown containing breadcrumb menu items.\n- **createCollapsedBreadcrumbMenu(breadcrumbs: _Array<HTMLElement>_): _HTMLElement_** - Creates the menu used by collapsed dropdown variants.\n- **getCollapsedMenuBreadcrumbs(isBreakpointMenuIndicator: _boolean_): _Array<HTMLElement>_** - Returns breadcrumbs that should be exposed in a collapsed menu.\n- **collapseMobileVariant(variant: _string_): _HTMLElement_** - Renders one of the compact mobile breakpoint variants.\n- **collapseMobileText(): _HTMLElement_** - Renders only the current breadcrumb title.\n- **collapseMobileBack(): _HTMLElement_** - Renders a parent back action above the current title.\n- **collapseMobileParentTitle(): _HTMLElement_** - Renders parent context above the current title.\n- **collapseMobileMenuTitle(): _HTMLElement_** - Renders a menu trigger with the current title.\n- **collapseMobileSheet(): _HTMLElement_** - Renders the future sheet variant using the dropdown fallback for now.\n- **createMobileDropdown(trigger: _HTMLElement_): _HTMLElement_** - Creates a dropdown fallback for mobile menu-like variants.\n- **createMobileDropdownTrigger({ icon, iconPosition = 'start', label, ariaLabel, className }, options: _@param {string} options.icon Icon shown next to the title.\n * @param {string} options.iconPosition Whether the icon renders at the start or end.\n * @param {string} options.label Current breadcrumb label shown beside the icon.\n * @param {string} options.ariaLabel Accessible name for the dropdown trigger.\n * @param {string} options.className Variant-specific class applied to the trigger.\n * _): _HTMLElement_** - Creates a compact mobile dropdown trigger.\n- **createMobileContainer(className: _string_): _HTMLElement_** - Creates a wrapper for compact mobile breadcrumb variants.\n- **createMobileBreadcrumbControl(breadcrumb: _HTMLElement|null_, className: _string_, { actionable = false, ariaCurrent = false, ariaLabel, icon }, options: _@param {boolean} options.actionable Whether clicks should forward to the source breadcrumb.\n * @param {boolean} options.ariaCurrent Whether the control marks the current page.\n * @param {string} options.ariaLabel Accessible name for action controls.\n * @param {string} options.icon Optional icon shown before the label.\n * _): _HTMLElement_** - Creates a text or button control for a breadcrumb.\n- **getTrailBreadcrumbs(): _Array<HTMLElement>_** - Returns the full trail of sibling breadcrumbs.\n- **getCurrentBreadcrumb(): _HTMLElement|null_** - Returns the current breadcrumb item.\n- **getParentBreadcrumb(): _HTMLElement|null_** - Returns the parent breadcrumb item.\n- **isBreadcrumbActionable(breadcrumb: _HTMLElement|null_): _boolean_** - Returns whether a breadcrumb has a known action to forward.\n- **forwardBreadcrumbClick(breadcrumb: _HTMLElement|null_)** - Forwards a compact control or menu item click to the original breadcrumb.\n- **createCollapsedDropdownTrigger(isBreakpointMenuIndicator: _boolean_): _HTMLElement_** - Creates the dropdown trigger for collapsed breadcrumbs.\n- **getCollapsedDropdownIcon(isBreakpointMenuIndicator: _boolean_): _string_** - Resolves the icon used by the default dropdown trigger.\n- **populateCollapsedMenuItem(menuItem: _HTMLElement_, breadcrumb: _HTMLElement_)** - Copies breadcrumb content into a collapsed menu item.\n- **getBreadcrumbLabel(breadcrumb: _HTMLElement|null_): _string_** - Resolves a readable label for a breadcrumb item.\n- **getCollapsedMenuItemLabel(breadcrumb: _HTMLElement_): _string_** - Resolves a readable label for icon-only collapsed menu items.\n- **humanizeCollapsedMenuItemLabel(value: _string_): _string_** - Turns a URL segment into a readable menu label.\n- **isBreakpointMenuIndicator(): _boolean_** - Returns whether this collapsed indicator represents the full breakpoint menu.\n- **collapseButton(): _HTMLButtonElement_** - Creates a button element that expands hidden breadcrumbs when clicked.\nThe button is set with appropriate attributes and event listeners to handle\nthe expanding of hidden breadcrumb elements. Clicking the button will remove\nthe button itself, reveal hidden breadcrumbs, and stop the current event\npropagation.\n- **getBreadcrumbs(): _Element_** - Retrieves the breadcrumb trail for the current element by returning its parent element.\n\n### **Slots:**\n - _default_ - The main content of the breadcrumb.\n- **start** - Slot for content at the start of the breadcrumb.\n- **end** - Slot for content at the end of the breadcrumb.\n- **separator** - Slot for a custom separator between breadcrumb items.\n\n### **CSS Properties:**\n - **--wje-breadcrumb-a** - The color of the breadcrumb text. _(default: var(--wje-color-contrast-8))_\n- **--wje-breadcrumb-a-hover** - The color of the breadcrumb separator line. _(default: var(--wje-color-contrast-6))_\n- **--wje-breadcrumb-line-height** - Controls the vertical rhythm of breadcrumb text. _(default: 1.5)_\n- **--wje-breadcrumb-native-line-height** - Controls the line height of the native breadcrumb wrapper. _(default: var(--wje-breadcrumb-line-height))_\n- **--wje-breadcrumb-native-margin** - Sets outer spacing around the native breadcrumb wrapper. _(default: 0)_\n- **--wje-breadcrumb-native-padding** - Sets inner spacing inside the native breadcrumb wrapper. _(default: 0.25rem 0.75rem)_\n- **--wje-breadcrumb-margin** - Backwards-compatible alias for native breadcrumb margin. _(default: var(--wje-breadcrumb-native-margin))_\n- **--wje-breadcrumb-padding** - Backwards-compatible alias for native breadcrumb padding. _(default: var(--wje-breadcrumb-native-padding))_\n\n### **CSS Parts:**\n - **native** - The native wrapper of the breadcrumb component.\n- **separator** - The separator between breadcrumb items.",
@@ -515,6 +491,30 @@
515
491
  "events": []
516
492
  }
517
493
  },
494
+ {
495
+ "name": "wje-badge",
496
+ "description": "This class represents a Badge element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes(): _void_** - Configures initial attributes for the Badge element.\n- **draw(): _DocumentFragment_** - Creates the DOM structure for the Badge element.\n\n### **Slots:**\n - _default_ - The badge's main content.\n\n### **CSS Properties:**\n - **--wje-badge-border-radius** - Border radius of the badge element. _(default: var(--wje-border-radius-pill))_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
497
+ "doc-url": "",
498
+ "attributes": [
499
+ {
500
+ "name": "color",
501
+ "description": "The color of the badge element. Accepts any valid string primary, secondary, success, danger, warning, info, default.",
502
+ "value": { "type": "string" }
503
+ }
504
+ ],
505
+ "slots": [{ "name": "", "description": "The badge's main content." }],
506
+ "events": [],
507
+ "js": {
508
+ "properties": [
509
+ {
510
+ "name": "className",
511
+ "description": "The class name for the Badge element.",
512
+ "type": "string"
513
+ }
514
+ ],
515
+ "events": []
516
+ }
517
+ },
518
518
  {
519
519
  "name": "wje-button",
520
520
  "description": "This class represents Button element, extending the WJElement class.\n---\n\n\n### **Events:**\n \n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **draw(): _object_** - Draw method for the Button element.\n- **afterDraw()** - After draw method for the Button element.\n- **beforeDisconnect()** - Before disconnect method for the Button element.\n- **syncToggleState()** - Keeps toggle slot visibility aligned with the current value.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n\n### **Slots:**\n - _default_ - The button main content.\n- **icon** - The button icon.\n- **caret** - The button caret.\n- **start** - The button start slot.\n- **end** - The button end slot.\n- **toggle** - The button toggle slot.\n\n### **CSS Properties:**\n - **--wje-button-background-color** - Background color of the component; _(default: transparent)_\n- **--wje-button-border-color** - Border color of the component; _(default: --wje-color-contrast-4)_\n- **--wje-button-color** - Color of the component; _(default: --wje-color-contrast-11)_\n- **--wje-button-border-radius** - Border radius of the component; _(default: --wje-border-radius-medium)_\n- **--wje-button-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-button-border-style** - Border style of the component; _(default: solid)_\n- **--wje-button-border-color** - Border color of the component; _(default: --wje-color-contrast-1)_\n- **--wje-button-margin-inline** - Margin inline of the component; _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
@@ -933,6 +933,74 @@
933
933
  "events": []
934
934
  }
935
935
  },
936
+ {
937
+ "name": "wje-color-picker",
938
+ "description": "ColorPicker is a custom web component that extends WJElement.\nIt provides a color picker functionality with a color area, hue slider, alpha slider, and color swatches.\nThe color picker allows users to select a color by moving a marker on the color area, adjusting the hue and alpha sliders, or clicking on a color swatch.\n---\n\n\n### **Methods:**\n - **parseSwatches(value: _string_): _string[]_** - Normalizes swatch colors from a string to an array.\nSupports comma and semicolon separators.\n- **setupAttributes()** - Sets up the attributes for the ColorPicker.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing the structure and components of a custom color picker.\nThe method initializes DOM elements such as divs, sliders, and inputs, with specific classes and attributes,\nand attaches various event listeners to handle user interactions.\n- **afterDraw(): _void_** - Executes after the component is drawn. Initializes some configurations if not already initialized,\nincluding updating slider values, setting marker positions, and applying initial color settings.\nThis method ensures that all necessary visual elements and configurations are properly set up.\n- **createSwatches(node)** - Sets the hue.\n- **setSliders(color)** - Sets the sliders to the given color.\n- **dimension(): _object_** - Retrieves the dimensions and position of the color area element relative to the viewport.\n- **beforeDisconnect(): _void_** - Method executed before disconnecting. Resets the initialization state to false.\n- **getPointerPosition(e): _{x: number, y: number}_** - Gets the pointer position in client coordinates (viewport-relative).\n- **setMarkerPosition(x, y)** - Sets the position of the marker.\n- **clampMarkerPosition(x: _number_, y: _number_): _{x: number, y: number}_** - Clamps marker coordinates to the color area boundaries.\n- **setColorAtPosition(x, y, alpha): _*|tinycolor_** - Sets the color at the given position.\n- **getHueAreaColor(color: _string_): _string_** - Returns fully saturated and bright color for the current hue.\nUsed as base color for the SV area so neutral grays do not black out the palette.\n\n### **Slots:**\n - _default_ - The card header main content.\n\n### **CSS Properties:**\n - **--wje-color-picker-area** - The color of the color area background. _(default: undefined)_\n- **--wje-color-picker-value** - The value of the color picker input. _(default: undefined)_\n- **--wje-color-picker-swatch** - The color of the color swatch button. _(default: undefined)_\n- **--wje-color-picker-size** - The color of the color marker. _(default: undefined)_\n- **--wje-color-picker-radius** - The color of the color anchor. _(default: undefined)_\n\n### **CSS Parts:**\n - **anchor** - The anchor part of the color picker.\n- **picker** - The main part of the color picker.\n- **marker** - The marker part of the color picker.\n- **color-area** - The color area part of the color picker.\n- **hue** - The hue slider part of the color picker.\n- **alpha** - The alpha slider part of the color picker.\n- **color-preview** - The color preview part of the color picker.\n- **input** - The input part of the color picker.",
939
+ "doc-url": "",
940
+ "attributes": [
941
+ {
942
+ "name": "input-editable",
943
+ "description": "Enables manual color typing into the input field.",
944
+ "value": { "type": "boolean" }
945
+ }
946
+ ],
947
+ "slots": [
948
+ { "name": "", "description": "The card header main content." }
949
+ ],
950
+ "events": [],
951
+ "js": {
952
+ "properties": [
953
+ {
954
+ "name": "color",
955
+ "description": "Retrieves the color attribute of the element."
956
+ },
957
+ {
958
+ "name": "markerPosition",
959
+ "description": "Getter for the marker position."
960
+ },
961
+ {
962
+ "name": "swatches",
963
+ "description": "Getter for the color swatches."
964
+ },
965
+ {
966
+ "name": "noColorArea",
967
+ "description": "Getter method to check if the 'no-color-area' attribute is applied."
968
+ },
969
+ {
970
+ "name": "noControls",
971
+ "description": "Checks if the 'no-controls' attribute is present on the element."
972
+ },
973
+ {
974
+ "name": "noSwatches",
975
+ "description": "Checks if the 'no-swatches' attribute is present on the element."
976
+ },
977
+ {
978
+ "name": "inputEditable",
979
+ "description": "Returns true when manual input typing is enabled."
980
+ },
981
+ { "name": "className", "type": "string" },
982
+ {
983
+ "name": "moveMarker",
984
+ "description": "Updates the position of the marker based on the pointer event.\nThis function calculates the position of the marker relative to the color area\ndimensions based on the given event. It adjusts the marker position and updates\nthe color associated with the new position. It is intended to handle pointer movement\nevents such as mouse or touch interactions."
985
+ },
986
+ {
987
+ "name": "setMarkerPositionByColor",
988
+ "description": "Sets the marker position by color."
989
+ },
990
+ {
991
+ "name": "setColor",
992
+ "description": "Updates the color picker's current color and its associated UI elements."
993
+ },
994
+ { "name": "setHue", "description": "Sets the hue." },
995
+ { "name": "setAlpha", "description": "Sets the alpha." },
996
+ {
997
+ "name": "getHSVA",
998
+ "description": "Converts hue and alpha values into an HSVA color string."
999
+ }
1000
+ ],
1001
+ "events": []
1002
+ }
1003
+ },
936
1004
  {
937
1005
  "name": "wje-container",
938
1006
  "description": "The Container class is a custom web component that extends WJElement. It is a simple container that can hold other elements or components.\nIt provides a slot for adding child elements or components. The Container class also supports indentation through the `indent` property.\nThe indentation is applied as a CSS variable (`--wje-container-indent`) which can be used in the styles of child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Container.\n- **draw(): _DocumentFragment_** - Draws the Container element.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.\n\n### **CSS Properties:**\n - **--wje-container-indent** - The indentation of the container. _(default: undefined)_",
@@ -1014,74 +1082,6 @@
1014
1082
  "events": []
1015
1083
  }
1016
1084
  },
1017
- {
1018
- "name": "wje-color-picker",
1019
- "description": "ColorPicker is a custom web component that extends WJElement.\nIt provides a color picker functionality with a color area, hue slider, alpha slider, and color swatches.\nThe color picker allows users to select a color by moving a marker on the color area, adjusting the hue and alpha sliders, or clicking on a color swatch.\n---\n\n\n### **Methods:**\n - **parseSwatches(value: _string_): _string[]_** - Normalizes swatch colors from a string to an array.\nSupports comma and semicolon separators.\n- **setupAttributes()** - Sets up the attributes for the ColorPicker.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing the structure and components of a custom color picker.\nThe method initializes DOM elements such as divs, sliders, and inputs, with specific classes and attributes,\nand attaches various event listeners to handle user interactions.\n- **afterDraw(): _void_** - Executes after the component is drawn. Initializes some configurations if not already initialized,\nincluding updating slider values, setting marker positions, and applying initial color settings.\nThis method ensures that all necessary visual elements and configurations are properly set up.\n- **createSwatches(node)** - Sets the hue.\n- **setSliders(color)** - Sets the sliders to the given color.\n- **dimension(): _object_** - Retrieves the dimensions and position of the color area element relative to the viewport.\n- **beforeDisconnect(): _void_** - Method executed before disconnecting. Resets the initialization state to false.\n- **getPointerPosition(e): _{x: number, y: number}_** - Gets the pointer position in client coordinates (viewport-relative).\n- **setMarkerPosition(x, y)** - Sets the position of the marker.\n- **clampMarkerPosition(x: _number_, y: _number_): _{x: number, y: number}_** - Clamps marker coordinates to the color area boundaries.\n- **setColorAtPosition(x, y, alpha): _*|tinycolor_** - Sets the color at the given position.\n- **getHueAreaColor(color: _string_): _string_** - Returns fully saturated and bright color for the current hue.\nUsed as base color for the SV area so neutral grays do not black out the palette.\n\n### **Slots:**\n - _default_ - The card header main content.\n\n### **CSS Properties:**\n - **--wje-color-picker-area** - The color of the color area background. _(default: undefined)_\n- **--wje-color-picker-value** - The value of the color picker input. _(default: undefined)_\n- **--wje-color-picker-swatch** - The color of the color swatch button. _(default: undefined)_\n- **--wje-color-picker-size** - The color of the color marker. _(default: undefined)_\n- **--wje-color-picker-radius** - The color of the color anchor. _(default: undefined)_\n\n### **CSS Parts:**\n - **anchor** - The anchor part of the color picker.\n- **picker** - The main part of the color picker.\n- **marker** - The marker part of the color picker.\n- **color-area** - The color area part of the color picker.\n- **hue** - The hue slider part of the color picker.\n- **alpha** - The alpha slider part of the color picker.\n- **color-preview** - The color preview part of the color picker.\n- **input** - The input part of the color picker.",
1020
- "doc-url": "",
1021
- "attributes": [
1022
- {
1023
- "name": "input-editable",
1024
- "description": "Enables manual color typing into the input field.",
1025
- "value": { "type": "boolean" }
1026
- }
1027
- ],
1028
- "slots": [
1029
- { "name": "", "description": "The card header main content." }
1030
- ],
1031
- "events": [],
1032
- "js": {
1033
- "properties": [
1034
- {
1035
- "name": "color",
1036
- "description": "Retrieves the color attribute of the element."
1037
- },
1038
- {
1039
- "name": "markerPosition",
1040
- "description": "Getter for the marker position."
1041
- },
1042
- {
1043
- "name": "swatches",
1044
- "description": "Getter for the color swatches."
1045
- },
1046
- {
1047
- "name": "noColorArea",
1048
- "description": "Getter method to check if the 'no-color-area' attribute is applied."
1049
- },
1050
- {
1051
- "name": "noControls",
1052
- "description": "Checks if the 'no-controls' attribute is present on the element."
1053
- },
1054
- {
1055
- "name": "noSwatches",
1056
- "description": "Checks if the 'no-swatches' attribute is present on the element."
1057
- },
1058
- {
1059
- "name": "inputEditable",
1060
- "description": "Returns true when manual input typing is enabled."
1061
- },
1062
- { "name": "className", "type": "string" },
1063
- {
1064
- "name": "moveMarker",
1065
- "description": "Updates the position of the marker based on the pointer event.\nThis function calculates the position of the marker relative to the color area\ndimensions based on the given event. It adjusts the marker position and updates\nthe color associated with the new position. It is intended to handle pointer movement\nevents such as mouse or touch interactions."
1066
- },
1067
- {
1068
- "name": "setMarkerPositionByColor",
1069
- "description": "Sets the marker position by color."
1070
- },
1071
- {
1072
- "name": "setColor",
1073
- "description": "Updates the color picker's current color and its associated UI elements."
1074
- },
1075
- { "name": "setHue", "description": "Sets the hue." },
1076
- { "name": "setAlpha", "description": "Sets the alpha." },
1077
- {
1078
- "name": "getHSVA",
1079
- "description": "Converts hue and alpha values into an HSVA color string."
1080
- }
1081
- ],
1082
- "events": []
1083
- }
1084
- },
1085
1085
  {
1086
1086
  "name": "wje-dialog",
1087
1087
  "description": "This element represents a dialog.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw(context: _object_, store: _object_, params: _object_)** - Draws the component after it has been drawn.\n- **htmlDialogBody(dialog)** - Creates the dialog body.\n- **close(e)** - Closes the dialog.\n- **beforeDisconnect()** - Before the component is disconnected.\n- **beforeOpen(dialog, trigger)** - Before the dialog opens.\n- **afterOpen(dialog, trigger)** - After the dialog opens.\n- **beforeClose(dialog, trigger)** - Before the dialog closes.\n- **afterClose(dialog, trigger)** - After the dialog closes.\n- **registerBlockingEvent(button: _HTMLElement_, promise: _Function_)** - Registers an event listener on the provided button that triggers a blocking UI element\nand executes a given promise when the button is clicked.\n\n### **Slots:**\n - **header** - Slot for the header content.\n- **body** - Slot for the body content.\n- **footer** - Slot for the footer content.\n\n### **CSS Properties:**\n - **--wje-dialog-background** - Specifies the background color of the dialog. _(default: var(--wje-background-color))_\n- **--wje-dialog-color** - Defines the text color within the dialog. _(default: var(--wje-text-color))_\n- **--wje-dialog-padding** - Controls the padding inside the dialog. _(default: 1rem)_\n- **--wje-dialog-border-radius** - Sets the border radius for the dialog's corners. _(default: 0.5rem)_\n- **--wje-dialog-box-shadow** - Applies a shadow effect to the dialog. _(default: 0 2px 10px rgba(0, 0, 0, 0.1))_\n\n### **CSS Parts:**\n - **dialog** - The dialog wrapper.\n- **header** - The header of the dialog.\n- **body** - The body of the dialog.\n- **footer** - The footer of the dialog.\n- **close** - The close button of the dialog.",
@@ -1353,6 +1353,23 @@
1353
1353
  ]
1354
1354
  }
1355
1355
  },
1356
+ {
1357
+ "name": "wje-footer",
1358
+ "description": "This element represents a footer. `Footer` is a custom web component that represents a footer.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - **default** - Default slot for the footer content\n\n### **CSS Properties:**\n - **--primary-color** - The primary color of the footer _(default: undefined)_",
1359
+ "doc-url": "",
1360
+ "attributes": [],
1361
+ "slots": [
1362
+ {
1363
+ "name": "default",
1364
+ "description": "Default slot for the footer content"
1365
+ }
1366
+ ],
1367
+ "events": [],
1368
+ "js": {
1369
+ "properties": [{ "name": "className", "type": "string" }],
1370
+ "events": []
1371
+ }
1372
+ },
1356
1373
  {
1357
1374
  "name": "wje-file-upload-item",
1358
1375
  "description": "This element allows users to upload files.\n`FileUploadItem` is a custom web component that represents a file upload item.\nIt extends from `WJElement` and uses the `Localizer` utility for localization.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Method to draw the component on the screen.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host and actions.\n\n### **Slots:**\n - **img** - Slot for the image\n- **action** - Slot for the action buttons\n\n### **CSS Properties:**\n - **--primary-color** - The primary color of the file upload item. //@fires wje-button:click - Dispatches when the delete button is clicked _(default: undefined)_\n\n### **CSS Parts:**\n - **button** - The delete button part\n- **image** - The image part\n- **name** - The name part\n- **size** - The size part",
@@ -1392,19 +1409,25 @@
1392
1409
  }
1393
1410
  },
1394
1411
  {
1395
- "name": "wje-footer",
1396
- "description": "This element represents a footer. `Footer` is a custom web component that represents a footer.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - **default** - Default slot for the footer content\n\n### **CSS Properties:**\n - **--primary-color** - The primary color of the footer _(default: undefined)_",
1412
+ "name": "wje-form",
1413
+ "description": "The Form class is a custom\nweb component that extends WJElement. It is a simple form that can hold other elements or components.\nIt provides a slot for adding child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Form.\n- **draw(): _DocumentFragment_** - Draws the Form.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.",
1397
1414
  "doc-url": "",
1398
1415
  "attributes": [],
1399
1416
  "slots": [
1400
1417
  {
1401
- "name": "default",
1402
- "description": "Default slot for the footer content"
1418
+ "name": "",
1419
+ "description": "The slot for adding child elements or components."
1403
1420
  }
1404
1421
  ],
1405
1422
  "events": [],
1406
1423
  "js": {
1407
- "properties": [{ "name": "className", "type": "string" }],
1424
+ "properties": [
1425
+ {
1426
+ "name": "className",
1427
+ "description": "The class name for the Form class.",
1428
+ "type": "string"
1429
+ }
1430
+ ],
1408
1431
  "events": []
1409
1432
  }
1410
1433
  },
@@ -1456,8 +1479,8 @@
1456
1479
  }
1457
1480
  },
1458
1481
  {
1459
- "name": "wje-form",
1460
- "description": "The Form class is a custom\nweb component that extends WJElement. It is a simple form that can hold other elements or components.\nIt provides a slot for adding child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Form.\n- **draw(): _DocumentFragment_** - Draws the Form.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.",
1482
+ "name": "wje-grid",
1483
+ "description": "The Grid class is a custom web component that extends WJElement. It is a simple grid that can hold other elements or components.\nIt provides a slot for adding child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Grid.\n- **draw(): _DocumentFragment_** - Draws the Grid element.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.",
1461
1484
  "doc-url": "",
1462
1485
  "attributes": [],
1463
1486
  "slots": [
@@ -1471,7 +1494,7 @@
1471
1494
  "properties": [
1472
1495
  {
1473
1496
  "name": "className",
1474
- "description": "The class name for the Form class.",
1497
+ "description": "The class name for the Grid class.",
1475
1498
  "type": "string"
1476
1499
  }
1477
1500
  ],
@@ -1479,22 +1502,20 @@
1479
1502
  }
1480
1503
  },
1481
1504
  {
1482
- "name": "wje-grid",
1483
- "description": "The Grid class is a custom web component that extends WJElement. It is a simple grid that can hold other elements or components.\nIt provides a slot for adding child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Grid.\n- **draw(): _DocumentFragment_** - Draws the Grid element.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.",
1505
+ "name": "wje-icon",
1506
+ "description": "This element represents an icon. `IconElement` is a custom web component that represents an icon.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Properties:**\n - **--wje-icon-size** - The size of the icon element _(default: 1rem)_\n- **--wje-icon-width** - The width of the icon element _(default: var(--wje-icon-size, 100%))_\n- **--wje-icon-height** - The height of the icon element _(default: var(--wje-icon-size, 100%))_\n\n### **CSS Parts:**\n - **svg** - The SVG part of the icon",
1484
1507
  "doc-url": "",
1485
- "attributes": [],
1486
- "slots": [
1487
- {
1488
- "name": "",
1489
- "description": "The slot for adding child elements or components."
1490
- }
1508
+ "attributes": [
1509
+ { "name": "name", "value": { "type": "string" } },
1510
+ { "name": "filled", "value": { "type": "string" } },
1511
+ { "name": "label", "value": { "type": "string" } }
1491
1512
  ],
1492
1513
  "events": [],
1493
1514
  "js": {
1494
1515
  "properties": [
1495
1516
  {
1496
1517
  "name": "className",
1497
- "description": "The class name for the Grid class.",
1518
+ "description": "Sets the name of the icon.",
1498
1519
  "type": "string"
1499
1520
  }
1500
1521
  ],
@@ -1519,41 +1540,20 @@
1519
1540
  }
1520
1541
  },
1521
1542
  {
1522
- "name": "wje-icon",
1523
- "description": "This element represents an icon. `IconElement` is a custom web component that represents an icon.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Properties:**\n - **--wje-icon-size** - The size of the icon element _(default: 1rem)_\n- **--wje-icon-width** - The width of the icon element _(default: var(--wje-icon-size, 100%))_\n- **--wje-icon-height** - The height of the icon element _(default: var(--wje-icon-size, 100%))_\n\n### **CSS Parts:**\n - **svg** - The SVG part of the icon",
1543
+ "name": "wje-icon-picker",
1544
+ "description": "This element allows users to pick an icon from a set of available options.\n`IconPicker` is a custom web component that represents an interactive icon picker. It features\nsearch functionality, infinite scrolling, and popup-based selection. The component is highly customizable\nand integrates seamlessly with other `WJElement` components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(): _Promise<void>_** - Prepares data before the draw operation by fetching tags, transforming objects, and creating an index.\n- **draw(): _DocumentFragment_** - Draws and initializes the native color picker component on the DOM.\nThis method creates and appends the necessary elements, including input and infinite scroll components,\nand sets their attributes and event listeners. It also provides custom data handling for infinite scrolling\nand manages the way icons are displayed based on input.\n- **afterDraw(): _void_** - Executes actions that occur after the component finishes its draw phase. Sets up event listeners for input clear\nand infinite scroll item clicks, resets initialization state, and rebinds scroll-related events.\n- **syncAria()** - Sync ARIA attributes on host.\n- **initial()** - Initializes the component.\n- **getTags(): _Promise<Array>_** - Gets the tags.\n- **beforeDisconnect()** - Called when the component is disconnected.\n- **clearIconsContainer()** - Clears the icons container.\n- **debounce(fn: _Function_, delay: _number_): _Function_** - Creates a debounced version of the provided function that delays its execution\nuntil after the specified delay has passed since the last time it was invoked.\n\n### **CSS Properties:**\n - **--wje-color-picker-value** - The default color value. _(default: #ff0000)_\n- **--wje-color-picker-area** - The background color of the color picker area. _(default: transparent)_\n- **--wje-color-picker-swatch** - The background color of the swatch picker. _(default: transparent)_\n- **--wje-color-picker-size** - The size of the icons in the picker. _(default: 1rem)_\n- **--wje-color-picker-radius** - The border radius of the picker. _(default: 4px)_\n\n### **CSS Parts:**\n - **native** - The native part of the component.\n- **anchor** - The part representing the anchor button displaying the selected icon.\n- **picker** - The picker part containing the search and icon selection interface.\n- **input** - The input part for searching icons.",
1524
1545
  "doc-url": "",
1525
1546
  "attributes": [
1526
- { "name": "name", "value": { "type": "string" } },
1527
- { "name": "filled", "value": { "type": "string" } },
1528
- { "name": "label", "value": { "type": "string" } }
1529
- ],
1530
- "events": [],
1531
- "js": {
1532
- "properties": [
1533
- {
1534
- "name": "className",
1535
- "description": "Sets the name of the icon.",
1536
- "type": "string"
1537
- }
1538
- ],
1539
- "events": []
1540
- }
1541
- },
1542
- {
1543
- "name": "wje-icon-picker",
1544
- "description": "This element allows users to pick an icon from a set of available options.\n`IconPicker` is a custom web component that represents an interactive icon picker. It features\nsearch functionality, infinite scrolling, and popup-based selection. The component is highly customizable\nand integrates seamlessly with other `WJElement` components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(): _Promise<void>_** - Prepares data before the draw operation by fetching tags, transforming objects, and creating an index.\n- **draw(): _DocumentFragment_** - Draws and initializes the native color picker component on the DOM.\nThis method creates and appends the necessary elements, including input and infinite scroll components,\nand sets their attributes and event listeners. It also provides custom data handling for infinite scrolling\nand manages the way icons are displayed based on input.\n- **afterDraw(): _void_** - Executes actions that occur after the component finishes its draw phase. Sets up event listeners for input clear\nand infinite scroll item clicks, resets initialization state, and rebinds scroll-related events.\n- **syncAria()** - Sync ARIA attributes on host.\n- **initial()** - Initializes the component.\n- **getTags(): _Promise<Array>_** - Gets the tags.\n- **beforeDisconnect()** - Called when the component is disconnected.\n- **clearIconsContainer()** - Clears the icons container.\n- **debounce(fn: _Function_, delay: _number_): _Function_** - Creates a debounced version of the provided function that delays its execution\nuntil after the specified delay has passed since the last time it was invoked.\n\n### **CSS Properties:**\n - **--wje-color-picker-value** - The default color value. _(default: #ff0000)_\n- **--wje-color-picker-area** - The background color of the color picker area. _(default: transparent)_\n- **--wje-color-picker-swatch** - The background color of the swatch picker. _(default: transparent)_\n- **--wje-color-picker-size** - The size of the icons in the picker. _(default: 1rem)_\n- **--wje-color-picker-radius** - The border radius of the picker. _(default: 4px)_\n\n### **CSS Parts:**\n - **native** - The native part of the component.\n- **anchor** - The part representing the anchor button displaying the selected icon.\n- **picker** - The picker part containing the search and icon selection interface.\n- **input** - The input part for searching icons.",
1545
- "doc-url": "",
1546
- "attributes": [
1547
- {
1548
- "name": "icon",
1549
- "description": "The selected icon's name.",
1550
- "value": { "type": "string" }
1551
- },
1552
- {
1553
- "name": "size",
1554
- "description": "The number of icons displayed per page in infinite scroll. Default is 60.",
1555
- "value": { "type": "number" }
1556
- }
1547
+ {
1548
+ "name": "icon",
1549
+ "description": "The selected icon's name.",
1550
+ "value": { "type": "string" }
1551
+ },
1552
+ {
1553
+ "name": "size",
1554
+ "description": "The number of icons displayed per page in infinite scroll. Default is 60.",
1555
+ "value": { "type": "number" }
1556
+ }
1557
1557
  ],
1558
1558
  "events": [],
1559
1559
  "js": {
@@ -1596,63 +1596,6 @@
1596
1596
  "events": []
1597
1597
  }
1598
1598
  },
1599
- {
1600
- "name": "wje-img",
1601
- "description": "This element represents an image. `Img` is a custom web component that represents an image. It extends from `WJElement`.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Creates and assembles a lazy-loaded image element within a document fragment.\n- **afterDraw(): _void_** - Handles post-draw operations, such as setting up a lazy image loader using an IntersectionObserver.\nObserves when the target element becomes visible in the viewport and updates its source with the provided image source.\nRemoves the `lazy` class once the image source is updated and unobserves the element.\nIt also invokes the `onerrorFunc` method at the beginning to handle potential error scenarios.\n- **addAction(name: _string_, func: _Function_): _void_** - Adds a new action to the internal actions object.\n- **removeAction(name: _string_): _void_** - Removes an action from the actions list if it exists.\n\n### **CSS Properties:**\n - **--img-width** - The width of the image _(default: undefined)_\n- **--img-height** - The height of the image _(default: undefined)_",
1602
- "doc-url": "",
1603
- "attributes": [
1604
- { "name": "src", "value": { "type": "string" } },
1605
- { "name": "alt", "value": { "type": "string" } },
1606
- { "name": "no-lazy", "value": { "type": "string" } }
1607
- ],
1608
- "events": [],
1609
- "js": {
1610
- "properties": [
1611
- {
1612
- "name": "src",
1613
- "description": "The source URL of the image.",
1614
- "type": "string"
1615
- },
1616
- {
1617
- "name": "alt",
1618
- "description": "The alternative text for the image.",
1619
- "type": "string"
1620
- },
1621
- {
1622
- "name": "fallout",
1623
- "description": "The action to perform when an error occurs while loading the image. The value can be a function or a predefined action like 'delete'.",
1624
- "type": "string"
1625
- },
1626
- {
1627
- "name": "loader",
1628
- "description": "The URL of the image loader to display while the image is loading.",
1629
- "type": "string"
1630
- },
1631
- {
1632
- "name": "noLazy",
1633
- "description": "Disables lazy loading and renders the image source immediately.",
1634
- "type": "boolean"
1635
- },
1636
- {
1637
- "name": "className",
1638
- "description": "The class name for the component.",
1639
- "type": "string"
1640
- },
1641
- { "name": "setAvatarInitials" },
1642
- {
1643
- "name": "deleteImage",
1644
- "description": "Deletes the current image by calling the remove method.\nThis function is typically used to trigger the removal of an image element\nor perform cleanup operations related to the image."
1645
- },
1646
- {
1647
- "name": "onerrorFunc",
1648
- "description": "Handles error scenarios by checking the `fallout` property and performing\ncorresponding actions. If `fallout` is not defined, the function terminates\nearly. Logs the active actions and attempts to assign an error handler\nbased on the `fallout` value. If the `fallout` value does not correspond to\na recognized action, it logs an error message."
1649
- },
1650
- { "name": "_fallout", "type": "boolean" },
1651
- { "name": "actions", "type": "object" }
1652
- ],
1653
- "events": []
1654
- }
1655
- },
1656
1599
  {
1657
1600
  "name": "wje-img-comparer",
1658
1601
  "description": "This element allows users to compare two images. `ImgComparer` is a custom web component that represents an image comparer.\nIt extends from `WJElement` and uses the `Icon` component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - **before** - The before image slot.\n- **after** - The after image slot.\n\n### **CSS Properties:**\n - **--wje-img-compare-divider-area** - The area of the divider. This is the size of the divider. Accepts any valid CSS size. _(default: 12px)_\n- **--wje-img-compare-divider-background** - Sets the background color of the divider in the image comparison component. Accepts any valid CSS color value (e.g., `red`, `#ff0000`, `rgba(255, 255, 255, 0.5)`). The default value is `white`, which ensures high contrast in most designs. _(default: white)_\n- **--wje-img-compare-divider-size** - The size of the divider. This is the thickness of the divider. Accepts any valid CSS size. _(default: 2px)_\n- **--wje-img-compare-divider-left** - The left position of the divider. This is the initial position of the divider. _(default: 50%)_\n- **--wje-img-compare-position** - The position of the divider. This is the position of the divider. _(default: 50%)_\n- **--wje-img-compare-clip-path** - The clip path of the divider. This is the clip path of the divider. _(default: inset(0 calc(100% - var(--wje-img-compare-position)) 0 0))_\n\n### **CSS Parts:**\n - **divider** - The divider part.",
@@ -1743,6 +1686,63 @@
1743
1686
  "events": []
1744
1687
  }
1745
1688
  },
1689
+ {
1690
+ "name": "wje-img",
1691
+ "description": "This element represents an image. `Img` is a custom web component that represents an image. It extends from `WJElement`.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Creates and assembles a lazy-loaded image element within a document fragment.\n- **afterDraw(): _void_** - Handles post-draw operations, such as setting up a lazy image loader using an IntersectionObserver.\nObserves when the target element becomes visible in the viewport and updates its source with the provided image source.\nRemoves the `lazy` class once the image source is updated and unobserves the element.\nIt also invokes the `onerrorFunc` method at the beginning to handle potential error scenarios.\n- **addAction(name: _string_, func: _Function_): _void_** - Adds a new action to the internal actions object.\n- **removeAction(name: _string_): _void_** - Removes an action from the actions list if it exists.\n\n### **CSS Properties:**\n - **--img-width** - The width of the image _(default: undefined)_\n- **--img-height** - The height of the image _(default: undefined)_",
1692
+ "doc-url": "",
1693
+ "attributes": [
1694
+ { "name": "src", "value": { "type": "string" } },
1695
+ { "name": "alt", "value": { "type": "string" } },
1696
+ { "name": "no-lazy", "value": { "type": "string" } }
1697
+ ],
1698
+ "events": [],
1699
+ "js": {
1700
+ "properties": [
1701
+ {
1702
+ "name": "src",
1703
+ "description": "The source URL of the image.",
1704
+ "type": "string"
1705
+ },
1706
+ {
1707
+ "name": "alt",
1708
+ "description": "The alternative text for the image.",
1709
+ "type": "string"
1710
+ },
1711
+ {
1712
+ "name": "fallout",
1713
+ "description": "The action to perform when an error occurs while loading the image. The value can be a function or a predefined action like 'delete'.",
1714
+ "type": "string"
1715
+ },
1716
+ {
1717
+ "name": "loader",
1718
+ "description": "The URL of the image loader to display while the image is loading.",
1719
+ "type": "string"
1720
+ },
1721
+ {
1722
+ "name": "noLazy",
1723
+ "description": "Disables lazy loading and renders the image source immediately.",
1724
+ "type": "boolean"
1725
+ },
1726
+ {
1727
+ "name": "className",
1728
+ "description": "The class name for the component.",
1729
+ "type": "string"
1730
+ },
1731
+ { "name": "setAvatarInitials" },
1732
+ {
1733
+ "name": "deleteImage",
1734
+ "description": "Deletes the current image by calling the remove method.\nThis function is typically used to trigger the removal of an image element\nor perform cleanup operations related to the image."
1735
+ },
1736
+ {
1737
+ "name": "onerrorFunc",
1738
+ "description": "Handles error scenarios by checking the `fallout` property and performing\ncorresponding actions. If `fallout` is not defined, the function terminates\nearly. Logs the active actions and attempts to assign an error handler\nbased on the `fallout` value. If the `fallout` value does not correspond to\na recognized action, it logs an error message."
1739
+ },
1740
+ { "name": "_fallout", "type": "boolean" },
1741
+ { "name": "actions", "type": "object" }
1742
+ ],
1743
+ "events": []
1744
+ }
1745
+ },
1746
1746
  {
1747
1747
  "name": "wje-input",
1748
1748
  "description": "This class represents a custom input element. It extends the WJElement class and provides additional functionality for handling input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the input.\n- **draw(): _DocumentFragment_** - Draws the input element.\n- **afterDraw()** - Runs after the input is drawn to the DOM.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **hasSlot(el: _HTMLElement_, slotName: _string_): _boolean_** - Checks whether the input has a slot.\n\n### **Slots:**\n - **start** - Slot for content at the start of the input.\n- **end** - Slot for content at the end of the input.\n\n### **CSS Properties:**\n - **--wje-input-font-family** - Defines the font family for the input text. _(default: var(--wje-font-family))_\n- **--wje-input-background-color** - Specifies the background color of the input field. _(default: var(--wje-background))_\n- **--wje-input-color** - Sets the text color within the input field. _(default: var(--wje-color))_\n- **--wje-input-color-invalid** - Changes the text color when the input value is invalid. _(default: var(--wje-color-danger))_\n- **--wje-input-error-background-color** - Controls the background color of the validation error bubble. _(default: var(--wje-tooltip-background))_\n- **--wje-input-error-color** - Controls the text color of the validation error bubble. _(default: var(--wje-tooltip-color))_\n- **--wje-input-border-color** - Defines the border color of the input field. _(default: var(--wje-border-color))_\n- **--wje-input-border-color-focus** - Specifies the border color when the input is focused. _(default: var(--wje-color-primary))_\n- **--wje-input-border-width** - Sets the width of the input border. _(default: 1px)_\n- **--wje-input-border-style** - Defines the border style of the input (e.g., solid, dashed). _(default: solid)_\n- **--wje-input-border-radius** - Specifies the border radius, creating rounded corners. _(default: 4px)_\n- **--wje-input-margin-bottom** - Adds spacing below the input field. _(default: .5rem)_\n- **--wje-input-line-height** - Sets the line height of the text within the input field. _(default: 20px)_\n- **--wje-input-slot-padding-inline** - Controls the padding on the left and right of the input slot content. // @fires wje-input:input - Dispatched when the input value changes. // @fires wje-input:clear - Dispatched when the input is cleared. _(default: .5rem)_\n\n### **CSS Parts:**\n - **native** - The native part.\n- **wrapper** - The wrapper part.\n- **input** - The input part.\n- **clear** - The clear part.",
@@ -1817,28 +1817,6 @@
1817
1817
  "events": []
1818
1818
  }
1819
1819
  },
1820
- {
1821
- "name": "wje-input-file",
1822
- "description": "This element represents a file input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component.\n- **afterDraw()** - After draw method for the InputFile class.\n\n### **CSS Parts:**\n - **native** - The native file input wrapper.\n- **input** - The text input.\n- **file-input** - The file input element. // @fires wje-input-file:change - Event fired when the file input changes.",
1823
- "doc-url": "",
1824
- "attributes": [],
1825
- "events": [],
1826
- "js": {
1827
- "properties": [
1828
- {
1829
- "name": "value",
1830
- "description": "Gets the value of the input file."
1831
- },
1832
- {
1833
- "name": "className",
1834
- "description": "The class name for the InputFile class.",
1835
- "type": "string"
1836
- },
1837
- { "name": "_value", "type": "string" }
1838
- ],
1839
- "events": []
1840
- }
1841
- },
1842
1820
  {
1843
1821
  "name": "wje-item",
1844
1822
  "description": "This element represents an item.\n---\n\n\n### **Methods:**\n - **isClickable(): _boolean_** - Returns the CSS styles for the component.\n- **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the item.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - **start** - The start slot\n- **end** - The end slot\n- **error** - The error slot\n- **helper** - The helper slot\n\n### **CSS Properties:**\n - **--wje-item-background** - Sets the background color of the item. Accepts any valid CSS color value. _(default: var(--wje-background))_\n- **--wje-item-color** - Defines the text color for the item. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-item-padding-start** - Specifies the left padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-end** - Specifies the right padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-top** - Specifies the top padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-bottom** - Specifies the bottom padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-start** - Specifies the left inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-end** - Specifies the right inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-top** - Specifies the top inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-bottom** - Specifies the bottom inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-border-radius** - Defines the border radius, providing rounded corners for the item. _(default: var(--wje-border-radius))_\n- **--wje-item-border-width** - Sets the border width of the item. Accepts any valid CSS length. _(default: var(--wje-border-width))_\n- **--wje-item-border-style** - Specifies the style of the border, such as `solid`, `dashed`, or `dotted`. _(default: var(--wje-border-style))_\n- **--wje-item-border-color** - Defines the color of the item's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-item-min-height** - Sets the minimum height of the item to ensure consistent layout. _(default: var(--wje-min-height))_\n- **--wje-item-transition** - Specifies the transition effects for the item, such as for hover or focus states. _(default: var(--wje-transition))_\n- **--wje-item-inner-box-shadow** - Adds a shadow effect inside the item for a 3D appearance. _(default: var(--wje-box-shadow))_\n\n### **CSS Parts:**\n - **native** - The native part\n- **inner** - The inner part",
@@ -1877,6 +1855,42 @@
1877
1855
  "events": []
1878
1856
  }
1879
1857
  },
1858
+ {
1859
+ "name": "wje-input-file",
1860
+ "description": "This element represents a file input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component.\n- **afterDraw()** - After draw method for the InputFile class.\n\n### **CSS Parts:**\n - **native** - The native file input wrapper.\n- **input** - The text input.\n- **file-input** - The file input element. // @fires wje-input-file:change - Event fired when the file input changes.",
1861
+ "doc-url": "",
1862
+ "attributes": [],
1863
+ "events": [],
1864
+ "js": {
1865
+ "properties": [
1866
+ {
1867
+ "name": "value",
1868
+ "description": "Gets the value of the input file."
1869
+ },
1870
+ {
1871
+ "name": "className",
1872
+ "description": "The class name for the InputFile class.",
1873
+ "type": "string"
1874
+ },
1875
+ { "name": "_value", "type": "string" }
1876
+ ],
1877
+ "events": []
1878
+ }
1879
+ },
1880
+ {
1881
+ "name": "wje-label",
1882
+ "description": "This element represents a label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - _default_ - The default slot for the label.\n\n### **CSS Properties:**\n - **--wje-label-color** - Defines the text color of the label. This property determines the color of the label's text. Accepts any valid CSS color value (e.g., named colors like `black`, `red`, or values like `#000000`, `rgb(0, 0, 0)`). _(default: black)_\n- **--wje-label-font-size** - Specifies the font size of the label. This property sets the size of the label's text. Accepts any valid CSS length unit (e.g., `px`, `em`, `rem`). The default value is `16px`, which provides optimal readability in most designs. // @fires wje-label:change - Event fired when the label is changed. _(default: 16px)_\n\n### **CSS Parts:**\n - **label** - The label part of the component.",
1883
+ "doc-url": "",
1884
+ "attributes": [],
1885
+ "slots": [
1886
+ { "name": "", "description": "The default slot for the label." }
1887
+ ],
1888
+ "events": [],
1889
+ "js": {
1890
+ "properties": [{ "name": "className", "type": "string" }],
1891
+ "events": []
1892
+ }
1893
+ },
1880
1894
  {
1881
1895
  "name": "wje-kanban",
1882
1896
  "description": "This element represents a Kanban board.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(context: _object_, store: _object_, params: _object_)** - Prepares the component before drawing.\n- **draw(): _DocumentFragment_** - Draws the component after it has been prepared.\n- **syncAria()** - Sync ARIA attributes on host.\n- **afterDraw()** - Called after the component has been drawn.\n- **setupDragAndDropEvents()** - Sets up the drag and drop events for the component.\n- **setupSelectAllCardsEvent()** - Sets up the select all cards event for the component.\n- **setupMenuItemClickEvents()** - Sets up the menu item click events for the component.\n- **updateSelectedCards(pool: _HTMLElement_, isChecked: _boolean_)** - Updates the selected cards in the pool.\n- **handlePoolAction(action: _string_, pool: _HTMLElement_)** - Handles the pool action.\n- **movePool(pool: _HTMLElement_, direction: _string_)** - Moves the pool in the specified direction.\n- **renamePool(pool: _HTMLElement_)** - Renames the pool.\n- **getCardPlaceholder(): _null|*_** - Gets the card placeholder.\n- **live(eventType: _string_, selector: _string_, callback: _function_)** - Adds a live event listener to the component.\n- **setSelectedCards(isChecked: _boolean_, card: _HTMLElement_)** - Sets the selected cards.\n- **setSelectedItems()** - Sets the selected items.\n- **getPages(page): _Promise<any>_** - Fetches the pages.\n\n### **Slots:**\n - _default_ - The default slot for the Kanban board.\n\n### **CSS Parts:**\n - **native-infinite-scroll** - Styles the native part of the Kanban board.",
@@ -1940,12 +1954,12 @@
1940
1954
  }
1941
1955
  },
1942
1956
  {
1943
- "name": "wje-label",
1944
- "description": "This element represents a label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - _default_ - The default slot for the label.\n\n### **CSS Properties:**\n - **--wje-label-color** - Defines the text color of the label. This property determines the color of the label's text. Accepts any valid CSS color value (e.g., named colors like `black`, `red`, or values like `#000000`, `rgb(0, 0, 0)`). _(default: black)_\n- **--wje-label-font-size** - Specifies the font size of the label. This property sets the size of the label's text. Accepts any valid CSS length unit (e.g., `px`, `em`, `rem`). The default value is `16px`, which provides optimal readability in most designs. // @fires wje-label:change - Event fired when the label is changed. _(default: 16px)_\n\n### **CSS Parts:**\n - **label** - The label part of the component.",
1957
+ "name": "wje-list",
1958
+ "description": "This element represents a list.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of attributes to observe for changes.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - _default_ - The default slot for the list.\n\n### **CSS Properties:**\n - **--wje-list-inset-padding** - The padding of the list when it is inset. _(default: 1rem)_\n- **--wje-list-border-radius** - The border radius of the list. Accepts any valid CSS length. _(default: 8px)_\n- **--wje-list-background** - The background of the list. Accepts any valid CSS color value. _(default: var(--wje-background))_",
1945
1959
  "doc-url": "",
1946
1960
  "attributes": [],
1947
1961
  "slots": [
1948
- { "name": "", "description": "The default slot for the label." }
1962
+ { "name": "", "description": "The default slot for the list." }
1949
1963
  ],
1950
1964
  "events": [],
1951
1965
  "js": {
@@ -1985,20 +1999,6 @@
1985
1999
  "events": []
1986
2000
  }
1987
2001
  },
1988
- {
1989
- "name": "wje-list",
1990
- "description": "This element represents a list.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of attributes to observe for changes.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - _default_ - The default slot for the list.\n\n### **CSS Properties:**\n - **--wje-list-inset-padding** - The padding of the list when it is inset. _(default: 1rem)_\n- **--wje-list-border-radius** - The border radius of the list. Accepts any valid CSS length. _(default: 8px)_\n- **--wje-list-background** - The background of the list. Accepts any valid CSS color value. _(default: var(--wje-background))_",
1991
- "doc-url": "",
1992
- "attributes": [],
1993
- "slots": [
1994
- { "name": "", "description": "The default slot for the list." }
1995
- ],
1996
- "events": [],
1997
- "js": {
1998
- "properties": [{ "name": "className", "type": "string" }],
1999
- "events": []
2000
- }
2001
- },
2002
2002
  {
2003
2003
  "name": "wje-main",
2004
2004
  "description": "This element represents a main section.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the main section.\n\n### **Slots:**\n - _default_ - The default slot for the main section.",
@@ -2103,6 +2103,26 @@
2103
2103
  "events": []
2104
2104
  }
2105
2105
  },
2106
+ {
2107
+ "name": "wje-menu-label",
2108
+ "description": "This element represents a menu label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu label.\n\n### **Slots:**\n - _default_ - The default slot for the menu label.\n\n### **CSS Properties:**\n - **--wje-menu-label-font-size** - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`). _(default: .75rem)_\n- **--wje-menu-label-weight** - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`). _(default: 600)_\n- **--wje-letter-spacing** - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability. _(default: .025rem)_\n- **--wje-menu-label-color** - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors. _(default: var(--wje-color-contrast-6))_\n- **--wje-padding-top** - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label. _(default: 0)_\n- **--wje-padding-bottom** - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label. _(default: 0)_\n- **--wje-padding-start** - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n- **--wje-padding-end** - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu label.",
2109
+ "doc-url": "",
2110
+ "attributes": [],
2111
+ "slots": [
2112
+ {
2113
+ "name": "",
2114
+ "description": "The default slot for the menu label."
2115
+ }
2116
+ ],
2117
+ "events": [],
2118
+ "js": {
2119
+ "properties": [
2120
+ { "name": "className", "type": "string" },
2121
+ { "name": "hasSubmenu" }
2122
+ ],
2123
+ "events": []
2124
+ }
2125
+ },
2106
2126
  {
2107
2127
  "name": "wje-menu-item",
2108
2128
  "description": "This element represents a menu item.\n---\n\n\n### **Events:**\n \n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the MenuItem element.\n- **beforeDraw()** - Removes the active attribute from the menu before drawing the MenuItem.\n- **draw(): _DocumentFragment_** - Draws the MenuItem element and sets the variant and collapse attributes.\n- **afterDraw()** - Adds event listeners after drawing the MenuItem.\n- **syncAria()** - Syncs ARIA attributes based on menu item state.\n- **collapseItem(native: _HTMLElement_): _HTMLElement_** - Creates a tooltip for the MenuItem when it is collapsed.\n- **showSubmenu()** - Shows the submenu of the MenuItem.\n- **hideSubmenu()** - Hides the submenu of the MenuItem.\n- **submenuToggle(e: _Event_)** - Toggles the active state of the submenu element.\nIf the submenu is not active, it sets the \"active\" attribute.\nIf the submenu is already active, it removes the \"active\" attribute.\n- **deactivateSubmenu()** - Deactivates the submenu by removing the \"active\" attribute.\n- **activateSubmenu()** - Activates the submenu of the menu item.\n- **beforeDisconnect()** - Gets the text from the element and returns it.\n- **getTextFromElement(element: _HTMLElement_): _string_** - Extracts and returns the concatenated text content from all text nodes within the specified element.\n\n### **Slots:**\n - _default_ - The default slot for the menu item.\n- **start** - The slot for the start of the menu item.\n- **end** - The slot for the end of the menu item.\n- **submenu** - The slot for the submenu of the menu item.\n\n### **CSS Properties:**\n - **--wje-menu-item-color** - Sets the text color of a menu item. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-menu-item-background** - Defines the background color of a menu item. Default is `transparent`. Accepts any valid CSS color value. _(default: transparent)_\n- **--wje-menu-item-color-hover** - Specifies the text color of a menu item when hovered. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-hover** - Sets the background color of a menu item when hovered. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-color-focus** - Defines the text color of a menu item when focused. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-focus** - Specifies the background color of a menu item when focused. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-color-active** - Sets the text color of a menu item when active. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-active** - Specifies the background color of a menu item when active. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-padding-top** - Specifies the top padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`). _(default: .5rem)_\n- **--wje-menu-item-padding-bottom** - Specifies the bottom padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`). _(default: .5rem)_\n- **--wje-menu-item-line-height** - Sets the line height for the text within a menu item. Accepts any valid CSS length value. _(default: 1.8rem)_\n- **--wje-menu-submenu-offset** - Determines the horizontal offset of a submenu relative to its parent. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-menu-item-icon-visibility** - Controls the visibility of the icon in a menu item. Accepts `visible`, `hidden`, or `collapse`. _(default: hidden)_\n- **--wje-menu-item-safe-triangle-cursor-x** - Specifies the x-coordinate of the cursor for the safe triangle area. Used for managing hover or focus transitions between menu items and submenus. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-cursor-y** - Specifies the y-coordinate of the cursor for the safe triangle area. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-start-x** - Defines the x-coordinate where the submenu's safe triangle starts. Helps prevent accidental submenu closing when navigating. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-start-y** - Defines the y-coordinate where the submenu's safe triangle starts. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-end-x** - Specifies the x-coordinate where the submenu's safe triangle ends. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-end-y** - Specifies the y-coordinate where the submenu's safe triangle ends. _(default: undefined)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu item.\n- **submenu** - The submenu part of the menu item.",
@@ -2179,39 +2199,19 @@
2179
2199
  }
2180
2200
  },
2181
2201
  {
2182
- "name": "wje-menu-label",
2183
- "description": "This element represents a menu label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu label.\n\n### **Slots:**\n - _default_ - The default slot for the menu label.\n\n### **CSS Properties:**\n - **--wje-menu-label-font-size** - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`). _(default: .75rem)_\n- **--wje-menu-label-weight** - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`). _(default: 600)_\n- **--wje-letter-spacing** - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability. _(default: .025rem)_\n- **--wje-menu-label-color** - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors. _(default: var(--wje-color-contrast-6))_\n- **--wje-padding-top** - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label. _(default: 0)_\n- **--wje-padding-bottom** - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label. _(default: 0)_\n- **--wje-padding-start** - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n- **--wje-padding-end** - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu label.",
2202
+ "name": "wje-option",
2203
+ "description": "This element represents an option.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the option.\n- **afterDraw(): _void_** - Method executed after the drawing process is completed.\nSets up an event listener for 'click' events, linking them to the specified callback function.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect(): _void_** - Handles operations or cleanup tasks that need to occur before disconnecting.\nRemoves an event listener associated with the 'click' event and a specified callback function.\n- **optionClickCallback(e: _Event_): _void_** - Handles the click event on an option element and dispatches a custom event when triggered.\n\n### **Slots:**\n - **start** - The slot for the start of the option.\n- _default_ - The default slot for the option.\n- **end** - The slot for the end of the option. // @fires wje-option:change - Event fired when the option is clicked.\n\n### **CSS Parts:**\n - **native** - The native part of the option.",
2184
2204
  "doc-url": "",
2185
- "attributes": [],
2205
+ "attributes": [{ "name": "selected", "value": { "type": "string" } }],
2186
2206
  "slots": [
2187
2207
  {
2188
- "name": "",
2189
- "description": "The default slot for the menu label."
2190
- }
2191
- ],
2192
- "events": [],
2193
- "js": {
2194
- "properties": [
2195
- { "name": "className", "type": "string" },
2196
- { "name": "hasSubmenu" }
2197
- ],
2198
- "events": []
2199
- }
2200
- },
2201
- {
2202
- "name": "wje-option",
2203
- "description": "This element represents an option.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the option.\n- **afterDraw(): _void_** - Method executed after the drawing process is completed.\nSets up an event listener for 'click' events, linking them to the specified callback function.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect(): _void_** - Handles operations or cleanup tasks that need to occur before disconnecting.\nRemoves an event listener associated with the 'click' event and a specified callback function.\n- **optionClickCallback(e: _Event_): _void_** - Handles the click event on an option element and dispatches a custom event when triggered.\n\n### **Slots:**\n - **start** - The slot for the start of the option.\n- _default_ - The default slot for the option.\n- **end** - The slot for the end of the option. // @fires wje-option:change - Event fired when the option is clicked.\n\n### **CSS Parts:**\n - **native** - The native part of the option.",
2204
- "doc-url": "",
2205
- "attributes": [{ "name": "selected", "value": { "type": "string" } }],
2206
- "slots": [
2207
- {
2208
- "name": "start",
2209
- "description": "The slot for the start of the option."
2210
- },
2211
- { "name": "", "description": "The default slot for the option." },
2212
- {
2213
- "name": "end",
2214
- "description": "The slot for the end of the option. // @fires wje-option:change - Event fired when the option is clicked."
2208
+ "name": "start",
2209
+ "description": "The slot for the start of the option."
2210
+ },
2211
+ { "name": "", "description": "The default slot for the option." },
2212
+ {
2213
+ "name": "end",
2214
+ "description": "The slot for the end of the option. // @fires wje-option:change - Event fired when the option is clicked."
2215
2215
  }
2216
2216
  ],
2217
2217
  "events": [],
@@ -2329,33 +2329,6 @@
2329
2329
  "events": []
2330
2330
  }
2331
2331
  },
2332
- {
2333
- "name": "wje-orgchart",
2334
- "description": "Orgchart is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart.\n- **afterDraw()** - Syncs flat chart state to direct slotted children.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Parts:**\n - **** - Styles the element.\n- **native** - Styles the native element.",
2335
- "doc-url": "",
2336
- "attributes": [
2337
- {
2338
- "name": "flat",
2339
- "description": "Removes the incoming connector spacing for nested charts that should visually continue on the same level.",
2340
- "value": { "type": "boolean" }
2341
- }
2342
- ],
2343
- "events": [],
2344
- "js": {
2345
- "properties": [
2346
- {
2347
- "name": "flat",
2348
- "description": "Gets whether the chart omits its incoming connector spacing."
2349
- },
2350
- { "name": "className", "type": "string" },
2351
- {
2352
- "name": "syncFlatChildren",
2353
- "description": "Marks direct children that are rendered inside a flat chart."
2354
- }
2355
- ],
2356
- "events": []
2357
- }
2358
- },
2359
2332
  {
2360
2333
  "name": "wje-orgchart-group",
2361
2334
  "description": "OrgchartItem is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart group.\n- **afterDraw()** - After Draws the component for the org chart group.\n\n### **CSS Parts:**\n - **** - Styles the element.",
@@ -2421,18 +2394,28 @@
2421
2394
  }
2422
2395
  },
2423
2396
  {
2424
- "name": "wje-panel",
2425
- "description": "This element represents a panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the panel.\n- **afterDraw()** - Adds event listeners after the component is drawn.\nHandles the collapsing of breadcrumbs.\n- **getBreadcrumbs(): _Array<Element>_** - Returns all the breadcrumb elements in the panel.\n\n### **Slots:**\n - _default_ - The default slot for the panel.",
2397
+ "name": "wje-orgchart",
2398
+ "description": "Orgchart is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart.\n- **afterDraw()** - Syncs flat chart state to direct slotted children.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Parts:**\n - **** - Styles the element.\n- **native** - Styles the native element.",
2426
2399
  "doc-url": "",
2427
- "attributes": [],
2428
- "slots": [
2429
- { "name": "", "description": "The default slot for the panel." }
2400
+ "attributes": [
2401
+ {
2402
+ "name": "flat",
2403
+ "description": "Removes the incoming connector spacing for nested charts that should visually continue on the same level.",
2404
+ "value": { "type": "boolean" }
2405
+ }
2430
2406
  ],
2431
2407
  "events": [],
2432
2408
  "js": {
2433
2409
  "properties": [
2410
+ {
2411
+ "name": "flat",
2412
+ "description": "Gets whether the chart omits its incoming connector spacing."
2413
+ },
2434
2414
  { "name": "className", "type": "string" },
2435
- { "name": "last", "type": "boolean" }
2415
+ {
2416
+ "name": "syncFlatChildren",
2417
+ "description": "Marks direct children that are rendered inside a flat chart."
2418
+ }
2436
2419
  ],
2437
2420
  "events": []
2438
2421
  }
@@ -2507,6 +2490,23 @@
2507
2490
  "events": []
2508
2491
  }
2509
2492
  },
2493
+ {
2494
+ "name": "wje-panel",
2495
+ "description": "This element represents a panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the panel.\n- **afterDraw()** - Adds event listeners after the component is drawn.\nHandles the collapsing of breadcrumbs.\n- **getBreadcrumbs(): _Array<Element>_** - Returns all the breadcrumb elements in the panel.\n\n### **Slots:**\n - _default_ - The default slot for the panel.",
2496
+ "doc-url": "",
2497
+ "attributes": [],
2498
+ "slots": [
2499
+ { "name": "", "description": "The default slot for the panel." }
2500
+ ],
2501
+ "events": [],
2502
+ "js": {
2503
+ "properties": [
2504
+ { "name": "className", "type": "string" },
2505
+ { "name": "last", "type": "boolean" }
2506
+ ],
2507
+ "events": []
2508
+ }
2509
+ },
2510
2510
  {
2511
2511
  "name": "wje-popup",
2512
2512
  "description": "This element represents a popup.\n---\n\n\n### **Events:**\n - **wje-portal:restored**\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the popup.\n- **afterDraw()** - After Draws the component.\n- **setAnchor()** - Sets the anchor for the popup.\nAdds a click event listener to the anchor element.\n- **showHide()** - Toggles the active attribute of the popup.\n- **reposition()** - Repositions the popup.\nUses the floating-ui library to compute the position.\n- **_mountContentToPortal(): _void_** - Mounts content to a portal container by creating or ensuring a portal root and mirroring\nthe host's classes, attributes, and slot contents onto the portal. This method manages the\nmovement of default and arrow slot content into the portal shadow DOM, while also setting\nup necessary mutation observers to keep attributes in sync.\n- **_restoreContentFromPortal(): _void_** - Restores the content previously moved to a portal back to its original location.\nThis method handles restoring default slot content, arrow placeholders, disconnecting\nattribute mirroring observers, and cleaning up elements and containers related to the portal.\nEnsures all placeholders and native portal elements are properly removed from the DOM.\n- **_ensurePortalRoot(): _void_** - Ensures that a portal root is created and initialized properly with a shadow DOM and attached styles.\nIf the portal root already exists, the method exits early.\nThe method creates a `div` element in the document body and attaches a shadow DOM to it.\nIt also applies the required styles to the shadow DOM, either using constructable stylesheets\nor by appending a `<style>` element. Additionally, it copies CSS custom properties from the\ncomponent's computed styles to the portal host to ensure proper style resolution.\n- **show(dispatchEvent: _boolean_): _void_** - Displays the popup by portaling the content, managing the loader state, and attaching event handlers.\nOptionally dispatches a custom event when the popup is shown.\n- **hide(dispatchEvent)** - Hides the popup.\nRemoves the popup-active class from the floating element.\nCleans up the auto update for repositioning.\n\n### **Slots:**\n - **anchor** - The slot for the anchor of the popup.\n- **arrow** - The slot for the arrow of the popup.\n- _default_ - The default slot for the popup.\n\n### **CSS Properties:**\n - **--wje-popup-backdrop-background** - Backdrop background used by mobile bottom sheet popups. _(default: var(--wje-backdrop))_\n- **--wje-popup-backdrop-opacity** - Backdrop opacity used by mobile bottom sheet popups. _(default: 1)_\n- **--wje-popup-mobile-background** - Background of the mobile bottom sheet panel. _(default: var(--wje-select-options-background-color))_\n- **--wje-popup-mobile-border-radius** - Border radius of the mobile bottom sheet panel. _(default: var(--wje-border-radius-large) var(--wje-border-radius-large) 0 0)_\n- **--wje-popup-mobile-box-shadow** - Shadow of the mobile bottom sheet panel. _(default: 0 -8px 32px rgba(0, 0, 0, 0.16))_\n- **--wje-popup-mobile-max-height** - Maximum height of the mobile bottom sheet panel. _(default: 90vh)_\n- **--wje-popup-mobile-transition-duration** - Transition duration for the mobile bottom sheet and backdrop. _(default: 250ms)_\n- **--wje-popup-mobile-transition-easing** - Transition easing for the mobile bottom sheet and backdrop. _(default: ease)_\n- **--wje-popup-loader-inset** - Inset used by the popup loader overlay. _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The native part of the popup.\n- **backdrop** - The backdrop used by mobile bottom sheet presentation.",
@@ -2627,85 +2627,6 @@
2627
2627
  "events": []
2628
2628
  }
2629
2629
  },
2630
- {
2631
- "name": "wje-radio",
2632
- "description": "This class represents a Radio button element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the radio button.\n- **afterDraw()** - Sets up the event listeners for the component.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Toggles the radio button.\n\n### **Slots:**\n - _default_ - Default slot for the radio button label content.\n\n### **CSS Properties:**\n - **--wje-radio-margin-inline** - Specifies the horizontal (left and right) margin for the radio button. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`) to control spacing on both sides of the component. _(default: 0)_\n- **--wje-radio-margin-top** - Defines the top margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing above the component. _(default: 0)_\n- **--wje-radio-margin-bottom** - Sets the bottom margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing below the component. // @fires wje-radio:change - Dispatched when the radio button's state changes. // @fires wje-radio:input - Dispatched when the radio button is interacted with. _(default: 0)_\n\n### **CSS Parts:**\n - **native-radio** - The native wrapper for the radio button.",
2633
- "doc-url": "",
2634
- "attributes": [
2635
- { "name": "checked", "value": { "type": "string" } },
2636
- { "name": "disabled", "value": { "type": "string" } },
2637
- { "name": "value", "value": { "type": "string" } }
2638
- ],
2639
- "slots": [
2640
- {
2641
- "name": "",
2642
- "description": "Default slot for the radio button label content."
2643
- }
2644
- ],
2645
- "events": [],
2646
- "js": {
2647
- "properties": [
2648
- { "name": "value" },
2649
- {
2650
- "name": "checked",
2651
- "description": "Gets the checked property of the radio button."
2652
- },
2653
- {
2654
- "name": "disabled",
2655
- "description": "Get disabled attribute value."
2656
- },
2657
- {
2658
- "name": "className",
2659
- "description": "Sets the color of the radio button.",
2660
- "type": "string"
2661
- },
2662
- {
2663
- "name": "inputEvent",
2664
- "description": "Called when an attribute changes."
2665
- }
2666
- ],
2667
- "events": []
2668
- }
2669
- },
2670
- {
2671
- "name": "wje-radio-group",
2672
- "description": "This element represents a group of radio buttons.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the radio group.\n- **afterDraw()** - Adds event listeners after the component is drawn. Handles the selection of radio buttons.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getRadioByValue(value: _string_): _Radio_** - Returns the radio button with the given value.\n- **removeCheck()** - Removes the check from all radio buttons.\n- **checkRadio(radio)** - Sets the given radio button to checked.\n- **getAllElements(): _HTMLElement[]_** - Retrieves all direct child elements of the current element.\n\n### **Slots:**\n - _default_ - The default slot for the radio group.",
2673
- "doc-url": "",
2674
- "attributes": [
2675
- { "name": "required", "value": { "type": "string" } },
2676
- { "name": "value", "value": { "type": "string" } },
2677
- { "name": "disabled", "value": { "type": "string" } },
2678
- { "name": "invalid", "value": { "type": "string" } },
2679
- { "name": "label", "value": { "type": "string" } }
2680
- ],
2681
- "slots": [
2682
- {
2683
- "name": "",
2684
- "description": "The default slot for the radio group."
2685
- }
2686
- ],
2687
- "events": [],
2688
- "js": {
2689
- "properties": [
2690
- {
2691
- "name": "value",
2692
- "description": "Getter for the value attribute."
2693
- },
2694
- {
2695
- "name": "required",
2696
- "description": "Getter for the name attribute."
2697
- },
2698
- {
2699
- "name": "label",
2700
- "description": "Getter for the label attribute."
2701
- },
2702
- { "name": "className", "type": "string" },
2703
- { "name": "invalid", "type": "boolean" },
2704
- { "name": "pristine", "type": "boolean" }
2705
- ],
2706
- "events": []
2707
- }
2708
- },
2709
2630
  {
2710
2631
  "name": "wje-qr-code",
2711
2632
  "description": "This element represents a QR code generator.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the QR code component.\n- **afterDraw()** - Called after the component is drawn to generate the QR code.\n- **getAttributeFromAliases(aliases: _string[]_): _string|null_** - Returns first defined attribute value from alias list.\n- **setAliasedAttribute(optionName: _string_, value: _string|number|null|undefined_)** - Writes value to the canonical attribute and clears alternate aliases.\n\n### **Slots:**\n - **top** - The slot for the top content of the QR code.\n- **bottom** - The slot for the bottom content of the QR code.\n\n### **CSS Parts:**\n - **native** - The native part of the QR code.",
@@ -2773,6 +2694,46 @@
2773
2694
  "events": []
2774
2695
  }
2775
2696
  },
2697
+ {
2698
+ "name": "wje-radio",
2699
+ "description": "This class represents a Radio button element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the radio button.\n- **afterDraw()** - Sets up the event listeners for the component.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Toggles the radio button.\n\n### **Slots:**\n - _default_ - Default slot for the radio button label content.\n\n### **CSS Properties:**\n - **--wje-radio-margin-inline** - Specifies the horizontal (left and right) margin for the radio button. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`) to control spacing on both sides of the component. _(default: 0)_\n- **--wje-radio-margin-top** - Defines the top margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing above the component. _(default: 0)_\n- **--wje-radio-margin-bottom** - Sets the bottom margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing below the component. // @fires wje-radio:change - Dispatched when the radio button's state changes. // @fires wje-radio:input - Dispatched when the radio button is interacted with. _(default: 0)_\n\n### **CSS Parts:**\n - **native-radio** - The native wrapper for the radio button.",
2700
+ "doc-url": "",
2701
+ "attributes": [
2702
+ { "name": "checked", "value": { "type": "string" } },
2703
+ { "name": "disabled", "value": { "type": "string" } },
2704
+ { "name": "value", "value": { "type": "string" } }
2705
+ ],
2706
+ "slots": [
2707
+ {
2708
+ "name": "",
2709
+ "description": "Default slot for the radio button label content."
2710
+ }
2711
+ ],
2712
+ "events": [],
2713
+ "js": {
2714
+ "properties": [
2715
+ { "name": "value" },
2716
+ {
2717
+ "name": "checked",
2718
+ "description": "Gets the checked property of the radio button."
2719
+ },
2720
+ {
2721
+ "name": "disabled",
2722
+ "description": "Get disabled attribute value."
2723
+ },
2724
+ {
2725
+ "name": "className",
2726
+ "description": "Sets the color of the radio button.",
2727
+ "type": "string"
2728
+ },
2729
+ {
2730
+ "name": "inputEvent",
2731
+ "description": "Called when an attribute changes."
2732
+ }
2733
+ ],
2734
+ "events": []
2735
+ }
2736
+ },
2776
2737
  {
2777
2738
  "name": "wje-rate",
2778
2739
  "description": "This element represents a rating component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the rating component.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **createIcons(i: _number_): _Element_** - Creates the icons for the rating component.\n- **changeRate()** - Changes the rate of the rating component.\n- **syncAria()** - Sync ARIA attributes on host.\n- **getIcons(index: _number_): _Element_** - Returns the icons for the rating component.\n- **getValueFromXPosition(coordinate: _number_): _number_** - Returns the value from the x position.\n- **roundToPrecision(numberToRound: _number_, precision: _number_): _number_** - Rounds a given number to the nearest specified precision.\n\n### **CSS Properties:**\n - **--wje-rate-gap** - Defines the spacing (gap) between individual items in the rating component. Accepts any valid CSS length unit (e.g., `px`, `rem`, `em`) to adjust the distance between rating elements. _(default: .25rem)_\n- **--wje-rate-color** - Specifies the default color of the rating items. Accepts any valid CSS color value, including named colors, hex values, RGB, or CSS variables. _(default: var(--wje-color-contrast-11))_\n- **--wje-rate-selected-color** - Sets the color for selected or highlighted rating items. This property helps visually distinguish selected ratings. Accepts any valid CSS color value. _(default: var(--wje-color-danger-9))_\n\n### **CSS Parts:**\n - **native** - The native part of the rating component.",
@@ -2854,6 +2815,36 @@
2854
2815
  "events": []
2855
2816
  }
2856
2817
  },
2818
+ {
2819
+ "name": "wje-reorder",
2820
+ "description": "This element represents a reorder.\n---\n\n\n### **Events:**\n - **wje-reorder:change**\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component after it is connected to the DOM.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n- **attachEventListeners(element)** - Attaches event listeners to the element.\n- **mouseDown(e: _object_)** - Handles the mouse down event.\n- **touchStart(e)** - Handles the touch start event.\n- **startDragging(clientX: _number_, clientY: _number_, target: _HTMLElement_)** - Initializes the dragging process for a reorderable item.\n- **mouseMove(e)** - Handles the mouse move event.\n- **touchMove(e: _TouchEvent_)** - Handles the `touchmove` event and updates the position of the dragged element.\n- **moveElement(pageX: _number_, pageY: _number_)** - Updates the position of the dragged element and handles reordering logic based on the mouse position.\n- **mouseUp()** - Handles the mouse up event.\n- **touchEnd()** - Handles the touch end event.\n- **stopDragging()** - Stops dragging the element.\n- **dragStart(e: _DragEvent_)** - Prevents the default behavior of the `dragstart` event.\n- **createClone()** - Creates a clone of the element.\n- **isMovingDown(droppedElement): _boolean_** - Checks if the dragged element is moving down.\n- **dispatchChange(from: _number_, to: _number_, order: _Array<number>_, orderElements)** - Dispatches a custom event to signal that a reordering operation has occurred.\n\n### **Slots:**\n - _default_ - The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder.",
2821
+ "doc-url": "",
2822
+ "attributes": [],
2823
+ "slots": [
2824
+ {
2825
+ "name": "",
2826
+ "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2827
+ }
2828
+ ],
2829
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2830
+ "js": {
2831
+ "properties": [
2832
+ {
2833
+ "name": "className",
2834
+ "description": "The class name for the component.",
2835
+ "type": "string"
2836
+ },
2837
+ { "name": "dragEl", "type": "null" },
2838
+ { "name": "items", "type": "array" },
2839
+ { "name": "originalIndex", "type": "null" },
2840
+ { "name": "isDragging", "type": "boolean" },
2841
+ { "name": "offsetX", "type": "number" },
2842
+ { "name": "offsetY", "type": "number" },
2843
+ { "name": "cloneEl", "type": "null" }
2844
+ ],
2845
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2846
+ }
2847
+ },
2857
2848
  {
2858
2849
  "name": "wje-relative-time",
2859
2850
  "description": "This element represents a relative time component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the relative time.\n- **getRelativeTimeString(lang)** - Returns the relative time string for the given date.\n- **isISODate(str: _string_): _boolean_** - Checks if the given string is an ISO date.\n\n### **CSS Parts:**\n - **native** - The native part of the relative time component.",
@@ -2884,33 +2875,42 @@
2884
2875
  }
2885
2876
  },
2886
2877
  {
2887
- "name": "wje-reorder",
2888
- "description": "This element represents a reorder.\n---\n\n\n### **Events:**\n - **wje-reorder:change**\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component after it is connected to the DOM.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n- **attachEventListeners(element)** - Attaches event listeners to the element.\n- **mouseDown(e: _object_)** - Handles the mouse down event.\n- **touchStart(e)** - Handles the touch start event.\n- **startDragging(clientX: _number_, clientY: _number_, target: _HTMLElement_)** - Initializes the dragging process for a reorderable item.\n- **mouseMove(e)** - Handles the mouse move event.\n- **touchMove(e: _TouchEvent_)** - Handles the `touchmove` event and updates the position of the dragged element.\n- **moveElement(pageX: _number_, pageY: _number_)** - Updates the position of the dragged element and handles reordering logic based on the mouse position.\n- **mouseUp()** - Handles the mouse up event.\n- **touchEnd()** - Handles the touch end event.\n- **stopDragging()** - Stops dragging the element.\n- **dragStart(e: _DragEvent_)** - Prevents the default behavior of the `dragstart` event.\n- **createClone()** - Creates a clone of the element.\n- **isMovingDown(droppedElement): _boolean_** - Checks if the dragged element is moving down.\n- **dispatchChange(from: _number_, to: _number_, order: _Array<number>_, orderElements)** - Dispatches a custom event to signal that a reordering operation has occurred.\n\n### **Slots:**\n - _default_ - The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder.",
2878
+ "name": "wje-radio-group",
2879
+ "description": "This element represents a group of radio buttons.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the radio group.\n- **afterDraw()** - Adds event listeners after the component is drawn. Handles the selection of radio buttons.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getRadioByValue(value: _string_): _Radio_** - Returns the radio button with the given value.\n- **removeCheck()** - Removes the check from all radio buttons.\n- **checkRadio(radio)** - Sets the given radio button to checked.\n- **getAllElements(): _HTMLElement[]_** - Retrieves all direct child elements of the current element.\n\n### **Slots:**\n - _default_ - The default slot for the radio group.",
2889
2880
  "doc-url": "",
2890
- "attributes": [],
2881
+ "attributes": [
2882
+ { "name": "required", "value": { "type": "string" } },
2883
+ { "name": "value", "value": { "type": "string" } },
2884
+ { "name": "disabled", "value": { "type": "string" } },
2885
+ { "name": "invalid", "value": { "type": "string" } },
2886
+ { "name": "label", "value": { "type": "string" } }
2887
+ ],
2891
2888
  "slots": [
2892
2889
  {
2893
2890
  "name": "",
2894
- "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2891
+ "description": "The default slot for the radio group."
2895
2892
  }
2896
2893
  ],
2897
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2894
+ "events": [],
2898
2895
  "js": {
2899
2896
  "properties": [
2900
2897
  {
2901
- "name": "className",
2902
- "description": "The class name for the component.",
2903
- "type": "string"
2898
+ "name": "value",
2899
+ "description": "Getter for the value attribute."
2904
2900
  },
2905
- { "name": "dragEl", "type": "null" },
2906
- { "name": "items", "type": "array" },
2907
- { "name": "originalIndex", "type": "null" },
2908
- { "name": "isDragging", "type": "boolean" },
2909
- { "name": "offsetX", "type": "number" },
2910
- { "name": "offsetY", "type": "number" },
2911
- { "name": "cloneEl", "type": "null" }
2901
+ {
2902
+ "name": "required",
2903
+ "description": "Getter for the name attribute."
2904
+ },
2905
+ {
2906
+ "name": "label",
2907
+ "description": "Getter for the label attribute."
2908
+ },
2909
+ { "name": "className", "type": "string" },
2910
+ { "name": "invalid", "type": "boolean" },
2911
+ { "name": "pristine", "type": "boolean" }
2912
2912
  ],
2913
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2913
+ "events": []
2914
2914
  }
2915
2915
  },
2916
2916
  {
@@ -2937,17 +2937,14 @@
2937
2937
  }
2938
2938
  },
2939
2939
  {
2940
- "name": "wje-reorder-handle",
2941
- "description": "This element represents a reorder handle.\n---\n\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Draws the component after it is connected to the DOM.\n- **syncAria()** - Sync ARIA attributes on host.\n- **startDrag(e: _DragEvent_)** - Handles the attribute changes.\n- **startTouchDrag(e: _TouchEvent_)** - Handles the touch start event.\n- **startDragAction(clientX: _number_, clientY: _number_)** - Initiates the drag-and-drop action for a sortable element.\n- **getDraggable(): _Element|null_** - Retrieves the closest draggable element based on attribute conditions.\nIf the element has a \"parent\" attribute, the method attempts to find the closest ancestor\nmatching the CSS selector specified in the attribute. If no such ancestor exists,\nthe method defaults to returning the immediate parent element.\n- **getDropzone(element: _HTMLElement_): _HTMLElement|null_** - Retrieves the nearest dropzone element based on the element's attributes or its parent element.\n- **getClosestDropzone(clientX: _number_, clientY: _number_): _HTMLElement|null_** - Retrieves the closest dropzone element at the specified coordinates.\n- **getElementsFromPointAll(x: _number_, y: _number_, root: _Document|ShadowRoot_, visited: _Set<Node>_): _HTMLElement[]_** - Retrieves all elements at the specified coordinates, including those within shadow DOMs.\n- **reIndexItems(container: _HTMLElement_): _void_** - Re-indexes child elements of the given container by setting their dataset index.\n\n### **Slots:**\n - _default_ - The default slot for the reorder handle.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder handle.",
2940
+ "name": "wje-reorder-item",
2941
+ "description": "This element represents a reorder item.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of observed attributes.\n\n### **Slots:**\n - _default_ - The default slot for the reorder item.\n\n### **CSS Parts:**\n - **native-reorder-item** - The native part of the reorder item.\n- **handle-part** - The handle part of the reorder item when the handle slot is present.",
2942
2942
  "doc-url": "",
2943
- "attributes": [
2944
- { "name": "dropzone", "value": { "type": "string" } },
2945
- { "name": "parent", "value": { "type": "string" } }
2946
- ],
2943
+ "attributes": [],
2947
2944
  "slots": [
2948
2945
  {
2949
2946
  "name": "",
2950
- "description": "The default slot for the reorder handle."
2947
+ "description": "The default slot for the reorder item."
2951
2948
  }
2952
2949
  ],
2953
2950
  "events": [],
@@ -2963,14 +2960,17 @@
2963
2960
  }
2964
2961
  },
2965
2962
  {
2966
- "name": "wje-reorder-item",
2967
- "description": "This element represents a reorder item.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of observed attributes.\n\n### **Slots:**\n - _default_ - The default slot for the reorder item.\n\n### **CSS Parts:**\n - **native-reorder-item** - The native part of the reorder item.\n- **handle-part** - The handle part of the reorder item when the handle slot is present.",
2963
+ "name": "wje-reorder-handle",
2964
+ "description": "This element represents a reorder handle.\n---\n\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Draws the component after it is connected to the DOM.\n- **syncAria()** - Sync ARIA attributes on host.\n- **startDrag(e: _DragEvent_)** - Handles the attribute changes.\n- **startTouchDrag(e: _TouchEvent_)** - Handles the touch start event.\n- **startDragAction(clientX: _number_, clientY: _number_)** - Initiates the drag-and-drop action for a sortable element.\n- **getDraggable(): _Element|null_** - Retrieves the closest draggable element based on attribute conditions.\nIf the element has a \"parent\" attribute, the method attempts to find the closest ancestor\nmatching the CSS selector specified in the attribute. If no such ancestor exists,\nthe method defaults to returning the immediate parent element.\n- **getDropzone(element: _HTMLElement_): _HTMLElement|null_** - Retrieves the nearest dropzone element based on the element's attributes or its parent element.\n- **getClosestDropzone(clientX: _number_, clientY: _number_): _HTMLElement|null_** - Retrieves the closest dropzone element at the specified coordinates.\n- **getElementsFromPointAll(x: _number_, y: _number_, root: _Document|ShadowRoot_, visited: _Set<Node>_): _HTMLElement[]_** - Retrieves all elements at the specified coordinates, including those within shadow DOMs.\n- **reIndexItems(container: _HTMLElement_): _void_** - Re-indexes child elements of the given container by setting their dataset index.\n\n### **Slots:**\n - _default_ - The default slot for the reorder handle.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder handle.",
2968
2965
  "doc-url": "",
2969
- "attributes": [],
2966
+ "attributes": [
2967
+ { "name": "dropzone", "value": { "type": "string" } },
2968
+ { "name": "parent", "value": { "type": "string" } }
2969
+ ],
2970
2970
  "slots": [
2971
2971
  {
2972
2972
  "name": "",
2973
- "description": "The default slot for the reorder item."
2973
+ "description": "The default slot for the reorder handle."
2974
2974
  }
2975
2975
  ],
2976
2976
  "events": [],
@@ -2985,17 +2985,6 @@
2985
2985
  "events": []
2986
2986
  }
2987
2987
  },
2988
- {
2989
- "name": "wje-route",
2990
- "description": "This element represents a route in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the route.",
2991
- "doc-url": "",
2992
- "attributes": [],
2993
- "events": [],
2994
- "js": {
2995
- "properties": [{ "name": "className", "type": "string" }],
2996
- "events": []
2997
- }
2998
- },
2999
2988
  {
3000
2989
  "name": "wje-router",
3001
2990
  "description": "This element represents a router in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Sets up the router after the component is drawn.\n- **parseElement(element: _Element_): _object_** - Parses an element and returns an object representation.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.",
@@ -3019,6 +3008,17 @@
3019
3008
  "events": []
3020
3009
  }
3021
3010
  },
3011
+ {
3012
+ "name": "wje-route",
3013
+ "description": "This element represents a route in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the route.",
3014
+ "doc-url": "",
3015
+ "attributes": [],
3016
+ "events": [],
3017
+ "js": {
3018
+ "properties": [{ "name": "className", "type": "string" }],
3019
+ "events": []
3020
+ }
3021
+ },
3022
3022
  {
3023
3023
  "name": "wje-router-link",
3024
3024
  "description": "This element represents a router link in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the router link.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the router link.",
@@ -3037,13 +3037,10 @@
3037
3037
  }
3038
3038
  },
3039
3039
  {
3040
- "name": "wje-row",
3041
- "description": "This element represents a row in a layout system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the row.\n\n### **Slots:**\n - _default_ - The default slot for the row.",
3040
+ "name": "wje-router-outlet",
3041
+ "description": "This element represents a route in a routing system.\n---\n",
3042
3042
  "doc-url": "",
3043
3043
  "attributes": [],
3044
- "slots": [
3045
- { "name": "", "description": "The default slot for the row." }
3046
- ],
3047
3044
  "events": [],
3048
3045
  "js": {
3049
3046
  "properties": [
@@ -3057,54 +3054,13 @@
3057
3054
  }
3058
3055
  },
3059
3056
  {
3060
- "name": "wje-slider",
3061
- "description": "Represents a slider component that extends the WJElement class.\nThis slider supports features such as min, max, step values, bubble display, and event handling.\nIt offers both getter and setter methods for its attributes and dynamically handles rendering and updates.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the slider.\n- **afterDraw(): _void_** - Handles the post-rendering logic for a custom slider component. This method performs the following tasks:\n- Sets the position of the handle.\n- Displays a bubble indicator with the current value, if the slider has a \"bubble\" attribute.\n- Dispatches initialization, movement, and change custom events for the slider input element.\n- Updates the bubble position and value dynamically on input changes.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getPercentage(min: _number_, max: _number_, value: _number_): _number_** - Calculates the percentage of a value within a given range.",
3062
- "doc-url": "",
3063
- "attributes": [
3064
- { "name": "max", "value": { "type": "string" } },
3065
- { "name": "min", "value": { "type": "string" } },
3066
- { "name": "step", "value": { "type": "string" } },
3067
- { "name": "value", "value": { "type": "string" } },
3068
- { "name": "disabled", "value": { "type": "string" } },
3069
- { "name": "bubble", "value": { "type": "string" } }
3070
- ],
3071
- "events": [],
3072
- "js": {
3073
- "properties": [
3074
- {
3075
- "name": "value",
3076
- "description": "Returns the value of the slider."
3077
- },
3078
- {
3079
- "name": "min",
3080
- "description": "Returns the minimum value of the slider."
3081
- },
3082
- {
3083
- "name": "max",
3084
- "description": "Returns the maximum value of the slider."
3085
- },
3086
- {
3087
- "name": "step",
3088
- "description": "Returns the step value of the slider."
3089
- },
3090
- { "name": "className", "type": "string" },
3091
- {
3092
- "name": "setHandlePosition",
3093
- "description": "Sets the handle position of the slider."
3094
- },
3095
- {
3096
- "name": "setBubble",
3097
- "description": "Updates the position and content of a bubble element based on the input value.\n\nThis function calculates the position of the bubble using the percentage representation\nof the input's current value relative to its minimum and maximum bounds. It then adjusts\nthe bubble's left position dynamically for aesthetic purposes and updates its displayed\ncontent to reflect the current input value.\n\nThe function relies on the following elements:\n- `this.input`: Represents the input element with properties `min`, `max`, and `value`.\n- `this.output`: Represents the bubble element to be positioned and updated.\n\nThe left positioning of the bubble ensures precise alignment with the input value indicator."
3098
- }
3099
- ],
3100
- "events": []
3101
- }
3102
- },
3103
- {
3104
- "name": "wje-router-outlet",
3105
- "description": "This element represents a route in a routing system.\n---\n",
3057
+ "name": "wje-row",
3058
+ "description": "This element represents a row in a layout system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the row.\n\n### **Slots:**\n - _default_ - The default slot for the row.",
3106
3059
  "doc-url": "",
3107
3060
  "attributes": [],
3061
+ "slots": [
3062
+ { "name": "", "description": "The default slot for the row." }
3063
+ ],
3108
3064
  "events": [],
3109
3065
  "js": {
3110
3066
  "properties": [
@@ -3223,26 +3179,6 @@
3223
3179
  "events": []
3224
3180
  }
3225
3181
  },
3226
- {
3227
- "name": "wje-split-view",
3228
- "description": "This element represents a split view.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the split view.\n- **afterDraw()** - Sets up the event listeners after the component is drawn.\n- **detectSize()** - Detects the size of the split view.\n- **pixelsToPercentage(value: _number_): _number_** - Converts pixels to a percentage.\n\n### **Slots:**\n - **start** - Slot for the start view.\n- **end** - Slot for the end view.\n- **divider** - Slot for the divider.\n\n### **CSS Properties:**\n - **--wje-split-view-divider-area** - Defines the interactive area (hitbox) of the divider for resizing. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`). _(default: 12px)_\n- **--wje-split-view-divider-width** - Specifies the visual width of the divider. Controls how thick the divider appears. _(default: 4px)_\n- **--wje-split-view-min** - Sets the minimum size limit for the split views. Ensures that a view cannot be resized below this value. _(default: 0%)_\n- **--wje-split-view-max** - Sets the maximum size limit for the split views. Ensures that a view cannot be resized beyond this value. _(default: 100%)_\n- **--wje-split-view-calc-a** - Represents the calculated size of the first view. This is used to dynamically set the size of the first view. _(default: 50%)_\n- **--wje-split-view-calc-b** - Represents the calculated size of the second view. This is used to dynamically set the size of the second view. _(default: 50%)_\n- **--wje-split-view-clamp-a** - Clamps the size of the first view between minimum and maximum limits. Ensures the calculated size stays within the defined range. _(default: clamp(var(--wje-split-view-min), var(--wje-split-view-calc-a), var(--wje-split-view-max)))_\n- **--wje-split-view-clamp-b** - Clamps the size of the second view between minimum and maximum limits. Ensures the calculated size stays within the defined range. _(default: clamp(var(--wje-split-view-min), var(--wje-split-view-calc-b), var(--wje-split-view-max)))_\n- **--wje-split-view-divider-background** - Sets the background color of the divider. Accepts any valid CSS color value (e.g., hex, RGB, or CSS variable). _(default: var(--wje-border-color))_\n- **--wje-split-view-divider-size** - Defines the overall size of the divider, affecting both its visual and interactive dimensions. Accepts any valid CSS length unit. _(default: 4px)_\n\n### **CSS Parts:**\n - **wje-divider** - The divider of the split view.",
3229
- "doc-url": "",
3230
- "attributes": [],
3231
- "slots": [
3232
- { "name": "start", "description": "Slot for the start view." },
3233
- { "name": "end", "description": "Slot for the end view." },
3234
- { "name": "divider", "description": "Slot for the divider." }
3235
- ],
3236
- "events": [],
3237
- "js": {
3238
- "properties": [
3239
- { "name": "initial" },
3240
- { "name": "className", "type": "string" },
3241
- { "name": "handleDrag", "description": "Handles the drag event." }
3242
- ],
3243
- "events": []
3244
- }
3245
- },
3246
3182
  {
3247
3183
  "name": "wje-sliding-container",
3248
3184
  "description": "SlidingContainer is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Executes before drawing the element.\n- **afterDisconnect()** - Cleans up global listeners and portaled layers.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Performs actions after the element is drawn on the screen.\nAttaches an event listener to the document based on the specified trigger.\nSets the variant to \"over\" if the document width is smaller than the screen break point.\nCalls the checkForVariant method with the current variant.\n- **isBottomSheet(): _boolean_** - Returns whether the mobile bottom sheet presentation is active.\n- **addBackdropListeners(backdrop: _HTMLElement_)** - Adds interaction listeners to a backdrop element.\n- **removeBackdropListeners(backdrop: _HTMLElement_)** - Removes interaction listeners from a backdrop element.\n- **isBackdropElement(element: _EventTarget|null_): _boolean_** - Checks whether an element is one of this component's backdrop layers.\n- **getBackdropElement({ createPortal = false }, options: _@param {boolean} options.createPortal Creates the body-level mobile backdrop when needed.\n * _): _HTMLElement|null_** - Gets the backdrop element that is active for the current presentation.\n- **ensurePortalBackdrop(): _HTMLElement_** - Creates the body-level backdrop used by mobile bottom sheets.\n- **removePortalBackdrop()** - Removes the body-level mobile backdrop.\n- **getPortalBackdropZIndex(): _string_** - Gets the full-page z-index for the body-level mobile backdrop.\n- **getBackdropOpenOpacity(): _string_** - Gets the target opacity for the active mobile backdrop.\n- **syncPortalBackdropStyles()** - Syncs visual styles from the component to the body-level backdrop.\n- **syncAria()** - Sync ARIA attributes on host.\n- **htmlCloseButton(): _HTMLElement_** - Creates and returns a styled close button element with an icon,\nincluding an event listener to trigger the close method.\n- **htmlSheetHandle(): _HTMLElement_** - Creates the mobile bottom sheet resize handle.\n- **getParentElement(): _Element|null_** - Retrieves the parent element of the current element.\nIf the parent element is not found, it attempts to find the root host element.\n- **getClosestComposedElement(selector: _string_): _Element|null_** - Finds the closest element across shadow DOM boundaries.\n- **getViewportFrame(): _{top: number, left: number, right: number, bottom: number, width: number, height: number}_** - Returns the viewport frame.\n- **getBottomSheetScopeElement(): _Element|null_** - Returns the element that bounds the mobile bottom sheet panel.\n- **getBottomSheetScopeFrame(): _{top: number, left: number, right: number, bottom: number, width: number, height: number}_** - Returns the frame used by the mobile bottom sheet panel.\n- **setBottomSheetLayerFrame(element: _HTMLElement|SlidingContainer_, frame: _object_)** - Applies a fixed frame to a bottom sheet layer.\n- **resetBottomSheetLayerFrame(element: _HTMLElement|SlidingContainer_)** - Removes fixed frame styles from a bottom sheet layer.\n- **checkForVariant(variant: _string_): _void_** - Adjusts the position and dimensions of the current element based on the specified variant.\n\nThe method handles modifications to the element's positioning style, aligns it relative to its parent,\nand manages alignment to its siblings based on the specified direction.\n- **setBottomSheetVariant()** - Applies the mobile bottom sheet layout.\n- **resetBottomSheetVariant()** - Removes layout styles managed by the mobile bottom sheet mode.\n- **setBottomSheetVisualState(isOpen: _boolean_)** - Applies the current visual open or closed state to the mobile bottom sheet.\n- **getSheetMaxHeight(): _string_** - Gets the CSS height limit used for the mobile bottom sheet.\n- **setSheetHeight()** - Applies the configured bottom sheet opening height.\n- **getSheetMinHeightInPixels(): _number_** - Resolves the sheet minimum height in pixels.\n- **getSheetMaxHeightInPixels(): _number_** - Resolves the sheet maximum height in pixels.\n- **getBottomSheetAvailableHeight(): _number_** - Returns available height for the bottom sheet scope.\n- **resolveCssHeight(value: _string_, fallback: _number_): _number_** - Resolves a CSS height value against the viewport.\n- **clamp(value: _number_, min: _number_, max: _number_): _number_** - Clamps a number between min and max.\n- **isSheetHandleEvent(e: _Event_): _boolean_** - Checks whether an event came from the resize handle.\n- **isEventInsideSheet(e: _Event_): _boolean_** - Checks whether an event happened inside the visible bottom sheet.\n- **startSheetDrag(pointerId: _number|string_, startY: _number_)** - Stores the initial drag state for the mobile bottom sheet.\n- **updateSheetDrag(clientY: _number_)** - Applies a new height while the bottom sheet is being dragged.\n- **endSheetDrag()** - Cleans up mobile bottom sheet resizing listeners.\n- **beforeOpen(e)** - Executes before the element is opened.\n- **afterOpen(e)** - Callback function called after the element is opened.\n- **beforeClose(e)** - Executes before closing the element.\n- **afterClose(e)** - Callback function that is called after the container is closed.\n- **doAnimateTransition(): _Promise<void>_** - Animates the transition of elements with specified options, toggling the visibility and/or dimensions\nof the associated elements based on their current state.\n\nThis method handles both forward and reverse animations for two elements (`transparentDiv` and `nativeElement`)\nwith optional opacity changes. It ensures smooth transitioning by canceling any previous animations on the provided\nelements before initiating a new animation sequence.\n- **doAnimateBottomSheetTransition(options: _object_): _Promise<void>_** - Animates the mobile bottom sheet and its backdrop.\n- **open(e: _Event_): _Promise<void>_** - Opens the sliding container by performing necessary preparatory and transitional operations.\n- **close(e: _Event_): _Promise<void>_** - Closes the sliding container and performs associated operations such as animations and event dispatches.\n- **setBottomSheetClosedState()** - Forces the closed visual state for the mobile bottom sheet.\n- **toggle(e: _Event_): _Promise<void>_** - Toggles the state between open and closed.\n- **componentCleanup(): _void_** - Cleans up resources associated with the component by disconnecting\nthe resize observer and setting it to null.\n\n### **Slots:**\n - _default_ - The default slot for the SlidingContainer.\n\n### **CSS Properties:**\n - **--wje-sliding-container-background** - Background of the sliding panel. _(default: var(--wje-background))_\n- **--wje-sliding-container-z-index** - z-index of the side sliding container. _(default: 1000)_\n- **--wje-sliding-container-bottom-sheet-z-index** - z-index of the mobile bottom sheet host. _(default: var(--wje-sliding-container-z-index, 1000))_\n- **--wje-sliding-container-bottom-sheet-backdrop-z-index** - z-index of the mobile bottom sheet backdrop inside the host layer. _(default: 0)_\n- **--wje-sliding-container-bottom-sheet-panel-z-index** - z-index of the mobile bottom sheet panel inside the host layer. _(default: 1)_\n- **--wje-sliding-container-portal-backdrop-z-index** - z-index of the body-level mobile bottom sheet backdrop. _(default: undefined)_\n- **--wje-sliding-container-backdrop-background** - Background of the mobile bottom sheet backdrop. _(default: var(--wje-backdrop))_\n- **--wje-sliding-container-backdrop-opacity** - Backdrop opacity while the mobile bottom sheet is open. _(default: 1)_\n- **--wje-sliding-container-box-shadow** - Shadow of the mobile bottom sheet panel. _(default: var(--wje-sliding-container-shadow))_\n- **--wje-sliding-container-sheet-border-radius** - Border radius of the mobile bottom sheet panel. _(default: var(--wje-sliding-container-border-radius) var(--wje-sliding-container-border-radius) 0 0)_\n- **--wje-sliding-container-sheet-handle-area-height** - Height of the resize handle hit area. _(default: 24px)_\n- **--wje-sliding-container-sheet-handle-width** - Width of the visible resize handle. _(default: 36px)_\n- **--wje-sliding-container-sheet-handle-height** - Height of the visible resize handle. _(default: 2px)_\n- **--wje-sliding-container-sheet-handle-background** - Background of the visible resize handle. _(default: var(--wje-border-color))_\n- **--wje-sliding-container-sheet-handle-radius** - Border radius of the visible resize handle. _(default: 999px)_\n\n### **CSS Parts:**\n - **backdrop** - Styles the mobile bottom sheet backdrop.\n- **sliding-container** - Styles the native sliding panel.\n- **close-button** - Styles the generated close button.\n- **sheet-handle-area** - Styles the draggable resize handle hit area.\n- **sheet-handle** - Styles the visible draggable resize handle.",
@@ -3488,6 +3424,50 @@
3488
3424
  "events": []
3489
3425
  }
3490
3426
  },
3427
+ {
3428
+ "name": "wje-slider",
3429
+ "description": "Represents a slider component that extends the WJElement class.\nThis slider supports features such as min, max, step values, bubble display, and event handling.\nIt offers both getter and setter methods for its attributes and dynamically handles rendering and updates.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the slider.\n- **afterDraw(): _void_** - Handles the post-rendering logic for a custom slider component. This method performs the following tasks:\n- Sets the position of the handle.\n- Displays a bubble indicator with the current value, if the slider has a \"bubble\" attribute.\n- Dispatches initialization, movement, and change custom events for the slider input element.\n- Updates the bubble position and value dynamically on input changes.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getPercentage(min: _number_, max: _number_, value: _number_): _number_** - Calculates the percentage of a value within a given range.",
3430
+ "doc-url": "",
3431
+ "attributes": [
3432
+ { "name": "max", "value": { "type": "string" } },
3433
+ { "name": "min", "value": { "type": "string" } },
3434
+ { "name": "step", "value": { "type": "string" } },
3435
+ { "name": "value", "value": { "type": "string" } },
3436
+ { "name": "disabled", "value": { "type": "string" } },
3437
+ { "name": "bubble", "value": { "type": "string" } }
3438
+ ],
3439
+ "events": [],
3440
+ "js": {
3441
+ "properties": [
3442
+ {
3443
+ "name": "value",
3444
+ "description": "Returns the value of the slider."
3445
+ },
3446
+ {
3447
+ "name": "min",
3448
+ "description": "Returns the minimum value of the slider."
3449
+ },
3450
+ {
3451
+ "name": "max",
3452
+ "description": "Returns the maximum value of the slider."
3453
+ },
3454
+ {
3455
+ "name": "step",
3456
+ "description": "Returns the step value of the slider."
3457
+ },
3458
+ { "name": "className", "type": "string" },
3459
+ {
3460
+ "name": "setHandlePosition",
3461
+ "description": "Sets the handle position of the slider."
3462
+ },
3463
+ {
3464
+ "name": "setBubble",
3465
+ "description": "Updates the position and content of a bubble element based on the input value.\n\nThis function calculates the position of the bubble using the percentage representation\nof the input's current value relative to its minimum and maximum bounds. It then adjusts\nthe bubble's left position dynamically for aesthetic purposes and updates its displayed\ncontent to reflect the current input value.\n\nThe function relies on the following elements:\n- `this.input`: Represents the input element with properties `min`, `max`, and `value`.\n- `this.output`: Represents the bubble element to be positioned and updated.\n\nThe left positioning of the bubble ensures precise alignment with the input value indicator."
3466
+ }
3467
+ ],
3468
+ "events": []
3469
+ }
3470
+ },
3491
3471
  {
3492
3472
  "name": "wje-status",
3493
3473
  "description": "This class represents Status element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the status.\n\n### **Slots:**\n - _default_ - The status main content.\n- **start** - The status start content.\n- **end** - The status end content.\n\n### **CSS Parts:**\n - **native** - The native part of the status.\n- **bullet** - The bullet part of the status.",
@@ -3510,6 +3490,26 @@
3510
3490
  "events": []
3511
3491
  }
3512
3492
  },
3493
+ {
3494
+ "name": "wje-split-view",
3495
+ "description": "This element represents a split view.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the split view.\n- **afterDraw()** - Sets up the event listeners after the component is drawn.\n- **detectSize()** - Detects the size of the split view.\n- **pixelsToPercentage(value: _number_): _number_** - Converts pixels to a percentage.\n\n### **Slots:**\n - **start** - Slot for the start view.\n- **end** - Slot for the end view.\n- **divider** - Slot for the divider.\n\n### **CSS Properties:**\n - **--wje-split-view-divider-area** - Defines the interactive area (hitbox) of the divider for resizing. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`). _(default: 12px)_\n- **--wje-split-view-divider-width** - Specifies the visual width of the divider. Controls how thick the divider appears. _(default: 4px)_\n- **--wje-split-view-min** - Sets the minimum size limit for the split views. Ensures that a view cannot be resized below this value. _(default: 0%)_\n- **--wje-split-view-max** - Sets the maximum size limit for the split views. Ensures that a view cannot be resized beyond this value. _(default: 100%)_\n- **--wje-split-view-calc-a** - Represents the calculated size of the first view. This is used to dynamically set the size of the first view. _(default: 50%)_\n- **--wje-split-view-calc-b** - Represents the calculated size of the second view. This is used to dynamically set the size of the second view. _(default: 50%)_\n- **--wje-split-view-clamp-a** - Clamps the size of the first view between minimum and maximum limits. Ensures the calculated size stays within the defined range. _(default: clamp(var(--wje-split-view-min), var(--wje-split-view-calc-a), var(--wje-split-view-max)))_\n- **--wje-split-view-clamp-b** - Clamps the size of the second view between minimum and maximum limits. Ensures the calculated size stays within the defined range. _(default: clamp(var(--wje-split-view-min), var(--wje-split-view-calc-b), var(--wje-split-view-max)))_\n- **--wje-split-view-divider-background** - Sets the background color of the divider. Accepts any valid CSS color value (e.g., hex, RGB, or CSS variable). _(default: var(--wje-border-color))_\n- **--wje-split-view-divider-size** - Defines the overall size of the divider, affecting both its visual and interactive dimensions. Accepts any valid CSS length unit. _(default: 4px)_\n\n### **CSS Parts:**\n - **wje-divider** - The divider of the split view.",
3496
+ "doc-url": "",
3497
+ "attributes": [],
3498
+ "slots": [
3499
+ { "name": "start", "description": "Slot for the start view." },
3500
+ { "name": "end", "description": "Slot for the end view." },
3501
+ { "name": "divider", "description": "Slot for the divider." }
3502
+ ],
3503
+ "events": [],
3504
+ "js": {
3505
+ "properties": [
3506
+ { "name": "initial" },
3507
+ { "name": "className", "type": "string" },
3508
+ { "name": "handleDrag", "description": "Handles the drag event." }
3509
+ ],
3510
+ "events": []
3511
+ }
3512
+ },
3513
3513
  {
3514
3514
  "name": "wje-step",
3515
3515
  "description": "This element represents a step.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of observed attributes.\n\n### **Slots:**\n - _default_ - The default slot for the step.\n\n### **CSS Parts:**\n - **native** - The native part of the step.",
@@ -3584,6 +3584,37 @@
3584
3584
  ]
3585
3585
  }
3586
3586
  },
3587
+ {
3588
+ "name": "wje-tab",
3589
+ "description": "This element represents a tab.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab.\n- **afterDraw()** - Sets up event listeners after the component is rendered.\n//\n- **syncAriaLabel()** - Sync aria-label on host based on slotted text when not provided.\n- **setRovingTabIndex(value: _number_)** - Sets the roving tabindex on the internal focusable anchor.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **CSS Properties:**\n - **--wje-tab-text-transform** - The text transformation for the tab (e.g., uppercase, lowercase). _(default: uppercase)_\n- **--wje-tab-font-weight** - The font weight of the tab text. _(default: 500)_\n- **--wje-tab-letter-spacing** - The letter spacing of the tab text. _(default: 0.06em)_\n- **--wje-tab-padding-inline** - The horizontal padding of the tab. _(default: 1rem)_\n- **--wje-tab-padding-top** - The top padding of the tab text. _(default: .75rem)_\n- **--wje-tab-padding-bottom** - The bottom padding of the tab text. _(default: .75rem)_\n- **--wje-tab-color-active** - The text color of the active tab. _(default: var(--wje-color-primary-11))_\n- **--wje-tab-color-hover** - The text color of the tab when hovered. //@fires wje-tab:change - Dispatched when the tab is changed. _(default: var(--wje-color-primary-1))_",
3590
+ "doc-url": "",
3591
+ "attributes": [],
3592
+ "events": [],
3593
+ "js": {
3594
+ "properties": [
3595
+ {
3596
+ "name": "panel",
3597
+ "description": "Retrieves the value of the 'panel' attribute of the element."
3598
+ },
3599
+ {
3600
+ "name": "route",
3601
+ "description": "Retrieves the value of the 'route' attribute.\nIf the 'route' attribute is not set, it returns null."
3602
+ },
3603
+ {
3604
+ "name": "className",
3605
+ "description": "The class name for the component.",
3606
+ "type": "string"
3607
+ },
3608
+ {
3609
+ "name": "last",
3610
+ "description": "Indicates whether this is the last tab.",
3611
+ "type": "boolean"
3612
+ },
3613
+ { "name": "_hasPanel", "type": "boolean" }
3614
+ ],
3615
+ "events": []
3616
+ }
3617
+ },
3587
3618
  {
3588
3619
  "name": "wje-tab-group",
3589
3620
  "description": "This element represents a group of tabs.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Sets up the event listeners before the component is drawn.\nThis method is called before the component is drawn.\nIt is used to set up event listeners.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing a structured layout for a tab group.\nThe tab group layout includes a `header` section with navigational elements,\na `section` element for tab panels, and slots for customization such as additional navigation items,\ndropdowns, and more.\nThe structure comprises:\n- A `div` container with relevant styling and part attributes.\n- A `header` for tabs, including a slot for navigation (`nav`) and additional tabs in a dropdown (`moreDropdown`).\n- A `section` for tab panels with a customizable `slot`.\nThis function also initializes the `nav` and `moreDropdown` properties for external use.\n- **afterDraw(): _void_** - Executes necessary initializations and attaches event listeners after a drawing operation.\nHandles active tab selection, 'wje-tab:change' event binding, and window resize event for overflow checking.\n- **removeActiveTab(): _void_** - Removes the 'active' class from all panel and tab elements.\n- **setActiveTab(tab: _string_)** - Sets the active tab and panel.\n- **getActiveTab(): _Element|null_** - Returns the currently active tab.\n- **getTabAll(): _Array<Element>_** - Returns all tabs.\n- **getAllTabs(): _Array<Element>_** - Returns all tabs, including those moved to \"more\".\n- **getPanelAll(): _Array<Element>_** - Returns all panels.\n- **getPanelAllName(): _Array<string>_** - Returns the names of all tabs.\n- **toggleMoreVisibility(): _void_** - Toggles the visibility of the \"more\" dropdown based on the presence of tabs in the \"more\" slot.\n- **initTabMetrics(): _void_** - Initializes metrics for tabs within the component. Assigns each tab to the navigation slot\nand calculates their dimensions for further operations.\n- **measureTabMetrics(): _Array<{el: Element, width: number}>_** - Measures current tab widths while all tabs are temporarily placed into the main nav slot.\n- **measureMoreWidth(): _void_** - Stores the measured width of the more dropdown trigger when available.\n- **checkOverflow(): _void_** - Checks if the tabs within a navigation bar overflow the available space.\nMoves overflowing tabs into a dropdown menu and updates their state accordingly.\n- **dropdownActive(el: _HTMLElement_): _void_** - Toggles the \"dropdown-active\" class on the element based on its \"active\" status\nand the value of its \"slot\" attribute.\n- **syncAria()** - Syncs ARIA attributes on tabs and panels.\n\n### **Slots:**\n - _default_ - The default slot for the tab group.\n- **nav** - Slot for the navigation of the tab group.\n\n### **CSS Properties:**\n - **--wje-tab-group-padding** - Specifies the padding inside the tab group. This property defines the space between the content of the tab group and its outer boundary. Accepts any valid CSS length unit (e.g., `px`, `rem`, `em`, `%`). _(default: 1rem)_",
@@ -3619,32 +3650,21 @@
3619
3650
  }
3620
3651
  },
3621
3652
  {
3622
- "name": "wje-tab",
3623
- "description": "This element represents a tab.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab.\n- **afterDraw()** - Sets up event listeners after the component is rendered.\n//\n- **syncAriaLabel()** - Sync aria-label on host based on slotted text when not provided.\n- **setRovingTabIndex(value: _number_)** - Sets the roving tabindex on the internal focusable anchor.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **CSS Properties:**\n - **--wje-tab-text-transform** - The text transformation for the tab (e.g., uppercase, lowercase). _(default: uppercase)_\n- **--wje-tab-font-weight** - The font weight of the tab text. _(default: 500)_\n- **--wje-tab-letter-spacing** - The letter spacing of the tab text. _(default: 0.06em)_\n- **--wje-tab-padding-inline** - The horizontal padding of the tab. _(default: 1rem)_\n- **--wje-tab-padding-top** - The top padding of the tab text. _(default: .75rem)_\n- **--wje-tab-padding-bottom** - The bottom padding of the tab text. _(default: .75rem)_\n- **--wje-tab-color-active** - The text color of the active tab. _(default: var(--wje-color-primary-11))_\n- **--wje-tab-color-hover** - The text color of the tab when hovered. //@fires wje-tab:change - Dispatched when the tab is changed. _(default: var(--wje-color-primary-1))_",
3653
+ "name": "wje-tab-panel",
3654
+ "description": "This element represents a tab panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab panel.\n\n### **Slots:**\n - _default_ - The default slot for the tab panel.",
3624
3655
  "doc-url": "",
3625
3656
  "attributes": [],
3657
+ "slots": [
3658
+ { "name": "", "description": "The default slot for the tab panel." }
3659
+ ],
3626
3660
  "events": [],
3627
3661
  "js": {
3628
3662
  "properties": [
3629
- {
3630
- "name": "panel",
3631
- "description": "Retrieves the value of the 'panel' attribute of the element."
3632
- },
3633
- {
3634
- "name": "route",
3635
- "description": "Retrieves the value of the 'route' attribute.\nIf the 'route' attribute is not set, it returns null."
3636
- },
3637
3663
  {
3638
3664
  "name": "className",
3639
3665
  "description": "The class name for the component.",
3640
3666
  "type": "string"
3641
- },
3642
- {
3643
- "name": "last",
3644
- "description": "Indicates whether this is the last tab.",
3645
- "type": "boolean"
3646
- },
3647
- { "name": "_hasPanel", "type": "boolean" }
3667
+ }
3648
3668
  ],
3649
3669
  "events": []
3650
3670
  }
@@ -3696,19 +3716,22 @@
3696
3716
  }
3697
3717
  },
3698
3718
  {
3699
- "name": "wje-tab-panel",
3700
- "description": "This element represents a tab panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab panel.\n\n### **Slots:**\n - _default_ - The default slot for the tab panel.",
3719
+ "name": "wje-thumbnail",
3720
+ "description": "Thumbnail class\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the thumbnail.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - **thumbnail-slot** - The slot for the thumbnail content.\n\n### **CSS Properties:**\n - **--wje-thumbnail-width** - Defines the width of the thumbnail. Accepts any valid CSS length unit such as `px`, `rem`, or `%`. _(default: 48px)_\n- **--wje-thumbnail-height** - Specifies the height of the thumbnail. Accepts any valid CSS length unit. _(default: 48px)_\n- **--wje-thumbnail-border-radius** - Sets the border radius of the thumbnail, determining how rounded its corners appear. Accepts any valid CSS length unit or CSS variable. _(default: var(--wje-border-radius-medium))_",
3701
3721
  "doc-url": "",
3702
3722
  "attributes": [],
3703
3723
  "slots": [
3704
- { "name": "", "description": "The default slot for the tab panel." }
3724
+ {
3725
+ "name": "thumbnail-slot",
3726
+ "description": "The slot for the thumbnail content."
3727
+ }
3705
3728
  ],
3706
3729
  "events": [],
3707
3730
  "js": {
3708
3731
  "properties": [
3709
3732
  {
3710
3733
  "name": "className",
3711
- "description": "The class name for the component.",
3734
+ "description": "The class name for the component",
3712
3735
  "type": "string"
3713
3736
  }
3714
3737
  ],
@@ -3736,14 +3759,18 @@
3736
3759
  }
3737
3760
  },
3738
3761
  {
3739
- "name": "wje-thumbnail",
3740
- "description": "Thumbnail class\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the thumbnail.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - **thumbnail-slot** - The slot for the thumbnail content.\n\n### **CSS Properties:**\n - **--wje-thumbnail-width** - Defines the width of the thumbnail. Accepts any valid CSS length unit such as `px`, `rem`, or `%`. _(default: 48px)_\n- **--wje-thumbnail-height** - Specifies the height of the thumbnail. Accepts any valid CSS length unit. _(default: 48px)_\n- **--wje-thumbnail-border-radius** - Sets the border radius of the thumbnail, determining how rounded its corners appear. Accepts any valid CSS length unit or CSS variable. _(default: var(--wje-border-radius-medium))_",
3762
+ "name": "wje-timeline-item",
3763
+ "description": "This element represents a timeline item.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the timeline item.\n\n### **Slots:**\n - _default_ - Slot for the content of the timeline item.\n- **status** - Slot for the status of the timeline item.\n\n### **CSS Parts:**\n - **native** - The native part of the timeline item.\n- **content-container** - The content container part of the timeline item.\n- **default-icon** - The default icon part of the timeline item.",
3741
3764
  "doc-url": "",
3742
3765
  "attributes": [],
3743
3766
  "slots": [
3744
3767
  {
3745
- "name": "thumbnail-slot",
3746
- "description": "The slot for the thumbnail content."
3768
+ "name": "",
3769
+ "description": "Slot for the content of the timeline item."
3770
+ },
3771
+ {
3772
+ "name": "status",
3773
+ "description": "Slot for the status of the timeline item."
3747
3774
  }
3748
3775
  ],
3749
3776
  "events": [],
@@ -3751,7 +3778,7 @@
3751
3778
  "properties": [
3752
3779
  {
3753
3780
  "name": "className",
3754
- "description": "The class name for the component",
3781
+ "description": "Returns the class name of the tab.",
3755
3782
  "type": "string"
3756
3783
  }
3757
3784
  ],
@@ -3759,28 +3786,39 @@
3759
3786
  }
3760
3787
  },
3761
3788
  {
3762
- "name": "wje-timeline-item",
3763
- "description": "This element represents a timeline item.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the timeline item.\n\n### **Slots:**\n - _default_ - Slot for the content of the timeline item.\n- **status** - Slot for the status of the timeline item.\n\n### **CSS Parts:**\n - **native** - The native part of the timeline item.\n- **content-container** - The content container part of the timeline item.\n- **default-icon** - The default icon part of the timeline item.",
3789
+ "name": "wje-toggle",
3790
+ "description": "This element represents a toggle input.\n---\n\n\n### **Methods:**\n - **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Removes the event listener when the checkbox is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the toggle.\n\n### **CSS Properties:**\n - **--wje-toggle-color-base** - The base background color of the toggle. Defines the default background color when the toggle is in an unselected state. _(default: var(--wje-color-contrast-3))_\n- **--wje-toggle-width** - The overall width of the toggle switch. Determines how wide the toggle component appears. _(default: 30px)_\n- **--wje-toggle-height** - The overall height of the toggle switch. Specifies how tall the toggle component appears. _(default: 18px)_\n- **--wje-toggle-border-radius** - The border radius of the toggle. Controls how rounded the corners of the toggle are. _(default: 50px)_\n- **--wje-toggle-handle-width** - The width of the toggle handle (knob). Determines the size of the handle for user interaction. _(default: 14px)_\n- **--wje-toggle-handle-height** - The height of the toggle handle (knob). Specifies the vertical size of the handle. _(default: 14px)_\n- **--wje-toggle-handle-border-radius** - The border radius of the toggle handle. Controls how rounded the handle is. _(default: 9px)_\n- **--wje-toggle-handle-color** - The color of the toggle handle. Accepts any valid CSS color, such as `hex`, `rgb`, or `css variable`. _(default: #fff)_\n- **--wje-toggle-handle-shadow** - The shadow applied to the toggle handle. Adds a subtle shadow effect for better visual clarity. _(default: 1px 0 1px 0.5px rgba(0,0,0,0.12), 2px 4px 6px rgba(0,0,0,0.2))_\n- **--wje-toggle-handle-shadow-checked** - The shadow applied to the toggle handle when it is in the checked (on) state. Provides visual feedback to indicate the toggle state. _(default: 1px 1px 0 rgba(0,0,0,0.08), -3px 3px 6px rgba(0,0,0,0.3))_\n- **--wje-toggle-duration** - The duration of the toggle animation in milliseconds. Controls how long the toggle animation lasts during state changes. _(default: 250ms)_\n- **--wje-toggle-curve** - The easing curve used for the toggle animation. Defines the speed curve for the animation, enhancing the user experience with smooth transitions. _(default: cubic-bezier(.4,0,.2,1))_\n\n### **CSS Parts:**\n - **native** - The native toggle wrapper.\n- **input** - The toggle input.\n- **toggle** - The toggle part.",
3764
3791
  "doc-url": "",
3765
- "attributes": [],
3792
+ "attributes": [
3793
+ { "name": "checked", "value": { "type": "string" } },
3794
+ { "name": "disabled", "value": { "type": "string" } },
3795
+ { "name": "required", "value": { "type": "string" } }
3796
+ ],
3766
3797
  "slots": [
3767
- {
3768
- "name": "",
3769
- "description": "Slot for the content of the timeline item."
3770
- },
3771
- {
3772
- "name": "status",
3773
- "description": "Slot for the status of the timeline item."
3774
- }
3798
+ { "name": "", "description": "The default slot for the toggle." }
3775
3799
  ],
3776
3800
  "events": [],
3777
3801
  "js": {
3778
3802
  "properties": [
3779
3803
  {
3780
- "name": "className",
3781
- "description": "Returns the class name of the tab.",
3782
- "type": "string"
3783
- }
3804
+ "name": "value",
3805
+ "description": "Getter for the value attribute."
3806
+ },
3807
+ {
3808
+ "name": "customErrorDisplay",
3809
+ "description": "Getter for the customErrorDisplay attribute."
3810
+ },
3811
+ {
3812
+ "name": "validateOnChange",
3813
+ "description": "Getter for the validateOnChange attribute."
3814
+ },
3815
+ {
3816
+ "name": "defaultValue",
3817
+ "description": "Getter for the defaultValue attribute.\nThis method retrieves the 'value' attribute of the custom input element.\nThe 'value' attribute represents the default value of the input element.\nIf the 'value' attribute is not set, it returns an empty string."
3818
+ },
3819
+ { "name": "checked", "description": "Get checked attribute." },
3820
+ { "name": "invalid", "type": "boolean" },
3821
+ { "name": "pristine", "type": "boolean" }
3784
3822
  ],
3785
3823
  "events": []
3786
3824
  }
@@ -3913,16 +3951,19 @@
3913
3951
  }
3914
3952
  },
3915
3953
  {
3916
- "name": "wje-toolbar",
3917
- "description": "This element represents a toolbar.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the toolbar.\n- **afterDraw()** - Initializes responsive layout observers.\n- **afterDisconnect()** - Cleans up responsive layout observers.\n- **syncAria()** - Sync ARIA attributes on host.\n- **scheduleResponsiveLayout()** - Schedules responsive layout recalculation.\n- **updateResponsiveLayout(): _Promise<void>_** - Updates slotted breadcrumbs and actions to fit the toolbar width.\n- **measureBreadcrumbs(breadcrumbs: _HTMLElement_): _Promise<{count: number, fullWidth: number, compactWidth: number}>_** - Measures breadcrumbs in their full state.\n- **ensureBreadcrumbState(breadcrumbs: _HTMLElement_, count: _number_): _{compactMaxItems: number}_** - Stores original breadcrumb settings used as responsive compact target.\n- **setBreadcrumbCompactState(breadcrumbs: _HTMLElement|null_, compact: _boolean_)** - Applies the compact or full breadcrumb state.\n- **setBreadcrumbMaxItems(breadcrumbs: _HTMLElement_, value: _number_)** - Sets breadcrumb max-items only when it changed.\n- **getVisibleActionsForWidth(actionMetrics: _object_, width: _number_): _number_** - Finds how many actions fit into the available width.\n- **setVisibleActions(action: _HTMLElement|null_, count: _number_)** - Applies visible action count.\n- **clearVisibleActions(action: _HTMLElement|null_)** - Clears toolbar-managed visible action state when actions manage themselves.\n- **getToolbarAction(): _HTMLElement|null_** - Returns the slotted toolbar action.\n- **getBreadcrumbs(): _HTMLElement|null_** - Returns the slotted breadcrumbs.\n- **isSelfManagedAction(action: _HTMLElement|null_): _boolean_** - Returns whether toolbar actions are managed by their own breakpoint logic.\n- **isSelfManagedBreadcrumbs(breadcrumbs: _HTMLElement|null_, action): _boolean_** - Returns whether breadcrumb collapse is managed by its own breakpoint logic.\n- **nextFrame(): _Promise<void>_** - Waits for one animation frame.\n\n### **Slots:**\n - **start** - The start slot for the toolbar.\n- **end** - The end slot for the toolbar.\n\n### **CSS Properties:**\n - **--wje-toolbar-background** - Specifies the background color of the toolbar. Accepts any valid CSS color value, such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-background))_\n- **--wje-toolbar-height** - Defines the height of the toolbar. If set to `auto`, the height adjusts based on the content. _(default: auto)_\n- **--wje-toolbar-min-height** - Sets the minimum height of the toolbar. Ensures the toolbar maintains a consistent minimum size. _(default: 70px)_\n- **--wje-toolbar-padding-top** - Specifies the padding at the top of the toolbar. Accepts any valid CSS length unit. _(default: 1rem)_\n- **--wje-toolbar-padding-bottom** - Specifies the padding at the bottom of the toolbar. Helps create spacing between the content and the bottom edge. _(default: 1rem)_\n- **--wje-toolbar-padding-inline** - Defines the horizontal padding (left and right) of the toolbar. Creates consistent spacing on both sides. _(default: 1.5rem)_\n- **--wje-toolbar-margin-block** - Defines the vertical margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-margin-inline** - Defines the horizontal margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-border-color** - Sets the color of the toolbar's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-toolbar-top** - Specifies the vertical position of the toolbar relative to its container. Useful for fixed or sticky toolbars. _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The native toolbar wrapper.",
3954
+ "name": "wje-toolbar-action",
3955
+ "description": "This element represents a toolbar action.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the toolbar action.\n- **afterDraw()** - Applies the current visible action limit after the component is drawn.\n- **afterDisconnect()** - Removes listeners after disconnect.\n- **scheduleOverflow(doubleFrame: _boolean_)** - Schedules overflow application after layout settles.\n- **getActions(): _Array<HTMLElement>_** - Returns the actions for the toolbar action.\n- **getAssignedElements(): _Array<HTMLElement>_** - Returns direct children assigned to the default slot.\n- **getExistingDropdown(): _HTMLElement|null_** - Returns an existing top-level dropdown if present.\n- **observeExistingDropdown()** - Observes the external dropdown for late menu/content changes.\n- **getOverflowDropdown(): _HTMLElement_** - Returns the dropdown that should receive overflow items.\n- **getOverflowMenu(): _HTMLElement|null_** - Returns the menu used for overflow items.\n- **getVisibleLimit(): _number_** - Gets the number of actions that should stay visible.\n- **shouldCollapseByBreakpoint(): _boolean_** - Returns whether the toolbar action should collapse based on the configured breakpoint.\n- **isCollapsedByBreakpoint(): _boolean_** - Returns the cached breakpoint collapse state.\n- **handleBreakpointResize(): _void_** - Reacts to viewport resize only when the breakpoint mode actually changes.\n- **getBreakpointWidth(): _number|null_** - Resolves the configured breakpoint to a pixel width.\n- **applyOverflow(): _void_** - Updates visible actions and the overflow dropdown.\n- **restoreManagedActions(actions: _Array<HTMLElement>_)** - Restores buttons hidden by this component.\n- **restoreManagedOverflowContent()** - Removes overflow menu nodes that were previously injected by this component.\n- **createMenuItem(action: _HTMLElement_): _HTMLElement_** - Creates a dropdown menu proxy for an overflowed button.\n- **cloneActionMenuNode(node: _Node_): _Node_** - Clones action content for menu usage and normalizes button icon slots.\n- **normalizeActionMenuIconSlot(element: _Element_)** - Moves button-only icon slots to the menu item start slot.\n- **getActionLabel(action: _HTMLElement_): _string_** - Resolves readable text for a toolbar action copied into an overflow menu.\n- **createOverflowDivider(): _HTMLElement_** - Creates a divider separating existing dropdown actions from responsive overflow actions.\n- **handleMenuItemClick(e: _Event_, action: _HTMLElement_)** - Forwards menu item activation to the original button.\n- **measureActionMetrics(): _{count: number, widths: number[], gap: number, moreWidth: number, getWidthForCount: Function}_** - Measures action widths while preserving current overflow state.\n- **measureMoreWidth(): _number_** - Measures the overflow dropdown trigger.\n\n### **Slots:**\n - _default_ - The default slot for the toolbar action.\n\n### **CSS Parts:**\n - **native** - The native toolbar action wrapper.",
3918
3956
  "doc-url": "",
3919
- "attributes": [],
3957
+ "attributes": [
3958
+ { "name": "breakpoint", "value": { "type": "string" } },
3959
+ { "name": "max-items", "value": { "type": "string" } },
3960
+ { "name": "visible-items", "value": { "type": "string" } }
3961
+ ],
3920
3962
  "slots": [
3921
3963
  {
3922
- "name": "start",
3923
- "description": "The start slot for the toolbar."
3924
- },
3925
- { "name": "end", "description": "The end slot for the toolbar." }
3964
+ "name": "",
3965
+ "description": "The default slot for the toolbar action."
3966
+ }
3926
3967
  ],
3927
3968
  "events": [],
3928
3969
  "js": {
@@ -3932,46 +3973,50 @@
3932
3973
  "description": "The class name for the component.",
3933
3974
  "type": "string"
3934
3975
  },
3935
- { "name": "_breadcrumbState" },
3936
- { "name": "_responsiveFrame", "type": "null" }
3976
+ {
3977
+ "name": "breakpoint",
3978
+ "description": "Gets the collapse breakpoint token or value."
3979
+ },
3980
+ {
3981
+ "name": "maxItems",
3982
+ "description": "Gets the maximum number of visible actions."
3983
+ },
3984
+ {
3985
+ "name": "visibleItems",
3986
+ "description": "Gets the responsive visible action count."
3987
+ },
3988
+ { "name": "_managedHiddenActions" },
3989
+ { "name": "_isCollapsedByBreakpoint", "type": "null" },
3990
+ { "name": "_managedOverflowNodes" },
3991
+ { "name": "_overflowRetryFrame", "type": "null" },
3992
+ { "name": "_applyOverflowFrame", "type": "null" },
3993
+ { "name": "_observedDropdown", "type": "null" }
3937
3994
  ],
3938
3995
  "events": []
3939
3996
  }
3940
3997
  },
3941
3998
  {
3942
- "name": "wje-toggle",
3943
- "description": "This element represents a toggle input.\n---\n\n\n### **Methods:**\n - **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Removes the event listener when the checkbox is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the toggle.\n\n### **CSS Properties:**\n - **--wje-toggle-color-base** - The base background color of the toggle. Defines the default background color when the toggle is in an unselected state. _(default: var(--wje-color-contrast-3))_\n- **--wje-toggle-width** - The overall width of the toggle switch. Determines how wide the toggle component appears. _(default: 30px)_\n- **--wje-toggle-height** - The overall height of the toggle switch. Specifies how tall the toggle component appears. _(default: 18px)_\n- **--wje-toggle-border-radius** - The border radius of the toggle. Controls how rounded the corners of the toggle are. _(default: 50px)_\n- **--wje-toggle-handle-width** - The width of the toggle handle (knob). Determines the size of the handle for user interaction. _(default: 14px)_\n- **--wje-toggle-handle-height** - The height of the toggle handle (knob). Specifies the vertical size of the handle. _(default: 14px)_\n- **--wje-toggle-handle-border-radius** - The border radius of the toggle handle. Controls how rounded the handle is. _(default: 9px)_\n- **--wje-toggle-handle-color** - The color of the toggle handle. Accepts any valid CSS color, such as `hex`, `rgb`, or `css variable`. _(default: #fff)_\n- **--wje-toggle-handle-shadow** - The shadow applied to the toggle handle. Adds a subtle shadow effect for better visual clarity. _(default: 1px 0 1px 0.5px rgba(0,0,0,0.12), 2px 4px 6px rgba(0,0,0,0.2))_\n- **--wje-toggle-handle-shadow-checked** - The shadow applied to the toggle handle when it is in the checked (on) state. Provides visual feedback to indicate the toggle state. _(default: 1px 1px 0 rgba(0,0,0,0.08), -3px 3px 6px rgba(0,0,0,0.3))_\n- **--wje-toggle-duration** - The duration of the toggle animation in milliseconds. Controls how long the toggle animation lasts during state changes. _(default: 250ms)_\n- **--wje-toggle-curve** - The easing curve used for the toggle animation. Defines the speed curve for the animation, enhancing the user experience with smooth transitions. _(default: cubic-bezier(.4,0,.2,1))_\n\n### **CSS Parts:**\n - **native** - The native toggle wrapper.\n- **input** - The toggle input.\n- **toggle** - The toggle part.",
3999
+ "name": "wje-toolbar",
4000
+ "description": "This element represents a toolbar.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the toolbar.\n- **afterDraw()** - Initializes responsive layout observers.\n- **afterDisconnect()** - Cleans up responsive layout observers.\n- **syncAria()** - Sync ARIA attributes on host.\n- **scheduleResponsiveLayout()** - Schedules responsive layout recalculation.\n- **updateResponsiveLayout(): _Promise<void>_** - Updates slotted breadcrumbs and actions to fit the toolbar width.\n- **measureBreadcrumbs(breadcrumbs: _HTMLElement_): _Promise<{count: number, fullWidth: number, compactWidth: number}>_** - Measures breadcrumbs in their full state.\n- **ensureBreadcrumbState(breadcrumbs: _HTMLElement_, count: _number_): _{compactMaxItems: number}_** - Stores original breadcrumb settings used as responsive compact target.\n- **setBreadcrumbCompactState(breadcrumbs: _HTMLElement|null_, compact: _boolean_)** - Applies the compact or full breadcrumb state.\n- **setBreadcrumbMaxItems(breadcrumbs: _HTMLElement_, value: _number_)** - Sets breadcrumb max-items only when it changed.\n- **getVisibleActionsForWidth(actionMetrics: _object_, width: _number_): _number_** - Finds how many actions fit into the available width.\n- **setVisibleActions(action: _HTMLElement|null_, count: _number_)** - Applies visible action count.\n- **clearVisibleActions(action: _HTMLElement|null_)** - Clears toolbar-managed visible action state when actions manage themselves.\n- **getToolbarAction(): _HTMLElement|null_** - Returns the slotted toolbar action.\n- **getBreadcrumbs(): _HTMLElement|null_** - Returns the slotted breadcrumbs.\n- **isSelfManagedAction(action: _HTMLElement|null_): _boolean_** - Returns whether toolbar actions are managed by their own breakpoint logic.\n- **isSelfManagedBreadcrumbs(breadcrumbs: _HTMLElement|null_, action): _boolean_** - Returns whether breadcrumb collapse is managed by its own breakpoint logic.\n- **nextFrame(): _Promise<void>_** - Waits for one animation frame.\n\n### **Slots:**\n - **start** - The start slot for the toolbar.\n- **end** - The end slot for the toolbar.\n\n### **CSS Properties:**\n - **--wje-toolbar-background** - Specifies the background color of the toolbar. Accepts any valid CSS color value, such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-background))_\n- **--wje-toolbar-height** - Defines the height of the toolbar. If set to `auto`, the height adjusts based on the content. _(default: auto)_\n- **--wje-toolbar-min-height** - Sets the minimum height of the toolbar. Ensures the toolbar maintains a consistent minimum size. _(default: 70px)_\n- **--wje-toolbar-padding-top** - Specifies the padding at the top of the toolbar. Accepts any valid CSS length unit. _(default: 1rem)_\n- **--wje-toolbar-padding-bottom** - Specifies the padding at the bottom of the toolbar. Helps create spacing between the content and the bottom edge. _(default: 1rem)_\n- **--wje-toolbar-padding-inline** - Defines the horizontal padding (left and right) of the toolbar. Creates consistent spacing on both sides. _(default: 1.5rem)_\n- **--wje-toolbar-margin-block** - Defines the vertical margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-margin-inline** - Defines the horizontal margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-border-color** - Sets the color of the toolbar's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-toolbar-top** - Specifies the vertical position of the toolbar relative to its container. Useful for fixed or sticky toolbars. _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The native toolbar wrapper.",
3944
4001
  "doc-url": "",
3945
- "attributes": [
3946
- { "name": "checked", "value": { "type": "string" } },
3947
- { "name": "disabled", "value": { "type": "string" } },
3948
- { "name": "required", "value": { "type": "string" } }
3949
- ],
4002
+ "attributes": [],
3950
4003
  "slots": [
3951
- { "name": "", "description": "The default slot for the toggle." }
4004
+ {
4005
+ "name": "start",
4006
+ "description": "The start slot for the toolbar."
4007
+ },
4008
+ { "name": "end", "description": "The end slot for the toolbar." }
3952
4009
  ],
3953
4010
  "events": [],
3954
4011
  "js": {
3955
4012
  "properties": [
3956
4013
  {
3957
- "name": "value",
3958
- "description": "Getter for the value attribute."
3959
- },
3960
- {
3961
- "name": "customErrorDisplay",
3962
- "description": "Getter for the customErrorDisplay attribute."
3963
- },
3964
- {
3965
- "name": "validateOnChange",
3966
- "description": "Getter for the validateOnChange attribute."
3967
- },
3968
- {
3969
- "name": "defaultValue",
3970
- "description": "Getter for the defaultValue attribute.\nThis method retrieves the 'value' attribute of the custom input element.\nThe 'value' attribute represents the default value of the input element.\nIf the 'value' attribute is not set, it returns an empty string."
4014
+ "name": "className",
4015
+ "description": "The class name for the component.",
4016
+ "type": "string"
3971
4017
  },
3972
- { "name": "checked", "description": "Get checked attribute." },
3973
- { "name": "invalid", "type": "boolean" },
3974
- { "name": "pristine", "type": "boolean" }
4018
+ { "name": "_breadcrumbState" },
4019
+ { "name": "_responsiveFrame", "type": "null" }
3975
4020
  ],
3976
4021
  "events": []
3977
4022
  }
@@ -4029,143 +4074,128 @@
4029
4074
  }
4030
4075
  },
4031
4076
  {
4032
- "name": "wje-toolbar-action",
4033
- "description": "This element represents a toolbar action.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the toolbar action.\n- **afterDraw()** - Applies the current visible action limit after the component is drawn.\n- **afterDisconnect()** - Removes listeners after disconnect.\n- **scheduleOverflow(doubleFrame: _boolean_)** - Schedules overflow application after layout settles.\n- **getActions(): _Array<HTMLElement>_** - Returns the actions for the toolbar action.\n- **getAssignedElements(): _Array<HTMLElement>_** - Returns direct children assigned to the default slot.\n- **getExistingDropdown(): _HTMLElement|null_** - Returns an existing top-level dropdown if present.\n- **observeExistingDropdown()** - Observes the external dropdown for late menu/content changes.\n- **getOverflowDropdown(): _HTMLElement_** - Returns the dropdown that should receive overflow items.\n- **getOverflowMenu(): _HTMLElement|null_** - Returns the menu used for overflow items.\n- **getVisibleLimit(): _number_** - Gets the number of actions that should stay visible.\n- **shouldCollapseByBreakpoint(): _boolean_** - Returns whether the toolbar action should collapse based on the configured breakpoint.\n- **isCollapsedByBreakpoint(): _boolean_** - Returns the cached breakpoint collapse state.\n- **handleBreakpointResize(): _void_** - Reacts to viewport resize only when the breakpoint mode actually changes.\n- **getBreakpointWidth(): _number|null_** - Resolves the configured breakpoint to a pixel width.\n- **applyOverflow(): _void_** - Updates visible actions and the overflow dropdown.\n- **restoreManagedActions(actions: _Array<HTMLElement>_)** - Restores buttons hidden by this component.\n- **restoreManagedOverflowContent()** - Removes overflow menu nodes that were previously injected by this component.\n- **createMenuItem(action: _HTMLElement_): _HTMLElement_** - Creates a dropdown menu proxy for an overflowed button.\n- **cloneActionMenuNode(node: _Node_): _Node_** - Clones action content for menu usage and normalizes button icon slots.\n- **normalizeActionMenuIconSlot(element: _Element_)** - Moves button-only icon slots to the menu item start slot.\n- **getActionLabel(action: _HTMLElement_): _string_** - Resolves readable text for a toolbar action copied into an overflow menu.\n- **createOverflowDivider(): _HTMLElement_** - Creates a divider separating existing dropdown actions from responsive overflow actions.\n- **handleMenuItemClick(e: _Event_, action: _HTMLElement_)** - Forwards menu item activation to the original button.\n- **measureActionMetrics(): _{count: number, widths: number[], gap: number, moreWidth: number, getWidthForCount: Function}_** - Measures action widths while preserving current overflow state.\n- **measureMoreWidth(): _number_** - Measures the overflow dropdown trigger.\n\n### **Slots:**\n - _default_ - The default slot for the toolbar action.\n\n### **CSS Parts:**\n - **native** - The native toolbar action wrapper.",
4077
+ "name": "wje-tree",
4078
+ "description": "This element visually represents a tree structure, supporting single or multiple selection modes and hierarchy management.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - A method called before the drawing or rendering process of tree items.\nIt iterates through all `wje-tree-item` elements, updating their selection state\nand managing their expand/collapse icons accordingly.\n- **draw(): _object_** - Draw method for the tree.\n- **afterDraw(): _void_** - Called after the draw process of the component is completed.\nTypically used to add event listeners or perform operations\nthat are dependent on the component's drawn state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getAllItems(): _Array<Element>_** - Retrieves all items that match the selector 'wje-tree-item' within the current context.\n- **appendTemplateSlot(item: _HTMLElement_, template: _HTMLTemplateElement|null_, slotName: _string_): _void_** - Retrieves and appends a template slot to a tree item.\n- **getTemplateSlotClass(slotName: _string_): _string_** - Returns the internal class used to identify cloned template slot content.\n- **setupReorderHandle(item: _HTMLElement_): _void_** - Marks direct start slot content as the drag handle for reorderable trees.\n- **getTreeItemFromEvent(e: _Event_): _HTMLElement|null_** - Finds a tree item from a composed event path.\n- **isReorderHandleEvent(e: _Event_): _boolean_** - Checks whether the event started from a reorder handle.\n- **isTreeItem(node: _object_): _boolean_** - Checks whether a node is a tree item element.\n- **getDirectTreeItems(parent: _HTMLElement_): _HTMLElement[]_** - Returns direct tree item children for a tree or tree item parent.\n- **getTreeItemIndex(item: _HTMLElement_): _number_** - Gets the index of a tree item among direct tree item siblings.\n- **canDrop(draggedItem: _HTMLElement_, targetItem: _HTMLElement_): _boolean_** - Determines whether the dragged item can be dropped on the target.\n- **getDropPosition(e: _DragEvent_, target: _HTMLElement|null_): _'before'|'inside'|'after'_** - Resolves the drop position against the visible tree item row.\n- **setDropState(target: _HTMLElement_, position: _string_): _void_** - Applies the visual drop position to the current target item.\n- **clearDropState(): _void_** - Clears visual drop target state.\n- **clearDragState(): _void_** - Clears the active drag state.\n- **getDropPositionClass(position: _'before'|'inside'|'after'_): _string_** - Returns the internal class used to render a drop marker.\n- **moveItem(draggedItem: _HTMLElement_, targetItem: _HTMLElement_, position: _'before'|'inside'|'after'_): _object|null_** - Moves a tree item relative to another tree item and syncs nesting metadata.\n- **getOrderElements(parent: _HTMLElement_): _HTMLElement[]_** - Returns cloned direct tree item children for an event detail.\n- **getOrderIds(parent: _HTMLElement_): _Array<string|null>_** - Returns stable ids for direct tree item children when they are available.\n- **getItemId(item: _HTMLElement|null_): _string|null_** - Gets an application-facing id from a tree item.\n- **syncTreeItems(): _void_** - Syncs item selection mode and nesting metadata after a DOM move.\n- **refreshMovedItems(items: _HTMLElement[]_): _void_** - Redraws affected parent items so expand/collapse affordances match current children.\n- **updateCheckboxState(changedItem: _object_, isInitialSync: _boolean_): _void_** - Updates the state of a checkbox, syncing the state both upwards to parent elements\nand downwards to child elements as necessary.\n- **updateParentState(item: _object_): _void_** - Updates the state of the parent item based on the state of its child items.\nRecursively propagates changes up to all parent items to reflect the selection\nor indeterminate state accurately.\n- **propagateStateUpwards(item: _HTMLElement_): _void_** - Propagates the state changes of an item upwards through its ancestors in the hierarchy.\nCalls the `updateParentState` method for each parent element until no parent exists.\n- **propagateStateDownwards(item: _object_): _void_** - Propagates the selected state of an item to its children recursively. Depending on the `isInitialSync` flag,\nit also determines how the state should be applied to the child items and updates the parent state if needed.\n\n### **Slots:**\n - _default_ - The default slot to place `wje-tree-item` child components.\n\n### **CSS Parts:**\n - **native** - The native container part of the tree.",
4034
4079
  "doc-url": "",
4035
4080
  "attributes": [
4036
- { "name": "breakpoint", "value": { "type": "string" } },
4037
- { "name": "max-items", "value": { "type": "string" } },
4038
- { "name": "visible-items", "value": { "type": "string" } }
4081
+ {
4082
+ "name": "reorder",
4083
+ "description": "Enables moving tree items by dragging direct start slot content.",
4084
+ "value": { "type": "boolean" }
4085
+ }
4039
4086
  ],
4040
4087
  "slots": [
4041
4088
  {
4042
4089
  "name": "",
4043
- "description": "The default slot for the toolbar action."
4090
+ "description": "The default slot to place `wje-tree-item` child components."
4044
4091
  }
4045
4092
  ],
4046
4093
  "events": [],
4047
4094
  "js": {
4048
4095
  "properties": [
4049
4096
  {
4050
- "name": "className",
4051
- "description": "The class name for the component.",
4052
- "type": "string"
4097
+ "name": "selection",
4098
+ "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
4053
4099
  },
4054
4100
  {
4055
- "name": "breakpoint",
4056
- "description": "Gets the collapse breakpoint token or value."
4101
+ "name": "reorder",
4102
+ "description": "Indicates whether tree items can be reordered with the start slot handle."
4057
4103
  },
4058
4104
  {
4059
- "name": "maxItems",
4060
- "description": "Gets the maximum number of visible actions."
4105
+ "name": "className",
4106
+ "description": "The class name for the component.",
4107
+ "type": "string"
4061
4108
  },
4062
4109
  {
4063
- "name": "visibleItems",
4064
- "description": "Gets the responsive visible action count."
4065
- },
4066
- { "name": "_managedHiddenActions" },
4067
- { "name": "_isCollapsedByBreakpoint", "type": "null" },
4068
- { "name": "_managedOverflowNodes" },
4069
- { "name": "_overflowRetryFrame", "type": "null" },
4070
- { "name": "_applyOverflowFrame", "type": "null" },
4071
- { "name": "_observedDropdown", "type": "null" }
4072
- ],
4073
- "events": []
4074
- }
4075
- },
4076
- {
4077
- "name": "wje-tree-item",
4078
- "description": "Represents a single item in a tree structure.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - Custom logic executed before the draw process begins.\nDetermines and sets the appropriate slot if the current item is nested.\n- **syncNestingState(): _void_** - Synchronizes the nesting-related state on the host element.\nSets the \"slot\" to children for nested items and updates\nthe nesting depth used to compute visual indentation.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment representing the structure of a tree item component.\nThe method constructs the DOM elements including the native container, indentation, toggle button,\nselection checkbox, label, and children container, along with their respective slots and attributes.\nIt dynamically handles the creation of expand and collapse icons, as well as appending slots for\nchild components.\n- **afterDraw(): _void_** - Executes operations to be performed after the draw action is completed.\nIf the state indicates it is expanded, toggles its children.\nAdditionally, sets up an event listener on the button element to handle toggling children upon click.\n- **isNestedItem(): _boolean_** - Determines if the current item is a nested item within a tree structure.\nChecks if the item's parent element exists and is also a tree item.\n- **getNestingDepth(): _number_** - Calculates nesting depth based on ancestor tree items.\nRoot items have depth 0, direct children depth 1, etc.\n- **isTreeItem(node: _object_): _boolean_** - Checks whether the given node is a tree item.\n- **toggleChildren(): _void_** - Toggles the visibility state of the children element and updates the class of the parent element.\nThe method toggles the 'open' class on the children elements and the 'expanded' class on the parent element,\neffectively showing or hiding the children and indicating the expanded state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getChildrenItems(options: _@param {boolean} [options.includeDisabled] Determines whether disabled items should be included in the result. Defaults to true.\n * _): _Array_** - Retrieves the child items from the `childrenSlot` that match specific criteria.\n- **getAllChildrenFlat(options: _object_): _Array_** - Retrieves all descendant children of the current object in a flattened array structure.\n\n### **Slots:**\n - _default_ - Default slot for rendering the tree item's content (e.g., text or custom elements).\n\n### **CSS Properties:**\n - **--wje-tree-item-indent** - Defines the indentation for nested tree items. _(default: var(--wje-spacing-large))_\n- **--wje-tree-item-indent-guid-width** - Specifies the width of the guide element shown next to a tree item. _(default: 0px)_\n- **--wje-tree-item-border-radius** - Sets the border radius of the tree item’s container. _(default: var(--wje-border-radius-medium))_\n\n### **CSS Parts:**\n - **native** - The native container of the tree item.",
4079
- "doc-url": "",
4080
- "attributes": [
4081
- { "name": "selected", "value": { "type": "string" } },
4082
- { "name": "indeterminate", "value": { "type": "string" } }
4083
- ],
4084
- "slots": [
4085
- {
4086
- "name": "",
4087
- "description": "Default slot for rendering the tree item's content (e.g., text or custom elements)."
4088
- }
4089
- ],
4090
- "events": [],
4091
- "js": {
4092
- "properties": [
4093
- {
4094
- "name": "expanded",
4095
- "description": "Retrieves the value of the 'expanded' state for the current element.\nThis getter checks whether the 'expanded' attribute is present on the element.\nIf the attribute exists, it returns true, representing that the element is expanded.\nOtherwise, it returns false, indicating that the element is not expanded."
4110
+ "name": "handleClick",
4111
+ "description": "Handles the click event triggered by the user interaction.\nIdentifies the closest tree item element to the event target and sets it\nas the selected item. Ensures that only one item is selected at a time, resetting\nthe selection state for all other items."
4096
4112
  },
4097
4113
  {
4098
- "name": "selected",
4099
- "description": "Getter method for determining if the 'selected' attribute is present on the element."
4114
+ "name": "handleDragStart",
4115
+ "description": "Starts dragging a tree item when the drag begins from the configured start slot handle."
4100
4116
  },
4101
4117
  {
4102
- "name": "selection",
4103
- "description": "Retrieves the current selection."
4118
+ "name": "handleDragOver",
4119
+ "description": "Updates the current drop target and exposes a visual drop position."
4104
4120
  },
4105
4121
  {
4106
- "name": "indeterminate",
4107
- "description": "Retrieves the state of the indeterminate attribute."
4122
+ "name": "handleDrop",
4123
+ "description": "Completes a tree item move."
4108
4124
  },
4109
4125
  {
4110
- "name": "className",
4111
- "description": "The class name for the component.",
4112
- "type": "string"
4126
+ "name": "handleDragEnd",
4127
+ "description": "Clears drag state after the browser drag operation ends."
4113
4128
  },
4114
- { "name": "_selection", "type": "string" }
4129
+ { "name": "draggedItem", "type": "null" },
4130
+ { "name": "dropTarget", "type": "null" },
4131
+ { "name": "dropPosition", "type": "null" }
4115
4132
  ],
4116
4133
  "events": []
4117
4134
  }
4118
4135
  },
4119
4136
  {
4120
- "name": "wje-tree",
4121
- "description": "This element visually represents a tree structure, supporting single or multiple selection modes and hierarchy management.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - A method called before the drawing or rendering process of tree items.\nIt iterates through all `wje-tree-item` elements, updating their selection state\nand managing their expand/collapse icons accordingly.\n- **draw(): _object_** - Draw method for the toast notification.\n- **afterDraw(): _void_** - Called after the draw process of the component is completed.\nTypically used to add event listeners or perform operations\nthat are dependent on the component's drawn state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getAllItems(): _Array<Element>_** - Retrieves all items that match the selector 'wje-tree-item' within the current context.\n- **getExpandCollapseIcon(item: _HTMLElement_, status: _string_): _void_** - Retrieves and appends an expand/collapse icon to a given item based on the provided status.\n- **updateCheckboxState(changedItem: _object_, isInitialSync: _boolean_): _void_** - Updates the state of a checkbox, syncing the state both upwards to parent elements\nand downwards to child elements as necessary.\n- **updateParentState(item: _object_): _void_** - Updates the state of the parent item based on the state of its child items.\nRecursively propagates changes up to all parent items to reflect the selection\nor indeterminate state accurately.\n- **propagateStateUpwards(item: _HTMLElement_): _void_** - Propagates the state changes of an item upwards through its ancestors in the hierarchy.\nCalls the `updateParentState` method for each parent element until no parent exists.\n- **propagateStateDownwards(item: _object_): _void_** - Propagates the selected state of an item to its children recursively. Depending on the `isInitialSync` flag,\nit also determines how the state should be applied to the child items and updates the parent state if needed.\n\n### **Slots:**\n - _default_ - The default slot to place `wje-tree-item` child components.\n\n### **CSS Parts:**\n - **native** - The native container part of the tree.",
4137
+ "name": "wje-visually-hidden",
4138
+ "description": "This element represents a visually hidden element.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the visually hidden element.\n\n### **Slots:**\n - _default_ - The default slot for the visually hidden element.",
4122
4139
  "doc-url": "",
4123
4140
  "attributes": [],
4124
4141
  "slots": [
4125
4142
  {
4126
4143
  "name": "",
4127
- "description": "The default slot to place `wje-tree-item` child components."
4144
+ "description": "The default slot for the visually hidden element."
4128
4145
  }
4129
4146
  ],
4130
4147
  "events": [],
4131
4148
  "js": {
4132
4149
  "properties": [
4133
- {
4134
- "name": "selection",
4135
- "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
4136
- },
4137
4150
  {
4138
4151
  "name": "className",
4139
4152
  "description": "The class name for the component.",
4140
4153
  "type": "string"
4141
- },
4142
- {
4143
- "name": "handleClick",
4144
- "description": "Handles the click event triggered by the user interaction.\nIdentifies the closest tree item element to the event target and sets it\nas the selected item. Ensures that only one item is selected at a time, resetting\nthe selection state for all other items."
4145
4154
  }
4146
4155
  ],
4147
4156
  "events": []
4148
4157
  }
4149
4158
  },
4150
4159
  {
4151
- "name": "wje-visually-hidden",
4152
- "description": "This element represents a visually hidden element.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the visually hidden element.\n\n### **Slots:**\n - _default_ - The default slot for the visually hidden element.",
4160
+ "name": "wje-tree-item",
4161
+ "description": "Represents a single item in a tree structure.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - Custom logic executed before the draw process begins.\nDetermines and sets the appropriate slot if the current item is nested.\n- **syncNestingState(): _void_** - Synchronizes the nesting-related state on the host element.\nSets the \"slot\" to children for nested items and updates\nthe nesting depth used to compute visual indentation.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment representing the structure of a tree item component.\nThe method constructs the DOM elements including the native container, indentation, toggle button,\nselection checkbox, label, and children container, along with their respective slots and attributes.\nIt dynamically handles the creation of expand and collapse icons, as well as appending slots for\nchild components.\n- **afterDraw(): _void_** - Executes operations to be performed after the draw action is completed.\nIf the state indicates it is expanded, toggles its children.\nAdditionally, sets up an event listener on the button element to handle toggling children upon click.\n- **isNestedItem(): _boolean_** - Determines if the current item is a nested item within a tree structure.\nChecks if the item's parent element exists and is also a tree item.\n- **getNestingDepth(): _number_** - Calculates nesting depth based on ancestor tree items.\nRoot items have depth 0, direct children depth 1, etc.\n- **isTreeItem(node: _object_): _boolean_** - Checks whether the given node is a tree item.\n- **toggleChildren(): _void_** - Toggles the visibility state of the children element and updates the class of the parent element.\nThe method toggles the 'open' class on the children elements and the 'expanded' class on the parent element,\neffectively showing or hiding the children and indicating the expanded state.\n- **setChildrenExpanded(expanded: _boolean_, options: _@param {boolean} [options.syncAttribute] Mirrors the visual state to the host attribute when true.\n * _): _void_** - Sets the rendered children visibility and optionally mirrors it to the expanded attribute.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getChildrenItems(options: _@param {boolean} [options.includeDisabled] Determines whether disabled items should be included in the result. Defaults to true.\n * _): _Array_** - Retrieves the child items from the `childrenSlot` that match specific criteria.\n- **getAllChildrenFlat(options: _object_): _Array_** - Retrieves all descendant children of the current object in a flattened array structure.\n\n### **Slots:**\n - _default_ - Default slot for rendering the tree item's content (e.g., text or custom elements).\n\n### **CSS Properties:**\n - **--wje-tree-item-indent** - Defines the indentation for nested tree items. _(default: var(--wje-spacing-large))_\n- **--wje-tree-item-indent-guid-width** - Specifies the width of the guide element shown next to a tree item. _(default: 0px)_\n- **--wje-tree-item-indent-guid-style** - Defines the guide border style for nested tree items. _(default: solid)_\n- **--wje-tree-item-indent-guid-color** - Defines the guide border color for nested tree items. _(default: var(--wje-border-color))_\n- **--wje-tree-item-border-radius** - Sets the border radius of the tree item's container. _(default: var(--wje-border-radius-medium))_\n- **--wje-tree-item-border-width** - Sets the border width of the tree item row. _(default: 0px)_\n- **--wje-tree-item-border-style** - Sets the border style of the tree item row. _(default: solid)_\n- **--wje-tree-item-border-color** - Sets the border color of the tree item row. _(default: transparent)_\n- **--wje-tree-item-border-color-hover** - Sets the border color of the hovered tree item row. _(default: transparent)_\n- **--wje-tree-item-border-color-selected** - Sets the border color of the selected tree item row. _(default: transparent)_\n- **--wje-tree-item-drop-color** - Sets the color of reorder drop indicators. _(default: var(--wje-color-primary))_\n- **--wje-tree-item-drop-line-width** - Sets the thickness of before/after reorder drop indicators. _(default: 2px)_\n- **--wje-tree-item-drop-line-border-radius** - Sets the radius of before/after reorder drop indicators. _(default: var(--wje-border-radius-pill))_\n- **--wje-tree-item-drop-border-width** - Sets the width of the inside reorder drop border. _(default: 1px)_\n- **--wje-tree-item-drop-border-style** - Sets the style of the inside reorder drop border. _(default: solid)_\n- **--wje-tree-item-drop-border-color** - Sets the color of the inside reorder drop border. _(default: var(--wje-tree-item-drop-color))_\n- **--wje-tree-item-drop-border-radius** - Sets the radius of the inside reorder drop border. _(default: inherit)_\n\n### **CSS Parts:**\n - **native** - The native container of the tree item.",
4153
4162
  "doc-url": "",
4154
- "attributes": [],
4163
+ "attributes": [
4164
+ { "name": "selected", "value": { "type": "string" } },
4165
+ { "name": "indeterminate", "value": { "type": "string" } },
4166
+ { "name": "expanded", "value": { "type": "string" } }
4167
+ ],
4155
4168
  "slots": [
4156
4169
  {
4157
4170
  "name": "",
4158
- "description": "The default slot for the visually hidden element."
4171
+ "description": "Default slot for rendering the tree item's content (e.g., text or custom elements)."
4159
4172
  }
4160
4173
  ],
4161
4174
  "events": [],
4162
4175
  "js": {
4163
4176
  "properties": [
4177
+ {
4178
+ "name": "expanded",
4179
+ "description": "Retrieves the value of the 'expanded' state for the current element.\nThis getter checks whether the 'expanded' attribute is present on the element.\nIf the attribute exists, it returns true, representing that the element is expanded.\nOtherwise, it returns false, indicating that the element is not expanded."
4180
+ },
4181
+ {
4182
+ "name": "selected",
4183
+ "description": "Getter method for determining if the 'selected' attribute is present on the element."
4184
+ },
4185
+ {
4186
+ "name": "selection",
4187
+ "description": "Retrieves the current selection."
4188
+ },
4189
+ {
4190
+ "name": "indeterminate",
4191
+ "description": "Retrieves the state of the indeterminate attribute."
4192
+ },
4164
4193
  {
4165
4194
  "name": "className",
4166
4195
  "description": "The class name for the component.",
4167
4196
  "type": "string"
4168
- }
4197
+ },
4198
+ { "name": "_selection", "type": "string" }
4169
4199
  ],
4170
4200
  "events": []
4171
4201
  }