wj-elements 0.7.3 → 0.7.5

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.5",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -746,26 +746,6 @@
746
746
  "events": []
747
747
  }
748
748
  },
749
- {
750
- "name": "wje-card-title",
751
- "description": "CardTitle class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CardTitle.\n- **draw(): _DocumentFragment_** - Draws the CardTitle element.\n\n### **Slots:**\n - _default_ - The card title main content.\n\n### **CSS Properties:**\n - **--wje-card-title-font-size** - Font size of the component; _(default: 24px)_\n- **--wje-card-title-font-weight** - Font weight of the component; _(default: 500)_\n- **--wje-card-title-margin** - Margin of the component; _(default: 0)_\n- **--wje-card-title-padding** - Padding of the component; _(default: 0)_\n- **--wje-card-title-line-height** - Line height of the component; _(default: 1.2)_",
752
- "doc-url": "",
753
- "attributes": [],
754
- "slots": [
755
- { "name": "", "description": "The card title main content." }
756
- ],
757
- "events": [],
758
- "js": {
759
- "properties": [
760
- {
761
- "name": "className",
762
- "description": "Class name for the CardTitle.",
763
- "type": "string"
764
- }
765
- ],
766
- "events": []
767
- }
768
- },
769
749
  {
770
750
  "name": "wje-carousel",
771
751
  "description": "Carousel class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Carousel.\n- **beforeDraw()** - Before draw method for the Carousel.\n- **draw(): _DocumentFragment_** - Draw method for the Carousel.\n- **afterDraw()** - After draw method for the Carousel.\n- **syncActiveToSnapStart()** - Sync `activeSlide` to the slide whose leading edge is closest to the snap start.\n- **syncSlideMetrics()** - Syncs computed CSS variables derived from `slide-per-page`.\n- **getScrollPaddingInlineStart(): _number_** - Returns the inline scroll padding used by the snap area.\n- **getControlBehavior(): _string_** - Returns the interaction scroll behavior for UI controls.\nContinuous multi-slide loops use instant snapping to avoid blank edge states\nwhile the browser is still animating a previous smooth scroll.\n- **setIntersectionObserver()** - Sets up the IntersectionObserver for the Carousel.\n- **goToSlide(index, behavior, next)** - Goes to the slide.\n- **setActiveVisualSlide(vIndex: _number_)** - Sets the active class on the currently targeted visual slide and removes it elsewhere.\n- **syncAria()** - Syncs ARIA attributes on the carousel and slides.\n- **cloneFirstAndLastItems()** - Clones the first and last items.\n- **createLoopClone(item: _HTMLElement_): _HTMLElement_** - Creates a sanitized loop clone that does not inherit transient render state\nsuch as inline `visibility: hidden` from the source slide.\n- **removeLoopClones()** - Removes loop clones so they can be rebuilt for the current configuration.\n- **getLoopCloneCount(totalSlides: _number_): _number_** - Returns how many slides should be cloned on each side when loop is enabled.\n- **scrollToVisualIndex(vIndex: _number_, behavior: _string_)** - Scrolls the carousel to a visual slide index.\n- **removeActiveSlide()** - Goes to the next slide.\n- **changePagination()** - Goes to the next slide.\n- **changeThumbnails()** - Goes to the next slide.\n- **createNextButton(): _Element_** - Goes to the next slide.\n- **createPreviousButton(): _Element_** - Goes to the next slide.\n- **createPagination(): _Element_** - Goes to the next slide.\n- **createThumbnails(): _Element_** - Goes to the next slide.\n- **nextSlide()** - Goes to the next slide.\n- **previousSlide()** - Goes to the previous slide.\n- **getSlides(): _Array_** - Goes to the slide.\n- **getSlidesWithClones(): _Array_** - Goes to the slide.\n- **getVisualIndexForLogical(index)** - Maps logical index to visual index, including leading clones when loop is enabled.\n- **getLogicalIndexForVisual(vIndex)** - Maps visual index to logical index, including edge clones when loop is enabled.\n- **getMaxVisibleStartIndex(totalSlides: _number_): _number_** - Returns the maximum logical slide index that can still render a full viewport.\n- **normalizeLoopIndex(index: _number_, totalSlides: _number_): _number_** - Normalizes a logical index for the active loop mode.\n- **getLoopLogicalCount(totalSlides: _number_): _number_** - Returns how many logical positions are reachable for the current loop mode.\n- **getPaginationIndexes(): _number[]_** - Returns the pagination indexes for the current carousel mode.\n- **canGoNext(): _boolean_** - Goes to the slide.\n- **canGoPrevious(): _boolean_** - Goes to the slide.\n\n### **Slots:**\n - _default_ - The carousel main content.\n\n### **CSS Properties:**\n - **--wje-carousel-size** - Effective size of one carousel item. _(default: 100%)_\n- **--wje-carousel-gap** - Gap between carousel items. _(default: 0.5rem)_",
@@ -823,6 +803,26 @@
823
803
  "events": []
824
804
  }
825
805
  },
