wj-elements 0.7.5 → 0.7.6

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.5",
4
+ "version": "0.7.6",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -517,7 +517,7 @@
517
517
  },
518
518
  {
519
519
  "name": "wje-button",
520
- "description": "This class represents Button element, extending the WJElement class.\n---\n\n\n### **Events:**\n \n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **draw(): _object_** - Draw method for the Button element.\n- **afterDraw()** - After draw method for the Button element.\n- **beforeDisconnect()** - Before disconnect method for the Button element.\n- **syncToggleState()** - Keeps toggle slot visibility aligned with the current value.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n\n### **Slots:**\n - _default_ - The button main content.\n- **icon** - The button icon.\n- **caret** - The button caret.\n- **start** - The button start slot.\n- **end** - The button end slot.\n- **toggle** - The button toggle slot.\n\n### **CSS Properties:**\n - **--wje-button-background-color** - Background color of the component; _(default: transparent)_\n- **--wje-button-border-color** - Border color of the component; _(default: --wje-color-contrast-4)_\n- **--wje-button-color** - Color of the component; _(default: --wje-color-contrast-11)_\n- **--wje-button-border-radius** - Border radius of the component; _(default: --wje-border-radius-medium)_\n- **--wje-button-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-button-border-style** - Border style of the component; _(default: solid)_\n- **--wje-button-border-color** - Border color of the component; _(default: --wje-color-contrast-1)_\n- **--wje-button-margin-inline** - Margin inline of the component; _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
520
+ "description": "This class represents Button element, extending the WJElement class.\n---\n\n\n### **Events:**\n \n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **draw(): _object_** - Draw method for the Button element.\n- **afterDraw()** - After draw method for the Button element.\n- **beforeDisconnect()** - Before disconnect method for the Button element.\n- **syncToggleState()** - Keeps toggle slot visibility aligned with the current value.\n- **syncAria()** - Syncs accessibility attributes on the internal native control.\n\n### **Slots:**\n - _default_ - The button main content.\n- **icon** - The button icon.\n- **icon-only** - The icon used when the button has no visible text.\n- **caret** - The button caret.\n- **start** - The button start slot.\n- **end** - The button end slot.\n- **toggle** - The button toggle slot.\n\n### **CSS Properties:**\n - **--wje-button-background-color** - Background color of the component; _(default: transparent)_\n- **--wje-button-border-color** - Border color of the component; _(default: --wje-color-contrast-4)_\n- **--wje-button-color** - Color of the component; _(default: --wje-color-contrast-11)_\n- **--wje-button-border-radius** - Border radius of the component; _(default: --wje-border-radius-medium)_\n- **--wje-button-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-button-border-style** - Border style of the component; _(default: solid)_\n- **--wje-button-border-color** - Border color of the component; _(default: --wje-color-contrast-1)_\n- **--wje-button-margin-inline** - Margin inline of the component; _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
521
521
  "doc-url": "",
522
522
  "attributes": [
523
523
  { "name": "disabled", "value": { "type": "string" } },
@@ -525,11 +525,21 @@
525
525
  { "name": "value", "value": { "type": "string" } },
526
526
  { "name": "active", "value": { "type": "string" } },
527
527
  { "name": "href", "value": { "type": "string" } },
528
- { "name": "toggle", "value": { "type": "string" } }
528
+ { "name": "toggle", "value": { "type": "string" } },
529
+ {
530
+ "name": "label",
531
+ "description": "Accessible name forwarded to the internal native button or link.",
532
+ "value": { "type": "string" }
533
+ },
534
+ { "name": "aria-label", "value": { "type": "string" } }
529
535
  ],
530
536
  "slots": [
531
537
  { "name": "", "description": "The button main content." },
532
538
  { "name": "icon", "description": "The button icon." },
539
+ {
540
+ "name": "icon-only",
541
+ "description": "The icon used when the button has no visible text."
542
+ },
533
543
  { "name": "caret", "description": "The button caret." },
534
544
  { "name": "start", "description": "The button start slot." },
535
545
  { "name": "end", "description": "The button end slot." },
@@ -559,6 +569,10 @@
559
569
  "name": "tooltip",
560
570
  "description": "Get variant of the Button element."
561
571
  },
572
+ {
573
+ "name": "label",
574
+ "description": "Get the accessible label of the Button element."
575
+ },
562
576
  {
563
577
  "name": "dialog",
564
578
  "description": "Get variant of the Button element."
@@ -746,6 +760,26 @@
746
760
  "events": []
747
761
  }
748
762
  },
763
+ {
764
+ "name": "wje-card-title",
765
+ "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)_",
766
+ "doc-url": "",
767
+ "attributes": [],
768
+ "slots": [
769
+ { "name": "", "description": "The card title main content." }
770
+ ],
771
+ "events": [],
772
+ "js": {
773
+ "properties": [
774
+ {
775
+ "name": "className",
776
+ "description": "Class name for the CardTitle.",
777
+ "type": "string"
778
+ }
779
+ ],
780
+ "events": []
781
+ }
782
+ },
749
783
  {
750
784
  "name": "wje-carousel",
751
785
  "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)_",
@@ -803,26 +837,6 @@
803
837
  "events": []
804
838
  }
805
839
  },
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
840
  {
827
841
  "name": "wje-checkbox",
828
842
  "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.",
@@ -1002,59 +1016,24 @@
1002
1016
  }
1003
1017
  },
1004
1018
  {
1005
- "name": "wje-copy-button",
1006
- "description": "CopyButton is a custom web component that extends WJElement.\nIt provides a button that, when clicked, copies a specified text to the clipboard.\nThe text to be copied can be specified through the `value` attribute.\nThe CopyButton also supports keyboard interaction, copying the text when the space or enter key is pressed.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CopyButton.\n- **draw(): _DocumentFragment_** - Draws the ColorPicker element.\n- **afterDraw()** - Adds event listeners for the click, focus, and blur events.\n- **syncAria()** - Sync ARIA attributes on host.\n- **copy(button: _HTMLElement_)** - Copies the specified text or node.\n- **copyTarget(content: _HTMLElement_): _Promise_** - Copies the target content.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--text-color** - Controls the color of the text. _(default: undefined)_\n- **--background-color** - Controls the background color of the button. //@fires wje:copy-button - Dispatched when the button is clicked and the text is copied. _(default: undefined)_\n\n### **CSS Parts:**\n - **button** - Styles the button element.",
1019
+ "name": "wje-container",
1020
+ "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)_",
1007
1021
  "doc-url": "",
1008
- "attributes": [
1009
- {
1010
- "name": "for",
1011
- "description": "The id of the element to copy content from.",
1012
- "value": { "type": "string" }
1013
- },
1014
- {
1015
- "name": "label",
1016
- "description": "Accessible label for the button. Also used as fallback tooltip text when the `tooltip` attribute is present without a value.",
1017
- "value": { "type": "string" }
1018
- },
1019
- {
1020
- "name": "label-success",
1021
- "description": "Text displayed in the tooltip after a successful copy. Used only when the `tooltip` attribute is present.",
1022
- "value": { "type": "string" }
1023
- },
1024
- {
1025
- "name": "tooltip",
1026
- "description": "Enables the tooltip. When set to a string, the value is used as the default tooltip content.",
1027
- "value": { "type": "string" }
1028
- },
1022
+ "attributes": [],
1023
+ "slots": [
1029
1024
  {
1030
- "name": "value",
1031
- "description": "The text to be copied.",
1032
- "value": { "type": "string" }
1025
+ "name": "",
1026
+ "description": "The slot for adding child elements or components."
1033
1027
  }
1034
1028
  ],
1035
- "slots": [
1036
- { "name": "", "description": "This is a default/unnamed slot." }
1037
- ],
1038
1029
  "events": [],
1039
1030
  "js": {
1040
1031
  "properties": [
1041
1032
  {
1042
- "name": "value",
1043
- "description": "Getter for the value property."
1044
- },
1045
- { "name": "className", "type": "string" },
1046
- { "name": "clicked", "description": "Handles the click event." },
1047
- {
1048
- "name": "keydown",
1049
- "description": "Handles the keydown event."
1050
- },
1051
- { "name": "focused", "description": "Handles the focus event." },
1052
- { "name": "blurred", "description": "Handles the blur event." },
1053
- {
1054
- "name": "copied",
1055
- "description": "Handles the copied event.\nYou can override this method to customize the behavior when the text is copied."
1056
- },
1057
- { "name": "timeout", "type": "number" }
1033
+ "name": "className",
1034
+ "description": "Class name for the Container.",
1035
+ "type": "string"
1036
+ }
1058
1037
  ],
1059
1038
  "events": []
1060
1039
  }
@@ -1105,24 +1084,59 @@
1105
1084
  }
1106
1085
  },
1107
1086
  {
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)_",
1087
+ "name": "wje-copy-button",
1088
+ "description": "CopyButton is a custom web component that extends WJElement.\nIt provides a button that, when clicked, copies a specified text to the clipboard.\nThe text to be copied can be specified through the `value` attribute.\nThe CopyButton also supports keyboard interaction, copying the text when the space or enter key is pressed.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CopyButton.\n- **draw(): _DocumentFragment_** - Draws the ColorPicker element.\n- **afterDraw()** - Adds event listeners for the click, focus, and blur events.\n- **syncAria()** - Sync ARIA attributes on host.\n- **copy(button: _HTMLElement_)** - Copies the specified text or node.\n- **copyTarget(content: _HTMLElement_): _Promise_** - Copies the target content.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--text-color** - Controls the color of the text. _(default: undefined)_\n- **--background-color** - Controls the background color of the button. //@fires wje:copy-button - Dispatched when the button is clicked and the text is copied. _(default: undefined)_\n\n### **CSS Parts:**\n - **button** - Styles the button element.",
1110
1089
  "doc-url": "",
