@pine-ds/core 3.4.1 → 3.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/pds-box2.js +7 -3
- package/components/pds-box2.js.map +1 -1
- package/components/pds-button2.js +1 -1
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js +44 -6
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-switch.js +47 -4
- package/components/pds-switch.js.map +1 -1
- package/components/utils.js +38 -5
- package/components/utils.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-box.cjs.entry.js +7 -3
- package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +2 -2
- package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js +42 -4
- package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +1 -1
- package/dist/cjs/pds-switch.cjs.entry.js +44 -3
- package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-text.cjs.entry.js +1 -1
- package/dist/cjs/pds-textarea.cjs.entry.js +1 -1
- package/dist/cjs/pine-core.cjs.js +1 -1
- package/dist/cjs/utils-7jx8T2mW.js +79 -0
- package/dist/cjs/utils-7jx8T2mW.js.map +1 -0
- package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +1 -1
- package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +6 -6
- package/dist/collection/components/pds-box/pds-box.js +10 -6
- package/dist/collection/components/pds-box/pds-box.js.map +1 -1
- package/dist/collection/components/pds-box/stories/pds-box.stories.js +2 -2
- package/dist/collection/components/pds-button/pds-button.css +1 -0
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +4 -4
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +44 -3
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
- package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +6 -6
- package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +2 -2
- package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +3 -3
- package/dist/collection/components/pds-image/stories/pds-image.stories.js +1 -1
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +37 -37
- package/dist/collection/components/pds-link/stories/pds-link.stories.js +2 -2
- package/dist/collection/components/pds-loader/stories/pds-loader.stories.js +3 -3
- package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +9 -9
- package/dist/collection/components/pds-progress/stories/pds-progress.stories.js +2 -2
- package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +6 -6
- package/dist/collection/components/pds-row/stories/pds-row.stories.js +16 -12
- package/dist/collection/components/pds-select/stories/pds-select.stories.js +19 -19
- package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +4 -4
- package/dist/collection/components/pds-switch/pds-switch.js +47 -3
- package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
- package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +5 -5
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +12 -12
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +15 -15
- package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +2 -2
- package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +14 -14
- package/dist/collection/utils/utils.js +37 -4
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/docs.json +5 -14
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-box.entry.js +7 -3
- package/dist/esm/pds-box.entry.js.map +1 -1
- package/dist/esm/pds-button.entry.js +2 -2
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox.entry.js +42 -4
- package/dist/esm/pds-checkbox.entry.js.map +1 -1
- package/dist/esm/pds-input.entry.js +1 -1
- package/dist/esm/pds-link.entry.js +1 -1
- package/dist/esm/pds-switch.entry.js +44 -3
- package/dist/esm/pds-switch.entry.js.map +1 -1
- package/dist/esm/pds-text.entry.js +1 -1
- package/dist/esm/pds-textarea.entry.js +1 -1
- package/dist/esm/pine-core.js +1 -1
- package/dist/esm/utils-tJa4KYNO.js +74 -0
- package/dist/esm/utils-tJa4KYNO.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/pds-box.entry.js +1 -1
- package/dist/esm-es5/pds-box.entry.js.map +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js.map +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-switch.entry.js.map +1 -1
- package/dist/esm-es5/pds-text.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/esm-es5/utils-tJa4KYNO.js +2 -0
- package/dist/esm-es5/utils-tJa4KYNO.js.map +1 -0
- package/dist/pine-core/{p-088828ce.entry.js → p-042ee55c.entry.js} +2 -2
- package/dist/pine-core/{p-6cc09a2f.system.entry.js → p-19d08886.system.entry.js} +2 -2
- package/dist/pine-core/p-19d08886.system.entry.js.map +1 -0
- package/dist/pine-core/{p-0d8a2a39.system.entry.js → p-280a0ec1.system.entry.js} +2 -2
- package/dist/pine-core/p-380d1056.entry.js +2 -0
- package/dist/pine-core/p-380d1056.entry.js.map +1 -0
- package/dist/pine-core/p-3EWr6ZgL.system.js.map +1 -0
- package/dist/pine-core/p-4a658a86.system.entry.js +2 -0
- package/dist/pine-core/p-4a658a86.system.entry.js.map +1 -0
- package/dist/pine-core/p-65275835.system.entry.js +2 -0
- package/dist/pine-core/p-65275835.system.entry.js.map +1 -0
- package/dist/pine-core/{p-568296f0.system.entry.js → p-6bd5811c.system.entry.js} +2 -2
- package/dist/pine-core/{p-9afcab0c.system.entry.js → p-8096b988.system.entry.js} +2 -2
- package/dist/pine-core/p-8096b988.system.entry.js.map +1 -0
- package/dist/pine-core/p-8896d43a.entry.js +2 -0
- package/dist/pine-core/p-8896d43a.entry.js.map +1 -0
- package/dist/pine-core/p-B0PUl1_1.system.js.map +1 -0
- package/dist/pine-core/p-BG6uGRQj.system.js +2 -0
- package/dist/pine-core/p-BG6uGRQj.system.js.map +1 -0
- package/dist/pine-core/p-BdBU6s5P.system.js.map +1 -0
- package/dist/pine-core/{p-Ce_XeYF6.system.js.map → p-BmoX08WO.system.js.map} +1 -1
- package/dist/pine-core/{p-DJu23j_m.system.js.map → p-CmJBNVRO.system.js.map} +1 -1
- package/dist/pine-core/{p-CbQ4EQA9.system.js.map → p-DQ-QGnGf.system.js.map} +1 -1
- package/dist/pine-core/p-De9tROL-.system.js +1 -1
- package/dist/pine-core/{p-Dm_a1Ag0.system.js.map → p-KkT5zjJU.system.js.map} +1 -1
- package/dist/pine-core/p-Rj3B0bRw.system.js.map +1 -0
- package/dist/pine-core/{p-2b48499b.entry.js → p-a2d16624.entry.js} +2 -2
- package/dist/pine-core/{p-d06351b9.system.entry.js → p-a7cb24c3.system.entry.js} +2 -2
- package/dist/pine-core/{p-8a02c581.entry.js → p-b649d711.entry.js} +2 -2
- package/dist/pine-core/{p-fcdbb73f.entry.js → p-c7075f11.entry.js} +2 -2
- package/dist/pine-core/p-c7075f11.entry.js.map +1 -0
- package/dist/pine-core/p-c721e8cf.entry.js +2 -0
- package/dist/pine-core/p-c721e8cf.entry.js.map +1 -0
- package/dist/pine-core/{p-f2da93ea.entry.js → p-f35a5afa.entry.js} +2 -2
- package/dist/pine-core/{p-5c87077e.system.entry.js → p-ffe867ef.system.entry.js} +2 -2
- package/dist/pine-core/p-tJa4KYNO.js +2 -0
- package/dist/pine-core/p-tJa4KYNO.js.map +1 -0
- package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-box/pds-box.d.ts +2 -1
- package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +6 -0
- package/dist/types/components/pds-switch/pds-switch.d.ts +6 -0
- package/dist/types/components.d.ts +4 -4
- package/dist/types/utils/utils.d.ts +10 -3
- package/hydrate/index.js +165 -50
- package/hydrate/index.mjs +165 -50
- package/package.json +2 -2
- package/dist/cjs/utils-jWx-Mf12.js +0 -45
- package/dist/cjs/utils-jWx-Mf12.js.map +0 -1
- package/dist/esm/utils-DkabwBZT.js +0 -41
- package/dist/esm/utils-DkabwBZT.js.map +0 -1
- package/dist/esm-es5/utils-DkabwBZT.js +0 -2
- package/dist/esm-es5/utils-DkabwBZT.js.map +0 -1
- package/dist/pine-core/p-17c2f3fb.entry.js +0 -2
- package/dist/pine-core/p-17c2f3fb.entry.js.map +0 -1
- package/dist/pine-core/p-69e95bc4.system.entry.js +0 -2
- package/dist/pine-core/p-69e95bc4.system.entry.js.map +0 -1
- package/dist/pine-core/p-6cc09a2f.system.entry.js.map +0 -1
- package/dist/pine-core/p-7de61adb.entry.js +0 -2
- package/dist/pine-core/p-7de61adb.entry.js.map +0 -1
- package/dist/pine-core/p-81cf9a46.system.entry.js +0 -2
- package/dist/pine-core/p-81cf9a46.system.entry.js.map +0 -1
- package/dist/pine-core/p-9afcab0c.system.entry.js.map +0 -1
- package/dist/pine-core/p-BDQFLOLJ.system.js.map +0 -1
- package/dist/pine-core/p-BhPuKJbQ.system.js +0 -2
- package/dist/pine-core/p-BhPuKJbQ.system.js.map +0 -1
- package/dist/pine-core/p-CaD_7MzD.system.js.map +0 -1
- package/dist/pine-core/p-CnDggyDA.system.js.map +0 -1
- package/dist/pine-core/p-DkabwBZT.js +0 -2
- package/dist/pine-core/p-DkabwBZT.js.map +0 -1
- package/dist/pine-core/p-bfd08c9c.entry.js +0 -2
- package/dist/pine-core/p-bfd08c9c.entry.js.map +0 -1
- package/dist/pine-core/p-cHtb875x.system.js.map +0 -1
- package/dist/pine-core/p-fcdbb73f.entry.js.map +0 -1
- /package/dist/pine-core/{p-088828ce.entry.js.map → p-042ee55c.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0d8a2a39.system.entry.js.map → p-280a0ec1.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-568296f0.system.entry.js.map → p-6bd5811c.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-2b48499b.entry.js.map → p-a2d16624.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d06351b9.system.entry.js.map → p-a7cb24c3.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8a02c581.entry.js.map → p-b649d711.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f2da93ea.entry.js.map → p-f35a5afa.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5c87077e.system.entry.js.map → p-ffe867ef.system.entry.js.map} +0 -0
|
@@ -50,15 +50,15 @@ const BaseTemplate = (args) =>
|
|
|
50
50
|
html`<pds-select
|
|
51
51
|
autocomplete="${args.autocomplete}"
|
|
52
52
|
component-id="${args.componentId}"
|
|
53
|
-
disabled
|
|
53
|
+
?disabled=${args.disabled}
|
|
54
54
|
error-message="${args.errorMessage}"
|
|
55
55
|
helper-message="${args.helperMessage}"
|
|
56
|
-
hide-label
|
|
57
|
-
invalid
|
|
56
|
+
?hide-label=${args.hideLabel}
|
|
57
|
+
?invalid=${args.invalid}
|
|
58
58
|
label="${args.label}"
|
|
59
|
-
multiple
|
|
59
|
+
?multiple=${args.multiple}
|
|
60
60
|
name="${args.name}"
|
|
61
|
-
required
|
|
61
|
+
?required=${args.required}
|
|
62
62
|
type="${args.type}"
|
|
63
63
|
value="${args.value}"
|
|
64
64
|
>
|
|
@@ -70,14 +70,14 @@ const OptgroupTemplate = (args) =>
|
|
|
70
70
|
html`<pds-select
|
|
71
71
|
autocomplete="${args.autocomplete}"
|
|
72
72
|
component-id="${args.componentId}"
|
|
73
|
-
disabled
|
|
73
|
+
?disabled=${args.disabled}
|
|
74
74
|
error-message="${args.errorMessage}"
|
|
75
75
|
helper-message="${args.helperMessage}"
|
|
76
|
-
invalid
|
|
76
|
+
?invalid=${args.invalid}
|
|
77
77
|
label="${args.label}"
|
|
78
|
-
multiple
|
|
78
|
+
?multiple=${args.multiple}
|
|
79
79
|
name="${args.name}"
|
|
80
|
-
required
|
|
80
|
+
?required=${args.required}
|
|
81
81
|
type="${args.type}"
|
|
82
82
|
value="${args.value}"
|
|
83
83
|
>
|
|
@@ -159,15 +159,15 @@ WithOptgroup.args = {
|
|
|
159
159
|
export const withActionLink = (args) => html`<pds-select
|
|
160
160
|
autocomplete="${args.autocomplete}"
|
|
161
161
|
component-id="pds-select-action-link"
|
|
162
|
-
disabled
|
|
162
|
+
?disabled=${args.disabled}
|
|
163
163
|
error-message="${args.errorMessage}"
|
|
164
164
|
helper-message="${args.helperMessage}"
|
|
165
|
-
hide-label
|
|
166
|
-
invalid
|
|
165
|
+
?hide-label=${args.hideLabel}
|
|
166
|
+
?invalid=${args.invalid}
|
|
167
167
|
label="Timezone"
|
|
168
|
-
multiple
|
|
168
|
+
?multiple=${args.multiple}
|
|
169
169
|
name="timezone"
|
|
170
|
-
required
|
|
170
|
+
?required=${args.required}
|
|
171
171
|
type="${args.type}"
|
|
172
172
|
value="${args.value}">
|
|
173
173
|
<pds-link href="#" slot="action">
|
|
@@ -179,15 +179,15 @@ export const withActionLink = (args) => html`<pds-select
|
|
|
179
179
|
export const withActionButton = (args) => html`<pds-select
|
|
180
180
|
autocomplete="${args.autocomplete}"
|
|
181
181
|
component-id="pds-select-action-button"
|
|
182
|
-
disabled
|
|
182
|
+
?disabled=${args.disabled}
|
|
183
183
|
error-message="${args.errorMessage}"
|
|
184
184
|
helper-message="${args.helperMessage}"
|
|
185
|
-
hide-label
|
|
186
|
-
invalid
|
|
185
|
+
?hide-label=${args.hideLabel}
|
|
186
|
+
?invalid=${args.invalid}
|
|
187
187
|
label="Country"
|
|
188
|
-
multiple
|
|
188
|
+
?multiple=${args.multiple}
|
|
189
189
|
name="country"
|
|
190
|
-
required
|
|
190
|
+
?required=${args.required}
|
|
191
191
|
type="${args.type}"
|
|
192
192
|
value="${args.value}">
|
|
193
193
|
<pds-button slot="action" variant="unstyled">
|
|
@@ -15,21 +15,21 @@ export default {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
const BaseTemplate = (args) => html`
|
|
18
|
-
<pds-sortable border
|
|
18
|
+
<pds-sortable ?border=${args.border} component-id="${args.componentId}" ?dividers=${args.dividers} handle-type="${args.handleType}">
|
|
19
19
|
<pds-sortable-item>Item 1</pds-sortable-item>
|
|
20
20
|
<pds-sortable-item>Item 2</pds-sortable-item>
|
|
21
21
|
<pds-sortable-item>Item 3</pds-sortable-item>
|
|
22
22
|
</pds-sortable>`;
|
|
23
23
|
|
|
24
24
|
const HandleTemplate = (args) => html`
|
|
25
|
-
<pds-sortable border
|
|
25
|
+
<pds-sortable ?border=${args.border} component-id="${args.componentId}" ?dividers=${args.dividers} handle-type="${args.handleType}">
|
|
26
26
|
<pds-sortable-item>Item 1</pds-sortable-item>
|
|
27
27
|
<pds-sortable-item>Item 2</pds-sortable-item>
|
|
28
28
|
<pds-sortable-item>Item 3</pds-sortable-item>
|
|
29
29
|
</pds-sortable>`;
|
|
30
30
|
|
|
31
31
|
const ActionsTemplate = (args) => html`
|
|
32
|
-
<pds-sortable border
|
|
32
|
+
<pds-sortable ?border=${args.border} component-id="${args.componentId}" ?dividers=${args.dividers} handle-type="${args.handleType}">
|
|
33
33
|
<pds-sortable-item enable-actions>
|
|
34
34
|
<div>Item 1</div>
|
|
35
35
|
<div slot="sortable-item-actions">
|
|
@@ -51,7 +51,7 @@ const ActionsTemplate = (args) => html`
|
|
|
51
51
|
</pds-sortable>`;
|
|
52
52
|
|
|
53
53
|
const FullDemoTemplate = (args) => html`
|
|
54
|
-
<pds-sortable border
|
|
54
|
+
<pds-sortable ?border=${args.border} component-id="${args.componentId}" ?dividers=${args.dividers} handle-type="${args.handleType}">
|
|
55
55
|
<pds-sortable-item enable-actions>
|
|
56
56
|
<div>
|
|
57
57
|
<div><strong>Item 1</strong></div>
|
|
@@ -26,6 +26,7 @@ export class PdsSwitch {
|
|
|
26
26
|
return;
|
|
27
27
|
const input = e.target;
|
|
28
28
|
this.checked = input.checked;
|
|
29
|
+
this.updateFormValue();
|
|
29
30
|
this.pdsSwitchChange.emit(e);
|
|
30
31
|
};
|
|
31
32
|
this.switchClassNames = () => {
|
|
@@ -39,16 +40,53 @@ export class PdsSwitch {
|
|
|
39
40
|
return switchClasses;
|
|
40
41
|
};
|
|
41
42
|
}
|
|
43
|
+
connectedCallback() {
|
|
44
|
+
if (this.el.attachInternals) {
|
|
45
|
+
this.internals = this.el.attachInternals();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
componentDidLoad() {
|
|
49
|
+
this.updateFormValue();
|
|
50
|
+
}
|
|
51
|
+
checkedChanged() {
|
|
52
|
+
this.updateFormValue();
|
|
53
|
+
}
|
|
54
|
+
updateFormValue() {
|
|
55
|
+
var _a;
|
|
56
|
+
if (typeof jest !== 'undefined' || typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) === 'test') {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (this.internals && this.internals.setFormValue) {
|
|
60
|
+
// For switches, only send the value when checked, otherwise send null
|
|
61
|
+
const formValue = this.checked ? (this.value || 'on') : null;
|
|
62
|
+
this.internals.setFormValue(formValue);
|
|
63
|
+
}
|
|
64
|
+
if (this.internals && this.internals.setValidity) {
|
|
65
|
+
this.internals.setValidity({});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
formStateRestoreCallback(state) {
|
|
69
|
+
if (state instanceof FormData) {
|
|
70
|
+
// For switches, restore if the value exists in FormData
|
|
71
|
+
const value = this.value || 'on';
|
|
72
|
+
this.checked = state.get(this.name || this.componentId) === value;
|
|
73
|
+
}
|
|
74
|
+
else if (typeof state === 'string') {
|
|
75
|
+
// Restore from string state
|
|
76
|
+
this.checked = state === (this.value || 'on');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
42
79
|
componentWillLoad() {
|
|
43
80
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
44
81
|
}
|
|
45
82
|
render() {
|
|
46
|
-
return (h(Host, { key: '
|
|
47
|
-
h("div", { key: '
|
|
48
|
-
h("div", { key: '
|
|
83
|
+
return (h(Host, { key: 'bd2a7a9740c0d466fbedff0e06e532ab8deb567d', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: '0fb2cfa31a424bce3aa7f8310718f004a034fdae', htmlFor: this.componentId }, h("input", Object.assign({ key: '85b836e04db6648dd8981b51cdbd9ee90bfcea6a', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: '29674a12e61459a11aa8a791eeb46c829c468317', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
|
|
84
|
+
h("div", { key: '135a4bec88f9fe938737b61f361bb76908c39bc7', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
85
|
+
h("div", { key: '18cc1bd12df56b0621820cc0e96a150463373ce2', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '455fd05665e9bbd8d5a9096544116bb646e4c66a', icon: danger, size: "small" }), this.errorMessage)));
|
|
49
86
|
}
|
|
50
87
|
static get is() { return "pds-switch"; }
|
|
51
88
|
static get encapsulation() { return "shadow"; }
|
|
89
|
+
static get formAssociated() { return true; }
|
|
52
90
|
static get originalStyleUrls() {
|
|
53
91
|
return {
|
|
54
92
|
"$": ["../../global/styles/utils/label.scss", "pds-switch.scss"]
|
|
@@ -300,5 +338,11 @@ export class PdsSwitch {
|
|
|
300
338
|
}];
|
|
301
339
|
}
|
|
302
340
|
static get elementRef() { return "el"; }
|
|
341
|
+
static get watchers() {
|
|
342
|
+
return [{
|
|
343
|
+
"propName": "checked",
|
|
344
|
+
"methodName": "checkedChanged"
|
|
345
|
+
}];
|
|
346
|
+
}
|
|
303
347
|
}
|
|
304
348
|
//# sourceMappingURL=pds-switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pds-switch.js","sourceRoot":"","sources":["../../../src/components/pds-switch/pds-switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"pds-switch.js","sourceRoot":"","sources":["../../../src/components/pds-switch/pds-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { danger } from '@pine-ds/icons/icons';\n\nimport { inheritAriaAttributes } from '@utils/attributes';\nimport type { Attributes } from '@utils/attributes';\n\n@Component({\n tag: 'pds-switch',\n styleUrls: ['../../global/styles/utils/label.scss', 'pds-switch.scss'],\n shadow: true,\n formAssociated: true,\n})\nexport class PdsSwitch {\n private inheritedAttributes: Attributes = {};\n private internals?: ElementInternals;\n\n @Element() el: HTMLPdsSwitchElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Determines the input 'checked' state.\n */\n @Prop({ mutable: true }) checked = false;\n\n /**\n * Determines the input 'disabled' state, preventing user interaction.\n */\n @Prop() disabled? = false;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Visually hides the label text for instances where only the switch should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Displays help text for additional description of an input.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines the input 'invalid' state, signifying an error is present.\n */\n @Prop() invalid? = false;\n\n /**\n * Displays text to describe the input.\n */\n @Prop() label!: string;\n\n /**\n * Identifies form data and unifies a group of radio inputs for toggling a single property/value.\n */\n @Prop() name: string;\n\n /**\n * Determines the 'required' state of the input.\n */\n @Prop() required? = false;\n\n /**\n * Provides input with a string submitted in form data.\n */\n @Prop() value: string;\n\n /**\n * Emits an event on input change.\n */\n @Event() pdsSwitchChange: EventEmitter<InputEvent>;\n\n private onSwitchUpdate = (e: Event) => {\n if (this.disabled) return;\n\n const input = e.target as HTMLInputElement;\n this.checked = input.checked;\n\n this.updateFormValue();\n\n this.pdsSwitchChange.emit(e as InputEvent);\n };\n\n private switchClassNames = () => {\n let switchClasses = `pds-switch`;\n\n if (this.invalid === true) {\n switchClasses += \" pds-switch--error\";\n }\n if (this.helperMessage !== undefined) {\n switchClasses += \" pds-switch--message\";\n }\n return switchClasses;\n };\n\n connectedCallback() {\n if (this.el.attachInternals) {\n this.internals = this.el.attachInternals();\n }\n }\n\n componentDidLoad() {\n this.updateFormValue();\n }\n\n @Watch('checked')\n checkedChanged() {\n this.updateFormValue();\n }\n\n private updateFormValue() {\n if (typeof jest !== 'undefined' || typeof process !== 'undefined' && process.env?.NODE_ENV === 'test') {\n return;\n }\n\n if (this.internals && this.internals.setFormValue) {\n // For switches, only send the value when checked, otherwise send null\n const formValue = this.checked ? (this.value || 'on') : null;\n this.internals.setFormValue(formValue);\n }\n\n if (this.internals && this.internals.setValidity) {\n this.internals.setValidity({});\n }\n }\n\n formStateRestoreCallback(state: string | FormData | null) {\n if (state instanceof FormData) {\n // For switches, restore if the value exists in FormData\n const value = this.value || 'on';\n this.checked = state.get(this.name || this.componentId) === value;\n } else if (typeof state === 'string') {\n // Restore from string state\n this.checked = state === (this.value || 'on');\n }\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el)\n }\n }\n\n render() {\n return (\n <Host class={this.switchClassNames()} aria-disabled={this.disabled ? 'true' : null}>\n <label htmlFor={this.componentId}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n checked={this.checked}\n class=\"pds-switch__input\"\n disabled={this.disabled}\n id={this.componentId}\n name={this.name ? this.name : this.componentId}\n onChange={this.onSwitchUpdate}\n required={this.required}\n type=\"checkbox\"\n value={this.value}\n {...this.inheritedAttributes}\n />\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {this.helperMessage &&\n <div\n class={`pds-switch__message`}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-switch__message pds-switch__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"]}
|
|
@@ -21,17 +21,17 @@ export default {
|
|
|
21
21
|
|
|
22
22
|
const BaseTemplate = (args) => html`
|
|
23
23
|
<pds-switch
|
|
24
|
-
checked=${args.checked}
|
|
24
|
+
?checked=${args.checked}
|
|
25
25
|
component-id=${args.componentId}
|
|
26
|
-
disabled=${args.disabled}
|
|
26
|
+
?disabled=${args.disabled}
|
|
27
27
|
error-message=${args.errorMessage}
|
|
28
28
|
helper-message=${args.helperMessage}
|
|
29
|
-
invalid=${args.invalid}
|
|
29
|
+
?invalid=${args.invalid}
|
|
30
30
|
label=${args.label}
|
|
31
|
-
hide-label=${args.hideLabel}
|
|
31
|
+
?hide-label=${args.hideLabel}
|
|
32
32
|
name=${args.name}
|
|
33
33
|
onChange=${args.onChange}
|
|
34
|
-
required=${args.required}
|
|
34
|
+
?required=${args.required}
|
|
35
35
|
type=${args.type}
|
|
36
36
|
/>
|
|
37
37
|
`;
|
|
@@ -16,11 +16,11 @@ export default {
|
|
|
16
16
|
|
|
17
17
|
const BaseTemplate = (args) => html`
|
|
18
18
|
<pds-table
|
|
19
|
-
compact
|
|
19
|
+
?compact=${args.compact}
|
|
20
20
|
component-id="${args.componentId}"
|
|
21
|
-
fixed-column
|
|
22
|
-
responsive
|
|
23
|
-
selectable
|
|
21
|
+
?fixed-column=${args.fixedColumn}
|
|
22
|
+
?responsive=${args.responsive}
|
|
23
|
+
?selectable=${args.selectable}
|
|
24
24
|
>
|
|
25
25
|
<pds-table-head>
|
|
26
26
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
@@ -48,11 +48,11 @@ const BaseTemplate = (args) => html`
|
|
|
48
48
|
|
|
49
49
|
const ResponsiveTemplate = (args) => html`
|
|
50
50
|
<pds-table
|
|
51
|
-
compact
|
|
51
|
+
?compact=${args.compact}
|
|
52
52
|
component-id="${args.componentId}"
|
|
53
|
-
fixed-column
|
|
54
|
-
responsive
|
|
55
|
-
selectable
|
|
53
|
+
?fixed-column=${args.fixedColumn}
|
|
54
|
+
?responsive=${args.responsive}
|
|
55
|
+
?selectable=${args.selectable}
|
|
56
56
|
>
|
|
57
57
|
<pds-table-head>
|
|
58
58
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
@@ -116,11 +116,11 @@ const ResponsiveTemplate = (args) => html`
|
|
|
116
116
|
|
|
117
117
|
const SortableTemplate = (args) => html`
|
|
118
118
|
<pds-table
|
|
119
|
-
compact
|
|
119
|
+
?compact=${args.compact}
|
|
120
120
|
component-id="${args.componentId}"
|
|
121
|
-
fixed-column
|
|
122
|
-
responsive
|
|
123
|
-
selectable
|
|
121
|
+
?fixed-column=${args.fixedColumn}
|
|
122
|
+
?responsive=${args.responsive}
|
|
123
|
+
?selectable=${args.selectable}
|
|
124
124
|
>
|
|
125
125
|
<pds-table-head>
|
|
126
126
|
<pds-table-head-cell sortable=${args.sortable}>Name</pds-table-head-cell>
|
|
@@ -37,18 +37,18 @@ export default {
|
|
|
37
37
|
|
|
38
38
|
const BaseTemplate = (args) => html`<pds-textarea
|
|
39
39
|
autocomplete="${args.autocomplete}"
|
|
40
|
-
clear-on-edit
|
|
40
|
+
?clear-on-edit=${args.clearOnEdit}
|
|
41
41
|
component-id="${args.componentId}"
|
|
42
|
-
disabled
|
|
42
|
+
?disabled=${args.disabled}
|
|
43
43
|
error-message="${args.errorMessage}"
|
|
44
44
|
helper-message="${args.helperMessage}"
|
|
45
|
-
invalid
|
|
45
|
+
?invalid=${args.invalid}
|
|
46
46
|
label="${args.label}"
|
|
47
47
|
name="${args.name}"
|
|
48
48
|
onChange="${args.onChange}"
|
|
49
49
|
placeholder="${args.placeholder}"
|
|
50
|
-
readonly
|
|
51
|
-
required
|
|
50
|
+
?readonly=${args.readonly}
|
|
51
|
+
?required=${args.required}
|
|
52
52
|
rows="${args.rows}"
|
|
53
53
|
value="${args.value}"
|
|
54
54
|
data-tooltip-id="foo"
|
|
@@ -134,18 +134,18 @@ Autocomplete.args = {
|
|
|
134
134
|
|
|
135
135
|
export const withActionLink = (args) => html`<pds-textarea
|
|
136
136
|
autocomplete="${args.autocomplete}"
|
|
137
|
-
clear-on-edit
|
|
137
|
+
?clear-on-edit=${args.clearOnEdit}
|
|
138
138
|
component-id="pds-textarea-action-link"
|
|
139
|
-
disabled
|
|
139
|
+
?disabled=${args.disabled}
|
|
140
140
|
error-message="${args.errorMessage}"
|
|
141
141
|
helper-message="${args.helperMessage}"
|
|
142
|
-
invalid
|
|
142
|
+
?invalid=${args.invalid}
|
|
143
143
|
label="Notes"
|
|
144
144
|
name="${args.name}"
|
|
145
145
|
onChange="${args.onChange}"
|
|
146
146
|
placeholder="${args.placeholder}"
|
|
147
|
-
readonly
|
|
148
|
-
required
|
|
147
|
+
?readonly=${args.readonly}
|
|
148
|
+
?required=${args.required}
|
|
149
149
|
rows="3"
|
|
150
150
|
value="${args.value}"
|
|
151
151
|
data-tooltip-id="foo"
|
|
@@ -157,18 +157,18 @@ export const withActionLink = (args) => html`<pds-textarea
|
|
|
157
157
|
|
|
158
158
|
export const withActionButton = (args) => html`<pds-textarea
|
|
159
159
|
autocomplete="${args.autocomplete}"
|
|
160
|
-
clear-on-edit
|
|
160
|
+
?clear-on-edit=${args.clearOnEdit}
|
|
161
161
|
component-id="pds-textarea-action-button"
|
|
162
|
-
disabled
|
|
162
|
+
?disabled=${args.disabled}
|
|
163
163
|
error-message="${args.errorMessage}"
|
|
164
164
|
helper-message="${args.helperMessage}"
|
|
165
|
-
invalid
|
|
165
|
+
?invalid=${args.invalid}
|
|
166
166
|
label="Description"
|
|
167
167
|
name="${args.name}"
|
|
168
168
|
onChange="${args.onChange}"
|
|
169
169
|
placeholder="${args.placeholder}"
|
|
170
|
-
readonly
|
|
171
|
-
required
|
|
170
|
+
?readonly=${args.readonly}
|
|
171
|
+
?required=${args.required}
|
|
172
172
|
rows="4"
|
|
173
173
|
value="${args.value}"
|
|
174
174
|
data-tooltip-id="foo"
|
|
@@ -18,7 +18,7 @@ export default {
|
|
|
18
18
|
|
|
19
19
|
const BaseTemplate = (args) => html`
|
|
20
20
|
<pds-toast
|
|
21
|
-
|
|
21
|
+
?dismissible=${args.dismissible}
|
|
22
22
|
component-id="${args.componentId}"
|
|
23
23
|
duration="${args.duration}"
|
|
24
24
|
icon="${args.icon || ''}"
|
|
@@ -29,7 +29,7 @@ const BaseTemplate = (args) => html`
|
|
|
29
29
|
|
|
30
30
|
const WithLinkTemplate = (args) => html`
|
|
31
31
|
<pds-toast
|
|
32
|
-
|
|
32
|
+
?dismissible=${args.dismissible}
|
|
33
33
|
component-id="${args.componentId}"
|
|
34
34
|
duration="${args.duration}"
|
|
35
35
|
icon="${args.icon || ''}"
|
|
@@ -15,10 +15,10 @@ export default {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
const BaseTemplate = (args) => html`
|
|
18
|
-
<pds-tooltip content=${args.content} max-width=${args.maxWidth} has-arrow=${args.hasArrow} placement=${args.placement} opened=${args.opened}>${args.slot}</pds-tooltip>`;
|
|
18
|
+
<pds-tooltip content=${args.content} max-width=${args.maxWidth} ?has-arrow=${args.hasArrow} placement=${args.placement} ?opened=${args.opened}>${args.slot}</pds-tooltip>`;
|
|
19
19
|
|
|
20
20
|
const HTMLContentTemplate = (args) => html`
|
|
21
|
-
<pds-tooltip has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement=${args.placement} html-content=${args.htmlContent} opened=${args.opened}>
|
|
21
|
+
<pds-tooltip ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement=${args.placement} ?html-content=${args.htmlContent} ?opened=${args.opened}>
|
|
22
22
|
<div slot="content">
|
|
23
23
|
<p><strong>This is a tooltip</strong></p>
|
|
24
24
|
<p>Tooltips are used to describe or identify an element. In most scenarios, tooltips help the user understand the meaning, function or alt-text of an element.</p>
|
|
@@ -30,46 +30,46 @@ const PositionTemplate = (args) => html`
|
|
|
30
30
|
<div class="demo-container" style="min-height: 50vh; width: 100%; display: flex; align-items: center; justify-content: center;">
|
|
31
31
|
<div class="position-demo-grid">
|
|
32
32
|
<div class="position-demo-grid-item">
|
|
33
|
-
<pds-tooltip content="content 2" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="top-start" opened=${args.opened}>
|
|
33
|
+
<pds-tooltip content="content 2" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="top-start" ?opened=${args.opened}>
|
|
34
34
|
<pds-button variant="accent">t</pds-button>
|
|
35
35
|
</pds-tooltip>
|
|
36
|
-
<pds-tooltip content="content 2" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="top" opened=${args.opened}>
|
|
36
|
+
<pds-tooltip content="content 2" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="top" ?opened=${args.opened}>
|
|
37
37
|
<pds-button variant="accent">t</pds-button>
|
|
38
38
|
</pds-tooltip>
|
|
39
|
-
<pds-tooltip content="content 3" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="top-end" opened=${args.opened}>
|
|
39
|
+
<pds-tooltip content="content 3" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="top-end" ?opened=${args.opened}>
|
|
40
40
|
<pds-button variant="accent">te</pds-button>
|
|
41
41
|
</pds-tooltip>
|
|
42
42
|
</div>
|
|
43
43
|
<div class="position-demo-grid-item">
|
|
44
|
-
<pds-tooltip content="content 1" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="left-start" opened=${args.opened}>
|
|
44
|
+
<pds-tooltip content="content 1" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="left-start" ?opened=${args.opened}>
|
|
45
45
|
<pds-button variant="accent">ls</pds-button>
|
|
46
46
|
</pds-tooltip>
|
|
47
|
-
<pds-tooltip content="content 2" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="left" opened=${args.opened}>
|
|
47
|
+
<pds-tooltip content="content 2" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="left" ?opened=${args.opened}>
|
|
48
48
|
<pds-button variant="accent">l</pds-button>
|
|
49
49
|
</pds-tooltip>
|
|
50
|
-
<pds-tooltip content="content 3" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="left-end" opened=${args.opened}>
|
|
50
|
+
<pds-tooltip content="content 3" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="left-end" ?opened=${args.opened}>
|
|
51
51
|
<pds-button variant="accent">le</pds-button>
|
|
52
52
|
</pds-tooltip>
|
|
53
53
|
</div>
|
|
54
54
|
<div class="position-demo-grid-item">
|
|
55
|
-
<pds-tooltip content="content 1" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="bottom-start" opened=${args.opened}>
|
|
55
|
+
<pds-tooltip content="content 1" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="bottom-start" ?opened=${args.opened}>
|
|
56
56
|
<pds-button variant="accent">bs</pds-button>
|
|
57
57
|
</pds-tooltip>
|
|
58
|
-
<pds-tooltip content="content 2" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="bottom" opened=${args.opened}>
|
|
58
|
+
<pds-tooltip content="content 2" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="bottom" ?opened=${args.opened}>
|
|
59
59
|
<pds-button variant="accent">b</pds-button>
|
|
60
60
|
</pds-tooltip>
|
|
61
|
-
<pds-tooltip content="content 3" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="bottom-end" opened=${args.opened}>
|
|
61
|
+
<pds-tooltip content="content 3" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="bottom-end" ?opened=${args.opened}>
|
|
62
62
|
<pds-button variant="accent">be</pds-button>
|
|
63
63
|
</pds-tooltip>
|
|
64
64
|
</div>
|
|
65
65
|
<div class="position-demo-grid-item">
|
|
66
|
-
<pds-tooltip content="content 1" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="right-start" opened=${args.opened}>
|
|
66
|
+
<pds-tooltip content="content 1" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="right-start" ?opened=${args.opened}>
|
|
67
67
|
<pds-button variant="accent">rs</pds-button>
|
|
68
68
|
</pds-tooltip>
|
|
69
|
-
<pds-tooltip content="content 2" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="right" opened=${args.opened}>
|
|
69
|
+
<pds-tooltip content="content 2" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="right" ?opened=${args.opened}>
|
|
70
70
|
<pds-button variant="accent">r</pds-button>
|
|
71
71
|
</pds-tooltip>
|
|
72
|
-
<pds-tooltip content="content 3" has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="right-end" opened=${args.opened}>
|
|
72
|
+
<pds-tooltip content="content 3" ?has-arrow=${args.hasArrow} max-width=${args.maxWidth} placement="right-end" ?opened=${args.opened}>
|
|
73
73
|
<pds-button variant="accent">re</pds-button>
|
|
74
74
|
</pds-tooltip>
|
|
75
75
|
</div>
|
|
@@ -15,10 +15,37 @@ export const debounce = (func, wait = 0) => {
|
|
|
15
15
|
timer = setTimeout(func, wait, ...args);
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
|
+
// Add shared color normalization utility to unify token handling across components
|
|
19
|
+
/**
|
|
20
|
+
* Normalizes color values to ensure consistent CSS variable usage
|
|
21
|
+
* @param value - Raw token (--token), CSS variable (var(--token)), semantic name, or literal color
|
|
22
|
+
* @param options.semanticMap - Optional mapping of semantic names to CSS variables
|
|
23
|
+
* @returns Normalized color value or undefined for invalid inputs
|
|
24
|
+
*/
|
|
25
|
+
export const normalizeColorValue = (value, options) => {
|
|
26
|
+
if (!value)
|
|
27
|
+
return undefined;
|
|
28
|
+
const trimmed = value.trim();
|
|
29
|
+
// Treat whitespace-only as undefined to avoid invalid CSS values
|
|
30
|
+
if (trimmed === '')
|
|
31
|
+
return undefined;
|
|
32
|
+
// If a semantic map is provided and the value matches a key, return mapped CSS var
|
|
33
|
+
if ((options === null || options === void 0 ? void 0 : options.semanticMap) && options.semanticMap[trimmed]) {
|
|
34
|
+
return options.semanticMap[trimmed];
|
|
35
|
+
}
|
|
36
|
+
// If already a CSS var, pass through
|
|
37
|
+
if (trimmed.startsWith('var('))
|
|
38
|
+
return trimmed;
|
|
39
|
+
// If raw token is provided (e.g., --pine-color-foo), wrap in var(...)
|
|
40
|
+
if (trimmed.startsWith('--'))
|
|
41
|
+
return `var(${trimmed})`;
|
|
42
|
+
// Otherwise treat as literal CSS color value
|
|
43
|
+
return trimmed;
|
|
44
|
+
};
|
|
18
45
|
export const setColor = (color, customColors) => {
|
|
19
|
-
|
|
46
|
+
// Return an empty object for empty/whitespace/undefined inputs to avoid invalid CSS styles
|
|
20
47
|
if (!color)
|
|
21
|
-
return;
|
|
48
|
+
return {};
|
|
22
49
|
const defaultColors = {
|
|
23
50
|
primary: 'var(--pine-color-text-primary)',
|
|
24
51
|
secondary: 'var(--pine-color-text-secondary)',
|
|
@@ -29,9 +56,15 @@ export const setColor = (color, customColors) => {
|
|
|
29
56
|
success: 'var(--pine-color-text-success)',
|
|
30
57
|
warning: 'var(--pine-color-text-warning)',
|
|
31
58
|
};
|
|
32
|
-
|
|
59
|
+
// Merge defaults with any custom overrides so defaults are preserved
|
|
60
|
+
const semanticMap = Object.assign(Object.assign({}, defaultColors), (customColors || {}));
|
|
61
|
+
// Use the shared normalizer so components accept semantic names, raw tokens, var(...), or literals
|
|
62
|
+
const resolved = normalizeColorValue(color, { semanticMap });
|
|
63
|
+
// Ensure we never return an undefined style value; if unresolved, omit the property
|
|
64
|
+
if (!resolved)
|
|
65
|
+
return {};
|
|
33
66
|
return {
|
|
34
|
-
'--color':
|
|
67
|
+
'--color': resolved
|
|
35
68
|
};
|
|
36
69
|
};
|
|
37
70
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAe,EAAE,EAAE;IAC9C,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAE,EAAU,CAAC,YAAY,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,IAAY,EAAgB,EAAE;IAC/E,MAAM,QAAQ,GAAI,KAAa,CAAC,SAAS,IAAI,KAAK,CAAC;IACnD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;KACnC,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAA8B,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;IACnE,IAAI,KAAU,CAAC;IACf,OAAO,CAAC,GAAG,IAAW,EAAO,EAAE;QAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,YAAqC,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAe,EAAE,EAAE;IAC9C,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAE,EAAU,CAAC,YAAY,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,IAAY,EAAgB,EAAE;IAC/E,MAAM,QAAQ,GAAI,KAAa,CAAC,SAAS,IAAI,KAAK,CAAC;IACnD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;KACnC,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAA8B,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;IACnE,IAAI,KAAU,CAAC;IACf,OAAO,CAAC,GAAG,IAAW,EAAO,EAAE;QAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,mFAAmF;AACnF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAyB,EACzB,OAAkD,EAC9B,EAAE;IACtB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,iEAAiE;IACjE,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAErC,mFAAmF;IACnF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IAE/C,sEAAsE;IACtE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,OAAO,GAAG,CAAC;IAEvD,6CAA6C;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,YAAqC,EAAE,EAAE;IAC/E,2FAA2F;IAC3F,IAAI,CAAC,KAAK;QAAE,OAAO,EAA4B,CAAC;IAEhD,MAAM,aAAa,GAA2B;QAC5C,OAAO,EAAE,gCAAgC;QACzC,SAAS,EAAE,kCAAkC;QAC7C,OAAO,EAAE,gCAAgC;QACzC,MAAM,EAAE,+BAA+B;QACvC,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,gCAAgC;QACzC,OAAO,EAAE,gCAAgC;KAC1C,CAAC;IAEF,qEAAqE;IACrE,MAAM,WAAW,mCAAQ,aAAa,GAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAE,CAAC;IAElE,mGAAmG;IACnG,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAE7D,oFAAoF;IACpF,IAAI,CAAC,QAAQ;QAAE,OAAO,EAA4B,CAAC;IAEnD,OAAO;QACL,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC,CAAA","sourcesContent":["import type { EventEmitter } from \"@stencil/core\";\n\nexport const hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow\n}\n\nexport const debounceEvent = (event: EventEmitter, wait: number): EventEmitter => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (func: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n// Add shared color normalization utility to unify token handling across components\n/**\n * Normalizes color values to ensure consistent CSS variable usage\n * @param value - Raw token (--token), CSS variable (var(--token)), semantic name, or literal color\n * @param options.semanticMap - Optional mapping of semantic names to CSS variables\n * @returns Normalized color value or undefined for invalid inputs\n */\nexport const normalizeColorValue = (\n value: string | undefined,\n options?: { semanticMap?: Record<string, string> }\n): string | undefined => {\n if (!value) return undefined;\n const trimmed = value.trim();\n // Treat whitespace-only as undefined to avoid invalid CSS values\n if (trimmed === '') return undefined;\n\n // If a semantic map is provided and the value matches a key, return mapped CSS var\n if (options?.semanticMap && options.semanticMap[trimmed]) {\n return options.semanticMap[trimmed];\n }\n\n // If already a CSS var, pass through\n if (trimmed.startsWith('var(')) return trimmed;\n\n // If raw token is provided (e.g., --pine-color-foo), wrap in var(...)\n if (trimmed.startsWith('--')) return `var(${trimmed})`;\n\n // Otherwise treat as literal CSS color value\n return trimmed;\n};\n\nexport const setColor = (color: string, customColors?: Record<string, string>) => {\n // Return an empty object for empty/whitespace/undefined inputs to avoid invalid CSS styles\n if (!color) return {} as Record<string, string>;\n\n const defaultColors: Record<string, string> = {\n primary: 'var(--pine-color-text-primary)',\n secondary: 'var(--pine-color-text-secondary)',\n neutral: 'var(--pine-color-text-neutral)',\n accent: 'var(--pine-color-text-accent)',\n danger: 'var(--pine-color-text-danger)',\n info: 'var(--pine-color-text-info)',\n success: 'var(--pine-color-text-success)',\n warning: 'var(--pine-color-text-warning)',\n };\n\n // Merge defaults with any custom overrides so defaults are preserved\n const semanticMap = { ...defaultColors, ...(customColors || {}) };\n\n // Use the shared normalizer so components accept semantic names, raw tokens, var(...), or literals\n const resolved = normalizeColorValue(color, { semanticMap });\n\n // Ensure we never return an undefined style value; if unresolved, omit the property\n if (!resolved) return {} as Record<string, string>;\n\n return {\n '--color': resolved\n };\n}\n"]}
|
package/dist/docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2025-08-
|
|
2
|
+
"timestamp": "2025-08-19T17:10:57",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.28.2",
|
|
@@ -1122,16 +1122,16 @@
|
|
|
1122
1122
|
},
|
|
1123
1123
|
{
|
|
1124
1124
|
"name": "flex",
|
|
1125
|
-
"type": "
|
|
1125
|
+
"type": "string",
|
|
1126
1126
|
"complexType": {
|
|
1127
|
-
"original": "`none` | `grow` | `shrink`",
|
|
1128
|
-
"resolved": "
|
|
1127
|
+
"original": "`none` | `grow` | `shrink` | string",
|
|
1128
|
+
"resolved": "string",
|
|
1129
1129
|
"references": {}
|
|
1130
1130
|
},
|
|
1131
1131
|
"mutable": false,
|
|
1132
1132
|
"attr": "flex",
|
|
1133
1133
|
"reflectToAttr": false,
|
|
1134
|
-
"docs": "Defines how a box will grow or shrink to fit the space available in its container.",
|
|
1134
|
+
"docs": "Defines how a box will grow or shrink to fit the space available in its container.\nCan be a predefined value ('none', 'grow', 'shrink') or a custom flex value (e.g., '1', '0 1 auto').",
|
|
1135
1135
|
"docsTags": [
|
|
1136
1136
|
{
|
|
1137
1137
|
"name": "defaultValue",
|
|
@@ -1140,15 +1140,6 @@
|
|
|
1140
1140
|
],
|
|
1141
1141
|
"values": [
|
|
1142
1142
|
{
|
|
1143
|
-
"value": "grow",
|
|
1144
|
-
"type": "string"
|
|
1145
|
-
},
|
|
1146
|
-
{
|
|
1147
|
-
"value": "none",
|
|
1148
|
-
"type": "string"
|
|
1149
|
-
},
|
|
1150
|
-
{
|
|
1151
|
-
"value": "shrink",
|
|
1152
1143
|
"type": "string"
|
|
1153
1144
|
}
|
|
1154
1145
|
],
|