806
+ {
807
+ "name": "wje-card-title",
808
+ "description": "CardTitle class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CardTitle.\n- **draw(): _DocumentFragment_** - Draws the CardTitle element.\n\n### **Slots:**\n - _default_ - The card title main content.\n\n### **CSS Properties:**\n - **--wje-card-title-font-size** - Font size of the component; _(default: 24px)_\n- **--wje-card-title-font-weight** - Font weight of the component; _(default: 500)_\n- **--wje-card-title-margin** - Margin of the component; _(default: 0)_\n- **--wje-card-title-padding** - Padding of the component; _(default: 0)_\n- **--wje-card-title-line-height** - Line height of the component; _(default: 1.2)_",
809
+ "doc-url": "",
810
+ "attributes": [],
811
+ "slots": [
812
+ { "name": "", "description": "The card title main content." }
813
+ ],
814
+ "events": [],
815
+ "js": {
816
+ "properties": [
817
+ {
818
+ "name": "className",
819
+ "description": "Class name for the CardTitle.",
820
+ "type": "string"
821
+ }
822
+ ],
823
+ "events": []
824
+ }
825
+ },
826
826
  {
827
827
  "name": "wje-checkbox",
828
828
  "description": "This method dispatches a custom event named \"wje-toggle:change\".\nIt is triggered when the input event is fired, which happens when the state of the checkbox changes.\nThe event is dispatched on the current instance of the Checkbox class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the checkbox.\n- **draw(): _DocumentFragment_** - Draws the checkbox element.\n- **afterDraw()** - Adds an event listener after drawing the checkbox.\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 checkbox main content.\n\n### **CSS Properties:**\n - **--wje-checkbox-border-radius** - Border radius of the component; _(default: --wje-border-radius-medium)_\n- **--wje-checkbox-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-checkbox-border-style** - Border style of the component; _(default: solid)_\n- **--wje-checkbox-border-color** - Border color of the component; _(default: --wje-color-contrast-1)_\n- **--wje-checkbox-margin-inline** - Margin inline of the component; _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
@@ -934,23 +934,68 @@
934
934
  }
935
935
  },
936
936
  {
937
- "name": "wje-container",
938
- "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)_",
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
939
  "doc-url": "",
940
- "attributes": [],
941
- "slots": [
940
+ "attributes": [
942
941
  {
943
- "name": "",
944
- "description": "The slot for adding child elements or components."
942
+ "name": "input-editable",
943
+ "description": "Enables manual color typing into the input field.",
944
+ "value": { "type": "boolean" }
945
945
  }
946
946
  ],
947
+ "slots": [
948
+ { "name": "", "description": "The card header main content." }
949
+ ],
947
950
  "events": [],
948
951
  "js": {
949
952
  "properties": [
950
953
  {
951
- "name": "className",
952
- "description": "Class name for the Container.",
953
- "type": "string"
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."
954
999
  }
955
1000
  ],
956
1001
  "events": []
@@ -1014,74 +1059,6 @@
1014
1059
  "events": []
1015
1060
  }
1016
1061
  },
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
1062
  {
1086
1063
  "name": "wje-dialog",
1087
1064
  "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.",
@@ -1127,6 +1104,29 @@
1127
1104
  "events": []
1128
1105
  }
1129
1106
  },
1107
+ {
1108
+ "name": "wje-container",
1109
+ "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)_",
1110
+ "doc-url": "",
1111
+ "attributes": [],
1112
+ "slots": [
1113
+ {
1114
+ "name": "",
1115
+ "description": "The slot for adding child elements or components."
1116
+ }
1117
+ ],
1118
+ "events": [],
1119
+ "js": {
1120
+ "properties": [
1121
+ {
1122
+ "name": "className",
1123
+ "description": "Class name for the Container.",
1124
+ "type": "string"
1125
+ }
1126
+ ],
1127
+ "events": []
1128
+ }
1129
+ },
1130
1130
  {
1131
1131
  "name": "wje-divider",
1132
1132
  "description": "Divider is a custom web component that extends WJElement.\nIt provides a simple divider line that can be used to separate content.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Divider.\n- **draw(): _DocumentFragment_** - Draws the Divider.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--wje-border-width** - The size of the border. _(default: 1px)_\n- **--wje-divider-border-color** - The color of the divider borderline. _(default: var(--wje-border-color))_\n- **--wje-divider-border-width** - The width of the divider borderline. _(default: var(--wje-border-width, 1px))_\n- **--wje-divider-spacing** - The spacing for the divider. _(default: 0)_",
@@ -1408,6 +1408,52 @@
1408
1408
  "events": []
1409
1409
  }
1410
1410
  },
1411
+ {
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.",
1414
+ "doc-url": "",
1415
+ "attributes": [],
1416
+ "slots": [
1417
+ {
1418
+ "name": "",
1419
+ "description": "The slot for adding child elements or components."
1420
+ }
1421
+ ],
1422
+ "events": [],
1423
+ "js": {
1424
+ "properties": [
1425
+ {
1426
+ "name": "className",
1427
+ "description": "The class name for the Form class.",
1428
+ "type": "string"
1429
+ }
1430
+ ],
1431
+ "events": []
1432
+ }
1433
+ },
1434
+ {
1435
+ "name": "wje-grid",
1436
+ "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.",
1437
+ "doc-url": "",
1438
+ "attributes": [],
1439
+ "slots": [
1440
+ {
1441
+ "name": "",
1442
+ "description": "The slot for adding child elements or components."
1443
+ }
1444
+ ],
1445
+ "events": [],
1446
+ "js": {
1447
+ "properties": [
1448
+ {
1449
+ "name": "className",
1450
+ "description": "The class name for the Grid class.",
1451
+ "type": "string"
1452
+ }
1453
+ ],
1454
+ "events": []
1455
+ }
1456
+ },
1411
1457
  {
1412
1458
  "name": "wje-format-digital",
1413
1459
  "description": "This element formats and displays digital values such as file sizes or data transfer rates.\n`FormatDigital` is a custom web component that represents a formatted digital value with units like\nbytes or bits. It extends from `WJElement` and utilizes the `Localizer` class for locale-aware formatting.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\nInitializes the shadow DOM.\n- **beforeDraw()** - Prepares the component before rendering.\nComputes the formatted value based on the input value and unit.\n- **draw(): _DocumentFragment_** - Renders the component and returns a document fragment.\nThe rendered structure includes a formatted value wrapped in a container\nwith slots for additional customization.\n\n### **CSS Parts:**\n - **native** - The native part of the component.\n- **formatted** - The part representing the formatted value.\n- **start** - Slot for content before the formatted value.\n- **end** - Slot for content after the formatted value.",
@@ -1456,65 +1502,19 @@
1456
1502
  }
