wj-elements 0.7.1 → 0.7.2

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,52 +1,11 @@
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.1",
4
+ "version": "0.7.2",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "elements": [
9
- {
10
- "name": "wje-accordion-item",
11
- "description": "This class represents an Accordion Item element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes for the Accordion Item element.\n- **draw(): _object_** - Method to draw the Accordion Item element. This method returns a document fragment containing the drawn element.\n- **afterDraw()** - Method to execute after the Accordion Item element is drawn.\n- **collapse()** - Collapses the accordion item and updates the headline ARIA state.\n- **expand()** - Expands the accordion item and updates the headline ARIA state.\n\n### **Slots:**\n - **headline** - Slot for the clickable accordion headline content.\n- **description** - Slot for supporting text shown below the headline.\n- **toggle** - Slot for a custom toggle icon or toggle content.\n- **content** - Slot for the expandable panel body.\n\n### **CSS Properties:**\n - **--wje-accordion-background** - Background color of the collapsed item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-border** - Border color of the collapsed item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-border-radius** - Border radius of the item wrapper. _(default: var(--wje-border-radius-large))_\n- **--wje-accordion-background-hover** - Background color used when the headline is hovered. _(default: var(--wje-color-contrast-1))_\n- **--wje-accordion-border-hover** - Border color used when the headline is hovered. _(default: var(--wje-color-contrast-2))_\n- **--wje-accordion-background-expanded** - Background color of the expanded item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-border-expanded** - Border color of the expanded item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-headline-color** - Text color of the headline area. _(default: var(--wje-color-contrast-11))_\n- **--wje-accordion-content-color** - Text color of the expandable content area. _(default: var(--wje-color-contrast-6))_\n- **--wje-accordion-marker-rotate** - Rotation applied to the toggle marker icon. // @fires wje-accordion-item:open - Dispatched when the item is expanded. // @fires wje-accordion-item:close - Dispatched when the item is collapsed. _(default: 0deg)_\n\n### **CSS Parts:**\n - **native** - The wrapper of the whole accordion item.\n- **headline** - The clickable headline area.\n- **description** - The description slot container inside the headline.\n- **toggle** - The toggle slot container and fallback chevron area.\n- **content** - The expandable content panel.",
12
- "doc-url": "",
13
- "attributes": [
14
- {
15
- "name": "color",
16
- "description": "Applies a contextual color variant such as `primary`, `success`, `danger`, `warning`, `info`, or `complete`.",
17
- "value": { "type": "string" }
18
- }
19
- ],
20
- "slots": [
21
- {
22
- "name": "headline",
23
- "description": "Slot for the clickable accordion headline content."
24
- },
25
- {
26
- "name": "description",
27
- "description": "Slot for supporting text shown below the headline."
28
- },
29
- {
30
- "name": "toggle",
31
- "description": "Slot for a custom toggle icon or toggle content."
32
- },
33
- {
34
- "name": "content",
35
- "description": "Slot for the expandable panel body."
36
- }
37
- ],
38
- "events": [],
39
- "js": {
40
- "properties": [
41
- {
42
- "name": "className",
43
- "description": "The class name for the Accordion Item element.",
44
- "type": "string"
45
- }
46
- ],
47
- "events": []
48
- }
49
- },
50
9
  {
51
10
  "name": "wje-accordion",
52
11
  "description": "This class represents an Accordion element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes for the Accordion element.\n- **beforeDraw()** - Method to run before the element is drawn.\n- **draw(): _object_** - Method to draw the Accordion element.\n- **afterDraw()** - Method to run after the element is drawn.\n- **collapseAll(exception)** - Method to run after the element is drawn.\n- **getAccordions(): _Array_** - Method to get the accordions.\n\n### **Slots:**\n - **default** - Slot for direct `wje-accordion-item` children.",
@@ -89,6 +48,47 @@
89
48
  "events": []
90
49
  }
91
50
  },
51
+ {
52
+ "name": "wje-accordion-item",
53
+ "description": "This class represents an Accordion Item element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes for the Accordion Item element.\n- **draw(): _object_** - Method to draw the Accordion Item element. This method returns a document fragment containing the drawn element.\n- **afterDraw()** - Method to execute after the Accordion Item element is drawn.\n- **collapse()** - Collapses the accordion item and updates the headline ARIA state.\n- **expand()** - Expands the accordion item and updates the headline ARIA state.\n\n### **Slots:**\n - **headline** - Slot for the clickable accordion headline content.\n- **description** - Slot for supporting text shown below the headline.\n- **toggle** - Slot for a custom toggle icon or toggle content.\n- **content** - Slot for the expandable panel body.\n\n### **CSS Properties:**\n - **--wje-accordion-background** - Background color of the collapsed item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-border** - Border color of the collapsed item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-border-radius** - Border radius of the item wrapper. _(default: var(--wje-border-radius-large))_\n- **--wje-accordion-background-hover** - Background color used when the headline is hovered. _(default: var(--wje-color-contrast-1))_\n- **--wje-accordion-border-hover** - Border color used when the headline is hovered. _(default: var(--wje-color-contrast-2))_\n- **--wje-accordion-background-expanded** - Background color of the expanded item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-border-expanded** - Border color of the expanded item wrapper. _(default: var(--wje-color-contrast-0))_\n- **--wje-accordion-headline-color** - Text color of the headline area. _(default: var(--wje-color-contrast-11))_\n- **--wje-accordion-content-color** - Text color of the expandable content area. _(default: var(--wje-color-contrast-6))_\n- **--wje-accordion-marker-rotate** - Rotation applied to the toggle marker icon. // @fires wje-accordion-item:open - Dispatched when the item is expanded. // @fires wje-accordion-item:close - Dispatched when the item is collapsed. _(default: 0deg)_\n\n### **CSS Parts:**\n - **native** - The wrapper of the whole accordion item.\n- **headline** - The clickable headline area.\n- **description** - The description slot container inside the headline.\n- **toggle** - The toggle slot container and fallback chevron area.\n- **content** - The expandable content panel.",
54
+ "doc-url": "",
55
+ "attributes": [
56
+ {
57
+ "name": "color",
58
+ "description": "Applies a contextual color variant such as `primary`, `success`, `danger`, `warning`, `info`, or `complete`.",
59
+ "value": { "type": "string" }
60
+ }
61
+ ],
62
+ "slots": [
63
+ {
64
+ "name": "headline",
65
+ "description": "Slot for the clickable accordion headline content."
66
+ },
67
+ {
68
+ "name": "description",
69
+ "description": "Slot for supporting text shown below the headline."
70
+ },
71
+ {
72
+ "name": "toggle",
73
+ "description": "Slot for a custom toggle icon or toggle content."
74
+ },
75
+ {
76
+ "name": "content",
77
+ "description": "Slot for the expandable panel body."
78
+ }
79
+ ],
80
+ "events": [],
81
+ "js": {
82
+ "properties": [
83
+ {
84
+ "name": "className",
85
+ "description": "The class name for the Accordion Item element.",
86
+ "type": "string"
87
+ }
88
+ ],
89
+ "events": []
90
+ }
91
+ },
92
92
  {
93
93
  "name": "wje-animation",
94
94
  "description": "This class represents an Animation element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes for the Animation element.\n- **draw(): _object_** - Method to draw the Animation element.\n- **afterDraw()** - Method to perform actions after the Animation element is drawn.\nThis method destroys any existing animation, fetches a new animations array,\nselects the appropriate animation, and applies it to the element.\n- **getAnimationsArray(): _Array_** - Method to fetch and parse the animations array from a CSS file.\n- **destroyAnimation(): _void_** - Terminates and cleans up the currently active animation if it exists.\nCalls the `cancel` method to stop the animation process.\n- **play(): _void_** - Plays the currently assigned animation, if available.\n- **cancel(): _void_** - Cancels the current animation if it is initialized and has a cancel method.\nLogs a warning if the animation is not initialized or the cancel method is unavailable.\n\n### **Slots:**\n - _default_ - The animation main content.",
@@ -237,6 +237,74 @@
237
237
  "events": []
238
238
  }
239
239
  },
240
+ {
241
+ "name": "wje-avatar",
242
+ "description": "This class represents an Avatar element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes.\n- **draw(): _object_** - Method to draw the avatar element and return a document fragment.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **isImage(): _boolean_** - Method to check if the avatar is an image.\n\n### **Slots:**\n - **default** - Slot for the main avatar content, typically an image.\n- **icon** - Slot for an icon rendered inside the avatar.\n- **status** - Slot for a status badge or indicator positioned on the avatar edge.\n- **secondary** - Slot for additional secondary content rendered with the avatar.\n\n### **CSS Properties:**\n - **--wje-avatar-size** - Controls the overall rendered size of the avatar shell. _(default: undefined)_\n- **--wje-avatar-font-size** - Controls the font size used for initials and text content. _(default: undefined)_\n- **--wje-avatar-font-weight** - Controls the font weight used for initials and text content. _(default: undefined)_\n- **--wje-avatar-color** - Controls the text color inside the avatar. _(default: undefined)_\n- **--wje-avatar-background-color** - Controls the background color of the avatar surface. _(default: undefined)_\n- **--wje-avatar-border-radius** - Controls the avatar border radius. _(default: undefined)_\n- **--wje-avatar-border-color** - Controls the avatar border color when a border is applied. _(default: undefined)_\n- **--wje-avatar-border-width** - Controls the avatar border width when a border is applied. _(default: undefined)_\n- **--wje-avatar-border-style** - Controls the avatar border style when a border is applied. _(default: undefined)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.\n- **status** - The positioned slot container for status content.\n- **secondary** - The slot container for secondary avatar content.",
243
+ "doc-url": "",
244
+ "attributes": [
245
+ {
246
+ "name": "initials",
247
+ "description": "Renders generated initials from `label` instead of the default slotted content.",
248
+ "value": { "type": "boolean" }
249
+ },
250
+ {
251
+ "name": "label",
252
+ "description": "Provides the source text for generated initials and the accessible label of the avatar.",
253
+ "value": { "type": "string" }
254
+ },
255
+ {
256
+ "name": "size",
257
+ "description": "Selects a predefined avatar size such as `small`, `medium`, `normal`, `large`, or larger variants.",
258
+ "value": { "type": "string" }
259
+ },
260
+ {
261
+ "name": "status-placement",
262
+ "description": "Positions the `status` slot on one of the avatar corners.",
263
+ "value": { "type": "string" }
264
+ }
265
+ ],
266
+ "slots": [
267
+ {
268
+ "name": "default",
269
+ "description": "Slot for the main avatar content, typically an image."
270
+ },
271
+ {
272
+ "name": "icon",
273
+ "description": "Slot for an icon rendered inside the avatar."
274
+ },
275
+ {
276
+ "name": "status",
277
+ "description": "Slot for a status badge or indicator positioned on the avatar edge."
278
+ },
279
+ {
280
+ "name": "secondary",
281
+ "description": "Slot for additional secondary content rendered with the avatar."
282
+ }
283
+ ],
284
+ "events": [],
285
+ "js": {
286
+ "properties": [
287
+ {
288
+ "name": "label",
289
+ "description": "Retrieves the value of the 'label' attribute for the element.\nIf the attribute is not set, it defaults to an empty string."
290
+ },
291
+ {
292
+ "name": "initials",
293
+ "description": "Retrieves the value of the 'initials' attribute if it exists."
294
+ },
295
+ {
296
+ "name": "size",
297
+ "description": "Retrieves the size attribute of the element. If the size attribute\nis not defined, it returns the default value 'medium'."
298
+ },
299
+ {
300
+ "name": "className",
301
+ "description": "Class name for the Avatar element.",
302
+ "type": "string"
303
+ }
304
+ ],
305
+ "events": []
306
+ }
307
+ },
240
308
  {
241
309
  "name": "wje-badge",
242
310
  "description": "This class represents a Badge element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes(): _void_** - Configures initial attributes for the Badge element.\n- **draw(): _DocumentFragment_** - Creates the DOM structure for the Badge element.\n\n### **Slots:**\n - _default_ - The badge's main content.\n\n### **CSS Properties:**\n - **--wje-badge-border-radius** - Border radius of the badge element. _(default: var(--wje-border-radius-pill))_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
@@ -447,110 +515,6 @@
447
515
  "events": []
448
516
  }
449
517
  },
450
- {
451
- "name": "wje-avatar",
452
- "description": "This class represents an Avatar element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes.\n- **draw(): _object_** - Method to draw the avatar element and return a document fragment.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **isImage(): _boolean_** - Method to check if the avatar is an image.\n\n### **Slots:**\n - **default** - Slot for the main avatar content, typically an image.\n- **icon** - Slot for an icon rendered inside the avatar.\n- **status** - Slot for a status badge or indicator positioned on the avatar edge.\n- **secondary** - Slot for additional secondary content rendered with the avatar.\n\n### **CSS Properties:**\n - **--wje-avatar-size** - Controls the overall rendered size of the avatar shell. _(default: undefined)_\n- **--wje-avatar-font-size** - Controls the font size used for initials and text content. _(default: undefined)_\n- **--wje-avatar-font-weight** - Controls the font weight used for initials and text content. _(default: undefined)_\n- **--wje-avatar-color** - Controls the text color inside the avatar. _(default: undefined)_\n- **--wje-avatar-background-color** - Controls the background color of the avatar surface. _(default: undefined)_\n- **--wje-avatar-border-radius** - Controls the avatar border radius. _(default: undefined)_\n- **--wje-avatar-border-color** - Controls the avatar border color when a border is applied. _(default: undefined)_\n- **--wje-avatar-border-width** - Controls the avatar border width when a border is applied. _(default: undefined)_\n- **--wje-avatar-border-style** - Controls the avatar border style when a border is applied. _(default: undefined)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.\n- **status** - The positioned slot container for status content.\n- **secondary** - The slot container for secondary avatar content.",
453
- "doc-url": "",
454
- "attributes": [
455
- {
456
- "name": "initials",
457
- "description": "Renders generated initials from `label` instead of the default slotted content.",
458
- "value": { "type": "boolean" }
459
- },
460
- {
461
- "name": "label",
462
- "description": "Provides the source text for generated initials and the accessible label of the avatar.",
463
- "value": { "type": "string" }
464
- },
465
- {
466
- "name": "size",
467
- "description": "Selects a predefined avatar size such as `small`, `medium`, `normal`, `large`, or larger variants.",
468
- "value": { "type": "string" }
469
- },
470
- {
471
- "name": "status-placement",
472
- "description": "Positions the `status` slot on one of the avatar corners.",
473
- "value": { "type": "string" }
474
- }
475
- ],
476
- "slots": [
477
- {
478
- "name": "default",
479
- "description": "Slot for the main avatar content, typically an image."
480
- },
481
- {
482
- "name": "icon",
483
- "description": "Slot for an icon rendered inside the avatar."
484
- },
485
- {
486
- "name": "status",
487
- "description": "Slot for a status badge or indicator positioned on the avatar edge."
488
- },
489
- {
490
- "name": "secondary",
491
- "description": "Slot for additional secondary content rendered with the avatar."
492
- }
493
- ],
494
- "events": [],
495
- "js": {
496
- "properties": [
497
- {
498
- "name": "label",
499
- "description": "Retrieves the value of the 'label' attribute for the element.\nIf the attribute is not set, it defaults to an empty string."
500
- },
501
- {
502
- "name": "initials",
503
- "description": "Retrieves the value of the 'initials' attribute if it exists."
504
- },
505
- {
506
- "name": "size",
507
- "description": "Retrieves the size attribute of the element. If the size attribute\nis not defined, it returns the default value 'medium'."
508
- },
509
- {
510
- "name": "className",
511
- "description": "Class name for the Avatar element.",
512
- "type": "string"
513
- }
514
- ],
515
- "events": []
516
- }
517
- },
518
- {
519
- "name": "wje-button-group",
520
- "description": "ButtonGroup class\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the ButtonGroup element.\n- **draw(): _object_** - Draw method for the ButtonGroup element.\n- **afterDraw()** - After draw method for the ButtonGroup element.\n- **syncAria()** - Sync ARIA attributes on host.\n- **findButton(el: _object_): _object_** - Find button method to find the button element.\n- **toggle(activeButton: _object_, buttons: _Array<object>_, index): _void_** - Toggles the state of a group of buttons based on the active button.\n- **updateButtonState(button: _HTMLElement_, modeToRemove: _string_): _void_** - Updates the state of a button by removing one mode attribute and setting another mode attribute.\n\n### **Slots:**\n - _default_ - The button group main content.\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.\n- **native** - The component's native wrapper.",
521
- "doc-url": "",
522
- "attributes": [],
523
- "slots": [
524
- { "name": "", "description": "The button group main content." }
525
- ],
526
- "events": [],
527
- "js": {
528
- "properties": [
529
- {
530
- "name": "active",
531
- "description": "Retrieves the value of the 'active' attribute.\nIf the attribute is not set, it returns false."
532
- },
533
- {
534
- "name": "color",
535
- "description": "Retrieves the current value of the 'color' attribute.\nIf the 'color' attribute is not set, it defaults to 'primary'."
536
- },
537
- {
538
- "name": "round",
539
- "description": "Returns whether the element has the 'round' attribute."
540
- },
541
- {
542
- "name": "fill",
543
- "description": "Retrieves the 'fill' attribute of the element. If the 'fill' attribute is not set,\nit returns the default value 'link'."
544
- },
545
- {
546
- "name": "className",
547
- "description": "Class name for the ButtonGroup element",
548
- "type": "string"
549
- }
550
- ],
551
- "events": []
552
- }
553
- },
554
518
  {
555
519
  "name": "wje-button",
556
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.",
@@ -645,8 +609,44 @@
645
609
  }
646
610
  },
647
611
  {
648
- "name": "wje-card",
649
- "description": "This class represents Card element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Card element.\n- **syncAria()** - Sync ARIA attributes on host only when labeling is provided.\n- **draw(context: _object_, store: _object_, params: _object_): _object_** - Draw method for the Card element.\n\n### **Slots:**\n - _default_ - The card main content.\n\n### **CSS Properties:**\n - **--wje-card-background** - Background of the component; _(default: #fff)_\n- **--wje-card-color** - Color of the component; _(default: #000)_\n- **--wje-card-border-color** - Border color of the component; _(default: transparent)_\n- **--wje-card-border-style** - Border style of the component; _(default: solid)_\n- **--wje-card-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-card-border-radius** - Border radius of the component; _(default: 0.5rem)_\n- **--wje-card-shadow** - Shadow of the component; _(default: var(--wje-shadow-x-large))_",
612
+ "name": "wje-button-group",
613
+ "description": "ButtonGroup class\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the ButtonGroup element.\n- **draw(): _object_** - Draw method for the ButtonGroup element.\n- **afterDraw()** - After draw method for the ButtonGroup element.\n- **syncAria()** - Sync ARIA attributes on host.\n- **findButton(el: _object_): _object_** - Find button method to find the button element.\n- **toggle(activeButton: _object_, buttons: _Array<object>_, index): _void_** - Toggles the state of a group of buttons based on the active button.\n- **updateButtonState(button: _HTMLElement_, modeToRemove: _string_): _void_** - Updates the state of a button by removing one mode attribute and setting another mode attribute.\n\n### **Slots:**\n - _default_ - The button group main content.\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.\n- **native** - The component's native wrapper.",
614
+ "doc-url": "",
615
+ "attributes": [],
616
+ "slots": [
617
+ { "name": "", "description": "The button group main content." }
618
+ ],
619
+ "events": [],
620
+ "js": {
621
+ "properties": [
622
+ {
623
+ "name": "active",
624
+ "description": "Retrieves the value of the 'active' attribute.\nIf the attribute is not set, it returns false."
625
+ },
626
+ {
627
+ "name": "color",
628
+ "description": "Retrieves the current value of the 'color' attribute.\nIf the 'color' attribute is not set, it defaults to 'primary'."
629
+ },
630
+ {
631
+ "name": "round",
632
+ "description": "Returns whether the element has the 'round' attribute."
633
+ },
634
+ {
635
+ "name": "fill",
636
+ "description": "Retrieves the 'fill' attribute of the element. If the 'fill' attribute is not set,\nit returns the default value 'link'."
637
+ },
638
+ {
639
+ "name": "className",
640
+ "description": "Class name for the ButtonGroup element",
641
+ "type": "string"
642
+ }
643
+ ],
644
+ "events": []
645
+ }
646
+ },
647
+ {
648
+ "name": "wje-card",
649
+ "description": "This class represents Card element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Card element.\n- **syncAria()** - Sync ARIA attributes on host only when labeling is provided.\n- **draw(context: _object_, store: _object_, params: _object_): _object_** - Draw method for the Card element.\n\n### **Slots:**\n - _default_ - The card main content.\n\n### **CSS Properties:**\n - **--wje-card-background** - Background of the component; _(default: #fff)_\n- **--wje-card-color** - Color of the component; _(default: #000)_\n- **--wje-card-border-color** - Border color of the component; _(default: transparent)_\n- **--wje-card-border-style** - Border style of the component; _(default: solid)_\n- **--wje-card-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-card-border-radius** - Border radius of the component; _(default: 0.5rem)_\n- **--wje-card-shadow** - Shadow of the component; _(default: var(--wje-shadow-x-large))_",
650
650
  "doc-url": "",
651
651
  "attributes": [
652
652
  { "name": "label", "value": { "type": "string" } },
@@ -707,19 +707,19 @@
707
707
  }
708
708
  },
