wj-elements 0.7.1 → 0.7.3

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.3",
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" } },
@@ -706,6 +706,26 @@
706
706
  "events": []
707
707
  }
708
708
  },
709
+ {
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
+ "doc-url": "",
713
+ "attributes": [],
714
+ "slots": [
715
+ { "name": "", "description": "The card header main content." }
716
+ ],
717
+ "events": [],
718
+ "js": {
719
+ "properties": [
720
+ {
721
+ "name": "className",
722
+ "description": "Class name for the CardHeader.",
723
+ "type": "string"
724
+ }
725
+ ],
726
+ "events": []
727
+ }
728
+ },
709
729
  {
710
730
  "name": "wje-card-subtitle",
711
731
  "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)_",
@@ -783,26 +803,6 @@
783
803
  "events": []
784
804
  }
785
805
  },
786
- {
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)_",
789
- "doc-url": "",
790
- "attributes": [],
791
- "slots": [
792
- { "name": "", "description": "The card header main content." }
793
- ],
794
- "events": [],
795
- "js": {
796
- "properties": [
797
- {
798
- "name": "className",
799
- "description": "Class name for the CardHeader.",
800
- "type": "string"
801
- }
802
- ],
803
- "events": []
804
- }
805
- },
806
806
  {
807
807
  "name": "wje-carousel-item",
808
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.",
@@ -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)_",
@@ -1082,6 +1082,51 @@
1082
1082
  "events": []
1083
1083
  }
1084
1084
  },
1085
+ {
1086
+ "name": "wje-dialog",
1087
+ "description": "This element represents a dialog.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw(context: _object_, store: _object_, params: _object_)** - Draws the component after it has been drawn.\n- **htmlDialogBody(dialog)** - Creates the dialog body.\n- **close(e)** - Closes the dialog.\n- **beforeDisconnect()** - Before the component is disconnected.\n- **beforeOpen(dialog, trigger)** - Before the dialog opens.\n- **afterOpen(dialog, trigger)** - After the dialog opens.\n- **beforeClose(dialog, trigger)** - Before the dialog closes.\n- **afterClose(dialog, trigger)** - After the dialog closes.\n- **registerBlockingEvent(button: _HTMLElement_, promise: _Function_)** - Registers an event listener on the provided button that triggers a blocking UI element\nand executes a given promise when the button is clicked.\n\n### **Slots:**\n - **header** - Slot for the header content.\n- **body** - Slot for the body content.\n- **footer** - Slot for the footer content.\n\n### **CSS Properties:**\n - **--wje-dialog-background** - Specifies the background color of the dialog. _(default: var(--wje-background-color))_\n- **--wje-dialog-color** - Defines the text color within the dialog. _(default: var(--wje-text-color))_\n- **--wje-dialog-padding** - Controls the padding inside the dialog. _(default: 1rem)_\n- **--wje-dialog-border-radius** - Sets the border radius for the dialog's corners. _(default: 0.5rem)_\n- **--wje-dialog-box-shadow** - Applies a shadow effect to the dialog. _(default: 0 2px 10px rgba(0, 0, 0, 0.1))_\n\n### **CSS Parts:**\n - **dialog** - The dialog wrapper.\n- **header** - The header of the dialog.\n- **body** - The body of the dialog.\n- **footer** - The footer of the dialog.\n- **close** - The close button of the dialog.",
1088
+ "doc-url": "",
1089
+ "attributes": [],
1090
+ "slots": [
1091
+ { "name": "header", "description": "Slot for the header content." },
1092
+ { "name": "body", "description": "Slot for the body content." },
1093
+ { "name": "footer", "description": "Slot for the footer content." }
1094
+ ],
1095
+ "events": [],
1096
+ "js": {
1097
+ "properties": [
1098
+ {
1099
+ "name": "headline",
1100
+ "description": "Retrieves the value of the \"headline\" attribute from the element.\nIf the \"headline\" attribute is not present, returns an empty string."
1101
+ },
1102
+ {
1103
+ "name": "placement",
1104
+ "description": "Gets the headline of the dialog."
1105
+ },
1106
+ {
1107
+ "name": "async",
1108
+ "description": "Gets the headline of the dialog."
1109
+ },
1110
+ {
1111
+ "name": "closeHidden",
1112
+ "description": "Gets the headline of the dialog."
1113
+ },
1114
+ { "name": "hiddenHeader" },
1115
+ { "name": "hiddenFooter" },
1116
+ {
1117
+ "name": "className",
1118
+ "description": "Sets the headline of the dialog.",
1119
+ "type": "string"
1120
+ },
1121
+ { "name": "onOpen", "description": "Opens the dialog." },
1122
+ { "name": "onClose", "description": "Closes the dialog." },
1123
+ { "name": "onNativeDialogClose" },
1124
+ { "name": "syncHostOpenState" },
1125
+ { "name": "_opening", "type": "boolean" }
1126
+ ],
1127
+ "events": []
1128
+ }
1129
+ },
1085
1130
  {
1086
1131
  "name": "wje-divider",
1087
1132
  "description": "Divider is a custom web component that extends WJElement.\nIt provides a simple divider line that can be used to separate content.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Divider.\n- **draw(): _DocumentFragment_** - Draws the Divider.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--wje-border-width** - The size of the border. _(default: 1px)_\n- **--wje-divider-border-color** - The color of the divider borderline. _(default: var(--wje-border-color))_\n- **--wje-divider-border-width** - The width of the divider borderline. _(default: var(--wje-border-width, 1px))_\n- **--wje-divider-spacing** - The spacing for the divider. _(default: 0)_",
@@ -1182,92 +1227,9 @@
1182
1227
  "events": []
1183
1228
  }
1184
1229
  },
1185
- {
1186
- "name": "wje-dialog",
1187
- "description": "This element represents a dialog.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw(context: _object_, store: _object_, params: _object_)** - Draws the component after it has been drawn.\n- **htmlDialogBody(dialog)** - Creates the dialog body.\n- **close(e)** - Closes the dialog.\n- **beforeDisconnect()** - Before the component is disconnected.\n- **beforeOpen(dialog, trigger)** - Before the dialog opens.\n- **afterOpen(dialog, trigger)** - After the dialog opens.\n- **beforeClose(dialog, trigger)** - Before the dialog closes.\n- **afterClose(dialog, trigger)** - After the dialog closes.\n- **registerBlockingEvent(button: _HTMLElement_, promise: _Function_)** - Registers an event listener on the provided button that triggers a blocking UI element\nand executes a given promise when the button is clicked.\n\n### **Slots:**\n - **header** - Slot for the header content.\n- **body** - Slot for the body content.\n- **footer** - Slot for the footer content.\n\n### **CSS Properties:**\n - **--wje-dialog-background** - Specifies the background color of the dialog. _(default: var(--wje-background-color))_\n- **--wje-dialog-color** - Defines the text color within the dialog. _(default: var(--wje-text-color))_\n- **--wje-dialog-padding** - Controls the padding inside the dialog. _(default: 1rem)_\n- **--wje-dialog-border-radius** - Sets the border radius for the dialog's corners. _(default: 0.5rem)_\n- **--wje-dialog-box-shadow** - Applies a shadow effect to the dialog. _(default: 0 2px 10px rgba(0, 0, 0, 0.1))_\n\n### **CSS Parts:**\n - **dialog** - The dialog wrapper.\n- **header** - The header of the dialog.\n- **body** - The body of the dialog.\n- **footer** - The footer of the dialog.\n- **close** - The close button of the dialog.",
1188
- "doc-url": "",
1189
- "attributes": [],
1190
- "slots": [
1191
- { "name": "header", "description": "Slot for the header content." },
1192
- { "name": "body", "description": "Slot for the body content." },
1193
- { "name": "footer", "description": "Slot for the footer content." }
1194
- ],
1195
- "events": [],
1196
- "js": {
1197
- "properties": [
1198
- {
1199
- "name": "headline",
1200
- "description": "Retrieves the value of the \"headline\" attribute from the element.\nIf the \"headline\" attribute is not present, returns an empty string."
1201
- },
1202
- {
1203
- "name": "placement",
1204
- "description": "Gets the headline of the dialog."
1205
- },
1206
- {
1207
- "name": "async",
1208
- "description": "Gets the headline of the dialog."
1209
- },
1210
- {
1211
- "name": "closeHidden",
1212
- "description": "Gets the headline of the dialog."
1213
- },
1214
- { "name": "hiddenHeader" },
1215
- { "name": "hiddenFooter" },
1216
- {
1217
- "name": "className",
1218
- "description": "Sets the headline of the dialog.",
1219
- "type": "string"
1220
- },
1221
- { "name": "onOpen", "description": "Opens the dialog." },
1222
- { "name": "onClose", "description": "Closes the dialog." },
1223
- { "name": "onNativeDialogClose" },
1224
- { "name": "syncHostOpenState" },
1225
- { "name": "_opening", "type": "boolean" }
1226
- ],
1227
- "events": []
1228
- }
1229
- },
1230
- {
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",
1233
- "doc-url": "",
1234
- "attributes": [
1235
- { "name": "uploaded", "value": { "type": "string" } },
1236
- { "name": "is-uploaded", "value": { "type": "string" } }
1237
- ],
1238
- "slots": [
1239
- { "name": "img", "description": "Slot for the image" },
1240
- { "name": "action", "description": "Slot for the action buttons" }
1241
- ],
1242
- "events": [],
1243
- "js": {
1244
- "properties": [
1245
- {
1246
- "name": "isUploaded",
1247
- "description": "Checks if the 'is-uploaded' attribute is present on the element."
1248
- },
1249
- {
1250
- "name": "size",
1251
- "description": "Retrieves the value of the 'size' attribute."
1252
- },
1253
- {
1254
- "name": "dependencies",
1255
- "description": "Dependencies for the component.",
1256
- "type": "object"
1257
- },
1258
- { "name": "className", "type": "string" },
1259
- {
1260
- "name": "onDelete",
1261
- "description": "Handles the delete action."
1262
- },
1263
- { "name": "localizer" }
1264
- ],
1265
- "events": []
1266
- }
1267
- },
1268
1230
  {
1269
1231
  "name": "wje-file-upload",
1270
- "description": "FileUpload is a custom web component for uploading files.\nIt extends from WJElement and provides functionalities for file upload.\n---\n\n\n### **Events:**\n - **change** - Fires when the file input changes.\n- **drop** - Fires when a file is dropped into the component.\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes for the component.\n- **draw(): _DocumentFragment_** - Method to draw the component on the screen.\n- **afterDraw()** - Method to perform actions after the component is drawn.\n- **handleSubmit(e: _Event_)** - Method to handle form submission.\n- **addFilesToQueue(files)** - Method to add files to the queue.\n- **uploadFiles()** - Method to upload files.\n- **createPreview(file: _File_, reader: _FileReader_): _HTMLElement_** - Method to create a preview for the file.\n- **createThumbnail(file: _File_, reader: _FileReader_): _HTMLElement_** - Method to create a thumbnail for the file.\n- **assertFilesValid(file: _File_)** - Method to validate the files.\n- **resetFormState()** - Method to reset the form state.\n- **showError(error: _object|Error_)** - Shows a user-facing validation error inside the dropzone.\n- **clearError()** - Clears the currently displayed validation error.\n- **getErrorMessage(error: _object|Error_): _string_** - Resolves a readable upload error message.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Parts:**\n - **native** - The native file upload part.\n- **file-list** - The file list part.\n- **upload-button** - The label part.",
1232
+ "description": "FileUpload is a custom web component for uploading files.\nIt extends from WJElement and provides functionalities for file upload.\n---\n\n\n### **Events:**\n - **change** - Fires when the file input changes.\n- **drop** - Fires when a file is dropped into the component.\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes for the component.\n- **draw(): _DocumentFragment_** - Method to draw the component on the screen.\n- **afterDraw()** - Method to perform actions after the component is drawn.\n- **handleSubmit(e: _Event_)** - Method to handle form submission.\n- **addFilesToQueue(files)** - Method to add files to the queue.\n- **uploadFiles()** - Method to upload files.\n- **createPreview(file: _File_, reader: _FileReader_): _HTMLElement_** - Method to create a preview for the file.\n- **createThumbnail(file: _File_, reader: _FileReader_): _HTMLElement_** - Method to create a thumbnail for the file.\n- **assertFilesValid(file: _File_)** - Method to validate the files.\n- **resetFormState()** - Method to reset the form state.\n- **showError(error: _object|Error_)** - Shows a user-facing validation error inside the dropzone.\n- **clearError()** - Clears the currently displayed validation error.\n- **getErrorMessage(error: _object|Error_): _string_** - Resolves a readable upload error message.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--wje-file-upload-padding** - Controls the padding around the native file upload area. _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The native file upload part.\n- **file-list** - The file list part.\n- **upload-button** - The label part.",
1271
1233
  "doc-url": "",
1272
1234
  "attributes": [
1273
1235
  { "name": "label", "value": { "type": "string" } },
@@ -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
  ],
@@ -1455,6 +1408,53 @@
1455
1408
  "events": []
1456
1409
  }
