@waggylabs/yumekit 0.5.0-beta.81 → 0.5.0
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.
- package/CHANGELOG.md +4 -0
- package/dist/components/y-appbar.js +3 -9
- package/dist/components/y-banner.js +0 -8
- package/dist/components/y-breadcrumbs.js +3 -1
- package/dist/components/y-button/y-button.d.ts +0 -5
- package/dist/components/y-button.d.ts +0 -5
- package/dist/components/y-button.js +0 -8
- package/dist/components/y-color.js +6 -2
- package/dist/components/y-colorpicker.js +3 -1
- package/dist/components/y-date.js +0 -8
- package/dist/components/y-datepicker.js +0 -8
- package/dist/components/y-dock.js +3 -1
- package/dist/components/y-paginator.js +1 -8
- package/dist/components/y-rating.js +7 -0
- package/dist/components/y-sidebar.js +3 -9
- package/dist/components/y-slider.js +5 -0
- package/dist/components/y-stepper.js +3 -1
- package/dist/components/y-tabs.js +3 -1
- package/dist/index.js +37 -16
- package/dist/yumekit.min.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -111,12 +111,16 @@ Delete any empty sections before publishing.
|
|
|
111
111
|
|
|
112
112
|
- `y-progress`: expanded to a multi-mode indicator supporting `bar`, `ring`, and `pie` shapes plus multi-value rendering.
|
|
113
113
|
|
|
114
|
+
- `y-rating`: selected icons now render with the thickest stroke weight, making them easier to distinguish from the unselected outlines beyond color alone.
|
|
115
|
+
|
|
114
116
|
- **Breaking** `y-appbar`: vertical sidebar mode removed — migrate vertical navigation to the new `y-sidebar`. `sticky="start"` / `sticky="end"` now refer to the top / bottom edges, and `menu-direction` defaults to `"down"`.
|
|
115
117
|
|
|
116
118
|
- **Breaking** `y-stack`: refocused as a flexbox-only primitive. Migration: `<y-stack mode="grid" …>` → `<y-grid …>`; `<y-stack mode="masonry" …>` → `<y-masonry …>`. The `mode` and `columns` attributes and the related `--component-stack-*` variables are removed.
|
|
117
119
|
|
|
118
120
|
### Fixed
|
|
119
121
|
|
|
122
|
+
- Property setters that back a JSON attribute no longer double-encode a string value. Assigning a JSON string (e.g. `el.ticks = "[0,25,50]"`, as React 19 does for matching properties) previously ran it through `JSON.stringify` again, producing an unparseable attribute and a blank render. Setters now mirror string input directly, matching `y-progress`. Affects `y-slider` (`ticks`), `y-appbar`/`y-sidebar`/`y-dock`/`y-stepper`/`y-breadcrumbs` (`items`), `y-tabs` (`options`), `y-paginator` (`pageSizeOptions`), and `y-color`/`y-colorpicker` (`formats`).
|
|
123
|
+
|
|
120
124
|
- `y-avatar`: when the image at `src` fails to load, the component now falls back to the initials rendering rather than displaying the browser's broken-image graphic.
|
|
121
125
|
|
|
122
126
|
- Orphaned CSS custom properties across several components now resolve to real design tokens instead of only their inline fallbacks. `y-dialog`, `y-banner`, `y-droplist`, `y-gallery`, `y-breadcrumbs`, `y-dock`, `y-input`, `y-progress`, `y-slider`, `y-stepper`, and `y-table` referenced `--component-*` variables that were never defined in the token pipeline; these are now themeable. Also fixed `y-gallery`'s broken `--neutral-black-translucent` fallback and stale `--y-color-*` references in the `y-droplist` stories.
|
|
@@ -127,14 +127,6 @@ class YumeButton extends HTMLElement {
|
|
|
127
127
|
// Public
|
|
128
128
|
// -------------------------------------------------------------------------
|
|
129
129
|
|
|
130
|
-
/**
|
|
131
|
-
* Sets the button options from an array of objects.
|
|
132
|
-
* @param {Array<Object>} options
|
|
133
|
-
*/
|
|
134
|
-
setOptions(options) {
|
|
135
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
130
|
// -------------------------------------------------------------------------
|
|
139
131
|
// Private
|
|
140
132
|
// -------------------------------------------------------------------------
|
|
@@ -1527,7 +1519,9 @@ class YumeAppbar extends HTMLElement {
|
|
|
1527
1519
|
}
|
|
1528
1520
|
}
|
|
1529
1521
|
set items(val) {
|
|
1530
|
-
this.
|
|
1522
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
1523
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
1524
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
1531
1525
|
}
|
|
1532
1526
|
|
|
1533
1527
|
/**
|
|
@@ -127,14 +127,6 @@ class YumeButton extends HTMLElement {
|
|
|
127
127
|
// Public
|
|
128
128
|
// -------------------------------------------------------------------------
|
|
129
129
|
|
|
130
|
-
/**
|
|
131
|
-
* Sets the button options from an array of objects.
|
|
132
|
-
* @param {Array<Object>} options
|
|
133
|
-
*/
|
|
134
|
-
setOptions(options) {
|
|
135
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
130
|
// -------------------------------------------------------------------------
|
|
139
131
|
// Private
|
|
140
132
|
// -------------------------------------------------------------------------
|
|
@@ -399,7 +399,9 @@ class YumeBreadcrumbs extends HTMLElement {
|
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
set items(val) {
|
|
402
|
-
this.
|
|
402
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
403
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
404
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
403
405
|
}
|
|
404
406
|
|
|
405
407
|
/** Maximum visible items before collapsing. */
|
|
@@ -33,11 +33,6 @@ export class YumeButton extends HTMLElement {
|
|
|
33
33
|
set value(newVal: any);
|
|
34
34
|
/** The current selected value(s), comma-separated when 'multiple' is set. */
|
|
35
35
|
get value(): any;
|
|
36
|
-
/**
|
|
37
|
-
* Sets the button options from an array of objects.
|
|
38
|
-
* @param {Array<Object>} options
|
|
39
|
-
*/
|
|
40
|
-
setOptions(options: Array<any>): void;
|
|
41
36
|
_addEventListeners(): void;
|
|
42
37
|
_applyCustomColorStyles(color: any, styleType: any, size: any): void;
|
|
43
38
|
_applyFilledInteractionStyles(vars: any): void;
|
|
@@ -33,11 +33,6 @@ export class YumeButton extends HTMLElement {
|
|
|
33
33
|
set value(newVal: any);
|
|
34
34
|
/** The current selected value(s), comma-separated when 'multiple' is set. */
|
|
35
35
|
get value(): any;
|
|
36
|
-
/**
|
|
37
|
-
* Sets the button options from an array of objects.
|
|
38
|
-
* @param {Array<Object>} options
|
|
39
|
-
*/
|
|
40
|
-
setOptions(options: Array<any>): void;
|
|
41
36
|
_addEventListeners(): void;
|
|
42
37
|
_applyCustomColorStyles(color: any, styleType: any, size: any): void;
|
|
43
38
|
_applyFilledInteractionStyles(vars: any): void;
|
|
@@ -127,14 +127,6 @@ class YumeButton extends HTMLElement {
|
|
|
127
127
|
// Public
|
|
128
128
|
// -------------------------------------------------------------------------
|
|
129
129
|
|
|
130
|
-
/**
|
|
131
|
-
* Sets the button options from an array of objects.
|
|
132
|
-
* @param {Array<Object>} options
|
|
133
|
-
*/
|
|
134
|
-
setOptions(options) {
|
|
135
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
130
|
// -------------------------------------------------------------------------
|
|
139
131
|
// Private
|
|
140
132
|
// -------------------------------------------------------------------------
|
|
@@ -1776,7 +1776,9 @@ class YumeColorpicker extends HTMLElement {
|
|
|
1776
1776
|
}
|
|
1777
1777
|
}
|
|
1778
1778
|
set formats(val) {
|
|
1779
|
-
this.
|
|
1779
|
+
if (val === null || val === undefined) this.removeAttribute("formats");
|
|
1780
|
+
else if (typeof val === "string") this.setAttribute("formats", val);
|
|
1781
|
+
else this.setAttribute("formats", JSON.stringify(val));
|
|
1780
1782
|
}
|
|
1781
1783
|
|
|
1782
1784
|
get showAlpha() {
|
|
@@ -2823,7 +2825,9 @@ class YumeColor extends HTMLElement {
|
|
|
2823
2825
|
}
|
|
2824
2826
|
}
|
|
2825
2827
|
set formats(v) {
|
|
2826
|
-
this.
|
|
2828
|
+
if (v === null || v === undefined) this.removeAttribute("formats");
|
|
2829
|
+
else if (typeof v === "string") this.setAttribute("formats", v);
|
|
2830
|
+
else this.setAttribute("formats", JSON.stringify(v));
|
|
2827
2831
|
}
|
|
2828
2832
|
|
|
2829
2833
|
get invalid() {
|
|
@@ -1776,7 +1776,9 @@ class YumeColorpicker extends HTMLElement {
|
|
|
1776
1776
|
}
|
|
1777
1777
|
}
|
|
1778
1778
|
set formats(val) {
|
|
1779
|
-
this.
|
|
1779
|
+
if (val === null || val === undefined) this.removeAttribute("formats");
|
|
1780
|
+
else if (typeof val === "string") this.setAttribute("formats", val);
|
|
1781
|
+
else this.setAttribute("formats", JSON.stringify(val));
|
|
1780
1782
|
}
|
|
1781
1783
|
|
|
1782
1784
|
get showAlpha() {
|
|
@@ -127,14 +127,6 @@ class YumeButton extends HTMLElement {
|
|
|
127
127
|
// Public
|
|
128
128
|
// -------------------------------------------------------------------------
|
|
129
129
|
|
|
130
|
-
/**
|
|
131
|
-
* Sets the button options from an array of objects.
|
|
132
|
-
* @param {Array<Object>} options
|
|
133
|
-
*/
|
|
134
|
-
setOptions(options) {
|
|
135
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
130
|
// -------------------------------------------------------------------------
|
|
139
131
|
// Private
|
|
140
132
|
// -------------------------------------------------------------------------
|
|
@@ -127,14 +127,6 @@ class YumeButton extends HTMLElement {
|
|
|
127
127
|
// Public
|
|
128
128
|
// -------------------------------------------------------------------------
|
|
129
129
|
|
|
130
|
-
/**
|
|
131
|
-
* Sets the button options from an array of objects.
|
|
132
|
-
* @param {Array<Object>} options
|
|
133
|
-
*/
|
|
134
|
-
setOptions(options) {
|
|
135
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
130
|
// -------------------------------------------------------------------------
|
|
139
131
|
// Private
|
|
140
132
|
// -------------------------------------------------------------------------
|
|
@@ -423,7 +423,9 @@ class YumeDock extends HTMLElement {
|
|
|
423
423
|
}
|
|
424
424
|
}
|
|
425
425
|
set items(val) {
|
|
426
|
-
this.
|
|
426
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
427
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
428
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
427
429
|
}
|
|
428
430
|
|
|
429
431
|
/** Which edge of the viewport the dock anchors to. */
|
|
@@ -127,14 +127,6 @@ class YumeButton extends HTMLElement {
|
|
|
127
127
|
// Public
|
|
128
128
|
// -------------------------------------------------------------------------
|
|
129
129
|
|
|
130
|
-
/**
|
|
131
|
-
* Sets the button options from an array of objects.
|
|
132
|
-
* @param {Array<Object>} options
|
|
133
|
-
*/
|
|
134
|
-
setOptions(options) {
|
|
135
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
130
|
// -------------------------------------------------------------------------
|
|
139
131
|
// Private
|
|
140
132
|
// -------------------------------------------------------------------------
|
|
@@ -2082,6 +2074,7 @@ class YumePaginator extends HTMLElement {
|
|
|
2082
2074
|
}
|
|
2083
2075
|
set pageSizeOptions(v) {
|
|
2084
2076
|
if (v == null) this.removeAttribute("page-size-options");
|
|
2077
|
+
else if (typeof v === "string") this.setAttribute("page-size-options", v);
|
|
2085
2078
|
else this.setAttribute("page-size-options", JSON.stringify(v));
|
|
2086
2079
|
}
|
|
2087
2080
|
|
|
@@ -349,6 +349,13 @@ class YumeRating extends HTMLElement {
|
|
|
349
349
|
color: ${filledColor};
|
|
350
350
|
}
|
|
351
351
|
|
|
352
|
+
/* Selected icons use the thickest stroke (matches y-icon's "x-thick")
|
|
353
|
+
so they read as bolder than the unselected outlines. */
|
|
354
|
+
.icon.filled svg,
|
|
355
|
+
.icon.filled svg * {
|
|
356
|
+
stroke-width: 3 !important;
|
|
357
|
+
}
|
|
358
|
+
|
|
352
359
|
.icon svg {
|
|
353
360
|
width: 100%;
|
|
354
361
|
height: 100%;
|
|
@@ -127,14 +127,6 @@ class YumeButton extends HTMLElement {
|
|
|
127
127
|
// Public
|
|
128
128
|
// -------------------------------------------------------------------------
|
|
129
129
|
|
|
130
|
-
/**
|
|
131
|
-
* Sets the button options from an array of objects.
|
|
132
|
-
* @param {Array<Object>} options
|
|
133
|
-
*/
|
|
134
|
-
setOptions(options) {
|
|
135
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
130
|
// -------------------------------------------------------------------------
|
|
139
131
|
// Private
|
|
140
132
|
// -------------------------------------------------------------------------
|
|
@@ -1528,7 +1520,9 @@ class YumeSidebar extends HTMLElement {
|
|
|
1528
1520
|
}
|
|
1529
1521
|
}
|
|
1530
1522
|
set items(val) {
|
|
1531
|
-
this.
|
|
1523
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
1524
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
1525
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
1532
1526
|
}
|
|
1533
1527
|
|
|
1534
1528
|
/**
|
|
@@ -514,6 +514,11 @@ class YumeSlider extends HTMLElement {
|
|
|
514
514
|
this.setAttribute("ticks", "true");
|
|
515
515
|
} else if (typeof val === "number") {
|
|
516
516
|
this.setAttribute("ticks", String(val));
|
|
517
|
+
} else if (typeof val === "string") {
|
|
518
|
+
// Mirror the attribute form directly. React 19 (and any property
|
|
519
|
+
// assignment) routes strings like "5" or "[0,25,50]" here; JSON
|
|
520
|
+
// -stringifying them would double-encode and break _resolveTicks.
|
|
521
|
+
this.setAttribute("ticks", val);
|
|
517
522
|
} else {
|
|
518
523
|
this.setAttribute("ticks", JSON.stringify(val));
|
|
519
524
|
}
|
|
@@ -419,7 +419,9 @@ class YumeStepper extends HTMLElement {
|
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
set items(val) {
|
|
422
|
-
this.
|
|
422
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
423
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
424
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
423
425
|
}
|
|
424
426
|
|
|
425
427
|
/** When set, users can only advance via next() or complete(). */
|
|
@@ -389,7 +389,9 @@ class YumeTabs extends HTMLElement {
|
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
391
|
set options(val) {
|
|
392
|
-
this.
|
|
392
|
+
if (val === null || val === undefined) this.removeAttribute("options");
|
|
393
|
+
else if (typeof val === "string") this.setAttribute("options", val);
|
|
394
|
+
else this.setAttribute("options", JSON.stringify(val));
|
|
393
395
|
this.render();
|
|
394
396
|
}
|
|
395
397
|
|
package/dist/index.js
CHANGED
|
@@ -1730,14 +1730,6 @@ class YumeButton extends HTMLElement {
|
|
|
1730
1730
|
// Public
|
|
1731
1731
|
// -------------------------------------------------------------------------
|
|
1732
1732
|
|
|
1733
|
-
/**
|
|
1734
|
-
* Sets the button options from an array of objects.
|
|
1735
|
-
* @param {Array<Object>} options
|
|
1736
|
-
*/
|
|
1737
|
-
setOptions(options) {
|
|
1738
|
-
this.setAttribute("options", JSON.stringify(options));
|
|
1739
|
-
}
|
|
1740
|
-
|
|
1741
1733
|
// -------------------------------------------------------------------------
|
|
1742
1734
|
// Private
|
|
1743
1735
|
// -------------------------------------------------------------------------
|
|
@@ -3111,7 +3103,9 @@ class YumeAppbar extends HTMLElement {
|
|
|
3111
3103
|
}
|
|
3112
3104
|
}
|
|
3113
3105
|
set items(val) {
|
|
3114
|
-
this.
|
|
3106
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
3107
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
3108
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
3115
3109
|
}
|
|
3116
3110
|
|
|
3117
3111
|
/**
|
|
@@ -4234,7 +4228,9 @@ class YumeSidebar extends HTMLElement {
|
|
|
4234
4228
|
}
|
|
4235
4229
|
}
|
|
4236
4230
|
set items(val) {
|
|
4237
|
-
this.
|
|
4231
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
4232
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
4233
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
4238
4234
|
}
|
|
4239
4235
|
|
|
4240
4236
|
/**
|
|
@@ -5582,7 +5578,9 @@ class YumeBreadcrumbs extends HTMLElement {
|
|
|
5582
5578
|
}
|
|
5583
5579
|
}
|
|
5584
5580
|
set items(val) {
|
|
5585
|
-
this.
|
|
5581
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
5582
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
5583
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
5586
5584
|
}
|
|
5587
5585
|
|
|
5588
5586
|
/** Maximum visible items before collapsing. */
|
|
@@ -7888,7 +7886,9 @@ class YumeColorpicker extends HTMLElement {
|
|
|
7888
7886
|
}
|
|
7889
7887
|
}
|
|
7890
7888
|
set formats(val) {
|
|
7891
|
-
this.
|
|
7889
|
+
if (val === null || val === undefined) this.removeAttribute("formats");
|
|
7890
|
+
else if (typeof val === "string") this.setAttribute("formats", val);
|
|
7891
|
+
else this.setAttribute("formats", JSON.stringify(val));
|
|
7892
7892
|
}
|
|
7893
7893
|
|
|
7894
7894
|
get showAlpha() {
|
|
@@ -8935,7 +8935,9 @@ class YumeColor extends HTMLElement {
|
|
|
8935
8935
|
}
|
|
8936
8936
|
}
|
|
8937
8937
|
set formats(v) {
|
|
8938
|
-
this.
|
|
8938
|
+
if (v === null || v === undefined) this.removeAttribute("formats");
|
|
8939
|
+
else if (typeof v === "string") this.setAttribute("formats", v);
|
|
8940
|
+
else this.setAttribute("formats", JSON.stringify(v));
|
|
8939
8941
|
}
|
|
8940
8942
|
|
|
8941
8943
|
get invalid() {
|
|
@@ -15083,7 +15085,9 @@ class YumeDock extends HTMLElement {
|
|
|
15083
15085
|
}
|
|
15084
15086
|
}
|
|
15085
15087
|
set items(val) {
|
|
15086
|
-
this.
|
|
15088
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
15089
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
15090
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
15087
15091
|
}
|
|
15088
15092
|
|
|
15089
15093
|
/** Which edge of the viewport the dock anchors to. */
|
|
@@ -17221,6 +17225,7 @@ class YumePaginator extends HTMLElement {
|
|
|
17221
17225
|
}
|
|
17222
17226
|
set pageSizeOptions(v) {
|
|
17223
17227
|
if (v == null) this.removeAttribute("page-size-options");
|
|
17228
|
+
else if (typeof v === "string") this.setAttribute("page-size-options", v);
|
|
17224
17229
|
else this.setAttribute("page-size-options", JSON.stringify(v));
|
|
17225
17230
|
}
|
|
17226
17231
|
|
|
@@ -19643,6 +19648,13 @@ class YumeRating extends HTMLElement {
|
|
|
19643
19648
|
color: ${filledColor};
|
|
19644
19649
|
}
|
|
19645
19650
|
|
|
19651
|
+
/* Selected icons use the thickest stroke (matches y-icon's "x-thick")
|
|
19652
|
+
so they read as bolder than the unselected outlines. */
|
|
19653
|
+
.icon.filled svg,
|
|
19654
|
+
.icon.filled svg * {
|
|
19655
|
+
stroke-width: 3 !important;
|
|
19656
|
+
}
|
|
19657
|
+
|
|
19646
19658
|
.icon svg {
|
|
19647
19659
|
width: 100%;
|
|
19648
19660
|
height: 100%;
|
|
@@ -20419,6 +20431,11 @@ class YumeSlider extends HTMLElement {
|
|
|
20419
20431
|
this.setAttribute("ticks", "true");
|
|
20420
20432
|
} else if (typeof val === "number") {
|
|
20421
20433
|
this.setAttribute("ticks", String(val));
|
|
20434
|
+
} else if (typeof val === "string") {
|
|
20435
|
+
// Mirror the attribute form directly. React 19 (and any property
|
|
20436
|
+
// assignment) routes strings like "5" or "[0,25,50]" here; JSON
|
|
20437
|
+
// -stringifying them would double-encode and break _resolveTicks.
|
|
20438
|
+
this.setAttribute("ticks", val);
|
|
20422
20439
|
} else {
|
|
20423
20440
|
this.setAttribute("ticks", JSON.stringify(val));
|
|
20424
20441
|
}
|
|
@@ -22314,7 +22331,9 @@ class YumeStepper extends HTMLElement {
|
|
|
22314
22331
|
}
|
|
22315
22332
|
}
|
|
22316
22333
|
set items(val) {
|
|
22317
|
-
this.
|
|
22334
|
+
if (val === null || val === undefined) this.removeAttribute("items");
|
|
22335
|
+
else if (typeof val === "string") this.setAttribute("items", val);
|
|
22336
|
+
else this.setAttribute("items", JSON.stringify(val));
|
|
22318
22337
|
}
|
|
22319
22338
|
|
|
22320
22339
|
/** When set, users can only advance via next() or complete(). */
|
|
@@ -24011,7 +24030,9 @@ class YumeTabs extends HTMLElement {
|
|
|
24011
24030
|
}
|
|
24012
24031
|
}
|
|
24013
24032
|
set options(val) {
|
|
24014
|
-
this.
|
|
24033
|
+
if (val === null || val === undefined) this.removeAttribute("options");
|
|
24034
|
+
else if (typeof val === "string") this.setAttribute("options", val);
|
|
24035
|
+
else this.setAttribute("options", JSON.stringify(val));
|
|
24015
24036
|
this.render();
|
|
24016
24037
|
}
|
|
24017
24038
|
|