709
709
  {
710
- "name": "wje-card-subtitle",
711
- "description": "CardSubtitle class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CardSubtitle.\n- **draw(): _DocumentFragment_** - Draws the CardSubtitle element.\n\n### **Slots:**\n - _default_ - The card subtitle main content.\n\n### **CSS Properties:**\n - **--wje-card-subtitle-font-size** - Font size of the component; _(default: 11px)_\n- **--wje-card-subtitle-font-family** - Font family of the component; _(default: var(--wje-font-family-secondary))_\n- **--wje-card-subtitle-padding** - Padding of the component; _(default: 0)_",
710
+ "name": "wje-card-header",
711
+ "description": "CardHeader class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CardHeader.\n- **draw(): _DocumentFragment_** - Draws the CardHeader.\n\n### **Slots:**\n - _default_ - The card header main content.\n\n### **CSS Properties:**\n - **--wje-card-header-padding** - Padding of the component; _(default: 1rem 1rem 0.5rem)_",
712
712
  "doc-url": "",
713
713
  "attributes": [],
714
714
  "slots": [
715
- { "name": "", "description": "The card subtitle main content." }
715
+ { "name": "", "description": "The card header main content." }
716
716
  ],
717
717
  "events": [],
718
718
  "js": {
719
719
  "properties": [
720
720
  {
721
721
  "name": "className",
722
- "description": "Class name for the CardSubtitle.",
722
+ "description": "Class name for the CardHeader.",
723
723
  "type": "string"
724
724
  }
725
725
  ],
@@ -747,56 +747,39 @@
747
747
  }
748
748
  },
749
749
  {
750
- "name": "wje-carousel",
751
- "description": "Carousel class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Carousel.\n- **beforeDraw()** - Before draw method for the Carousel.\n- **draw(): _DocumentFragment_** - Draw method for the Carousel.\n- **afterDraw()** - After draw method for the Carousel.\n- **syncActiveToSnapStart()** - Sync `activeSlide` to the slide whose leading edge is closest to the snap start.\n- **syncSlideMetrics()** - Syncs computed CSS variables derived from `slide-per-page`.\n- **getScrollPaddingInlineStart(): _number_** - Returns the inline scroll padding used by the snap area.\n- **getControlBehavior(): _string_** - Returns the interaction scroll behavior for UI controls.\nContinuous multi-slide loops use instant snapping to avoid blank edge states\nwhile the browser is still animating a previous smooth scroll.\n- **setIntersectionObserver()** - Sets up the IntersectionObserver for the Carousel.\n- **goToSlide(index, behavior, next)** - Goes to the slide.\n- **setActiveVisualSlide(vIndex: _number_)** - Sets the active class on the currently targeted visual slide and removes it elsewhere.\n- **syncAria()** - Syncs ARIA attributes on the carousel and slides.\n- **cloneFirstAndLastItems()** - Clones the first and last items.\n- **createLoopClone(item: _HTMLElement_): _HTMLElement_** - Creates a sanitized loop clone that does not inherit transient render state\nsuch as inline `visibility: hidden` from the source slide.\n- **removeLoopClones()** - Removes loop clones so they can be rebuilt for the current configuration.\n- **getLoopCloneCount(totalSlides: _number_): _number_** - Returns how many slides should be cloned on each side when loop is enabled.\n- **scrollToVisualIndex(vIndex: _number_, behavior: _string_)** - Scrolls the carousel to a visual slide index.\n- **removeActiveSlide()** - Goes to the next slide.\n- **changePagination()** - Goes to the next slide.\n- **changeThumbnails()** - Goes to the next slide.\n- **createNextButton(): _Element_** - Goes to the next slide.\n- **createPreviousButton(): _Element_** - Goes to the next slide.\n- **createPagination(): _Element_** - Goes to the next slide.\n- **createThumbnails(): _Element_** - Goes to the next slide.\n- **nextSlide()** - Goes to the next slide.\n- **previousSlide()** - Goes to the previous slide.\n- **getSlides(): _Array_** - Goes to the slide.\n- **getSlidesWithClones(): _Array_** - Goes to the slide.\n- **getVisualIndexForLogical(index)** - Maps logical index to visual index, including leading clones when loop is enabled.\n- **getLogicalIndexForVisual(vIndex)** - Maps visual index to logical index, including edge clones when loop is enabled.\n- **getMaxVisibleStartIndex(totalSlides: _number_): _number_** - Returns the maximum logical slide index that can still render a full viewport.\n- **normalizeLoopIndex(index: _number_, totalSlides: _number_): _number_** - Normalizes a logical index for the active loop mode.\n- **getLoopLogicalCount(totalSlides: _number_): _number_** - Returns how many logical positions are reachable for the current loop mode.\n- **getPaginationIndexes(): _number[]_** - Returns the pagination indexes for the current carousel mode.\n- **canGoNext(): _boolean_** - Goes to the slide.\n- **canGoPrevious(): _boolean_** - Goes to the slide.\n\n### **Slots:**\n - _default_ - The carousel main content.\n\n### **CSS Properties:**\n - **--wje-carousel-size** - Effective size of one carousel item. _(default: 100%)_\n- **--wje-carousel-gap** - Gap between carousel items. _(default: 0.5rem)_",
750
+ "name": "wje-card-subtitle",
751
+ "description": "CardSubtitle class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CardSubtitle.\n- **draw(): _DocumentFragment_** - Draws the CardSubtitle element.\n\n### **Slots:**\n - _default_ - The card subtitle main content.\n\n### **CSS Properties:**\n - **--wje-card-subtitle-font-size** - Font size of the component; _(default: 11px)_\n- **--wje-card-subtitle-font-family** - Font family of the component; _(default: var(--wje-font-family-secondary))_\n- **--wje-card-subtitle-padding** - Padding of the component; _(default: 0)_",
752
752
  "doc-url": "",
753
- "attributes": [
754
- { "name": "active-slide", "value": { "type": "string" } },
755
- { "name": "slide-per-page", "value": { "type": "string" } },
756
- { "name": "continuous-loop", "value": { "type": "string" } }
757
- ],
753
+ "attributes": [],
758
754
  "slots": [
759
- { "name": "", "description": "The carousel main content." }
755
+ { "name": "", "description": "The card subtitle main content." }
760
756
  ],
761
757
  "events": [],
762
758
  "js": {
763
759
  "properties": [
764
- {
765
- "name": "activeSlide",
766
- "description": "Active slide attribute."
767
- },
768
- { "name": "pagination", "description": "Pagination attribute." },
769
- { "name": "navigation", "description": "Navigation attribute." },
770
- { "name": "thumbnails", "description": "Thumbnails attribute." },
771
- { "name": "loop", "description": "Loop attribute." },
772
- {
773
- "name": "continuousLoop",
774
- "description": "Continuous loop attribute."
775
- },
776
760
  {
777
761
  "name": "className",
778
- "description": "Class name for the Carousel.",
762
+ "description": "Class name for the CardSubtitle.",
779
763
  "type": "string"
780
- },
781
- { "name": "slidePerPage", "type": "number" }
764
+ }
782
765
  ],
783
766
  "events": []
784
767
  }
785
768
  },
786
769
  {
787
- "name": "wje-card-header",
788
- "description": "CardHeader class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CardHeader.\n- **draw(): _DocumentFragment_** - Draws the CardHeader.\n\n### **Slots:**\n - _default_ - The card header main content.\n\n### **CSS Properties:**\n - **--wje-card-header-padding** - Padding of the component; _(default: 1rem 1rem 0.5rem)_",
770
+ "name": "wje-carousel-item",
771
+ "description": "This class represents CarouselItem element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CarouselItem.\n- **draw(): _DocumentFragment_** - Draws the CarouselItem element.\n- **afterDraw()** - After draw event for the CarouselItem element.\n- **syncContentLayoutMode()** - Keeps a simple layout hint for single-wrapper content.\n\n### **Slots:**\n - _default_ - The carousel item main content.\n\n### **CSS Properties:**\n - **--wje-carousel-item-background-color** - Background color of the component; _(default: transparent)_\n- **--wje-carousel-item-border-color** - Border color of the component; _(default: --wje-color-contrast-4)_\n- **--wje-carousel-item-color** - Color of the component; _(default: --wje-color-contrast-11)_\n- **--wje-carousel-item-border-radius** - Border radius of the component; _(default: --wje-border-radius-medium)_\n- **--wje-carousel-item-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-carousel-item-border-style** - Border style of the component; _(default: solid)_\n- **--wje-carousel-item-border-color** - Border color of the component; _(default: --wje-color-contrast-1)_\n- **--wje-carousel-item-margin-inline** - Margin inline of the component; _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
789
772
  "doc-url": "",
790
773
  "attributes": [],
791
774
  "slots": [
792
- { "name": "", "description": "The card header main content." }
775
+ { "name": "", "description": "The carousel item main content." }
793
776
  ],
794
777
  "events": [],
795
778
  "js": {
796
779
  "properties": [
797
780
  {
798
781
  "name": "className",
799
- "description": "Class name for the CardHeader.",
782
+ "description": "Class name for the CarouselItem element.",
800
783
  "type": "string"
801
784
  }
802
785
  ],
@@ -804,21 +787,38 @@
804
787
  }
805
788
  },
806
789
  {
807
- "name": "wje-carousel-item",
808
- "description": "This class represents CarouselItem element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CarouselItem.\n- **draw(): _DocumentFragment_** - Draws the CarouselItem element.\n- **afterDraw()** - After draw event for the CarouselItem element.\n- **syncContentLayoutMode()** - Keeps a simple layout hint for single-wrapper content.\n\n### **Slots:**\n - _default_ - The carousel item main content.\n\n### **CSS Properties:**\n - **--wje-carousel-item-background-color** - Background color of the component; _(default: transparent)_\n- **--wje-carousel-item-border-color** - Border color of the component; _(default: --wje-color-contrast-4)_\n- **--wje-carousel-item-color** - Color of the component; _(default: --wje-color-contrast-11)_\n- **--wje-carousel-item-border-radius** - Border radius of the component; _(default: --wje-border-radius-medium)_\n- **--wje-carousel-item-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-carousel-item-border-style** - Border style of the component; _(default: solid)_\n- **--wje-carousel-item-border-color** - Border color of the component; _(default: --wje-color-contrast-1)_\n- **--wje-carousel-item-margin-inline** - Margin inline of the component; _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
790
+ "name": "wje-carousel",
791
+ "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)_",
809
792
  "doc-url": "",
810
- "attributes": [],
793
+ "attributes": [
794
+ { "name": "active-slide", "value": { "type": "string" } },
795
+ { "name": "slide-per-page", "value": { "type": "string" } },
796
+ { "name": "continuous-loop", "value": { "type": "string" } }
797
+ ],
811
798
  "slots": [
812
- { "name": "", "description": "The carousel item main content." }
799
+ { "name": "", "description": "The carousel main content." }
813
800
  ],
814
801
  "events": [],
815
802
  "js": {
816
803
  "properties": [
804
+ {
805
+ "name": "activeSlide",
806
+ "description": "Active slide attribute."
807
+ },
808
+ { "name": "pagination", "description": "Pagination attribute." },
809
+ { "name": "navigation", "description": "Navigation attribute." },
810
+ { "name": "thumbnails", "description": "Thumbnails attribute." },
811
+ { "name": "loop", "description": "Loop attribute." },
812
+ {
813
+ "name": "continuousLoop",
814
+ "description": "Continuous loop attribute."
815
+ },
817
816
  {
818
817
  "name": "className",
819
- "description": "Class name for the CarouselItem element.",
818
+ "description": "Class name for the Carousel.",
820
819
  "type": "string"
821
- }
820
+ },
821
+ { "name": "slidePerPage", "type": "number" }
822
822
  ],
823
823
  "events": []
824
824
  }
@@ -879,18 +879,6 @@
879
879
  "events": []
880
880
  }
881
881
  },
882
- {
883
- "name": "wje-col",
884
- "description": "Col class that extends WJElement.\n---\n\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component element.\n\n### **Slots:**\n - _default_ - The col main content.",
885
- "doc-url": "",
886
- "attributes": [],
887
- "slots": [{ "name": "", "description": "The col main content." }],
888
- "events": [],
889
- "js": {
890
- "properties": [{ "name": "className", "type": "string" }],
891
- "events": []
892
- }
893
- },
894
882
  {
895
883
  "name": "wje-chip",
896
884
  "description": "This method dispatches a custom event named \"wje-chip:remove\".\nIt is triggered when the remove button is clicked, which happens when the chip is removed.\nThe event is dispatched on the current instance of the Chip class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Getter for the observed attributes.\n- **draw(): _DocumentFragment_** - Draws the Chip element.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **afterDraw()** - Getter for the observed attributes.\n- **beforeDisconnect()** - Before disconnect event for the Chip element.\n\n### **Slots:**\n - **start** - The chip leading content.\n- _default_ - The chip main content.\n- **end** - The chip trailing content.\n\n### **CSS Parts:**\n - **native** - The component's native wrapper. //@fires wje-chip:remove - Dispatched when the chip is removed;",
@@ -933,6 +921,18 @@
933
921
  "events": []
934
922
  }
935
923
  },
924
+ {
925
+ "name": "wje-col",
926
+ "description": "Col class that extends WJElement.\n---\n\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component element.\n\n### **Slots:**\n - _default_ - The col main content.",
927
+ "doc-url": "",
928
+ "attributes": [],
929
+ "slots": [{ "name": "", "description": "The col main content." }],
930
+ "events": [],
931
+ "js": {
932
+ "properties": [{ "name": "className", "type": "string" }],
933
+ "events": []
934
+ }
935
+ },
936
936
  {
937
937
  "name": "wje-container",
938
938
  "description": "The Container class is a custom web component that extends WJElement. It is a simple container that can hold other elements or components.\nIt provides a slot for adding child elements or components. The Container class also supports indentation through the `indent` property.\nThe indentation is applied as a CSS variable (`--wje-container-indent`) which can be used in the styles of child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Container.\n- **draw(): _DocumentFragment_** - Draws the Container element.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.\n\n### **CSS Properties:**\n - **--wje-container-indent** - The indentation of the container. _(default: undefined)_",
@@ -956,64 +956,6 @@
956
956
  "events": []
957
957
  }
958
958
  },
959
- {
960
- "name": "wje-copy-button",
961
- "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.",
962
- "doc-url": "",
963
- "attributes": [
964
- {
965
- "name": "for",
966
- "description": "The id of the element to copy content from.",
967
- "value": { "type": "string" }
968
- },
969
- {
970
- "name": "label",
971
- "description": "Accessible label for the button. Also used as fallback tooltip text when the `tooltip` attribute is present without a value.",
972
- "value": { "type": "string" }
973
- },
974
- {
975
- "name": "label-success",
976
- "description": "Text displayed in the tooltip after a successful copy. Used only when the `tooltip` attribute is present.",
977
- "value": { "type": "string" }
978
- },
979
- {
980
- "name": "tooltip",
981
- "description": "Enables the tooltip. When set to a string, the value is used as the default tooltip content.",
982
- "value": { "type": "string" }
983
- },
984
- {
985
- "name": "value",
986
- "description": "The text to be copied.",
987
- "value": { "type": "string" }
988
- }
989
- ],
990
- "slots": [
991
- { "name": "", "description": "This is a default/unnamed slot." }
992
- ],
993
- "events": [],
994
- "js": {
995
- "properties": [
996
- {
997
- "name": "value",
998
- "description": "Getter for the value property."
999
- },
1000
- { "name": "className", "type": "string" },
1001
- { "name": "clicked", "description": "Handles the click event." },
1002
- {
1003
- "name": "keydown",
1004
- "description": "Handles the keydown event."
1005
- },
1006
- { "name": "focused", "description": "Handles the focus event." },
1007
- { "name": "blurred", "description": "Handles the blur event." },
1008
- {
1009
- "name": "copied",
1010
- "description": "Handles the copied event.\nYou can override this method to customize the behavior when the text is copied."
1011
- },
1012
- { "name": "timeout", "type": "number" }
1013
- ],
1014
- "events": []
1015
- }
1016
- },
1017
959
  {
1018
960
  "name": "wje-color-picker",
1019
961
  "description": "ColorPicker is a custom web component that extends WJElement.\nIt provides a color picker functionality with a color area, hue slider, alpha slider, and color swatches.\nThe color picker allows users to select a color by moving a marker on the color area, adjusting the hue and alpha sliders, or clicking on a color swatch.\n---\n\n\n### **Methods:**\n - **parseSwatches(value: _string_): _string[]_** - Normalizes swatch colors from a string to an array.\nSupports comma and semicolon separators.\n- **setupAttributes()** - Sets up the attributes for the ColorPicker.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing the structure and components of a custom color picker.\nThe method initializes DOM elements such as divs, sliders, and inputs, with specific classes and attributes,\nand attaches various event listeners to handle user interactions.\n- **afterDraw(): _void_** - Executes after the component is drawn. Initializes some configurations if not already initialized,\nincluding updating slider values, setting marker positions, and applying initial color settings.\nThis method ensures that all necessary visual elements and configurations are properly set up.\n- **createSwatches(node)** - Sets the hue.\n- **setSliders(color)** - Sets the sliders to the given color.\n- **dimension(): _object_** - Retrieves the dimensions and position of the color area element relative to the viewport.\n- **beforeDisconnect(): _void_** - Method executed before disconnecting. Resets the initialization state to false.\n- **getPointerPosition(e): _{x: number, y: number}_** - Gets the pointer position in client coordinates (viewport-relative).\n- **setMarkerPosition(x, y)** - Sets the position of the marker.\n- **clampMarkerPosition(x: _number_, y: _number_): _{x: number, y: number}_** - Clamps marker coordinates to the color area boundaries.\n- **setColorAtPosition(x, y, alpha): _*|tinycolor_** - Sets the color at the given position.\n- **getHueAreaColor(color: _string_): _string_** - Returns fully saturated and bright color for the current hue.\nUsed as base color for the SV area so neutral grays do not black out the palette.\n\n### **Slots:**\n - _default_ - The card header main content.\n\n### **CSS Properties:**\n - **--wje-color-picker-area** - The color of the color area background. _(default: undefined)_\n- **--wje-color-picker-value** - The value of the color picker input. _(default: undefined)_\n- **--wje-color-picker-swatch** - The color of the color swatch button. _(default: undefined)_\n- **--wje-color-picker-size** - The color of the color marker. _(default: undefined)_\n- **--wje-color-picker-radius** - The color of the color anchor. _(default: undefined)_\n\n### **CSS Parts:**\n - **anchor** - The anchor part of the color picker.\n- **picker** - The main part of the color picker.\n- **marker** - The marker part of the color picker.\n- **color-area** - The color area part of the color picker.\n- **hue** - The hue slider part of the color picker.\n- **alpha** - The alpha slider part of the color picker.\n- **color-preview** - The color preview part of the color picker.\n- **input** - The input part of the color picker.",
@@ -1083,101 +1025,79 @@
1083
1025
  }