1457
1503
  },
1458
1504
  {
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.",
1505
+ "name": "wje-header",
1506
+ "description": "`Header` is a custom web component that represents a header. It extends from `WJElement`.\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 header content\n\n### **CSS Properties:**\n - **--wje-header-background** - The background of the header element. _(default: var(--wje-background))_\n- **--wje-header-border-color** - The border color of the header element. _(default: var(--wje-border-color))_\n- **--wje-header-border-width** - The border width of the header element. _(default: 0 0 1px 0)_\n- **--wje-header-border-style** - The border styles of the header _(default: solid)_\n- **--wje-header-top** - The position top of the header _(default: 0)_\n- **--wje-header-height** - The height of the header element. _(default: 60px)_\n- **--wje-header-z-index** - The z-index used when the header is sticky. _(default: 100)_\n\n### **CSS Parts:**\n - **native** - The native part",
1461
1507
  "doc-url": "",
1462
1508
  "attributes": [],
1463
1509
  "slots": [
1464
1510
  {
1465
- "name": "",
1466
- "description": "The slot for adding child elements or components."
1511
+ "name": "default",
1512
+ "description": "Default slot for the header content"
1467
1513
  }
1468
1514
  ],
1469
1515
  "events": [],
1470
1516
  "js": {
1471
- "properties": [
1472
- {
1473
- "name": "className",
1474
- "description": "The class name for the Form class.",
1475
- "type": "string"
1476
- }
1477
- ],
1478
- "events": []
1479
- }
1480
- },
1481
- {
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.",
1484
- "doc-url": "",
1485
- "attributes": [],
1486
- "slots": [
1487
- {
1488
- "name": "",
1489
- "description": "The slot for adding child elements or components."
1490
- }
1491
- ],
1492
- "events": [],
1493
- "js": {
1494
- "properties": [
1495
- {
1496
- "name": "className",
1497
- "description": "The class name for the Grid class.",
1498
- "type": "string"
1499
- }
1500
- ],
1501
- "events": []
1502
- }
1503
- },
1504
- {
1505
- "name": "wje-header",
1506
- "description": "`Header` is a custom web component that represents a header. It extends from `WJElement`.\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 header content\n\n### **CSS Properties:**\n - **--wje-header-background** - The background of the header element. _(default: var(--wje-background))_\n- **--wje-header-border-color** - The border color of the header element. _(default: var(--wje-border-color))_\n- **--wje-header-border-width** - The border width of the header element. _(default: 0 0 1px 0)_\n- **--wje-header-border-style** - The border styles of the header _(default: solid)_\n- **--wje-header-top** - The position top of the header _(default: 0)_\n- **--wje-header-height** - The height of the header element. _(default: 60px)_\n- **--wje-header-z-index** - The z-index used when the header is sticky. _(default: 100)_\n\n### **CSS Parts:**\n - **native** - The native part",
1507
- "doc-url": "",
1508
- "attributes": [],
1509
- "slots": [
1510
- {
1511
- "name": "default",
1512
- "description": "Default slot for the header content"
1513
- }
1514
- ],
1515
- "events": [],
1516
- "js": {
1517
- "properties": [{ "name": "className", "type": "string" }],
1517
+ "properties": [{ "name": "className", "type": "string" }],
1518
1518
  "events": []
1519
1519
  }
1520
1520
  },
@@ -2420,23 +2420,6 @@
2420
2420
  "events": []
2421
2421
  }
2422
2422
  },
2423
- {
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.",
2426
- "doc-url": "",
2427
- "attributes": [],
2428
- "slots": [
2429
- { "name": "", "description": "The default slot for the panel." }
2430
- ],
2431
- "events": [],
2432
- "js": {
2433
- "properties": [
2434
- { "name": "className", "type": "string" },
2435
- { "name": "last", "type": "boolean" }
2436
- ],
2437
- "events": []
2438
- }
2439
- },
2440
2423
  {
2441
2424
  "name": "wje-pagination",
2442
2425
  "description": "This class represents the Pagination component for navigating through paginated content and dynamically updating navigation elements based on attributes like the number of items, page size, etc. Extends the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Creates a document fragment, appends a new slot element to it, and returns the fragment.\n- **htmlPagination(): _DocumentFragment_** - Creates a pagination control for navigating between pages of content.\nThis method generates and returns a document fragment containing pagination controls, including buttons for navigating to the first, previous, next, and last pages, as well as optional informational text about the current set of displayed items and total number of items.\n- **htmlStackButtons(paginateObj: _@param {number} paginateObj.currentPage The current active page index (1-based).\n * @param {Array<number>} paginateObj.pages An array of page numbers to display in the pagination.\n * @param {number} paginateObj.totalPages Total number of pages available for pagination.\n * _): _DocumentFragment_** - Creates and returns a DocumentFragment containing a series of buttons for pagination purposes,\nbased on the provided pagination object.\n\n### **CSS Parts:**\n - **native** - The wrapper element for the pagination component.",
@@ -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.",
@@ -2667,45 +2667,6 @@
2667
2667
  "events": []
2668
2668
  }