1111
- "attributes": [],
1112
- "slots": [
1090
+ "attributes": [
1113
1091
  {
1114
- "name": "",
1115
- "description": "The slot for adding child elements or components."
1092
+ "name": "for",
1093
+ "description": "The id of the element to copy content from.",
1094
+ "value": { "type": "string" }
1095
+ },
1096
+ {
1097
+ "name": "label",
1098
+ "description": "Accessible label for the button. Also used as fallback tooltip text when the `tooltip` attribute is present without a value.",
1099
+ "value": { "type": "string" }
1100
+ },
1101
+ {
1102
+ "name": "label-success",
1103
+ "description": "Text displayed in the tooltip after a successful copy. Used only when the `tooltip` attribute is present.",
1104
+ "value": { "type": "string" }
1105
+ },
1106
+ {
1107
+ "name": "tooltip",
1108
+ "description": "Enables the tooltip. When set to a string, the value is used as the default tooltip content.",
1109
+ "value": { "type": "string" }
1110
+ },
1111
+ {
1112
+ "name": "value",
1113
+ "description": "The text to be copied.",
1114
+ "value": { "type": "string" }
1116
1115
  }
1117
1116
  ],
1117
+ "slots": [
1118
+ { "name": "", "description": "This is a default/unnamed slot." }
1119
+ ],
1118
1120
  "events": [],
1119
1121
  "js": {
1120
1122
  "properties": [
1121
1123
  {
1122
- "name": "className",
1123
- "description": "Class name for the Container.",
1124
- "type": "string"
1125
- }
1124
+ "name": "value",
1125
+ "description": "Getter for the value property."
1126
+ },
1127
+ { "name": "className", "type": "string" },
1128
+ { "name": "clicked", "description": "Handles the click event." },
1129
+ {
1130
+ "name": "keydown",
1131
+ "description": "Handles the keydown event."
1132
+ },
1133
+ { "name": "focused", "description": "Handles the focus event." },
1134
+ { "name": "blurred", "description": "Handles the blur event." },
1135
+ {
1136
+ "name": "copied",
1137
+ "description": "Handles the copied event.\nYou can override this method to customize the behavior when the text is copied."
1138
+ },
1139
+ { "name": "timeout", "type": "number" }
1126
1140
  ],
1127
1141
  "events": []
1128
1142
  }
@@ -1431,29 +1445,6 @@
1431
1445
  "events": []
1432
1446
  }
1433
1447
  },
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
- },
1457
1448
  {
1458
1449
  "name": "wje-format-digital",
1459
1450
  "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.",
@@ -1501,6 +1492,29 @@
1501
1492
  "events": []
1502
1493
  }
1503
1494
  },
1495
+ {
1496
+ "name": "wje-grid",
1497
+ "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.",
1498
+ "doc-url": "",
1499
+ "attributes": [],
1500
+ "slots": [
1501
+ {
1502
+ "name": "",
1503
+ "description": "The slot for adding child elements or components."
1504
+ }
1505
+ ],
1506
+ "events": [],
1507
+ "js": {
1508
+ "properties": [
1509
+ {
1510
+ "name": "className",
1511
+ "description": "The class name for the Grid class.",
1512
+ "type": "string"
1513
+ }
1514
+ ],
1515
+ "events": []
1516
+ }
1517
+ },
1504
1518
  {
1505
1519
  "name": "wje-header",
1506
1520
  "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",
@@ -1817,28 +1831,6 @@
1817
1831
  "events": []
1818
1832
  }
1819
1833
  },
1820
- {
1821
- "name": "wje-input-file",
1822
- "description": "This element represents a file input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component.\n- **afterDraw()** - After draw method for the InputFile class.\n\n### **CSS Parts:**\n - **native** - The native file input wrapper.\n- **input** - The text input.\n- **file-input** - The file input element. // @fires wje-input-file:change - Event fired when the file input changes.",
1823
- "doc-url": "",
1824
- "attributes": [],
1825
- "events": [],
1826
- "js": {
1827
- "properties": [
1828
- {
1829
- "name": "value",
1830
- "description": "Gets the value of the input file."
1831
- },
1832
- {
1833
- "name": "className",
1834
- "description": "The class name for the InputFile class.",
1835
- "type": "string"
1836
- },
1837
- { "name": "_value", "type": "string" }
1838
- ],
1839
- "events": []
1840
- }
1841
- },
1842
1834
  {
1843
1835
  "name": "wje-item",
1844
1836
  "description": "This element represents an item.\n---\n\n\n### **Methods:**\n - **isClickable(): _boolean_** - Returns the CSS styles for the component.\n- **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the item.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - **start** - The start slot\n- **end** - The end slot\n- **error** - The error slot\n- **helper** - The helper slot\n\n### **CSS Properties:**\n - **--wje-item-background** - Sets the background color of the item. Accepts any valid CSS color value. _(default: var(--wje-background))_\n- **--wje-item-color** - Defines the text color for the item. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-item-padding-start** - Specifies the left padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-end** - Specifies the right padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-top** - Specifies the top padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-bottom** - Specifies the bottom padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-start** - Specifies the left inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-end** - Specifies the right inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-top** - Specifies the top inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-bottom** - Specifies the bottom inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-border-radius** - Defines the border radius, providing rounded corners for the item. _(default: var(--wje-border-radius))_\n- **--wje-item-border-width** - Sets the border width of the item. Accepts any valid CSS length. _(default: var(--wje-border-width))_\n- **--wje-item-border-style** - Specifies the style of the border, such as `solid`, `dashed`, or `dotted`. _(default: var(--wje-border-style))_\n- **--wje-item-border-color** - Defines the color of the item's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-item-min-height** - Sets the minimum height of the item to ensure consistent layout. _(default: var(--wje-min-height))_\n- **--wje-item-transition** - Specifies the transition effects for the item, such as for hover or focus states. _(default: var(--wje-transition))_\n- **--wje-item-inner-box-shadow** - Adds a shadow effect inside the item for a 3D appearance. _(default: var(--wje-box-shadow))_\n\n### **CSS Parts:**\n - **native** - The native part\n- **inner** - The inner part",
@@ -1878,40 +1870,76 @@
1878
1870
  }
1879
1871
  },