1084
1026
  },
1085
1027
  {
1086
- "name": "wje-divider",
1087
- "description": "Divider is a custom web component that extends WJElement.\nIt provides a simple divider line that can be used to separate content.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Divider.\n- **draw(): _DocumentFragment_** - Draws the Divider.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--wje-border-width** - The size of the border. _(default: 1px)_\n- **--wje-divider-border-color** - The color of the divider borderline. _(default: var(--wje-border-color))_\n- **--wje-divider-border-width** - The width of the divider borderline. _(default: var(--wje-border-width, 1px))_\n- **--wje-divider-spacing** - The spacing for the divider. _(default: 0)_",
1088
- "doc-url": "",
1089
- "attributes": [],
1090
- "slots": [
1091
- { "name": "", "description": "This is a default/unnamed slot." }
1092
- ],
1093
- "events": [],
1094
- "js": {
1095
- "properties": [
1096
- {
1097
- "name": "className",
1098
- "description": "The class name for the Divider class.",
1099
- "type": "string"
1100
- }
1101
- ],
1102
- "events": []
1103
- }
1104
- },
1105
- {
1106
- "name": "wje-dropdown",
1107
- "description": "This element represents a dropdown menu.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the dropdown.\n- **beforeDraw()** - Removes the popup element.\n- **draw(): _DocumentFragment_** - Draws the dropdown element and returns the created document fragment.\n- **afterDraw()** - Adds event listeners for the mouseenter and mouseleave events.\n- **afterDisconnect()** - Adds event listeners for the mouseenter and mouseleave events.\n- **syncPopupOwner()** - Assigns the current dropdown instance as the owner of its popup layers.\nOwner metadata is later used to resolve which dropdown should react to\ndelegated menu-item clicks, including portaled popup content.\n- **syncOwnedContentOwner(root: _HTMLElement_)** - Recursively assigns owner metadata to the dropdown content subtree while\nleaving nested dropdown roots untouched, so each nested dropdown can keep\nits own ownership boundary.\n- **getMenuItemOwner(path: _EventTarget[]_, item: _HTMLElement_): _HTMLElement|null_** - Resolves the dropdown that owns a clicked menu item. The lookup prefers\nexplicit owner metadata and falls back to DOM traversal so both regular\nand portaled dropdown content can be scoped correctly.\n- **afterShow()** - This method is called after the dropdown is shown.\n- **syncAria()** - Syncs ARIA attributes for the trigger element.\n\n### **Slots:**\n - **trigger** - The slot for the trigger of the dropdown.\n- _default_ - The default slot for the dropdown.\n\n### **CSS Properties:**\n - **--wje-popup-backdrop-background** - Backdrop background used by mobile bottom sheet dropdowns. _(default: var(--wje-backdrop))_\n- **--wje-popup-backdrop-opacity** - Backdrop opacity used by mobile bottom sheet dropdowns. _(default: 1)_\n- **--wje-popup-mobile-background** - Background of the mobile bottom sheet panel. _(default: var(--wje-select-options-background-color))_\n- **--wje-popup-mobile-border-radius** - Border radius of the mobile bottom sheet panel. _(default: var(--wje-border-radius-large) var(--wje-border-radius-large) 0 0)_\n- **--wje-popup-mobile-box-shadow** - Shadow of the mobile bottom sheet panel. _(default: 0 -8px 32px rgba(0, 0, 0, 0.16))_\n- **--wje-popup-mobile-max-height** - Maximum height of the mobile bottom sheet panel. _(default: 90vh)_\n- **--wje-popup-mobile-transition-duration** - Transition duration for the mobile bottom sheet and backdrop. _(default: 250ms)_\n- **--wje-popup-mobile-transition-easing** - Transition easing for the mobile bottom sheet and backdrop. _(default: ease)_\n\n### **CSS Parts:**\n - **native** - The native part of the dropdown.\n- **popup-native** - The exported native popup panel part.\n- **backdrop** - The exported mobile bottom sheet backdrop part.",
1028
+ "name": "wje-copy-button",
1029
+ "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.",
1108
1030
  "doc-url": "",
1109
1031
  "attributes": [
1110
- { "name": "active", "value": { "type": "string" } },
1111
1032
  {
1112
- "name": "mobile-presentation",
1113
- "description": "Enables a responsive presentation, currently \"bottom-sheet\".",
1033
+ "name": "for",
1034
+ "description": "The id of the element to copy content from.",
1114
1035
  "value": { "type": "string" }
1115
1036
  },
1116
1037
  {
1117
- "name": "mobile-break-point",
1118
- "description": "Viewport width where the mobile presentation becomes active. Defaults to \"768\". // @fires wje-dropdown:open - Event fired when the dropdown is opened. // @fires wje-dropdown:close - Event fired when the dropdown is closed.",
1038
+ "name": "label",
1039
+ "description": "Accessible label for the button. Also used as fallback tooltip text when the `tooltip` attribute is present without a value.",
1040
+ "value": { "type": "string" }
1041
+ },
1042
+ {
1043
+ "name": "label-success",
1044
+ "description": "Text displayed in the tooltip after a successful copy. Used only when the `tooltip` attribute is present.",
1045
+ "value": { "type": "string" }
1046
+ },
1047
+ {
1048
+ "name": "tooltip",
1049
+ "description": "Enables the tooltip. When set to a string, the value is used as the default tooltip content.",
1050
+ "value": { "type": "string" }
1051
+ },
1052
+ {
1053
+ "name": "value",
1054
+ "description": "The text to be copied.",
1119
1055
  "value": { "type": "string" }
1120
1056
  }
1121
1057
  ],
1122
1058
  "slots": [
1123
- {
1124
- "name": "trigger",
1125
- "description": "The slot for the trigger of the dropdown."
1126
- },
1127
- { "name": "", "description": "The default slot for the dropdown." }
1059
+ { "name": "", "description": "This is a default/unnamed slot." }
1128
1060
  ],
1129
1061
  "events": [],
1130
1062
  "js": {
1131
1063
  "properties": [
1132
1064
  {
1133
- "name": "dependencies",
1134
- "description": "The placement of the dropdown.",
1135
- "type": "{\"wje-popup\": Popup}"
1136
- },
1137
- {
1138
- "name": "portaled",
1139
- "description": "Getter method for the `portaled` property.\nChecks if the `portaled` attribute is present on the element."
1140
- },
1141
- {
1142
- "name": "isPortaled",
1143
- "description": "Checks whether the element has the 'portaled' attribute."
1144
- },
1145
- {
1146
- "name": "trigger",
1147
- "description": "Gets the placement of the dropdown."
1065
+ "name": "value",
1066
+ "description": "Getter for the value property."
1148
1067
  },
1068
+ { "name": "className", "type": "string" },
1069
+ { "name": "clicked", "description": "Handles the click event." },
1149
1070
  {
1150
- "name": "mobilePresentation",
1151
- "description": "Enables a responsive presentation, currently \"bottom-sheet\".",
1152
- "type": "string"
1071
+ "name": "keydown",
1072
+ "description": "Handles the keydown event."
1153
1073
  },
1074
+ { "name": "focused", "description": "Handles the focus event." },
1075
+ { "name": "blurred", "description": "Handles the blur event." },
1154
1076
  {
1155
- "name": "mobileBreakPoint",
1156
- "description": "Viewport width where the mobile presentation becomes active. Defaults to \"768\".",
1157
- "type": "string"
1077
+ "name": "copied",
1078
+ "description": "Handles the copied event.\nYou can override this method to customize the behavior when the text is copied."
1158
1079
  },
1080
+ { "name": "timeout", "type": "number" }
1081
+ ],
1082
+ "events": []
1083
+ }
1084
+ },
1085
+ {
1086
+ "name": "wje-divider",
1087
+ "description": "Divider is a custom web component that extends WJElement.\nIt provides a simple divider line that can be used to separate content.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Divider.\n- **draw(): _DocumentFragment_** - Draws the Divider.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--wje-border-width** - The size of the border. _(default: 1px)_\n- **--wje-divider-border-color** - The color of the divider borderline. _(default: var(--wje-border-color))_\n- **--wje-divider-border-width** - The width of the divider borderline. _(default: var(--wje-border-width, 1px))_\n- **--wje-divider-spacing** - The spacing for the divider. _(default: 0)_",
1088
+ "doc-url": "",
1089
+ "attributes": [],
1090
+ "slots": [
1091
+ { "name": "", "description": "This is a default/unnamed slot." }
1092
+ ],
1093
+ "events": [],
1094
+ "js": {
1095
+ "properties": [
1159
1096
  {
1160
1097
  "name": "className",
1161
- "description": "Sets the placement of the dropdown.",
1098
+ "description": "The class name for the Divider class.",
1162
1099
  "type": "string"
1163
- },
1164
- {
1165
- "name": "otherDropdownOpennedCallback",
1166
- "description": "Callback function to handle other dropdowns being opened. Close the dropdown if it is not the target and collapse is enabled."
1167
- },
1168
- {
1169
- "name": "popupHideCallback",
1170
- "description": "Handles popup hide events and closes only the dropdown that owns the popup.\nThis prevents nested dropdowns from collapsing their parent dropdown when the\nchild popup is hidden."
1171
- },
1172
- {
1173
- "name": "onMenuItemClick",
1174
- "description": "Handles delegated clicks from inside the popup and closes the dropdown when a leaf menu item is selected.\nThis works even when the menu is portaled, because we rely on the composed path."
1175
- },
1176
- { "name": "toggleCallback" },
1177
- { "name": "onOpen", "description": "Open the popup element." },
1178
- { "name": "beforeClose" },
1179
- { "name": "afterClose" },
1180
- { "name": "onClose" }
1100
+ }
1181
1101
  ],
1182
1102
  "events": []
1183
1103
  }
@@ -1228,39 +1148,81 @@
1228
1148
  }
1229
1149
  },
1230
1150
  {
1231
- "name": "wje-file-upload-item",
1232
- "description": "This element allows users to upload files.\n`FileUploadItem` is a custom web component that represents a file upload item.\nIt extends from `WJElement` and uses the `Localizer` utility for localization.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Method to draw the component on the screen.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host and actions.\n\n### **Slots:**\n - **img** - Slot for the image\n- **action** - Slot for the action buttons\n\n### **CSS Properties:**\n - **--primary-color** - The primary color of the file upload item. //@fires wje-button:click - Dispatches when the delete button is clicked _(default: undefined)_\n\n### **CSS Parts:**\n - **button** - The delete button part\n- **image** - The image part\n- **name** - The name part\n- **size** - The size part",
1151
+ "name": "wje-dropdown",
1152
+ "description": "This element represents a dropdown menu.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the dropdown.\n- **beforeDraw()** - Removes the popup element.\n- **draw(): _DocumentFragment_** - Draws the dropdown element and returns the created document fragment.\n- **afterDraw()** - Adds event listeners for the mouseenter and mouseleave events.\n- **afterDisconnect()** - Adds event listeners for the mouseenter and mouseleave events.\n- **syncPopupOwner()** - Assigns the current dropdown instance as the owner of its popup layers.\nOwner metadata is later used to resolve which dropdown should react to\ndelegated menu-item clicks, including portaled popup content.\n- **syncOwnedContentOwner(root: _HTMLElement_)** - Recursively assigns owner metadata to the dropdown content subtree while\nleaving nested dropdown roots untouched, so each nested dropdown can keep\nits own ownership boundary.\n- **getMenuItemOwner(path: _EventTarget[]_, item: _HTMLElement_): _HTMLElement|null_** - Resolves the dropdown that owns a clicked menu item. The lookup prefers\nexplicit owner metadata and falls back to DOM traversal so both regular\nand portaled dropdown content can be scoped correctly.\n- **afterShow()** - This method is called after the dropdown is shown.\n- **syncAria()** - Syncs ARIA attributes for the trigger element.\n\n### **Slots:**\n - **trigger** - The slot for the trigger of the dropdown.\n- _default_ - The default slot for the dropdown.\n\n### **CSS Properties:**\n - **--wje-popup-backdrop-background** - Backdrop background used by mobile bottom sheet dropdowns. _(default: var(--wje-backdrop))_\n- **--wje-popup-backdrop-opacity** - Backdrop opacity used by mobile bottom sheet dropdowns. _(default: 1)_\n- **--wje-popup-mobile-background** - Background of the mobile bottom sheet panel. _(default: var(--wje-select-options-background-color))_\n- **--wje-popup-mobile-border-radius** - Border radius of the mobile bottom sheet panel. _(default: var(--wje-border-radius-large) var(--wje-border-radius-large) 0 0)_\n- **--wje-popup-mobile-box-shadow** - Shadow of the mobile bottom sheet panel. _(default: 0 -8px 32px rgba(0, 0, 0, 0.16))_\n- **--wje-popup-mobile-max-height** - Maximum height of the mobile bottom sheet panel. _(default: 90vh)_\n- **--wje-popup-mobile-transition-duration** - Transition duration for the mobile bottom sheet and backdrop. _(default: 250ms)_\n- **--wje-popup-mobile-transition-easing** - Transition easing for the mobile bottom sheet and backdrop. _(default: ease)_\n\n### **CSS Parts:**\n - **native** - The native part of the dropdown.\n- **popup-native** - The exported native popup panel part.\n- **backdrop** - The exported mobile bottom sheet backdrop part.",
1233
1153
  "doc-url": "",
1234
1154
  "attributes": [
1235
- { "name": "uploaded", "value": { "type": "string" } },
1236
- { "name": "is-uploaded", "value": { "type": "string" } }
1155
+ { "name": "active", "value": { "type": "string" } },
1156
+ {
1157
+ "name": "mobile-presentation",
1158
+ "description": "Enables a responsive presentation, currently \"bottom-sheet\".",
1159
+ "value": { "type": "string" }
1160
+ },
1161
+ {
1162
+ "name": "mobile-break-point",
1163
+ "description": "Viewport width where the mobile presentation becomes active. Defaults to \"768\". // @fires wje-dropdown:open - Event fired when the dropdown is opened. // @fires wje-dropdown:close - Event fired when the dropdown is closed.",
1164
+ "value": { "type": "string" }
1165
+ }
1237
1166
  ],
1238
1167
  "slots": [
1239
- { "name": "img", "description": "Slot for the image" },
1240
- { "name": "action", "description": "Slot for the action buttons" }
1168
+ {
1169
+ "name": "trigger",
1170
+ "description": "The slot for the trigger of the dropdown."
1171
+ },
1172
+ { "name": "", "description": "The default slot for the dropdown." }
1241
1173
  ],
1242
1174
  "events": [],
1243
1175
  "js": {
1244
1176
  "properties": [
1245
1177
  {
1246
- "name": "isUploaded",
1247
- "description": "Checks if the 'is-uploaded' attribute is present on the element."
1178
+ "name": "dependencies",
1179
+ "description": "The placement of the dropdown.",
1180
+ "type": "{\"wje-popup\": Popup}"
1248
1181
  },
1249
1182
  {
1250
- "name": "size",
1251
- "description": "Retrieves the value of the 'size' attribute."
1183
+ "name": "portaled",
1184
+ "description": "Getter method for the `portaled` property.\nChecks if the `portaled` attribute is present on the element."
1252
1185
  },
1253
1186
  {
1254
- "name": "dependencies",
1255
- "description": "Dependencies for the component.",
1256
- "type": "object"
1187
+ "name": "isPortaled",
1188
+ "description": "Checks whether the element has the 'portaled' attribute."
1257
1189
  },
1258
- { "name": "className", "type": "string" },
1259
1190
  {
1260
- "name": "onDelete",
1261
- "description": "Handles the delete action."
1191
+ "name": "trigger",
1192
+ "description": "Gets the placement of the dropdown."
1262
1193
  },
1263
- { "name": "localizer" }
1194
+ {
1195
+ "name": "mobilePresentation",
1196
+ "description": "Enables a responsive presentation, currently \"bottom-sheet\".",
1197
+ "type": "string"
1198
+ },
1199
+ {
1200
+ "name": "mobileBreakPoint",
1201
+ "description": "Viewport width where the mobile presentation becomes active. Defaults to \"768\".",
1202
+ "type": "string"
1203
+ },
1204
+ {
1205
+ "name": "className",
1206
+ "description": "Sets the placement of the dropdown.",
1207
+ "type": "string"
1208
+ },
1209
+ {
1210
+ "name": "otherDropdownOpennedCallback",
1211
+ "description": "Callback function to handle other dropdowns being opened. Close the dropdown if it is not the target and collapse is enabled."
1212
+ },
1213
+ {
1214
+ "name": "popupHideCallback",
1215
+ "description": "Handles popup hide events and closes only the dropdown that owns the popup.\nThis prevents nested dropdowns from collapsing their parent dropdown when the\nchild popup is hidden."
1216
+ },
1217
+ {
1218
+ "name": "onMenuItemClick",
1219
+ "description": "Handles delegated clicks from inside the popup and closes the dropdown when a leaf menu item is selected.\nThis works even when the menu is portaled, because we rely on the composed path."
1220
+ },
1221
+ { "name": "toggleCallback" },
1222
+ { "name": "onOpen", "description": "Open the popup element." },
1223
+ { "name": "beforeClose" },
1224
+ { "name": "afterClose" },
1225
+ { "name": "onClose" }
1264
1226
  ],
1265
1227
  "events": []
1266
1228
  }
@@ -1392,46 +1354,37 @@
1392
1354
  }
1393
1355
  },