2669
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
2670
  {
2710
2671
  "name": "wje-qr-code",
2711
2672
  "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 +2734,45 @@
2773
2734
  "events": []
2774
2735
  }
2775
2736
  },
2737
+ {
2738
+ "name": "wje-radio-group",
2739
+ "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.",
2740
+ "doc-url": "",
2741
+ "attributes": [
2742
+ { "name": "required", "value": { "type": "string" } },
2743
+ { "name": "value", "value": { "type": "string" } },
2744
+ { "name": "disabled", "value": { "type": "string" } },
2745
+ { "name": "invalid", "value": { "type": "string" } },
2746
+ { "name": "label", "value": { "type": "string" } }
2747
+ ],
2748
+ "slots": [
2749
+ {
2750
+ "name": "",
2751
+ "description": "The default slot for the radio group."
2752
+ }
2753
+ ],
2754
+ "events": [],
2755
+ "js": {
2756
+ "properties": [
2757
+ {
2758
+ "name": "value",
2759
+ "description": "Getter for the value attribute."
2760
+ },
2761
+ {
2762
+ "name": "required",
2763
+ "description": "Getter for the name attribute."
2764
+ },
2765
+ {
2766
+ "name": "label",
2767
+ "description": "Getter for the label attribute."
2768
+ },
2769
+ { "name": "className", "type": "string" },
2770
+ { "name": "invalid", "type": "boolean" },
2771
+ { "name": "pristine", "type": "boolean" }
2772
+ ],
2773
+ "events": []
2774
+ }
2775
+ },
2776
2776
  {
2777
2777
  "name": "wje-rate",
2778
2778
  "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.",
@@ -2884,44 +2884,40 @@
2884
2884
  }
2885
2885
  },
2886
2886
  {
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.",
2887
+ "name": "wje-reorder-dropzone",
2888
+ "description": "This element represents a reorder dropzone.\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 dropzone.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder dropzone.",
2889
2889
  "doc-url": "",
2890
2890
  "attributes": [],
2891
2891
  "slots": [
2892
2892
  {
2893
2893
  "name": "",
2894
- "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2894
+ "description": "The default slot for the reorder dropzone."
2895
2895
  }
2896
2896
  ],
2897
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2897
+ "events": [],
2898
2898
  "js": {
2899
2899
  "properties": [
2900
2900
  {
2901
2901
  "name": "className",
2902
2902
  "description": "The class name for the component.",
2903
2903
  "type": "string"
2904
- },
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" }
2904
+ }
2912
2905
  ],
2913
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2906
+ "events": []
2914
2907
  }
2915
2908
  },
2916
2909
  {
2917
- "name": "wje-reorder-dropzone",
2918
- "description": "This element represents a reorder dropzone.\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 dropzone.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder dropzone.",
2910
+ "name": "wje-reorder-handle",
2911
+ "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.",
2919
2912
  "doc-url": "",
2920
- "attributes": [],
2913
+ "attributes": [
2914
+ { "name": "dropzone", "value": { "type": "string" } },
2915
+ { "name": "parent", "value": { "type": "string" } }
2916
+ ],
2921
2917
  "slots": [
2922
2918
  {
2923
2919
  "name": "",
2924
- "description": "The default slot for the reorder dropzone."
2920
+ "description": "The default slot for the reorder handle."
2925
2921
  }
2926
2922
  ],
2927
2923
  "events": [],
@@ -2937,29 +2933,33 @@
2937
2933
  }
2938
2934
  },
2939
2935
  {
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.",
2936
+ "name": "wje-reorder",
2937
+ "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.",
2942
2938
  "doc-url": "",
2943
- "attributes": [
2944
- { "name": "dropzone", "value": { "type": "string" } },
2945
- { "name": "parent", "value": { "type": "string" } }
2946
- ],
2939
+ "attributes": [],
2947
2940
  "slots": [
2948
2941
  {
2949
2942
  "name": "",
2950
- "description": "The default slot for the reorder handle."
2943
+ "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2951
2944
  }
2952
2945
  ],
2953
- "events": [],
2946
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2954
2947
  "js": {
2955
2948
  "properties": [
2956
2949
  {
2957
2950
  "name": "className",
2958
2951
  "description": "The class name for the component.",
2959
2952
  "type": "string"
2960
- }
2953
+ },
2954
+ { "name": "dragEl", "type": "null" },
2955
+ { "name": "items", "type": "array" },
2956
+ { "name": "originalIndex", "type": "null" },
2957
+ { "name": "isDragging", "type": "boolean" },
2958
+ { "name": "offsetX", "type": "number" },
2959
+ { "name": "offsetY", "type": "number" },
2960
+ { "name": "cloneEl", "type": "null" }
2961
2961
  ],
2962
- "events": []
2962
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2963
2963
  }
2964
2964
  },
2965
2965
  {
@@ -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.",
@@ -3036,6 +3025,34 @@
3036
3025
  "events": []
3037
3026
  }
3038
3027
  },