1880
1872
  {
1881
- "name": "wje-kanban",
1882
- "description": "This element represents a Kanban board.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(context: _object_, store: _object_, params: _object_)** - Prepares the component before drawing.\n- **draw(): _DocumentFragment_** - Draws the component after it has been prepared.\n- **syncAria()** - Sync ARIA attributes on host.\n- **afterDraw()** - Called after the component has been drawn.\n- **setupDragAndDropEvents()** - Sets up the drag and drop events for the component.\n- **setupSelectAllCardsEvent()** - Sets up the select all cards event for the component.\n- **setupMenuItemClickEvents()** - Sets up the menu item click events for the component.\n- **updateSelectedCards(pool: _HTMLElement_, isChecked: _boolean_)** - Updates the selected cards in the pool.\n- **handlePoolAction(action: _string_, pool: _HTMLElement_)** - Handles the pool action.\n- **movePool(pool: _HTMLElement_, direction: _string_)** - Moves the pool in the specified direction.\n- **renamePool(pool: _HTMLElement_)** - Renames the pool.\n- **getCardPlaceholder(): _null|*_** - Gets the card placeholder.\n- **live(eventType: _string_, selector: _string_, callback: _function_)** - Adds a live event listener to the component.\n- **setSelectedCards(isChecked: _boolean_, card: _HTMLElement_)** - Sets the selected cards.\n- **setSelectedItems()** - Sets the selected items.\n- **getPages(page): _Promise<any>_** - Fetches the pages.\n\n### **Slots:**\n - _default_ - The default slot for the Kanban board.\n\n### **CSS Parts:**\n - **native-infinite-scroll** - Styles the native part of the Kanban board.",
1873
+ "name": "wje-input-file",
1874
+ "description": "This element represents a file input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component.\n- **afterDraw()** - After draw method for the InputFile class.\n\n### **CSS Parts:**\n - **native** - The native file input wrapper.\n- **input** - The text input.\n- **file-input** - The file input element. // @fires wje-input-file:change - Event fired when the file input changes.",
1883
1875
  "doc-url": "",
1884
1876
  "attributes": [],
1885
- "slots": [
1886
- {
1887
- "name": "",
1888
- "description": "The default slot for the Kanban board."
1889
- }
1890
- ],
1891
1877
  "events": [],
1892
1878
  "js": {
1893
1879
  "properties": [
1894
1880
  {
1895
- "name": "dependencies",
1896
- "description": "Dependencies of the Option component.",
1897
- "type": "object"
1898
- },
1899
- {
1900
- "name": "response",
1901
- "description": "Gets the URL for fetching data."
1902
- },
1903
- {
1904
- "name": "selectedItems",
1905
- "description": "Gets the URL for fetching data."
1881
+ "name": "value",
1882
+ "description": "Gets the value of the input file."
1906
1883
  },
1907
1884
  {
1908
1885
  "name": "className",
1909
- "description": "Sets the URL for fetching data.",
1886
+ "description": "The class name for the InputFile class.",
1910
1887
  "type": "string"
1911
1888
  },
1912
- {
1913
- "name": "customForeach",
1914
- "description": "Iterates over a list of items, generates an HTML card for each, and appends it to the specified pool's content area."
1889
+ { "name": "_value", "type": "string" }
1890
+ ],
1891
+ "events": []
1892
+ }
1893
+ },
1894
+ {
1895
+ "name": "wje-label",
1896
+ "description": "This element represents a label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - _default_ - The default slot for the label.\n\n### **CSS Properties:**\n - **--wje-label-color** - Defines the text color of the label. This property determines the color of the label's text. Accepts any valid CSS color value (e.g., named colors like `black`, `red`, or values like `#000000`, `rgb(0, 0, 0)`). _(default: black)_\n- **--wje-label-font-size** - Specifies the font size of the label. This property sets the size of the label's text. Accepts any valid CSS length unit (e.g., `px`, `em`, `rem`). The default value is `16px`, which provides optimal readability in most designs. // @fires wje-label:change - Event fired when the label is changed. _(default: 16px)_\n\n### **CSS Parts:**\n - **label** - The label part of the component.",
1897
+ "doc-url": "",
1898
+ "attributes": [],
1899
+ "slots": [
1900
+ { "name": "", "description": "The default slot for the label." }
1901
+ ],
1902
+ "events": [],
1903
+ "js": {
1904
+ "properties": [{ "name": "className", "type": "string" }],
1905
+ "events": []
1906
+ }
1907
+ },
1908
+ {
1909
+ "name": "wje-kanban",
1910
+ "description": "This element represents a Kanban board.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(context: _object_, store: _object_, params: _object_)** - Prepares the component before drawing.\n- **draw(): _DocumentFragment_** - Draws the component after it has been prepared.\n- **syncAria()** - Sync ARIA attributes on host.\n- **afterDraw()** - Called after the component has been drawn.\n- **setupDragAndDropEvents()** - Sets up the drag and drop events for the component.\n- **setupSelectAllCardsEvent()** - Sets up the select all cards event for the component.\n- **setupMenuItemClickEvents()** - Sets up the menu item click events for the component.\n- **updateSelectedCards(pool: _HTMLElement_, isChecked: _boolean_)** - Updates the selected cards in the pool.\n- **handlePoolAction(action: _string_, pool: _HTMLElement_)** - Handles the pool action.\n- **movePool(pool: _HTMLElement_, direction: _string_)** - Moves the pool in the specified direction.\n- **renamePool(pool: _HTMLElement_)** - Renames the pool.\n- **getCardPlaceholder(): _null|*_** - Gets the card placeholder.\n- **live(eventType: _string_, selector: _string_, callback: _function_)** - Adds a live event listener to the component.\n- **setSelectedCards(isChecked: _boolean_, card: _HTMLElement_)** - Sets the selected cards.\n- **setSelectedItems()** - Sets the selected items.\n- **getPages(page): _Promise<any>_** - Fetches the pages.\n\n### **Slots:**\n - _default_ - The default slot for the Kanban board.\n\n### **CSS Parts:**\n - **native-infinite-scroll** - Styles the native part of the Kanban board.",
1911
+ "doc-url": "",
1912
+ "attributes": [],
1913
+ "slots": [
1914
+ {
1915
+ "name": "",
1916
+ "description": "The default slot for the Kanban board."
1917
+ }
1918
+ ],
1919
+ "events": [],
1920
+ "js": {
1921
+ "properties": [
1922
+ {
1923
+ "name": "dependencies",
1924
+ "description": "Dependencies of the Option component.",
1925
+ "type": "object"
1926
+ },
1927
+ {
1928
+ "name": "response",
1929
+ "description": "Gets the URL for fetching data."
1930
+ },
1931
+ {
1932
+ "name": "selectedItems",
1933
+ "description": "Gets the URL for fetching data."
1934
+ },
1935
+ {
1936
+ "name": "className",
1937
+ "description": "Sets the URL for fetching data.",
1938
+ "type": "string"
1939
+ },
1940
+ {
1941
+ "name": "customForeach",
1942
+ "description": "Iterates over a list of items, generates an HTML card for each, and appends it to the specified pool's content area."
1915
1943
  },
1916
1944
  {
1917
1945
  "name": "menuItemClickHandler",
@@ -1940,12 +1968,12 @@
1940
1968
  }
1941
1969
  },
1942
1970
  {
1943
- "name": "wje-label",
1944
- "description": "This element represents a label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - _default_ - The default slot for the label.\n\n### **CSS Properties:**\n - **--wje-label-color** - Defines the text color of the label. This property determines the color of the label's text. Accepts any valid CSS color value (e.g., named colors like `black`, `red`, or values like `#000000`, `rgb(0, 0, 0)`). _(default: black)_\n- **--wje-label-font-size** - Specifies the font size of the label. This property sets the size of the label's text. Accepts any valid CSS length unit (e.g., `px`, `em`, `rem`). The default value is `16px`, which provides optimal readability in most designs. // @fires wje-label:change - Event fired when the label is changed. _(default: 16px)_\n\n### **CSS Parts:**\n - **label** - The label part of the component.",
1971
+ "name": "wje-list",
1972
+ "description": "This element represents a list.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of attributes to observe for changes.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - _default_ - The default slot for the list.\n\n### **CSS Properties:**\n - **--wje-list-inset-padding** - The padding of the list when it is inset. _(default: 1rem)_\n- **--wje-list-border-radius** - The border radius of the list. Accepts any valid CSS length. _(default: 8px)_\n- **--wje-list-background** - The background of the list. Accepts any valid CSS color value. _(default: var(--wje-background))_",
1945
1973
  "doc-url": "",
1946
1974
  "attributes": [],
1947
1975
  "slots": [
1948
- { "name": "", "description": "The default slot for the label." }
1976
+ { "name": "", "description": "The default slot for the list." }
1949
1977
  ],
1950
1978
  "events": [],
1951
1979
  "js": {
@@ -1985,20 +2013,6 @@
1985
2013
  "events": []
1986
2014
  }
1987
2015
  },
1988
- {
1989
- "name": "wje-list",
1990
- "description": "This element represents a list.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of attributes to observe for changes.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - _default_ - The default slot for the list.\n\n### **CSS Properties:**\n - **--wje-list-inset-padding** - The padding of the list when it is inset. _(default: 1rem)_\n- **--wje-list-border-radius** - The border radius of the list. Accepts any valid CSS length. _(default: 8px)_\n- **--wje-list-background** - The background of the list. Accepts any valid CSS color value. _(default: var(--wje-background))_",
1991
- "doc-url": "",
1992
- "attributes": [],
1993
- "slots": [
1994
- { "name": "", "description": "The default slot for the list." }
1995
- ],
1996
- "events": [],
1997
- "js": {
1998
- "properties": [{ "name": "className", "type": "string" }],
1999
- "events": []
2000
- }
2001
- },
2002
2016
  {
2003
2017
  "name": "wje-main",
2004
2018
  "description": "This element represents a main section.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the main section.\n\n### **Slots:**\n - _default_ - The default slot for the main section.",
@@ -2103,6 +2117,26 @@
2103
2117
  "events": []
2104
2118
  }
2105
2119
  },
2120
+ {
2121
+ "name": "wje-menu-label",
2122
+ "description": "This element represents a menu label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu label.\n\n### **Slots:**\n - _default_ - The default slot for the menu label.\n\n### **CSS Properties:**\n - **--wje-menu-label-font-size** - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`). _(default: .75rem)_\n- **--wje-menu-label-weight** - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`). _(default: 600)_\n- **--wje-letter-spacing** - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability. _(default: .025rem)_\n- **--wje-menu-label-color** - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors. _(default: var(--wje-color-contrast-6))_\n- **--wje-padding-top** - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label. _(default: 0)_\n- **--wje-padding-bottom** - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label. _(default: 0)_\n- **--wje-padding-start** - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n- **--wje-padding-end** - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu label.",
2123
+ "doc-url": "",
2124
+ "attributes": [],
2125
+ "slots": [
2126
+ {
2127
+ "name": "",
2128
+ "description": "The default slot for the menu label."
2129
+ }
2130
+ ],
2131
+ "events": [],
2132
+ "js": {
2133
+ "properties": [
2134
+ { "name": "className", "type": "string" },
2135
+ { "name": "hasSubmenu" }
2136
+ ],
2137
+ "events": []
2138
+ }
2139
+ },
2106
2140
  {
2107
2141
  "name": "wje-menu-item",
2108
2142
  "description": "This element represents a menu item.\n---\n\n\n### **Events:**\n \n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the MenuItem element.\n- **beforeDraw()** - Removes the active attribute from the menu before drawing the MenuItem.\n- **draw(): _DocumentFragment_** - Draws the MenuItem element and sets the variant and collapse attributes.\n- **afterDraw()** - Adds event listeners after drawing the MenuItem.\n- **syncAria()** - Syncs ARIA attributes based on menu item state.\n- **collapseItem(native: _HTMLElement_): _HTMLElement_** - Creates a tooltip for the MenuItem when it is collapsed.\n- **showSubmenu()** - Shows the submenu of the MenuItem.\n- **hideSubmenu()** - Hides the submenu of the MenuItem.\n- **submenuToggle(e: _Event_)** - Toggles the active state of the submenu element.\nIf the submenu is not active, it sets the \"active\" attribute.\nIf the submenu is already active, it removes the \"active\" attribute.\n- **deactivateSubmenu()** - Deactivates the submenu by removing the \"active\" attribute.\n- **activateSubmenu()** - Activates the submenu of the menu item.\n- **beforeDisconnect()** - Gets the text from the element and returns it.\n- **getTextFromElement(element: _HTMLElement_): _string_** - Extracts and returns the concatenated text content from all text nodes within the specified element.\n\n### **Slots:**\n - _default_ - The default slot for the menu item.\n- **start** - The slot for the start of the menu item.\n- **end** - The slot for the end of the menu item.\n- **submenu** - The slot for the submenu of the menu item.\n\n### **CSS Properties:**\n - **--wje-menu-item-color** - Sets the text color of a menu item. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-menu-item-background** - Defines the background color of a menu item. Default is `transparent`. Accepts any valid CSS color value. _(default: transparent)_\n- **--wje-menu-item-color-hover** - Specifies the text color of a menu item when hovered. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-hover** - Sets the background color of a menu item when hovered. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-color-focus** - Defines the text color of a menu item when focused. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-focus** - Specifies the background color of a menu item when focused. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-color-active** - Sets the text color of a menu item when active. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-active** - Specifies the background color of a menu item when active. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-padding-top** - Specifies the top padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`). _(default: .5rem)_\n- **--wje-menu-item-padding-bottom** - Specifies the bottom padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`). _(default: .5rem)_\n- **--wje-menu-item-line-height** - Sets the line height for the text within a menu item. Accepts any valid CSS length value. _(default: 1.8rem)_\n- **--wje-menu-submenu-offset** - Determines the horizontal offset of a submenu relative to its parent. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-menu-item-icon-visibility** - Controls the visibility of the icon in a menu item. Accepts `visible`, `hidden`, or `collapse`. _(default: hidden)_\n- **--wje-menu-item-safe-triangle-cursor-x** - Specifies the x-coordinate of the cursor for the safe triangle area. Used for managing hover or focus transitions between menu items and submenus. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-cursor-y** - Specifies the y-coordinate of the cursor for the safe triangle area. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-start-x** - Defines the x-coordinate where the submenu's safe triangle starts. Helps prevent accidental submenu closing when navigating. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-start-y** - Defines the y-coordinate where the submenu's safe triangle starts. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-end-x** - Specifies the x-coordinate where the submenu's safe triangle ends. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-end-y** - Specifies the y-coordinate where the submenu's safe triangle ends. _(default: undefined)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu item.\n- **submenu** - The submenu part of the menu item.",
@@ -2178,26 +2212,6 @@
2178
2212
  "events": []
2179
2213
  }
2180
2214
  },
2181
- {
2182
- "name": "wje-menu-label",
2183
- "description": "This element represents a menu label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu label.\n\n### **Slots:**\n - _default_ - The default slot for the menu label.\n\n### **CSS Properties:**\n - **--wje-menu-label-font-size** - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`). _(default: .75rem)_\n- **--wje-menu-label-weight** - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`). _(default: 600)_\n- **--wje-letter-spacing** - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability. _(default: .025rem)_\n- **--wje-menu-label-color** - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors. _(default: var(--wje-color-contrast-6))_\n- **--wje-padding-top** - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label. _(default: 0)_\n- **--wje-padding-bottom** - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label. _(default: 0)_\n- **--wje-padding-start** - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n- **--wje-padding-end** - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu label.",
2184
- "doc-url": "",
2185
- "attributes": [],
2186
- "slots": [
2187
- {
2188
- "name": "",
2189
- "description": "The default slot for the menu label."
2190
- }
2191
- ],
2192
- "events": [],
2193
- "js": {
2194
- "properties": [
2195
- { "name": "className", "type": "string" },
2196
- { "name": "hasSubmenu" }
2197
- ],
2198
- "events": []
2199
- }
2200
- },
2201
2215
  {
2202
2216
  "name": "wje-option",
2203
2217
  "description": "This element represents an option.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the option.\n- **afterDraw(): _void_** - Method executed after the drawing process is completed.\nSets up an event listener for 'click' events, linking them to the specified callback function.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect(): _void_** - Handles operations or cleanup tasks that need to occur before disconnecting.\nRemoves an event listener associated with the 'click' event and a specified callback function.\n- **optionClickCallback(e: _Event_): _void_** - Handles the click event on an option element and dispatches a custom event when triggered.\n\n### **Slots:**\n - **start** - The slot for the start of the option.\n- _default_ - The default slot for the option.\n- **end** - The slot for the end of the option. // @fires wje-option:change - Event fired when the option is clicked.\n\n### **CSS Parts:**\n - **native** - The native part of the option.",
@@ -2329,6 +2343,23 @@
2329
2343
  "events": []
2330
2344
  }
2331
2345
  },