1394
1356
  {
1395
- "name": "wje-format-digital",
1396
- "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.",
1357
+ "name": "wje-file-upload-item",
1358
+ "description": "This element allows users to upload files.\n`FileUploadItem` is a custom web component that represents a file upload item.\nIt extends from `WJElement` and uses the `Localizer` utility for localization.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Method to draw the component on the screen.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host and actions.\n\n### **Slots:**\n - **img** - Slot for the image\n- **action** - Slot for the action buttons\n\n### **CSS Properties:**\n - **--primary-color** - The primary color of the file upload item. //@fires wje-button:click - Dispatches when the delete button is clicked _(default: undefined)_\n\n### **CSS Parts:**\n - **button** - The delete button part\n- **image** - The image part\n- **name** - The name part\n- **size** - The size part",
1397
1359
  "doc-url": "",
1398
1360
  "attributes": [
1399
- {
1400
- "name": "value",
1401
- "description": "The numeric value to format (e.g., 1024 for 1 KB).",
1402
- "value": { "type": "number" }
1403
- },
1404
- { "name": "unit-display", "value": { "type": "string" } },
1405
- {
1406
- "name": "unit",
1407
- "description": "The unit of the value (`byte` or `bit`). Defaults to `byte`.",
1408
- "value": { "type": "string" }
1409
- },
1410
- {
1411
- "name": "unitDisplay",
1412
- "description": "The display style of the unit (`short`, `long`, or `narrow`). Defaults to `short`.",
1413
- "value": { "type": "string" }
1414
- }
1361
+ { "name": "uploaded", "value": { "type": "string" } },
1362
+ { "name": "is-uploaded", "value": { "type": "string" } }
1363
+ ],
1364
+ "slots": [
1365
+ { "name": "img", "description": "Slot for the image" },
1366
+ { "name": "action", "description": "Slot for the action buttons" }
1415
1367
  ],
1416
1368
  "events": [],
1417
1369
  "js": {
1418
1370
  "properties": [
1419
1371
  {
1420
- "name": "value",
1421
- "description": "Returns the value of the digital format."
1372
+ "name": "isUploaded",
1373
+ "description": "Checks if the 'is-uploaded' attribute is present on the element."
1422
1374
  },
1423
1375
  {
1424
- "name": "unit",
1425
- "description": "Returns the unit of the digital format.\nDefaults to `byte` if no unit is set."
1376
+ "name": "size",
1377
+ "description": "Retrieves the value of the 'size' attribute."
1426
1378
  },
1427
1379
  {
1428
- "name": "unitDisplay",
1429
- "description": "Returns the unit display style for the digital format.\nDefaults to `short` if not set."
1380
+ "name": "dependencies",
1381
+ "description": "Dependencies for the component.",
1382
+ "type": "object"
1430
1383
  },
1384
+ { "name": "className", "type": "string" },
1431
1385
  {
1432
- "name": "className",
1433
- "description": "The class name identifier for this component.",
1434
- "type": "string"
1386
+ "name": "onDelete",
1387
+ "description": "Handles the delete action."
1435
1388
  },
1436
1389
  { "name": "localizer" }
1437
1390
  ],
@@ -1478,6 +1431,53 @@
1478
1431
  "events": []
1479
1432
  }
1480
1433
  },
1434
+ {
1435
+ "name": "wje-format-digital",
1436
+ "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.",
1437
+ "doc-url": "",
1438
+ "attributes": [
1439
+ {
1440
+ "name": "value",
1441
+ "description": "The numeric value to format (e.g., 1024 for 1 KB).",
1442
+ "value": { "type": "number" }
1443
+ },
1444
+ { "name": "unit-display", "value": { "type": "string" } },
1445
+ {
1446
+ "name": "unit",
1447
+ "description": "The unit of the value (`byte` or `bit`). Defaults to `byte`.",
1448
+ "value": { "type": "string" }
1449
+ },
1450
+ {
1451
+ "name": "unitDisplay",
1452
+ "description": "The display style of the unit (`short`, `long`, or `narrow`). Defaults to `short`.",
1453
+ "value": { "type": "string" }
1454
+ }
1455
+ ],
1456
+ "events": [],
1457
+ "js": {
1458
+ "properties": [
1459
+ {
1460
+ "name": "value",
1461
+ "description": "Returns the value of the digital format."
1462
+ },
1463
+ {
1464
+ "name": "unit",
1465
+ "description": "Returns the unit of the digital format.\nDefaults to `byte` if no unit is set."
1466
+ },
1467
+ {
1468
+ "name": "unitDisplay",
1469
+ "description": "Returns the unit display style for the digital format.\nDefaults to `short` if not set."
1470
+ },
1471
+ {
1472
+ "name": "className",
1473
+ "description": "The class name identifier for this component.",
1474
+ "type": "string"
1475
+ },
1476
+ { "name": "localizer" }
1477
+ ],
1478
+ "events": []
1479
+ }
1480
+ },
1481
1481
  {
1482
1482
  "name": "wje-grid",
1483
1483
  "description": "The Grid class is a custom web component that extends WJElement. It is a simple grid that can hold other elements or components.\nIt provides a slot for adding child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Grid.\n- **draw(): _DocumentFragment_** - Draws the Grid element.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.",
@@ -1539,36 +1539,6 @@
1539
1539
  "events": []
1540
1540
  }
1541
1541
  },
1542
- {
1543
- "name": "wje-img-comparer",
1544
- "description": "This element allows users to compare two images. `ImgComparer` is a custom web component that represents an image comparer.\nIt extends from `WJElement` and uses the `Icon` component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - **before** - The before image slot.\n- **after** - The after image slot.\n\n### **CSS Properties:**\n - **--wje-img-compare-divider-area** - The area of the divider. This is the size of the divider. Accepts any valid CSS size. _(default: 12px)_\n- **--wje-img-compare-divider-background** - Sets the background color of the divider in the image comparison component. Accepts any valid CSS color value (e.g., `red`, `#ff0000`, `rgba(255, 255, 255, 0.5)`). The default value is `white`, which ensures high contrast in most designs. _(default: white)_\n- **--wje-img-compare-divider-size** - The size of the divider. This is the thickness of the divider. Accepts any valid CSS size. _(default: 2px)_\n- **--wje-img-compare-divider-left** - The left position of the divider. This is the initial position of the divider. _(default: 50%)_\n- **--wje-img-compare-position** - The position of the divider. This is the position of the divider. _(default: 50%)_\n- **--wje-img-compare-clip-path** - The clip path of the divider. This is the clip path of the divider. _(default: inset(0 calc(100% - var(--wje-img-compare-position)) 0 0))_\n\n### **CSS Parts:**\n - **divider** - The divider part.",
1545
- "doc-url": "",
1546
- "attributes": [],
1547
- "slots": [
1548
- { "name": "before", "description": "The before image slot." },
1549
- { "name": "after", "description": "The after image slot." }
1550
- ],
1551
- "events": [],
1552
- "js": {
1553
- "properties": [
1554
- {
1555
- "name": "dependencies",
1556
- "description": "Dependencies of the ImgComparer component.",
1557
- "type": "object"
1558
- },
1559
- { "name": "className", "type": "string" },
1560
- {
1561
- "name": "handleDrag",
1562
- "description": "Handles the drag event."
1563
- },
1564
- {
1565
- "name": "clamp",
1566
- "description": "Clamps a number between a minimum and maximum value."
1567
- }
1568
- ],
1569
- "events": []
1570
- }
1571
- },
1572
1542
  {
1573
1543
  "name": "wje-icon-picker",
1574
1544
  "description": "This element allows users to pick an icon from a set of available options.\n`IconPicker` is a custom web component that represents an interactive icon picker. It features\nsearch functionality, infinite scrolling, and popup-based selection. The component is highly customizable\nand integrates seamlessly with other `WJElement` components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(): _Promise<void>_** - Prepares data before the draw operation by fetching tags, transforming objects, and creating an index.\n- **draw(): _DocumentFragment_** - Draws and initializes the native color picker component on the DOM.\nThis method creates and appends the necessary elements, including input and infinite scroll components,\nand sets their attributes and event listeners. It also provides custom data handling for infinite scrolling\nand manages the way icons are displayed based on input.\n- **afterDraw(): _void_** - Executes actions that occur after the component finishes its draw phase. Sets up event listeners for input clear\nand infinite scroll item clicks, resets initialization state, and rebinds scroll-related events.\n- **syncAria()** - Sync ARIA attributes on host.\n- **initial()** - Initializes the component.\n- **getTags(): _Promise<Array>_** - Gets the tags.\n- **beforeDisconnect()** - Called when the component is disconnected.\n- **clearIconsContainer()** - Clears the icons container.\n- **debounce(fn: _Function_, delay: _number_): _Function_** - Creates a debounced version of the provided function that delays its execution\nuntil after the specified delay has passed since the last time it was invoked.\n\n### **CSS Properties:**\n - **--wje-color-picker-value** - The default color value. _(default: #ff0000)_\n- **--wje-color-picker-area** - The background color of the color picker area. _(default: transparent)_\n- **--wje-color-picker-swatch** - The background color of the swatch picker. _(default: transparent)_\n- **--wje-color-picker-size** - The size of the icons in the picker. _(default: 1rem)_\n- **--wje-color-picker-radius** - The border radius of the picker. _(default: 4px)_\n\n### **CSS Parts:**\n - **native** - The native part of the component.\n- **anchor** - The part representing the anchor button displaying the selected icon.\n- **picker** - The picker part containing the search and icon selection interface.\n- **input** - The input part for searching icons.",
@@ -1683,6 +1653,66 @@
1683
1653
  "events": []
1684
1654
  }
1685
1655
  },
1656
+ {
1657
+ "name": "wje-infinite-scroll",
1658
+ "description": "This element allows users to scroll through a potentially infinite amount of content.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(): _void_** - Prepares the component for updates before it is drawn.\nThis method handles the removal of templates for iteration, adjusts the height styling of the component,\nand manages abort signals for loading operations.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing the structure for an infinite scroll component.\nThe structure includes native elements, slots for customization, and optional loading content.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n- **getPages(page: _number_): _Promise<object>_** - Fetches the pages from the server.\n- **hideLoader()** - Hides the loader.\n- **showLoader(): _void_** - Displays the loader element by adding the 'show' class to its class list.\nThis method is useful for indicating a loading or processing state in the UI.\n- **hasMorePages(page: _number_): _boolean_** - Checks if there are more pages to load.\n- **loadPages(page: _number_)** - Loads the pages.\n\n### **Slots:**\n - _default_ - The default slot for the infinite scroll.\n\n### **CSS Properties:**\n - **--wje-infinite-scroll-width** - Sets the width of the infinite scroll container. his property determines how wide the infinite scroll area will be relative to its parent element. Accepts any valid CSS width value, such as percentages (`%`), pixels (`px`), or viewport units (`vw`). The default value is `100%`, which makes it span the full width of its container. _(default: 100%)_\n- **--wje-infinite-scroll-height** - Defines the height of the infinite scroll container. This property specifies how tall the infinite scroll area should be. Accepts any valid CSS height value, such as pixels (`px`), percentages (`%`), or viewport units (`vh`). The default value is `300px`, providing a fixed height suitable for most use cases. //@fires wje-infinite-scroll:click-item - Event fired when an item is clicked. _(default: 300px)_\n\n### **CSS Parts:**\n - **loader** - The loader part of the infinite scroll.",
1659
+ "doc-url": "",
1660
+ "attributes": [],
1661
+ "slots": [
1662
+ {
1663
+ "name": "",
1664
+ "description": "The default slot for the infinite scroll."
1665
+ }
1666
+ ],
1667
+ "events": [],
1668
+ "js": {
1669
+ "properties": [
1670
+ {
1671
+ "name": "infiniteScrollTemplate",
1672
+ "description": "Getter for the infiniteScrollTemplate property."
1673
+ },
1674
+ {
1675
+ "name": "response",
1676
+ "description": "Getter for the response property."
1677
+ },
1678
+ {
1679
+ "name": "objectName",
1680
+ "description": "Dependencies of the InfiniteScroll component."
1681
+ },
1682
+ { "name": "className", "type": "string" },
1683
+ {
1684
+ "name": "scrollEvent",
1685
+ "description": "Attaches a scroll event listener to the current object.\nThe `scrollEvent` function binds the `onScroll` method to the 'scroll' event\nof the current object. This enables handling of scroll events for\nspecific functionality such as updating UI elements, loading content dynamically,\nor tracking user interaction with scrollable content."
1686
+ },
1687
+ {
1688
+ "name": "unScrollEvent",
1689
+ "description": "A function that removes the scroll event listener from the current context.\nThis function is used to unbind the `onScroll` event listener\nfrom the `scroll` event of the current object. It ensures that\nthe scroll event no longer triggers the `onScroll` handler."
1690
+ },
1691
+ {
1692
+ "name": "onScroll",
1693
+ "description": "A scroll event handler function that checks the scroll position and triggers loading additional content\nwhen the user scrolls near the bottom of the page.\nProperties accessed:\n- `scrollTop`: The number of pixels that the content of an element is scrolled vertically.\n- `scrollHeight`: The total height of the element's content.\n- `clientHeight`: The inner height of the element in pixels, including padding but excluding borders and scrollbars.\nConditions:\n- Determines if the scroll position is within 300 pixels of the bottom of the element.\n- Verifies that the current page number is less than or equal to the total number of pages.\n- Checks if the current page is already in the loading state.\nActions:\n- Increments the current page number when the conditions are met.\n- Initiates loading for the next page by calling the `loadPages` function."
1694
+ },
1695
+ { "name": "compareFunction" },
1696
+ {
1697
+ "name": "dataToHtml",
1698
+ "description": "Converts a data item into an HTML element based on a template.\nThis function takes a data item, interpolates it into a predefined template,\nparses the resulting HTML string, and returns the first child element of the parsed HTML content."
1699
+ },
1700
+ {
1701
+ "name": "customForeach",
1702
+ "description": "A custom implementation of the forEach method designed to iterate over an array of data,\ntransform each item into an HTML element, and append the element to a specified placement object.\nAdditionally, it adds an event listener to each generated element for handling click events."
1703
+ },
1704
+ {
1705
+ "name": "interpolate",
1706
+ "description": "Interpolates a string template with values from the provided parameters object.\nThe template contains placeholders in the format `{{key}}` or `{{key.subkey}}`,\nwhich are replaced with the corresponding values from the `params` object.\nPlaceholders support dot notation for accessing nested properties within the `params` object."
1707
+ },
1708
+ { "name": "totalPages", "type": "number" },
1709
+ { "name": "isLoading", "type": "array" },
1710
+ { "name": "iterate", "type": "null" },
1711
+ { "name": "placementObj" }
1712
+ ],
1713
+ "events": []
1714
+ }
1715
+ },
1686
1716
  {
1687
1717
  "name": "wje-input",
1688
1718
  "description": "This class represents a custom input element. It extends the WJElement class and provides additional functionality for handling input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the input.\n- **draw(): _DocumentFragment_** - Draws the input element.\n- **afterDraw()** - Runs after the input is drawn to the DOM.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **hasSlot(el: _HTMLElement_, slotName: _string_): _boolean_** - Checks whether the input has a slot.\n\n### **Slots:**\n - **start** - Slot for content at the start of the input.\n- **end** - Slot for content at the end of the input.\n\n### **CSS Properties:**\n - **--wje-input-font-family** - Defines the font family for the input text. _(default: var(--wje-font-family))_\n- **--wje-input-background-color** - Specifies the background color of the input field. _(default: var(--wje-background))_\n- **--wje-input-color** - Sets the text color within the input field. _(default: var(--wje-color))_\n- **--wje-input-color-invalid** - Changes the text color when the input value is invalid. _(default: var(--wje-color-danger))_\n- **--wje-input-error-background-color** - Controls the background color of the validation error bubble. _(default: var(--wje-tooltip-background))_\n- **--wje-input-error-color** - Controls the text color of the validation error bubble. _(default: var(--wje-tooltip-color))_\n- **--wje-input-border-color** - Defines the border color of the input field. _(default: var(--wje-border-color))_\n- **--wje-input-border-color-focus** - Specifies the border color when the input is focused. _(default: var(--wje-color-primary))_\n- **--wje-input-border-width** - Sets the width of the input border. _(default: 1px)_\n- **--wje-input-border-style** - Defines the border style of the input (e.g., solid, dashed). _(default: solid)_\n- **--wje-input-border-radius** - Specifies the border radius, creating rounded corners. _(default: 4px)_\n- **--wje-input-margin-bottom** - Adds spacing below the input field. _(default: .5rem)_\n- **--wje-input-line-height** - Sets the line height of the text within the input field. _(default: 20px)_\n- **--wje-input-slot-padding-inline** - Controls the padding on the left and right of the input slot content. // @fires wje-input:input - Dispatched when the input value changes. // @fires wje-input:clear - Dispatched when the input is cleared. _(default: .5rem)_\n\n### **CSS Parts:**\n - **native** - The native part.\n- **wrapper** - The wrapper part.\n- **input** - The input part.\n- **clear** - The clear part.",
@@ -1795,6 +1825,28 @@
1795
1825
  "events": []
1796
1826
  }
1797
1827
  },
1828
+ {
1829
+ "name": "wje-input-file",
1830
+ "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.",
1831
+ "doc-url": "",
1832
+ "attributes": [],
1833
+ "events": [],
1834
+ "js": {
1835
+ "properties": [
1836
+ {
1837
+ "name": "value",
1838
+ "description": "Gets the value of the input file."
1839
+ },
1840
+ {
1841
+ "name": "className",
1842
+ "description": "The class name for the InputFile class.",
1843
+ "type": "string"
1844
+ },
1845
+ { "name": "_value", "type": "string" }
1846
+ ],
1847
+ "events": []
1848
+ }
1849
+ },
1798
1850
  {
1799
1851
  "name": "wje-kanban",
1800
1852
  "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.",
@@ -1858,101 +1910,49 @@
1858
1910
  }
1859
1911
  },
1860
1912
  {
1861
- "name": "wje-infinite-scroll",
1862
- "description": "This element allows users to scroll through a potentially infinite amount of content.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(): _void_** - Prepares the component for updates before it is drawn.\nThis method handles the removal of templates for iteration, adjusts the height styling of the component,\nand manages abort signals for loading operations.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing the structure for an infinite scroll component.\nThe structure includes native elements, slots for customization, and optional loading content.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n- **getPages(page: _number_): _Promise<object>_** - Fetches the pages from the server.\n- **hideLoader()** - Hides the loader.\n- **showLoader(): _void_** - Displays the loader element by adding the 'show' class to its class list.\nThis method is useful for indicating a loading or processing state in the UI.\n- **hasMorePages(page: _number_): _boolean_** - Checks if there are more pages to load.\n- **loadPages(page: _number_)** - Loads the pages.\n\n### **Slots:**\n - _default_ - The default slot for the infinite scroll.\n\n### **CSS Properties:**\n - **--wje-infinite-scroll-width** - Sets the width of the infinite scroll container. his property determines how wide the infinite scroll area will be relative to its parent element. Accepts any valid CSS width value, such as percentages (`%`), pixels (`px`), or viewport units (`vw`). The default value is `100%`, which makes it span the full width of its container. _(default: 100%)_\n- **--wje-infinite-scroll-height** - Defines the height of the infinite scroll container. This property specifies how tall the infinite scroll area should be. Accepts any valid CSS height value, such as pixels (`px`), percentages (`%`), or viewport units (`vh`). The default value is `300px`, providing a fixed height suitable for most use cases. //@fires wje-infinite-scroll:click-item - Event fired when an item is clicked. _(default: 300px)_\n\n### **CSS Parts:**\n - **loader** - The loader part of the infinite scroll.",
1913
+ "name": "wje-label",
1914
+ "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.",
1863
1915
  "doc-url": "",
1864
1916
  "attributes": [],
1865
1917
  "slots": [
1866
- {
1867
- "name": "",
1868
- "description": "The default slot for the infinite scroll."
1869
- }
1918
+ { "name": "", "description": "The default slot for the label." }
1870
1919
  ],
1871
1920
  "events": [],
1872
1921
  "js": {
1873
- "properties": [
1874
- {
1875
- "name": "infiniteScrollTemplate",
1876
- "description": "Getter for the infiniteScrollTemplate property."
1877
- },
1878
- {
1879
- "name": "response",
1880
- "description": "Getter for the response property."
1881
- },
1882
- {
1883
- "name": "objectName",
1884
- "description": "Dependencies of the InfiniteScroll component."
1885
- },
1886
- { "name": "className", "type": "string" },
1887
- {
1888
- "name": "scrollEvent",
1889
- "description": "Attaches a scroll event listener to the current object.\nThe `scrollEvent` function binds the `onScroll` method to the 'scroll' event\nof the current object. This enables handling of scroll events for\nspecific functionality such as updating UI elements, loading content dynamically,\nor tracking user interaction with scrollable content."
1890
- },
1891
- {
1892
- "name": "unScrollEvent",
1893
- "description": "A function that removes the scroll event listener from the current context.\nThis function is used to unbind the `onScroll` event listener\nfrom the `scroll` event of the current object. It ensures that\nthe scroll event no longer triggers the `onScroll` handler."
1894
- },
1895
- {
1896
- "name": "onScroll",
1897
- "description": "A scroll event handler function that checks the scroll position and triggers loading additional content\nwhen the user scrolls near the bottom of the page.\nProperties accessed:\n- `scrollTop`: The number of pixels that the content of an element is scrolled vertically.\n- `scrollHeight`: The total height of the element's content.\n- `clientHeight`: The inner height of the element in pixels, including padding but excluding borders and scrollbars.\nConditions:\n- Determines if the scroll position is within 300 pixels of the bottom of the element.\n- Verifies that the current page number is less than or equal to the total number of pages.\n- Checks if the current page is already in the loading state.\nActions:\n- Increments the current page number when the conditions are met.\n- Initiates loading for the next page by calling the `loadPages` function."
1898
- },
1899
- { "name": "compareFunction" },
1900
- {
1901
- "name": "dataToHtml",
1902
- "description": "Converts a data item into an HTML element based on a template.\nThis function takes a data item, interpolates it into a predefined template,\nparses the resulting HTML string, and returns the first child element of the parsed HTML content."
1903
- },
1904
- {
1905
- "name": "customForeach",
1906
- "description": "A custom implementation of the forEach method designed to iterate over an array of data,\ntransform each item into an HTML element, and append the element to a specified placement object.\nAdditionally, it adds an event listener to each generated element for handling click events."
1907
- },
1908
- {
1909
- "name": "interpolate",
1910
- "description": "Interpolates a string template with values from the provided parameters object.\nThe template contains placeholders in the format `{{key}}` or `{{key.subkey}}`,\nwhich are replaced with the corresponding values from the `params` object.\nPlaceholders support dot notation for accessing nested properties within the `params` object."
1911
- },
1912
- { "name": "totalPages", "type": "number" },
1913
- { "name": "isLoading", "type": "array" },
1914
- { "name": "iterate", "type": "null" },
1915
- { "name": "placementObj" }
1916
- ],
1922
+ "properties": [{ "name": "className", "type": "string" }],
1917
1923
  "events": []
1918
1924
  }
1919
1925
  },