3028
+ {
3029
+ "name": "wje-route",
3030
+ "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.",
3031
+ "doc-url": "",
3032
+ "attributes": [],
3033
+ "events": [],
3034
+ "js": {
3035
+ "properties": [{ "name": "className", "type": "string" }],
3036
+ "events": []
3037
+ }
3038
+ },
3039
+ {
3040
+ "name": "wje-router-outlet",
3041
+ "description": "This element represents a route in a routing system.\n---\n",
3042
+ "doc-url": "",
3043
+ "attributes": [],
3044
+ "events": [],
3045
+ "js": {
3046
+ "properties": [
3047
+ {
3048
+ "name": "className",
3049
+ "description": "The class name for the component.",
3050
+ "type": "string"
3051
+ }
3052
+ ],
3053
+ "events": []
3054
+ }
3055
+ },
3039
3056
  {
3040
3057
  "name": "wje-row",
3041
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.",
@@ -3057,72 +3074,11 @@
3057
3074
  }
3058
3075
  },
3059
3076
  {
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.",
3077
+ "name": "wje-select",
3078
+ "description": "\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the select.\n- **afterDraw(): _void_** - Executes post-render logic for the custom element.\nThis includes validation, event listener registration, managing custom attributes, and\nhandling options initialization for the component.\n- **getAllOptions(): _NodeList_** - Returns all the options as HTML.\n- **selectionChanged(options: _Array|null_, length: _number_): _void_** - Handles changes in the selection for a component, updating internal values, input fields,\nand visual presentation (like chips or slots) as per the given selection options.\n- **selections(silence: _boolean_): _void_** - Handles the logic for updating selections based on the current selected options,\nupdating chips content, and dispatching change events if necessary.\n- **counter(): _void_** - Updates the counter element to reflect the current state of selected values relative to the maximum allowed options.\nIf the maximum options are selected, the counter element is removed. If it does not already exist and needs to be displayed, it is created.\n- **getChip(option: _object_): _HTMLElement_** - Creates and returns a chip element with specified properties and a label.\n- **htmlOption(item: _object_, map: _@param {string} [map.value] The property of the item to use for the option's value.\n\t * @param {string} [map.text] The property of the item to use for the option's text.\n\t * _): _HTMLElement_** - Generates an HTML option element based on the provided item and mapping.\n- **htmlSelectedItem(item: _any_): _any_** - Returns the provided item.\n- **addOption(optionData: _object_, silent: _boolean_, map: _@param {string} [map.value] The key in optionData that represents the value of the option.\n\t * @param {string} [map.text] The key in optionData that represents the text of the option.\n\t * _): _void_** - Adds a new option to the component.\n- **addOptions(optionsData: _Array | object_, silent: _boolean_, map: _@param {string} [map.value] The property in the optionsData that represents the value of the option.\n\t * @param {string} [map.text] The property in the optionsData that represents the text of the option.\n\t * _): _void_** - Adds one or more options to a collection. If the input is an array, it adds each option within the array.\nOtherwise, it adds a single option.\n- **selectOption(value: _string_, silent: _boolean_): _void_** - Selects an option from the available options within the component.\n- **selectOptions(values: _any|any[]_, silent: _boolean_): _void_** - Selects multiple options based on the provided values. If a single value is provided, it selects that option.\nIf an array of values is provided, it iterates through the array and selects each option.\n- **optionCheckSlot(option: _HTMLElement_): _void_** - Clones and appends an icon with the \"check\" slot to the specified option element.\nIf the option already contains a custom element with slot=\"check\" (e.g. <wje-status slot=\"check\">),\nit is left untouched and no template icon is added.\n- **clearSelections(): _void_** - Clears all selected options and resets selections.\nThe method ensures that all options are deselected, updates the internal state, validates the selections,\npropagates the validation status, and indicates invalid state if necessary.\n- **syncAria()** - Syncs ARIA attributes on the host element.",
3062
3079
  "doc-url": "",
3063
3080
  "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",
3106
- "doc-url": "",
3107
- "attributes": [],
3108
- "events": [],
3109
- "js": {
3110
- "properties": [
3111
- {
3112
- "name": "className",
3113
- "description": "The class name for the component.",
3114
- "type": "string"
3115
- }
3116
- ],
3117
- "events": []
3118
- }
3119
- },
3120
- {
3121
- "name": "wje-select",
3122
- "description": "\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the select.\n- **afterDraw(): _void_** - Executes post-render logic for the custom element.\nThis includes validation, event listener registration, managing custom attributes, and\nhandling options initialization for the component.\n- **getAllOptions(): _NodeList_** - Returns all the options as HTML.\n- **selectionChanged(options: _Array|null_, length: _number_): _void_** - Handles changes in the selection for a component, updating internal values, input fields,\nand visual presentation (like chips or slots) as per the given selection options.\n- **selections(silence: _boolean_): _void_** - Handles the logic for updating selections based on the current selected options,\nupdating chips content, and dispatching change events if necessary.\n- **counter(): _void_** - Updates the counter element to reflect the current state of selected values relative to the maximum allowed options.\nIf the maximum options are selected, the counter element is removed. If it does not already exist and needs to be displayed, it is created.\n- **getChip(option: _object_): _HTMLElement_** - Creates and returns a chip element with specified properties and a label.\n- **htmlOption(item: _object_, map: _@param {string} [map.value] The property of the item to use for the option's value.\n\t * @param {string} [map.text] The property of the item to use for the option's text.\n\t * _): _HTMLElement_** - Generates an HTML option element based on the provided item and mapping.\n- **htmlSelectedItem(item: _any_): _any_** - Returns the provided item.\n- **addOption(optionData: _object_, silent: _boolean_, map: _@param {string} [map.value] The key in optionData that represents the value of the option.\n\t * @param {string} [map.text] The key in optionData that represents the text of the option.\n\t * _): _void_** - Adds a new option to the component.\n- **addOptions(optionsData: _Array | object_, silent: _boolean_, map: _@param {string} [map.value] The property in the optionsData that represents the value of the option.\n\t * @param {string} [map.text] The property in the optionsData that represents the text of the option.\n\t * _): _void_** - Adds one or more options to a collection. If the input is an array, it adds each option within the array.\nOtherwise, it adds a single option.\n- **selectOption(value: _string_, silent: _boolean_): _void_** - Selects an option from the available options within the component.\n- **selectOptions(values: _any|any[]_, silent: _boolean_): _void_** - Selects multiple options based on the provided values. If a single value is provided, it selects that option.\nIf an array of values is provided, it iterates through the array and selects each option.\n- **optionCheckSlot(option: _HTMLElement_): _void_** - Clones and appends an icon with the \"check\" slot to the specified option element.\nIf the option already contains a custom element with slot=\"check\" (e.g. <wje-status slot=\"check\">),\nit is left untouched and no template icon is added.\n- **clearSelections(): _void_** - Clears all selected options and resets selections.\nThe method ensures that all options are deselected, updates the internal state, validates the selections,\npropagates the validation status, and indicates invalid state if necessary.\n- **syncAria()** - Syncs ARIA attributes on the host element.",
3123
- "doc-url": "",
3124
- "attributes": [
3125
- { "name": "active", "value": { "type": "string" } },
3081
+ { "name": "active", "value": { "type": "string" } },
3126
3082
  { "name": "disabled", "value": { "type": "string" } },
3127
3083
  { "name": "readonly", "value": { "type": "string" } },
3128
3084
  { "name": "portaled", "value": { "type": "string" } }
@@ -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.",
@@ -3649,6 +3649,26 @@
3649
3649
  "events": []
3650
3650
  }
3651
3651
  },