2346
+ {
2347
+ "name": "wje-orgchart-group",
2348
+ "description": "OrgchartItem is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart group.\n- **afterDraw()** - After Draws the component for the org chart group.\n\n### **CSS Parts:**\n - **** - Styles the element.",
2349
+ "doc-url": "",
2350
+ "attributes": [],
2351
+ "events": [],
2352
+ "js": {
2353
+ "properties": [
2354
+ {
2355
+ "name": "className",
2356
+ "description": "The class name for the component.",
2357
+ "type": "string"
2358
+ }
2359
+ ],
2360
+ "events": []
2361
+ }
2362
+ },
2332
2363
  {
2333
2364
  "name": "wje-orgchart",
2334
2365
  "description": "Orgchart is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart.\n- **afterDraw()** - Syncs flat chart state to direct slotted children.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Parts:**\n - **** - Styles the element.\n- **native** - Styles the native element.",
@@ -2356,23 +2387,6 @@
2356
2387
  "events": []
2357
2388
  }
2358
2389
  },
2359
- {
2360
- "name": "wje-orgchart-group",
2361
- "description": "OrgchartItem is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart group.\n- **afterDraw()** - After Draws the component for the org chart group.\n\n### **CSS Parts:**\n - **** - Styles the element.",
2362
- "doc-url": "",
2363
- "attributes": [],
2364
- "events": [],
2365
- "js": {
2366
- "properties": [
2367
- {
2368
- "name": "className",
2369
- "description": "The class name for the component.",
2370
- "type": "string"
2371
- }
2372
- ],
2373
- "events": []
2374
- }
2375
- },
2376
2390
  {
2377
2391
  "name": "wje-orgchart-item",
2378
2392
  "description": "OrgchartItem is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart item.\n- **afterDraw()** - After Draws the component for the org chart item.\n\n### **Slots:**\n - _default_ - The default slot for the orgchart item.\n- **child** - The child slot for the orgchart item.\n\n### **CSS Parts:**\n - **** - Styles the element.\n- **native** - Styles the native element.\n- **expander** - Styles the expander element. // @fires wje-orgchart-item:click - Emitted when the item card is clicked.",
@@ -2422,7 +2436,7 @@
2422
2436
  },
2423
2437
  {
2424
2438
  "name": "wje-pagination",
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.",
2439
+ "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 Properties:**\n - **--wje-pagination-gap** - Gap between the summary and page navigation. _(default: 1rem)_\n- **--wje-pagination-summary-gap** - Gap between summary items. _(default: 1rem)_\n- **--wje-pagination-page-size-gap** - Gap between the page-size label and selector. _(default: var(--wje-spacing-small))_\n- **--wje-pagination-mobile-gap** - Gap between pagination rows below the md container width. _(default: var(--wje-spacing-x-large))_\n- **--wje-pagination-page-size-width** - Width of the page-size selector. _(default: 68px)_\n- **--wje-pagination-page-button-width** - Width of pagination buttons. _(default: 32px)_\n- **--wje-pagination-page-button-gap** - Gap between pagination buttons. _(default: 0.5rem)_\n\n### **CSS Parts:**\n - **native** - The wrapper element for the pagination component.\n- **summary** - The wrapper for the page-size selector and item range.\n- **page-size** - The wrapper for the page-size label and selector.\n- **page-size-label** - The page-size selector label.\n- **page-size-select** - The page-size selector.\n- **info** - The item range information.\n- **pages** - The page navigation wrapper.\n- **page-button** - Any pagination button.\n- **page-number** - A numbered page button.\n- **current-page** - The current page button.\n- **first-button** - The button that navigates to the first page.\n- **previous-button** - The button that navigates to the previous page.\n- **next-button** - The button that navigates to the next page.\n- **last-button** - The button that navigates to the last page.\n- **dots** - The page range ellipsis.",
2426
2440
  "doc-url": "",
2427
2441
  "attributes": [
2428
2442
  { "name": "page", "value": { "type": "string" } },
@@ -2628,41 +2642,40 @@
2628
2642
  }
2629
2643
  },
2630
2644
  {
2631
- "name": "wje-radio",
2632
- "description": "This class represents a Radio button element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the radio button.\n- **afterDraw()** - Sets up the event listeners for the component.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Toggles the radio button.\n\n### **Slots:**\n - _default_ - Default slot for the radio button label content.\n\n### **CSS Properties:**\n - **--wje-radio-margin-inline** - Specifies the horizontal (left and right) margin for the radio button. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`) to control spacing on both sides of the component. _(default: 0)_\n- **--wje-radio-margin-top** - Defines the top margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing above the component. _(default: 0)_\n- **--wje-radio-margin-bottom** - Sets the bottom margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing below the component. // @fires wje-radio:change - Dispatched when the radio button's state changes. // @fires wje-radio:input - Dispatched when the radio button is interacted with. _(default: 0)_\n\n### **CSS Parts:**\n - **native-radio** - The native wrapper for the radio button.",
2645
+ "name": "wje-radio-group",
2646
+ "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.",
2633
2647
  "doc-url": "",
2634
2648
  "attributes": [
2635
- { "name": "checked", "value": { "type": "string" } },
2649
+ { "name": "required", "value": { "type": "string" } },
2650
+ { "name": "value", "value": { "type": "string" } },
2636
2651
  { "name": "disabled", "value": { "type": "string" } },
2637
- { "name": "value", "value": { "type": "string" } }
2652
+ { "name": "invalid", "value": { "type": "string" } },
2653
+ { "name": "label", "value": { "type": "string" } }
2638
2654
  ],
2639
2655
  "slots": [
2640
2656
  {
2641
2657
  "name": "",
2642
- "description": "Default slot for the radio button label content."
2658
+ "description": "The default slot for the radio group."
2643
2659
  }
2644
2660
  ],
2645
2661
  "events": [],
2646
2662
  "js": {
2647
2663
  "properties": [
2648
- { "name": "value" },
2649
2664
  {
2650
- "name": "checked",
2651
- "description": "Gets the checked property of the radio button."
2665
+ "name": "value",
2666
+ "description": "Getter for the value attribute."
2652
2667
  },
2653
2668
  {
2654
- "name": "disabled",
2655
- "description": "Get disabled attribute value."
2669
+ "name": "required",
2670
+ "description": "Getter for the name attribute."
2656
2671
  },
2657
2672
  {
2658
- "name": "className",
2659
- "description": "Sets the color of the radio button.",
2660
- "type": "string"
2673
+ "name": "label",
2674
+ "description": "Getter for the label attribute."
2661
2675
  },
2662
- {
2663
- "name": "inputEvent",
2664
- "description": "Called when an attribute changes."
2665
- }
2676
+ { "name": "className", "type": "string" },
2677
+ { "name": "invalid", "type": "boolean" },
2678
+ { "name": "pristine", "type": "boolean" }
2666
2679
  ],
2667
2680
  "events": []
2668
2681
  }
@@ -2735,40 +2748,41 @@
2735
2748
  }
2736
2749
  },
