wj-elements 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3842 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
+ "name": "wj-elements",
4
+ "version": "0.4.2",
5
+ "description-markup": "markdown",
6
+ "contributions": {
7
+ "html": {
8
+ "elements": [
9
+ {
10
+ "name": "wje-accordion",
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.",
12
+ "doc-url": "",
13
+ "attributes": [
14
+ {
15
+ "name": "multiple",
16
+ "description": "Allows multiple accordion items to stay expanded at the same time.",
17
+ "value": { "type": "boolean" }
18
+ },
19
+ {
20
+ "name": "index",
21
+ "description": "Sets which child accordion item should start expanded based on DOM order.",
22
+ "value": { "type": "number" }
23
+ }
24
+ ],
25
+ "slots": [
26
+ {
27
+ "name": "default",
28
+ "description": "Slot for direct `wje-accordion-item` children."
29
+ }
30
+ ],
31
+ "events": [],
32
+ "js": {
33
+ "properties": [
34
+ {
35
+ "name": "multiple",
36
+ "description": "Determines whether the element has the `multiple` attribute."
37
+ },
38
+ {
39
+ "name": "index",
40
+ "description": "Retrieves the value of the `index` attribute as a number."
41
+ },
42
+ {
43
+ "name": "className",
44
+ "description": "The class name for the Accordion element.",
45
+ "type": "string"
46
+ }
47
+ ],
48
+ "events": []
49
+ }
50
+ },
51
+ {
52
+ "name": "wje-accordion-item",
53
+ "description": "This class represents an Accordion Item element, extending the WJElement class.\n---\n\n\n### **Events:**\n - **wje-accordion-item:open** - Dispatched when the item is expanded.\n- **wje-accordion-item:close** - Dispatched when the item is collapsed.\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. _(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
+ {
82
+ "name": "wje-accordion-item:open",
83
+ "description": "Dispatched when the item is expanded."
84
+ },
85
+ {
86
+ "name": "wje-accordion-item:close",
87
+ "description": "Dispatched when the item is collapsed."
88
+ }
89
+ ],
90
+ "js": {
91
+ "properties": [
92
+ {
93
+ "name": "className",
94
+ "description": "The class name for the Accordion Item element.",
95
+ "type": "string"
96
+ }
97
+ ],
98
+ "events": [
99
+ {
100
+ "name": "wje-accordion-item:open",
101
+ "description": "Dispatched when the item is expanded."
102
+ },
103
+ {
104
+ "name": "wje-accordion-item:close",
105
+ "description": "Dispatched when the item is collapsed."
106
+ }
107
+ ]
108
+ }
109
+ },
110
+ {
111
+ "name": "wje-animation",
112
+ "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.",
113
+ "doc-url": "",
114
+ "attributes": [
115
+ {
116
+ "name": "name",
117
+ "description": "The Animate.css animation name played on the slotted element.",
118
+ "value": { "type": "string" }
119
+ },
120
+ {
121
+ "name": "duration",
122
+ "description": "The animation playback duration in milliseconds.",
123
+ "value": { "type": "number" }
124
+ },
125
+ {
126
+ "name": "delay",
127
+ "description": "The delay before the animation starts.",
128
+ "value": { "type": "number" }
129
+ },
130
+ {
131
+ "name": "endDelay",
132
+ "description": "The delay applied after the animation completes.",
133
+ "value": { "type": "number" }
134
+ },
135
+ {
136
+ "name": "fill",
137
+ "description": "The fill mode used by the animation playback.",
138
+ "value": { "type": "string" }
139
+ },
140
+ {
141
+ "name": "iterations",
142
+ "description": "The number of animation repetitions.",
143
+ "value": { "type": "string|number" }
144
+ },
145
+ {
146
+ "name": "iterationStart",
147
+ "description": "The starting offset for the first animation iteration.",
148
+ "value": { "type": "number" }
149
+ },
150
+ {
151
+ "name": "direction",
152
+ "description": "The playback direction of the animation.",
153
+ "value": { "type": "string" }
154
+ },
155
+ {
156
+ "name": "easing",
157
+ "description": "The easing function used by the animation playback.",
158
+ "value": { "type": "string" }
159
+ }
160
+ ],
161
+ "slots": [
162
+ { "name": "", "description": "The animation main content." }
163
+ ],
164
+ "events": [],
165
+ "js": {
166
+ "properties": [
167
+ {
168
+ "name": "name",
169
+ "description": "Getter for the name attribute."
170
+ },
171
+ {
172
+ "name": "duration",
173
+ "description": "Getter for the name attribute."
174
+ },
175
+ {
176
+ "name": "delay",
177
+ "description": "Getter for the name attribute."
178
+ },
179
+ {
180
+ "name": "endDelay",
181
+ "description": "Getter for the name attribute."
182
+ },
183
+ {
184
+ "name": "fill",
185
+ "description": "Getter for the name attribute."
186
+ },
187
+ {
188
+ "name": "iterations",
189
+ "description": "Getter for the name attribute."
190
+ },
191
+ {
192
+ "name": "iterationStart",
193
+ "description": "Getter for the name attribute."
194
+ },
195
+ {
196
+ "name": "direction",
197
+ "description": "Getter for the name attribute."
198
+ },
199
+ {
200
+ "name": "easing",
201
+ "description": "Getter for the name attribute."
202
+ },
203
+ {
204
+ "name": "animations",
205
+ "description": "Getter for the animations' property."
206
+ },
207
+ {
208
+ "name": "className",
209
+ "description": "The class name for the Animation element.",
210
+ "type": "string"
211
+ },
212
+ { "name": "_animations", "type": "array" }
213
+ ],
214
+ "events": []
215
+ }
216
+ },
217
+ {
218
+ "name": "wje-aside",
219
+ "description": "This class represents an Aside element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Method to setup attributes for the Aside element.\n- **draw(): _object_** - Method to draw the Aside element.\n\n### **Slots:**\n - **default** - Slot for the aside content.\n\n### **CSS Properties:**\n - **--wje-aside-width** - Controls the width of the aside column. _(default: undefined)_\n- **--wje-aside-top** - Controls the top offset of a fixed aside. _(default: undefined)_\n- **--wje-aside-border-color** - Controls the border color of the aside. _(default: var(--wje-border-color))_\n- **--wje-aside-border-width** - Controls the border width of the aside. _(default: undefined)_\n- **--wje-aside-border-style** - Controls the border style of the aside. _(default: undefined)_",
220
+ "doc-url": "",
221
+ "attributes": [
222
+ {
223
+ "name": "width",
224
+ "description": "Sets the width of the aside column, typically through a CSS length or design token.",
225
+ "value": { "type": "string" }
226
+ },
227
+ {
228
+ "name": "top",
229
+ "description": "Sets the top offset used together with the `fixed` layout mode.",
230
+ "value": { "type": "string" }
231
+ },
232
+ {
233
+ "name": "fixed",
234
+ "description": "Pins the aside in a fixed desktop position instead of keeping it in normal flow.",
235
+ "value": { "type": "boolean" }
236
+ },
237
+ {
238
+ "name": "variant",
239
+ "description": "Selects an alternate layout variant such as the mobile `top-start` drawer style.",
240
+ "value": { "type": "string" }
241
+ }
242
+ ],
243
+ "slots": [
244
+ { "name": "default", "description": "Slot for the aside content." }
245
+ ],
246
+ "events": [],
247
+ "js": {
248
+ "properties": [
249
+ {
250
+ "name": "className",
251
+ "description": "The class name for the Aside element.",
252
+ "type": "string"
253
+ }
254
+ ],
255
+ "events": []
256
+ }
257
+ },
258
+ {
259
+ "name": "wje-avatar",
260
+ "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.",
261
+ "doc-url": "",
262
+ "attributes": [
263
+ {
264
+ "name": "initials",
265
+ "description": "Renders generated initials from `label` instead of the default slotted content.",
266
+ "value": { "type": "boolean" }
267
+ },
268
+ {
269
+ "name": "label",
270
+ "description": "Provides the source text for generated initials and the accessible label of the avatar.",
271
+ "value": { "type": "string" }
272
+ },
273
+ {
274
+ "name": "size",
275
+ "description": "Selects a predefined avatar size such as `small`, `medium`, `normal`, `large`, or larger variants.",
276
+ "value": { "type": "string" }
277
+ },
278
+ {
279
+ "name": "status-placement",
280
+ "description": "Positions the `status` slot on one of the avatar corners.",
281
+ "value": { "type": "string" }
282
+ }
283
+ ],
284
+ "slots": [
285
+ {
286
+ "name": "default",
287
+ "description": "Slot for the main avatar content, typically an image."
288
+ },
289
+ {
290
+ "name": "icon",
291
+ "description": "Slot for an icon rendered inside the avatar."
292
+ },
293
+ {
294
+ "name": "status",
295
+ "description": "Slot for a status badge or indicator positioned on the avatar edge."
296
+ },
297
+ {
298
+ "name": "secondary",
299
+ "description": "Slot for additional secondary content rendered with the avatar."
300
+ }
301
+ ],
302
+ "events": [],
303
+ "js": {
304
+ "properties": [
305
+ {
306
+ "name": "label",
307
+ "description": "Retrieves the value of the 'label' attribute for the element.\nIf the attribute is not set, it defaults to an empty string."
308
+ },
309
+ {
310
+ "name": "initials",
311
+ "description": "Retrieves the value of the 'initials' attribute if it exists."
312
+ },
313
+ {
314
+ "name": "size",
315
+ "description": "Retrieves the size attribute of the element. If the size attribute\nis not defined, it returns the default value 'medium'."
316
+ },
317
+ {
318
+ "name": "className",
319
+ "description": "Class name for the Avatar element.",
320
+ "type": "string"
321
+ }
322
+ ],
323
+ "events": []
324
+ }
325
+ },
326
+ {
327
+ "name": "wje-badge",
328
+ "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.",
329
+ "doc-url": "",
330
+ "attributes": [
331
+ {
332
+ "name": "color",
333
+ "description": "The color of the badge element. Accepts any valid string primary, secondary, success, danger, warning, info, default.",
334
+ "value": { "type": "string" }
335
+ }
336
+ ],
337
+ "slots": [{ "name": "", "description": "The badge's main content." }],
338
+ "events": [],
339
+ "js": {
340
+ "properties": [
341
+ {
342
+ "name": "className",
343
+ "description": "The class name for the Badge element.",
344
+ "type": "string"
345
+ }
346
+ ],
347
+ "events": []
348
+ }
349
+ },
350
+ {
351
+ "name": "wje-breadcrumbs",
352
+ "description": "This class represents a Breadcrumbs container, extending the WJElement class. It acts as a wrapper for individual breadcrumb elements and manages their behavior, such as collapsing and marking the last breadcrumb.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Breadcrumbs element.\n- **draw(): _object_** - Draw method for the Breadcrumbs element.\n- **afterDraw(): _void_** - Updates the breadcrumb elements after they are drawn on the page.\nIt manages attributes on breadcrumb items and handles the logic for collapsing breadcrumbs\nif the total exceeds the specified maximum items.\n- **getBreadcrumbs(): _Array<Element>_** - Retrieves all breadcrumb elements within the current instance.\n- **getBreadcrumbsCollapsed(): _Array<Element>_** - Retrieves all breadcrumb elements that have the 'collapsed' attribute.\n\n### **Slots:**\n - _default_ - The container for breadcrumb elements.\n\n### **CSS Parts:**\n - **container** - The component's container wrapper.",
353
+ "doc-url": "",
354
+ "attributes": [
355
+ {
356
+ "name": "max-items",
357
+ "description": "The maximum number of visible breadcrumbs before collapsing.",
358
+ "value": { "type": "number" }
359
+ },
360
+ {
361
+ "name": "items-before-collapse",
362
+ "description": "The number of breadcrumbs to show before the collapsed indicator.",
363
+ "value": { "type": "number" }
364
+ },
365
+ {
366
+ "name": "items-after-collapse",
367
+ "description": "The number of breadcrumbs to show after the collapsed indicator.",
368
+ "value": { "type": "number" }
369
+ }
370
+ ],
371
+ "slots": [
372
+ {
373
+ "name": "",
374
+ "description": "The container for breadcrumb elements."
375
+ }
376
+ ],
377
+ "events": [],
378
+ "js": {
379
+ "properties": [
380
+ {
381
+ "name": "variant",
382
+ "description": "Get variant attribute for the Breadcrumbs element."
383
+ },
384
+ {
385
+ "name": "maxItems",
386
+ "description": "Get items before collapse attribute."
387
+ },
388
+ {
389
+ "name": "itemsBeforeCollapse",
390
+ "description": "Get items before collapse attribute."
391
+ },
392
+ {
393
+ "name": "itemsAfterCollapse",
394
+ "description": "Get items after collapse attribute."
395
+ },
396
+ {
397
+ "name": "className",
398
+ "description": "Class name for the Breadcrumbs element.",
399
+ "type": "string"
400
+ },
401
+ {
402
+ "name": "last",
403
+ "description": "Last breadcrumb flag",
404
+ "type": "boolean"
405
+ }
406
+ ],
407
+ "events": []
408
+ }
409
+ },
410
+ {
411
+ "name": "wje-breadcrumb",
412
+ "description": "This class represents a Breadcrumb element, extending the WJElement class. It provides a navigational aid in user interfaces, displaying the current location within a hierarchy.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Breadcrumb element.\n- **draw(): _object_** - Draw method for the Breadcrumb element.\n- **drawCollapsedIndicator(): _any_** - Renders the collapsed indicator based on the current collapsed variant.\nIf the collapsed variant is 'DROPDOWN', it invokes the collapseDropdown method.\nOtherwise, it invokes the collapseButton method.\n- **collapseDropdown(): _HTMLElement_** - Creates and returns a dropdown UI component for collapsed breadcrumbs.\nThis method generates a dropdown element with a button trigger and a menu populated with items corresponding\nto the collapsed breadcrumbs. The dropdown is configured to handle specific interactions and ensure that\nevents are appropriately managed to avoid propagation issues. Menu items are linked to their corresponding\nbreadcrumbs, enabling the same functionality as clicking on the original breadcrumb.\n- **collapseButton(): _HTMLButtonElement_** - Creates a button element that expands hidden breadcrumbs when clicked.\nThe button is set with appropriate attributes and event listeners to handle\nthe expanding of hidden breadcrumb elements. Clicking the button will remove\nthe button itself, reveal hidden breadcrumbs, and stop the current event\npropagation.\n- **getBreadcrumbs(): _Element_** - Retrieves the breadcrumb trail for the current element by returning its parent element.\n\n### **Slots:**\n - _default_ - The main content of the breadcrumb.\n- **start** - Slot for content at the start of the breadcrumb.\n- **end** - Slot for content at the end of the breadcrumb.\n- **separator** - Slot for a custom separator between breadcrumb items.\n\n### **CSS Properties:**\n - **--wje-breadcrumb-a** - The color of the breadcrumb text. _(default: var(--wje-color-contrast-8))_\n- **--wje-breadcrumb-a-hover** - The color of the breadcrumb separator line. _(default: var(--wje-color-contrast-6))_\n\n### **CSS Parts:**\n - **native** - The native wrapper of the breadcrumb component.\n- **separator** - The separator between breadcrumb items.",
413
+ "doc-url": "",
414
+ "attributes": [
415
+ {
416
+ "name": "show-collapsed-indicator",
417
+ "value": { "type": "string" }
418
+ },
419
+ { "name": "collapsed", "value": { "type": "string" } },
420
+ { "name": "last", "value": { "type": "string" } }
421
+ ],
422
+ "slots": [
423
+ {
424
+ "name": "",
425
+ "description": "The main content of the breadcrumb."
426
+ },
427
+ {
428
+ "name": "start",
429
+ "description": "Slot for content at the start of the breadcrumb."
430
+ },
431
+ {
432
+ "name": "end",
433
+ "description": "Slot for content at the end of the breadcrumb."
434
+ },
435
+ {
436
+ "name": "separator",
437
+ "description": "Slot for a custom separator between breadcrumb items."
438
+ }
439
+ ],
440
+ "events": [],
441
+ "js": {
442
+ "properties": [
443
+ {
444
+ "name": "showSeparator",
445
+ "description": "Set show separator flag."
446
+ },
447
+ {
448
+ "name": "collapsedVariant",
449
+ "description": "Get collapsed variant."
450
+ },
451
+ {
452
+ "name": "className",
453
+ "description": "Class name for the Breadcrumb element.",
454
+ "type": "string"
455
+ },
456
+ { "name": "_showSeparator", "type": "boolean" },
457
+ { "name": "_showCollapsedIndicator", "type": "boolean" }
458
+ ],
459
+ "events": []
460
+ }
461
+ },
462
+ {
463
+ "name": "wje-button",
464
+ "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- **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.",
465
+ "doc-url": "",
466
+ "attributes": [
467
+ { "name": "disabled", "value": { "type": "string" } },
468
+ { "name": "color", "value": { "type": "string" } },
469
+ { "name": "value", "value": { "type": "string" } },
470
+ { "name": "active", "value": { "type": "string" } },
471
+ { "name": "href", "value": { "type": "string" } }
472
+ ],
473
+ "slots": [
474
+ { "name": "", "description": "The button main content." },
475
+ { "name": "icon", "description": "The button icon." },
476
+ { "name": "caret", "description": "The button caret." },
477
+ { "name": "start", "description": "The button start slot." },
478
+ { "name": "end", "description": "The button end slot." },
479
+ { "name": "toggle", "description": "The button toggle slot." }
480
+ ],
481
+ "events": [],
482
+ "js": {
483
+ "properties": [
484
+ {
485
+ "name": "dependencies",
486
+ "description": "Dependencies of the Button element.",
487
+ "type": "object"
488
+ },
489
+ {
490
+ "name": "color",
491
+ "description": "Get color of the Button element."
492
+ },
493
+ {
494
+ "name": "caret",
495
+ "description": "Get variant of the Button element."
496
+ },
497
+ {
498
+ "name": "round",
499
+ "description": "Retrieves the value of the 'round' attribute as a boolean.\nChecks if the 'round' attribute is present on the element."
500
+ },
501
+ {
502
+ "name": "tooltip",
503
+ "description": "Get variant of the Button element."
504
+ },
505
+ {
506
+ "name": "dialog",
507
+ "description": "Get variant of the Button element."
508
+ },
509
+ {
510
+ "name": "active",
511
+ "description": "Get active state of the Button element."
512
+ },
513
+ {
514
+ "name": "disabled",
515
+ "description": "Get disabled state of the Button element."
516
+ },
517
+ {
518
+ "name": "fill",
519
+ "description": "Get fill of the Button element."
520
+ },
521
+ {
522
+ "name": "outline",
523
+ "description": "Get outline state of the Button element."
524
+ },
525
+ {
526
+ "name": "stopPropagation",
527
+ "description": "Get stop propagation state of the Button element."
528
+ },
529
+ {
530
+ "name": "customEvent",
531
+ "description": "Retrieves the value of the 'custom-event' attribute from the element."
532
+ },
533
+ {
534
+ "name": "customEventParameters",
535
+ "description": "Retrieves a mapped object containing custom event parameters extracted from the element's attributes.\nAttributes considered are those that begin with 'custom-event-'.\nThe mapped object's keys are derived by removing the 'custom-event-' prefix from the attribute names,\nand the values are the corresponding attribute values."
536
+ },
537
+ {
538
+ "name": "className",
539
+ "description": "Class name for the Button element",
540
+ "type": "string"
541
+ },
542
+ {
543
+ "name": "eventDialogOpen",
544
+ "description": "Event dialog open method for the Button element."
545
+ },
546
+ {
547
+ "name": "toggleStates",
548
+ "description": "Toggle states method for the Button element."
549
+ }
550
+ ],
551
+ "events": []
552
+ }
553
+ },
554
+ {
555
+ "name": "wje-button-group",
556
+ "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.",
557
+ "doc-url": "",
558
+ "attributes": [],
559
+ "slots": [
560
+ { "name": "", "description": "The button group main content." }
561
+ ],
562
+ "events": [],
563
+ "js": {
564
+ "properties": [
565
+ {
566
+ "name": "active",
567
+ "description": "Retrieves the value of the 'active' attribute.\nIf the attribute is not set, it returns false."
568
+ },
569
+ {
570
+ "name": "color",
571
+ "description": "Retrieves the current value of the 'color' attribute.\nIf the 'color' attribute is not set, it defaults to 'primary'."
572
+ },
573
+ {
574
+ "name": "round",
575
+ "description": "Returns whether the element has the 'round' attribute."
576
+ },
577
+ {
578
+ "name": "fill",
579
+ "description": "Retrieves the 'fill' attribute of the element. If the 'fill' attribute is not set,\nit returns the default value 'link'."
580
+ },
581
+ {
582
+ "name": "className",
583
+ "description": "Class name for the ButtonGroup element",
584
+ "type": "string"
585
+ }
586
+ ],
587
+ "events": []
588
+ }
589
+ },
590
+ {
591
+ "name": "wje-card",
592
+ "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))_",
593
+ "doc-url": "",
594
+ "attributes": [
595
+ { "name": "label", "value": { "type": "string" } },
596
+ { "name": "aria-label", "value": { "type": "string" } },
597
+ { "name": "aria-labelledby", "value": { "type": "string" } }
598
+ ],
599
+ "slots": [{ "name": "", "description": "The card main content." }],
600
+ "events": [],
601
+ "js": {
602
+ "properties": [
603
+ {
604
+ "name": "className",
605
+ "description": "Class name for the Card element.",
606
+ "type": "string"
607
+ }
608
+ ],
609
+ "events": []
610
+ }
611
+ },
612
+ {
613
+ "name": "wje-card-content",
614
+ "description": "This class represents an Card Content element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the CardContent element.\n- **draw(): _object_** - Draw method for the CardContent element.\n\n### **Slots:**\n - _default_ - The card content main content.\n\n### **CSS Properties:**\n - **--wje-card-padding** - Padding of the component; _(default: 0)_",
615
+ "doc-url": "",
616
+ "attributes": [],
617
+ "slots": [
618
+ { "name": "", "description": "The card content main content." }
619
+ ],
620
+ "events": [],
621
+ "js": {
622
+ "properties": [
623
+ {
624
+ "name": "className",
625
+ "description": "Class name for the CardContent element.",
626
+ "type": "string"
627
+ }
628
+ ],
629
+ "events": []
630
+ }
631
+ },
632
+ {
633
+ "name": "wje-card-controls",
634
+ "description": "This class represents Card Controls element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the CardControls element.\n- **draw(): _object_** - Draw method for the CardControls element.\n\n### **Slots:**\n - _default_ - The card controls main content.\n\n### **CSS Properties:**\n - **--wje-card-controls-font-size** - Font size of the component; _(default: 11px)_\n- **--wje-card-controls-font-family** - Font family of the component; _(default: --wje-font-family-secondary)_",
635
+ "doc-url": "",
636
+ "attributes": [],
637
+ "slots": [
638
+ { "name": "", "description": "The card controls main content." }
639
+ ],
640
+ "events": [],
641
+ "js": {
642
+ "properties": [
643
+ {
644
+ "name": "className",
645
+ "description": "Class name for the CardControls element.",
646
+ "type": "string"
647
+ }
648
+ ],
649
+ "events": []
650
+ }
651
+ },
652
+ {
653
+ "name": "wje-card-header",
654
+ "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)_",
655
+ "doc-url": "",
656
+ "attributes": [],
657
+ "slots": [
658
+ { "name": "", "description": "The card header main content." }
659
+ ],
660
+ "events": [],
661
+ "js": {
662
+ "properties": [
663
+ {
664
+ "name": "className",
665
+ "description": "Class name for the CardHeader.",
666
+ "type": "string"
667
+ }
668
+ ],
669
+ "events": []
670
+ }
671
+ },
672
+ {
673
+ "name": "wje-card-subtitle",
674
+ "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)_",
675
+ "doc-url": "",
676
+ "attributes": [],
677
+ "slots": [
678
+ { "name": "", "description": "The card subtitle main content." }
679
+ ],
680
+ "events": [],
681
+ "js": {
682
+ "properties": [
683
+ {
684
+ "name": "className",
685
+ "description": "Class name for the CardSubtitle.",
686
+ "type": "string"
687
+ }
688
+ ],
689
+ "events": []
690
+ }
691
+ },
692
+ {
693
+ "name": "wje-card-title",
694
+ "description": "CardTitle class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CardTitle.\n- **draw(): _DocumentFragment_** - Draws the CardTitle element.\n\n### **Slots:**\n - _default_ - The card title main content.\n\n### **CSS Properties:**\n - **--wje-card-title-font-size** - Font size of the component; _(default: 24px)_\n- **--wje-card-title-font-weight** - Font weight of the component; _(default: 500)_\n- **--wje-card-title-margin** - Margin of the component; _(default: 0)_\n- **--wje-card-title-padding** - Padding of the component; _(default: 0)_\n- **--wje-card-title-line-height** - Line height of the component; _(default: 1.2)_",
695
+ "doc-url": "",
696
+ "attributes": [],
697
+ "slots": [
698
+ { "name": "", "description": "The card title main content." }
699
+ ],
700
+ "events": [],
701
+ "js": {
702
+ "properties": [
703
+ {
704
+ "name": "className",
705
+ "description": "Class name for the CardTitle.",
706
+ "type": "string"
707
+ }
708
+ ],
709
+ "events": []
710
+ }
711
+ },
712
+ {
713
+ "name": "wje-carousel",
714
+ "description": "Carousel class that extends WJElement.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Carousel.\n- **beforeDraw()** - Before draw method for the Carousel.\n- **draw(): _DocumentFragment_** - Draw method for the Carousel.\n- **afterDraw()** - After draw method for the Carousel.\n- **syncActiveToSnapStart()** - Sync `activeSlide` to the slide whose leading edge is closest to the snap start.\n- **syncSlideMetrics()** - Syncs computed CSS variables derived from `slide-per-page`.\n- **getScrollPaddingInlineStart(): _number_** - Returns the inline scroll padding used by the snap area.\n- **getControlBehavior(): _ScrollBehavior|string_** - Returns the interaction scroll behavior for UI controls.\nContinuous multi-slide loops use instant snapping to avoid blank edge states\nwhile the browser is still animating a previous smooth scroll.\n- **setIntersectionObserver()** - Sets up the IntersectionObserver for the Carousel.\n- **goToSlide(index, behavior, next)** - Goes to the slide.\n- **setActiveVisualSlide(vIndex: _number_)** - Sets the active class on the currently targeted visual slide and removes it elsewhere.\n- **syncAria()** - Syncs ARIA attributes on the carousel and slides.\n- **cloneFirstAndLastItems()** - Clones the first and last items.\n- **createLoopClone(item: _HTMLElement_): _HTMLElement_** - Creates a sanitized loop clone that does not inherit transient render state\nsuch as inline `visibility: hidden` from the source slide.\n- **removeLoopClones()** - Removes loop clones so they can be rebuilt for the current configuration.\n- **getLoopCloneCount(totalSlides: _number_): _number_** - Returns how many slides should be cloned on each side when loop is enabled.\n- **scrollToVisualIndex(vIndex: _number_, behavior: _ScrollBehavior|string_)** - Scrolls the carousel to a visual slide index.\n- **removeActiveSlide()** - Goes to the next slide.\n- **changePagination()** - Goes to the next slide.\n- **changeThumbnails()** - Goes to the next slide.\n- **createNextButton(): _Element_** - Goes to the next slide.\n- **createPreviousButton(): _Element_** - Goes to the next slide.\n- **createPagination(): _Element_** - Goes to the next slide.\n- **createThumbnails(): _Element_** - Goes to the next slide.\n- **nextSlide()** - Goes to the next slide.\n- **previousSlide()** - Goes to the previous slide.\n- **getSlides(): _Array_** - Goes to the slide.\n- **getSlidesWithClones(): _Array_** - Goes to the slide.\n- **getVisualIndexForLogical(index)** - Maps logical index -> visual index (accounts for leading clone when loop=true)\n- **getLogicalIndexForVisual(vIndex)** - Maps visual index -> logical index (handles clones at 0 and last when loop=true)\n- **getMaxVisibleStartIndex(totalSlides: _number_): _number_** - Returns the maximum logical slide index that can still render a full viewport.\n- **normalizeLoopIndex(index: _number_, totalSlides: _number_): _number_** - Normalizes a logical index for the active loop mode.\n- **getLoopLogicalCount(totalSlides: _number_): _number_** - Returns how many logical positions are reachable for the current loop mode.\n- **getPaginationIndexes(): _number[]_** - Returns the pagination indexes for the current carousel mode.\n- **canGoNext(): _boolean_** - Goes to the slide.\n- **canGoPrevious(): _boolean_** - Goes to the slide.\n\n### **Slots:**\n - _default_ - The carousel main content.\n\n### **CSS Properties:**\n - **--wje-carousel-size** - Effective size of one carousel item. _(default: 100%)_\n- **--wje-carousel-gap** - Gap between carousel items. _(default: 0.5rem)_",
715
+ "doc-url": "",
716
+ "attributes": [
717
+ { "name": "active-slide", "value": { "type": "string" } },
718
+ { "name": "slide-per-page", "value": { "type": "string" } },
719
+ { "name": "continuous-loop", "value": { "type": "string" } }
720
+ ],
721
+ "slots": [
722
+ { "name": "", "description": "The carousel main content." }
723
+ ],
724
+ "events": [],
725
+ "js": {
726
+ "properties": [
727
+ {
728
+ "name": "activeSlide",
729
+ "description": "Active slide attribute."
730
+ },
731
+ { "name": "pagination", "description": "Pagination attribute." },
732
+ { "name": "navigation", "description": "Navigation attribute." },
733
+ { "name": "thumbnails", "description": "Thumbnails attribute." },
734
+ { "name": "loop", "description": "Loop attribute." },
735
+ {
736
+ "name": "continuousLoop",
737
+ "description": "Continuous loop attribute."
738
+ },
739
+ {
740
+ "name": "className",
741
+ "description": "Class name for the Carousel.",
742
+ "type": "string"
743
+ },
744
+ { "name": "slidePerPage", "type": "number" }
745
+ ],
746
+ "events": []
747
+ }
748
+ },
749
+ {
750
+ "name": "wje-carousel-item",
751
+ "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.",
752
+ "doc-url": "",
753
+ "attributes": [],
754
+ "slots": [
755
+ { "name": "", "description": "The carousel item main content." }
756
+ ],
757
+ "events": [],
758
+ "js": {
759
+ "properties": [
760
+ {
761
+ "name": "className",
762
+ "description": "Class name for the CarouselItem element.",
763
+ "type": "string"
764
+ }
765
+ ],
766
+ "events": []
767
+ }
768
+ },
769
+ {
770
+ "name": "wje-checkbox",
771
+ "description": "This method dispatches a custom event named \"wje-toggle:change\".\nIt is triggered when the input event is fired, which happens when the state of the checkbox changes.\nThe event is dispatched on the current instance of the Checkbox class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the checkbox.\n- **draw(): _DocumentFragment_** - Draws the checkbox element.\n- **afterDraw()** - Adds an event listener after drawing the checkbox.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Removes the event listener when the checkbox is disconnected.\n\n### **Slots:**\n - _default_ - The checkbox main content.\n\n### **CSS Properties:**\n - **--wje-checkbox-border-radius** - Border radius of the component; _(default: --wje-border-radius-medium)_\n- **--wje-checkbox-border-width** - Border width of the component; _(default: 1px)_\n- **--wje-checkbox-border-style** - Border style of the component; _(default: solid)_\n- **--wje-checkbox-border-color** - Border color of the component; _(default: --wje-color-contrast-1)_\n- **--wje-checkbox-margin-inline** - Margin inline of the component; _(default: 0)_\n\n### **CSS Parts:**\n - **native** - The component's native wrapper.",
772
+ "doc-url": "",
773
+ "attributes": [
774
+ { "name": "checked", "value": { "type": "string" } },
775
+ { "name": "disabled", "value": { "type": "string" } },
776
+ { "name": "value", "value": { "type": "string" } },
777
+ { "name": "indeterminate", "value": { "type": "string" } },
778
+ { "name": "required", "value": { "type": "string" } },
779
+ { "name": "invalid", "value": { "type": "string" } },
780
+ { "name": "label", "value": { "type": "string" } }
781
+ ],
782
+ "slots": [
783
+ { "name": "", "description": "The checkbox main content." }
784
+ ],
785
+ "events": [],
786
+ "js": {
787
+ "properties": [
788
+ {
789
+ "name": "value",
790
+ "description": "Getter for the value attribute."
791
+ },
792
+ {
793
+ "name": "customErrorDisplay",
794
+ "description": "Getter for the customErrorDisplay attribute."
795
+ },
796
+ {
797
+ "name": "validateOnChange",
798
+ "description": "Getter for the validateOnChange attribute."
799
+ },
800
+ {
801
+ "name": "label",
802
+ "description": "Getter for the label attribute."
803
+ },
804
+ {
805
+ "name": "defaultValue",
806
+ "description": "Getter for the defaultValue attribute.\nThis method retrieves the 'value' attribute of the custom input element.\nThe 'value' attribute represents the default value of the input element.\nIf the 'value' attribute is not set, it returns an empty string."
807
+ },
808
+ {
809
+ "name": "indeterminate",
810
+ "description": "Retrieves the current state of the 'indeterminate' attribute.\n\nThe 'indeterminate' attribute is typically used to signify a state\nwhere a checkbox is neither checked nor unchecked, such as a partially\nselected state."
811
+ },
812
+ { "name": "checked", "description": "Get checked attribute." },
813
+ {
814
+ "name": "className",
815
+ "description": "The class name for the Checkbox.",
816
+ "type": "string"
817
+ },
818
+ { "name": "invalid", "type": "boolean" },
819
+ { "name": "pristine", "type": "boolean" },
820
+ { "name": "_valueOff", "type": "string" }
821
+ ],
822
+ "events": []
823
+ }
824
+ },
825
+ {
826
+ "name": "wje-chip",
827
+ "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 - _default_ - The chip main content.\n\n### **CSS Parts:**\n - **native** - The component's native wrapper. //@fires wje-chip:remove - Dispatched when the chip is removed;",
828
+ "doc-url": "",
829
+ "attributes": [
830
+ { "name": "removable", "value": { "type": "string" } },
831
+ { "name": "disabled", "value": { "type": "string" } },
832
+ { "name": "label", "value": { "type": "string" } }
833
+ ],
834
+ "slots": [{ "name": "", "description": "The chip main content." }],
835
+ "events": [],
836
+ "js": {
837
+ "properties": [
838
+ {
839
+ "name": "round",
840
+ "description": "Checks if the 'round' attribute is present on the element."
841
+ },
842
+ {
843
+ "name": "size",
844
+ "description": "Retrieves the 'size' attribute of the current element."
845
+ },
846
+ {
847
+ "name": "removable",
848
+ "description": "Determines if the element has the 'removable' attribute."
849
+ },
850
+ {
851
+ "name": "disabled",
852
+ "description": "Determines if the element has the 'disabled' attribute."
853
+ },
854
+ {
855
+ "name": "className",
856
+ "description": "Class name for the Chip element.",
857
+ "type": "string"
858
+ }
859
+ ],
860
+ "events": []
861
+ }
862
+ },
863
+ {
864
+ "name": "wje-col",
865
+ "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.",
866
+ "doc-url": "",
867
+ "attributes": [],
868
+ "slots": [{ "name": "", "description": "The col main content." }],
869
+ "events": [],
870
+ "js": {
871
+ "properties": [{ "name": "className", "type": "string" }],
872
+ "events": []
873
+ }
874
+ },
875
+ {
876
+ "name": "wje-color-picker",
877
+ "description": "ColorPicker is a custom web component that extends WJElement.\nIt provides a color picker functionality with a color area, hue slider, alpha slider, and color swatches.\nThe color picker allows users to select a color by moving a marker on the color area, adjusting the hue and alpha sliders, or clicking on a color swatch.\n---\n\n\n### **Methods:**\n - **parseSwatches(value: _string_): _string[]_** - Normalizes swatch colors from a string to an array.\nSupports comma and semicolon separators.\n- **setupAttributes()** - Sets up the attributes for the ColorPicker.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment containing the structure and components of a custom color picker.\nThe method initializes DOM elements such as divs, sliders, and inputs, with specific classes and attributes,\nand attaches various event listeners to handle user interactions.\n- **afterDraw(): _void_** - Executes after the component is drawn. Initializes some configurations if not already initialized,\nincluding updating slider values, setting marker positions, and applying initial color settings.\nThis method ensures that all necessary visual elements and configurations are properly set up.\n- **createSwatches(node)** - Sets the hue.\n- **setSliders(color)** - Sets the sliders to the given color.\n- **dimension(): _object_** - Retrieves the dimensions and position of the color area element relative to the viewport.\n- **beforeDisconnect(): _void_** - Method executed before disconnecting. Resets the initialization state to false.\n- **getPointerPosition(e): _{x: number, y: number}_** - Gets the pointer position in client coordinates (viewport-relative).\n- **setMarkerPosition(x, y)** - Sets the position of the marker.\n- **clampMarkerPosition(x: _number_, y: _number_): _{x: number, y: number}_** - Clamps marker coordinates to the color area boundaries.\n- **setColorAtPosition(x, y, alpha): _*|tinycolor_** - Sets the color at the given position.\n- **getHueAreaColor(color: _string_): _string_** - Returns fully saturated and bright color for the current hue.\nUsed as base color for the SV area so neutral grays do not black out the palette.\n\n### **Slots:**\n - _default_ - The card header main content.\n\n### **CSS Properties:**\n - **--wje-color-picker-area** - The color of the color area background. _(default: undefined)_\n- **--wje-color-picker-value** - The value of the color picker input. _(default: undefined)_\n- **--wje-color-picker-swatch** - The color of the color swatch button. _(default: undefined)_\n- **--wje-color-picker-size** - The color of the color marker. _(default: undefined)_\n- **--wje-color-picker-radius** - The color of the color anchor. _(default: undefined)_\n\n### **CSS Parts:**\n - **anchor** - The anchor part of the color picker.\n- **picker** - The main part of the color picker.\n- **marker** - The marker part of the color picker.\n- **color-area** - The color area part of the color picker.\n- **hue** - The hue slider part of the color picker.\n- **alpha** - The alpha slider part of the color picker.\n- **color-preview** - The color preview part of the color picker.\n- **input** - The input part of the color picker.",
878
+ "doc-url": "",
879
+ "attributes": [
880
+ {
881
+ "name": "input-editable",
882
+ "description": "Enables manual color typing into the input field.",
883
+ "value": { "type": "boolean" }
884
+ }
885
+ ],
886
+ "slots": [
887
+ { "name": "", "description": "The card header main content." }
888
+ ],
889
+ "events": [],
890
+ "js": {
891
+ "properties": [
892
+ {
893
+ "name": "color",
894
+ "description": "Retrieves the color attribute of the element."
895
+ },
896
+ {
897
+ "name": "markerPosition",
898
+ "description": "Getter for the marker position."
899
+ },
900
+ {
901
+ "name": "swatches",
902
+ "description": "Getter for the color swatches."
903
+ },
904
+ {
905
+ "name": "noColorArea",
906
+ "description": "Getter method to check if the 'no-color-area' attribute is applied."
907
+ },
908
+ {
909
+ "name": "noControls",
910
+ "description": "Checks if the 'no-controls' attribute is present on the element."
911
+ },
912
+ {
913
+ "name": "noSwatches",
914
+ "description": "Checks if the 'no-swatches' attribute is present on the element."
915
+ },
916
+ {
917
+ "name": "inputEditable",
918
+ "description": "Returns true when manual input typing is enabled."
919
+ },
920
+ { "name": "className", "type": "string" },
921
+ {
922
+ "name": "moveMarker",
923
+ "description": "Updates the position of the marker based on the pointer event.\nThis function calculates the position of the marker relative to the color area\ndimensions based on the given event. It adjusts the marker position and updates\nthe color associated with the new position. It is intended to handle pointer movement\nevents such as mouse or touch interactions."
924
+ },
925
+ {
926
+ "name": "setMarkerPositionByColor",
927
+ "description": "Sets the marker position by color."
928
+ },
929
+ {
930
+ "name": "setColor",
931
+ "description": "Updates the color picker's current color and its associated UI elements."
932
+ },
933
+ { "name": "setHue", "description": "Sets the hue." },
934
+ { "name": "setAlpha", "description": "Sets the alpha." },
935
+ {
936
+ "name": "getHSVA",
937
+ "description": "Converts hue and alpha values into an HSVA color string."
938
+ }
939
+ ],
940
+ "events": []
941
+ }
942
+ },
943
+ {
944
+ "name": "wje-container",
945
+ "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)_",
946
+ "doc-url": "",
947
+ "attributes": [],
948
+ "slots": [
949
+ {
950
+ "name": "",
951
+ "description": "The slot for adding child elements or components."
952
+ }
953
+ ],
954
+ "events": [],
955
+ "js": {
956
+ "properties": [
957
+ {
958
+ "name": "className",
959
+ "description": "Class name for the Container.",
960
+ "type": "string"
961
+ }
962
+ ],
963
+ "events": []
964
+ }
965
+ },
966
+ {
967
+ "name": "wje-copy-button",
968
+ "description": "CopyButton is a custom web component that extends WJElement.\nIt provides a button that, when clicked, copies a specified text to the clipboard.\nThe text to be copied can be specified through the `value` attribute.\nThe CopyButton also supports keyboard interaction, copying the text when the space or enter key is pressed.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the CopyButton.\n- **draw(): _DocumentFragment_** - Draws the ColorPicker element.\n- **afterDraw()** - Adds event listeners for the click, focus, and blur events.\n- **syncAria()** - Sync ARIA attributes on host.\n- **copy(button: _HTMLElement_)** - Copies the specified text or node.\n- **copyTarget(content: _HTMLElement_): _Promise_** - Copies the target content.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot.\n\n### **CSS Properties:**\n - **--text-color** - Controls the color of the text. _(default: undefined)_\n- **--background-color** - Controls the background color of the button. //@fires wje:copy-button - Dispatched when the button is clicked and the text is copied. _(default: undefined)_\n\n### **CSS Parts:**\n - **button** - Styles the button element.",
969
+ "doc-url": "",
970
+ "attributes": [
971
+ {
972
+ "name": "for",
973
+ "description": "The id of the element to copy content from.",
974
+ "value": { "type": "string" }
975
+ },
976
+ {
977
+ "name": "value",
978
+ "description": "The text to be copied.",
979
+ "value": { "type": "string" }
980
+ }
981
+ ],
982
+ "slots": [
983
+ { "name": "", "description": "This is a default/unnamed slot." }
984
+ ],
985
+ "events": [],
986
+ "js": {
987
+ "properties": [
988
+ {
989
+ "name": "value",
990
+ "description": "Getter for the value property."
991
+ },
992
+ { "name": "className", "type": "string" },
993
+ { "name": "clicked", "description": "Handles the click event." },
994
+ {
995
+ "name": "keydown",
996
+ "description": "Handles the keydown event."
997
+ },
998
+ { "name": "focused", "description": "Handles the focus event." },
999
+ { "name": "blurred", "description": "Handles the blur event." },
1000
+ {
1001
+ "name": "copied",
1002
+ "description": "Handles the copied event.\nYou can override this method to customize the behavior when the text is copied."
1003
+ },
1004
+ { "name": "timeout", "type": "number" }
1005
+ ],
1006
+ "events": []
1007
+ }
1008
+ },
1009
+ {
1010
+ "name": "wje-dialog",
1011
+ "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.",
1012
+ "doc-url": "",
1013
+ "attributes": [],
1014
+ "slots": [
1015
+ { "name": "header", "description": "Slot for the header content." },
1016
+ { "name": "body", "description": "Slot for the body content." },
1017
+ { "name": "footer", "description": "Slot for the footer content." }
1018
+ ],
1019
+ "events": [],
1020
+ "js": {
1021
+ "properties": [
1022
+ {
1023
+ "name": "headline",
1024
+ "description": "Retrieves the value of the \"headline\" attribute from the element.\nIf the \"headline\" attribute is not present, returns an empty string."
1025
+ },
1026
+ {
1027
+ "name": "placement",
1028
+ "description": "Gets the headline of the dialog."
1029
+ },
1030
+ {
1031
+ "name": "async",
1032
+ "description": "Gets the headline of the dialog."
1033
+ },
1034
+ {
1035
+ "name": "closeHidden",
1036
+ "description": "Gets the headline of the dialog."
1037
+ },
1038
+ { "name": "hiddenHeader" },
1039
+ { "name": "hiddenFooter" },
1040
+ {
1041
+ "name": "className",
1042
+ "description": "Sets the headline of the dialog.",
1043
+ "type": "string"
1044
+ },
1045
+ { "name": "onOpen", "description": "Opens the dialog." },
1046
+ { "name": "onClose", "description": "Closes the dialog." },
1047
+ { "name": "onNativeDialogClose" },
1048
+ { "name": "syncHostOpenState" }
1049
+ ],
1050
+ "events": []
1051
+ }
1052
+ },
1053
+ {
1054
+ "name": "wje-divider",
1055
+ "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)_",
1056
+ "doc-url": "",
1057
+ "attributes": [],
1058
+ "slots": [
1059
+ { "name": "", "description": "This is a default/unnamed slot." }
1060
+ ],
1061
+ "events": [],
1062
+ "js": {
1063
+ "properties": [
1064
+ {
1065
+ "name": "className",
1066
+ "description": "The class name for the Divider class.",
1067
+ "type": "string"
1068
+ }
1069
+ ],
1070
+ "events": []
1071
+ }
1072
+ },
1073
+ {
1074
+ "name": "wje-dropdown",
1075
+ "description": "This element represents a dropdown menu.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the dropdown.\n- **beforeDraw()** - Removes the popup element.\n- **draw(): _DocumentFragment_** - Draws the dropdown element and returns the created document fragment.\n- **afterDraw()** - Adds event listeners for the mouseenter and mouseleave events.\n- **afterDisconnect()** - Adds event listeners for the mouseenter and mouseleave events.\n- **syncPopupOwner()** - Assigns the current dropdown instance as the owner of its popup layers.\nOwner metadata is later used to resolve which dropdown should react to\ndelegated menu-item clicks, including portaled popup content.\n- **syncOwnedContentOwner(root: _HTMLElement_)** - Recursively assigns owner metadata to the dropdown content subtree while\nleaving nested dropdown roots untouched, so each nested dropdown can keep\nits own ownership boundary.\n- **getMenuItemOwner(path: _EventTarget[]_, item: _HTMLElement_): _HTMLElement|null_** - Resolves the dropdown that owns a clicked menu item. The lookup prefers\nexplicit owner metadata and falls back to DOM traversal so both regular\nand portaled dropdown content can be scoped correctly.\n- **afterShow()** - This method is called after the dropdown is shown.\n- **syncAria()** - Syncs ARIA attributes for the trigger element.\n\n### **Slots:**\n - **trigger** - The slot for the trigger of the dropdown.\n- _default_ - The default slot for the dropdown. // @fires wje-dropdown:open - Event fired when the dropdown is opened. // @fires wje-dropdown:close - Event fired when the dropdown is closed.\n\n### **CSS Parts:**\n - **native** - The native part of the dropdown.",
1076
+ "doc-url": "",
1077
+ "attributes": [{ "name": "active", "value": { "type": "string" } }],
1078
+ "slots": [
1079
+ {
1080
+ "name": "trigger",
1081
+ "description": "The slot for the trigger of the dropdown."
1082
+ },
1083
+ {
1084
+ "name": "",
1085
+ "description": "The default slot for the dropdown. // @fires wje-dropdown:open - Event fired when the dropdown is opened. // @fires wje-dropdown:close - Event fired when the dropdown is closed."
1086
+ }
1087
+ ],
1088
+ "events": [],
1089
+ "js": {
1090
+ "properties": [
1091
+ {
1092
+ "name": "dependencies",
1093
+ "description": "The placement of the dropdown.",
1094
+ "type": "{\"wje-popup\": Popup}"
1095
+ },
1096
+ {
1097
+ "name": "portaled",
1098
+ "description": "Getter method for the `portaled` property.\nChecks if the `portaled` attribute is present on the element."
1099
+ },
1100
+ {
1101
+ "name": "isPortaled",
1102
+ "description": "Checks whether the element has the 'portaled' attribute."
1103
+ },
1104
+ {
1105
+ "name": "trigger",
1106
+ "description": "Gets the placement of the dropdown."
1107
+ },
1108
+ {
1109
+ "name": "className",
1110
+ "description": "Sets the placement of the dropdown.",
1111
+ "type": "string"
1112
+ },
1113
+ {
1114
+ "name": "otherDropdownOpennedCallback",
1115
+ "description": "Callback function to handle other dropdowns being opened. Close the dropdown if it is not the target and collapse is enabled."
1116
+ },
1117
+ {
1118
+ "name": "popupHideCallback",
1119
+ "description": "Handles popup hide events and closes only the dropdown that owns the popup.\nThis prevents nested dropdowns from collapsing their parent dropdown when the\nchild popup is hidden."
1120
+ },
1121
+ {
1122
+ "name": "onMenuItemClick",
1123
+ "description": "Handles delegated clicks from inside the popup and closes the dropdown when a leaf menu item is selected.\nThis works even when the menu is portaled, because we rely on the composed path."
1124
+ },
1125
+ { "name": "toggleCallback" },
1126
+ { "name": "onOpen", "description": "Open the popup element." },
1127
+ { "name": "beforeClose" },
1128
+ { "name": "afterClose" },
1129
+ { "name": "onClose" }
1130
+ ],
1131
+ "events": []
1132
+ }
1133
+ },
1134
+ {
1135
+ "name": "wje-file-upload",
1136
+ "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\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.",
1137
+ "doc-url": "",
1138
+ "attributes": [
1139
+ { "name": "label", "value": { "type": "string" } },
1140
+ {
1141
+ "name": "accepted-types",
1142
+ "description": "The accepted file types for upload.",
1143
+ "value": { "type": "string" }
1144
+ },
1145
+ {
1146
+ "name": "chunk-size",
1147
+ "description": "The chunk size for file upload.",
1148
+ "value": { "type": "number" }
1149
+ },
1150
+ {
1151
+ "name": "max-file-size",
1152
+ "description": "The maximum file size for upload.",
1153
+ "value": { "type": "number" }
1154
+ },
1155
+ {
1156
+ "name": "upload-url",
1157
+ "description": "The URL to set as the upload URL.",
1158
+ "value": { "type": "string" }
1159
+ },
1160
+ {
1161
+ "name": "auto-process-files",
1162
+ "description": "The auto process files attribute.",
1163
+ "value": { "type": "boolean" }
1164
+ },
1165
+ {
1166
+ "name": "no-upload-button",
1167
+ "description": "The no upload button attribute.",
1168
+ "value": { "type": "boolean" }
1169
+ }
1170
+ ],
1171
+ "slots": [
1172
+ { "name": "", "description": "This is a default/unnamed slot." }
1173
+ ],
1174
+ "events": [
1175
+ {
1176
+ "name": "change",
1177
+ "description": "Fires when the file input changes."
1178
+ },
1179
+ {
1180
+ "name": "drop",
1181
+ "description": "Fires when a file is dropped into the component."
1182
+ }
1183
+ ],
1184
+ "js": {
1185
+ "properties": [
1186
+ {
1187
+ "name": "dependencies",
1188
+ "description": "Dependencies for the FileUpload component.",
1189
+ "type": "object"
1190
+ },
1191
+ {
1192
+ "name": "acceptedTypes",
1193
+ "description": "Getter for acceptedTypes attribute."
1194
+ },
1195
+ {
1196
+ "name": "chunkSize",
1197
+ "description": "Getter for chunkSize attribute."
1198
+ },
1199
+ {
1200
+ "name": "maxFileSize",
1201
+ "description": "Getter for maxFileSize attribute."
1202
+ },
1203
+ {
1204
+ "name": "uploadUrl",
1205
+ "description": "Gets the upload URL for the file upload element."
1206
+ },
1207
+ {
1208
+ "name": "autoProcessFiles",
1209
+ "description": "Gets the autoProcessFiles attribute."
1210
+ },
1211
+ {
1212
+ "name": "noUploadButton",
1213
+ "description": "Gets the noUploadButton attribute."
1214
+ },
1215
+ {
1216
+ "name": "uploadedFiles",
1217
+ "description": "Return the uploaded files."
1218
+ },
1219
+ {
1220
+ "name": "toChunk",
1221
+ "description": "Gets the to-chunk attribute."
1222
+ },
1223
+ {
1224
+ "name": "maxFiles",
1225
+ "description": "Retrieves the maximum number of files allowed from the `max-files` attribute.\nIf the attribute is not set or is invalid, defaults to 0."
1226
+ },
1227
+ {
1228
+ "name": "label",
1229
+ "description": "Gets the label attribute for the upload button."
1230
+ },
1231
+ { "name": "className", "type": "string" },
1232
+ {
1233
+ "name": "handleDrop",
1234
+ "description": "Method to handle file drop event."
1235
+ },
1236
+ {
1237
+ "name": "handleInputChange",
1238
+ "description": "Method to handle file input change event."
1239
+ },
1240
+ {
1241
+ "name": "createUploadPromise",
1242
+ "description": "Method to create an upload promise."
1243
+ },
1244
+ { "name": "localizer" },
1245
+ { "name": "_uploadedFiles", "type": "array" },
1246
+ { "name": "_queuedFiles", "type": "array" }
1247
+ ],
1248
+ "events": [
1249
+ {
1250
+ "name": "change",
1251
+ "description": "Fires when the file input changes."
1252
+ },
1253
+ {
1254
+ "name": "drop",
1255
+ "description": "Fires when a file is dropped into the component."
1256
+ }
1257
+ ]
1258
+ }
1259
+ },
1260
+ {
1261
+ "name": "wje-file-upload-item",
1262
+ "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",
1263
+ "doc-url": "",
1264
+ "attributes": [
1265
+ { "name": "uploaded", "value": { "type": "string" } },
1266
+ { "name": "is-uploaded", "value": { "type": "string" } }
1267
+ ],
1268
+ "slots": [
1269
+ { "name": "img", "description": "Slot for the image" },
1270
+ { "name": "action", "description": "Slot for the action buttons" }
1271
+ ],
1272
+ "events": [],
1273
+ "js": {
1274
+ "properties": [
1275
+ {
1276
+ "name": "isUploaded",
1277
+ "description": "Checks if the 'is-uploaded' attribute is present on the element."
1278
+ },
1279
+ {
1280
+ "name": "size",
1281
+ "description": "Retrieves the value of the 'size' attribute."
1282
+ },
1283
+ {
1284
+ "name": "dependencies",
1285
+ "description": "Dependencies for the component.",
1286
+ "type": "object"
1287
+ },
1288
+ { "name": "className", "type": "string" },
1289
+ {
1290
+ "name": "onDelete",
1291
+ "description": "Handles the delete action."
1292
+ },
1293
+ { "name": "localizer" }
1294
+ ],
1295
+ "events": []
1296
+ }
1297
+ },
1298
+ {
1299
+ "name": "wje-footer",
1300
+ "description": "This element represents a footer. `Footer` is a custom web component that represents a footer.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - **default** - Default slot for the footer content\n\n### **CSS Properties:**\n - **--primary-color** - The primary color of the footer _(default: undefined)_",
1301
+ "doc-url": "",
1302
+ "attributes": [],
1303
+ "slots": [
1304
+ {
1305
+ "name": "default",
1306
+ "description": "Default slot for the footer content"
1307
+ }
1308
+ ],
1309
+ "events": [],
1310
+ "js": {
1311
+ "properties": [{ "name": "className", "type": "string" }],
1312
+ "events": []
1313
+ }
1314
+ },
1315
+ {
1316
+ "name": "wje-form",
1317
+ "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.",
1318
+ "doc-url": "",
1319
+ "attributes": [],
1320
+ "slots": [
1321
+ {
1322
+ "name": "",
1323
+ "description": "The slot for adding child elements or components."
1324
+ }
1325
+ ],
1326
+ "events": [],
1327
+ "js": {
1328
+ "properties": [
1329
+ {
1330
+ "name": "className",
1331
+ "description": "The class name for the Form class.",
1332
+ "type": "string"
1333
+ }
1334
+ ],
1335
+ "events": []
1336
+ }
1337
+ },
1338
+ {
1339
+ "name": "wje-format-digital",
1340
+ "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.",
1341
+ "doc-url": "",
1342
+ "attributes": [
1343
+ {
1344
+ "name": "value",
1345
+ "description": "The numeric value to format (e.g., 1024 for 1 KB).",
1346
+ "value": { "type": "number" }
1347
+ },
1348
+ { "name": "unit-display", "value": { "type": "string" } },
1349
+ {
1350
+ "name": "unit",
1351
+ "description": "The unit of the value (`byte` or `bit`). Defaults to `byte`.",
1352
+ "value": { "type": "string" }
1353
+ },
1354
+ {
1355
+ "name": "unitDisplay",
1356
+ "description": "The display style of the unit (`short`, `long`, or `narrow`). Defaults to `short`.",
1357
+ "value": { "type": "string" }
1358
+ }
1359
+ ],
1360
+ "events": [],
1361
+ "js": {
1362
+ "properties": [
1363
+ {
1364
+ "name": "value",
1365
+ "description": "Returns the value of the digital format."
1366
+ },
1367
+ {
1368
+ "name": "unit",
1369
+ "description": "Returns the unit of the digital format.\nDefaults to `byte` if no unit is set."
1370
+ },
1371
+ {
1372
+ "name": "unitDisplay",
1373
+ "description": "Returns the unit display style for the digital format.\nDefaults to `short` if not set."
1374
+ },
1375
+ {
1376
+ "name": "className",
1377
+ "description": "The class name identifier for this component.",
1378
+ "type": "string"
1379
+ },
1380
+ { "name": "localizer" }
1381
+ ],
1382
+ "events": []
1383
+ }
1384
+ },
1385
+ {
1386
+ "name": "wje-grid",
1387
+ "description": "The Grid class is a custom web component that extends WJElement. It is a simple grid that can hold other elements or components.\nIt provides a slot for adding child elements or components.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the Grid.\n- **draw(): _DocumentFragment_** - Draws the Grid element.\n\n### **Slots:**\n - _default_ - The slot for adding child elements or components.",
1388
+ "doc-url": "",
1389
+ "attributes": [],
1390
+ "slots": [
1391
+ {
1392
+ "name": "",
1393
+ "description": "The slot for adding child elements or components."
1394
+ }
1395
+ ],
1396
+ "events": [],
1397
+ "js": {
1398
+ "properties": [
1399
+ {
1400
+ "name": "className",
1401
+ "description": "The class name for the Grid class.",
1402
+ "type": "string"
1403
+ }
1404
+ ],
1405
+ "events": []
1406
+ }
1407
+ },
1408
+ {
1409
+ "name": "wje-header",
1410
+ "description": "`Header` is a custom web component that represents a header. It extends from `WJElement`.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component.\n\n### **Slots:**\n - **default** - Default slot for the header content\n\n### **CSS Properties:**\n - **--wje-header-background** - The background of the header element. _(default: var(--wje-background))_\n- **--wje-header-border-color** - The border color of the header element. _(default: var(--wje-border-color))_\n- **--wje-header-border-width** - The border width of the header element. _(default: 0 0 1px 0)_\n- **--wje-header-border-style** - The border styles of the header _(default: solid)_\n- **--wje-header-top** - The position top of the header _(default: 0)_\n- **--wje-header-height** - The height of the header element. _(default: 60px)_\n\n### **CSS Parts:**\n - **native** - The native part",
1411
+ "doc-url": "",
1412
+ "attributes": [],
1413
+ "slots": [
1414
+ {
1415
+ "name": "default",
1416
+ "description": "Default slot for the header content"
1417
+ }
1418
+ ],
1419
+ "events": [],
1420
+ "js": {
1421
+ "properties": [{ "name": "className", "type": "string" }],
1422
+ "events": []
1423
+ }
1424
+ },
1425
+ {
1426
+ "name": "wje-img",
1427
+ "description": "This element represents an image. `Img` is a custom web component that represents an image. It extends from `WJElement`.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Creates and assembles a lazy-loaded image element within a document fragment.\n- **afterDraw(): _void_** - Handles post-draw operations, such as setting up a lazy image loader using an IntersectionObserver.\nObserves when the target element becomes visible in the viewport and updates its source with the provided image source.\nRemoves the `lazy` class once the image source is updated and unobserves the element.\nIt also invokes the `onerrorFunc` method at the beginning to handle potential error scenarios.\n- **addAction(name: _string_, func: _Function_): _void_** - Adds a new action to the internal actions object.\n- **removeAction(name: _string_): _void_** - Removes an action from the actions list if it exists.\n\n### **CSS Properties:**\n - **--img-width** - The width of the image _(default: undefined)_\n- **--img-height** - The height of the image _(default: undefined)_",
1428
+ "doc-url": "",
1429
+ "attributes": [
1430
+ { "name": "src", "value": { "type": "string" } },
1431
+ { "name": "alt", "value": { "type": "string" } }
1432
+ ],
1433
+ "events": [],
1434
+ "js": {
1435
+ "properties": [
1436
+ {
1437
+ "name": "src",
1438
+ "description": "The source URL of the image.",
1439
+ "type": "string"
1440
+ },
1441
+ {
1442
+ "name": "alt",
1443
+ "description": "The alternative text for the image.",
1444
+ "type": "string"
1445
+ },
1446
+ {
1447
+ "name": "fallout",
1448
+ "description": "The action to perform when an error occurs while loading the image. The value can be a function or a predefined action like 'delete'.",
1449
+ "type": "string"
1450
+ },
1451
+ {
1452
+ "name": "loader",
1453
+ "description": "The URL of the image loader to display while the image is loading.",
1454
+ "type": "string"
1455
+ },
1456
+ {
1457
+ "name": "className",
1458
+ "description": "The class name for the component.",
1459
+ "type": "string"
1460
+ },
1461
+ { "name": "setAvatarInitials" },
1462
+ {
1463
+ "name": "deleteImage",
1464
+ "description": "Deletes the current image by calling the remove method.\nThis function is typically used to trigger the removal of an image element\nor perform cleanup operations related to the image."
1465
+ },
1466
+ {
1467
+ "name": "onerrorFunc",
1468
+ "description": "Handles error scenarios by checking the `fallout` property and performing\ncorresponding actions. If `fallout` is not defined, the function terminates\nearly. Logs the active actions and attempts to assign an error handler\nbased on the `fallout` value. If the `fallout` value does not correspond to\na recognized action, it logs an error message."
1469
+ },
1470
+ { "name": "_fallout", "type": "boolean" },
1471
+ { "name": "actions", "type": "object" }
1472
+ ],
1473
+ "events": []
1474
+ }
1475
+ },
1476
+ {
1477
+ "name": "wje-icon",
1478
+ "description": "This element represents an icon. `IconElement` is a custom web component that represents an icon.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(context: _object_, store: _object_, params: _object_): _DocumentFragment_** - Draws the component.\n- **afterDraw()** - Called after the component has been drawn.\n- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Properties:**\n - **--wje-icon-size** - The size of the icon element _(default: 1rem)_\n- **--wje-icon-width** - The width of the icon element _(default: var(--wje-icon-size, 100%))_\n- **--wje-icon-height** - The height of the icon element _(default: var(--wje-icon-size, 100%))_\n\n### **CSS Parts:**\n - **svg** - The SVG part of the icon",
1479
+ "doc-url": "",
1480
+ "attributes": [
1481
+ { "name": "name", "value": { "type": "string" } },
1482
+ { "name": "filled", "value": { "type": "string" } },
1483
+ { "name": "label", "value": { "type": "string" } }
1484
+ ],
1485
+ "events": [],
1486
+ "js": {
1487
+ "properties": [
1488
+ {
1489
+ "name": "className",
1490
+ "description": "Sets the name of the icon.",
1491
+ "type": "string"
1492
+ }
1493
+ ],
1494
+ "events": []
1495
+ }
1496
+ },
1497
+ {
1498
+ "name": "wje-icon-picker",
1499
+ "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.",
1500
+ "doc-url": "",
1501
+ "attributes": [
1502
+ {
1503
+ "name": "icon",
1504
+ "description": "The selected icon's name.",
1505
+ "value": { "type": "string" }
1506
+ },
1507
+ {
1508
+ "name": "size",
1509
+ "description": "The number of icons displayed per page in infinite scroll. Default is 60.",
1510
+ "value": { "type": "number" }
1511
+ }
1512
+ ],
1513
+ "events": [],
1514
+ "js": {
1515
+ "properties": [
1516
+ {
1517
+ "name": "dependencies",
1518
+ "description": "Dependencies of the IconPicker component.",
1519
+ "type": "object"
1520
+ },
1521
+ {
1522
+ "name": "size",
1523
+ "description": "Getter for the markerPosition property."
1524
+ },
1525
+ {
1526
+ "name": "icon",
1527
+ "description": "Getter for the value property."
1528
+ },
1529
+ {
1530
+ "name": "type",
1531
+ "description": "Getter for the value property."
1532
+ },
1533
+ { "name": "className", "type": "string" },
1534
+ {
1535
+ "name": "selectIcon",
1536
+ "description": "Handles the selection of an icon from a given input element and updates the relevant properties and events."
1537
+ },
1538
+ {
1539
+ "name": "convertObject",
1540
+ "description": "Converts an object of tags into a transformed array of objects, separating `filled` and `outline` styles.\nThe function processes an input object containing tags, extracts its values,\nand for each tag that has both `filled` and `outline` styles, splits them into\ntwo separate objects. Tags without `filled` styles remain unchanged."
1541
+ },
1542
+ {
1543
+ "name": "dataToHtml",
1544
+ "description": "Converts an icon data object into an HTML element structure.\nThis function creates a styled HTML element that represents an icon with a tooltip.\nThe tooltip displays the name of the icon, and the icon itself is styled based on\nwhether it uses the `filled` style."
1545
+ },
1546
+ {
1547
+ "name": "searchIcon",
1548
+ "description": "Searches icons based on user input.\nThis method handles the input event and filters the available icons based on the provided search string.\nThe filtering is performed on an index that combines icon names and their tags.\nThe results are then adjusted for infinite scrolling."
1549
+ }
1550
+ ],
1551
+ "events": []
1552
+ }
1553
+ },
1554
+ {
1555
+ "name": "wje-img-comparer",
1556
+ "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.",
1557
+ "doc-url": "",
1558
+ "attributes": [],
1559
+ "slots": [
1560
+ { "name": "before", "description": "The before image slot." },
1561
+ { "name": "after", "description": "The after image slot." }
1562
+ ],
1563
+ "events": [],
1564
+ "js": {
1565
+ "properties": [
1566
+ {
1567
+ "name": "dependencies",
1568
+ "description": "Dependencies of the ImgComparer component.",
1569
+ "type": "object"
1570
+ },
1571
+ { "name": "className", "type": "string" },
1572
+ {
1573
+ "name": "handleDrag",
1574
+ "description": "Handles the drag event."
1575
+ },
1576
+ {
1577
+ "name": "clamp",
1578
+ "description": "Clamps a number between a minimum and maximum value."
1579
+ }
1580
+ ],
1581
+ "events": []
1582
+ }
1583
+ },
1584
+ {
1585
+ "name": "wje-input",
1586
+ "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.",
1587
+ "doc-url": "",
1588
+ "attributes": [
1589
+ { "name": "type", "value": { "type": "string" } },
1590
+ { "name": "value", "value": { "type": "string" } },
1591
+ { "name": "name", "value": { "type": "string" } },
1592
+ { "name": "disabled", "value": { "type": "string" } },
1593
+ { "name": "placeholder", "value": { "type": "string" } },
1594
+ { "name": "label", "value": { "type": "string" } },
1595
+ { "name": "message", "value": { "type": "string" } },
1596
+ { "name": "error-inline", "value": { "type": "string" } },
1597
+ { "name": "required", "value": { "type": "string" } },
1598
+ { "name": "readonly", "value": { "type": "string" } },
1599
+ { "name": "invalid", "value": { "type": "string" } }
1600
+ ],
1601
+ "slots": [
1602
+ {
1603
+ "name": "start",
1604
+ "description": "Slot for content at the start of the input."
1605
+ },
1606
+ {
1607
+ "name": "end",
1608
+ "description": "Slot for content at the end of the input."
1609
+ }
1610
+ ],
1611
+ "events": [],
1612
+ "js": {
1613
+ "properties": [
1614
+ {
1615
+ "name": "value",
1616
+ "description": "Retrieves the value from the input element if available; otherwise,\nreturns the internal _value property or an empty string as the default."
1617
+ },
1618
+ {
1619
+ "name": "label",
1620
+ "description": "Retrieves the value of the 'label' attribute if it exists.\nIf the 'label' attribute is not set, it returns false."
1621
+ },
1622
+ {
1623
+ "name": "customErrorDisplay",
1624
+ "description": "Getter for the customErrorDisplay attribute."
1625
+ },
1626
+ {
1627
+ "name": "validateOnChange",
1628
+ "description": "Getter for the validateOnChange attribute."
1629
+ },
1630
+ { "name": "defaultValue" },
1631
+ {
1632
+ "name": "clearable",
1633
+ "description": "Checks if the 'clearable' attribute is present on the element."
1634
+ },
1635
+ {
1636
+ "name": "placeholder",
1637
+ "description": "Retrieves the value of the 'placeholder' attribute from the element.\nIf the attribute is not set, it returns an empty string."
1638
+ },
1639
+ {
1640
+ "name": "variant",
1641
+ "description": "Retrieves the value of the 'variant' attribute from the element.\nIf the attribute is not set, it defaults to 'default'."
1642
+ },
1643
+ {
1644
+ "name": "className",
1645
+ "description": "The class name of the input element.",
1646
+ "type": "string"
1647
+ },
1648
+ { "name": "invalid", "type": "boolean" },
1649
+ { "name": "pristine", "type": "boolean" }
1650
+ ],
1651
+ "events": []
1652
+ }
1653
+ },
1654
+ {
1655
+ "name": "wje-infinite-scroll",
1656
+ "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.",
1657
+ "doc-url": "",
1658
+ "attributes": [],
1659
+ "slots": [
1660
+ {
1661
+ "name": "",
1662
+ "description": "The default slot for the infinite scroll."
1663
+ }
1664
+ ],
1665
+ "events": [],
1666
+ "js": {
1667
+ "properties": [
1668
+ {
1669
+ "name": "infiniteScrollTemplate",
1670
+ "description": "Getter for the infiniteScrollTemplate property."
1671
+ },
1672
+ {
1673
+ "name": "response",
1674
+ "description": "Getter for the response property."
1675
+ },
1676
+ {
1677
+ "name": "objectName",
1678
+ "description": "Dependencies of the InfiniteScroll component."
1679
+ },
1680
+ { "name": "className", "type": "string" },
1681
+ {
1682
+ "name": "scrollEvent",
1683
+ "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."
1684
+ },
1685
+ {
1686
+ "name": "unScrollEvent",
1687
+ "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."
1688
+ },
1689
+ {
1690
+ "name": "onScroll",
1691
+ "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."
1692
+ },
1693
+ { "name": "compareFunction" },
1694
+ {
1695
+ "name": "dataToHtml",
1696
+ "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."
1697
+ },
1698
+ {
1699
+ "name": "customForeach",
1700
+ "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."
1701
+ },
1702
+ {
1703
+ "name": "interpolate",
1704
+ "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."
1705
+ },
1706
+ { "name": "totalPages", "type": "number" },
1707
+ { "name": "isLoading", "type": "array" },
1708
+ { "name": "iterate", "type": "null" },
1709
+ { "name": "placementObj" }
1710
+ ],
1711
+ "events": []
1712
+ }
1713
+ },
1714
+ {
1715
+ "name": "wje-input-file",
1716
+ "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.",
1717
+ "doc-url": "",
1718
+ "attributes": [],
1719
+ "events": [],
1720
+ "js": {
1721
+ "properties": [
1722
+ {
1723
+ "name": "value",
1724
+ "description": "Gets the value of the input file."
1725
+ },
1726
+ {
1727
+ "name": "className",
1728
+ "description": "The class name for the InputFile class.",
1729
+ "type": "string"
1730
+ },
1731
+ { "name": "_value", "type": "string" }
1732
+ ],
1733
+ "events": []
1734
+ }
1735
+ },
1736
+ {
1737
+ "name": "wje-item",
1738
+ "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",
1739
+ "doc-url": "",
1740
+ "attributes": [],
1741
+ "slots": [
1742
+ { "name": "start", "description": "The start slot" },
1743
+ { "name": "end", "description": "The end slot" },
1744
+ { "name": "error", "description": "The error slot" },
1745
+ { "name": "helper", "description": "The helper slot" }
1746
+ ],
1747
+ "events": [],
1748
+ "js": {
1749
+ "properties": [
1750
+ {
1751
+ "name": "className",
1752
+ "description": "Returns the CSS styles for the component.",
1753
+ "type": "string"
1754
+ },
1755
+ {
1756
+ "name": "hostContext",
1757
+ "description": "Determines if the given element or any of its ancestors matches the specified selector."
1758
+ },
1759
+ { "name": "labelColorStyles", "type": "object" },
1760
+ { "name": "itemStyles" },
1761
+ { "name": "inheritedAriaAttributes", "type": "object" },
1762
+ { "name": "multipleInputs", "type": "boolean" },
1763
+ { "name": "focusable", "type": "boolean" },
1764
+ { "name": "button", "type": "boolean" },
1765
+ { "name": "detailIcon" },
1766
+ { "name": "disabled", "type": "boolean" },
1767
+ { "name": "counter", "type": "boolean" },
1768
+ { "name": "routerDirection", "type": "string" },
1769
+ { "name": "type", "type": "string" }
1770
+ ],
1771
+ "events": []
1772
+ }
1773
+ },
1774
+ {
1775
+ "name": "wje-kanban",
1776
+ "description": "This element represents a Kanban board.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw(context: _object_, store: _object_, params: _object_)** - Prepares the component before drawing.\n- **draw(): _DocumentFragment_** - Draws the component after it has been prepared.\n- **syncAria()** - Sync ARIA attributes on host.\n- **afterDraw()** - Called after the component has been drawn.\n- **setupDragAndDropEvents()** - Sets up the drag and drop events for the component.\n- **setupSelectAllCardsEvent()** - Sets up the select all cards event for the component.\n- **setupMenuItemClickEvents()** - Sets up the menu item click events for the component.\n- **updateSelectedCards(pool: _HTMLElement_, isChecked: _boolean_)** - Updates the selected cards in the pool.\n- **handlePoolAction(action: _string_, pool: _HTMLElement_)** - Handles the pool action.\n- **movePool(pool: _HTMLElement_, direction: _string_)** - Moves the pool in the specified direction.\n- **renamePool(pool: _HTMLElement_)** - Renames the pool.\n- **getCardPlaceholder(): _null|*_** - Gets the card placeholder.\n- **live(eventType: _string_, selector: _string_, callback: _function_)** - Adds a live event listener to the component.\n- **setSelectedCards(isChecked: _boolean_, card: _HTMLElement_)** - Sets the selected cards.\n- **setSelectedItems()** - Sets the selected items.\n- **getPages(page): _Promise<any>_** - Fetches the pages.\n\n### **Slots:**\n - _default_ - The default slot for the Kanban board.\n\n### **CSS Parts:**\n - **native-infinite-scroll** - Styles the native part of the Kanban board.",
1777
+ "doc-url": "",
1778
+ "attributes": [],
1779
+ "slots": [
1780
+ {
1781
+ "name": "",
1782
+ "description": "The default slot for the Kanban board."
1783
+ }
1784
+ ],
1785
+ "events": [],
1786
+ "js": {
1787
+ "properties": [
1788
+ {
1789
+ "name": "dependencies",
1790
+ "description": "Dependencies of the Option component.",
1791
+ "type": "object"
1792
+ },
1793
+ {
1794
+ "name": "response",
1795
+ "description": "Gets the URL for fetching data."
1796
+ },
1797
+ {
1798
+ "name": "selectedItems",
1799
+ "description": "Gets the URL for fetching data."
1800
+ },
1801
+ {
1802
+ "name": "className",
1803
+ "description": "Sets the URL for fetching data.",
1804
+ "type": "string"
1805
+ },
1806
+ {
1807
+ "name": "customForeach",
1808
+ "description": "Iterates over a list of items, generates an HTML card for each, and appends it to the specified pool's content area."
1809
+ },
1810
+ {
1811
+ "name": "menuItemClickHandler",
1812
+ "description": "Handles the menu item click event."
1813
+ },
1814
+ {
1815
+ "name": "updateColumnItemCount",
1816
+ "description": "Updates the column item count."
1817
+ },
1818
+ { "name": "getPool", "description": "Gets the pool." },
1819
+ {
1820
+ "name": "htmlPool",
1821
+ "description": "Returns the HTML for the pool."
1822
+ },
1823
+ {
1824
+ "name": "htmlCard",
1825
+ "description": "Returns the HTML for the card."
1826
+ },
1827
+ { "name": "totalPages", "type": "number" },
1828
+ { "name": "isLoading", "type": "array" },
1829
+ { "name": "_response", "type": "object" },
1830
+ { "name": "isDragging", "type": "boolean" },
1831
+ { "name": "selectedCards", "type": "array" }
1832
+ ],
1833
+ "events": []
1834
+ }
1835
+ },
1836
+ {
1837
+ "name": "wje-label",
1838
+ "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.",
1839
+ "doc-url": "",
1840
+ "attributes": [],
1841
+ "slots": [
1842
+ { "name": "", "description": "The default slot for the label." }
1843
+ ],
1844
+ "events": [],
1845
+ "js": {
1846
+ "properties": [{ "name": "className", "type": "string" }],
1847
+ "events": []
1848
+ }
1849
+ },
1850
+ {
1851
+ "name": "wje-level-indicator",
1852
+ "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.",
1853
+ "doc-url": "",
1854
+ "attributes": [
1855
+ { "name": "level", "value": { "type": "string" } },
1856
+ { "name": "bars", "value": { "type": "string" } }
1857
+ ],
1858
+ "events": [],
1859
+ "js": {
1860
+ "properties": [
1861
+ {
1862
+ "name": "level",
1863
+ "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."
1864
+ },
1865
+ {
1866
+ "name": "bars",
1867
+ "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."
1868
+ },
1869
+ {
1870
+ "name": "colorize",
1871
+ "description": "Determines whether the element has the \"colorize\" attribute set."
1872
+ },
1873
+ {
1874
+ "name": "reverse",
1875
+ "description": "Getter method to check if the \"reverse\" attribute is present on the element."
1876
+ },
1877
+ { "name": "className", "type": "string" }
1878
+ ],
1879
+ "events": []
1880
+ }
1881
+ },
1882
+ {
1883
+ "name": "wje-main",
1884
+ "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.",
1885
+ "doc-url": "",
1886
+ "attributes": [],
1887
+ "slots": [
1888
+ {
1889
+ "name": "",
1890
+ "description": "The default slot for the main section."
1891
+ }
1892
+ ],
1893
+ "events": [],
1894
+ "js": {
1895
+ "properties": [{ "name": "className", "type": "string" }],
1896
+ "events": []
1897
+ }
1898
+ },
1899
+ {
1900
+ "name": "wje-list",
1901
+ "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))_",
1902
+ "doc-url": "",
1903
+ "attributes": [],
1904
+ "slots": [
1905
+ { "name": "", "description": "The default slot for the list." }
1906
+ ],
1907
+ "events": [],
1908
+ "js": {
1909
+ "properties": [{ "name": "className", "type": "string" }],
1910
+ "events": []
1911
+ }
1912
+ },
1913
+ {
1914
+ "name": "wje-masonry",
1915
+ "description": "This element represents a masonry layout.\n---\n\n\n### **Methods:**\n - **beforeDisconnect()** - Callback for when the element is disconnected.\n- **setupAttributes()** - Sets up the attributes for the element.\n- **draw(): _DocumentFragment_** - Draws the element for the masonry layout.\n- **afterDraw()** - Called after the element is drawn.\n- **renderCols(colCount: _number_)** - Renders the columns.\n- **scheduleLayout(ms: _number_)** - Schedules a layout.\n\n### **Slots:**\n - _default_ - The default slot for the masonry layout.\n\n### **CSS Properties:**\n - **--wje-masonry-layout-gap** - The gap between items in the masonry layout. Accepts any valid CSS length. Default is 1rem. _(default: 1rem)_\n- **--wje-masonry-layout-col-count** - The count column in the masonry layout. Accepts any valid CSS length. _(default: 1)_\n\n### **CSS Parts:**\n - **native** - The native part of the masonry layout.\n- **column** - The individual columns in the masonry layout.",
1916
+ "doc-url": "",
1917
+ "attributes": [
1918
+ { "name": "max-col-width", "value": { "type": "string" } },
1919
+ { "name": "gap", "value": { "type": "string" } },
1920
+ { "name": "cols", "value": { "type": "string" } }
1921
+ ],
1922
+ "slots": [
1923
+ {
1924
+ "name": "",
1925
+ "description": "The default slot for the masonry layout."
1926
+ }
1927
+ ],
1928
+ "events": [],
1929
+ "js": {
1930
+ "properties": [
1931
+ {
1932
+ "name": "maxColWidth",
1933
+ "description": "Getter for the maxColWidth property."
1934
+ },
1935
+ {
1936
+ "name": "cols",
1937
+ "description": "Getter for the cols property."
1938
+ },
1939
+ { "name": "gap", "description": "Getter for the gap property." },
1940
+ {
1941
+ "name": "debounce",
1942
+ "description": "Getter for the debounce property."
1943
+ },
1944
+ {
1945
+ "name": "columns",
1946
+ "description": "Getter for the columns property."
1947
+ },
1948
+ { "name": "debounceId" },
1949
+ { "name": "ro" },
1950
+ { "name": "className", "type": "string" },
1951
+ {
1952
+ "name": "onSlotChange",
1953
+ "description": "Called when the slot changes."
1954
+ },
1955
+ {
1956
+ "name": "onResize",
1957
+ "description": "Called when the window resizes."
1958
+ },
1959
+ { "name": "layout", "description": "Lays out the element." },
1960
+ { "name": "currentRequestAnimationFrameCallback" },
1961
+ { "name": "unsetSlot" }
1962
+ ],
1963
+ "events": []
1964
+ }
1965
+ },
1966
+ {
1967
+ "name": "wje-menu",
1968
+ "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.",
1969
+ "doc-url": "",
1970
+ "attributes": [
1971
+ { "name": "active", "value": { "type": "string" } },
1972
+ { "name": "collapse", "value": { "type": "string" } }
1973
+ ],
1974
+ "slots": [
1975
+ { "name": "", "description": "The default slot for the menu." }
1976
+ ],
1977
+ "events": [],
1978
+ "js": {
1979
+ "properties": [{ "name": "className", "type": "string" }],
1980
+ "events": []
1981
+ }
1982
+ },
1983
+ {
1984
+ "name": "wje-menu-button",
1985
+ "description": "This element represents a menu button.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the menu button.\n- **afterDraw()** - Refreshes the component after drawing. Adds a click event listener that toggles the \"open\" class on the content element.\n\n### **Slots:**\n - _default_ - The default slot for the menu button. // @fires click - Event fired when the menu button is clicked.",
1986
+ "doc-url": "",
1987
+ "attributes": [],
1988
+ "slots": [
1989
+ {
1990
+ "name": "",
1991
+ "description": "The default slot for the menu button. // @fires click - Event fired when the menu button is clicked."
1992
+ }
1993
+ ],
1994
+ "events": [],
1995
+ "js": {
1996
+ "properties": [{ "name": "className", "type": "string" }],
1997
+ "events": []
1998
+ }
1999
+ },
2000
+ {
2001
+ "name": "wje-menu-item",
2002
+ "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.",
2003
+ "doc-url": "",
2004
+ "attributes": [],
2005
+ "slots": [
2006
+ {
2007
+ "name": "",
2008
+ "description": "The default slot for the menu item."
2009
+ },
2010
+ {
2011
+ "name": "start",
2012
+ "description": "The slot for the start of the menu item."
2013
+ },
2014
+ {
2015
+ "name": "end",
2016
+ "description": "The slot for the end of the menu item."
2017
+ },
2018
+ {
2019
+ "name": "submenu",
2020
+ "description": "The slot for the submenu of the menu item."
2021
+ }
2022
+ ],
2023
+ "events": [],
2024
+ "js": {
2025
+ "properties": [
2026
+ {
2027
+ "name": "placement",
2028
+ "description": "Getter for placement attribute."
2029
+ },
2030
+ {
2031
+ "name": "offset",
2032
+ "description": "Getter for offset attribute."
2033
+ },
2034
+ {
2035
+ "name": "variant",
2036
+ "description": "Getter for variant attribute."
2037
+ },
2038
+ {
2039
+ "name": "collapse",
2040
+ "description": "Getter for collapse attribute."
2041
+ },
2042
+ {
2043
+ "name": "customEvent",
2044
+ "description": "Retrieves the value of the 'custom-event' attribute from the element."
2045
+ },
2046
+ {
2047
+ "name": "customEventParameters",
2048
+ "description": "Retrieves a mapped object containing custom event parameters extracted from the element's attributes.\nAttributes considered are those that begin with 'custom-event-'.\nThe mapped object's keys are derived by removing the 'custom-event-' prefix from the attribute names,\nand the values are the corresponding attribute values."
2049
+ },
2050
+ { "name": "className", "type": "string" },
2051
+ { "name": "mouseenterHandler" },
2052
+ { "name": "rebindRouterLinks" },
2053
+ {
2054
+ "name": "clickHandler",
2055
+ "description": "Handles the click event on the MenuItem."
2056
+ },
2057
+ {
2058
+ "name": "shouldHideSubmenu",
2059
+ "description": "Checks if the submenu should be hidden based on the event."
2060
+ },
2061
+ {
2062
+ "name": "dispatchMove",
2063
+ "description": "Dispatches a mousemove event."
2064
+ },
2065
+ {
2066
+ "name": "dispatchReposition",
2067
+ "description": "Dispatches a reposition event."
2068
+ },
2069
+ { "name": "handleActiveClick" },
2070
+ { "name": "_bind", "type": "boolean" }
2071
+ ],
2072
+ "events": []
2073
+ }
2074
+ },
2075
+ {
2076
+ "name": "wje-menu-label",
2077
+ "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.",
2078
+ "doc-url": "",
2079
+ "attributes": [],
2080
+ "slots": [
2081
+ {
2082
+ "name": "",
2083
+ "description": "The default slot for the menu label."
2084
+ }
2085
+ ],
2086
+ "events": [],
2087
+ "js": {
2088
+ "properties": [
2089
+ { "name": "className", "type": "string" },
2090
+ { "name": "hasSubmenu" }
2091
+ ],
2092
+ "events": []
2093
+ }
2094
+ },
2095
+ {
2096
+ "name": "wje-option",
2097
+ "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.",
2098
+ "doc-url": "",
2099
+ "attributes": [{ "name": "selected", "value": { "type": "string" } }],
2100
+ "slots": [
2101
+ {
2102
+ "name": "start",
2103
+ "description": "The slot for the start of the option."
2104
+ },
2105
+ { "name": "", "description": "The default slot for the option." },
2106
+ {
2107
+ "name": "end",
2108
+ "description": "The slot for the end of the option. // @fires wje-option:change - Event fired when the option is clicked."
2109
+ }
2110
+ ],
2111
+ "events": [],
2112
+ "js": {
2113
+ "properties": [
2114
+ {
2115
+ "name": "dependencies",
2116
+ "description": "Dependencies of the Option component.",
2117
+ "type": "object"
2118
+ },
2119
+ {
2120
+ "name": "selected",
2121
+ "description": "Retrieves the 'selected' attribute status of the element."
2122
+ },
2123
+ {
2124
+ "name": "checkbox",
2125
+ "description": "Retrieves the value indicating whether the closest 'wje-select' element has a 'checkbox' attribute."
2126
+ },
2127
+ {
2128
+ "name": "multiple",
2129
+ "description": "Determines whether the closest 'wje-select' element has the 'multiple' attribute."
2130
+ },
2131
+ { "name": "ownerSelect" },
2132
+ {
2133
+ "name": "value",
2134
+ "description": "Sets the value attribute of the option."
2135
+ },
2136
+ {
2137
+ "name": "text",
2138
+ "description": "Sets the text content of the option."
2139
+ },
2140
+ { "name": "className", "type": "string" }
2141
+ ],
2142
+ "events": []
2143
+ }
2144
+ },
2145
+ {
2146
+ "name": "wje-orgchart",
2147
+ "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- **syncAria()** - Sync ARIA attributes on host.\n\n### **CSS Parts:**\n - **** - Styles the element.",
2148
+ "doc-url": "",
2149
+ "attributes": [],
2150
+ "events": [],
2151
+ "js": {
2152
+ "properties": [{ "name": "className", "type": "string" }],
2153
+ "events": []
2154
+ }
2155
+ },
2156
+ {
2157
+ "name": "wje-options",
2158
+ "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.",
2159
+ "doc-url": "",
2160
+ "attributes": [
2161
+ { "name": "search", "value": { "type": "string" } },
2162
+ { "name": "attached", "value": { "type": "string" } }
2163
+ ],
2164
+ "events": [],
2165
+ "js": {
2166
+ "properties": [
2167
+ { "name": "dependencies", "type": "object" },
2168
+ {
2169
+ "name": "optionArrayPath",
2170
+ "description": "Gets the option array path attribute."
2171
+ },
2172
+ {
2173
+ "name": "hasOptionArrayPath",
2174
+ "description": "Checks if the option array path attribute is present."
2175
+ },
2176
+ {
2177
+ "name": "dropdownHeight",
2178
+ "description": "Sets the dropdown height attribute."
2179
+ },
2180
+ {
2181
+ "name": "itemValue",
2182
+ "description": "Gets the item value attribute."
2183
+ },
2184
+ {
2185
+ "name": "itemText",
2186
+ "description": "Gets the item text attribute."
2187
+ },
2188
+ {
2189
+ "name": "lazyLoadSize",
2190
+ "description": "Sets the lazy load size attribute."
2191
+ },
2192
+ { "name": "search", "description": "Gets the search attribute." },
2193
+ {
2194
+ "name": "hasSearch",
2195
+ "description": "Checks if the search attribute is present."
2196
+ },
2197
+ {
2198
+ "name": "searchToQueryParams",
2199
+ "description": "Sets the value to define search-to-query params behavior."
2200
+ },
2201
+ {
2202
+ "name": "hasSearchToQueryParams",
2203
+ "description": "Determines whether the 'search-to-query-params' attribute is present on the element."
2204
+ },
2205
+ {
2206
+ "name": "searchParamName",
2207
+ "description": "Gets the search parameter name used in queries.\nRetrieves the value of the 'search-param-name' attribute.\nIf the attribute is not set, it defaults to 'search'."
2208
+ },
2209
+ {
2210
+ "name": "queryParams",
2211
+ "description": "Retrieves the value of the 'query-params' attribute."
2212
+ },
2213
+ {
2214
+ "name": "lazy",
2215
+ "description": "Checks if the lazy attribute is present."
2216
+ },
2217
+ { "name": "options", "description": "Gets the loaded options." },
2218
+ {
2219
+ "name": "loadedOptions",
2220
+ "description": "Sets the loaded options.",
2221
+ "type": "Array"
2222
+ },
2223
+ { "name": "className", "type": "string" },
2224
+ { "name": "dispatchOptionsLoadEvent" },
2225
+ {
2226
+ "name": "recursiveUpdate",
2227
+ "description": "Recursively updates the object based on the provided path to the property."
2228
+ },
2229
+ {
2230
+ "name": "htmlItem",
2231
+ "description": "Generates an HTML option element based on the provided item."
2232
+ }
2233
+ ],
2234
+ "events": []
2235
+ }
2236
+ },
2237
+ {
2238
+ "name": "wje-orgchart-item",
2239
+ "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.",
2240
+ "doc-url": "",
2241
+ "attributes": [
2242
+ {
2243
+ "name": "boss",
2244
+ "description": "The boss of the orgchart item (default: false).",
2245
+ "value": { "type": "boolean" }
2246
+ }
2247
+ ],
2248
+ "slots": [
2249
+ {
2250
+ "name": "",
2251
+ "description": "The default slot for the orgchart item."
2252
+ },
2253
+ {
2254
+ "name": "child",
2255
+ "description": "The child slot for the orgchart item."
2256
+ }
2257
+ ],
2258
+ "events": [],
2259
+ "js": {
2260
+ "properties": [
2261
+ {
2262
+ "name": "boss",
2263
+ "description": "Gets the boss of the orgchart item."
2264
+ },
2265
+ { "name": "className", "type": "string" },
2266
+ {
2267
+ "name": "toggleChildren",
2268
+ "description": "Toggles the children of the orgchart item."
2269
+ }
2270
+ ],
2271
+ "events": []
2272
+ }
2273
+ },
2274
+ {
2275
+ "name": "wje-orgchart-group",
2276
+ "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.",
2277
+ "doc-url": "",
2278
+ "attributes": [],
2279
+ "events": [],
2280
+ "js": {
2281
+ "properties": [
2282
+ {
2283
+ "name": "className",
2284
+ "description": "The class name for the component.",
2285
+ "type": "string"
2286
+ }
2287
+ ],
2288
+ "events": []
2289
+ }
2290
+ },
2291
+ {
2292
+ "name": "wje-panel",
2293
+ "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.",
2294
+ "doc-url": "",
2295
+ "attributes": [],
2296
+ "slots": [
2297
+ { "name": "", "description": "The default slot for the panel." }
2298
+ ],
2299
+ "events": [],
2300
+ "js": {
2301
+ "properties": [
2302
+ { "name": "className", "type": "string" },
2303
+ { "name": "last", "type": "boolean" }
2304
+ ],
2305
+ "events": []
2306
+ }
2307
+ },
2308
+ {
2309
+ "name": "wje-pagination",
2310
+ "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.",
2311
+ "doc-url": "",
2312
+ "attributes": [
2313
+ { "name": "page", "value": { "type": "string" } },
2314
+ { "name": "total-items", "value": { "type": "string" } },
2315
+ { "name": "page-size", "value": { "type": "string" } }
2316
+ ],
2317
+ "events": [],
2318
+ "js": {
2319
+ "properties": [
2320
+ {
2321
+ "name": "page",
2322
+ "description": "Retrieves the current page number as a numeric value."
2323
+ },
2324
+ {
2325
+ "name": "maxPages",
2326
+ "description": "Gets the maximum number of pages.\nThis getter retrieves the value of the \"max-pages\" attribute from the element.\nIf the attribute is not set or is invalid, it defaults to 3."
2327
+ },
2328
+ {
2329
+ "name": "pageSize",
2330
+ "description": "Retrieves the value of the 'page-size' attribute and converts it to a number.\nIf the attribute is not set or is invalid, returns the default value of 3."
2331
+ },
2332
+ {
2333
+ "name": "totalItems",
2334
+ "description": "Retrieves the total number of items represented by the 'total-items' attribute."
2335
+ },
2336
+ {
2337
+ "name": "showFirstButton",
2338
+ "description": "Determines whether the 'show-first-button' attribute is present on the element."
2339
+ },
2340
+ {
2341
+ "name": "showLastButton",
2342
+ "description": "Determines if the 'show-last-button' attribute is present on the element."
2343
+ },
2344
+ {
2345
+ "name": "paginateObj",
2346
+ "description": "Retrieves the pagination object used for managing paginated data."
2347
+ },
2348
+ {
2349
+ "name": "round",
2350
+ "description": "Retrieves the value of the 'round' attribute for the current element."
2351
+ },
2352
+ {
2353
+ "name": "showInfo",
2354
+ "description": "Retrieves the value of the 'show-info' attribute.\nChecks if the 'show-info' attribute is present on the element."
2355
+ },
2356
+ { "name": "showPageSizeOptions" },
2357
+ {
2358
+ "name": "pageSizeOptions",
2359
+ "description": "Retrieves the list of available page size options.\nThis method is used to fetch the values representing the different page size options\nthat can be provided or configured in a paginated component or system."
2360
+ },
2361
+ { "name": "hideEmpty" },
2362
+ {
2363
+ "name": "dependencies",
2364
+ "description": "Dependencies of the Button element.",
2365
+ "type": "object"
2366
+ },
2367
+ { "name": "className", "type": "string" },
2368
+ {
2369
+ "name": "pageClickAction",
2370
+ "description": "Handles the click action for pagination and updates the current page.\nIf the clicked page number is the same as the current page, no action is performed.\nOtherwise, the current page is updated to the new page number, and a custom event\n'wje-pagination:page-change' is dispatched with the pagination object."
2371
+ },
2372
+ { "name": "localizer" },
2373
+ { "name": "_paginateObj", "type": "null" }
2374
+ ],
2375
+ "events": []
2376
+ }
2377
+ },
2378
+ {
2379
+ "name": "wje-popup",
2380
+ "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. // @fires wje-popup:reposition - Event fired when the popup is repositioned. // @fires wje-popup:show - Event fired when the popup is shown. // @fires wje-popup:hide - Event fired when the popup is hidden.\n\n### **CSS Parts:**\n - **native** - The native part of the popup.",
2381
+ "doc-url": "",
2382
+ "attributes": [],
2383
+ "slots": [
2384
+ {
2385
+ "name": "anchor",
2386
+ "description": "The slot for the anchor of the popup."
2387
+ },
2388
+ {
2389
+ "name": "arrow",
2390
+ "description": "The slot for the arrow of the popup."
2391
+ },
2392
+ {
2393
+ "name": "",
2394
+ "description": "The default slot for the popup. // @fires wje-popup:reposition - Event fired when the popup is repositioned. // @fires wje-popup:show - Event fired when the popup is shown. // @fires wje-popup:hide - Event fired when the popup is hidden."
2395
+ }
2396
+ ],
2397
+ "events": [{ "name": "wje-portal:restored", "type": "CustomEvent" }],
2398
+ "js": {
2399
+ "properties": [
2400
+ { "name": "loader" },
2401
+ {
2402
+ "name": "manual",
2403
+ "description": "Gets the manual property of the popup."
2404
+ },
2405
+ {
2406
+ "name": "portal",
2407
+ "description": "Returns whether the 'portal' attribute is present on the element."
2408
+ },
2409
+ { "name": "floatingEl" },
2410
+ { "name": "className", "type": "string" },
2411
+ { "name": "manualCallback" },
2412
+ { "name": "clickHandler" },
2413
+ {
2414
+ "name": "handleHide",
2415
+ "description": "Removes the active attribute when the popup is hidden."
2416
+ },
2417
+ { "name": "_manual", "type": "boolean" }
2418
+ ],
2419
+ "events": [{ "name": "wje-portal:restored", "type": "CustomEvent" }]
2420
+ }
2421
+ },
2422
+ {
2423
+ "name": "wje-progress-bar",
2424
+ "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))_",
2425
+ "doc-url": "",
2426
+ "attributes": [{ "name": "progress", "value": { "type": "string" } }],
2427
+ "slots": [
2428
+ {
2429
+ "name": "",
2430
+ "description": "The default slot for the progress bar."
2431
+ },
2432
+ {
2433
+ "name": "start",
2434
+ "description": "The start slot of the progress bar."
2435
+ },
2436
+ {
2437
+ "name": "end",
2438
+ "description": "The end slot of the progress bar."
2439
+ }
2440
+ ],
2441
+ "events": [],
2442
+ "js": {
2443
+ "properties": [
2444
+ {
2445
+ "name": "radius",
2446
+ "description": "Gets the radius of the progress bar."
2447
+ },
2448
+ {
2449
+ "name": "diameter",
2450
+ "description": "Gets the diameter of the progress bar."
2451
+ },
2452
+ {
2453
+ "name": "containerSize",
2454
+ "description": "Gets the diameter of the progress bar."
2455
+ },
2456
+ {
2457
+ "name": "stroke",
2458
+ "description": "Gets the stroke of the progress bar."
2459
+ },
2460
+ {
2461
+ "name": "linecap",
2462
+ "description": "Gets the linecap of the progress bar."
2463
+ },
2464
+ { "name": "className", "type": "string" }
2465
+ ],
2466
+ "events": []
2467
+ }
2468
+ },
2469
+ {
2470
+ "name": "wje-qr-code",
2471
+ "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.",
2472
+ "doc-url": "",
2473
+ "attributes": [],
2474
+ "slots": [
2475
+ {
2476
+ "name": "top",
2477
+ "description": "The slot for the top content of the QR code."
2478
+ },
2479
+ {
2480
+ "name": "bottom",
2481
+ "description": "The slot for the bottom content of the QR code."
2482
+ }
2483
+ ],
2484
+ "events": [],
2485
+ "js": {
2486
+ "properties": [
2487
+ {
2488
+ "name": "value",
2489
+ "description": "Content encoded into the QR code.",
2490
+ "type": "string"
2491
+ },
2492
+ {
2493
+ "name": "background",
2494
+ "description": "Background color of the QR code.",
2495
+ "type": "string|null"
2496
+ },
2497
+ {
2498
+ "name": "backgroundAlpha",
2499
+ "description": "Background alpha channel in range 0-1.\nSupports aliases: background-alpha, backgroundalpha, backgroundAlpha.",
2500
+ "type": "number|null"
2501
+ },
2502
+ {
2503
+ "name": "foreground",
2504
+ "description": "Foreground color of the QR code.",
2505
+ "type": "string|null"
2506
+ },
2507
+ {
2508
+ "name": "foregroundAlpha",
2509
+ "description": "Foreground alpha channel in range 0-1.\nSupports aliases: foreground-alpha, foregroundalpha, foregroundAlpha.",
2510
+ "type": "number|null"
2511
+ },
2512
+ {
2513
+ "name": "level",
2514
+ "description": "Error correction level. Accepted values: L, M, Q, H.",
2515
+ "type": "string|null"
2516
+ },
2517
+ {
2518
+ "name": "padding",
2519
+ "description": "Padding around the QR code in pixels.",
2520
+ "type": "number|null"
2521
+ },
2522
+ {
2523
+ "name": "size",
2524
+ "description": "Output QR code size in pixels.",
2525
+ "type": "number|null"
2526
+ },
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-radio",
2538
+ "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.",
2539
+ "doc-url": "",
2540
+ "attributes": [
2541
+ { "name": "checked", "value": { "type": "string" } },
2542
+ { "name": "disabled", "value": { "type": "string" } },
2543
+ { "name": "value", "value": { "type": "string" } }
2544
+ ],
2545
+ "slots": [
2546
+ {
2547
+ "name": "",
2548
+ "description": "Default slot for the radio button label content."
2549
+ }
2550
+ ],
2551
+ "events": [],
2552
+ "js": {
2553
+ "properties": [
2554
+ { "name": "value" },
2555
+ {
2556
+ "name": "checked",
2557
+ "description": "Gets the checked property of the radio button."
2558
+ },
2559
+ {
2560
+ "name": "disabled",
2561
+ "description": "Get disabled attribute value."
2562
+ },
2563
+ {
2564
+ "name": "className",
2565
+ "description": "Sets the color of the radio button.",
2566
+ "type": "string"
2567
+ },
2568
+ {
2569
+ "name": "inputEvent",
2570
+ "description": "Called when an attribute changes."
2571
+ }
2572
+ ],
2573
+ "events": []
2574
+ }
2575
+ },
2576
+ {
2577
+ "name": "wje-radio-group",
2578
+ "description": "This element represents a group of radio buttons.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the radio group.\n- **afterDraw()** - Adds event listeners after the component is drawn. Handles the selection of radio buttons.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getRadioByValue(value: _string_): _Radio_** - Returns the radio button with the given value.\n- **removeCheck()** - Removes the check from all radio buttons.\n- **checkRadio(radio)** - Sets the given radio button to checked.\n- **getAllElements(): _HTMLElement[]_** - Retrieves all direct child elements of the current element.\n\n### **Slots:**\n - _default_ - The default slot for the radio group.",
2579
+ "doc-url": "",
2580
+ "attributes": [
2581
+ { "name": "required", "value": { "type": "string" } },
2582
+ { "name": "value", "value": { "type": "string" } },
2583
+ { "name": "disabled", "value": { "type": "string" } },
2584
+ { "name": "invalid", "value": { "type": "string" } },
2585
+ { "name": "label", "value": { "type": "string" } }
2586
+ ],
2587
+ "slots": [
2588
+ {
2589
+ "name": "",
2590
+ "description": "The default slot for the radio group."
2591
+ }
2592
+ ],
2593
+ "events": [],
2594
+ "js": {
2595
+ "properties": [
2596
+ {
2597
+ "name": "value",
2598
+ "description": "Getter for the value attribute."
2599
+ },
2600
+ {
2601
+ "name": "required",
2602
+ "description": "Getter for the name attribute."
2603
+ },
2604
+ {
2605
+ "name": "label",
2606
+ "description": "Getter for the label attribute."
2607
+ },
2608
+ { "name": "className", "type": "string" },
2609
+ { "name": "invalid", "type": "boolean" },
2610
+ { "name": "pristine", "type": "boolean" }
2611
+ ],
2612
+ "events": []
2613
+ }
2614
+ },
2615
+ {
2616
+ "name": "wje-rate",
2617
+ "description": "This element represents a rating component.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the rating component.\n- **afterDraw()** - Adds event listeners after the component is drawn.\n- **createIcons(i: _number_): _Element_** - Creates the icons for the rating component.\n- **changeRate()** - Changes the rate of the rating component.\n- **syncAria()** - Sync ARIA attributes on host.\n- **getIcons(index: _number_): _Element_** - Returns the icons for the rating component.\n- **getValueFromXPosition(coordinate: _number_): _number_** - Returns the value from the x position.\n- **roundToPrecision(numberToRound: _number_, precision: _number_): _number_** - Rounds a given number to the nearest specified precision.\n\n### **CSS Properties:**\n - **--wje-rate-gap** - Defines the spacing (gap) between individual items in the rating component. Accepts any valid CSS length unit (e.g., `px`, `rem`, `em`) to adjust the distance between rating elements. _(default: .25rem)_\n- **--wje-rate-color** - Specifies the default color of the rating items. Accepts any valid CSS color value, including named colors, hex values, RGB, or CSS variables. _(default: var(--wje-color-contrast-11))_\n- **--wje-rate-selected-color** - Sets the color for selected or highlighted rating items. This property helps visually distinguish selected ratings. Accepts any valid CSS color value. _(default: var(--wje-color-danger-9))_\n\n### **CSS Parts:**\n - **native** - The native part of the rating component.",
2618
+ "doc-url": "",
2619
+ "attributes": [
2620
+ { "name": "is-hover", "value": { "type": "string" } },
2621
+ { "name": "value", "value": { "type": "string" } },
2622
+ {
2623
+ "name": "max",
2624
+ "description": "The maximum value of the rating component.",
2625
+ "value": { "type": "number" }
2626
+ },
2627
+ { "name": "disabled", "value": { "type": "string" } },
2628
+ { "name": "readonly", "value": { "type": "string" } },
2629
+ {
2630
+ "name": "precision",
2631
+ "description": "The precision of the rating component.",
2632
+ "value": { "type": "number" }
2633
+ },
2634
+ {
2635
+ "name": "icons",
2636
+ "description": "The icons of the rating component.",
2637
+ "value": { "type": "Array<string>" }
2638
+ }
2639
+ ],
2640
+ "events": [],
2641
+ "js": {
2642
+ "properties": [
2643
+ {
2644
+ "name": "precision",
2645
+ "description": "Gets the precision of the rating component."
2646
+ },
2647
+ {
2648
+ "name": "max",
2649
+ "description": "Gets the maximum value of the rating component."
2650
+ },
2651
+ {
2652
+ "name": "icons",
2653
+ "description": "Gets the icons of the rating component."
2654
+ },
2655
+ {
2656
+ "name": "value",
2657
+ "description": "Gets the value of the rating component."
2658
+ },
2659
+ {
2660
+ "name": "className",
2661
+ "description": "Sets the hover value of the rating component.",
2662
+ "type": "string"
2663
+ },
2664
+ {
2665
+ "name": "onMouseEnter",
2666
+ "description": "Event handler for the mouse enter event."
2667
+ },
2668
+ {
2669
+ "name": "onMouseLeave",
2670
+ "description": "Event handler for the mouse leave event."
2671
+ },
2672
+ {
2673
+ "name": "onMouseMove",
2674
+ "description": "Event handler for the mouse move event."
2675
+ },
2676
+ {
2677
+ "name": "onTouchStart",
2678
+ "description": "Event handler for the touch start event."
2679
+ },
2680
+ {
2681
+ "name": "onTouchEnd",
2682
+ "description": "Event handler for the touch end event."
2683
+ },
2684
+ {
2685
+ "name": "onTouchMove",
2686
+ "description": "Event handler for the touch move event."
2687
+ },
2688
+ {
2689
+ "name": "onClick",
2690
+ "description": "Event handler for the click event."
2691
+ }
2692
+ ],
2693
+ "events": []
2694
+ }
2695
+ },
2696
+ {
2697
+ "name": "wje-relative-time",
2698
+ "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.",
2699
+ "doc-url": "",
2700
+ "attributes": [
2701
+ { "name": "date", "value": { "type": "string" } },
2702
+ { "name": "lang", "value": { "type": "string" } }
2703
+ ],
2704
+ "events": [],
2705
+ "js": {
2706
+ "properties": [
2707
+ {
2708
+ "name": "date",
2709
+ "description": "Gets the date of the relative time component."
2710
+ },
2711
+ {
2712
+ "name": "objectDate",
2713
+ "description": "Gets the object date of the relative time component."
2714
+ },
2715
+ {
2716
+ "name": "className",
2717
+ "description": "Sets the lang of the relative time component.",
2718
+ "type": "string"
2719
+ },
2720
+ { "name": "localizer" }
2721
+ ],
2722
+ "events": []
2723
+ }
2724
+ },
2725
+ {
2726
+ "name": "wje-reorder",
2727
+ "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.",
2728
+ "doc-url": "",
2729
+ "attributes": [],
2730
+ "slots": [
2731
+ {
2732
+ "name": "",
2733
+ "description": "The default slot for the reorder. // @fires wje-reorder:change - Event fired when the reorder is changed."
2734
+ }
2735
+ ],
2736
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }],
2737
+ "js": {
2738
+ "properties": [
2739
+ {
2740
+ "name": "className",
2741
+ "description": "The class name for the component.",
2742
+ "type": "string"
2743
+ },
2744
+ { "name": "dragEl", "type": "null" },
2745
+ { "name": "items", "type": "array" },
2746
+ { "name": "originalIndex", "type": "null" },
2747
+ { "name": "isDragging", "type": "boolean" },
2748
+ { "name": "offsetX", "type": "number" },
2749
+ { "name": "offsetY", "type": "number" },
2750
+ { "name": "cloneEl", "type": "null" }
2751
+ ],
2752
+ "events": [{ "name": "wje-reorder:change", "type": "CustomEvent" }]
2753
+ }
2754
+ },
2755
+ {
2756
+ "name": "wje-reorder-dropzone",
2757
+ "description": "This element represents a reorder dropzone.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Returns the list of observed attributes.\n\n### **Slots:**\n - _default_ - The default slot for the reorder dropzone.\n\n### **CSS Parts:**\n - **native** - The native part of the reorder dropzone.",
2758
+ "doc-url": "",
2759
+ "attributes": [],
2760
+ "slots": [
2761
+ {
2762
+ "name": "",
2763
+ "description": "The default slot for the reorder dropzone."
2764
+ }
2765
+ ],
2766
+ "events": [],
2767
+ "js": {
2768
+ "properties": [
2769
+ {
2770
+ "name": "className",
2771
+ "description": "The class name for the component.",
2772
+ "type": "string"
2773
+ }
2774
+ ],
2775
+ "events": []
2776
+ }
2777
+ },
2778
+ {
2779
+ "name": "wje-reorder-handle",
2780
+ "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.",
2781
+ "doc-url": "",
2782
+ "attributes": [
2783
+ { "name": "dropzone", "value": { "type": "string" } },
2784
+ { "name": "parent", "value": { "type": "string" } }
2785
+ ],
2786
+ "slots": [
2787
+ {
2788
+ "name": "",
2789
+ "description": "The default slot for the reorder handle."
2790
+ }
2791
+ ],
2792
+ "events": [],
2793
+ "js": {
2794
+ "properties": [
2795
+ {
2796
+ "name": "className",
2797
+ "description": "The class name for the component.",
2798
+ "type": "string"
2799
+ }
2800
+ ],
2801
+ "events": []
2802
+ }
2803
+ },
2804
+ {
2805
+ "name": "wje-reorder-item",
2806
+ "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.",
2807
+ "doc-url": "",
2808
+ "attributes": [],
2809
+ "slots": [
2810
+ {
2811
+ "name": "",
2812
+ "description": "The default slot for the reorder item."
2813
+ }
2814
+ ],
2815
+ "events": [],
2816
+ "js": {
2817
+ "properties": [
2818
+ {
2819
+ "name": "className",
2820
+ "description": "The class name for the component.",
2821
+ "type": "string"
2822
+ }
2823
+ ],
2824
+ "events": []
2825
+ }
2826
+ },
2827
+ {
2828
+ "name": "wje-route",
2829
+ "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.",
2830
+ "doc-url": "",
2831
+ "attributes": [],
2832
+ "events": [],
2833
+ "js": {
2834
+ "properties": [{ "name": "className", "type": "string" }],
2835
+ "events": []
2836
+ }
2837
+ },
2838
+ {
2839
+ "name": "wje-router",
2840
+ "description": "This element represents a router in a routing system.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **beforeDraw()** - Sets up the router after the component is drawn.\n- **parseElement(element: _Element_): _object_** - Parses an element and returns an object representation.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.",
2841
+ "doc-url": "",
2842
+ "attributes": [],
2843
+ "events": [],
2844
+ "js": {
2845
+ "properties": [
2846
+ { "name": "routes" },
2847
+ { "name": "rootElement" },
2848
+ { "name": "className", "type": "string" },
2849
+ {
2850
+ "name": "setBreadcrumb",
2851
+ "description": "Sets the breadcrumb for the transition."
2852
+ },
2853
+ {
2854
+ "name": "resetScrollPosition",
2855
+ "description": "Resets the scroll position."
2856
+ }
2857
+ ],
2858
+ "events": []
2859
+ }
2860
+ },
2861
+ {
2862
+ "name": "wje-router-link",
2863
+ "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.",
2864
+ "doc-url": "",
2865
+ "attributes": [],
2866
+ "slots": [
2867
+ {
2868
+ "name": "",
2869
+ "description": "The default slot for the router link."
2870
+ }
2871
+ ],
2872
+ "events": [],
2873
+ "js": {
2874
+ "properties": [{ "name": "className", "type": "string" }],
2875
+ "events": []
2876
+ }
2877
+ },
2878
+ {
2879
+ "name": "wje-router-outlet",
2880
+ "description": "This element represents a route in a routing system.\n---\n",
2881
+ "doc-url": "",
2882
+ "attributes": [],
2883
+ "events": [],
2884
+ "js": {
2885
+ "properties": [
2886
+ {
2887
+ "name": "className",
2888
+ "description": "The class name for the component.",
2889
+ "type": "string"
2890
+ }
2891
+ ],
2892
+ "events": []
2893
+ }
2894
+ },
2895
+ {
2896
+ "name": "wje-row",
2897
+ "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.",
2898
+ "doc-url": "",
2899
+ "attributes": [],
2900
+ "slots": [
2901
+ { "name": "", "description": "The default slot for the row." }
2902
+ ],
2903
+ "events": [],
2904
+ "js": {
2905
+ "properties": [
2906
+ {
2907
+ "name": "className",
2908
+ "description": "The class name for the component.",
2909
+ "type": "string"
2910
+ }
2911
+ ],
2912
+ "events": []
2913
+ }
2914
+ },
2915
+ {
2916
+ "name": "wje-select",
2917
+ "description": "\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the select.\n- **afterDraw(): _void_** - Executes post-render logic for the custom element.\nThis includes validation, event listener registration, managing custom attributes, and\nhandling options initialization for the component.\n- **getAllOptions(): _NodeList_** - Returns all the options as HTML.\n- **selectionChanged(options: _Array|null_, length: _number_): _void_** - Handles changes in the selection for a component, updating internal values, input fields,\nand visual presentation (like chips or slots) as per the given selection options.\n- **selections(silence: _boolean_): _void_** - Handles the logic for updating selections based on the current selected options,\nupdating chips content, and dispatching change events if necessary.\n- **counter(): _void_** - Updates the counter element to reflect the current state of selected values relative to the maximum allowed options.\nIf the maximum options are selected, the counter element is removed. If it does not already exist and needs to be displayed, it is created.\n- **getChip(option: _object_): _HTMLElement_** - Creates and returns a chip element with specified properties and a label.\n- **htmlOption(item: _object_, map: _@param {string} [map.value] The property of the item to use for the option's value.\n\t * @param {string} [map.text] The property of the item to use for the option's text.\n\t * _): _HTMLElement_** - Generates an HTML option element based on the provided item and mapping.\n- **htmlSelectedItem(item: _any_): _any_** - Returns the provided item.\n- **addOption(optionData: _object_, silent: _boolean_, map: _@param {string} [map.value] The key in optionData that represents the value of the option.\n\t * @param {string} [map.text] The key in optionData that represents the text of the option.\n\t * _): _void_** - Adds a new option to the component.\n- **addOptions(optionsData: _Array | object_, silent: _boolean_, map: _@param {string} [map.value] The property in the optionsData that represents the value of the option.\n\t * @param {string} [map.text] The property in the optionsData that represents the text of the option.\n\t * _): _void_** - Adds one or more options to a collection. If the input is an array, it adds each option within the array.\nOtherwise, it adds a single option.\n- **selectOption(value: _string_, silent: _boolean_): _void_** - Selects an option from the available options within the component.\n- **selectOptions(values: _any|any[]_, silent: _boolean_): _void_** - Selects multiple options based on the provided values. If a single value is provided, it selects that option.\nIf an array of values is provided, it iterates through the array and selects each option.\n- **optionCheckSlot(option: _HTMLElement_): _void_** - Clones and appends an icon with the \"check\" slot to the specified option element.\nIf the option already contains a custom element with slot=\"check\" (e.g. <wje-status slot=\"check\">),\nit is left untouched and no template icon is added.\n- **clearSelections(): _void_** - Clears all selected options and resets selections.\nThe method ensures that all options are deselected, updates the internal state, validates the selections,\npropagates the validation status, and indicates invalid state if necessary.\n- **syncAria()** - Syncs ARIA attributes on the host element.",
2918
+ "doc-url": "",
2919
+ "attributes": [
2920
+ { "name": "active", "value": { "type": "string" } },
2921
+ { "name": "disabled", "value": { "type": "string" } },
2922
+ { "name": "readonly", "value": { "type": "string" } },
2923
+ { "name": "portaled", "value": { "type": "string" } }
2924
+ ],
2925
+ "events": [],
2926
+ "js": {
2927
+ "properties": [
2928
+ {
2929
+ "name": "dependencies",
2930
+ "description": "An object representing component dependencies with their respective classes.\nEach property in the object maps a custom component name (as a string key)\nto its corresponding class or constructor.",
2931
+ "type": "object"
2932
+ },
2933
+ {
2934
+ "name": "value",
2935
+ "description": "Retrieves the current value."
2936
+ },
2937
+ {
2938
+ "name": "maxOptions",
2939
+ "description": "Retrieves the maximum number of options allowed.\nParses the value of the 'max-options' attribute from the element and converts it to a number.\nIf the attribute is not present or cannot be converted to a valid number, defaults to 1."
2940
+ },
2941
+ { "name": "defaultValue" },
2942
+ {
2943
+ "name": "portaled",
2944
+ "description": "Getter for the `portaled` attribute value."
2945
+ },
2946
+ {
2947
+ "name": "isPortaled",
2948
+ "description": "Checks whether popup content should be portaled."
2949
+ },
2950
+ {
2951
+ "name": "trigger",
2952
+ "description": "Returns the trigger value."
2953
+ },
2954
+ {
2955
+ "name": "disabled",
2956
+ "description": "Retrieves the current state of the 'disabled' attribute."
2957
+ },
2958
+ {
2959
+ "name": "readonly",
2960
+ "description": "Checks if the 'readonly' attribute is present on the element."
2961
+ },
2962
+ {
2963
+ "name": "maxHeight",
2964
+ "description": "Retrieves the maximum height value, which is determined by the 'max-height' attribute.\nIf the attribute is not set, a default value of '200px' is returned."
2965
+ },
2966
+ {
2967
+ "name": "offset",
2968
+ "description": "Gets the value of the offset attribute of the current element.\nIf the offset attribute is not present, returns a default value of '0'."
2969
+ },
2970
+ {
2971
+ "name": "selectedOptions",
2972
+ "description": "Retrieves the selected options."
2973
+ },
2974
+ {
2975
+ "name": "lazy",
2976
+ "description": "Getter for the 'lazy' property."
2977
+ },
2978
+ {
2979
+ "name": "noSize",
2980
+ "description": "Gets the value of the 'no-size' attribute for the element."
2981
+ },
2982
+ {
2983
+ "name": "customErrorDisplay",
2984
+ "description": "Getter for the customErrorDisplay attribute."
2985
+ },
2986
+ {
2987
+ "name": "options",
2988
+ "description": "Retrieves the complete list of options available for the component.\nThe options are determined by combining elements from various sources, including loaded options, added options, and HTML-sourced options.\nIf a `wje-options` element is present within the component, its loaded options are included in the merged list.\nIn the absence of a `wje-options` element, duplicates among the added and HTML options are removed, retaining their order."
2989
+ },
2990
+ { "name": "className", "type": "string" },
2991
+ {
2992
+ "name": "optionChange",
2993
+ "description": "Handles the change event for an option element within a select-like component.\nThis method processes user interactions with options and updates the state of the component,\nincluding selection management, validation, and UI updates. Behavior differs based on\nwhether the component supports multiple selections.\nKey functionality:\n- Prevents the default behavior, event propagation, and immediate propagation of the event.\n- Retrieves all options within the component.\n- If the component doesn't support multiple selection:\n - Marks only the clicked option as selected and deselects others.\n - Hides the option popup.\n- If the component supports multiple selection:\n - Processes the clicked option without deselecting others.\n- Updates the selected options and triggers validation.\n- Marks the form state as non-pristine.\n- Propagates the validation state to other relevant parts of the component or system."
2994
+ },
2995
+ {
2996
+ "name": "processClickedOption",
2997
+ "description": "Handles the logic for processing the selection state of a clicked option element."
2998
+ },
2999
+ {
3000
+ "name": "removeChip",
3001
+ "description": "Handles the removal of a chip element from the DOM and updates the related state."
3002
+ },
3003
+ { "name": "localizer" },
3004
+ { "name": "native", "type": "HTMLElement|null" },
3005
+ { "name": "popup", "type": "HTMLElement|null" },
3006
+ { "name": "labelElement", "type": "HTMLElement|null" },
3007
+ { "name": "slotStart", "type": "HTMLElement|null" },
3008
+ { "name": "slotEnd", "type": "HTMLElement|null" },
3009
+ { "name": "input", "type": "HTMLElement|null" },
3010
+ { "name": "chips", "type": "HTMLElement|null" },
3011
+ { "name": "clear", "type": "HTMLElement|null" },
3012
+ { "name": "list", "type": "HTMLElement|null" },
3013
+ { "name": "emptyState", "type": "HTMLElement|null" },
3014
+ { "name": "_value", "type": "array" },
3015
+ { "name": "_selectedOptions", "type": "array" }
3016
+ ],
3017
+ "events": []
3018
+ }
3019
+ },
3020
+ {
3021
+ "name": "wje-slider",
3022
+ "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.",
3023
+ "doc-url": "",
3024
+ "attributes": [
3025
+ { "name": "max", "value": { "type": "string" } },
3026
+ { "name": "min", "value": { "type": "string" } },
3027
+ { "name": "step", "value": { "type": "string" } },
3028
+ { "name": "value", "value": { "type": "string" } },
3029
+ { "name": "disabled", "value": { "type": "string" } },
3030
+ { "name": "bubble", "value": { "type": "string" } }
3031
+ ],
3032
+ "events": [],
3033
+ "js": {
3034
+ "properties": [
3035
+ {
3036
+ "name": "value",
3037
+ "description": "Returns the value of the slider."
3038
+ },
3039
+ {
3040
+ "name": "min",
3041
+ "description": "Returns the minimum value of the slider."
3042
+ },
3043
+ {
3044
+ "name": "max",
3045
+ "description": "Returns the maximum value of the slider."
3046
+ },
3047
+ {
3048
+ "name": "step",
3049
+ "description": "Returns the step value of the slider."
3050
+ },
3051
+ { "name": "className", "type": "string" },
3052
+ {
3053
+ "name": "setHandlePosition",
3054
+ "description": "Sets the handle position of the slider."
3055
+ },
3056
+ {
3057
+ "name": "setBubble",
3058
+ "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."
3059
+ }
3060
+ ],
3061
+ "events": []
3062
+ }
3063
+ },
3064
+ {
3065
+ "name": "wje-sliding-container",
3066
+ "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- **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- **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- **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- **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- **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- **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- **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 Parts:**\n - **** - Styles the element.",
3067
+ "doc-url": "",
3068
+ "attributes": [
3069
+ { "name": "max-width", "value": { "type": "string" } },
3070
+ { "name": "max-height", "value": { "type": "string" } },
3071
+ { "name": "trigger", "value": { "type": "string" } },
3072
+ { "name": "direction", "value": { "type": "string" } },
3073
+ { "name": "variant", "value": { "type": "string" } },
3074
+ { "name": "screen-break-point", "value": { "type": "string" } },
3075
+ {
3076
+ "name": "remove-child-after-close",
3077
+ "value": { "type": "string" }
3078
+ },
3079
+ { "name": "animation-duration", "value": { "type": "string" } },
3080
+ { "name": "animation-easing", "value": { "type": "string" } },
3081
+ { "name": "has-opacity", "value": { "type": "string" } }
3082
+ ],
3083
+ "slots": [
3084
+ {
3085
+ "name": "",
3086
+ "description": "The default slot for the SlidingContainer."
3087
+ }
3088
+ ],
3089
+ "events": [],
3090
+ "js": {
3091
+ "properties": [
3092
+ {
3093
+ "name": "maxWidth",
3094
+ "description": "The maximum width of the SlidingContainer.",
3095
+ "type": "string"
3096
+ },
3097
+ {
3098
+ "name": "maxHeight",
3099
+ "description": "The maximum height of the SlidingContainer.",
3100
+ "type": "string"
3101
+ },
3102
+ {
3103
+ "name": "trigger",
3104
+ "description": "The trigger for the SlidingContainer.",
3105
+ "type": "string"
3106
+ },
3107
+ {
3108
+ "name": "direction",
3109
+ "description": "Specifies the sliding direction of the container (e.g., 'left' or 'right').",
3110
+ "type": "string"
3111
+ },
3112
+ {
3113
+ "name": "removeChildAfterClose",
3114
+ "description": "Removes the child after the SlidingContainer is closed.",
3115
+ "type": "boolean"
3116
+ },
3117
+ {
3118
+ "name": "variant",
3119
+ "description": "Determines how the SlidingContainer behaves, such as 'over' or 'in-place'.",
3120
+ "type": "string"
3121
+ },
3122
+ {
3123
+ "name": "screenBreakPoint",
3124
+ "description": "The width (in pixels) at which the SlidingContainer switches to the \"over\" variant for smaller screens.",
3125
+ "type": "string"
3126
+ },
3127
+ {
3128
+ "name": "animationDuration",
3129
+ "description": "Specifies the duration (in milliseconds) of the sliding animation.",
3130
+ "type": "string"
3131
+ },
3132
+ {
3133
+ "name": "animationEasing",
3134
+ "description": "Specifies the easing function used for the sliding animation (e.g., 'linear', 'ease-in', 'ease-out').",
3135
+ "type": "string"
3136
+ },
3137
+ {
3138
+ "name": "hasOpacity",
3139
+ "description": "Sets the opacity of the SlidingContainer.",
3140
+ "type": "boolean"
3141
+ },
3142
+ {
3143
+ "name": "addToHeight",
3144
+ "description": "Retrieves the value of the 'add-to-height' attribute from the element.\nIf the attribute is not set, it defaults to '0'."
3145
+ },
3146
+ {
3147
+ "name": "isOpen",
3148
+ "description": "Determines whether the current state is open."
3149
+ },
3150
+ { "name": "className", "type": "string" },
3151
+ {
3152
+ "name": "triggerEvent",
3153
+ "description": "Triggers the event based on the target element.\nIf the target element is different from the last caller, it refreshes the children by calling the `open` method.\nIf the target element is the same as the last caller, it toggles the state by calling the `toggle` method."
3154
+ },
3155
+ { "name": "_isOpen", "type": "boolean" },
3156
+ { "name": "_lastCaller", "type": "null" },
3157
+ { "name": "_resizeObserver" }
3158
+ ],
3159
+ "events": []
3160
+ }
3161
+ },
3162
+ {
3163
+ "name": "wje-split-view",
3164
+ "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.",
3165
+ "doc-url": "",
3166
+ "attributes": [],
3167
+ "slots": [
3168
+ { "name": "start", "description": "Slot for the start view." },
3169
+ { "name": "end", "description": "Slot for the end view." },
3170
+ { "name": "divider", "description": "Slot for the divider." }
3171
+ ],
3172
+ "events": [],
3173
+ "js": {
3174
+ "properties": [
3175
+ { "name": "initial" },
3176
+ { "name": "className", "type": "string" },
3177
+ { "name": "handleDrag", "description": "Handles the drag event." }
3178
+ ],
3179
+ "events": []
3180
+ }
3181
+ },
3182
+ {
3183
+ "name": "wje-step",
3184
+ "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.",
3185
+ "doc-url": "",
3186
+ "attributes": [],
3187
+ "slots": [
3188
+ { "name": "", "description": "The default slot for the step." }
3189
+ ],
3190
+ "events": [],
3191
+ "js": {
3192
+ "properties": [
3193
+ {
3194
+ "name": "className",
3195
+ "description": "The class name for the component.",
3196
+ "type": "string"
3197
+ }
3198
+ ],
3199
+ "events": []
3200
+ }
3201
+ },
3202
+ {
3203
+ "name": "wje-status",
3204
+ "description": "This class represents Status element, extending the WJElement class.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the status.\n\n### **Slots:**\n - _default_ - The status main content.\n- **start** - The status start content.\n- **end** - The status end content.\n\n### **CSS Parts:**\n - **native** - The native part of the status.\n- **bullet** - The bullet part of the status.",
3205
+ "doc-url": "",
3206
+ "attributes": [],
3207
+ "slots": [
3208
+ { "name": "", "description": "The status main content." },
3209
+ { "name": "start", "description": "The status start content." },
3210
+ { "name": "end", "description": "The status end content." }
3211
+ ],
3212
+ "events": [],
3213
+ "js": {
3214
+ "properties": [
3215
+ {
3216
+ "name": "className",
3217
+ "description": "The class name for the component.",
3218
+ "type": "string"
3219
+ }
3220
+ ],
3221
+ "events": []
3222
+ }
3223
+ },
3224
+ {
3225
+ "name": "wje-stepper",
3226
+ "description": "This element represents a stepper.\n---\n\n\n### **Events:**\n - **stepper:next**\n- **stepper:prev**\n- **stepper:finish**\n\n### **Methods:**\n - **draw(): _DocumentFragment_** - Draws the component for the stepper.\n- **afterDraw()** - Sets up the attributes for the component.\n- **navigate(direction: _number_)** - Navigates to a different step in a multi-step process based on the provided direction.\n- **goToStep(stepIndex: _number_): _void_** - Navigates to a specific step in a workflow or process.\nExecutes a set of operations before and after the step transition.\n- **setStepDefault(nav: _HTMLElement_, badge: _HTMLElement|null_, stepIndex: _number_)** - Resets a step to its default state by clearing its active and done attributes.\nUpdates the step's badge to show its index and removes any color styling.\n- **setStepActive(nav: _HTMLElement_, badge: _HTMLElement|null_, stepIndex: _number|null_)** - Sets a step as active by adding the `active` attribute and updating the step's badge.\n- **setContentActive(stepIndex: _number_)** - Activates the content of a specific step by displaying it and hiding all others.\n- **getStepElement(stepIndex: _number_): _HTMLElement_** - Returns the DOM element of a step by index.\n- **renderStepContent(stepIndex: _number_, content: _Node|string|Node[]_, options: _{ replace?: boolean }_)** - Appends or replaces content inside the step container.\n- **setStepDone(nav: _HTMLElement_, badge: _HTMLElement|null_)** - Marks a step as completed by setting the `done` attribute and updating its badge with a check icon.\n\n### **Slots:**\n - _default_ - The default slot for the stepper.\n\n### **CSS Parts:**\n - **native** - The native part of the stepper.\n- **header** - The header part of the stepper.\n- **content** - The content part of the stepper.",
3227
+ "doc-url": "",
3228
+ "attributes": [
3229
+ {
3230
+ "name": "active",
3231
+ "description": "The active color for the stepper.",
3232
+ "value": { "type": "string" }
3233
+ },
3234
+ {
3235
+ "name": "done",
3236
+ "description": "The done color for the stepper.",
3237
+ "value": { "type": "string" }
3238
+ }
3239
+ ],
3240
+ "slots": [
3241
+ { "name": "", "description": "The default slot for the stepper." }
3242
+ ],
3243
+ "events": [
3244
+ { "name": "stepper:next", "type": "CustomEvent" },
3245
+ { "name": "stepper:prev", "type": "CustomEvent" },
3246
+ { "name": "stepper:finish", "type": "CustomEvent" }
3247
+ ],
3248
+ "js": {
3249
+ "properties": [
3250
+ {
3251
+ "name": "startIndex",
3252
+ "description": "Retrieves the starting index value stored as an attribute.\nIf the attribute 'start-index' exists and is not null, it parses the value as an integer and returns it.\nIf the attribute does not exist, it returns the default value of 0."
3253
+ },
3254
+ { "name": "active" },
3255
+ { "name": "done" },
3256
+ { "name": "className", "type": "string" },
3257
+ {
3258
+ "name": "beforeOpen",
3259
+ "description": "A callback function that is executed before opening a step in a process.\nThis allows for custom behavior or logic to be applied before the step is displayed."
3260
+ },
3261
+ {
3262
+ "name": "afterOpen",
3263
+ "description": "Callback function executed after a step is opened.\nThis function can be overridden to implement custom behavior\nthat should take place immediately after a step is opened."
3264
+ },
3265
+ { "name": "currentStep", "type": "number" },
3266
+ { "name": "localizer" },
3267
+ { "name": "steps", "type": "array" },
3268
+ { "name": "headerSteps", "type": "array" },
3269
+ { "name": "_stepperId", "type": "number" }
3270
+ ],
3271
+ "events": [
3272
+ { "name": "stepper:next", "type": "CustomEvent" },
3273
+ { "name": "stepper:prev", "type": "CustomEvent" },
3274
+ { "name": "stepper:finish", "type": "CustomEvent" }
3275
+ ]
3276
+ }
3277
+ },
3278
+ {
3279
+ "name": "wje-tab",
3280
+ "description": "This element represents a tab.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _DocumentFragment_** - Draws the component for the tab.\n- **afterDraw()** - Sets up event listeners after the component is rendered.\n//\n- **syncAriaLabel()** - Sync aria-label on host based on slotted text when not provided.\n- **setRovingTabIndex(value: _number_)** - Sets the roving tabindex on the internal focusable anchor.\n- **beforeDisconnect()** - Cleans up before the component is disconnected.\n\n### **CSS Properties:**\n - **--wje-tab-text-transform** - The text transformation for the tab (e.g., uppercase, lowercase). _(default: uppercase)_\n- **--wje-tab-font-weight** - The font weight of the tab text. _(default: 500)_\n- **--wje-tab-letter-spacing** - The letter spacing of the tab text. _(default: 0.06em)_\n- **--wje-tab-padding-inline** - The horizontal padding of the tab. _(default: 1rem)_\n- **--wje-tab-padding-top** - The top padding of the tab text. _(default: .75rem)_\n- **--wje-tab-padding-bottom** - The bottom padding of the tab text. _(default: .75rem)_\n- **--wje-tab-color-active** - The text color of the active tab. _(default: var(--wje-color-primary-11))_\n- **--wje-tab-color-hover** - The text color of the tab when hovered. //@fires wje-tab:change - Dispatched when the tab is changed. _(default: var(--wje-color-primary-1))_",
3281
+ "doc-url": "",
3282
+ "attributes": [],
3283
+ "events": [],
3284
+ "js": {
3285
+ "properties": [
3286
+ {
3287
+ "name": "panel",
3288
+ "description": "Retrieves the value of the 'panel' attribute of the element."
3289
+ },
3290
+ {
3291
+ "name": "route",
3292
+ "description": "Retrieves the value of the 'route' attribute.\nIf the 'route' attribute is not set, it returns null."
3293
+ },
3294
+ {
3295
+ "name": "className",
3296
+ "description": "The class name for the component.",
3297
+ "type": "string"
3298
+ },
3299
+ {
3300
+ "name": "last",
3301
+ "description": "Indicates whether this is the last tab.",
3302
+ "type": "boolean"
3303
+ },
3304
+ { "name": "_hasPanel", "type": "boolean" }
3305
+ ],
3306
+ "events": []
3307
+ }
3308
+ },
3309
+ {
3310
+ "name": "wje-tab-group",
3311
+ "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- **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)_",
3312
+ "doc-url": "",
3313
+ "attributes": [],
3314
+ "slots": [
3315
+ {
3316
+ "name": "",
3317
+ "description": "The default slot for the tab group."
3318
+ },
3319
+ {
3320
+ "name": "nav",
3321
+ "description": "Slot for the navigation of the tab group."
3322
+ }
3323
+ ],
3324
+ "events": [],
3325
+ "js": {
3326
+ "properties": [
3327
+ {
3328
+ "name": "variant",
3329
+ "description": "Gets the value of the 'variant' attribute.\nIf the attribute is not set, it defaults to 'top'."
3330
+ },
3331
+ {
3332
+ "name": "type",
3333
+ "description": "Retrieves the `type` attribute of the element.\nIf the `type` attribute is not set, it defaults to `'panel'`."
3334
+ },
3335
+ { "name": "className", "type": "string" },
3336
+ { "name": "_lastNavWidth", "type": "null" },
3337
+ { "name": "_initialized", "type": "boolean" }
3338
+ ],
3339
+ "events": []
3340
+ }
3341
+ },
3342
+ {
3343
+ "name": "wje-tab-panel",
3344
+ "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.",
3345
+ "doc-url": "",
3346
+ "attributes": [],
3347
+ "slots": [
3348
+ { "name": "", "description": "The default slot for the tab panel." }
3349
+ ],
3350
+ "events": [],
3351
+ "js": {
3352
+ "properties": [
3353
+ {
3354
+ "name": "className",
3355
+ "description": "The class name for the component.",
3356
+ "type": "string"
3357
+ }
3358
+ ],
3359
+ "events": []
3360
+ }
3361
+ },
3362
+ {
3363
+ "name": "wje-timeline",
3364
+ "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.",
3365
+ "doc-url": "",
3366
+ "attributes": [],
3367
+ "slots": [
3368
+ { "name": "", "description": "Slot for the timeline items." }
3369
+ ],
3370
+ "events": [],
3371
+ "js": {
3372
+ "properties": [
3373
+ {
3374
+ "name": "className",
3375
+ "description": "The class name for the component.",
3376
+ "type": "string"
3377
+ }
3378
+ ],
3379
+ "events": []
3380
+ }
3381
+ },
3382
+ {
3383
+ "name": "wje-textarea",
3384
+ "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.",
3385
+ "doc-url": "",
3386
+ "attributes": [
3387
+ { "name": "value", "value": { "type": "string" } },
3388
+ { "name": "name", "value": { "type": "string" } },
3389
+ { "name": "disabled", "value": { "type": "string" } },
3390
+ { "name": "placeholder", "value": { "type": "string" } },
3391
+ { "name": "label", "value": { "type": "string" } },
3392
+ { "name": "required", "value": { "type": "string" } },
3393
+ { "name": "readonly", "value": { "type": "string" } },
3394
+ { "name": "invalid", "value": { "type": "string" } },
3395
+ { "name": "rows", "value": { "type": "string" } }
3396
+ ],
3397
+ "events": [],
3398
+ "js": {
3399
+ "properties": [
3400
+ {
3401
+ "name": "value",
3402
+ "description": "Getter for the value attribute."
3403
+ },
3404
+ {
3405
+ "name": "label",
3406
+ "description": "Retrieves the value of the 'label' attribute if it exists.\nIf the 'label' attribute is not set, it returns false."
3407
+ },
3408
+ {
3409
+ "name": "validateOnChange",
3410
+ "description": "Getter for the validateOnChange attribute."
3411
+ },
3412
+ { "name": "placeholder" },
3413
+ { "name": "className", "type": "string" },
3414
+ {
3415
+ "name": "setTextareaHeight",
3416
+ "description": "Sets the height of the textarea."
3417
+ },
3418
+ {
3419
+ "name": "counterFn",
3420
+ "description": "Updates the counter for the textarea."
3421
+ },
3422
+ { "name": "invalid", "type": "boolean" },
3423
+ { "name": "pristine", "type": "boolean" }
3424
+ ],
3425
+ "events": []
3426
+ }
3427
+ },
3428
+ {
3429
+ "name": "wje-thumbnail",
3430
+ "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))_",
3431
+ "doc-url": "",
3432
+ "attributes": [],
3433
+ "slots": [
3434
+ {
3435
+ "name": "thumbnail-slot",
3436
+ "description": "The slot for the thumbnail content."
3437
+ }
3438
+ ],
3439
+ "events": [],
3440
+ "js": {
3441
+ "properties": [
3442
+ {
3443
+ "name": "className",
3444
+ "description": "The class name for the component",
3445
+ "type": "string"
3446
+ }
3447
+ ],
3448
+ "events": []
3449
+ }
3450
+ },
3451
+ {
3452
+ "name": "wje-timeline-item",
3453
+ "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.",
3454
+ "doc-url": "",
3455
+ "attributes": [],
3456
+ "slots": [
3457
+ {
3458
+ "name": "",
3459
+ "description": "Slot for the content of the timeline item."
3460
+ },
3461
+ {
3462
+ "name": "status",
3463
+ "description": "Slot for the status of the timeline item."
3464
+ }
3465
+ ],
3466
+ "events": [],
3467
+ "js": {
3468
+ "properties": [
3469
+ {
3470
+ "name": "className",
3471
+ "description": "Returns the class name of the tab.",
3472
+ "type": "string"
3473
+ }
3474
+ ],
3475
+ "events": []
3476
+ }
3477
+ },
3478
+ {
3479
+ "name": "wje-toolbar",
3480
+ "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- **syncAria()** - Sync ARIA attributes on host.\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-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.",
3481
+ "doc-url": "",
3482
+ "attributes": [],
3483
+ "slots": [
3484
+ {
3485
+ "name": "start",
3486
+ "description": "The start slot for the toolbar."
3487
+ },
3488
+ { "name": "end", "description": "The end slot for the toolbar." }
3489
+ ],
3490
+ "events": [],
3491
+ "js": {
3492
+ "properties": [
3493
+ {
3494
+ "name": "className",
3495
+ "description": "The class name for the component.",
3496
+ "type": "string"
3497
+ }
3498
+ ],
3499
+ "events": []
3500
+ }
3501
+ },
3502
+ {
3503
+ "name": "wje-toggle",
3504
+ "description": "This element represents a toggle input.\n---\n\n\n### **Methods:**\n - **syncAria()** - Syncs ARIA attributes on the host element.\n- **beforeDisconnect()** - Removes the event listener when the checkbox is disconnected.\n\n### **Slots:**\n - _default_ - The default slot for the toggle.\n\n### **CSS Properties:**\n - **--wje-toggle-color-base** - The base background color of the toggle. Defines the default background color when the toggle is in an unselected state. _(default: var(--wje-color-contrast-3))_\n- **--wje-toggle-width** - The overall width of the toggle switch. Determines how wide the toggle component appears. _(default: 30px)_\n- **--wje-toggle-height** - The overall height of the toggle switch. Specifies how tall the toggle component appears. _(default: 18px)_\n- **--wje-toggle-border-radius** - The border radius of the toggle. Controls how rounded the corners of the toggle are. _(default: 50px)_\n- **--wje-toggle-handle-width** - The width of the toggle handle (knob). Determines the size of the handle for user interaction. _(default: 14px)_\n- **--wje-toggle-handle-height** - The height of the toggle handle (knob). Specifies the vertical size of the handle. _(default: 14px)_\n- **--wje-toggle-handle-border-radius** - The border radius of the toggle handle. Controls how rounded the handle is. _(default: 9px)_\n- **--wje-toggle-handle-color** - The color of the toggle handle. Accepts any valid CSS color, such as `hex`, `rgb`, or `css variable`. _(default: #fff)_\n- **--wje-toggle-handle-shadow** - The shadow applied to the toggle handle. Adds a subtle shadow effect for better visual clarity. _(default: 1px 0 1px 0.5px rgba(0,0,0,0.12), 2px 4px 6px rgba(0,0,0,0.2))_\n- **--wje-toggle-handle-shadow-checked** - The shadow applied to the toggle handle when it is in the checked (on) state. Provides visual feedback to indicate the toggle state. _(default: 1px 1px 0 rgba(0,0,0,0.08), -3px 3px 6px rgba(0,0,0,0.3))_\n- **--wje-toggle-duration** - The duration of the toggle animation in milliseconds. Controls how long the toggle animation lasts during state changes. _(default: 250ms)_\n- **--wje-toggle-curve** - The easing curve used for the toggle animation. Defines the speed curve for the animation, enhancing the user experience with smooth transitions. _(default: cubic-bezier(.4,0,.2,1))_\n\n### **CSS Parts:**\n - **native** - The native toggle wrapper.\n- **input** - The toggle input.\n- **toggle** - The toggle part.",
3505
+ "doc-url": "",
3506
+ "attributes": [
3507
+ { "name": "checked", "value": { "type": "string" } },
3508
+ { "name": "disabled", "value": { "type": "string" } },
3509
+ { "name": "required", "value": { "type": "string" } }
3510
+ ],
3511
+ "slots": [
3512
+ { "name": "", "description": "The default slot for the toggle." }
3513
+ ],
3514
+ "events": [],
3515
+ "js": {
3516
+ "properties": [
3517
+ {
3518
+ "name": "value",
3519
+ "description": "Getter for the value attribute."
3520
+ },
3521
+ {
3522
+ "name": "customErrorDisplay",
3523
+ "description": "Getter for the customErrorDisplay attribute."
3524
+ },
3525
+ {
3526
+ "name": "validateOnChange",
3527
+ "description": "Getter for the validateOnChange attribute."
3528
+ },
3529
+ {
3530
+ "name": "defaultValue",
3531
+ "description": "Getter for the defaultValue attribute.\nThis method retrieves the 'value' attribute of the custom input element.\nThe 'value' attribute represents the default value of the input element.\nIf the 'value' attribute is not set, it returns an empty string."
3532
+ },
3533
+ { "name": "checked", "description": "Get checked attribute." },
3534
+ { "name": "invalid", "type": "boolean" },
3535
+ { "name": "pristine", "type": "boolean" }
3536
+ ],
3537
+ "events": []
3538
+ }
3539
+ },
3540
+ {
3541
+ "name": "wje-toolbar-action",
3542
+ "description": "This element represents a toolbar action.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the toolbar action.\n- **getActions(): _Array_** - Returns the actions for the toolbar action.\n\n### **Slots:**\n - _default_ - The default slot for the toolbar action.\n\n### **CSS Parts:**\n - **native** - The native toolbar action wrapper.",
3543
+ "doc-url": "",
3544
+ "attributes": [],
3545
+ "slots": [
3546
+ {
3547
+ "name": "",
3548
+ "description": "The default slot for the toolbar action."
3549
+ }
3550
+ ],
3551
+ "events": [],
3552
+ "js": {
3553
+ "properties": [
3554
+ {
3555
+ "name": "className",
3556
+ "description": "The class name for the component.",
3557
+ "type": "string"
3558
+ }
3559
+ ],
3560
+ "events": []
3561
+ }
3562
+ },
3563
+ {
3564
+ "name": "wje-toast",
3565
+ "description": "This element represents a toast notification.\n---\n\n\n### **Methods:**\n - **createToastStack(): _HTMLDivElement_** - Creates a toast stack container.\n- **getToastStackKey(): _string_** - Returns the key of the toast stack.\n- **applyToastStackPlacement(stack: _HTMLDivElement_)** - Applies the stack placement directly on the element so demo/app layout CSS cannot override it accidentally.\n- **syncToastStack(stack: _HTMLDivElement_)** - Applies the current toast stack configuration to a stack element.\n- **clearStackItemStyles(toast: _Toast_)** - Clears transient stack styling from a toast.\n- **getToastVisualHeight(toast: _Toast_): _number_** - Measures the rendered height of a toast for stack overlap calculations.\n- **updateToastStack(stack: _HTMLDivElement_)** - Recomputes the visual order of toasts inside the stack.\n- **setupAttributes()** - Setup attributes for the Button element.\n- **draw(): _object_** - Draw method for the toast notification.\n- **afterDraw()** - After draw method for the toast notification.\n- **beforeDisconnect()** - Before disconnect method\nThis method is called before the element is disconnected from the document.\n- **startTimer()** - Starts the timer.\nThis method sets the `startTime` property to the current time and sets\nthe `timeoutID` property to the ID of the timeout. The method also\ndispatches the `wje-toast:after-hide` custom event when the timeout\nexpires.\n- **stopTimer()** - Stops the timer.\nThis method clears the timeout and calculates the remaining time.\nThe method is called when the toast notification is paused.\n- **resumeTimer()** - Resumes the timer.\nThis method resumes the timer if the remaining time is greater\nthan zero. The method is called when the toast notification is resumed.\n- **removeChildAndStack()** - Removes the toast notification and the toast stack.\n\nThis method removes the toast notification from the toast stack and\nremoves the toast stack from the document body if the toast stack is\nempty.\n\n### **Slots:**\n - _default_ - The content of the toast.\n- **media** - The media of the toast.\n\n### **CSS Properties:**\n - **--wje-toast-stack-width** - Defines the width of the toast stack container. Useful for centered stacked toasts and demo layouts. // @fires wje-toast:after-show - Fired after the toast is shown. // @fires wje-toast:after-hide - Fired after the toast is hidden. _(default: 300px)_\n\n### **CSS Parts:**\n - **native** - The native part",
3566
+ "doc-url": "",
3567
+ "attributes": [
3568
+ {
3569
+ "name": "headline",
3570
+ "description": "Specifies the headline text of the toast. Represents the main title or heading displayed in the toast.",
3571
+ "value": { "type": "string" }
3572
+ },
3573
+ {
3574
+ "name": "open",
3575
+ "description": "Indicates whether the toast is currently open (visible). A value of `true` shows the toast, while `false` hides it.",
3576
+ "value": { "type": "boolean" }
3577
+ },
3578
+ {
3579
+ "name": "duration",
3580
+ "description": "Determines the duration (in milliseconds) for which the toast is displayed. After this time, the toast will automatically close unless it is manually closed.",
3581
+ "value": { "type": "number" }
3582
+ },
3583
+ {
3584
+ "name": "closable",
3585
+ "description": "Specifies whether the toast can be manually closed by the user. If `true`, the toast will include a close button or mechanism.",
3586
+ "value": { "type": "boolean" }
3587
+ },
3588
+ {
3589
+ "name": "color",
3590
+ "description": "Defines the color variant of the toast. Supports values such as `primary`, `complete`, `success`, `warning`, `danger`, `info`, and `contrast`.",
3591
+ "value": { "type": "string" }
3592
+ },
3593
+ {
3594
+ "name": "countdown",
3595
+ "description": "Indicates whether a countdown is displayed in the toast. When `true`, a visual countdown timer is shown to indicate the remaining time before the toast closes.",
3596
+ "value": { "type": "boolean" }
3597
+ },
3598
+ {
3599
+ "name": "stacked",
3600
+ "description": "Enables a layered toast stack where the newest toast stays visually on top while older ones shrink behind it.",
3601
+ "value": { "type": "boolean" }
3602
+ },
3603
+ {
3604
+ "name": "stack-position",
3605
+ "description": "Defines where the toast stack is placed on the screen. Supports `top-start`, `top-center`, `top-end`, `bottom-start`, `bottom-center`, and `bottom-end`.",
3606
+ "value": { "type": "string" }
3607
+ },
3608
+ {
3609
+ "name": "stack-depth",
3610
+ "description": "Defines how many visual levels the collapsed stacked toast can show. Older toasts beyond this limit stay at the last reduced level. Default is `3`.",
3611
+ "value": { "type": "number" }
3612
+ },
3613
+ {
3614
+ "name": "icon",
3615
+ "description": "Adds a leading icon into the `media` slot by icon name.",
3616
+ "value": { "type": "string" }
3617
+ }
3618
+ ],
3619
+ "slots": [
3620
+ { "name": "", "description": "The content of the toast." },
3621
+ { "name": "media", "description": "The media of the toast." }
3622
+ ],
3623
+ "events": [],
3624
+ "js": {
3625
+ "properties": [
3626
+ {
3627
+ "name": "headline",
3628
+ "description": "Get headline value of the toast."
3629
+ },
3630
+ { "name": "open", "description": "Get open value of the toast." },
3631
+ {
3632
+ "name": "duration",
3633
+ "description": "Get duration value of the toast."
3634
+ },
3635
+ {
3636
+ "name": "closable",
3637
+ "description": "Get closable value of the toast."
3638
+ },
3639
+ {
3640
+ "name": "color",
3641
+ "description": "Get color value of the toast."
3642
+ },
3643
+ {
3644
+ "name": "countdown",
3645
+ "description": "Get countdown value of the toast."
3646
+ },
3647
+ {
3648
+ "name": "stacked",
3649
+ "description": "Get stacked value of the toast."
3650
+ },
3651
+ {
3652
+ "name": "stackDepth",
3653
+ "description": "Get stack depth of the toast."
3654
+ },
3655
+ {
3656
+ "name": "stackPosition",
3657
+ "description": "Get stack position of the toast."
3658
+ },
3659
+ { "name": "icon", "description": "Get icon value of the toast." },
3660
+ {
3661
+ "name": "className",
3662
+ "description": "The class name for the component.",
3663
+ "type": "string"
3664
+ },
3665
+ {
3666
+ "name": "show",
3667
+ "description": "Asynchronously shows the toast notification.\nThis method sets the `open` property to `true` and dispatches the\n`wje-toast:after-show` custom event. If the toast is already open,\nthe method returns `undefined`."
3668
+ },
3669
+ {
3670
+ "name": "hide",
3671
+ "description": "Asynchronously hides the toast notification.\nThis method sets the `open` property to `false` and dispatches the\n`wje-toast:after-hide` custom event. If the toast is already hidden,\nthe method returns `undefined`."
3672
+ },
3673
+ {
3674
+ "name": "pause",
3675
+ "description": "Pauses the countdown animation and stops the timer."
3676
+ },
3677
+ {
3678
+ "name": "resume",
3679
+ "description": "Resumes the countdown animation and resumes the timer."
3680
+ },
3681
+ {
3682
+ "name": "start",
3683
+ "description": "Asynchronously starts the toast notification.\nThis method appends the toast notification to the document body and\nshows the toast notification. The method returns a promise that\nresolves when the toast notification is shown."
3684
+ },
3685
+ { "name": "toastStack" }
3686
+ ],
3687
+ "events": []
3688
+ }
3689
+ },
3690
+ {
3691
+ "name": "wje-tooltip",
3692
+ "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.",
3693
+ "doc-url": "",
3694
+ "attributes": [
3695
+ { "name": "active", "value": { "type": "string" } },
3696
+ {
3697
+ "name": "content",
3698
+ "description": "The content of the tooltip element. Accepts any valid string value.",
3699
+ "value": { "type": "string" }
3700
+ }
3701
+ ],
3702
+ "slots": [
3703
+ {
3704
+ "name": "arrow",
3705
+ "description": "The arrow slot for the tooltip."
3706
+ },
3707
+ {
3708
+ "name": "anchor",
3709
+ "description": "The anchor slot for the tooltip."
3710
+ }
3711
+ ],
3712
+ "events": [],
3713
+ "js": {
3714
+ "properties": [
3715
+ {
3716
+ "name": "dependencies",
3717
+ "description": "Dependencies of the Button element.",
3718
+ "type": "object"
3719
+ },
3720
+ {
3721
+ "name": "content",
3722
+ "description": "Get active attribute for the tooltip element."
3723
+ },
3724
+ {
3725
+ "name": "className",
3726
+ "description": "The class name for the component.",
3727
+ "type": "string"
3728
+ },
3729
+ { "name": "popupHideCallback" },
3730
+ {
3731
+ "name": "onShow",
3732
+ "description": "Handles the logic for showing the component's popup or tooltip.\nAdds the `active` class, invokes lifecycle hooks, and manages the popup visibility."
3733
+ },
3734
+ {
3735
+ "name": "onHide",
3736
+ "description": "Hides the component's popup or tooltip.\nRemoves the `active` class from the component and hides the popup element."
3737
+ }
3738
+ ],
3739
+ "events": []
3740
+ }
3741
+ },
3742
+ {
3743
+ "name": "wje-tree",
3744
+ "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.",
3745
+ "doc-url": "",
3746
+ "attributes": [],
3747
+ "slots": [
3748
+ {
3749
+ "name": "",
3750
+ "description": "The default slot to place `wje-tree-item` child components."
3751
+ }
3752
+ ],
3753
+ "events": [],
3754
+ "js": {
3755
+ "properties": [
3756
+ {
3757
+ "name": "selection",
3758
+ "description": "Gets the current selection mode for the element.\nIf no selection is explicitly set, it defaults to 'single'."
3759
+ },
3760
+ {
3761
+ "name": "className",
3762
+ "description": "The class name for the component.",
3763
+ "type": "string"
3764
+ },
3765
+ {
3766
+ "name": "handleClick",
3767
+ "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."
3768
+ }
3769
+ ],
3770
+ "events": []
3771
+ }
3772
+ },
3773
+ {
3774
+ "name": "wje-visually-hidden",
3775
+ "description": "This element represents a visually hidden element.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Sets up the attributes for the component.\n- **draw(): _object_** - Draws the component for the visually hidden element.\n\n### **Slots:**\n - _default_ - The default slot for the visually hidden element.",
3776
+ "doc-url": "",
3777
+ "attributes": [],
3778
+ "slots": [
3779
+ {
3780
+ "name": "",
3781
+ "description": "The default slot for the visually hidden element."
3782
+ }
3783
+ ],
3784
+ "events": [],
3785
+ "js": {
3786
+ "properties": [
3787
+ {
3788
+ "name": "className",
3789
+ "description": "The class name for the component.",
3790
+ "type": "string"
3791
+ }
3792
+ ],
3793
+ "events": []
3794
+ }
3795
+ },
3796
+ {
3797
+ "name": "wje-tree-item",
3798
+ "description": "Represents a single item in a tree structure.\n---\n\n\n### **Methods:**\n - **setupAttributes()** - Setup attributes for the Button element.\n- **beforeDraw(): _void_** - Custom logic executed before the draw process begins.\nDetermines and sets the appropriate slot if the current item is nested.\n- **syncNestingState(): _void_** - Synchronizes the nesting-related state on the host element.\nSets the \"slot\" to children for nested items and updates\nthe nesting depth used to compute visual indentation.\n- **draw(): _DocumentFragment_** - Creates and returns a document fragment representing the structure of a tree item component.\nThe method constructs the DOM elements including the native container, indentation, toggle button,\nselection checkbox, label, and children container, along with their respective slots and attributes.\nIt dynamically handles the creation of expand and collapse icons, as well as appending slots for\nchild components.\n- **afterDraw(): _void_** - Executes operations to be performed after the draw action is completed.\nIf the state indicates it is expanded, toggles its children.\nAdditionally, sets up an event listener on the button element to handle toggling children upon click.\n- **isNestedItem(): _boolean_** - Determines if the current item is a nested item within a tree structure.\nChecks if the item's parent element exists and is also a tree item.\n- **getNestingDepth(): _number_** - Calculates nesting depth based on ancestor tree items.\nRoot items have depth 0, direct children depth 1, etc.\n- **isTreeItem(node: _object_): _boolean_** - Checks whether the given node is a tree item.\n- **toggleChildren(): _void_** - Toggles the visibility state of the children element and updates the class of the parent element.\nThe method toggles the 'open' class on the children elements and the 'expanded' class on the parent element,\neffectively showing or hiding the children and indicating the expanded state.\n- **syncAria()** - Syncs ARIA attributes on the host element.\n- **getChildrenItems(options: _@param {boolean} [options.includeDisabled] Determines whether disabled items should be included in the result. Defaults to true.\n * _): _Array_** - Retrieves the child items from the `childrenSlot` that match specific criteria.\n- **getAllChildrenFlat(options: _object_): _Array_** - Retrieves all descendant children of the current object in a flattened array structure.\n\n### **Slots:**\n - _default_ - Default slot for rendering the tree item's content (e.g., text or custom elements).\n\n### **CSS Properties:**\n - **--wje-tree-item-indent** - Defines the indentation for nested tree items. _(default: var(--wje-spacing-large))_\n- **--wje-tree-item-indent-guid-width** - Specifies the width of the guide element shown next to a tree item. _(default: 0px)_\n- **--wje-tree-item-border-radius** - Sets the border radius of the tree item’s container. _(default: var(--wje-border-radius-medium))_\n\n### **CSS Parts:**\n - **native** - The native container of the tree item.",
3799
+ "doc-url": "",
3800
+ "attributes": [
3801
+ { "name": "selected", "value": { "type": "string" } },
3802
+ { "name": "indeterminate", "value": { "type": "string" } }
3803
+ ],
3804
+ "slots": [
3805
+ {
3806
+ "name": "",
3807
+ "description": "Default slot for rendering the tree item's content (e.g., text or custom elements)."
3808
+ }
3809
+ ],
3810
+ "events": [],
3811
+ "js": {
3812
+ "properties": [
3813
+ {
3814
+ "name": "expanded",
3815
+ "description": "Retrieves the value of the 'expanded' state for the current element.\nThis getter checks whether the 'expanded' attribute is present on the element.\nIf the attribute exists, it returns true, representing that the element is expanded.\nOtherwise, it returns false, indicating that the element is not expanded."
3816
+ },
3817
+ {
3818
+ "name": "selected",
3819
+ "description": "Getter method for determining if the 'selected' attribute is present on the element."
3820
+ },
3821
+ {
3822
+ "name": "selection",
3823
+ "description": "Retrieves the current selection."
3824
+ },
3825
+ {
3826
+ "name": "indeterminate",
3827
+ "description": "Retrieves the state of the indeterminate attribute."
3828
+ },
3829
+ {
3830
+ "name": "className",
3831
+ "description": "The class name for the component.",
3832
+ "type": "string"
3833
+ },
3834
+ { "name": "_selection", "type": "string" }
3835
+ ],
3836
+ "events": []
3837
+ }
3838
+ }
3839
+ ]
3840
+ }
3841
+ }
3842
+ }