1920
1926
  {
1921
- "name": "wje-input-file",
1922
- "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.",
1927
+ "name": "wje-img-comparer",
1928
+ "description": "This element allows users to compare two images. `ImgComparer` is a custom web component that represents an image comparer.\nIt extends from `WJElement` and uses the `Icon` component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - **before** - The before image slot.\n- **after** - The after image slot.\n\n### **CSS Properties:**\n - **--wje-img-compare-divider-area** - The area of the divider. This is the size of the divider. Accepts any valid CSS size. _(default: 12px)_\n- **--wje-img-compare-divider-background** - Sets the background color of the divider in the image comparison component. Accepts any valid CSS color value (e.g., `red`, `#ff0000`, `rgba(255, 255, 255, 0.5)`). The default value is `white`, which ensures high contrast in most designs. _(default: white)_\n- **--wje-img-compare-divider-size** - The size of the divider. This is the thickness of the divider. Accepts any valid CSS size. _(default: 2px)_\n- **--wje-img-compare-divider-left** - The left position of the divider. This is the initial position of the divider. _(default: 50%)_\n- **--wje-img-compare-position** - The position of the divider. This is the position of the divider. _(default: 50%)_\n- **--wje-img-compare-clip-path** - The clip path of the divider. This is the clip path of the divider. _(default: inset(0 calc(100% - var(--wje-img-compare-position)) 0 0))_\n\n### **CSS Parts:**\n - **divider** - The divider part.",
1923
1929
  "doc-url": "",
1924
1930
  "attributes": [],
1931
+ "slots": [
1932
+ { "name": "before", "description": "The before image slot." },
1933
+ { "name": "after", "description": "The after image slot." }
1934
+ ],
1925
1935
  "events": [],
1926
1936
  "js": {
1927
1937
  "properties": [
1928
1938
  {
1929
- "name": "value",
1930
- "description": "Gets the value of the input file."
1939
+ "name": "dependencies",
1940
+ "description": "Dependencies of the ImgComparer component.",
1941
+ "type": "object"
1931
1942
  },
1943
+ { "name": "className", "type": "string" },
1932
1944
  {
1933
- "name": "className",
1934
- "description": "The class name for the InputFile class.",
1935
- "type": "string"
1945
+ "name": "handleDrag",
1946
+ "description": "Handles the drag event."
1936
1947
  },
1937
- { "name": "_value", "type": "string" }
1948
+ {
1949
+ "name": "clamp",
1950
+ "description": "Clamps a number between a minimum and maximum value."
1951
+ }
1938
1952
  ],
1939
1953
  "events": []
1940
1954
  }
1941
1955
  },
1942
- {
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.",
1945
- "doc-url": "",
1946
- "attributes": [],
1947
- "slots": [
1948
- { "name": "", "description": "The default slot for the label." }
1949
- ],
1950
- "events": [],
1951
- "js": {
1952
- "properties": [{ "name": "className", "type": "string" }],
1953
- "events": []
1954
- }
1955
- },
1956
1956
  {
1957
1957
  "name": "wje-level-indicator",
1958
1958
  "description": "LevelIndicator 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_** - Creates a document fragment, appends a new slot element to it, and returns the fragment.\n- **afterDraw(): _void_** - Executes any additional operations or updates required after the drawing process is completed.\n- **syncAria()** - Sync ARIA attributes on host.\n- **updateBars(level: _number_, bars: _Array_): _void_** - Updates the class of each bar element based on the specified level.\n- **getColor(level: _number_, bars: _number_): _string | undefined_** - Determines the color indicator based on the given level and bars.\n\n### **CSS Parts:**\n - **** - Styles the element.",
@@ -1999,6 +1999,23 @@
1999
1999
  "events": []
2000
2000
  }
2001
2001
  },
2002
+ {
2003
+ "name": "wje-main",
2004
+ "description": "This element represents a main section.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the main section.\n\n### **Slots:**\n - _default_ - The default slot for the main section.",
2005
+ "doc-url": "",
2006
+ "attributes": [],
2007
+ "slots": [
2008
+ {
2009
+ "name": "",
2010
+ "description": "The default slot for the main section."
2011
+ }
2012
+ ],
2013
+ "events": [],
2014
+ "js": {
2015
+ "properties": [{ "name": "className", "type": "string" }],
2016
+ "events": []
2017
+ }
2018
+ },
2002
2019
  {
2003
2020
  "name": "wje-masonry",
2004
2021
  "description": "This element represents a masonry layout.\n---\n\n\n### **Methods:**\n - **beforeDisconnect()** - Callback for when the element is disconnected.\n- **setupAttributes()** - Sets up the attributes for the element.\n- **draw(): _DocumentFragment_** - Draws the element for the masonry layout.\n- **afterDraw()** - Called after the element is drawn.\n- **renderCols(colCount: _number_)** - Renders the columns.\n- **scheduleLayout(ms: _number_)** - Schedules a layout.\n\n### **Slots:**\n - _default_ - The default slot for the masonry layout.\n\n### **CSS Properties:**\n - **--wje-masonry-layout-gap** - The gap between items in the masonry layout. Accepts any valid CSS length. Default is 1rem. _(default: 1rem)_\n- **--wje-masonry-layout-col-count** - The count column in the masonry layout. Accepts any valid CSS length. _(default: 1)_\n\n### **CSS Parts:**\n - **native** - The native part of the masonry layout.\n- **column** - The individual columns in the masonry layout.",
@@ -2052,23 +2069,6 @@
2052
2069
  "events": []
2053
2070
  }
2054
2071
  },
2055
- {
2056
- "name": "wje-main",
2057
- "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.",
2058
- "doc-url": "",
2059
- "attributes": [],
2060
- "slots": [
2061
- {
2062
- "name": "",
2063
- "description": "The default slot for the main section."
2064
- }
2065
- ],
2066
- "events": [],
2067
- "js": {
2068
- "properties": [{ "name": "className", "type": "string" }],
2069
- "events": []
2070
- }
2071
- },
2072
2072
  {
2073
2073
  "name": "wje-menu",
2074
2074
  "description": "This element represents a menu.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu.\n- **afterDraw()** - Refreshes the component after drawing.\n- **beforeDisconnect()** - Cleans up the component before disconnecting.\n\n### **Slots:**\n - _default_ - The default slot for the menu.\n\n### **CSS Properties:**\n - **--wje-menu-background** - Defines the background color of the menu. Accepts any valid CSS color value, such as `#ffffff`, `rgb(255, 255, 255)`, or CSS variables. _(default: var(--wje-background))_\n- **--wje-menu-border-width** - Specifies the width of the menu's border. Accepts any valid CSS length value (e.g., `px`, `em`, `%`). _(default: 1px)_\n- **--wje-menu-border-style** - Sets the style of the menu's border. Common values include `solid`, `dashed`, `dotted`, etc. _(default: solid)_\n- **--wje-menu-border-color** - Defines the color of the menu's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-border-radius** - Determines the radius of the menu's corners, creating rounded edges. Accepts any valid CSS length value (e.g., `px`, `%`). _(default: var(--wje-border-radius-small))_\n- **--wje-menu-padding-top** - Specifies the top padding inside the menu. Accepts any valid CSS length value. _(default: .5rem)_\n- **--wje-menu-padding-bottom** - Specifies the bottom padding inside the menu. Accepts any valid CSS length value. _(default: .5rem)_\n- **--wje-menu-padding-inline** - Sets the horizontal (left and right) padding inside the menu. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-menu-margin-top** - Defines the top margin outside the menu. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-menu-margin-bottom** - Defines the bottom margin outside the menu. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-menu-margin-inline** - Specifies the horizontal (left and right) margin outside the menu. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-menu-collapse-width** - Sets the width of the menu when it is collapsed. This property is typically used to define the reduced size of the menu in collapsed state. Accepts any valid CSS length value. _(default: 65px)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu.",
@@ -2248,33 +2248,6 @@
2248
2248
  "events": []
2249
2249
  }
2250
2250
  },
2251
- {
2252
- "name": "wje-orgchart",
2253
- "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.",
2254
- "doc-url": "",
2255
- "attributes": [
2256
- {
2257
- "name": "flat",
2258
- "description": "Removes the incoming connector spacing for nested charts that should visually continue on the same level.",
2259
- "value": { "type": "boolean" }
2260
- }
2261
- ],
2262
- "events": [],
2263
- "js": {
2264
- "properties": [
2265
- {
2266
- "name": "flat",
2267
- "description": "Gets whether the chart omits its incoming connector spacing."
2268
- },
2269
- { "name": "className", "type": "string" },
2270
- {
2271
- "name": "syncFlatChildren",
2272
- "description": "Marks direct children that are rendered inside a flat chart."
2273
- }
2274
- ],
2275
- "events": []
2276
- }
2277
- },
2278
2251
  {
2279
2252
  "name": "wje-options",
2280
2253
  "description": "This element represents a set of options.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **processData(data: _object_): _Array_** - Processes the provided data based on the optional array path set in the instance.\n- **filterOutDrawnOptions(response: _object_): _object_** - Filters out options from the response object that have already been drawn, based on the specified option array path.\n- **getPages(page: _number_): _Promise<object>_** - Fetches the pages from the provided URL.\n- **findSelectedOptionData(selectedOptionValues: _Array_): _Array_** - Finds the selected option data based on the given selected option values.\n- **addOption(optionData: _object_)** - Adds an option to the element.\n- **addOptions(optionsData: _Array_, silent: _boolean_)** - Adds options to the element.",
@@ -2333,24 +2306,115 @@
2333
2306
  "description": "Retrieves the value of the 'query-params' attribute."
2334
2307
  },
2335
2308
  {
2336
- "name": "lazy",
2337
- "description": "Checks if the lazy attribute is present."
2309
+ "name": "lazy",
2310
+ "description": "Checks if the lazy attribute is present."
2311
+ },
2312
+ { "name": "options", "description": "Gets the loaded options." },
2313
+ {
2314
+ "name": "loadedOptions",
2315
+ "description": "Sets the loaded options.",
2316
+ "type": "Array"
2317
+ },
2318
+ { "name": "className", "type": "string" },
2319
+ { "name": "dispatchOptionsLoadEvent" },
2320
+ {
2321
+ "name": "recursiveUpdate",
2322
+ "description": "Recursively updates the object based on the provided path to the property."
2323
+ },
2324
+ {
2325
+ "name": "htmlItem",
2326
+ "description": "Generates an HTML option element based on the provided item."
2327
+ }
2328
+ ],
2329
+ "events": []
2330
+ }
2331
+ },
2332
+ {
2333
+ "name": "wje-orgchart",
2334
+ "description": "Orgchart is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the org chart.\n- **afterDraw()** - Syncs flat chart state to direct slotted children.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Parts:**\n - **** - Styles the element.\n- **native** - Styles the native element.",
2335
+ "doc-url": "",
2336
+ "attributes": [
2337
+ {
2338
+ "name": "flat",
2339
+ "description": "Removes the incoming connector spacing for nested charts that should visually continue on the same level.",
2340
+ "value": { "type": "boolean" }
2341
+ }
2342
+ ],
2343
+ "events": [],
2344
+ "js": {
2345
+ "properties": [
2346
+ {
2347
+ "name": "flat",
2348
+ "description": "Gets whether the chart omits its incoming connector spacing."
2349
+ },
2350
+ { "name": "className", "type": "string" },
2351
+ {
2352
+ "name": "syncFlatChildren",
2353
+ "description": "Marks direct children that are rendered inside a flat chart."
2354
+ }
2355
+ ],
2356
+ "events": []
2357
+ }
2358
+ },
2359
+ {
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
+ {
2377
+ "name": "wje-orgchart-item",
2378
+ "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.",
2379
+ "doc-url": "",
2380
+ "attributes": [
2381
+ {
2382
+ "name": "virtual",
2383
+ "description": "Renders the item as a structural connector without its own card or expander.",
2384
+ "value": { "type": "boolean" }
2385
+ },
2386
+ {
2387
+ "name": "boss",
2388
+ "description": "The boss of the orgchart item (default: false).",
2389
+ "value": { "type": "boolean" }
2390
+ }
2391
+ ],
2392
+ "slots": [
2393
+ {
2394
+ "name": "",
2395
+ "description": "The default slot for the orgchart item."
2396
+ },
2397
+ {
2398
+ "name": "child",
2399
+ "description": "The child slot for the orgchart item."
2400
+ }
2401
+ ],
2402
+ "events": [],
2403
+ "js": {
2404
+ "properties": [
2405
+ {
2406
+ "name": "boss",
2407
+ "description": "Gets the boss of the orgchart item."
2338
2408
  },
2339
- { "name": "options", "description": "Gets the loaded options." },
2340
2409
  {
2341
- "name": "loadedOptions",
2342
- "description": "Sets the loaded options.",
2343
- "type": "Array"
2410
+ "name": "virtual",
2411
+ "description": "Gets whether the item renders only as a structural connector."
2344
2412
  },
2345
2413
  { "name": "className", "type": "string" },
2346
- { "name": "dispatchOptionsLoadEvent" },
2347
- {
2348
- "name": "recursiveUpdate",
2349
- "description": "Recursively updates the object based on the provided path to the property."
2350
- },
2414
+ { "name": "handleItemClick" },
2351
2415
  {
2352
- "name": "htmlItem",
2353
- "description": "Generates an HTML option element based on the provided item."
2416
+ "name": "toggleChildren",
2417
+ "description": "Toggles the children of the orgchart item."
2354
2418
  }
2355
2419
  ],
2356
2420
  "events": []
@@ -2516,70 +2580,6 @@
2516
2580
  "events": [{ "name": "wje-portal:restored", "type": "CustomEvent" }]
2517
2581
  }
2518
2582
  },
2519
- {
2520
- "name": "wje-orgchart-group",
2521
- "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.",
2522
- "doc-url": "",
2523
- "attributes": [],
2524
- "events": [],
2525
- "js": {
2526
- "properties": [
2527
- {
2528
- "name": "className",
2529
- "description": "The class name for the component.",
2530
- "type": "string"
2531
- }
2532
- ],
2533
- "events": []
2534
- }
2535
- },
2536
- {
2537
- "name": "wje-orgchart-item",
2538
- "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.",
2539
- "doc-url": "",
2540
- "attributes": [
2541
- {
2542
- "name": "virtual",
2543
- "description": "Renders the item as a structural connector without its own card or expander.",
2544
- "value": { "type": "boolean" }
2545
- },
2546
- {
2547
- "name": "boss",
2548
- "description": "The boss of the orgchart item (default: false).",
2549
- "value": { "type": "boolean" }
2550
- }
2551
- ],
2552
- "slots": [
2553
- {
2554
- "name": "",
2555
- "description": "The default slot for the orgchart item."
2556
- },
2557
- {
2558
- "name": "child",
2559
- "description": "The child slot for the orgchart item."
2560
- }
2561
- ],
2562
- "events": [],
2563
- "js": {
2564
- "properties": [
2565
- {
2566
- "name": "boss",
2567
- "description": "Gets the boss of the orgchart item."
2568
- },
2569
- {
2570
- "name": "virtual",
2571
- "description": "Gets whether the item renders only as a structural connector."
2572
- },
2573
- { "name": "className", "type": "string" },
2574
- { "name": "handleItemClick" },
2575
- {
2576
- "name": "toggleChildren",
2577
- "description": "Toggles the children of the orgchart item."
2578
- }
2579
- ],
2580
- "events": []
2581
- }
2582
- },
2583
2583
  {
2584
2584
  "name": "wje-progress-bar",
2585
2585
  "description": "This element represents a progress bar.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **syncAria()** - Sync ARIA attributes on host.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **getCircleDasharray(radius: _number_): _number_** - Returns the dasharray for a circle with the given radius.\n- **getCircleDashoffset(progress: _number_, radius: _number_): _number_** - Returns the dashoffset for a circle with the given progress and radius.\n- **setCircleProgress(percent)** - Sets the progress of the circle.\n\n### **Slots:**\n - _default_ - The default slot for the progress bar.\n- **start** - The start slot of the progress bar.\n- **end** - The end slot of the progress bar.\n\n### **CSS Properties:**\n - **--wje-progress-bar-color** - Sets the color of the progress bar. This property controls the fill color of the progress indicator. Accepts any valid CSS color value, such as named colors (`red`), hex values (`#ff0000`), or CSS variables. _(default: var(--wje-color-contrast-6))_\n- **--wje-progress-bar-text-size** - Defines the font size of the text displayed within the progress bar. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`) to control text size relative to the bar's design. _(default: .75rem)_\n- **--wje-progress-bar-text-color** - Specifies the color of the text displayed within the progress bar. Accepts any valid CSS color value to ensure contrast and readability against the progress bar's background. _(default: var(--wje-color))_",
@@ -2735,69 +2735,121 @@
2735
2735
  }
2736
2736
  },