1457
1410
  },
1411
+ {
1412
+ "name": "wje-format-digital",
1413
+ "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.",
1414
+ "doc-url": "",
1415
+ "attributes": [
1416
+ {
1417
+ "name": "value",
1418
+ "description": "The numeric value to format (e.g., 1024 for 1 KB).",
1419
+ "value": { "type": "number" }
1420
+ },
1421
+ { "name": "unit-display", "value": { "type": "string" } },
1422
+ {
1423
+ "name": "unit",
1424
+ "description": "The unit of the value (`byte` or `bit`). Defaults to `byte`.",
1425
+ "value": { "type": "string" }
1426
+ },
1427
+ {
1428
+ "name": "unitDisplay",
1429
+ "description": "The display style of the unit (`short`, `long`, or `narrow`). Defaults to `short`.",
1430
+ "value": { "type": "string" }
1431
+ }
1432
+ ],
1433
+ "events": [],
1434
+ "js": {
1435
+ "properties": [
1436
+ {
1437
+ "name": "value",
1438
+ "description": "Returns the value of the digital format."
1439
+ },
1440
+ {
1441
+ "name": "unit",
1442
+ "description": "Returns the unit of the digital format.\nDefaults to `byte` if no unit is set."
1443
+ },
1444
+ {
1445
+ "name": "unitDisplay",
1446
+ "description": "Returns the unit display style for the digital format.\nDefaults to `short` if not set."
1447
+ },
1448
+ {
1449
+ "name": "className",
1450
+ "description": "The class name identifier for this component.",
1451
+ "type": "string"
1452
+ },
1453
+ { "name": "localizer" }
1454
+ ],
1455
+ "events": []
1456
+ }
1457
+ },
1458
1458
  {
1459
1459
  "name": "wje-form",
1460
1460
  "description": "The Form class is a custom\nweb component that extends WJElement. It is a simple form that can hold other elements or components.\nIt provides a slot for adding child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Form.\n- **draw(): _DocumentFragment_** - Draws the Form.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.",
@@ -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,96 @@
1683
1653
  "events": []
1684
1654
  }
1685
1655
  },
1656
+ {
1657
+ "name": "wje-img-comparer",
1658
+ "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.",
1659
+ "doc-url": "",
1660
+ "attributes": [],
1661
+ "slots": [
1662
+ { "name": "before", "description": "The before image slot." },
1663
+ { "name": "after", "description": "The after image slot." }
1664
+ ],
1665
+ "events": [],
1666
+ "js": {
1667
+ "properties": [
1668
+ {
1669
+ "name": "dependencies",
1670
+ "description": "Dependencies of the ImgComparer component.",
1671
+ "type": "object"
1672
+ },
1673
+ { "name": "className", "type": "string" },
1674
+ {
1675
+ "name": "handleDrag",
1676
+ "description": "Handles the drag event."
1677
+ },
1678
+ {
1679
+ "name": "clamp",
1680
+ "description": "Clamps a number between a minimum and maximum value."
1681
+ }
1682
+ ],
1683
+ "events": []
1684
+ }
1685
+ },
1686
+ {
1687
+ "name": "wje-infinite-scroll",
1688
+ "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.",
1689
+ "doc-url": "",
1690
+ "attributes": [],
1691
+ "slots": [
1692
+ {
1693
+ "name": "",
1694
+ "description": "The default slot for the infinite scroll."
1695
+ }
1696
+ ],
1697
+ "events": [],
1698
+ "js": {
1699
+ "properties": [
1700
+ {
1701
+ "name": "infiniteScrollTemplate",
1702
+ "description": "Getter for the infiniteScrollTemplate property."
1703
+ },
1704
+ {
1705
+ "name": "response",
1706
+ "description": "Getter for the response property."
1707
+ },
1708
+ {
1709
+ "name": "objectName",
1710
+ "description": "Dependencies of the InfiniteScroll component."
1711
+ },
1712
+ { "name": "className", "type": "string" },
1713
+ {
1714
+ "name": "scrollEvent",
1715
+ "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."
1716
+ },
1717
+ {
1718
+ "name": "unScrollEvent",
1719
+ "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."
1720
+ },
1721
+ {
1722
+ "name": "onScroll",
1723
+ "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."
1724
+ },
1725
+ { "name": "compareFunction" },
1726
+ {
1727
+ "name": "dataToHtml",
1728
+ "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."
1729
+ },
1730
+ {
1731
+ "name": "customForeach",
1732
+ "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."
1733
+ },
1734
+ {
1735
+ "name": "interpolate",
1736
+ "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."
1737
+ },
1738
+ { "name": "totalPages", "type": "number" },
1739
+ { "name": "isLoading", "type": "array" },
1740
+ { "name": "iterate", "type": "null" },
1741
+ { "name": "placementObj" }
1742
+ ],
1743
+ "events": []
1744
+ }
1745
+ },
1686
1746
  {
1687
1747
  "name": "wje-input",
1688
1748
  "description": "This class represents a custom input element. It extends the WJElement class and provides additional functionality for handling input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the input.\n- **draw(): _DocumentFragment_** - Draws the input element.\n- **afterDraw()** - Runs after the input is drawn to the DOM.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **hasSlot(el: _HTMLElement_, slotName: _string_): _boolean_** - Checks whether the input has a slot.\n\n### **Slots:**\n - **start** - Slot for content at the start of the input.\n- **end** - Slot for content at the end of the input.\n\n### **CSS Properties:**\n - **--wje-input-font-family** - Defines the font family for the input text. _(default: var(--wje-font-family))_\n- **--wje-input-background-color** - Specifies the background color of the input field. _(default: var(--wje-background))_\n- **--wje-input-color** - Sets the text color within the input field. _(default: var(--wje-color))_\n- **--wje-input-color-invalid** - Changes the text color when the input value is invalid. _(default: var(--wje-color-danger))_\n- **--wje-input-error-background-color** - Controls the background color of the validation error bubble. _(default: var(--wje-tooltip-background))_\n- **--wje-input-error-color** - Controls the text color of the validation error bubble. _(default: var(--wje-tooltip-color))_\n- **--wje-input-border-color** - Defines the border color of the input field. _(default: var(--wje-border-color))_\n- **--wje-input-border-color-focus** - Specifies the border color when the input is focused. _(default: var(--wje-color-primary))_\n- **--wje-input-border-width** - Sets the width of the input border. _(default: 1px)_\n- **--wje-input-border-style** - Defines the border style of the input (e.g., solid, dashed). _(default: solid)_\n- **--wje-input-border-radius** - Specifies the border radius, creating rounded corners. _(default: 4px)_\n- **--wje-input-margin-bottom** - Adds spacing below the input field. _(default: .5rem)_\n- **--wje-input-line-height** - Sets the line height of the text within the input field. _(default: 20px)_\n- **--wje-input-slot-padding-inline** - Controls the padding on the left and right of the input slot content. // @fires wje-input:input - Dispatched when the input value changes. // @fires wje-input:clear - Dispatched when the input is cleared. _(default: .5rem)_\n\n### **CSS Parts:**\n - **native** - The native part.\n- **wrapper** - The wrapper part.\n- **input** - The input part.\n- **clear** - The clear part.",
@@ -1757,6 +1817,28 @@
1757
1817
  "events": []
1758
1818
  }
1759
1819
  },
1820
+ {
1821
+ "name": "wje-input-file",
1822
+ "description": "This element represents a file input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component.\n- **afterDraw()** - After draw method for the InputFile class.\n\n### **CSS Parts:**\n - **native** - The native file input wrapper.\n- **input** - The text input.\n- **file-input** - The file input element. // @fires wje-input-file:change - Event fired when the file input changes.",
1823
+ "doc-url": "",
1824
+ "attributes": [],
1825
+ "events": [],
1826
+ "js": {
1827
+ "properties": [
1828
+ {
1829
+ "name": "value",
1830
+ "description": "Gets the value of the input file."
1831
+ },
1832
+ {
1833
+ "name": "className",
1834
+ "description": "The class name for the InputFile class.",
1835
+ "type": "string"
1836
+ },
1837
+ { "name": "_value", "type": "string" }
1838
+ ],
1839
+ "events": []
1840
+ }
1841
+ },
1760
1842
  {
1761
1843
  "name": "wje-item",
1762
1844
  "description": "This element represents an item.\n---\n\n\n### **Methods:**\n - **isClickable(): _boolean_** - Returns the CSS styles for the component.\n- **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the item.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - **start** - The start slot\n- **end** - The end slot\n- **error** - The error slot\n- **helper** - The helper slot\n\n### **CSS Properties:**\n - **--wje-item-background** - Sets the background color of the item. Accepts any valid CSS color value. _(default: var(--wje-background))_\n- **--wje-item-color** - Defines the text color for the item. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-item-padding-start** - Specifies the left padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-end** - Specifies the right padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-top** - Specifies the top padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-padding-bottom** - Specifies the bottom padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-start** - Specifies the left inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-end** - Specifies the right inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-top** - Specifies the top inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-inner-padding-bottom** - Specifies the bottom inner padding of the item. Accepts any valid CSS length. _(default: var(--wje-padding))_\n- **--wje-item-border-radius** - Defines the border radius, providing rounded corners for the item. _(default: var(--wje-border-radius))_\n- **--wje-item-border-width** - Sets the border width of the item. Accepts any valid CSS length. _(default: var(--wje-border-width))_\n- **--wje-item-border-style** - Specifies the style of the border, such as `solid`, `dashed`, or `dotted`. _(default: var(--wje-border-style))_\n- **--wje-item-border-color** - Defines the color of the item's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-item-min-height** - Sets the minimum height of the item to ensure consistent layout. _(default: var(--wje-min-height))_\n- **--wje-item-transition** - Specifies the transition effects for the item, such as for hover or focus states. _(default: var(--wje-transition))_\n- **--wje-item-inner-box-shadow** - Adds a shadow effect inside the item for a 3D appearance. _(default: var(--wje-box-shadow))_\n\n### **CSS Parts:**\n - **native** - The native part\n- **inner** - The inner part",
@@ -1858,94 +1940,58 @@
1858
1940
  }
1859
1941
  },