3652
+ {
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.",
3655
+ "doc-url": "",
3656
+ "attributes": [],
3657
+ "slots": [
3658
+ { "name": "", "description": "The default slot for the tab panel." }
3659
+ ],
3660
+ "events": [],
3661
+ "js": {
3662
+ "properties": [
3663
+ {
3664
+ "name": "className",
3665
+ "description": "The class name for the component.",
3666
+ "type": "string"
3667
+ }
3668
+ ],
3669
+ "events": []
3670
+ }
3671
+ },
3652
3672
  {
3653
3673
  "name": "wje-textarea",
3654
3674
  "description": "This element represents a textarea input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the textarea.\n- **afterDraw()** - Sets up the event listeners after the component is drawn.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Disconnects the component.\n\n### **CSS Properties:**\n - **--wje-textarea-font-family** - Specifies the font family used for the textarea. Accepts any valid CSS font-family value. _(default: var(--wje-font-family))_\n- **--wje-textarea-background-color** - Sets the background color of the textarea. Accepts any valid CSS color value. _(default: var(--wje-background))_\n- **--wje-textarea-color** - Defines the text color within the textarea. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-textarea-color-invalid** - Changes the text color of the textarea when it is invalid. Useful for highlighting validation errors. _(default: var(--wje-color-danger))_\n- **--wje-textarea-error-background-color** - Controls the background color of the validation error bubble. _(default: var(--wje-tooltip-background))_\n- **--wje-textarea-error-color** - Controls the text color of the validation error bubble. _(default: var(--wje-tooltip-color))_\n- **--wje-textarea-border-width** - Specifies the width of the textarea's border. Accepts any valid CSS length unit. _(default: 1px)_\n- **--wje-textarea-border-style** - Sets the style of the textarea's border. Accepts standard CSS border styles such as `solid`, `dashed`, or `dotted`. _(default: solid)_\n- **--wje-textarea-border-color** - Defines the border color of the textarea. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-textarea-border-color-focus** - Specifies the border color of the textarea when it is focused. Enhances the user experience by providing visual feedback. _(default: var(--wje-color-primary))_\n- **--wje-textarea-border-radius** - Determines the border radius of the textarea, defining how rounded its corners are. Accepts any valid CSS length unit. _(default: 4px)_\n- **--wje-textarea-margin-bottom** - Sets the bottom margin of the textarea. Ensures spacing between the textarea and other elements. _(default: .5rem)_\n- **--wje-textarea-line-height** - Specifies the line height of the text within the textarea. Helps control the vertical spacing of the text. _(default: 20px)_\n- **--wje-textarea-padding** - Defines the padding inside the textarea. Controls the spacing between the content and the border. _(default: 0.5rem)_\n\n### **CSS Parts:**\n - **native** - The native textarea wrapper.\n- **input** - The textarea input.\n- **wrapper** - The textarea wrapper.",
@@ -3695,26 +3715,6 @@
3695
3715
  "events": []
3696
3716
  }
3697
3717
  },