2737
2737
  {
2738
- "name": "wje-radio-group",
2739
- "description": "This element represents a group of radio buttons.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the radio group.\n- **afterDraw()** - Adds event listeners after the component is drawn. Handles the selection of radio buttons.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getRadioByValue(value: _string_): _Radio_** - Returns the radio button with the given value.\n- **removeCheck()** - Removes the check from all radio buttons.\n- **checkRadio(radio)** - Sets the given radio button to checked.\n- **getAllElements(): _HTMLElement[]_** - Retrieves all direct child elements of the current element.\n\n### **Slots:**\n - _default_ - The default slot for the radio group.",
2738
+ "name": "wje-rate",
2739
+ "description": "This element represents a rating component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the rating component.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **createIcons(i: _number_): _Element_** - Creates the icons for the rating component.\n- **changeRate()** - Changes the rate of the rating component.\n- **syncAria()** - Sync ARIA attributes on host.\n- **getIcons(index: _number_): _Element_** - Returns the icons for the rating component.\n- **getValueFromXPosition(coordinate: _number_): _number_** - Returns the value from the x position.\n- **roundToPrecision(numberToRound: _number_, precision: _number_): _number_** - Rounds a given number to the nearest specified precision.\n\n### **CSS Properties:**\n - **--wje-rate-gap** - Defines the spacing (gap) between individual items in the rating component. Accepts any valid CSS length unit (e.g., `px`, `rem`, `em`) to adjust the distance between rating elements. _(default: .25rem)_\n- **--wje-rate-color** - Specifies the default color of the rating items. Accepts any valid CSS color value, including named colors, hex values, RGB, or CSS variables. _(default: var(--wje-color-contrast-11))_\n- **--wje-rate-selected-color** - Sets the color for selected or highlighted rating items. This property helps visually distinguish selected ratings. Accepts any valid CSS color value. _(default: var(--wje-color-danger-9))_\n\n### **CSS Parts:**\n - **native** - The native part of the rating component.",
2740
2740
  "doc-url": "",
2741
2741
  "attributes": [
2742
- { "name": "required", "value": { "type": "string" } },
2742
+ { "name": "is-hover", "value": { "type": "string" } },
2743
2743
  { "name": "value", "value": { "type": "string" } },
2744
+ {
2745
+ "name": "max",
2746
+ "description": "The maximum value of the rating component.",
2747
+ "value": { "type": "number" }
2748
+ },
2744
2749
  { "name": "disabled", "value": { "type": "string" } },
2745
- { "name": "invalid", "value": { "type": "string" } },
2746
- { "name": "label", "value": { "type": "string" } }
2747
- ],
2748
- "slots": [
2750
+ { "name": "readonly", "value": { "type": "string" } },
2749
2751
  {
2750
- "name": "",
2751
- "description": "The default slot for the radio group."
2752
+ "name": "precision",
2753
+ "description": "The precision of the rating component.",
2754
+ "value": { "type": "number" }
2755
+ },
2756
+ {
2757
+ "name": "icons",
2758
+ "description": "The icons of the rating component.",
2759
+ "value": { "type": "Array<string>" }
2752
2760
  }
2753
2761
  ],
2754
2762
  "events": [],
2755
2763
  "js": {
2756
2764
  "properties": [
2765
+ {
2766
+ "name": "precision",
2767
+ "description": "Gets the precision of the rating component."
2768
+ },
2769
+ {
2770
+ "name": "max",
2771
+ "description": "Gets the maximum value of the rating component."
2772
+ },
2773
+ {
2774
+ "name": "icons",
2775
+ "description": "Gets the icons of the rating component."
2776
+ },
2757
2777
  {
2758
2778
  "name": "value",
2759
- "description": "Getter for the value attribute."
2779
+ "description": "Gets the value of the rating component."
2760
2780
  },
2761
2781
  {
2762
- "name": "required",
2763
- "description": "Getter for the name attribute."
2782
+ "name": "className",
2783
+ "description": "Sets the hover value of the rating component.",
2784
+ "type": "string"
2764
2785
  },
2765
2786
  {
2766
- "name": "label",
2767
- "description": "Getter for the label attribute."
2787
+ "name": "onMouseEnter",
2788
+ "description": "Event handler for the mouse enter event."
2768
2789
  },
2769
- { "name": "className", "type": "string" },
2770
- { "name": "invalid", "type": "boolean" },
2771
- { "name": "pristine", "type": "boolean" }
2790
+ {
2791
+ "name": "onMouseLeave",
2792
+ "description": "Event handler for the mouse leave event."
2793
+ },
2794
+ {
2795
+ "name": "onMouseMove",
2796
+ "description": "Event handler for the mouse move event."
2797
+ },
2798
+ {
2799
+ "name": "onTouchStart",
2800
+ "description": "Event handler for the touch start event."
2801
+ },
2802
+ {
2803
+ "name": "onTouchEnd",
2804
+ "description": "Event handler for the touch end event."
2805
+ },
2806
+ {
2807
+ "name": "onTouchMove",
2808
+ "description": "Event handler for the touch move event."
2809
+ },
2810
+ {
2811
+ "name": "onClick",
2812
+ "description": "Event handler for the click event."
2813
+ }
2772
2814
  ],
2773
2815
  "events": []
2774
2816
  }
2775
2817
  },
2776
2818
  {
2777
- "name": "wje-relative-time",
2778
- "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.",
2819
+ "name": "wje-radio-group",
2820
+ "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.",
2779
2821
  "doc-url": "",
2780
2822
  "attributes": [
2781
- { "name": "date", "value": { "type": "string" } },
2782
- { "name": "lang", "value": { "type": "string" } }
2823
+ { "name": "required", "value": { "type": "string" } },
2824
+ { "name": "value", "value": { "type": "string" } },
2825
+ { "name": "disabled", "value": { "type": "string" } },
2826
+ { "name": "invalid", "value": { "type": "string" } },
2827
+ { "name": "label", "value": { "type": "string" } }
2828
+ ],
2829
+ "slots": [
2830
+ {
2831
+ "name": "",
2832
+ "description": "The default slot for the radio group."
2833
+ }
2783
2834
  ],
2784
2835
  "events": [],
2785
2836
  "js": {
2786
2837
  "properties": [
2787
2838
  {
2788
- "name": "date",
2789
- "description": "Gets the date of the relative time component."
2839
+ "name": "value",
2840
+ "description": "Getter for the value attribute."
2790
2841
  },
2791
2842
  {
2792
- "name": "objectDate",
2793
- "description": "Gets the object date of the relative time component."
2843
+ "name": "required",
2844
+ "description": "Getter for the name attribute."
2794
2845
  },
2795
2846
  {
2796
- "name": "className",
2797
- "description": "Sets the lang of the relative time component.",
2798
- "type": "string"
2847
+ "name": "label",
2848
+ "description": "Getter for the label attribute."
2799
2849
  },
2800
- { "name": "localizer" }
2850
+ { "name": "className", "type": "string" },
2851
+ { "name": "invalid", "type": "boolean" },
2852
+ { "name": "pristine", "type": "boolean" }
2801
2853
  ],
2802
2854
  "events": []
2803
2855
  }
@@ -2833,121 +2885,69 @@
2833
2885
  }
2834
2886
  },
2835
2887
  {
2836
- "name": "wje-reorder-handle",
2837
- "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.",
2888
+ "name": "wje-reorder-dropzone",
2889
+ "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.",
2838
2890
  "doc-url": "",
2839
- "attributes": [
2840
- { "name": "dropzone", "value": { "type": "string" } },
2841
- { "name": "parent", "value": { "type": "string" } }
2842
- ],
2891
+ "attributes": [],
2843
2892
  "slots": [
2844
2893
  {
2845
2894
  "name": "",
2846
- "description": "The default slot for the reorder handle."
2895
+ "description": "The default slot for the reorder dropzone."
2847
2896
  }
2848
2897
  ],
2849
2898
  "events": [],
2850
2899
  "js": {
2851
2900
  "properties": [
2852
- {
2853
- "name": "className",
2854
- "description": "The class name for the component.",
2855
- "type": "string"
2856
- }
2857
- ],
2858
- "events": []
2859
- }
2860
- },
2861
- {
2862
- "name": "wje-rate",
2863
- "description": "This element represents a rating component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the rating component.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **createIcons(i: _number_): _Element_** - Creates the icons for the rating component.\n- **changeRate()** - Changes the rate of the rating component.\n- **syncAria()** - Sync ARIA attributes on host.\n- **getIcons(index: _number_): _Element_** - Returns the icons for the rating component.\n- **getValueFromXPosition(coordinate: _number_): _number_** - Returns the value from the x position.\n- **roundToPrecision(numberToRound: _number_, precision: _number_): _number_** - Rounds a given number to the nearest specified precision.\n\n### **CSS Properties:**\n - **--wje-rate-gap** - Defines the spacing (gap) between individual items in the rating component. Accepts any valid CSS length unit (e.g., `px`, `rem`, `em`) to adjust the distance between rating elements. _(default: .25rem)_\n- **--wje-rate-color** - Specifies the default color of the rating items. Accepts any valid CSS color value, including named colors, hex values, RGB, or CSS variables. _(default: var(--wje-color-contrast-11))_\n- **--wje-rate-selected-color** - Sets the color for selected or highlighted rating items. This property helps visually distinguish selected ratings. Accepts any valid CSS color value. _(default: var(--wje-color-danger-9))_\n\n### **CSS Parts:**\n - **native** - The native part of the rating component.",
2864
- "doc-url": "",
2865
- "attributes": [
2866
- { "name": "is-hover", "value": { "type": "string" } },
2867
- { "name": "value", "value": { "type": "string" } },
2868
- {
2869
- "name": "max",
2870
- "description": "The maximum value of the rating component.",
2871
- "value": { "type": "number" }
2872
- },
2873
- { "name": "disabled", "value": { "type": "string" } },
2874
- { "name": "readonly", "value": { "type": "string" } },
2875
- {
2876
- "name": "precision",
2877
- "description": "The precision of the rating component.",
2878
- "value": { "type": "number" }
2879
- },
2880
- {
2881
- "name": "icons",
2882
- "description": "The icons of the rating component.",
2883
- "value": { "type": "Array<string>" }
2884
- }
2901
+ {
2902
+ "name": "className",
2903
+ "description": "The class name for the component.",
2904
+ "type": "string"
2905
+ }
2906
+ ],
2907
+ "events": []
2908
+ }
2909
+ },
2910
+ {
2911
+ "name": "wje-relative-time",
2912
+ "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.",
2913
+ "doc-url": "",
2914
+ "attributes": [
2915
+ { "name": "date", "value": { "type": "string" } },
2916
+ { "name": "lang", "value": { "type": "string" } }
2885
2917
  ],
2886
2918
  "events": [],
2887
2919
  "js": {
2888
2920
  "properties": [
2889
2921
  {
2890
- "name": "precision",
2891
- "description": "Gets the precision of the rating component."
2892
- },
2893
- {
2894
- "name": "max",
2895
- "description": "Gets the maximum value of the rating component."
2896
- },
2897
- {
2898
- "name": "icons",
2899
- "description": "Gets the icons of the rating component."
2922
+ "name": "date",
2923
+ "description": "Gets the date of the relative time component."
2900
2924
  },
2901
2925
  {
2902
- "name": "value",
2903
- "description": "Gets the value of the rating component."
2926
+ "name": "objectDate",
2927
+ "description": "Gets the object date of the relative time component."
2904
2928
  },
2905
2929
  {
2906
2930
  "name": "className",
2907
- "description": "Sets the hover value of the rating component.",
2931
+ "description": "Sets the lang of the relative time component.",
2908
2932
  "type": "string"
2909
2933
  },
2910
- {
2911
- "name": "onMouseEnter",
2912
- "description": "Event handler for the mouse enter event."
2913
- },
2914
- {
2915
- "name": "onMouseLeave",
2916
- "description": "Event handler for the mouse leave event."
2917
- },
2918
- {
2919
- "name": "onMouseMove",
2920
- "description": "Event handler for the mouse move event."
2921
- },
2922
- {
2923
- "name": "onTouchStart",
2924
- "description": "Event handler for the touch start event."
2925
- },
2926
- {
2927
- "name": "onTouchEnd",
2928
- "description": "Event handler for the touch end event."
2929
- },
2930
- {
2931
- "name": "onTouchMove",
2932
- "description": "Event handler for the touch move event."
2933
- },
2934
- {
2935
- "name": "onClick",
2936
- "description": "Event handler for the click event."
2937
- }
2934
+ { "name": "localizer" }
2938
2935
  ],
2939
2936
  "events": []
2940
2937
  }
2941
2938
  },
2942
2939
  {
2943
- "name": "wje-reorder-item",
2944
- "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.",
2940
+ "name": "wje-reorder-handle",
2941
+ "description": "This element represents a reorder handle.\n---\n\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Draws the component after it is connected to the DOM.\n- **syncAria()** - Sync ARIA attributes on host.\n- **startDrag(e: _DragEvent_)** - Handles the attribute changes.\n- **startTouchDrag(e: _TouchEvent_)** - Handles the touch start event.\n- **startDragAction(clientX: _number_, clientY: _number_)** - Initiates the drag-and-drop action for a sortable element.\n- **getDraggable(): _Element|null_** - Retrieves the closest draggable element based on attribute conditions.\nIf the element has a \"parent\" attribute, the method attempts to find the closest ancestor\nmatching the CSS selector specified in the attribute. If no such ancestor exists,\nthe method defaults to returning the immediate parent element.\n- **getDropzone(element: _HTMLElement_): _HTMLElement|null_** - Retrieves the nearest dropzone element based on the element's attributes or its parent element.\n- **getClosestDropzone(clientX: _number_, clientY: _number_): _HTMLElement|null_** - Retrieves the closest dropzone element at the specified coordinates.\n- **getElementsFromPointAll(x: _number_, y: _number_, root: _Document|ShadowRoot_, visited: _Set<Node>_): _HTMLElement[]_** - Retrieves all elements at the specified coordinates, including those within shadow DOMs.\n- **reIndexItems(container: _HTMLElement_): _void_** - Re-indexes child elements of the given container by setting their dataset index.\n\n### **Slots:**\n - _default_ - The default slot for the reorder handle.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder handle.",
2945
2942
  "doc-url": "",
2946
- "attributes": [],
2943
+ "attributes": [
2944
+ { "name": "dropzone", "value": { "type": "string" } },
2945
+ { "name": "parent", "value": { "type": "string" } }
2946
+ ],
2947
2947
  "slots": [
2948
2948
  {
2949
2949
  "name": "",
2950
- "description": "The default slot for the reorder item."
2950
+ "description": "The default slot for the reorder handle."
2951
2951
  }
2952
2952
  ],
2953
2953
  "events": [],
@@ -2963,14 +2963,14 @@
2963
2963
  }
2964
2964
  },
2965
2965
  {
2966
- "name": "wje-reorder-dropzone",
2967
- "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.",
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.",
2968
2968
  "doc-url": "",
2969
2969
  "attributes": [],
2970
2970
  "slots": [
2971
2971
  {
2972
2972
  "name": "",
2973
- "description": "The default slot for the reorder dropzone."
2973
+ "description": "The default slot for the reorder item."
2974
2974
  }
2975
2975
  ],
2976
2976
  "events": [],
@@ -2996,23 +2996,6 @@
2996
2996
  "events": []
2997
2997
  }
2998
2998
  },
2999
- {
3000
- "name": "wje-router-link",
3001
- "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.",
3002
- "doc-url": "",
3003
- "attributes": [],
3004
- "slots": [
3005
- {
3006
- "name": "",
3007
- "description": "The default slot for the router link."
3008
- }
3009
- ],
3010
- "events": [],
3011
- "js": {
3012
- "properties": [{ "name": "className", "type": "string" }],
3013
- "events": []
3014
- }
3015
- },
3016
2999
  {
3017
3000
  "name": "wje-router",
3018
3001
  "description": "This element represents a router in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Sets up the router after the component is drawn.\n- **parseElement(element: _Element_): _object_** - Parses an element and returns an object representation.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.",
@@ -3037,22 +3020,19 @@
3037
3020
  }
3038
3021
  },
3039
3022
  {
3040
- "name": "wje-row",
3041
- "description": "This element represents a row in a layout system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the row.\n\n### **Slots:**\n - _default_ - The default slot for the row.",
3023
+ "name": "wje-router-link",
3024
+ "description": "This element represents a router link in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the router link.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the router link.",
3042
3025
  "doc-url": "",
3043
3026
  "attributes": [],
3044
3027
  "slots": [
3045
- { "name": "", "description": "The default slot for the row." }
3028
+ {
3029
+ "name": "",
3030
+ "description": "The default slot for the router link."
3031
+ }
3046
3032
  ],
3047
3033
  "events": [],
3048
3034
  "js": {
3049
- "properties": [
3050
- {
3051
- "name": "className",
3052
- "description": "The class name for the component.",
3053
- "type": "string"
3054
- }
3055
- ],
3035
+ "properties": [{ "name": "className", "type": "string" }],
3056
3036
  "events": []
3057
3037
  }
3058
3038
  },
@@ -3179,6 +3159,70 @@
3179
3159
  "events": []
3180
3160
  }
3181
3161
  },