1860
1942
  {
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.",
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.",
1863
1945
  "doc-url": "",
1864
1946
  "attributes": [],
1865
1947
  "slots": [
1866
- {
1867
- "name": "",
1868
- "description": "The default slot for the infinite scroll."
1869
- }
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
+ {
1957
+ "name": "wje-level-indicator",
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.",
1959
+ "doc-url": "",
1960
+ "attributes": [
1961
+ { "name": "level", "value": { "type": "string" } },
1962
+ { "name": "bars", "value": { "type": "string" } }
1870
1963
  ],
1871
1964
  "events": [],
1872
1965
  "js": {
1873
1966
  "properties": [
1874
1967
  {
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."
1968
+ "name": "level",
1969
+ "description": "Retrieves the level attribute of an element, with validation to ensure\nit is within the range of 0 to 3. If the level attribute is not present,\nthe default value is 1. The result is parsed as an integer and constrained\nto the valid range."
1885
1970
  },
1886
- { "name": "className", "type": "string" },
1887
1971
  {
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."
1972
+ "name": "bars",
1973
+ "description": "Retrieves the value of the \"bars\" attribute, parses it as an integer,\nand ensures it is at least 1. If the attribute is not set, defaults to 3."
1890
1974
  },
1891
1975
  {
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."
1976
+ "name": "colorize",
1977
+ "description": "Determines whether the element has the \"colorize\" attribute set."
1894
1978
  },
1895
1979
  {
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."
1980
+ "name": "reverse",
1981
+ "description": "Getter method to check if the \"reverse\" attribute is present on the element."
1898
1982
  },
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
- ],
1917
- "events": []
1918
- }
1919
- },
1920
- {
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.",
1923
- "doc-url": "",
1924
- "attributes": [],
1925
- "events": [],
1926
- "js": {
1927
- "properties": [
1928
- {
1929
- "name": "value",
1930
- "description": "Gets the value of the input file."
1931
- },
1932
- {
1933
- "name": "className",
1934
- "description": "The class name for the InputFile class.",
1935
- "type": "string"
1936
- },
1937
- { "name": "_value", "type": "string" }
1983
+ { "name": "className", "type": "string" }
1938
1984
  ],
1939
1985
  "events": []
1940
1986
  }
1941
1987
  },
1942
1988
  {
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.",
1989
+ "name": "wje-list",
1990
+ "description": "This element represents a list.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of attributes to observe for changes.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - _default_ - The default slot for the list.\n\n### **CSS Properties:**\n - **--wje-list-inset-padding** - The padding of the list when it is inset. _(default: 1rem)_\n- **--wje-list-border-radius** - The border radius of the list. Accepts any valid CSS length. _(default: 8px)_\n- **--wje-list-background** - The background of the list. Accepts any valid CSS color value. _(default: var(--wje-background))_",
1945
1991
  "doc-url": "",
1946
1992
  "attributes": [],
1947
1993
  "slots": [
1948
- { "name": "", "description": "The default slot for the label." }
1994
+ { "name": "", "description": "The default slot for the list." }
1949
1995
  ],
1950
1996
  "events": [],
1951
1997
  "js": {
@@ -1954,44 +2000,15 @@
1954
2000
  }
1955
2001
  },
1956
2002
  {
1957
- "name": "wje-level-indicator",
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.",
1959
- "doc-url": "",
1960
- "attributes": [
1961
- { "name": "level", "value": { "type": "string" } },
1962
- { "name": "bars", "value": { "type": "string" } }
1963
- ],
1964
- "events": [],
1965
- "js": {
1966
- "properties": [
1967
- {
1968
- "name": "level",
1969
- "description": "Retrieves the level attribute of an element, with validation to ensure\nit is within the range of 0 to 3. If the level attribute is not present,\nthe default value is 1. The result is parsed as an integer and constrained\nto the valid range."
1970
- },
1971
- {
1972
- "name": "bars",
1973
- "description": "Retrieves the value of the \"bars\" attribute, parses it as an integer,\nand ensures it is at least 1. If the attribute is not set, defaults to 3."
1974
- },
1975
- {
1976
- "name": "colorize",
1977
- "description": "Determines whether the element has the \"colorize\" attribute set."
1978
- },
1979
- {
1980
- "name": "reverse",
1981
- "description": "Getter method to check if the \"reverse\" attribute is present on the element."
1982
- },
1983
- { "name": "className", "type": "string" }
1984
- ],
1985
- "events": []
1986
- }
1987
- },
1988
- {
1989
- "name": "wje-list",
1990
- "description": "This element represents a list.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of attributes to observe for changes.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - _default_ - The default slot for the list.\n\n### **CSS Properties:**\n - **--wje-list-inset-padding** - The padding of the list when it is inset. _(default: 1rem)_\n- **--wje-list-border-radius** - The border radius of the list. Accepts any valid CSS length. _(default: 8px)_\n- **--wje-list-background** - The background of the list. Accepts any valid CSS color value. _(default: var(--wje-background))_",
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.",
1991
2005
  "doc-url": "",
1992
2006
  "attributes": [],
1993
2007
  "slots": [
1994
- { "name": "", "description": "The default slot for the list." }
2008
+ {
2009
+ "name": "",
2010
+ "description": "The default slot for the main section."
2011
+ }
1995
2012
  ],
1996
2013
  "events": [],
1997
2014
  "js": {
@@ -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.",
@@ -2103,26 +2103,6 @@
2103
2103
  "events": []
2104
2104
  }
2105
2105
  },
2106
- {
2107
- "name": "wje-menu-label",
2108
- "description": "This element represents a menu label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu label.\n\n### **Slots:**\n - _default_ - The default slot for the menu label.\n\n### **CSS Properties:**\n - **--wje-menu-label-font-size** - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`). _(default: .75rem)_\n- **--wje-menu-label-weight** - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`). _(default: 600)_\n- **--wje-letter-spacing** - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability. _(default: .025rem)_\n- **--wje-menu-label-color** - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors. _(default: var(--wje-color-contrast-6))_\n- **--wje-padding-top** - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label. _(default: 0)_\n- **--wje-padding-bottom** - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label. _(default: 0)_\n- **--wje-padding-start** - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n- **--wje-padding-end** - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu label.",
2109
- "doc-url": "",
2110
- "attributes": [],
2111
- "slots": [
2112
- {
2113
- "name": "",
2114
- "description": "The default slot for the menu label."
2115
- }
2116
- ],
2117
- "events": [],
2118
- "js": {
2119
- "properties": [
2120
- { "name": "className", "type": "string" },
2121
- { "name": "hasSubmenu" }
2122
- ],
2123
- "events": []
2124
- }
2125
- },
2126
2106
  {
2127
2107
  "name": "wje-menu-item",
2128
2108
  "description": "This element represents a menu item.\n---\n\n\n### **Events:**\n \n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the MenuItem element.\n- **beforeDraw()** - Removes the active attribute from the menu before drawing the MenuItem.\n- **draw(): _DocumentFragment_** - Draws the MenuItem element and sets the variant and collapse attributes.\n- **afterDraw()** - Adds event listeners after drawing the MenuItem.\n- **syncAria()** - Syncs ARIA attributes based on menu item state.\n- **collapseItem(native: _HTMLElement_): _HTMLElement_** - Creates a tooltip for the MenuItem when it is collapsed.\n- **showSubmenu()** - Shows the submenu of the MenuItem.\n- **hideSubmenu()** - Hides the submenu of the MenuItem.\n- **submenuToggle(e: _Event_)** - Toggles the active state of the submenu element.\nIf the submenu is not active, it sets the \"active\" attribute.\nIf the submenu is already active, it removes the \"active\" attribute.\n- **deactivateSubmenu()** - Deactivates the submenu by removing the \"active\" attribute.\n- **activateSubmenu()** - Activates the submenu of the menu item.\n- **beforeDisconnect()** - Gets the text from the element and returns it.\n- **getTextFromElement(element: _HTMLElement_): _string_** - Extracts and returns the concatenated text content from all text nodes within the specified element.\n\n### **Slots:**\n - _default_ - The default slot for the menu item.\n- **start** - The slot for the start of the menu item.\n- **end** - The slot for the end of the menu item.\n- **submenu** - The slot for the submenu of the menu item.\n\n### **CSS Properties:**\n - **--wje-menu-item-color** - Sets the text color of a menu item. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-menu-item-background** - Defines the background color of a menu item. Default is `transparent`. Accepts any valid CSS color value. _(default: transparent)_\n- **--wje-menu-item-color-hover** - Specifies the text color of a menu item when hovered. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-hover** - Sets the background color of a menu item when hovered. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-color-focus** - Defines the text color of a menu item when focused. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-focus** - Specifies the background color of a menu item when focused. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-color-active** - Sets the text color of a menu item when active. Accepts any valid CSS color value. _(default: var(--wje-color-contrast-8))_\n- **--wje-menu-item-background-active** - Specifies the background color of a menu item when active. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-menu-item-padding-top** - Specifies the top padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`). _(default: .5rem)_\n- **--wje-menu-item-padding-bottom** - Specifies the bottom padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`). _(default: .5rem)_\n- **--wje-menu-item-line-height** - Sets the line height for the text within a menu item. Accepts any valid CSS length value. _(default: 1.8rem)_\n- **--wje-menu-submenu-offset** - Determines the horizontal offset of a submenu relative to its parent. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-menu-item-icon-visibility** - Controls the visibility of the icon in a menu item. Accepts `visible`, `hidden`, or `collapse`. _(default: hidden)_\n- **--wje-menu-item-safe-triangle-cursor-x** - Specifies the x-coordinate of the cursor for the safe triangle area. Used for managing hover or focus transitions between menu items and submenus. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-cursor-y** - Specifies the y-coordinate of the cursor for the safe triangle area. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-start-x** - Defines the x-coordinate where the submenu's safe triangle starts. Helps prevent accidental submenu closing when navigating. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-start-y** - Defines the y-coordinate where the submenu's safe triangle starts. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-end-x** - Specifies the x-coordinate where the submenu's safe triangle ends. _(default: undefined)_\n- **--wje-menu-item-safe-triangle-submenu-end-y** - Specifies the y-coordinate where the submenu's safe triangle ends. _(default: undefined)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu item.\n- **submenu** - The submenu part of the menu item.",
@@ -2198,6 +2178,26 @@
2198
2178
  "events": []
2199
2179
  }
2200
2180
  },
2181
+ {
2182
+ "name": "wje-menu-label",
2183
+ "description": "This element represents a menu label.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu label.\n\n### **Slots:**\n - _default_ - The default slot for the menu label.\n\n### **CSS Properties:**\n - **--wje-menu-label-font-size** - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`). _(default: .75rem)_\n- **--wje-menu-label-weight** - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`). _(default: 600)_\n- **--wje-letter-spacing** - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability. _(default: .025rem)_\n- **--wje-menu-label-color** - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors. _(default: var(--wje-color-contrast-6))_\n- **--wje-padding-top** - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label. _(default: 0)_\n- **--wje-padding-bottom** - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label. _(default: 0)_\n- **--wje-padding-start** - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n- **--wje-padding-end** - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value. _(default: 1.5rem)_\n\n### **CSS Parts:**\n - **native** - The native part of the menu label.",
2184
+ "doc-url": "",
2185
+ "attributes": [],
2186
+ "slots": [
2187
+ {
2188
+ "name": "",
2189
+ "description": "The default slot for the menu label."
2190
+ }
2191
+ ],
2192
+ "events": [],
2193
+ "js": {
2194
+ "properties": [
2195
+ { "name": "className", "type": "string" },
2196
+ { "name": "hasSubmenu" }
2197
+ ],
2198
+ "events": []
2199
+ }
2200
+ },
2201
2201
  {
2202
2202
  "name": "wje-option",
2203
2203
  "description": "This element represents an option.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the option.\n- **afterDraw(): _void_** - Method executed after the drawing process is completed.\nSets up an event listener for 'click' events, linking them to the specified callback function.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect(): _void_** - Handles operations or cleanup tasks that need to occur before disconnecting.\nRemoves an event listener associated with the 'click' event and a specified callback function.\n- **optionClickCallback(e: _Event_): _void_** - Handles the click event on an option element and dispatches a custom event when triggered.\n\n### **Slots:**\n - **start** - The slot for the start of the option.\n- _default_ - The default slot for the option.\n- **end** - The slot for the end of the option. // @fires wje-option:change - Event fired when the option is clicked.\n\n### **CSS Parts:**\n - **native** - The native part of the option.",
@@ -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.",
@@ -2356,6 +2329,114 @@
2356
2329
  "events": []
2357
2330
  }
2358
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."
2408
+ },
2409
+ {
2410
+ "name": "virtual",
2411
+ "description": "Gets whether the item renders only as a structural connector."
2412
+ },
2413
+ { "name": "className", "type": "string" },
2414
+ { "name": "handleItemClick" },
2415
+ {
2416
+ "name": "toggleChildren",
2417
+ "description": "Toggles the children of the orgchart item."
2418
+ }
2419
+ ],
2420
+ "events": []
2421
+ }
2422
+ },
2423
+ {
2424
+ "name": "wje-panel",
2425
+ "description": "This element represents a panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the panel.\n- **afterDraw()** - Adds event listeners after the component is drawn.\nHandles the collapsing of breadcrumbs.\n- **getBreadcrumbs(): _Array<Element>_** - Returns all the breadcrumb elements in the panel.\n\n### **Slots:**\n - _default_ - The default slot for the panel.",
2426
+ "doc-url": "",
2427
+ "attributes": [],
2428
+ "slots": [
2429
+ { "name": "", "description": "The default slot for the panel." }
2430
+ ],
2431
+ "events": [],
2432
+ "js": {
2433
+ "properties": [
2434
+ { "name": "className", "type": "string" },
2435
+ { "name": "last", "type": "boolean" }
2436
+ ],
2437
+ "events": []
2438
+ }
2439
+ },
2359
2440
  {
2360
2441
  "name": "wje-pagination",
2361
2442
  "description": "This class represents the Pagination component for navigating through paginated content and dynamically updating navigation elements based on attributes like the number of items, page size, etc. Extends the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Creates a document fragment, appends a new slot element to it, and returns the fragment.\n- **htmlPagination(): _DocumentFragment_** - Creates a pagination control for navigating between pages of content.\nThis method generates and returns a document fragment containing pagination controls, including buttons for navigating to the first, previous, next, and last pages, as well as optional informational text about the current set of displayed items and total number of items.\n- **htmlStackButtons(paginateObj: _@param {number} paginateObj.currentPage The current active page index (1-based).\n * @param {Array<number>} paginateObj.pages An array of page numbers to display in the pagination.\n * @param {number} paginateObj.totalPages Total number of pages available for pagination.\n * _): _DocumentFragment_** - Creates and returns a DocumentFragment containing a series of buttons for pagination purposes,\nbased on the provided pagination object.\n\n### **CSS Parts:**\n - **native** - The wrapper element for the pagination component.",
@@ -2426,23 +2507,6 @@
2426
2507
  "events": []
2427
2508
  }