3698
- {
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.",
3701
- "doc-url": "",
3702
- "attributes": [],
3703
- "slots": [
3704
- { "name": "", "description": "The default slot for the tab panel." }
3705
- ],
3706
- "events": [],
3707
- "js": {
3708
- "properties": [
3709
- {
3710
- "name": "className",
3711
- "description": "The class name for the component.",
3712
- "type": "string"
3713
- }
3714
- ],
3715
- "events": []
3716
- }
3717
- },
3718
3718
  {
3719
3719
  "name": "wje-timeline",
3720
3720
  "description": "This element represents a timeline.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the timeline.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - _default_ - Slot for the timeline items.\n\n### **CSS Parts:**\n - **native** - The native part of the rating component.\n- **vertical-line** - The vertical line part of the rating component.",
@@ -3735,29 +3735,6 @@
3735
3735
  "events": []
3736
3736
  }
3737
3737
  },
3738
- {
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))_",
3741
- "doc-url": "",
3742
- "attributes": [],
3743
- "slots": [
3744
- {
3745
- "name": "thumbnail-slot",
3746
- "description": "The slot for the thumbnail content."
3747
- }
3748
- ],
3749
- "events": [],
3750
- "js": {
3751
- "properties": [
3752
- {
3753
- "name": "className",
3754
- "description": "The class name for the component",
3755
- "type": "string"
3756
- }
3757
- ],
3758
- "events": []
3759
- }
3760
- },
3761
3738
  {
3762
3739
  "name": "wje-timeline-item",
3763
3740
  "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.",
@@ -3912,32 +3889,6 @@
3912
3889
  "events": []
3913
3890
  }
3914
3891
  },
3915
- {
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.",
3918
- "doc-url": "",
3919
- "attributes": [],
3920
- "slots": [
3921
- {
3922
- "name": "start",
3923
- "description": "The start slot for the toolbar."
3924
- },
3925
- { "name": "end", "description": "The end slot for the toolbar." }
3926
- ],
3927
- "events": [],
3928
- "js": {
3929
- "properties": [
3930
- {
3931
- "name": "className",
3932
- "description": "The class name for the component.",
3933
- "type": "string"
3934
- },
3935
- { "name": "_breadcrumbState" },
3936
- { "name": "_responsiveFrame", "type": "null" }
3937
- ],
3938
- "events": []
3939
- }
3940
- },
3941
3892
  {
3942
3893
  "name": "wje-toggle",
3943
3894
  "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.",
@@ -3977,53 +3928,50 @@
3977
3928
  }
3978
3929
  },