3162
+ {
3163
+ "name": "wje-slider",
3164
+ "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.",
3165
+ "doc-url": "",
3166
+ "attributes": [
3167
+ { "name": "max", "value": { "type": "string" } },
3168
+ { "name": "min", "value": { "type": "string" } },
3169
+ { "name": "step", "value": { "type": "string" } },
3170
+ { "name": "value", "value": { "type": "string" } },
3171
+ { "name": "disabled", "value": { "type": "string" } },
3172
+ { "name": "bubble", "value": { "type": "string" } }
3173
+ ],
3174
+ "events": [],
3175
+ "js": {
3176
+ "properties": [
3177
+ {
3178
+ "name": "value",
3179
+ "description": "Returns the value of the slider."
3180
+ },
3181
+ {
3182
+ "name": "min",
3183
+ "description": "Returns the minimum value of the slider."
3184
+ },
3185
+ {
3186
+ "name": "max",
3187
+ "description": "Returns the maximum value of the slider."
3188
+ },
3189
+ {
3190
+ "name": "step",
3191
+ "description": "Returns the step value of the slider."
3192
+ },
3193
+ { "name": "className", "type": "string" },
3194
+ {
3195
+ "name": "setHandlePosition",
3196
+ "description": "Sets the handle position of the slider."
3197
+ },
3198
+ {
3199
+ "name": "setBubble",
3200
+ "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."
3201
+ }
3202
+ ],
3203
+ "events": []
3204
+ }
3205
+ },
3206
+ {
3207
+ "name": "wje-split-view",
3208
+ "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.",
3209
+ "doc-url": "",
3210
+ "attributes": [],
3211
+ "slots": [
3212
+ { "name": "start", "description": "Slot for the start view." },
3213
+ { "name": "end", "description": "Slot for the end view." },
3214
+ { "name": "divider", "description": "Slot for the divider." }
3215
+ ],
3216
+ "events": [],
3217
+ "js": {
3218
+ "properties": [
3219
+ { "name": "initial" },
3220
+ { "name": "className", "type": "string" },
3221
+ { "name": "handleDrag", "description": "Handles the drag event." }
3222
+ ],
3223
+ "events": []
3224
+ }
3225
+ },
3182
3226
  {
3183
3227
  "name": "wje-sliding-container",
3184
3228
  "description": "SlidingContainer is a custom web component that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Executes before drawing the element.\n- **afterDisconnect()** - Cleans up global listeners and portaled layers.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Performs actions after the element is drawn on the screen.\nAttaches an event listener to the document based on the specified trigger.\nSets the variant to \"over\" if the document width is smaller than the screen break point.\nCalls the checkForVariant method with the current variant.\n- **isBottomSheet(): _boolean_** - Returns whether the mobile bottom sheet presentation is active.\n- **addBackdropListeners(backdrop: _HTMLElement_)** - Adds interaction listeners to a backdrop element.\n- **removeBackdropListeners(backdrop: _HTMLElement_)** - Removes interaction listeners from a backdrop element.\n- **isBackdropElement(element: _EventTarget|null_): _boolean_** - Checks whether an element is one of this component's backdrop layers.\n- **getBackdropElement({ createPortal = false }, options: _@param {boolean} options.createPortal Creates the body-level mobile backdrop when needed.\n * _): _HTMLElement|null_** - Gets the backdrop element that is active for the current presentation.\n- **ensurePortalBackdrop(): _HTMLElement_** - Creates the body-level backdrop used by mobile bottom sheets.\n- **removePortalBackdrop()** - Removes the body-level mobile backdrop.\n- **getPortalBackdropZIndex(): _string_** - Gets the full-page z-index for the body-level mobile backdrop.\n- **getBackdropOpenOpacity(): _string_** - Gets the target opacity for the active mobile backdrop.\n- **syncPortalBackdropStyles()** - Syncs visual styles from the component to the body-level backdrop.\n- **syncAria()** - Sync ARIA attributes on host.\n- **htmlCloseButton(): _HTMLElement_** - Creates and returns a styled close button element with an icon,\nincluding an event listener to trigger the close method.\n- **htmlSheetHandle(): _HTMLElement_** - Creates the mobile bottom sheet resize handle.\n- **getParentElement(): _Element|null_** - Retrieves the parent element of the current element.\nIf the parent element is not found, it attempts to find the root host element.\n- **getClosestComposedElement(selector: _string_): _Element|null_** - Finds the closest element across shadow DOM boundaries.\n- **getViewportFrame(): _{top: number, left: number, right: number, bottom: number, width: number, height: number}_** - Returns the viewport frame.\n- **getBottomSheetScopeElement(): _Element|null_** - Returns the element that bounds the mobile bottom sheet panel.\n- **getBottomSheetScopeFrame(): _{top: number, left: number, right: number, bottom: number, width: number, height: number}_** - Returns the frame used by the mobile bottom sheet panel.\n- **setBottomSheetLayerFrame(element: _HTMLElement|SlidingContainer_, frame: _object_)** - Applies a fixed frame to a bottom sheet layer.\n- **resetBottomSheetLayerFrame(element: _HTMLElement|SlidingContainer_)** - Removes fixed frame styles from a bottom sheet layer.\n- **checkForVariant(variant: _string_): _void_** - Adjusts the position and dimensions of the current element based on the specified variant.\n\nThe method handles modifications to the element's positioning style, aligns it relative to its parent,\nand manages alignment to its siblings based on the specified direction.\n- **setBottomSheetVariant()** - Applies the mobile bottom sheet layout.\n- **resetBottomSheetVariant()** - Removes layout styles managed by the mobile bottom sheet mode.\n- **setBottomSheetVisualState(isOpen: _boolean_)** - Applies the current visual open or closed state to the mobile bottom sheet.\n- **getSheetMaxHeight(): _string_** - Gets the CSS height limit used for the mobile bottom sheet.\n- **setSheetHeight()** - Applies the configured bottom sheet opening height.\n- **getSheetMinHeightInPixels(): _number_** - Resolves the sheet minimum height in pixels.\n- **getSheetMaxHeightInPixels(): _number_** - Resolves the sheet maximum height in pixels.\n- **getBottomSheetAvailableHeight(): _number_** - Returns available height for the bottom sheet scope.\n- **resolveCssHeight(value: _string_, fallback: _number_): _number_** - Resolves a CSS height value against the viewport.\n- **clamp(value: _number_, min: _number_, max: _number_): _number_** - Clamps a number between min and max.\n- **isSheetHandleEvent(e: _Event_): _boolean_** - Checks whether an event came from the resize handle.\n- **isEventInsideSheet(e: _Event_): _boolean_** - Checks whether an event happened inside the visible bottom sheet.\n- **startSheetDrag(pointerId: _number|string_, startY: _number_)** - Stores the initial drag state for the mobile bottom sheet.\n- **updateSheetDrag(clientY: _number_)** - Applies a new height while the bottom sheet is being dragged.\n- **endSheetDrag()** - Cleans up mobile bottom sheet resizing listeners.\n- **beforeOpen(e)** - Executes before the element is opened.\n- **afterOpen(e)** - Callback function called after the element is opened.\n- **beforeClose(e)** - Executes before closing the element.\n- **afterClose(e)** - Callback function that is called after the container is closed.\n- **doAnimateTransition(): _Promise<void>_** - Animates the transition of elements with specified options, toggling the visibility and/or dimensions\nof the associated elements based on their current state.\n\nThis method handles both forward and reverse animations for two elements (`transparentDiv` and `nativeElement`)\nwith optional opacity changes. It ensures smooth transitioning by canceling any previous animations on the provided\nelements before initiating a new animation sequence.\n- **doAnimateBottomSheetTransition(options: _object_): _Promise<void>_** - Animates the mobile bottom sheet and its backdrop.\n- **open(e: _Event_): _Promise<void>_** - Opens the sliding container by performing necessary preparatory and transitional operations.\n- **close(e: _Event_): _Promise<void>_** - Closes the sliding container and performs associated operations such as animations and event dispatches.\n- **setBottomSheetClosedState()** - Forces the closed visual state for the mobile bottom sheet.\n- **toggle(e: _Event_): _Promise<void>_** - Toggles the state between open and closed.\n- **componentCleanup(): _void_** - Cleans up resources associated with the component by disconnecting\nthe resize observer and setting it to null.\n\n### **Slots:**\n - _default_ - The default slot for the SlidingContainer.\n\n### **CSS Properties:**\n - **--wje-sliding-container-background** - Background of the sliding panel. _(default: var(--wje-background))_\n- **--wje-sliding-container-z-index** - z-index of the side sliding container. _(default: 1000)_\n- **--wje-sliding-container-bottom-sheet-z-index** - z-index of the mobile bottom sheet host. _(default: var(--wje-sliding-container-z-index, 1000))_\n- **--wje-sliding-container-bottom-sheet-backdrop-z-index** - z-index of the mobile bottom sheet backdrop inside the host layer. _(default: 0)_\n- **--wje-sliding-container-bottom-sheet-panel-z-index** - z-index of the mobile bottom sheet panel inside the host layer. _(default: 1)_\n- **--wje-sliding-container-portal-backdrop-z-index** - z-index of the body-level mobile bottom sheet backdrop. _(default: undefined)_\n- **--wje-sliding-container-backdrop-background** - Background of the mobile bottom sheet backdrop. _(default: var(--wje-backdrop))_\n- **--wje-sliding-container-backdrop-opacity** - Backdrop opacity while the mobile bottom sheet is open. _(default: 1)_\n- **--wje-sliding-container-box-shadow** - Shadow of the mobile bottom sheet panel. _(default: var(--wje-sliding-container-shadow))_\n- **--wje-sliding-container-sheet-border-radius** - Border radius of the mobile bottom sheet panel. _(default: var(--wje-sliding-container-border-radius) var(--wje-sliding-container-border-radius) 0 0)_\n- **--wje-sliding-container-sheet-handle-area-height** - Height of the resize handle hit area. _(default: 24px)_\n- **--wje-sliding-container-sheet-handle-width** - Width of the visible resize handle. _(default: 36px)_\n- **--wje-sliding-container-sheet-handle-height** - Height of the visible resize handle. _(default: 2px)_\n- **--wje-sliding-container-sheet-handle-background** - Background of the visible resize handle. _(default: var(--wje-border-color))_\n- **--wje-sliding-container-sheet-handle-radius** - Border radius of the visible resize handle. _(default: 999px)_\n\n### **CSS Parts:**\n - **backdrop** - Styles the mobile bottom sheet backdrop.\n- **sliding-container** - Styles the native sliding panel.\n- **close-button** - Styles the generated close button.\n- **sheet-handle-area** - Styles the draggable resize handle hit area.\n- **sheet-handle** - Styles the visible draggable resize handle.",
@@ -3466,50 +3510,6 @@
3466
3510
  "events": []
3467
3511
  }
3468
3512
  },
3469
- {
3470
- "name": "wje-slider",
3471
- "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.",
3472
- "doc-url": "",
3473
- "attributes": [
3474
- { "name": "max", "value": { "type": "string" } },
3475
- { "name": "min", "value": { "type": "string" } },
3476
- { "name": "step", "value": { "type": "string" } },
3477
- { "name": "value", "value": { "type": "string" } },
3478
- { "name": "disabled", "value": { "type": "string" } },
3479
- { "name": "bubble", "value": { "type": "string" } }
3480
- ],
3481
- "events": [],
3482
- "js": {
3483
- "properties": [
3484
- {
3485
- "name": "value",
3486
- "description": "Returns the value of the slider."
3487
- },
3488
- {
3489
- "name": "min",
3490
- "description": "Returns the minimum value of the slider."
3491
- },
3492
- {
3493
- "name": "max",
3494
- "description": "Returns the maximum value of the slider."
3495
- },
3496
- {
3497
- "name": "step",
3498
- "description": "Returns the step value of the slider."
3499
- },
3500
- { "name": "className", "type": "string" },
3501
- {
3502
- "name": "setHandlePosition",
3503
- "description": "Sets the handle position of the slider."
3504
- },
3505
- {
3506
- "name": "setBubble",
3507
- "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."
3508
- }
3509
- ],
3510
- "events": []
3511
- }
3512
- },
3513
3513
  {
3514
3514
  "name": "wje-stepper",
3515
3515
  "description": "This element represents a stepper.\n---\n\n\n### **Events:**\n - **stepper:next**\n- **stepper:prev**\n- **stepper:finish**\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component for the stepper.\n- **afterDraw()** - Sets up the attributes for the component.\n- **navigate(direction: _number_)** - Navigates to a different step in a multi-step process based on the provided direction.\n- **goToStep(stepIndex: _number_): _void_** - Navigates to a specific step in a workflow or process.\nExecutes a set of operations before and after the step transition.\n- **setStepDefault(nav: _HTMLElement_, badge: _HTMLElement|null_, stepIndex: _number_)** - Resets a step to its default state by clearing its active and done attributes.\nUpdates the step's badge to show its index and removes any color styling.\n- **setStepActive(nav: _HTMLElement_, badge: _HTMLElement|null_, stepIndex: _number|null_)** - Sets a step as active by adding the `active` attribute and updating the step's badge.\n- **setContentActive(stepIndex: _number_)** - Activates the content of a specific step by displaying it and hiding all others.\n- **getStepElement(stepIndex: _number_): _HTMLElement_** - Returns the DOM element of a step by index.\n- **renderStepContent(stepIndex: _number_, content: _Node|string|Node[]_, options: _{ replace?: boolean }_)** - Appends or replaces content inside the step container.\n- **setStepDone(nav: _HTMLElement_, badge: _HTMLElement|null_)** - Marks a step as completed by setting the `done` attribute and updating its badge with a check icon.\n\n### **Slots:**\n - _default_ - The default slot for the stepper.\n\n### **CSS Parts:**\n - **native** - The native part of the stepper.\n- **header** - The header part of the stepper.\n- **content** - The content part of the stepper.",
@@ -3565,52 +3565,72 @@
3565
3565
  }
3566
3566
  },
3567
3567
  {
3568
- "name": "wje-split-view",
3569
- "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.",
3568
+ "name": "wje-tab",
3569
+ "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))_",
3570
+ "doc-url": "",
3571
+ "attributes": [],
3572
+ "events": [],
3573
+ "js": {
3574
+ "properties": [
3575
+ {
3576
+ "name": "panel",
3577
+ "description": "Retrieves the value of the 'panel' attribute of the element."
3578
+ },
3579
+ {
3580
+ "name": "route",
3581
+ "description": "Retrieves the value of the 'route' attribute.\nIf the 'route' attribute is not set, it returns null."
3582
+ },
3583
+ {
3584
+ "name": "className",
3585
+ "description": "The class name for the component.",
3586
+ "type": "string"
3587
+ },
3588
+ {
3589
+ "name": "last",
3590
+ "description": "Indicates whether this is the last tab.",
3591
+ "type": "boolean"
3592
+ },
3593
+ { "name": "_hasPanel", "type": "boolean" }
3594
+ ],
3595
+ "events": []
3596
+ }
3597
+ },
3598
+ {
3599
+ "name": "wje-row",
3600
+ "description": "This element represents a row in a layout system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the row.\n\n### **Slots:**\n - _default_ - The default slot for the row.",
3570
3601
  "doc-url": "",
3571
3602
  "attributes": [],
3572
3603
  "slots": [
3573
- { "name": "start", "description": "Slot for the start view." },
3574
- { "name": "end", "description": "Slot for the end view." },
3575
- { "name": "divider", "description": "Slot for the divider." }
3604
+ { "name": "", "description": "The default slot for the row." }
3576
3605
  ],
3577
3606
  "events": [],
3578
3607
  "js": {
3579
3608
  "properties": [
3580
- { "name": "initial" },
3581
- { "name": "className", "type": "string" },
3582
- { "name": "handleDrag", "description": "Handles the drag event." }
3609
+ {
3610
+ "name": "className",
3611
+ "description": "The class name for the component.",
3612
+ "type": "string"
3613
+ }
3583
3614
  ],
3584
3615
  "events": []
3585
3616
  }
3586
3617
  },
3587
3618
  {
3588
- "name": "wje-tab",
3589
- "description": "This element represents a tab.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab.\n- **afterDraw()** - Sets up event listeners after the component is rendered.\n//\n- **syncAriaLabel()** - Sync aria-label on host based on slotted text when not provided.\n- **setRovingTabIndex(value: _number_)** - Sets the roving tabindex on the internal focusable anchor.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **CSS Properties:**\n - **--wje-tab-text-transform** - The text transformation for the tab (e.g., uppercase, lowercase). _(default: uppercase)_\n- **--wje-tab-font-weight** - The font weight of the tab text. _(default: 500)_\n- **--wje-tab-letter-spacing** - The letter spacing of the tab text. _(default: 0.06em)_\n- **--wje-tab-padding-inline** - The horizontal padding of the tab. _(default: 1rem)_\n- **--wje-tab-padding-top** - The top padding of the tab text. _(default: .75rem)_\n- **--wje-tab-padding-bottom** - The bottom padding of the tab text. _(default: .75rem)_\n- **--wje-tab-color-active** - The text color of the active tab. _(default: var(--wje-color-primary-11))_\n- **--wje-tab-color-hover** - The text color of the tab when hovered. //@fires wje-tab:change - Dispatched when the tab is changed. _(default: var(--wje-color-primary-1))_",
3619
+ "name": "wje-tab-panel",
3620
+ "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.",
3590
3621
  "doc-url": "",
3591
3622
  "attributes": [],
3623
+ "slots": [
3624
+ { "name": "", "description": "The default slot for the tab panel." }
3625
+ ],
3592
3626
  "events": [],
3593
3627
  "js": {
3594
3628
  "properties": [
3595
- {
3596
- "name": "panel",
3597
- "description": "Retrieves the value of the 'panel' attribute of the element."
3598
- },
3599
- {
3600
- "name": "route",
3601
- "description": "Retrieves the value of the 'route' attribute.\nIf the 'route' attribute is not set, it returns null."
3602
- },
3603
3629
  {
3604
3630
  "name": "className",
3605
3631
  "description": "The class name for the component.",
3606
3632
  "type": "string"
3607
- },
3608
- {
3609
- "name": "last",
3610
- "description": "Indicates whether this is the last tab.",
3611
- "type": "boolean"
3612
- },
3613
- { "name": "_hasPanel", "type": "boolean" }
3633
+ }
3614
3634
  ],
3615
3635
  "events": []
3616
3636
  }
@@ -3696,22 +3716,19 @@
3696
3716
  }
3697
3717
  },
3698
3718
  {
3699
- "name": "wje-thumbnail",
3700
- "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))_",
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.",
3701
3721
  "doc-url": "",
3702
3722
  "attributes": [],
3703
3723
  "slots": [
3704
- {
3705
- "name": "thumbnail-slot",
3706
- "description": "The slot for the thumbnail content."
3707
- }
3724
+ { "name": "", "description": "Slot for the timeline items." }
3708
3725
  ],
3709
3726
  "events": [],
3710
3727
  "js": {
3711
3728
  "properties": [
3712
3729
  {
3713
3730
  "name": "className",
3714
- "description": "The class name for the component",
3731
+ "description": "The class name for the component.",
3715
3732
  "type": "string"
3716
3733
  }
3717
3734
  ],
@@ -3719,19 +3736,22 @@
3719
3736
  }
3720
3737
  },
3721
3738
  {
3722
- "name": "wje-tab-panel",
3723
- "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.",
3739
+ "name": "wje-thumbnail",
3740
+ "description": "Thumbnail class\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the thumbnail.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - **thumbnail-slot** - The slot for the thumbnail content.\n\n### **CSS Properties:**\n - **--wje-thumbnail-width** - Defines the width of the thumbnail. Accepts any valid CSS length unit such as `px`, `rem`, or `%`. _(default: 48px)_\n- **--wje-thumbnail-height** - Specifies the height of the thumbnail. Accepts any valid CSS length unit. _(default: 48px)_\n- **--wje-thumbnail-border-radius** - Sets the border radius of the thumbnail, determining how rounded its corners appear. Accepts any valid CSS length unit or CSS variable. _(default: var(--wje-border-radius-medium))_",
3724
3741
  "doc-url": "",
3725
3742
  "attributes": [],
3726
3743
  "slots": [
3727
- { "name": "", "description": "The default slot for the tab panel." }
3744
+ {
3745
+ "name": "thumbnail-slot",
3746
+ "description": "The slot for the thumbnail content."
3747
+ }
3728
3748
  ],
3729
3749
  "events": [],
3730
3750
  "js": {
3731
3751
  "properties": [
3732
3752
  {
3733
3753
  "name": "className",
3734
- "description": "The class name for the component.",
3754
+ "description": "The class name for the component",
3735
3755
  "type": "string"
3736
3756
  }
3737
3757
  ],
@@ -3739,28 +3759,39 @@
3739
3759
  }
3740
3760
  },