2428
2509
  },
2429
- {
2430
- "name": "wje-panel",
2431
- "description": "This element represents a panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the panel.\n- **afterDraw()** - Adds event listeners after the component is drawn.\nHandles the collapsing of breadcrumbs.\n- **getBreadcrumbs(): _Array<Element>_** - Returns all the breadcrumb elements in the panel.\n\n### **Slots:**\n - _default_ - The default slot for the panel.",
2432
- "doc-url": "",
2433
- "attributes": [],
2434
- "slots": [
2435
- { "name": "", "description": "The default slot for the panel." }
2436
- ],
2437
- "events": [],
2438
- "js": {
2439
- "properties": [
2440
- { "name": "className", "type": "string" },
2441
- { "name": "last", "type": "boolean" }
2442
- ],
2443
- "events": []
2444
- }
2445
- },
2446
2510
  {
2447
2511
  "name": "wje-popup",
2448
2512
  "description": "This element represents a popup.\n---\n\n\n### **Events:**\n - **wje-portal:restored**\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the popup.\n- **afterDraw()** - After Draws the component.\n- **setAnchor()** - Sets the anchor for the popup.\nAdds a click event listener to the anchor element.\n- **showHide()** - Toggles the active attribute of the popup.\n- **reposition()** - Repositions the popup.\nUses the floating-ui library to compute the position.\n- **_mountContentToPortal(): _void_** - Mounts content to a portal container by creating or ensuring a portal root and mirroring\nthe host's classes, attributes, and slot contents onto the portal. This method manages the\nmovement of default and arrow slot content into the portal shadow DOM, while also setting\nup necessary mutation observers to keep attributes in sync.\n- **_restoreContentFromPortal(): _void_** - Restores the content previously moved to a portal back to its original location.\nThis method handles restoring default slot content, arrow placeholders, disconnecting\nattribute mirroring observers, and cleaning up elements and containers related to the portal.\nEnsures all placeholders and native portal elements are properly removed from the DOM.\n- **_ensurePortalRoot(): _void_** - Ensures that a portal root is created and initialized properly with a shadow DOM and attached styles.\nIf the portal root already exists, the method exits early.\nThe method creates a `div` element in the document body and attaches a shadow DOM to it.\nIt also applies the required styles to the shadow DOM, either using constructable stylesheets\nor by appending a `<style>` element. Additionally, it copies CSS custom properties from the\ncomponent's computed styles to the portal host to ensure proper style resolution.\n- **show(dispatchEvent: _boolean_): _void_** - Displays the popup by portaling the content, managing the loader state, and attaching event handlers.\nOptionally dispatches a custom event when the popup is shown.\n- **hide(dispatchEvent)** - Hides the popup.\nRemoves the popup-active class from the floating element.\nCleans up the auto update for repositioning.\n\n### **Slots:**\n - **anchor** - The slot for the anchor of the popup.\n- **arrow** - The slot for the arrow of the popup.\n- _default_ - The default slot for the popup.\n\n### **CSS Properties:**\n - **--wje-popup-backdrop-background** - Backdrop background used by mobile bottom sheet popups. _(default: var(--wje-backdrop))_\n- **--wje-popup-backdrop-opacity** - Backdrop opacity used by mobile bottom sheet popups. _(default: 1)_\n- **--wje-popup-mobile-background** - Background of the mobile bottom sheet panel. _(default: var(--wje-select-options-background-color))_\n- **--wje-popup-mobile-border-radius** - Border radius of the mobile bottom sheet panel. _(default: var(--wje-border-radius-large) var(--wje-border-radius-large) 0 0)_\n- **--wje-popup-mobile-box-shadow** - Shadow of the mobile bottom sheet panel. _(default: 0 -8px 32px rgba(0, 0, 0, 0.16))_\n- **--wje-popup-mobile-max-height** - Maximum height of the mobile bottom sheet panel. _(default: 90vh)_\n- **--wje-popup-mobile-transition-duration** - Transition duration for the mobile bottom sheet and backdrop. _(default: 250ms)_\n- **--wje-popup-mobile-transition-easing** - Transition easing for the mobile bottom sheet and backdrop. _(default: ease)_\n- **--wje-popup-loader-inset** - Inset used by the popup loader overlay. _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The native part of the popup.\n- **backdrop** - The backdrop used by mobile bottom sheet presentation.",
@@ -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))_",
@@ -2627,73 +2627,6 @@
2627
2627
  "events": []
2628
2628
  }
2629
2629
  },
2630
- {
2631
- "name": "wje-qr-code",
2632
- "description": "This element represents a QR code generator.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the QR code component.\n- **afterDraw()** - Called after the component is drawn to generate the QR code.\n- **getAttributeFromAliases(aliases: _string[]_): _string|null_** - Returns first defined attribute value from alias list.\n- **setAliasedAttribute(optionName: _string_, value: _string|number|null|undefined_)** - Writes value to the canonical attribute and clears alternate aliases.\n\n### **Slots:**\n - **top** - The slot for the top content of the QR code.\n- **bottom** - The slot for the bottom content of the QR code.\n\n### **CSS Parts:**\n - **native** - The native part of the QR code.",
2633
- "doc-url": "",
2634
- "attributes": [],
2635
- "slots": [
2636
- {
2637
- "name": "top",
2638
- "description": "The slot for the top content of the QR code."
2639
- },
2640
- {
2641
- "name": "bottom",
2642
- "description": "The slot for the bottom content of the QR code."
2643
- }
2644
- ],
2645
- "events": [],
2646
- "js": {
2647
- "properties": [
2648
- {
2649
- "name": "value",
2650
- "description": "Content encoded into the QR code.",
2651
- "type": "string"
2652
- },
2653
- {
2654
- "name": "background",
2655
- "description": "Background color of the QR code.",
2656
- "type": "string|null"
2657
- },
2658
- {
2659
- "name": "backgroundAlpha",
2660
- "description": "Background alpha channel in range 0-1.\nSupports aliases: background-alpha, backgroundalpha, backgroundAlpha.",
2661
- "type": "number|null"
2662
- },
2663
- {
2664
- "name": "foreground",
2665
- "description": "Foreground color of the QR code.",
2666
- "type": "string|null"
2667
- },
2668
- {
2669
- "name": "foregroundAlpha",
2670
- "description": "Foreground alpha channel in range 0-1.\nSupports aliases: foreground-alpha, foregroundalpha, foregroundAlpha.",
2671
- "type": "number|null"
2672
- },
2673
- {
2674
- "name": "level",
2675
- "description": "Error correction level. Accepted values: L, M, Q, H.",
2676
- "type": "string|null"
2677
- },
2678
- {
2679
- "name": "padding",
2680
- "description": "Padding around the QR code in pixels.",
2681
- "type": "number|null"
2682
- },
2683
- {
2684
- "name": "size",
2685
- "description": "Output QR code size in pixels.",
2686
- "type": "number|null"
2687
- },
2688
- {
2689
- "name": "className",
2690
- "description": "The class name for the component.",
2691
- "type": "string"
2692
- }
2693
- ],
2694
- "events": []
2695
- }
2696
- },
2697
2630
  {
2698
2631
  "name": "wje-radio",
2699
2632
  "description": "This class represents a Radio button element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the radio button.\n- **afterDraw()** - Sets up the event listeners for the component.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Toggles the radio button.\n\n### **Slots:**\n - _default_ - Default slot for the radio button label content.\n\n### **CSS Properties:**\n - **--wje-radio-margin-inline** - Specifies the horizontal (left and right) margin for the radio button. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`) to control spacing on both sides of the component. _(default: 0)_\n- **--wje-radio-margin-top** - Defines the top margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing above the component. _(default: 0)_\n- **--wje-radio-margin-bottom** - Sets the bottom margin for the radio button. Accepts any valid CSS length value to adjust vertical spacing below the component. // @fires wje-radio:change - Dispatched when the radio button's state changes. // @fires wje-radio:input - Dispatched when the radio button is interacted with. _(default: 0)_\n\n### **CSS Parts:**\n - **native-radio** - The native wrapper for the radio button.",
@@ -2774,81 +2707,63 @@
2774
2707
  }
2775
2708
  },