2737
2750
  {
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.",
2751
+ "name": "wje-radio",
2752
+ "description": "This class represents a Radio button element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the radio button.\n- **afterDraw()** - Sets up the event listeners for the component.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Toggles the radio button.\n\n### **Slots:**\n - _default_ - Default slot for the radio button label content.\n\n### **CSS Properties:**\n - **--wje-radio-margin-inline** - Specifies the horizontal (left and right) margin for the radio button. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`) to control spacing on both sides of the component. _(default: 0)_\n- **--wje-radio-margin-top** - Defines the top margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing above the component. _(default: 0)_\n- **--wje-radio-margin-bottom** - Sets the bottom margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing below the component. // @fires wje-radio:change - Dispatched when the radio button's state changes. // @fires wje-radio:input - Dispatched when the radio button is interacted with. _(default: 0)_\n\n### **CSS Parts:**\n - **native-radio** - The native wrapper for the radio button.",
2740
2753
  "doc-url": "",
2741
2754
  "attributes": [
2742
- { "name": "required", "value": { "type": "string" } },
2743
- { "name": "value", "value": { "type": "string" } },
2755
+ { "name": "checked", "value": { "type": "string" } },
2744
2756
  { "name": "disabled", "value": { "type": "string" } },
2745
- { "name": "invalid", "value": { "type": "string" } },
2746
- { "name": "label", "value": { "type": "string" } }
2757
+ { "name": "value", "value": { "type": "string" } }
2747
2758
  ],
2748
2759
  "slots": [
2749
2760
  {
2750
2761
  "name": "",
2751
- "description": "The default slot for the radio group."
2762
+ "description": "Default slot for the radio button label content."
2752
2763
  }
2753
2764
  ],
2754
2765
  "events": [],
2755
2766
  "js": {
2756
2767
  "properties": [
2768
+ { "name": "value" },
2757
2769
  {
2758
- "name": "value",
2759
- "description": "Getter for the value attribute."
2770
+ "name": "checked",
2771
+ "description": "Gets the checked property of the radio button."
2760
2772
  },
2761
2773
  {
2762
- "name": "required",
2763
- "description": "Getter for the name attribute."
2774
+ "name": "disabled",
2775
+ "description": "Get disabled attribute value."
2764
2776
  },
2765
2777
  {
2766
- "name": "label",
2767
- "description": "Getter for the label attribute."
2778
+ "name": "className",
2779
+ "description": "Sets the color of the radio button.",
2780
+ "type": "string"
2768
2781
  },
2769
- { "name": "className", "type": "string" },
2770
- { "name": "invalid", "type": "boolean" },
2771
- { "name": "pristine", "type": "boolean" }
2782
+ {
2783
+ "name": "inputEvent",
2784
+ "description": "Called when an attribute changes."
2785
+ }
2772
2786
  ],
2773
2787
  "events": []
2774
2788
  }
@@ -2854,35 +2868,6 @@
2854
2868
  "events": []
2855
2869
  }
2856
2870
  },
2857
- {
2858
- "name": "wje-relative-time",
2859
- "description": "This element represents a relative time component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the relative time.\n- **getRelativeTimeString(lang)** - Returns the relative time string for the given date.\n- **isISODate(str: _string_): _boolean_** - Checks if the given string is an ISO date.\n\n### **CSS Parts:**\n - **native** - The native part of the relative time component.",
2860
- "doc-url": "",
2861
- "attributes": [
2862
- { "name": "date", "value": { "type": "string" } },
2863
- { "name": "lang", "value": { "type": "string" } }
2864
- ],
2865
- "events": [],
2866
- "js": {
2867
- "properties": [
2868
- {
2869
- "name": "date",
2870
- "description": "Gets the date of the relative time component."
2871
- },
2872
- {
2873
- "name": "objectDate",
2874
- "description": "Gets the object date of the relative time component."
2875
- },
2876
- {
2877
- "name": "className",
2878
- "description": "Sets the lang of the relative time component.",
2879
- "type": "string"
2880
- },
2881
- { "name": "localizer" }
2882
- ],
2883
- "events": []
2884
- }
2885
- },
2886
2871
  {
2887
2872
  "name": "wje-reorder-dropzone",
2888
2873
  "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.",
@@ -2907,70 +2892,76 @@
2907
2892
  }
2908
2893
  },
2909
2894
  {
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.",
2895
+ "name": "wje-reorder",
2896
+ "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.",
2912
2897
  "doc-url": "",
2913
- "attributes": [
2914
- { "name": "dropzone", "value": { "type": "string" } },
2915
- { "name": "parent", "value": { "type": "string" } }
2916
- ],
2898
+ "attributes": [],
2917
2899
  "slots": [
2918
2900
  {
2919
2901
  "name": "",
2920
- "description": "The default slot for the reorder handle."
2902
+ "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2921
2903
  }
2922
2904
  ],
2923
- "events": [],
2905
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2924
2906
  "js": {
2925
2907
  "properties": [
2926
2908
  {
2927
2909
  "name": "className",
2928
2910
  "description": "The class name for the component.",
2929
2911
  "type": "string"
2930
- }
2912
+ },
2913
+ { "name": "dragEl", "type": "null" },
2914
+ { "name": "items", "type": "array" },
2915
+ { "name": "originalIndex", "type": "null" },
2916
+ { "name": "isDragging", "type": "boolean" },
2917
+ { "name": "offsetX", "type": "number" },
2918
+ { "name": "offsetY", "type": "number" },
2919
+ { "name": "cloneEl", "type": "null" }
2931
2920
  ],
2932
- "events": []
2921
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2933
2922
  }
2934
2923
  },
2935
2924
  {
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.",
2925
+ "name": "wje-relative-time",
2926
+ "description": "This element represents a relative time component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the relative time.\n- **getRelativeTimeString(lang)** - Returns the relative time string for the given date.\n- **isISODate(str: _string_): _boolean_** - Checks if the given string is an ISO date.\n\n### **CSS Parts:**\n - **native** - The native part of the relative time component.",
2938
2927
  "doc-url": "",
2939
- "attributes": [],
2940
- "slots": [
2941
- {
2942
- "name": "",
2943
- "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2944
- }
2928
+ "attributes": [
2929
+ { "name": "date", "value": { "type": "string" } },
2930
+ { "name": "lang", "value": { "type": "string" } }
2945
2931
  ],
2946
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2932
+ "events": [],
2947
2933
  "js": {
2948
2934
  "properties": [
2935
+ {
2936
+ "name": "date",
2937
+ "description": "Gets the date of the relative time component."
2938
+ },
2939
+ {
2940
+ "name": "objectDate",
2941
+ "description": "Gets the object date of the relative time component."
2942
+ },
2949
2943
  {
2950
2944
  "name": "className",
2951
- "description": "The class name for the component.",
2945
+ "description": "Sets the lang of the relative time component.",
2952
2946
  "type": "string"
2953
2947
  },
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" }
2948
+ { "name": "localizer" }
2961
2949
  ],
2962
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2950
+ "events": []
2963
2951
  }
2964
2952
  },
2965
2953
  {
2966
- "name": "wje-reorder-item",
2967
- "description": "This element represents a reorder item.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of observed attributes.\n\n### **Slots:**\n - _default_ - The default slot for the reorder item.\n\n### **CSS Parts:**\n - **native-reorder-item** - The native part of the reorder item.\n- **handle-part** - The handle part of the reorder item when the handle slot is present.",
2954
+ "name": "wje-reorder-handle",
2955
+ "description": "This element represents a reorder handle.\n---\n\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Draws the component after it is connected to the DOM.\n- **syncAria()** - Sync ARIA attributes on host.\n- **startDrag(e: _DragEvent_)** - Handles the attribute changes.\n- **startTouchDrag(e: _TouchEvent_)** - Handles the touch start event.\n- **startDragAction(clientX: _number_, clientY: _number_)** - Initiates the drag-and-drop action for a sortable element.\n- **getDraggable(): _Element|null_** - Retrieves the closest draggable element based on attribute conditions.\nIf the element has a \"parent\" attribute, the method attempts to find the closest ancestor\nmatching the CSS selector specified in the attribute. If no such ancestor exists,\nthe method defaults to returning the immediate parent element.\n- **getDropzone(element: _HTMLElement_): _HTMLElement|null_** - Retrieves the nearest dropzone element based on the element's attributes or its parent element.\n- **getClosestDropzone(clientX: _number_, clientY: _number_): _HTMLElement|null_** - Retrieves the closest dropzone element at the specified coordinates.\n- **getElementsFromPointAll(x: _number_, y: _number_, root: _Document|ShadowRoot_, visited: _Set<Node>_): _HTMLElement[]_** - Retrieves all elements at the specified coordinates, including those within shadow DOMs.\n- **reIndexItems(container: _HTMLElement_): _void_** - Re-indexes child elements of the given container by setting their dataset index.\n\n### **Slots:**\n - _default_ - The default slot for the reorder handle.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder handle.",
2968
2956
  "doc-url": "",
2969
- "attributes": [],
2957
+ "attributes": [
2958
+ { "name": "dropzone", "value": { "type": "string" } },
2959
+ { "name": "parent", "value": { "type": "string" } }
2960
+ ],
2970
2961
  "slots": [
2971
2962
  {
2972
2963
  "name": "",
2973
- "description": "The default slot for the reorder item."
2964
+ "description": "The default slot for the reorder handle."
2974
2965
  }
2975
2966
  ],
2976
2967
  "events": [],
@@ -3008,6 +2999,29 @@
3008
2999
  "events": []
3009
3000
  }
3010
3001
  },
3002
+ {
3003
+ "name": "wje-reorder-item",
3004
+ "description": "This element represents a reorder item.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of observed attributes.\n\n### **Slots:**\n - _default_ - The default slot for the reorder item.\n\n### **CSS Parts:**\n - **native-reorder-item** - The native part of the reorder item.\n- **handle-part** - The handle part of the reorder item when the handle slot is present.",
3005
+ "doc-url": "",
3006
+ "attributes": [],
3007
+ "slots": [
3008
+ {
3009
+ "name": "",
3010
+ "description": "The default slot for the reorder item."
3011
+ }
3012
+ ],
3013
+ "events": [],
3014
+ "js": {
3015
+ "properties": [
3016
+ {
3017
+ "name": "className",
3018
+ "description": "The class name for the component.",
3019
+ "type": "string"
3020
+ }
3021
+ ],
3022
+ "events": []
3023
+ }
3024
+ },
3011
3025
  {
3012
3026
  "name": "wje-router-link",
3013
3027
  "description": "This element represents a router link in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the router link.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the router link.",
@@ -3074,107 +3088,45 @@
3074
3088
  }
3075
3089
  },