3741
3761
  {
3742
- "name": "wje-timeline-item",
3743
- "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.",
3762
+ "name": "wje-toggle",
3763
+ "description": "This element represents a toggle input.\n---\n\n\n### **Methods:**\n - **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Removes the event listener when the checkbox is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the toggle.\n\n### **CSS Properties:**\n - **--wje-toggle-color-base** - The base background color of the toggle. Defines the default background color when the toggle is in an unselected state. _(default: var(--wje-color-contrast-3))_\n- **--wje-toggle-width** - The overall width of the toggle switch. Determines how wide the toggle component appears. _(default: 30px)_\n- **--wje-toggle-height** - The overall height of the toggle switch. Specifies how tall the toggle component appears. _(default: 18px)_\n- **--wje-toggle-border-radius** - The border radius of the toggle. Controls how rounded the corners of the toggle are. _(default: 50px)_\n- **--wje-toggle-handle-width** - The width of the toggle handle (knob). Determines the size of the handle for user interaction. _(default: 14px)_\n- **--wje-toggle-handle-height** - The height of the toggle handle (knob). Specifies the vertical size of the handle. _(default: 14px)_\n- **--wje-toggle-handle-border-radius** - The border radius of the toggle handle. Controls how rounded the handle is. _(default: 9px)_\n- **--wje-toggle-handle-color** - The color of the toggle handle. Accepts any valid CSS color, such as `hex`, `rgb`, or `css variable`. _(default: #fff)_\n- **--wje-toggle-handle-shadow** - The shadow applied to the toggle handle. Adds a subtle shadow effect for better visual clarity. _(default: 1px 0 1px 0.5px rgba(0,0,0,0.12), 2px 4px 6px rgba(0,0,0,0.2))_\n- **--wje-toggle-handle-shadow-checked** - The shadow applied to the toggle handle when it is in the checked (on) state. Provides visual feedback to indicate the toggle state. _(default: 1px 1px 0 rgba(0,0,0,0.08), -3px 3px 6px rgba(0,0,0,0.3))_\n- **--wje-toggle-duration** - The duration of the toggle animation in milliseconds. Controls how long the toggle animation lasts during state changes. _(default: 250ms)_\n- **--wje-toggle-curve** - The easing curve used for the toggle animation. Defines the speed curve for the animation, enhancing the user experience with smooth transitions. _(default: cubic-bezier(.4,0,.2,1))_\n\n### **CSS Parts:**\n - **native** - The native toggle wrapper.\n- **input** - The toggle input.\n- **toggle** - The toggle part.",
3744
3764
  "doc-url": "",
3745
- "attributes": [],
3765
+ "attributes": [
3766
+ { "name": "checked", "value": { "type": "string" } },
3767
+ { "name": "disabled", "value": { "type": "string" } },
3768
+ { "name": "required", "value": { "type": "string" } }
3769
+ ],
3746
3770
  "slots": [
3747
- {
3748
- "name": "",
3749
- "description": "Slot for the content of the timeline item."
3750
- },
3751
- {
3752
- "name": "status",
3753
- "description": "Slot for the status of the timeline item."
3754
- }
3771
+ { "name": "", "description": "The default slot for the toggle." }
3755
3772
  ],
3756
3773
  "events": [],
3757
3774
  "js": {
3758
3775
  "properties": [
3759
3776
  {
3760
- "name": "className",
3761
- "description": "Returns the class name of the tab.",
3762
- "type": "string"
3763
- }
3777
+ "name": "value",
3778
+ "description": "Getter for the value attribute."
3779
+ },
3780
+ {
3781
+ "name": "customErrorDisplay",
3782
+ "description": "Getter for the customErrorDisplay attribute."
3783
+ },
3784
+ {
3785
+ "name": "validateOnChange",
3786
+ "description": "Getter for the validateOnChange attribute."
3787
+ },
3788
+ {
3789
+ "name": "defaultValue",
3790
+ "description": "Getter for the defaultValue attribute.\nThis method retrieves the 'value' attribute of the custom input element.\nThe 'value' attribute represents the default value of the input element.\nIf the 'value' attribute is not set, it returns an empty string."
3791
+ },
3792
+ { "name": "checked", "description": "Get checked attribute." },
3793
+ { "name": "invalid", "type": "boolean" },
3794
+ { "name": "pristine", "type": "boolean" }
3764
3795
  ],
3765
3796
  "events": []
3766
3797
  }
@@ -3892,64 +3923,6 @@
3892
3923
  "events": []
3893
3924
  }
3894
3925
  },
3895
- {
3896
- "name": "wje-timeline",
3897
- "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.",
3898
- "doc-url": "",
3899
- "attributes": [],
3900
- "slots": [
3901
- { "name": "", "description": "Slot for the timeline items." }
3902
- ],
3903
- "events": [],
3904
- "js": {
3905
- "properties": [
3906
- {
3907
- "name": "className",
3908
- "description": "The class name for the component.",
3909
- "type": "string"
3910
- }
3911
- ],
3912
- "events": []
3913
- }
3914
- },
3915
- {
3916
- "name": "wje-toggle",
3917
- "description": "This element represents a toggle input.\n---\n\n\n### **Methods:**\n - **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Removes the event listener when the checkbox is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the toggle.\n\n### **CSS Properties:**\n - **--wje-toggle-color-base** - The base background color of the toggle. Defines the default background color when the toggle is in an unselected state. _(default: var(--wje-color-contrast-3))_\n- **--wje-toggle-width** - The overall width of the toggle switch. Determines how wide the toggle component appears. _(default: 30px)_\n- **--wje-toggle-height** - The overall height of the toggle switch. Specifies how tall the toggle component appears. _(default: 18px)_\n- **--wje-toggle-border-radius** - The border radius of the toggle. Controls how rounded the corners of the toggle are. _(default: 50px)_\n- **--wje-toggle-handle-width** - The width of the toggle handle (knob). Determines the size of the handle for user interaction. _(default: 14px)_\n- **--wje-toggle-handle-height** - The height of the toggle handle (knob). Specifies the vertical size of the handle. _(default: 14px)_\n- **--wje-toggle-handle-border-radius** - The border radius of the toggle handle. Controls how rounded the handle is. _(default: 9px)_\n- **--wje-toggle-handle-color** - The color of the toggle handle. Accepts any valid CSS color, such as `hex`, `rgb`, or `css variable`. _(default: #fff)_\n- **--wje-toggle-handle-shadow** - The shadow applied to the toggle handle. Adds a subtle shadow effect for better visual clarity. _(default: 1px 0 1px 0.5px rgba(0,0,0,0.12), 2px 4px 6px rgba(0,0,0,0.2))_\n- **--wje-toggle-handle-shadow-checked** - The shadow applied to the toggle handle when it is in the checked (on) state. Provides visual feedback to indicate the toggle state. _(default: 1px 1px 0 rgba(0,0,0,0.08), -3px 3px 6px rgba(0,0,0,0.3))_\n- **--wje-toggle-duration** - The duration of the toggle animation in milliseconds. Controls how long the toggle animation lasts during state changes. _(default: 250ms)_\n- **--wje-toggle-curve** - The easing curve used for the toggle animation. Defines the speed curve for the animation, enhancing the user experience with smooth transitions. _(default: cubic-bezier(.4,0,.2,1))_\n\n### **CSS Parts:**\n - **native** - The native toggle wrapper.\n- **input** - The toggle input.\n- **toggle** - The toggle part.",
3918
- "doc-url": "",
3919
- "attributes": [
3920
- { "name": "checked", "value": { "type": "string" } },
3921
- { "name": "disabled", "value": { "type": "string" } },
3922
- { "name": "required", "value": { "type": "string" } }
3923
- ],
3924
- "slots": [
3925
- { "name": "", "description": "The default slot for the toggle." }
3926
- ],
3927
- "events": [],
3928
- "js": {
3929
- "properties": [
3930
- {
3931
- "name": "value",
3932
- "description": "Getter for the value attribute."
3933
- },
3934
- {
3935
- "name": "customErrorDisplay",
3936
- "description": "Getter for the customErrorDisplay attribute."
3937
- },
3938
- {
3939
- "name": "validateOnChange",
3940
- "description": "Getter for the validateOnChange attribute."
3941
- },
3942
- {
3943
- "name": "defaultValue",
3944
- "description": "Getter for the defaultValue attribute.\nThis method retrieves the 'value' attribute of the custom input element.\nThe 'value' attribute represents the default value of the input element.\nIf the 'value' attribute is not set, it returns an empty string."
3945
- },
3946
- { "name": "checked", "description": "Get checked attribute." },
3947
- { "name": "invalid", "type": "boolean" },
3948
- { "name": "pristine", "type": "boolean" }
3949
- ],
3950
- "events": []
3951
- }
3952
- },
3953
3926
  {
3954
3927
  "name": "wje-toolbar",
3955
3928
  "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.",
@@ -4022,44 +3995,28 @@
4022
3995
  }
4023
3996
  },
4024
3997
  {
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- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getChildrenItems(options: _@param {boolean} [options.includeDisabled] Determines whether disabled items should be included in the result. Defaults to true.\n * _): _Array_** - Retrieves the child items from the `childrenSlot` that match specific criteria.\n- **getAllChildrenFlat(options: _object_): _Array_** - Retrieves all descendant children of the current object in a flattened array structure.\n\n### **Slots:**\n - _default_ - Default slot for rendering the tree item's content (e.g., text or custom elements).\n\n### **CSS Properties:**\n - **--wje-tree-item-indent** - Defines the indentation for nested tree items. _(default: var(--wje-spacing-large))_\n- **--wje-tree-item-indent-guid-width** - Specifies the width of the guide element shown next to a tree item. _(default: 0px)_\n- **--wje-tree-item-border-radius** - Sets the border radius of the tree item’s container. _(default: var(--wje-border-radius-medium))_\n\n### **CSS Parts:**\n - **native** - The native container of the tree item.",
3998
+ "name": "wje-timeline-item",
3999
+ "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.",
4027
4000
  "doc-url": "",
4028
- "attributes": [
4029
- { "name": "selected", "value": { "type": "string" } },
4030
- { "name": "indeterminate", "value": { "type": "string" } }
4031
- ],
4001
+ "attributes": [],
4032
4002
  "slots": [
4033
4003
  {
4034
4004
  "name": "",
4035
- "description": "Default slot for rendering the tree item's content (e.g., text or custom elements)."
4005
+ "description": "Slot for the content of the timeline item."
4006
+ },
4007
+ {
4008
+ "name": "status",
4009
+ "description": "Slot for the status of the timeline item."
4036
4010
  }
4037
4011
  ],
4038
4012
  "events": [],
4039
4013
  "js": {
4040
4014
  "properties": [
4041
- {
4042
- "name": "expanded",
4043
- "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."
4044
- },
4045
- {
4046
- "name": "selected",
4047
- "description": "Getter method for determining if the 'selected' attribute is present on the element."
4048
- },
4049
- {
4050
- "name": "selection",
4051
- "description": "Retrieves the current selection."
4052
- },
4053
- {
4054
- "name": "indeterminate",
4055
- "description": "Retrieves the state of the indeterminate attribute."
4056
- },
4057
4015
  {
4058
4016
  "name": "className",
4059
- "description": "The class name for the component.",
4017
+ "description": "Returns the class name of the tab.",
4060
4018
  "type": "string"
4061
- },
4062
- { "name": "_selection", "type": "string" }
4019
+ }
4063
4020
  ],
4064
4021
  "events": []
4065
4022
  }
@@ -4117,54 +4074,97 @@
4117
4074
  }
4118
4075
  },
4119
4076
  {
4120
- "name": "wje-visually-hidden",
4121
- "description": "This element represents a visually hidden element.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the visually hidden element.\n\n### **Slots:**\n - _default_ - The default slot for the visually hidden element.",
4077
+ "name": "wje-tree",
4078
+ "description": "This element visually represents a tree structure, supporting single or multiple selection modes and hierarchy management.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - A method called before the drawing or rendering process of tree items.\nIt iterates through all `wje-tree-item` elements, updating their selection state\nand managing their expand/collapse icons accordingly.\n- **draw(): _object_** - Draw method for the toast notification.\n- **afterDraw(): _void_** - Called after the draw process of the component is completed.\nTypically used to add event listeners or perform operations\nthat are dependent on the component's drawn state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getAllItems(): _Array<Element>_** - Retrieves all items that match the selector 'wje-tree-item' within the current context.\n- **getExpandCollapseIcon(item: _HTMLElement_, status: _string_): _void_** - Retrieves and appends an expand/collapse icon to a given item based on the provided status.\n- **updateCheckboxState(changedItem: _object_, isInitialSync: _boolean_): _void_** - Updates the state of a checkbox, syncing the state both upwards to parent elements\nand downwards to child elements as necessary.\n- **updateParentState(item: _object_): _void_** - Updates the state of the parent item based on the state of its child items.\nRecursively propagates changes up to all parent items to reflect the selection\nor indeterminate state accurately.\n- **propagateStateUpwards(item: _HTMLElement_): _void_** - Propagates the state changes of an item upwards through its ancestors in the hierarchy.\nCalls the `updateParentState` method for each parent element until no parent exists.\n- **propagateStateDownwards(item: _object_): _void_** - Propagates the selected state of an item to its children recursively. Depending on the `isInitialSync` flag,\nit also determines how the state should be applied to the child items and updates the parent state if needed.\n\n### **Slots:**\n - _default_ - The default slot to place `wje-tree-item` child components.\n\n### **CSS Parts:**\n - **native** - The native container part of the tree.",
4122
4079
  "doc-url": "",
4123
4080
  "attributes": [],
4124
4081
  "slots": [
4125
4082
  {
4126
4083
  "name": "",
4127
- "description": "The default slot for the visually hidden element."
4084
+ "description": "The default slot to place `wje-tree-item` child components."
4128
4085
  }
4129
4086
  ],
4130
4087
  "events": [],
4131
4088
  "js": {
4132
4089
  "properties": [
4090
+ {
4091
+ "name": "selection",
4092
+ "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
4093
+ },
4133
4094
  {
4134
4095
  "name": "className",
4135
4096
  "description": "The class name for the component.",
4136
4097
  "type": "string"
4098
+ },
4099
+ {
4100
+ "name": "handleClick",
4101
+ "description": "Handles the click event triggered by the user interaction.\nIdentifies the closest tree item element to the event target and sets it\nas the selected item. Ensures that only one item is selected at a time, resetting\nthe selection state for all other items."
4137
4102
  }
4138
4103
  ],
4139
4104
  "events": []
4140
4105
  }
4141
4106
  },
4142
4107
  {
4143
- "name": "wje-tree",
4144
- "description": "This element visually represents a tree structure, supporting single or multiple selection modes and hierarchy management.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - A method called before the drawing or rendering process of tree items.\nIt iterates through all `wje-tree-item` elements, updating their selection state\nand managing their expand/collapse icons accordingly.\n- **draw(): _object_** - Draw method for the toast notification.\n- **afterDraw(): _void_** - Called after the draw process of the component is completed.\nTypically used to add event listeners or perform operations\nthat are dependent on the component's drawn state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getAllItems(): _Array<Element>_** - Retrieves all items that match the selector 'wje-tree-item' within the current context.\n- **getExpandCollapseIcon(item: _HTMLElement_, status: _string_): _void_** - Retrieves and appends an expand/collapse icon to a given item based on the provided status.\n- **updateCheckboxState(changedItem: _object_, isInitialSync: _boolean_): _void_** - Updates the state of a checkbox, syncing the state both upwards to parent elements\nand downwards to child elements as necessary.\n- **updateParentState(item: _object_): _void_** - Updates the state of the parent item based on the state of its child items.\nRecursively propagates changes up to all parent items to reflect the selection\nor indeterminate state accurately.\n- **propagateStateUpwards(item: _HTMLElement_): _void_** - Propagates the state changes of an item upwards through its ancestors in the hierarchy.\nCalls the `updateParentState` method for each parent element until no parent exists.\n- **propagateStateDownwards(item: _object_): _void_** - Propagates the selected state of an item to its children recursively. Depending on the `isInitialSync` flag,\nit also determines how the state should be applied to the child items and updates the parent state if needed.\n\n### **Slots:**\n - _default_ - The default slot to place `wje-tree-item` child components.\n\n### **CSS Parts:**\n - **native** - The native container part of the tree.",
4108
+ "name": "wje-tree-item",
4109
+ "description": "Represents a single item in a tree structure.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - Custom logic executed before the draw process begins.\nDetermines and sets the appropriate slot if the current item is nested.\n- **syncNestingState(): _void_** - Synchronizes the nesting-related state on the host element.\nSets the \"slot\" to children for nested items and updates\nthe nesting depth used to compute visual indentation.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment representing the structure of a tree item component.\nThe method constructs the DOM elements including the native container, indentation, toggle button,\nselection checkbox, label, and children container, along with their respective slots and attributes.\nIt dynamically handles the creation of expand and collapse icons, as well as appending slots for\nchild components.\n- **afterDraw(): _void_** - Executes operations to be performed after the draw action is completed.\nIf the state indicates it is expanded, toggles its children.\nAdditionally, sets up an event listener on the button element to handle toggling children upon click.\n- **isNestedItem(): _boolean_** - Determines if the current item is a nested item within a tree structure.\nChecks if the item's parent element exists and is also a tree item.\n- **getNestingDepth(): _number_** - Calculates nesting depth based on ancestor tree items.\nRoot items have depth 0, direct children depth 1, etc.\n- **isTreeItem(node: _object_): _boolean_** - Checks whether the given node is a tree item.\n- **toggleChildren(): _void_** - Toggles the visibility state of the children element and updates the class of the parent element.\nThe method toggles the 'open' class on the children elements and the 'expanded' class on the parent element,\neffectively showing or hiding the children and indicating the expanded state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getChildrenItems(options: _@param {boolean} [options.includeDisabled] Determines whether disabled items should be included in the result. Defaults to true.\n * _): _Array_** - Retrieves the child items from the `childrenSlot` that match specific criteria.\n- **getAllChildrenFlat(options: _object_): _Array_** - Retrieves all descendant children of the current object in a flattened array structure.\n\n### **Slots:**\n - _default_ - Default slot for rendering the tree item's content (e.g., text or custom elements).\n\n### **CSS Properties:**\n - **--wje-tree-item-indent** - Defines the indentation for nested tree items. _(default: var(--wje-spacing-large))_\n- **--wje-tree-item-indent-guid-width** - Specifies the width of the guide element shown next to a tree item. _(default: 0px)_\n- **--wje-tree-item-border-radius** - Sets the border radius of the tree item’s container. _(default: var(--wje-border-radius-medium))_\n\n### **CSS Parts:**\n - **native** - The native container of the tree item.",
4145
4110
  "doc-url": "",
4146
- "attributes": [],
4111
+ "attributes": [
4112
+ { "name": "selected", "value": { "type": "string" } },
4113
+ { "name": "indeterminate", "value": { "type": "string" } }
4114
+ ],
4147
4115
  "slots": [
4148
4116
  {
4149
4117
  "name": "",
4150
- "description": "The default slot to place `wje-tree-item` child components."
4118
+ "description": "Default slot for rendering the tree item's content (e.g., text or custom elements)."
4151
4119
  }
4152
4120
  ],
4153
4121
  "events": [],
4154
4122
  "js": {
4155
4123
  "properties": [
4124
+ {
4125
+ "name": "expanded",
4126
+ "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."
4127
+ },
4128
+ {
4129
+ "name": "selected",
4130
+ "description": "Getter method for determining if the 'selected' attribute is present on the element."
4131
+ },
4156
4132
  {
4157
4133
  "name": "selection",
4158
- "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
4134
+ "description": "Retrieves the current selection."
4135
+ },
4136
+ {
4137
+ "name": "indeterminate",
4138
+ "description": "Retrieves the state of the indeterminate attribute."
4159
4139
  },
4160
4140
  {
4161
4141
  "name": "className",
4162
4142
  "description": "The class name for the component.",
4163
4143
  "type": "string"
4164
4144
  },
4145
+ { "name": "_selection", "type": "string" }
4146
+ ],
4147
+ "events": []
4148
+ }
4149
+ },
4150
+ {
4151
+ "name": "wje-visually-hidden",
4152
+ "description": "This element represents a visually hidden element.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the visually hidden element.\n\n### **Slots:**\n - _default_ - The default slot for the visually hidden element.",
4153
+ "doc-url": "",
4154
+ "attributes": [],
4155
+ "slots": [
4156
+ {
4157
+ "name": "",
4158
+ "description": "The default slot for the visually hidden element."
4159
+ }
4160
+ ],
4161
+ "events": [],
4162
+ "js": {
4163
+ "properties": [
4165
4164
  {
4166
- "name": "handleClick",
4167
- "description": "Handles the click event triggered by the user interaction.\nIdentifies the closest tree item element to the event target and sets it\nas the selected item. Ensures that only one item is selected at a time, resetting\nthe selection state for all other items."
4165
+ "name": "className",
4166
+ "description": "The class name for the component.",
4167
+ "type": "string"
4168
4168
  }
4169
4169
  ],
4170
4170
  "events": []