2776
2709
  {
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.",
2779
- "doc-url": "",
2780
- "attributes": [
2781
- { "name": "date", "value": { "type": "string" } },
2782
- { "name": "lang", "value": { "type": "string" } }
2783
- ],
2784
- "events": [],
2785
- "js": {
2786
- "properties": [
2787
- {
2788
- "name": "date",
2789
- "description": "Gets the date of the relative time component."
2790
- },
2791
- {
2792
- "name": "objectDate",
2793
- "description": "Gets the object date of the relative time component."
2794
- },
2795
- {
2796
- "name": "className",
2797
- "description": "Sets the lang of the relative time component.",
2798
- "type": "string"
2799
- },
2800
- { "name": "localizer" }
2801
- ],
2802
- "events": []
2803
- }
2804
- },
2805
- {
2806
- "name": "wje-reorder",
2807
- "description": "This element represents a reorder.\n---\n\n\n### **Events:**\n - **wje-reorder:change**\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component after it is connected to the DOM.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n- **attachEventListeners(element)** - Attaches event listeners to the element.\n- **mouseDown(e: _object_)** - Handles the mouse down event.\n- **touchStart(e)** - Handles the touch start event.\n- **startDragging(clientX: _number_, clientY: _number_, target: _HTMLElement_)** - Initializes the dragging process for a reorderable item.\n- **mouseMove(e)** - Handles the mouse move event.\n- **touchMove(e: _TouchEvent_)** - Handles the `touchmove` event and updates the position of the dragged element.\n- **moveElement(pageX: _number_, pageY: _number_)** - Updates the position of the dragged element and handles reordering logic based on the mouse position.\n- **mouseUp()** - Handles the mouse up event.\n- **touchEnd()** - Handles the touch end event.\n- **stopDragging()** - Stops dragging the element.\n- **dragStart(e: _DragEvent_)** - Prevents the default behavior of the `dragstart` event.\n- **createClone()** - Creates a clone of the element.\n- **isMovingDown(droppedElement): _boolean_** - Checks if the dragged element is moving down.\n- **dispatchChange(from: _number_, to: _number_, order: _Array<number>_, orderElements)** - Dispatches a custom event to signal that a reordering operation has occurred.\n\n### **Slots:**\n - _default_ - The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder.",
2808
- "doc-url": "",
2809
- "attributes": [],
2810
- "slots": [
2811
- {
2812
- "name": "",
2813
- "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2814
- }
2815
- ],
2816
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2817
- "js": {
2818
- "properties": [
2819
- {
2820
- "name": "className",
2821
- "description": "The class name for the component.",
2822
- "type": "string"
2823
- },
2824
- { "name": "dragEl", "type": "null" },
2825
- { "name": "items", "type": "array" },
2826
- { "name": "originalIndex", "type": "null" },
2827
- { "name": "isDragging", "type": "boolean" },
2828
- { "name": "offsetX", "type": "number" },
2829
- { "name": "offsetY", "type": "number" },
2830
- { "name": "cloneEl", "type": "null" }
2831
- ],
2832
- "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2833
- }
2834
- },
2835
- {
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.",
2710
+ "name": "wje-qr-code",
2711
+ "description": "This element represents a QR code generator.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the QR code component.\n- **afterDraw()** - Called after the component is drawn to generate the QR code.\n- **getAttributeFromAliases(aliases: _string[]_): _string|null_** - Returns first defined attribute value from alias list.\n- **setAliasedAttribute(optionName: _string_, value: _string|number|null|undefined_)** - Writes value to the canonical attribute and clears alternate aliases.\n\n### **Slots:**\n - **top** - The slot for the top content of the QR code.\n- **bottom** - The slot for the bottom content of the QR code.\n\n### **CSS Parts:**\n - **native** - The native part of the QR code.",
2838
2712
  "doc-url": "",
2839
- "attributes": [
2840
- { "name": "dropzone", "value": { "type": "string" } },
2841
- { "name": "parent", "value": { "type": "string" } }
2842
- ],
2713
+ "attributes": [],
2843
2714
  "slots": [
2844
2715
  {
2845
- "name": "",
2846
- "description": "The default slot for the reorder handle."
2716
+ "name": "top",
2717
+ "description": "The slot for the top content of the QR code."
2718
+ },
2719
+ {
2720
+ "name": "bottom",
2721
+ "description": "The slot for the bottom content of the QR code."
2847
2722
  }
2848
2723
  ],
2849
2724
  "events": [],
2850
2725
  "js": {
2851
2726
  "properties": [
2727
+ {
2728
+ "name": "value",
2729
+ "description": "Content encoded into the QR code.",
2730
+ "type": "string"
2731
+ },
2732
+ {
2733
+ "name": "background",
2734
+ "description": "Background color of the QR code.",
2735
+ "type": "string|null"
2736
+ },
2737
+ {
2738
+ "name": "backgroundAlpha",
2739
+ "description": "Background alpha channel in range 0-1.\nSupports aliases: background-alpha, backgroundalpha, backgroundAlpha.",
2740
+ "type": "number|null"
2741
+ },
2742
+ {
2743
+ "name": "foreground",
2744
+ "description": "Foreground color of the QR code.",
2745
+ "type": "string|null"
2746
+ },
2747
+ {
2748
+ "name": "foregroundAlpha",
2749
+ "description": "Foreground alpha channel in range 0-1.\nSupports aliases: foreground-alpha, foregroundalpha, foregroundAlpha.",
2750
+ "type": "number|null"
2751
+ },
2752
+ {
2753
+ "name": "level",
2754
+ "description": "Error correction level. Accepted values: L, M, Q, H.",
2755
+ "type": "string|null"
2756
+ },
2757
+ {
2758
+ "name": "padding",
2759
+ "description": "Padding around the QR code in pixels.",
2760
+ "type": "number|null"
2761
+ },
2762
+ {
2763
+ "name": "size",
2764
+ "description": "Output QR code size in pixels.",
2765
+ "type": "number|null"
2766
+ },
2852
2767
  {
2853
2768
  "name": "className",
2854
2769
  "description": "The class name for the component.",
@@ -2940,26 +2855,62 @@
2940
2855
  }
2941
2856
  },
2942
2857
  {
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.",
2858
+ "name": "wje-relative-time",
2859
+ "description": "This element represents a relative time component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the relative time.\n- **getRelativeTimeString(lang)** - Returns the relative time string for the given date.\n- **isISODate(str: _string_): _boolean_** - Checks if the given string is an ISO date.\n\n### **CSS Parts:**\n - **native** - The native part of the relative time component.",
2860
+ "doc-url": "",
2861
+ "attributes": [
2862
+ { "name": "date", "value": { "type": "string" } },
2863
+ { "name": "lang", "value": { "type": "string" } }
2864
+ ],
2865
+ "events": [],
2866
+ "js": {
2867
+ "properties": [
2868
+ {
2869
+ "name": "date",
2870
+ "description": "Gets the date of the relative time component."
2871
+ },
2872
+ {
2873
+ "name": "objectDate",
2874
+ "description": "Gets the object date of the relative time component."
2875
+ },
2876
+ {
2877
+ "name": "className",
2878
+ "description": "Sets the lang of the relative time component.",
2879
+ "type": "string"
2880
+ },
2881
+ { "name": "localizer" }
2882
+ ],
2883
+ "events": []
2884
+ }
2885
+ },
2886
+ {
2887
+ "name": "wje-reorder",
2888
+ "description": "This element represents a reorder.\n---\n\n\n### **Events:**\n - **wje-reorder:change**\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component after it is connected to the DOM.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n- **attachEventListeners(element)** - Attaches event listeners to the element.\n- **mouseDown(e: _object_)** - Handles the mouse down event.\n- **touchStart(e)** - Handles the touch start event.\n- **startDragging(clientX: _number_, clientY: _number_, target: _HTMLElement_)** - Initializes the dragging process for a reorderable item.\n- **mouseMove(e)** - Handles the mouse move event.\n- **touchMove(e: _TouchEvent_)** - Handles the `touchmove` event and updates the position of the dragged element.\n- **moveElement(pageX: _number_, pageY: _number_)** - Updates the position of the dragged element and handles reordering logic based on the mouse position.\n- **mouseUp()** - Handles the mouse up event.\n- **touchEnd()** - Handles the touch end event.\n- **stopDragging()** - Stops dragging the element.\n- **dragStart(e: _DragEvent_)** - Prevents the default behavior of the `dragstart` event.\n- **createClone()** - Creates a clone of the element.\n- **isMovingDown(droppedElement): _boolean_** - Checks if the dragged element is moving down.\n- **dispatchChange(from: _number_, to: _number_, order: _Array<number>_, orderElements)** - Dispatches a custom event to signal that a reordering operation has occurred.\n\n### **Slots:**\n - _default_ - The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder.",
2945
2889
  "doc-url": "",
2946
2890
  "attributes": [],
2947
2891
  "slots": [
2948
2892
  {
2949
2893
  "name": "",
2950
- "description": "The default slot for the reorder item."
2894
+ "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2951
2895
  }
2952
2896
  ],
2953
- "events": [],
2897
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2954
2898
  "js": {
2955
2899
  "properties": [
2956
2900
  {
2957
2901
  "name": "className",
2958
2902
  "description": "The class name for the component.",
2959
2903
  "type": "string"
2960
- }
2904
+ },
2905
+ { "name": "dragEl", "type": "null" },
2906
+ { "name": "items", "type": "array" },
2907
+ { "name": "originalIndex", "type": "null" },
2908
+ { "name": "isDragging", "type": "boolean" },
2909
+ { "name": "offsetX", "type": "number" },
2910
+ { "name": "offsetY", "type": "number" },
2911
+ { "name": "cloneEl", "type": "null" }
2961
2912
  ],
2962
- "events": []
2913
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2963
2914
  }
2964
2915
  },
2965
2916
  {
@@ -2986,28 +2937,60 @@
2986
2937
  }
2987
2938
  },
2988
2939
  {
2989
- "name": "wje-route",
2990
- "description": "This element represents a route in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the route.",
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.",
2991
2942
  "doc-url": "",
2992
- "attributes": [],
2943
+ "attributes": [
2944
+ { "name": "dropzone", "value": { "type": "string" } },
2945
+ { "name": "parent", "value": { "type": "string" } }
2946
+ ],
2947
+ "slots": [
2948
+ {
2949
+ "name": "",
2950
+ "description": "The default slot for the reorder handle."
2951
+ }
2952
+ ],
2993
2953
  "events": [],
2994
2954
  "js": {
2995
- "properties": [{ "name": "className", "type": "string" }],
2955
+ "properties": [
2956
+ {
2957
+ "name": "className",
2958
+ "description": "The class name for the component.",
2959
+ "type": "string"
2960
+ }
2961
+ ],
2996
2962
  "events": []
2997
2963
  }
2998
2964
  },
2999
2965
  {
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.",
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.",
3002
2968
  "doc-url": "",
3003
2969
  "attributes": [],
3004
2970
  "slots": [
3005
2971
  {
3006
2972
  "name": "",
3007
- "description": "The default slot for the router link."
2973
+ "description": "The default slot for the reorder item."
3008
2974
  }
3009
2975
  ],
3010
2976
  "events": [],
2977
+ "js": {
2978
+ "properties": [
2979
+ {
2980
+ "name": "className",
2981
+ "description": "The class name for the component.",
2982
+ "type": "string"
2983
+ }
2984
+ ],
2985
+ "events": []
2986
+ }
2987
+ },
2988
+ {
2989
+ "name": "wje-route",
2990
+ "description": "This element represents a route in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the route.",
2991
+ "doc-url": "",
2992
+ "attributes": [],
2993
+ "events": [],
3011
2994
  "js": {
3012
2995
  "properties": [{ "name": "className", "type": "string" }],
3013
2996
  "events": []
@@ -3036,6 +3019,23 @@
3036
3019
  "events": []
3037
3020
  }
3038
3021
  },
3022
+ {
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.",
3025
+ "doc-url": "",
3026
+ "attributes": [],
3027
+ "slots": [
3028
+ {
3029
+ "name": "",
3030
+ "description": "The default slot for the router link."
3031
+ }
3032
+ ],
3033
+ "events": [],
3034
+ "js": {
3035
+ "properties": [{ "name": "className", "type": "string" }],
3036
+ "events": []
3037
+ }
3038
+ },
3039
3039
  {
3040
3040
  "name": "wje-row",
3041
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.",
@@ -3056,6 +3056,50 @@
3056
3056
  "events": []
3057
3057
  }
3058
3058
  },
3059
+ {
3060
+ "name": "wje-slider",
3061
+ "description": "Represents a slider component that extends the WJElement class.\nThis slider supports features such as min, max, step values, bubble display, and event handling.\nIt offers both getter and setter methods for its attributes and dynamically handles rendering and updates.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the slider.\n- **afterDraw(): _void_** - Handles the post-rendering logic for a custom slider component. This method performs the following tasks:\n- Sets the position of the handle.\n- Displays a bubble indicator with the current value, if the slider has a \"bubble\" attribute.\n- Dispatches initialization, movement, and change custom events for the slider input element.\n- Updates the bubble position and value dynamically on input changes.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getPercentage(min: _number_, max: _number_, value: _number_): _number_** - Calculates the percentage of a value within a given range.",
3062
+ "doc-url": "",
3063
+ "attributes": [
3064
+ { "name": "max", "value": { "type": "string" } },
3065
+ { "name": "min", "value": { "type": "string" } },
3066
+ { "name": "step", "value": { "type": "string" } },
3067
+ { "name": "value", "value": { "type": "string" } },
3068
+ { "name": "disabled", "value": { "type": "string" } },
3069
+ { "name": "bubble", "value": { "type": "string" } }
3070
+ ],
3071
+ "events": [],
3072
+ "js": {
3073
+ "properties": [
3074
+ {
3075
+ "name": "value",
3076
+ "description": "Returns the value of the slider."
3077
+ },
3078
+ {
3079
+ "name": "min",
3080
+ "description": "Returns the minimum value of the slider."
3081
+ },
3082
+ {
3083
+ "name": "max",
3084
+ "description": "Returns the maximum value of the slider."
3085
+ },
3086
+ {
3087
+ "name": "step",
3088
+ "description": "Returns the step value of the slider."
3089
+ },
3090
+ { "name": "className", "type": "string" },
3091
+ {
3092
+ "name": "setHandlePosition",
3093
+ "description": "Sets the handle position of the slider."
3094
+ },
3095
+ {
3096
+ "name": "setBubble",
3097
+ "description": "Updates the position and content of a bubble element based on the input value.\n\nThis function calculates the position of the bubble using the percentage representation\nof the input's current value relative to its minimum and maximum bounds. It then adjusts\nthe bubble's left position dynamically for aesthetic purposes and updates its displayed\ncontent to reflect the current input value.\n\nThe function relies on the following elements:\n- `this.input`: Represents the input element with properties `min`, `max`, and `value`.\n- `this.output`: Represents the bubble element to be positioned and updated.\n\nThe left positioning of the bubble ensures precise alignment with the input value indicator."
3098
+ }
3099
+ ],
3100
+ "events": []
3101
+ }
3102
+ },
3059
3103
  {
3060
3104
  "name": "wje-router-outlet",
3061
3105
  "description": "This element represents a route in a routing system.\n---\n",
@@ -3179,6 +3223,26 @@
3179
3223
  "events": []
3180
3224
  }