3076
3090
  {
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.",
3091
+ "name": "wje-slider",
3092
+ "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.",
3079
3093
  "doc-url": "",
3080
3094
  "attributes": [
3081
- { "name": "active", "value": { "type": "string" } },
3095
+ { "name": "max", "value": { "type": "string" } },
3096
+ { "name": "min", "value": { "type": "string" } },
3097
+ { "name": "step", "value": { "type": "string" } },
3098
+ { "name": "value", "value": { "type": "string" } },
3082
3099
  { "name": "disabled", "value": { "type": "string" } },
3083
- { "name": "readonly", "value": { "type": "string" } },
3084
- { "name": "portaled", "value": { "type": "string" } }
3100
+ { "name": "bubble", "value": { "type": "string" } }
3085
3101
  ],
3086
3102
  "events": [],
3087
3103
  "js": {
3088
3104
  "properties": [
3089
- {
3090
- "name": "dependencies",
3091
- "description": "An object representing component dependencies with their respective classes.\nEach property in the object maps a custom component name (as a string key)\nto its corresponding class or constructor.",
3092
- "type": "object"
3093
- },
3094
3105
  {
3095
3106
  "name": "value",
3096
- "description": "Retrieves the current value."
3097
- },
3098
- {
3099
- "name": "maxOptions",
3100
- "description": "Retrieves the maximum number of options allowed.\nParses the value of the 'max-options' attribute from the element and converts it to a number.\nIf the attribute is not present or cannot be converted to a valid number, defaults to 1."
3101
- },
3102
- { "name": "defaultValue" },
3103
- {
3104
- "name": "portaled",
3105
- "description": "Getter for the `portaled` attribute value."
3106
- },
3107
- {
3108
- "name": "isPortaled",
3109
- "description": "Checks whether popup content should be portaled."
3110
- },
3111
- {
3112
- "name": "trigger",
3113
- "description": "Returns the trigger value."
3114
- },
3115
- {
3116
- "name": "disabled",
3117
- "description": "Retrieves the current state of the 'disabled' attribute."
3118
- },
3119
- {
3120
- "name": "readonly",
3121
- "description": "Checks if the 'readonly' attribute is present on the element."
3122
- },
3123
- {
3124
- "name": "maxHeight",
3125
- "description": "Retrieves the maximum height value, which is determined by the 'max-height' attribute.\nIf the attribute is not set, a default value of '200px' is returned."
3126
- },
3127
- {
3128
- "name": "offset",
3129
- "description": "Gets the value of the offset attribute of the current element.\nIf the offset attribute is not present, returns a default value of '0'."
3130
- },
3131
- {
3132
- "name": "selectedOptions",
3133
- "description": "Retrieves the selected options."
3134
- },
3135
- {
3136
- "name": "lazy",
3137
- "description": "Getter for the 'lazy' property."
3107
+ "description": "Returns the value of the slider."
3138
3108
  },
3139
3109
  {
3140
- "name": "noSize",
3141
- "description": "Gets the value of the 'no-size' attribute for the element."
3110
+ "name": "min",
3111
+ "description": "Returns the minimum value of the slider."
3142
3112
  },
3143
3113
  {
3144
- "name": "customErrorDisplay",
3145
- "description": "Getter for the customErrorDisplay attribute."
3114
+ "name": "max",
3115
+ "description": "Returns the maximum value of the slider."
3146
3116
  },
3147
3117
  {
3148
- "name": "options",
3149
- "description": "Retrieves the complete list of options available for the component.\nThe options are determined by combining elements from various sources, including loaded options, added options, and HTML-sourced options.\nIf a `wje-options` element is present within the component, its loaded options are included in the merged list.\nIn the absence of a `wje-options` element, duplicates among the added and HTML options are removed, retaining their order."
3118
+ "name": "step",
3119
+ "description": "Returns the step value of the slider."
3150
3120
  },
3151
3121
  { "name": "className", "type": "string" },
3152
3122
  {
3153
- "name": "optionChange",
3154
- "description": "Handles the change event for an option element within a select-like component.\nThis method processes user interactions with options and updates the state of the component,\nincluding selection management, validation, and UI updates. Behavior differs based on\nwhether the component supports multiple selections.\nKey functionality:\n- Prevents the default behavior, event propagation, and immediate propagation of the event.\n- Retrieves all options within the component.\n- If the component doesn't support multiple selection:\n - Marks only the clicked option as selected and deselects others.\n - Hides the option popup.\n- If the component supports multiple selection:\n - Processes the clicked option without deselecting others.\n- Updates the selected options and triggers validation.\n- Marks the form state as non-pristine.\n- Propagates the validation state to other relevant parts of the component or system."
3155
- },
3156
- {
3157
- "name": "processClickedOption",
3158
- "description": "Handles the logic for processing the selection state of a clicked option element."
3123
+ "name": "setHandlePosition",
3124
+ "description": "Sets the handle position of the slider."
3159
3125
  },
3160
3126
  {
3161
- "name": "removeChip",
3162
- "description": "Handles the removal of a chip element from the DOM and updates the related state."
3163
- },
3164
- { "name": "localizer" },
3165
- { "name": "native", "type": "HTMLElement|null" },
3166
- { "name": "popup", "type": "HTMLElement|null" },
3167
- { "name": "labelElement", "type": "HTMLElement|null" },
3168
- { "name": "slotStart", "type": "HTMLElement|null" },
3169
- { "name": "slotEnd", "type": "HTMLElement|null" },
3170
- { "name": "input", "type": "HTMLElement|null" },
3171
- { "name": "displayText", "type": "HTMLElement|null" },
3172
- { "name": "chips", "type": "HTMLElement|null" },
3173
- { "name": "clear", "type": "HTMLElement|null" },
3174
- { "name": "list", "type": "HTMLElement|null" },
3175
- { "name": "emptyState", "type": "HTMLElement|null" },
3176
- { "name": "_value", "type": "array" },
3177
- { "name": "_selectedOptions", "type": "array" }
3127
+ "name": "setBubble",
3128
+ "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."
3129
+ }
3178
3130
  ],
3179
3131
  "events": []
3180
3132
  }
@@ -3425,87 +3377,149 @@
3425
3377
  }
3426
3378
  },
3427
3379
  {
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.",
3380
+ "name": "wje-select",
3381
+ "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.",
3430
3382
  "doc-url": "",
3431
3383
  "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" } },
3384
+ { "name": "active", "value": { "type": "string" } },
3436
3385
  { "name": "disabled", "value": { "type": "string" } },
3437
- { "name": "bubble", "value": { "type": "string" } }
3386
+ { "name": "readonly", "value": { "type": "string" } },
3387
+ { "name": "portaled", "value": { "type": "string" } }
3438
3388
  ],
3439
3389
  "events": [],
3440
3390
  "js": {
3441
3391
  "properties": [
3392
+ {
3393
+ "name": "dependencies",
3394
+ "description": "An object representing component dependencies with their respective classes.\nEach property in the object maps a custom component name (as a string key)\nto its corresponding class or constructor.",
3395
+ "type": "object"
3396
+ },
3442
3397
  {
3443
3398
  "name": "value",
3444
- "description": "Returns the value of the slider."
3399
+ "description": "Retrieves the current value."
3445
3400
  },
3446
3401
  {
3447
- "name": "min",
3448
- "description": "Returns the minimum value of the slider."
3402
+ "name": "maxOptions",
3403
+ "description": "Retrieves the maximum number of options allowed.\nParses the value of the 'max-options' attribute from the element and converts it to a number.\nIf the attribute is not present or cannot be converted to a valid number, defaults to 1."
3449
3404
  },
3405
+ { "name": "defaultValue" },
3450
3406
  {
3451
- "name": "max",
3452
- "description": "Returns the maximum value of the slider."
3407
+ "name": "portaled",
3408
+ "description": "Getter for the `portaled` attribute value."
3453
3409
  },
3454
3410
  {
3455
- "name": "step",
3456
- "description": "Returns the step value of the slider."
3411
+ "name": "isPortaled",
3412
+ "description": "Checks whether popup content should be portaled."
3413
+ },
3414
+ {
3415
+ "name": "trigger",
3416
+ "description": "Returns the trigger value."
3417
+ },
3418
+ {
3419
+ "name": "disabled",
3420
+ "description": "Retrieves the current state of the 'disabled' attribute."
3421
+ },
3422
+ {
3423
+ "name": "readonly",
3424
+ "description": "Checks if the 'readonly' attribute is present on the element."
3425
+ },
3426
+ {
3427
+ "name": "maxHeight",
3428
+ "description": "Retrieves the maximum height value, which is determined by the 'max-height' attribute.\nIf the attribute is not set, a default value of '200px' is returned."
3429
+ },
3430
+ {
3431
+ "name": "offset",
3432
+ "description": "Gets the value of the offset attribute of the current element.\nIf the offset attribute is not present, returns a default value of '0'."
3433
+ },
3434
+ {
3435
+ "name": "selectedOptions",
3436
+ "description": "Retrieves the selected options."
3437
+ },
3438
+ {
3439
+ "name": "lazy",
3440
+ "description": "Getter for the 'lazy' property."
3441
+ },
3442
+ {
3443
+ "name": "noSize",
3444
+ "description": "Gets the value of the 'no-size' attribute for the element."
3445
+ },
3446
+ {
3447
+ "name": "customErrorDisplay",
3448
+ "description": "Getter for the customErrorDisplay attribute."
3449
+ },
3450
+ {
3451
+ "name": "options",
3452
+ "description": "Retrieves the complete list of options available for the component.\nThe options are determined by combining elements from various sources, including loaded options, added options, and HTML-sourced options.\nIf a `wje-options` element is present within the component, its loaded options are included in the merged list.\nIn the absence of a `wje-options` element, duplicates among the added and HTML options are removed, retaining their order."
3457
3453
  },
3458
3454
  { "name": "className", "type": "string" },
3459
3455
  {
3460
- "name": "setHandlePosition",
3461
- "description": "Sets the handle position of the slider."
3456
+ "name": "optionChange",
3457
+ "description": "Handles the change event for an option element within a select-like component.\nThis method processes user interactions with options and updates the state of the component,\nincluding selection management, validation, and UI updates. Behavior differs based on\nwhether the component supports multiple selections.\nKey functionality:\n- Prevents the default behavior, event propagation, and immediate propagation of the event.\n- Retrieves all options within the component.\n- If the component doesn't support multiple selection:\n - Marks only the clicked option as selected and deselects others.\n - Hides the option popup.\n- If the component supports multiple selection:\n - Processes the clicked option without deselecting others.\n- Updates the selected options and triggers validation.\n- Marks the form state as non-pristine.\n- Propagates the validation state to other relevant parts of the component or system."
3462
3458
  },
3463
3459
  {
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
- }
3460
+ "name": "processClickedOption",
3461
+ "description": "Handles the logic for processing the selection state of a clicked option element."
3462
+ },
3463
+ {
3464
+ "name": "removeChip",
3465
+ "description": "Handles the removal of a chip element from the DOM and updates the related state."
3466
+ },
3467
+ { "name": "localizer" },
3468
+ { "name": "native", "type": "HTMLElement|null" },
3469
+ { "name": "popup", "type": "HTMLElement|null" },
3470
+ { "name": "labelElement", "type": "HTMLElement|null" },
3471
+ { "name": "slotStart", "type": "HTMLElement|null" },
3472
+ { "name": "slotEnd", "type": "HTMLElement|null" },
3473
+ { "name": "input", "type": "HTMLElement|null" },
3474
+ { "name": "displayText", "type": "HTMLElement|null" },
3475
+ { "name": "chips", "type": "HTMLElement|null" },
3476
+ { "name": "clear", "type": "HTMLElement|null" },
3477
+ { "name": "list", "type": "HTMLElement|null" },
3478
+ { "name": "emptyState", "type": "HTMLElement|null" },
3479
+ { "name": "_value", "type": "array" },
3480
+ { "name": "_selectedOptions", "type": "array" }
3467
3481
  ],