3979
3930
  {
3980
- "name": "wje-tooltip",
3981
- "description": "This element represents a tooltip.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the tooltip.\n- **afterDraw()** - Draws the component for the tooltip.\n- **checkSelector(anchorEl: _HTMLElement_): _HTMLElement|null_** - Validates if the specified selector exists within the provided element.\nLogs an error if the selector is not found and returns the found element or `null`.\n\n### **Slots:**\n - **arrow** - The arrow slot for the tooltip.\n- **anchor** - The anchor slot for the tooltip.\n\n### **CSS Properties:**\n - **--wje-tooltip-arrow-color** - Specifies the color of the tooltip's arrow. This property determines the visual color of the arrow that points to the element the tooltip is attached to. Accepts any valid CSS color value such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-color-contrast-11))_\n\n### **CSS Parts:**\n - **native** - The native tooltip wrapper.",
3931
+ "name": "wje-thumbnail",
3932
+ "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))_",
3982
3933
  "doc-url": "",
3983
- "attributes": [
3984
- { "name": "active", "value": { "type": "string" } },
3934
+ "attributes": [],
3935
+ "slots": [
3985
3936
  {
3986
- "name": "content",
3987
- "description": "The content of the tooltip element. Accepts any valid string value.",
3988
- "value": { "type": "string" }
3937
+ "name": "thumbnail-slot",
3938
+ "description": "The slot for the thumbnail content."
3989
3939
  }
3990
3940
  ],
3941
+ "events": [],
3942
+ "js": {
3943
+ "properties": [
3944
+ {
3945
+ "name": "className",
3946
+ "description": "The class name for the component",
3947
+ "type": "string"
3948
+ }
3949
+ ],
3950
+ "events": []
3951
+ }
3952
+ },
3953
+ {
3954
+ "name": "wje-toolbar",
3955
+ "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.",
3956
+ "doc-url": "",
3957
+ "attributes": [],
3991
3958
  "slots": [
3992
3959
  {
3993
- "name": "arrow",
3994
- "description": "The arrow slot for the tooltip."
3960
+ "name": "start",
3961
+ "description": "The start slot for the toolbar."
3995
3962
  },
3996
- {
3997
- "name": "anchor",
3998
- "description": "The anchor slot for the tooltip."
3999
- }
3963
+ { "name": "end", "description": "The end slot for the toolbar." }
4000
3964
  ],
4001
3965
  "events": [],
4002
3966
  "js": {
4003
3967
  "properties": [
4004
- {
4005
- "name": "dependencies",
4006
- "description": "Dependencies of the Button element.",
4007
- "type": "object"
4008
- },
4009
- {
4010
- "name": "content",
4011
- "description": "Get active attribute for the tooltip element."
4012
- },
4013
3968
  {
4014
3969
  "name": "className",
4015
3970
  "description": "The class name for the component.",
4016
3971
  "type": "string"
4017
3972
  },
4018
- { "name": "popupHideCallback" },
4019
- {
4020
- "name": "onShow",
4021
- "description": "Handles the logic for showing the component's popup or tooltip.\nAdds the `active` class, invokes lifecycle hooks, and manages the popup visibility."
4022
- },
4023
- {
4024
- "name": "onHide",
4025
- "description": "Hides the component's popup or tooltip.\nRemoves the `active` class from the component and hides the popup element."
4026
- }
3973
+ { "name": "_breadcrumbState" },
3974
+ { "name": "_responsiveFrame", "type": "null" }
4027
3975
  ],
4028
3976
  "events": []
4029
3977
  }
@@ -4075,11 +4023,12 @@
4075
4023
  },
4076
4024
  {
4077
4025
  "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 items container. _(default: var(--wje-border-radius-medium))_\n\n### **CSS Parts:**\n - **native** - The native container of the tree item.",
4026
+ "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.",
4079
4027
  "doc-url": "",
4080
4028
  "attributes": [
4081
4029
  { "name": "selected", "value": { "type": "string" } },
4082
- { "name": "indeterminate", "value": { "type": "string" } }
4030
+ { "name": "indeterminate", "value": { "type": "string" } },
4031
+ { "name": "expanded", "value": { "type": "string" } }
4083
4032
  ],
4084
4033
  "slots": [
4085
4034
  {
@@ -4116,11 +4065,69 @@
4116
4065
  "events": []
4117
4066
  }
4118
4067
  },
4068
+ {
4069
+ "name": "wje-tooltip",
4070
+ "description": "This element represents a tooltip.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the tooltip.\n- **afterDraw()** - Draws the component for the tooltip.\n- **checkSelector(anchorEl: _HTMLElement_): _HTMLElement|null_** - Validates if the specified selector exists within the provided element.\nLogs an error if the selector is not found and returns the found element or `null`.\n\n### **Slots:**\n - **arrow** - The arrow slot for the tooltip.\n- **anchor** - The anchor slot for the tooltip.\n\n### **CSS Properties:**\n - **--wje-tooltip-arrow-color** - Specifies the color of the tooltip's arrow. This property determines the visual color of the arrow that points to the element the tooltip is attached to. Accepts any valid CSS color value such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-color-contrast-11))_\n\n### **CSS Parts:**\n - **native** - The native tooltip wrapper.",
4071
+ "doc-url": "",
4072
+ "attributes": [
4073
+ { "name": "active", "value": { "type": "string" } },
4074
+ {
4075
+ "name": "content",
4076
+ "description": "The content of the tooltip element. Accepts any valid string value.",
4077
+ "value": { "type": "string" }
4078
+ }
4079
+ ],
4080
+ "slots": [
4081
+ {
4082
+ "name": "arrow",
4083
+ "description": "The arrow slot for the tooltip."
4084
+ },
4085
+ {
4086
+ "name": "anchor",
4087
+ "description": "The anchor slot for the tooltip."
4088
+ }
4089
+ ],
4090
+ "events": [],
4091
+ "js": {
4092
+ "properties": [
4093
+ {
4094
+ "name": "dependencies",
4095
+ "description": "Dependencies of the Button element.",
4096
+ "type": "object"
4097
+ },
4098
+ {
4099
+ "name": "content",
4100
+ "description": "Get active attribute for the tooltip element."
4101
+ },
4102
+ {
4103
+ "name": "className",
4104
+ "description": "The class name for the component.",
4105
+ "type": "string"
4106
+ },
4107
+ { "name": "popupHideCallback" },
4108
+ {
4109
+ "name": "onShow",
4110
+ "description": "Handles the logic for showing the component's popup or tooltip.\nAdds the `active` class, invokes lifecycle hooks, and manages the popup visibility."
4111
+ },
4112
+ {
4113
+ "name": "onHide",
4114
+ "description": "Hides the component's popup or tooltip.\nRemoves the `active` class from the component and hides the popup element."
4115
+ }
4116
+ ],
4117
+ "events": []
4118
+ }
4119
+ },
4119
4120
  {
4120
4121
  "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.",
4122
+ "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.",
4122
4123
  "doc-url": "",
4123
- "attributes": [],
4124
+ "attributes": [
4125
+ {
4126
+ "name": "reorder",
4127
+ "description": "Enables moving tree items by dragging direct start slot content.",
4128
+ "value": { "type": "boolean" }
4129
+ }
4130
+ ],
4124
4131
  "slots": [
4125
4132
  {
4126
4133
  "name": "",
@@ -4134,6 +4141,10 @@
4134
4141
  "name": "selection",
4135
4142
  "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
4136
4143
  },
4144
+ {
4145
+ "name": "reorder",
4146
+ "description": "Indicates whether tree items can be reordered with the start slot handle."
4147
+ },
4137
4148
  {
4138
4149
  "name": "className",
4139
4150
  "description": "The class name for the component.",
@@ -4142,7 +4153,26 @@
4142
4153
  {
4143
4154
  "name": "handleClick",
4144
4155
  "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
- }
4156
+ },
4157
+ {
4158
+ "name": "handleDragStart",
4159
+ "description": "Starts dragging a tree item when the drag begins from the configured start slot handle."
4160
+ },
4161
+ {
4162
+ "name": "handleDragOver",
4163
+ "description": "Updates the current drop target and exposes a visual drop position."
4164
+ },
4165
+ {
4166
+ "name": "handleDrop",
4167
+ "description": "Completes a tree item move."
4168
+ },
4169
+ {
4170
+ "name": "handleDragEnd",
4171
+ "description": "Clears drag state after the browser drag operation ends."
4172
+ },
4173
+ { "name": "draggedItem", "type": "null" },
4174
+ { "name": "dropTarget", "type": "null" },
4175
+ { "name": "dropPosition", "type": "null" }
4146
4176
  ],
4147
4177
  "events": []
4148
4178
  }