3181
3225
  },
3226
+ {
3227
+ "name": "wje-split-view",
3228
+ "description": "This element represents a split view.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the split view.\n- **afterDraw()** - Sets up the event listeners after the component is drawn.\n- **detectSize()** - Detects the size of the split view.\n- **pixelsToPercentage(value: _number_): _number_** - Converts pixels to a percentage.\n\n### **Slots:**\n - **start** - Slot for the start view.\n- **end** - Slot for the end view.\n- **divider** - Slot for the divider.\n\n### **CSS Properties:**\n - **--wje-split-view-divider-area** - Defines the interactive area (hitbox) of the divider for resizing. Accepts any valid CSS length unit (e.g., `px`, `rem`, `%`). _(default: 12px)_\n- **--wje-split-view-divider-width** - Specifies the visual width of the divider. Controls how thick the divider appears. _(default: 4px)_\n- **--wje-split-view-min** - Sets the minimum size limit for the split views. Ensures that a view cannot be resized below this value. _(default: 0%)_\n- **--wje-split-view-max** - Sets the maximum size limit for the split views. Ensures that a view cannot be resized beyond this value. _(default: 100%)_\n- **--wje-split-view-calc-a** - Represents the calculated size of the first view. This is used to dynamically set the size of the first view. _(default: 50%)_\n- **--wje-split-view-calc-b** - Represents the calculated size of the second view. This is used to dynamically set the size of the second view. _(default: 50%)_\n- **--wje-split-view-clamp-a** - Clamps the size of the first view between minimum and maximum limits. Ensures the calculated size stays within the defined range. _(default: clamp(var(--wje-split-view-min), var(--wje-split-view-calc-a), var(--wje-split-view-max)))_\n- **--wje-split-view-clamp-b** - Clamps the size of the second view between minimum and maximum limits. Ensures the calculated size stays within the defined range. _(default: clamp(var(--wje-split-view-min), var(--wje-split-view-calc-b), var(--wje-split-view-max)))_\n- **--wje-split-view-divider-background** - Sets the background color of the divider. Accepts any valid CSS color value (e.g., hex, RGB, or CSS variable). _(default: var(--wje-border-color))_\n- **--wje-split-view-divider-size** - Defines the overall size of the divider, affecting both its visual and interactive dimensions. Accepts any valid CSS length unit. _(default: 4px)_\n\n### **CSS Parts:**\n - **wje-divider** - The divider of the split view.",
3229
+ "doc-url": "",
3230
+ "attributes": [],
3231
+ "slots": [
3232
+ { "name": "start", "description": "Slot for the start view." },
3233
+ { "name": "end", "description": "Slot for the end view." },
3234
+ { "name": "divider", "description": "Slot for the divider." }
3235
+ ],
3236
+ "events": [],
3237
+ "js": {
3238
+ "properties": [
3239
+ { "name": "initial" },
3240
+ { "name": "className", "type": "string" },
3241
+ { "name": "handleDrag", "description": "Handles the drag event." }
3242
+ ],
3243
+ "events": []
3244
+ }
3245
+ },
3182
3246
  {
3183
3247
  "name": "wje-sliding-container",
3184
3248
  "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.",
@@ -3451,60 +3515,16 @@
3451
3515
  "description": "This element represents a step.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of observed attributes.\n\n### **Slots:**\n - _default_ - The default slot for the step.\n\n### **CSS Parts:**\n - **native** - The native part of the step.",
3452
3516
  "doc-url": "",
3453
3517
  "attributes": [],
3454
- "slots": [
3455
- { "name": "", "description": "The default slot for the step." }
3456
- ],
3457
- "events": [],
3458
- "js": {
3459
- "properties": [
3460
- {
3461
- "name": "className",
3462
- "description": "The class name for the component.",
3463
- "type": "string"
3464
- }
3465
- ],
3466
- "events": []
3467
- }
3468
- },
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" } }
3518
+ "slots": [
3519
+ { "name": "", "description": "The default slot for the step." }
3480
3520
  ],
3481
3521
  "events": [],
3482
3522
  "js": {
3483
3523
  "properties": [
3484
3524
  {
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."
3525
+ "name": "className",
3526
+ "description": "The class name for the component.",
3527
+ "type": "string"
3508
3528
  }
3509
3529
  ],
3510
3530
  "events": []
@@ -3565,21 +3585,35 @@
3565
3585
  }
3566
3586
  },
3567
3587
  {
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.",
3588
+ "name": "wje-tab-group",
3589
+ "description": "This element represents a group of tabs.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Sets up the event listeners before the component is drawn.\nThis method is called before the component is drawn.\nIt is used to set up event listeners.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing a structured layout for a tab group.\nThe tab group layout includes a `header` section with navigational elements,\na `section` element for tab panels, and slots for customization such as additional navigation items,\ndropdowns, and more.\nThe structure comprises:\n- A `div` container with relevant styling and part attributes.\n- A `header` for tabs, including a slot for navigation (`nav`) and additional tabs in a dropdown (`moreDropdown`).\n- A `section` for tab panels with a customizable `slot`.\nThis function also initializes the `nav` and `moreDropdown` properties for external use.\n- **afterDraw(): _void_** - Executes necessary initializations and attaches event listeners after a drawing operation.\nHandles active tab selection, 'wje-tab:change' event binding, and window resize event for overflow checking.\n- **removeActiveTab(): _void_** - Removes the 'active' class from all panel and tab elements.\n- **setActiveTab(tab: _string_)** - Sets the active tab and panel.\n- **getActiveTab(): _Element|null_** - Returns the currently active tab.\n- **getTabAll(): _Array<Element>_** - Returns all tabs.\n- **getAllTabs(): _Array<Element>_** - Returns all tabs, including those moved to \"more\".\n- **getPanelAll(): _Array<Element>_** - Returns all panels.\n- **getPanelAllName(): _Array<string>_** - Returns the names of all tabs.\n- **toggleMoreVisibility(): _void_** - Toggles the visibility of the \"more\" dropdown based on the presence of tabs in the \"more\" slot.\n- **initTabMetrics(): _void_** - Initializes metrics for tabs within the component. Assigns each tab to the navigation slot\nand calculates their dimensions for further operations.\n- **measureTabMetrics(): _Array<{el: Element, width: number}>_** - Measures current tab widths while all tabs are temporarily placed into the main nav slot.\n- **measureMoreWidth(): _void_** - Stores the measured width of the more dropdown trigger when available.\n- **checkOverflow(): _void_** - Checks if the tabs within a navigation bar overflow the available space.\nMoves overflowing tabs into a dropdown menu and updates their state accordingly.\n- **dropdownActive(el: _HTMLElement_): _void_** - Toggles the \"dropdown-active\" class on the element based on its \"active\" status\nand the value of its \"slot\" attribute.\n- **syncAria()** - Syncs ARIA attributes on tabs and panels.\n\n### **Slots:**\n - _default_ - The default slot for the tab group.\n- **nav** - Slot for the navigation of the tab group.\n\n### **CSS Properties:**\n - **--wje-tab-group-padding** - Specifies the padding inside the tab group. This property defines the space between the content of the tab group and its outer boundary. Accepts any valid CSS length unit (e.g., `px`, `rem`, `em`, `%`). _(default: 1rem)_",
3570
3590
  "doc-url": "",
3571
3591
  "attributes": [],
3572
3592
  "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." }
3593
+ {
3594
+ "name": "",
3595
+ "description": "The default slot for the tab group."
3596
+ },
3597
+ {
3598
+ "name": "nav",
3599
+ "description": "Slot for the navigation of the tab group."
3600
+ }
3576
3601
  ],
3577
3602
  "events": [],
3578
3603
  "js": {
3579
3604
  "properties": [
3580
- { "name": "initial" },
3605
+ {
3606
+ "name": "variant",
3607
+ "description": "Gets the value of the 'variant' attribute.\nIf the attribute is not set, it defaults to 'top'."
3608
+ },
3609
+ {
3610
+ "name": "type",
3611
+ "description": "Retrieves the `type` attribute of the element.\nIf the `type` attribute is not set, it defaults to `'panel'`."
3612
+ },
3581
3613
  { "name": "className", "type": "string" },
3582
- { "name": "handleDrag", "description": "Handles the drag event." }
3614
+ { "name": "_lastNavWidth", "type": "null" },
3615
+ { "name": "_initialized", "type": "boolean" },
3616
+ { "name": "_moreWidth", "type": "number" }
3583
3617
  ],
3584
3618
  "events": []
3585
3619
  }
@@ -3615,40 +3649,6 @@
3615
3649
  "events": []
3616
3650
  }
3617
3651
  },