3468
3482
  "events": []
3469
3483
  }
3470
3484
  },
3471
3485
  {
3472
- "name": "wje-status",
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.",
3486
+ "name": "wje-split-view",
3487
+ "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.",
3474
3488
  "doc-url": "",
3475
3489
  "attributes": [],
3476
3490
  "slots": [
3477
- { "name": "", "description": "The status main content." },
3478
- { "name": "start", "description": "The status start content." },
3479
- { "name": "end", "description": "The status end content." }
3491
+ { "name": "start", "description": "Slot for the start view." },
3492
+ { "name": "end", "description": "Slot for the end view." },
3493
+ { "name": "divider", "description": "Slot for the divider." }
3480
3494
  ],
3481
3495
  "events": [],
3482
3496
  "js": {
3483
3497
  "properties": [
3484
- {
3485
- "name": "className",
3486
- "description": "The class name for the component.",
3487
- "type": "string"
3488
- }
3498
+ { "name": "initial" },
3499
+ { "name": "className", "type": "string" },
3500
+ { "name": "handleDrag", "description": "Handles the drag event." }
3489
3501
  ],
3490
3502
  "events": []
3491
3503
  }
3492
3504
  },
3493
3505
  {
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.",
3506
+ "name": "wje-status",
3507
+ "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.",
3496
3508
  "doc-url": "",
3497
3509
  "attributes": [],
3498
3510
  "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." }
3511
+ { "name": "", "description": "The status main content." },
3512
+ { "name": "start", "description": "The status start content." },
3513
+ { "name": "end", "description": "The status end content." }
3502
3514
  ],
3503
3515
  "events": [],
3504
3516
  "js": {
3505
3517
  "properties": [
3506
- { "name": "initial" },
3507
- { "name": "className", "type": "string" },
3508
- { "name": "handleDrag", "description": "Handles the drag event." }
3518
+ {
3519
+ "name": "className",
3520
+ "description": "The class name for the component.",
3521
+ "type": "string"
3522
+ }
3509
3523
  ],
3510
3524
  "events": []
3511
3525
  }
@@ -3568,20 +3582,51 @@
3568
3582
  "description": "A callback function that is executed before opening a step in a process.\nThis allows for custom behavior or logic to be applied before the step is displayed."
3569
3583
  },
3570
3584
  {
3571
- "name": "afterOpen",
3572
- "description": "Callback function executed after a step is opened.\nThis function can be overridden to implement custom behavior\nthat should take place immediately after a step is opened."
3585
+ "name": "afterOpen",
3586
+ "description": "Callback function executed after a step is opened.\nThis function can be overridden to implement custom behavior\nthat should take place immediately after a step is opened."
3587
+ },
3588
+ { "name": "currentStep", "type": "number" },
3589
+ { "name": "localizer" },
3590
+ { "name": "steps", "type": "array" },
3591
+ { "name": "headerSteps", "type": "array" },
3592
+ { "name": "_stepperId", "type": "number" }
3593
+ ],
3594
+ "events": [
3595
+ { "name": "stepper:next", "type": "CustomEvent" },
3596
+ { "name": "stepper:prev", "type": "CustomEvent" },
3597
+ { "name": "stepper:finish", "type": "CustomEvent" }
3598
+ ]
3599
+ }
3600
+ },
3601
+ {
3602
+ "name": "wje-tab",
3603
+ "description": "This element represents a tab.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab.\n- **afterDraw()** - Sets up event listeners after the component is rendered.\n//\n- **syncAriaLabel()** - Sync aria-label on host based on slotted text when not provided.\n- **setRovingTabIndex(value: _number_)** - Sets the roving tabindex on the internal focusable anchor.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **CSS Properties:**\n - **--wje-tab-text-transform** - The text transformation for the tab (e.g., uppercase, lowercase). _(default: uppercase)_\n- **--wje-tab-font-weight** - The font weight of the tab text. _(default: 500)_\n- **--wje-tab-letter-spacing** - The letter spacing of the tab text. _(default: 0.06em)_\n- **--wje-tab-padding-inline** - The horizontal padding of the tab. _(default: 1rem)_\n- **--wje-tab-padding-top** - The top padding of the tab text. _(default: .75rem)_\n- **--wje-tab-padding-bottom** - The bottom padding of the tab text. _(default: .75rem)_\n- **--wje-tab-color-active** - The text color of the active tab. _(default: var(--wje-color-primary-11))_\n- **--wje-tab-color-hover** - The text color of the tab when hovered. //@fires wje-tab:change - Dispatched when the tab is changed. _(default: var(--wje-color-primary-1))_",
3604
+ "doc-url": "",
3605
+ "attributes": [],
3606
+ "events": [],
3607
+ "js": {
3608
+ "properties": [
3609
+ {
3610
+ "name": "panel",
3611
+ "description": "Retrieves the value of the 'panel' attribute of the element."
3612
+ },
3613
+ {
3614
+ "name": "route",
3615
+ "description": "Retrieves the value of the 'route' attribute.\nIf the 'route' attribute is not set, it returns null."
3616
+ },
3617
+ {
3618
+ "name": "className",
3619
+ "description": "The class name for the component.",
3620
+ "type": "string"
3621
+ },
3622
+ {
3623
+ "name": "last",
3624
+ "description": "Indicates whether this is the last tab.",
3625
+ "type": "boolean"
3573
3626
  },
3574
- { "name": "currentStep", "type": "number" },
3575
- { "name": "localizer" },
3576
- { "name": "steps", "type": "array" },
3577
- { "name": "headerSteps", "type": "array" },
3578
- { "name": "_stepperId", "type": "number" }
3627
+ { "name": "_hasPanel", "type": "boolean" }
3579
3628
  ],
3580
- "events": [
3581
- { "name": "stepper:next", "type": "CustomEvent" },
3582
- { "name": "stepper:prev", "type": "CustomEvent" },
3583
- { "name": "stepper:finish", "type": "CustomEvent" }
3584
- ]
3629
+ "events": []
3585
3630
  }
3586
3631
  },
3587
3632
  {
@@ -3619,50 +3664,89 @@
3619
3664
  }
3620
3665
  },
3621
3666
  {
3622
- "name": "wje-tab",
3623
- "description": "This element represents a tab.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab.\n- **afterDraw()** - Sets up event listeners after the component is rendered.\n//\n- **syncAriaLabel()** - Sync aria-label on host based on slotted text when not provided.\n- **setRovingTabIndex(value: _number_)** - Sets the roving tabindex on the internal focusable anchor.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **CSS Properties:**\n - **--wje-tab-text-transform** - The text transformation for the tab (e.g., uppercase, lowercase). _(default: uppercase)_\n- **--wje-tab-font-weight** - The font weight of the tab text. _(default: 500)_\n- **--wje-tab-letter-spacing** - The letter spacing of the tab text. _(default: 0.06em)_\n- **--wje-tab-padding-inline** - The horizontal padding of the tab. _(default: 1rem)_\n- **--wje-tab-padding-top** - The top padding of the tab text. _(default: .75rem)_\n- **--wje-tab-padding-bottom** - The bottom padding of the tab text. _(default: .75rem)_\n- **--wje-tab-color-active** - The text color of the active tab. _(default: var(--wje-color-primary-11))_\n- **--wje-tab-color-hover** - The text color of the tab when hovered. //@fires wje-tab:change - Dispatched when the tab is changed. _(default: var(--wje-color-primary-1))_",
3667
+ "name": "wje-tab-panel",
3668
+ "description": "This element represents a tab panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab panel.\n\n### **Slots:**\n - _default_ - The default slot for the tab panel.",
3624
3669
  "doc-url": "",
3625
3670
  "attributes": [],
3671
+ "slots": [
3672
+ { "name": "", "description": "The default slot for the tab panel." }
3673
+ ],
3626
3674
  "events": [],
3627
3675
  "js": {
3628
3676
  "properties": [
3629
3677
  {
3630
- "name": "panel",
3631
- "description": "Retrieves the value of the 'panel' attribute of the element."
3632
- },
3633
- {
3634
- "name": "route",
3635
- "description": "Retrieves the value of the 'route' attribute.\nIf the 'route' attribute is not set, it returns null."
3636
- },
3678
+ "name": "className",
3679
+ "description": "The class name for the component.",
3680
+ "type": "string"
3681
+ }
3682
+ ],
3683
+ "events": []
3684
+ }
3685
+ },
3686
+ {
3687
+ "name": "wje-timeline",
3688
+ "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.",
3689
+ "doc-url": "",
3690
+ "attributes": [],
3691
+ "slots": [
3692
+ { "name": "", "description": "Slot for the timeline items." }
3693
+ ],
3694
+ "events": [],
3695
+ "js": {
3696
+ "properties": [
3637
3697
  {
3638
3698
  "name": "className",
3639
3699
  "description": "The class name for the component.",
3640
3700
  "type": "string"
3641
- },
3701
+ }
3702
+ ],
3703
+ "events": []
3704
+ }
3705
+ },
3706
+ {
3707
+ "name": "wje-thumbnail",
3708
+ "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))_",
3709
+ "doc-url": "",
3710
+ "attributes": [],
3711
+ "slots": [
3712
+ {
3713
+ "name": "thumbnail-slot",
3714
+ "description": "The slot for the thumbnail content."
3715
+ }
3716
+ ],
3717
+ "events": [],
3718
+ "js": {
3719
+ "properties": [
3642
3720
  {
3643
- "name": "last",
3644
- "description": "Indicates whether this is the last tab.",
3645
- "type": "boolean"
3646
- },
3647
- { "name": "_hasPanel", "type": "boolean" }
3721
+ "name": "className",
3722
+ "description": "The class name for the component",
3723
+ "type": "string"
3724
+ }
3648
3725
  ],
3649
3726
  "events": []
3650
3727
  }