3618
- {
3619
- "name": "wje-tab-group",
3620
- "description": "This element represents a group of tabs.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Sets up the event listeners before the component is drawn.\nThis method is called before the component is drawn.\nIt is used to set up event listeners.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing a structured layout for a tab group.\nThe tab group layout includes a `header` section with navigational elements,\na `section` element for tab panels, and slots for customization such as additional navigation items,\ndropdowns, and more.\nThe structure comprises:\n- A `div` container with relevant styling and part attributes.\n- A `header` for tabs, including a slot for navigation (`nav`) and additional tabs in a dropdown (`moreDropdown`).\n- A `section` for tab panels with a customizable `slot`.\nThis function also initializes the `nav` and `moreDropdown` properties for external use.\n- **afterDraw(): _void_** - Executes necessary initializations and attaches event listeners after a drawing operation.\nHandles active tab selection, 'wje-tab:change' event binding, and window resize event for overflow checking.\n- **removeActiveTab(): _void_** - Removes the 'active' class from all panel and tab elements.\n- **setActiveTab(tab: _string_)** - Sets the active tab and panel.\n- **getActiveTab(): _Element|null_** - Returns the currently active tab.\n- **getTabAll(): _Array<Element>_** - Returns all tabs.\n- **getAllTabs(): _Array<Element>_** - Returns all tabs, including those moved to \"more\".\n- **getPanelAll(): _Array<Element>_** - Returns all panels.\n- **getPanelAllName(): _Array<string>_** - Returns the names of all tabs.\n- **toggleMoreVisibility(): _void_** - Toggles the visibility of the \"more\" dropdown based on the presence of tabs in the \"more\" slot.\n- **initTabMetrics(): _void_** - Initializes metrics for tabs within the component. Assigns each tab to the navigation slot\nand calculates their dimensions for further operations.\n- **measureTabMetrics(): _Array<{el: Element, width: number}>_** - Measures current tab widths while all tabs are temporarily placed into the main nav slot.\n- **measureMoreWidth(): _void_** - Stores the measured width of the more dropdown trigger when available.\n- **checkOverflow(): _void_** - Checks if the tabs within a navigation bar overflow the available space.\nMoves overflowing tabs into a dropdown menu and updates their state accordingly.\n- **dropdownActive(el: _HTMLElement_): _void_** - Toggles the \"dropdown-active\" class on the element based on its \"active\" status\nand the value of its \"slot\" attribute.\n- **syncAria()** - Syncs ARIA attributes on tabs and panels.\n\n### **Slots:**\n - _default_ - The default slot for the tab group.\n- **nav** - Slot for the navigation of the tab group.\n\n### **CSS Properties:**\n - **--wje-tab-group-padding** - Specifies the padding inside the tab group. This property defines the space between the content of the tab group and its outer boundary. Accepts any valid CSS length unit (e.g., `px`, `rem`, `em`, `%`). _(default: 1rem)_",
3621
- "doc-url": "",
3622
- "attributes": [],
3623
- "slots": [
3624
- {
3625
- "name": "",
3626
- "description": "The default slot for the tab group."
3627
- },
3628
- {
3629
- "name": "nav",
3630
- "description": "Slot for the navigation of the tab group."
3631
- }
3632
- ],
3633
- "events": [],
3634
- "js": {
3635
- "properties": [
3636
- {
3637
- "name": "variant",
3638
- "description": "Gets the value of the 'variant' attribute.\nIf the attribute is not set, it defaults to 'top'."
3639
- },
3640
- {
3641
- "name": "type",
3642
- "description": "Retrieves the `type` attribute of the element.\nIf the `type` attribute is not set, it defaults to `'panel'`."
3643
- },
3644
- { "name": "className", "type": "string" },
3645
- { "name": "_lastNavWidth", "type": "null" },
3646
- { "name": "_initialized", "type": "boolean" },
3647
- { "name": "_moreWidth", "type": "number" }
3648
- ],
3649
- "events": []
3650
- }
3651
- },
3652
3652
  {
3653
3653
  "name": "wje-textarea",
3654
3654
  "description": "This element represents a textarea input.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the textarea.\n- **afterDraw()** - Sets up the event listeners after the component is drawn.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Disconnects the component.\n\n### **CSS Properties:**\n - **--wje-textarea-font-family** - Specifies the font family used for the textarea. Accepts any valid CSS font-family value. _(default: var(--wje-font-family))_\n- **--wje-textarea-background-color** - Sets the background color of the textarea. Accepts any valid CSS color value. _(default: var(--wje-background))_\n- **--wje-textarea-color** - Defines the text color within the textarea. Accepts any valid CSS color value. _(default: var(--wje-color))_\n- **--wje-textarea-color-invalid** - Changes the text color of the textarea when it is invalid. Useful for highlighting validation errors. _(default: var(--wje-color-danger))_\n- **--wje-textarea-error-background-color** - Controls the background color of the validation error bubble. _(default: var(--wje-tooltip-background))_\n- **--wje-textarea-error-color** - Controls the text color of the validation error bubble. _(default: var(--wje-tooltip-color))_\n- **--wje-textarea-border-width** - Specifies the width of the textarea's border. Accepts any valid CSS length unit. _(default: 1px)_\n- **--wje-textarea-border-style** - Sets the style of the textarea's border. Accepts standard CSS border styles such as `solid`, `dashed`, or `dotted`. _(default: solid)_\n- **--wje-textarea-border-color** - Defines the border color of the textarea. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-textarea-border-color-focus** - Specifies the border color of the textarea when it is focused. Enhances the user experience by providing visual feedback. _(default: var(--wje-color-primary))_\n- **--wje-textarea-border-radius** - Determines the border radius of the textarea, defining how rounded its corners are. Accepts any valid CSS length unit. _(default: 4px)_\n- **--wje-textarea-margin-bottom** - Sets the bottom margin of the textarea. Ensures spacing between the textarea and other elements. _(default: .5rem)_\n- **--wje-textarea-line-height** - Specifies the line height of the text within the textarea. Helps control the vertical spacing of the text. _(default: 20px)_\n- **--wje-textarea-padding** - Defines the padding inside the textarea. Controls the spacing between the content and the border. _(default: 0.5rem)_\n\n### **CSS Parts:**\n - **native** - The native textarea wrapper.\n- **input** - The textarea input.\n- **wrapper** - The textarea wrapper.",
@@ -3696,22 +3696,19 @@
3696
3696
  }
3697
3697
  },
3698
3698
  {
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))_",
3699
+ "name": "wje-tab-panel",
3700
+ "description": "This element represents a tab panel.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab panel.\n\n### **Slots:**\n - _default_ - The default slot for the tab panel.",
3701
3701
  "doc-url": "",
3702
3702
  "attributes": [],
3703
3703
  "slots": [
3704
- {
3705
- "name": "thumbnail-slot",
3706
- "description": "The slot for the thumbnail content."
3707
- }
3704
+ { "name": "", "description": "The default slot for the tab panel." }
3708
3705
  ],
3709
3706
  "events": [],
3710
3707
  "js": {
3711
3708
  "properties": [
3712
3709
  {
3713
3710
  "name": "className",
3714
- "description": "The class name for the component",
3711
+ "description": "The class name for the component.",
3715
3712
  "type": "string"
3716
3713
  }
3717
3714
  ],
@@ -3719,12 +3716,12 @@
3719
3716
  }
3720
3717
  },
3721
3718
  {
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.",
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.",
3724
3721
  "doc-url": "",
3725
3722
  "attributes": [],
3726
3723
  "slots": [
3727
- { "name": "", "description": "The default slot for the tab panel." }
3724
+ { "name": "", "description": "Slot for the timeline items." }
3728
3725
  ],
3729
3726
  "events": [],
3730
3727
  "js": {
@@ -3738,6 +3735,29 @@
3738
3735
  "events": []
3739
3736
  }
3740
3737
  },
3738
+ {
3739
+ "name": "wje-thumbnail",
3740
+ "description": "Thumbnail class\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the thumbnail.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **Slots:**\n - **thumbnail-slot** - The slot for the thumbnail content.\n\n### **CSS Properties:**\n - **--wje-thumbnail-width** - Defines the width of the thumbnail. Accepts any valid CSS length unit such as `px`, `rem`, or `%`. _(default: 48px)_\n- **--wje-thumbnail-height** - Specifies the height of the thumbnail. Accepts any valid CSS length unit. _(default: 48px)_\n- **--wje-thumbnail-border-radius** - Sets the border radius of the thumbnail, determining how rounded its corners appear. Accepts any valid CSS length unit or CSS variable. _(default: var(--wje-border-radius-medium))_",
3741
+ "doc-url": "",
3742
+ "attributes": [],
3743
+ "slots": [
3744
+ {
3745
+ "name": "thumbnail-slot",
3746
+ "description": "The slot for the thumbnail content."
3747
+ }
3748
+ ],
3749
+ "events": [],
3750
+ "js": {
3751
+ "properties": [
3752
+ {
3753
+ "name": "className",
3754
+ "description": "The class name for the component",
3755
+ "type": "string"
3756
+ }
3757
+ ],
3758
+ "events": []
3759
+ }
3760
+ },
3741
3761
  {
3742
3762
  "name": "wje-timeline-item",
3743
3763
  "description": "This element represents a timeline item.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the timeline item.\n\n### **Slots:**\n - _default_ - Slot for the content of the timeline item.\n- **status** - Slot for the status of the timeline item.\n\n### **CSS Parts:**\n - **native** - The native part of the timeline item.\n- **content-container** - The content container part of the timeline item.\n- **default-icon** - The default icon part of the timeline item.",
@@ -3893,12 +3913,16 @@
3893
3913
  }
3894
3914
  },
3895
3915
  {
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.",
3916
+ "name": "wje-toolbar",
3917
+ "description": "This element represents a toolbar.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the toolbar.\n- **afterDraw()** - Initializes responsive layout observers.\n- **afterDisconnect()** - Cleans up responsive layout observers.\n- **syncAria()** - Sync ARIA attributes on host.\n- **scheduleResponsiveLayout()** - Schedules responsive layout recalculation.\n- **updateResponsiveLayout(): _Promise<void>_** - Updates slotted breadcrumbs and actions to fit the toolbar width.\n- **measureBreadcrumbs(breadcrumbs: _HTMLElement_): _Promise<{count: number, fullWidth: number, compactWidth: number}>_** - Measures breadcrumbs in their full state.\n- **ensureBreadcrumbState(breadcrumbs: _HTMLElement_, count: _number_): _{compactMaxItems: number}_** - Stores original breadcrumb settings used as responsive compact target.\n- **setBreadcrumbCompactState(breadcrumbs: _HTMLElement|null_, compact: _boolean_)** - Applies the compact or full breadcrumb state.\n- **setBreadcrumbMaxItems(breadcrumbs: _HTMLElement_, value: _number_)** - Sets breadcrumb max-items only when it changed.\n- **getVisibleActionsForWidth(actionMetrics: _object_, width: _number_): _number_** - Finds how many actions fit into the available width.\n- **setVisibleActions(action: _HTMLElement|null_, count: _number_)** - Applies visible action count.\n- **clearVisibleActions(action: _HTMLElement|null_)** - Clears toolbar-managed visible action state when actions manage themselves.\n- **getToolbarAction(): _HTMLElement|null_** - Returns the slotted toolbar action.\n- **getBreadcrumbs(): _HTMLElement|null_** - Returns the slotted breadcrumbs.\n- **isSelfManagedAction(action: _HTMLElement|null_): _boolean_** - Returns whether toolbar actions are managed by their own breakpoint logic.\n- **isSelfManagedBreadcrumbs(breadcrumbs: _HTMLElement|null_, action): _boolean_** - Returns whether breadcrumb collapse is managed by its own breakpoint logic.\n- **nextFrame(): _Promise<void>_** - Waits for one animation frame.\n\n### **Slots:**\n - **start** - The start slot for the toolbar.\n- **end** - The end slot for the toolbar.\n\n### **CSS Properties:**\n - **--wje-toolbar-background** - Specifies the background color of the toolbar. Accepts any valid CSS color value, such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-background))_\n- **--wje-toolbar-height** - Defines the height of the toolbar. If set to `auto`, the height adjusts based on the content. _(default: auto)_\n- **--wje-toolbar-min-height** - Sets the minimum height of the toolbar. Ensures the toolbar maintains a consistent minimum size. _(default: 70px)_\n- **--wje-toolbar-padding-top** - Specifies the padding at the top of the toolbar. Accepts any valid CSS length unit. _(default: 1rem)_\n- **--wje-toolbar-padding-bottom** - Specifies the padding at the bottom of the toolbar. Helps create spacing between the content and the bottom edge. _(default: 1rem)_\n- **--wje-toolbar-padding-inline** - Defines the horizontal padding (left and right) of the toolbar. Creates consistent spacing on both sides. _(default: 1.5rem)_\n- **--wje-toolbar-margin-block** - Defines the vertical margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-margin-inline** - Defines the horizontal margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-border-color** - Sets the color of the toolbar's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-toolbar-top** - Specifies the vertical position of the toolbar relative to its container. Useful for fixed or sticky toolbars. _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The native toolbar wrapper.",
3898
3918
  "doc-url": "",
3899
3919
  "attributes": [],
3900
3920
  "slots": [
3901
- { "name": "", "description": "Slot for the timeline items." }
3921
+ {
3922
+ "name": "start",
3923
+ "description": "The start slot for the toolbar."
3924
+ },
3925
+ { "name": "end", "description": "The end slot for the toolbar." }
3902
3926
  ],
3903
3927
  "events": [],
3904
3928
  "js": {
@@ -3907,7 +3931,9 @@
3907
3931
  "name": "className",
3908
3932
  "description": "The class name for the component.",
3909
3933
  "type": "string"
3910
- }
3934
+ },
3935
+ { "name": "_breadcrumbState" },
3936
+ { "name": "_responsiveFrame", "type": "null" }
3911
3937
  ],
3912
3938
  "events": []
3913
3939
  }
@@ -3951,27 +3977,53 @@
3951
3977
  }
3952
3978
  },