3651
3728
  },
3652
3729
  {
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.",
3730
+ "name": "wje-timeline-item",
3731
+ "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.",
3655
3732
  "doc-url": "",
3656
3733
  "attributes": [],
3657
3734
  "slots": [
3658
- { "name": "", "description": "The default slot for the tab panel." }
3735
+ {
3736
+ "name": "",
3737
+ "description": "Slot for the content of the timeline item."
3738
+ },
3739
+ {
3740
+ "name": "status",
3741
+ "description": "Slot for the status of the timeline item."
3742
+ }
3659
3743
  ],
3660
3744
  "events": [],
3661
3745
  "js": {
3662
3746
  "properties": [
3663
3747
  {
3664
3748
  "name": "className",
3665
- "description": "The class name for the component.",
3749
+ "description": "Returns the class name of the tab.",
3666
3750
  "type": "string"
3667
3751
  }
3668
3752
  ],
@@ -3715,53 +3799,6 @@
3715
3799
  "events": []
3716
3800
  }
3717
3801
  },
3718
- {
3719
- "name": "wje-timeline",
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.",
3721
- "doc-url": "",
3722
- "attributes": [],
3723
- "slots": [
3724
- { "name": "", "description": "Slot for the timeline items." }
3725
- ],
3726
- "events": [],
3727
- "js": {
3728
- "properties": [
3729
- {
3730
- "name": "className",
3731
- "description": "The class name for the component.",
3732
- "type": "string"
3733
- }
3734
- ],
3735
- "events": []
3736
- }
3737
- },
3738
- {
3739
- "name": "wje-timeline-item",
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.",
3741
- "doc-url": "",
3742
- "attributes": [],
3743
- "slots": [
3744
- {
3745
- "name": "",
3746
- "description": "Slot for the content of the timeline item."
3747
- },
3748
- {
3749
- "name": "status",
3750
- "description": "Slot for the status of the timeline item."
3751
- }
3752
- ],
3753
- "events": [],
3754
- "js": {
3755
- "properties": [
3756
- {
3757
- "name": "className",
3758
- "description": "Returns the class name of the tab.",
3759
- "type": "string"
3760
- }
3761
- ],
3762
- "events": []
3763
- }
3764
- },
3765
3802
  {
3766
3803
  "name": "wje-toast",
3767
3804
  "description": "This element represents a toast notification.\n---\n\n\n### **Methods:**\n - **createToastStack(): _HTMLDivElement_** - Creates a toast stack container.\n- **getToastStackKey(): _string_** - Returns the key of the toast stack.\n- **applyToastStackPlacement(stack: _HTMLDivElement_)** - Applies the stack placement directly on the element so demo/app layout CSS cannot override it accidentally.\n- **syncToastStack(stack: _HTMLDivElement_)** - Applies the current toast stack configuration to a stack element.\n- **clearStackItemStyles(toast: _Toast_)** - Clears transient stack styling from a toast.\n- **getToastVisualHeight(toast: _Toast_): _number_** - Measures the rendered height of a toast for stack overlap calculations.\n- **updateToastStack(stack: _HTMLDivElement_)** - Recomputes the visual order of toasts inside the stack.\n- **setupAttributes()** - Setup attributes for the Button element.\n- **draw(): _object_** - Draw method for the toast notification.\n- **afterDraw()** - After draw method for the toast notification.\n- **beforeDisconnect()** - Before disconnect method\nThis method is called before the element is disconnected from the document.\n- **startTimer()** - Starts the timer.\nThis method sets the `startTime` property to the current time and sets\nthe `timeoutID` property to the ID of the timeout. The method also\ndispatches the `wje-toast:after-hide` custom event when the timeout\nexpires.\n- **stopTimer()** - Stops the timer.\nThis method clears the timeout and calculates the remaining time.\nThe method is called when the toast notification is paused.\n- **resumeTimer()** - Resumes the timer.\nThis method resumes the timer if the remaining time is greater\nthan zero. The method is called when the toast notification is resumed.\n- **removeChildAndStack()** - Removes the toast notification and the toast stack.\n\nThis method removes the toast notification from the toast stack and\nremoves the toast stack from the document body if the toast stack is\nempty.\n\n### **Slots:**\n - _default_ - The content of the toast.\n- **media** - The media of the toast.\n\n### **CSS Properties:**\n - **--wje-toast-stack-width** - Defines the width of the toast stack container. Useful for centered stacked toasts and demo layouts. // @fires wje-toast:after-show - Fired after the toast is shown. // @fires wje-toast:after-hide - Fired after the toast is hidden. _(default: 300px)_\n\n### **CSS Parts:**\n - **native** - The native part",
@@ -3927,29 +3964,6 @@
3927
3964
  "events": []
3928
3965
  }
3929
3966
  },
3930
- {
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))_",
3933
- "doc-url": "",
3934
- "attributes": [],
3935
- "slots": [
3936
- {
3937
- "name": "thumbnail-slot",
3938
- "description": "The slot for the thumbnail content."
3939
- }
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
3967
  {
3954
3968
  "name": "wje-toolbar",
3955
3969
  "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.",
@@ -4021,50 +4035,6 @@
4021
4035
  "events": []
4022
4036
  }
4023
4037
  },
4024
- {
4025
- "name": "wje-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.",
4027
- "doc-url": "",
4028
- "attributes": [
4029
- { "name": "selected", "value": { "type": "string" } },
4030
- { "name": "indeterminate", "value": { "type": "string" } },
4031
- { "name": "expanded", "value": { "type": "string" } }
4032
- ],
4033
- "slots": [
4034
- {
4035
- "name": "",
4036
- "description": "Default slot for rendering the tree item's content (e.g., text or custom elements)."
4037
- }
4038
- ],
4039
- "events": [],
4040
- "js": {
4041
- "properties": [
4042
- {
4043
- "name": "expanded",
4044
- "description": "Retrieves the value of the 'expanded' state for the current element.\nThis getter checks whether the 'expanded' attribute is present on the element.\nIf the attribute exists, it returns true, representing that the element is expanded.\nOtherwise, it returns false, indicating that the element is not expanded."
4045
- },
4046
- {
4047
- "name": "selected",
4048
- "description": "Getter method for determining if the 'selected' attribute is present on the element."
4049
- },
4050
- {
4051
- "name": "selection",
4052
- "description": "Retrieves the current selection."
4053
- },
4054
- {
4055
- "name": "indeterminate",
4056
- "description": "Retrieves the state of the indeterminate attribute."
4057
- },
4058
- {
4059
- "name": "className",
4060
- "description": "The class name for the component.",
4061
- "type": "string"
4062
- },
4063
- { "name": "_selection", "type": "string" }
4064
- ],
4065
- "events": []
4066
- }
4067
- },
4068
4038
  {
4069
4039
  "name": "wje-tooltip",
4070
4040
  "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.",
@@ -4199,6 +4169,50 @@
4199
4169
  ],
4200
4170
  "events": []
4201
4171
  }
4172
+ },
4173
+ {
4174
+ "name": "wje-tree-item",
4175
+ "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.",
4176
+ "doc-url": "",
4177
+ "attributes": [
4178
+ { "name": "selected", "value": { "type": "string" } },
4179
+ { "name": "indeterminate", "value": { "type": "string" } },
4180
+ { "name": "expanded", "value": { "type": "string" } }
4181
+ ],
4182
+ "slots": [
4183
+ {
4184
+ "name": "",
4185
+ "description": "Default slot for rendering the tree item's content (e.g., text or custom elements)."
4186
+ }
4187
+ ],
4188
+ "events": [],
4189
+ "js": {
4190
+ "properties": [
4191
+ {
4192
+ "name": "expanded",
4193
+ "description": "Retrieves the value of the 'expanded' state for the current element.\nThis getter checks whether the 'expanded' attribute is present on the element.\nIf the attribute exists, it returns true, representing that the element is expanded.\nOtherwise, it returns false, indicating that the element is not expanded."
4194
+ },
4195
+ {
4196
+ "name": "selected",
4197
+ "description": "Getter method for determining if the 'selected' attribute is present on the element."
4198
+ },
4199
+ {
4200
+ "name": "selection",
4201
+ "description": "Retrieves the current selection."
4202
+ },
4203
+ {
4204
+ "name": "indeterminate",
4205
+ "description": "Retrieves the state of the indeterminate attribute."
4206
+ },
4207
+ {
4208
+ "name": "className",
4209
+ "description": "The class name for the component.",
4210
+ "type": "string"
4211
+ },
4212
+ { "name": "_selection", "type": "string" }
4213
+ ],
4214
+ "events": []
4215
+ }
4202
4216
  }
4203
4217
  ]
4204
4218
  }