3953
3979
  {
3954
- "name": "wje-toolbar",
3955
- "description": "This element represents a toolbar.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the toolbar.\n- **afterDraw()** - Initializes responsive layout observers.\n- **afterDisconnect()** - Cleans up responsive layout observers.\n- **syncAria()** - Sync ARIA attributes on host.\n- **scheduleResponsiveLayout()** - Schedules responsive layout recalculation.\n- **updateResponsiveLayout(): _Promise<void>_** - Updates slotted breadcrumbs and actions to fit the toolbar width.\n- **measureBreadcrumbs(breadcrumbs: _HTMLElement_): _Promise<{count: number, fullWidth: number, compactWidth: number}>_** - Measures breadcrumbs in their full state.\n- **ensureBreadcrumbState(breadcrumbs: _HTMLElement_, count: _number_): _{compactMaxItems: number}_** - Stores original breadcrumb settings used as responsive compact target.\n- **setBreadcrumbCompactState(breadcrumbs: _HTMLElement|null_, compact: _boolean_)** - Applies the compact or full breadcrumb state.\n- **setBreadcrumbMaxItems(breadcrumbs: _HTMLElement_, value: _number_)** - Sets breadcrumb max-items only when it changed.\n- **getVisibleActionsForWidth(actionMetrics: _object_, width: _number_): _number_** - Finds how many actions fit into the available width.\n- **setVisibleActions(action: _HTMLElement|null_, count: _number_)** - Applies visible action count.\n- **clearVisibleActions(action: _HTMLElement|null_)** - Clears toolbar-managed visible action state when actions manage themselves.\n- **getToolbarAction(): _HTMLElement|null_** - Returns the slotted toolbar action.\n- **getBreadcrumbs(): _HTMLElement|null_** - Returns the slotted breadcrumbs.\n- **isSelfManagedAction(action: _HTMLElement|null_): _boolean_** - Returns whether toolbar actions are managed by their own breakpoint logic.\n- **isSelfManagedBreadcrumbs(breadcrumbs: _HTMLElement|null_, action): _boolean_** - Returns whether breadcrumb collapse is managed by its own breakpoint logic.\n- **nextFrame(): _Promise<void>_** - Waits for one animation frame.\n\n### **Slots:**\n - **start** - The start slot for the toolbar.\n- **end** - The end slot for the toolbar.\n\n### **CSS Properties:**\n - **--wje-toolbar-background** - Specifies the background color of the toolbar. Accepts any valid CSS color value, such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-background))_\n- **--wje-toolbar-height** - Defines the height of the toolbar. If set to `auto`, the height adjusts based on the content. _(default: auto)_\n- **--wje-toolbar-min-height** - Sets the minimum height of the toolbar. Ensures the toolbar maintains a consistent minimum size. _(default: 70px)_\n- **--wje-toolbar-padding-top** - Specifies the padding at the top of the toolbar. Accepts any valid CSS length unit. _(default: 1rem)_\n- **--wje-toolbar-padding-bottom** - Specifies the padding at the bottom of the toolbar. Helps create spacing between the content and the bottom edge. _(default: 1rem)_\n- **--wje-toolbar-padding-inline** - Defines the horizontal padding (left and right) of the toolbar. Creates consistent spacing on both sides. _(default: 1.5rem)_\n- **--wje-toolbar-margin-block** - Defines the vertical margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-margin-inline** - Defines the horizontal margin outside the toolbar. Accepts any valid CSS length value. _(default: 0)_\n- **--wje-toolbar-border-color** - Sets the color of the toolbar's border. Accepts any valid CSS color value. _(default: var(--wje-border-color))_\n- **--wje-toolbar-top** - Specifies the vertical position of the toolbar relative to its container. Useful for fixed or sticky toolbars. _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The native toolbar wrapper.",
3980
+ "name": "wje-tooltip",
3981
+ "description": "This element represents a tooltip.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the tooltip.\n- **afterDraw()** - Draws the component for the tooltip.\n- **checkSelector(anchorEl: _HTMLElement_): _HTMLElement|null_** - Validates if the specified selector exists within the provided element.\nLogs an error if the selector is not found and returns the found element or `null`.\n\n### **Slots:**\n - **arrow** - The arrow slot for the tooltip.\n- **anchor** - The anchor slot for the tooltip.\n\n### **CSS Properties:**\n - **--wje-tooltip-arrow-color** - Specifies the color of the tooltip's arrow. This property determines the visual color of the arrow that points to the element the tooltip is attached to. Accepts any valid CSS color value such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-color-contrast-11))_\n\n### **CSS Parts:**\n - **native** - The native tooltip wrapper.",
3956
3982
  "doc-url": "",
3957
- "attributes": [],
3983
+ "attributes": [
3984
+ { "name": "active", "value": { "type": "string" } },
3985
+ {
3986
+ "name": "content",
3987
+ "description": "The content of the tooltip element. Accepts any valid string value.",
3988
+ "value": { "type": "string" }
3989
+ }
3990
+ ],
3958
3991
  "slots": [
3959
3992
  {
3960
- "name": "start",
3961
- "description": "The start slot for the toolbar."
3993
+ "name": "arrow",
3994
+ "description": "The arrow slot for the tooltip."
3962
3995
  },
3963
- { "name": "end", "description": "The end slot for the toolbar." }
3996
+ {
3997
+ "name": "anchor",
3998
+ "description": "The anchor slot for the tooltip."
3999
+ }
3964
4000
  ],
3965
4001
  "events": [],
3966
4002
  "js": {
3967
4003
  "properties": [
4004
+ {
4005
+ "name": "dependencies",
4006
+ "description": "Dependencies of the Button element.",
4007
+ "type": "object"
4008
+ },
4009
+ {
4010
+ "name": "content",
4011
+ "description": "Get active attribute for the tooltip element."
4012
+ },
3968
4013
  {
3969
4014
  "name": "className",
3970
4015
  "description": "The class name for the component.",
3971
4016
  "type": "string"
3972
4017
  },
3973
- { "name": "_breadcrumbState" },
3974
- { "name": "_responsiveFrame", "type": "null" }
4018
+ { "name": "popupHideCallback" },
4019
+ {
4020
+ "name": "onShow",
4021
+ "description": "Handles the logic for showing the component's popup or tooltip.\nAdds the `active` class, invokes lifecycle hooks, and manages the popup visibility."
4022
+ },
4023
+ {
4024
+ "name": "onHide",
4025
+ "description": "Hides the component's popup or tooltip.\nRemoves the `active` class from the component and hides the popup element."
4026
+ }
3975
4027
  ],
3976
4028
  "events": []
3977
4029
  }
@@ -4065,52 +4117,31 @@
4065
4117
  }
4066
4118
  },
4067
4119
  {
4068
- "name": "wje-tooltip",
4069
- "description": "This element represents a tooltip.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the tooltip.\n- **afterDraw()** - Draws the component for the tooltip.\n- **checkSelector(anchorEl: _HTMLElement_): _HTMLElement|null_** - Validates if the specified selector exists within the provided element.\nLogs an error if the selector is not found and returns the found element or `null`.\n\n### **Slots:**\n - **arrow** - The arrow slot for the tooltip.\n- **anchor** - The anchor slot for the tooltip.\n\n### **CSS Properties:**\n - **--wje-tooltip-arrow-color** - Specifies the color of the tooltip's arrow. This property determines the visual color of the arrow that points to the element the tooltip is attached to. Accepts any valid CSS color value such as `hex`, `rgb`, or `CSS variable`. _(default: var(--wje-color-contrast-11))_\n\n### **CSS Parts:**\n - **native** - The native tooltip wrapper.",
4120
+ "name": "wje-tree",
4121
+ "description": "This element visually represents a tree structure, supporting single or multiple selection modes and hierarchy management.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - A method called before the drawing or rendering process of tree items.\nIt iterates through all `wje-tree-item` elements, updating their selection state\nand managing their expand/collapse icons accordingly.\n- **draw(): _object_** - Draw method for the toast notification.\n- **afterDraw(): _void_** - Called after the draw process of the component is completed.\nTypically used to add event listeners or perform operations\nthat are dependent on the component's drawn state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getAllItems(): _Array<Element>_** - Retrieves all items that match the selector 'wje-tree-item' within the current context.\n- **getExpandCollapseIcon(item: _HTMLElement_, status: _string_): _void_** - Retrieves and appends an expand/collapse icon to a given item based on the provided status.\n- **updateCheckboxState(changedItem: _object_, isInitialSync: _boolean_): _void_** - Updates the state of a checkbox, syncing the state both upwards to parent elements\nand downwards to child elements as necessary.\n- **updateParentState(item: _object_): _void_** - Updates the state of the parent item based on the state of its child items.\nRecursively propagates changes up to all parent items to reflect the selection\nor indeterminate state accurately.\n- **propagateStateUpwards(item: _HTMLElement_): _void_** - Propagates the state changes of an item upwards through its ancestors in the hierarchy.\nCalls the `updateParentState` method for each parent element until no parent exists.\n- **propagateStateDownwards(item: _object_): _void_** - Propagates the selected state of an item to its children recursively. Depending on the `isInitialSync` flag,\nit also determines how the state should be applied to the child items and updates the parent state if needed.\n\n### **Slots:**\n - _default_ - The default slot to place `wje-tree-item` child components.\n\n### **CSS Parts:**\n - **native** - The native container part of the tree.",
4070
4122
  "doc-url": "",
4071
- "attributes": [
4072
- { "name": "active", "value": { "type": "string" } },
4073
- {
4074
- "name": "content",
4075
- "description": "The content of the tooltip element. Accepts any valid string value.",
4076
- "value": { "type": "string" }
4077
- }
4078
- ],
4123
+ "attributes": [],
4079
4124
  "slots": [
4080
4125
  {
4081
- "name": "arrow",
4082
- "description": "The arrow slot for the tooltip."
4083
- },
4084
- {
4085
- "name": "anchor",
4086
- "description": "The anchor slot for the tooltip."
4126
+ "name": "",
4127
+ "description": "The default slot to place `wje-tree-item` child components."
4087
4128
  }
4088
4129
  ],
4089
4130
  "events": [],
4090
4131
  "js": {
4091
4132
  "properties": [
4092
4133
  {
4093
- "name": "dependencies",
4094
- "description": "Dependencies of the Button element.",
4095
- "type": "object"
4096
- },
4097
- {
4098
- "name": "content",
4099
- "description": "Get active attribute for the tooltip element."
4134
+ "name": "selection",
4135
+ "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
4100
4136
  },
4101
4137
  {
4102
4138
  "name": "className",
4103
4139
  "description": "The class name for the component.",
4104
4140
  "type": "string"
4105
4141
  },
4106
- { "name": "popupHideCallback" },
4107
- {
4108
- "name": "onShow",
4109
- "description": "Handles the logic for showing the component's popup or tooltip.\nAdds the `active` class, invokes lifecycle hooks, and manages the popup visibility."
4110
- },
4111
4142
  {
4112
- "name": "onHide",
4113
- "description": "Hides the component's popup or tooltip.\nRemoves the `active` class from the component and hides the popup element."
4143
+ "name": "handleClick",
4144
+ "description": "Handles the click event triggered by the user interaction.\nIdentifies the closest tree item element to the event target and sets it\nas the selected item. Ensures that only one item is selected at a time, resetting\nthe selection state for all other items."
4114
4145
  }
4115
4146
  ],
4116
4147
  "events": []
@@ -4138,37 +4169,6 @@
4138
4169
  ],
4139
4170
  "events": []
4140
4171
  }
4141
- },
4142
- {
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.",
4145
- "doc-url": "",
4146
- "attributes": [],
4147
- "slots": [
4148
- {
4149
- "name": "",
4150
- "description": "The default slot to place `wje-tree-item` child components."
4151
- }
4152
- ],
4153
- "events": [],
4154
- "js": {
4155
- "properties": [
4156
- {
4157
- "name": "selection",
4158
- "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
4159
- },
4160
- {
4161
- "name": "className",
4162
- "description": "The class name for the component.",
4163
- "type": "string"
4164
- },
4165
- {
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."
4168
- }
4169
- ],
4170
- "events": []
4171
- }
4172
4172
  }
4173
4173
  ]
4174
4174
  }