@sellmate/design-system 1.0.69 → 1.0.70
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/dist/cjs/design-system.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
- package/dist/cjs/sd-badge.cjs.entry.js +1 -1
- package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
- package/dist/cjs/sd-button-v2_2.cjs.entry.js +3 -3
- package/dist/cjs/sd-button_4.cjs.entry.js +10 -5
- package/dist/cjs/sd-card.cjs.entry.js +1 -1
- package/dist/cjs/sd-chip.cjs.entry.js +1 -1
- package/dist/cjs/sd-circle-progress.cjs.entry.js +1 -1
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +3 -3
- package/dist/cjs/sd-date-picker-calendar.cjs.entry.js +1 -1
- package/dist/cjs/sd-date-picker-trigger.cjs.entry.js +2 -2
- package/dist/cjs/sd-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +3 -3
- package/dist/cjs/sd-ghost-button.cjs.entry.js +2 -2
- package/dist/cjs/sd-input_2.cjs.entry.js +2 -2
- package/dist/cjs/sd-loading-container.cjs.entry.js +2 -2
- package/dist/cjs/sd-number-input.cjs.entry.js +3 -3
- package/dist/cjs/sd-pagination_2.cjs.entry.js +60 -29
- package/dist/cjs/sd-popover.cjs.entry.js +23 -23
- package/dist/cjs/sd-portal.cjs.entry.js +1 -1
- package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
- package/dist/cjs/sd-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/sd-radio.cjs.entry.js +1 -1
- package/dist/cjs/sd-select-multiple-group.cjs.entry.js +1 -1
- package/dist/cjs/sd-select-v2-list-item_4.cjs.entry.js +28 -4
- package/dist/cjs/sd-select.cjs.entry.js +1 -1
- package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
- package/dist/cjs/table-test.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
- package/dist/collection/components/sd-badge/sd-badge.js +1 -1
- package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
- package/dist/collection/components/sd-button-v2/sd-button-v2.js +3 -3
- package/dist/collection/components/sd-card/sd-card.js +1 -1
- package/dist/collection/components/sd-chip/sd-chip.js +1 -1
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.js +1 -1
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +3 -3
- package/dist/collection/components/sd-field/sd-field.js +4 -4
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +12 -1
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +2 -2
- package/dist/collection/components/sd-input/sd-input.js +2 -2
- package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
- package/dist/collection/components/sd-number-input/sd-number-input.js +3 -3
- package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
- package/dist/collection/components/sd-popover/sd-popover.js +49 -53
- package/dist/collection/components/sd-portal/sd-portal.js +1 -1
- package/dist/collection/components/sd-radio/sd-radio.js +1 -1
- package/dist/collection/components/sd-radio-button/sd-radio-button.js +1 -1
- package/dist/collection/components/sd-radio-group/sd-radio-group.js +1 -1
- package/dist/collection/components/sd-select/sd-select.js +1 -1
- package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +1 -1
- package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js +8 -2
- package/dist/collection/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js +69 -2
- package/dist/collection/components/sd-select-v2/sd-select-v2.js +96 -27
- package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
- package/dist/collection/components/table-test/table-test.js +1 -1
- package/dist/components/{p-z9MoRjYX.js → p-9HhG23Vy.js} +1 -1
- package/dist/components/{p-CEnwrYaY.js → p-B8XV0vD8.js} +1 -1
- package/dist/components/{p-DlkxQ9Jn.js → p-BLxwBD2G.js} +1 -1
- package/dist/components/{p-B1j9ZWLJ.js → p-BM9Fr6OX.js} +1 -1
- package/dist/components/{p-DoSEK0_q.js → p-BfG60atH.js} +1 -1
- package/dist/components/p-CU7IOtCw.js +1 -0
- package/dist/components/{p-DPCj-bFr.js → p-Cc3bTBBn.js} +1 -1
- package/dist/components/{p-CS62OEXf.js → p-CeHRQb7A.js} +1 -1
- package/dist/components/{p-D21iKAp7.js → p-CoOl8zeX.js} +1 -1
- package/dist/components/{p-D99-lhhk.js → p-CscUxW9p.js} +1 -1
- package/dist/components/p-CuiFB2yQ.js +1 -0
- package/dist/components/p-D1SaZEYh.js +1 -0
- package/dist/components/{p-BJshZele.js → p-DM5vbfxB.js} +1 -1
- package/dist/components/{p-T5BGXHZg.js → p-DWJ3CIKO.js} +1 -1
- package/dist/components/{p-BFd54Imz.js → p-D_XZAh9v.js} +1 -1
- package/dist/components/{p-CtrDZYN5.js → p-DboqT9Do.js} +1 -1
- package/dist/components/p-DkHyt3Dz.js +1 -0
- package/dist/components/{p-DIro-Wat.js → p-Dmk-f7qn.js} +1 -1
- package/dist/components/p-DpBU4AWy.js +1 -0
- package/dist/components/p-r8kAA1Su.js +1 -0
- package/dist/components/{p-BaHpEtbz.js → p-raiEivQ1.js} +1 -1
- package/dist/components/sd-action-modal.js +1 -1
- package/dist/components/sd-badge.js +1 -1
- package/dist/components/sd-barcode-input.js +1 -1
- package/dist/components/sd-button-v2.js +1 -1
- package/dist/components/sd-card.js +1 -1
- package/dist/components/sd-chip.js +1 -1
- package/dist/components/sd-circle-progress.js +1 -1
- package/dist/components/sd-confirm-modal.js +1 -1
- package/dist/components/sd-date-picker-calendar.js +1 -1
- package/dist/components/sd-date-picker-trigger.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker-calendar.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-dropdown-button.js +1 -1
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-floating-portal.js +1 -1
- package/dist/components/sd-ghost-button.js +1 -1
- package/dist/components/sd-guide.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-loading-container.js +1 -1
- package/dist/components/sd-loading-modal.js +1 -1
- package/dist/components/sd-modal-container.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-pagination.js +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-portal.js +1 -1
- package/dist/components/sd-radio-button.js +1 -1
- package/dist/components/sd-radio-group.js +1 -1
- package/dist/components/sd-radio.js +1 -1
- package/dist/components/sd-select-dropdown.js +1 -1
- package/dist/components/sd-select-group.js +1 -1
- package/dist/components/sd-select-multiple-group.js +1 -1
- package/dist/components/sd-select-multiple.js +1 -1
- package/dist/components/sd-select-search-input.js +1 -1
- package/dist/components/sd-select-v2-listbox.js +1 -1
- package/dist/components/sd-select-v2-trigger.js +1 -1
- package/dist/components/sd-select-v2.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-tabs.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-thead.js +1 -1
- package/dist/components/sd-toast-container.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/components/table-test.js +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/{p-1b8e63a6.entry.js → p-0967ef4b.entry.js} +1 -1
- package/dist/design-system/{p-449e58ee.entry.js → p-12f13678.entry.js} +1 -1
- package/dist/design-system/{p-23c31074.entry.js → p-132721ad.entry.js} +1 -1
- package/dist/design-system/{p-8cd1b533.entry.js → p-1af3c5c5.entry.js} +1 -1
- package/dist/design-system/{p-a7ef7465.entry.js → p-2196f439.entry.js} +1 -1
- package/dist/design-system/{p-01ac7743.entry.js → p-2319b722.entry.js} +1 -1
- package/dist/design-system/{p-0d485537.entry.js → p-27165b31.entry.js} +1 -1
- package/dist/design-system/{p-4d434794.entry.js → p-3677b3ce.entry.js} +1 -1
- package/dist/design-system/{p-60ece09d.entry.js → p-3c64616c.entry.js} +1 -1
- package/dist/design-system/{p-b3d959b0.entry.js → p-4ba03850.entry.js} +1 -1
- package/dist/design-system/{p-71897864.entry.js → p-639d237f.entry.js} +1 -1
- package/dist/design-system/{p-35b29182.entry.js → p-7232731b.entry.js} +1 -1
- package/dist/design-system/{p-1389a68e.entry.js → p-7dc33db0.entry.js} +1 -1
- package/dist/design-system/{p-002e10ac.entry.js → p-8cb8444e.entry.js} +1 -1
- package/dist/design-system/p-8d65090b.entry.js +1 -0
- package/dist/design-system/{p-9f0fe1f6.entry.js → p-9960d880.entry.js} +1 -1
- package/dist/design-system/{p-92a52f89.entry.js → p-a4e85dba.entry.js} +1 -1
- package/dist/design-system/p-a70ca82b.entry.js +1 -0
- package/dist/design-system/{p-48f1f9ff.entry.js → p-a8e7406e.entry.js} +1 -1
- package/dist/design-system/{p-1a455448.entry.js → p-ac441e78.entry.js} +1 -1
- package/dist/design-system/{p-731429da.entry.js → p-b3b1f25d.entry.js} +1 -1
- package/dist/design-system/{p-609b3748.entry.js → p-beb8d3de.entry.js} +1 -1
- package/dist/design-system/{p-4f9f25a1.entry.js → p-c290c0e0.entry.js} +1 -1
- package/dist/design-system/{p-5442b4b4.entry.js → p-c62ad2f4.entry.js} +1 -1
- package/dist/design-system/{p-4de3b6b1.entry.js → p-c67ff78d.entry.js} +1 -1
- package/dist/design-system/{p-7dd8beba.entry.js → p-c68e37f2.entry.js} +1 -1
- package/dist/design-system/{p-6ef2d08f.entry.js → p-d8a48add.entry.js} +1 -1
- package/dist/design-system/{p-cdedac3c.entry.js → p-dc43ebf9.entry.js} +1 -1
- package/dist/design-system/{p-6b478f5c.entry.js → p-f6869087.entry.js} +1 -1
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sd-action-modal.entry.js +1 -1
- package/dist/esm/sd-badge.entry.js +1 -1
- package/dist/esm/sd-barcode-input.entry.js +1 -1
- package/dist/esm/sd-button-v2_2.entry.js +3 -3
- package/dist/esm/sd-button_4.entry.js +10 -5
- package/dist/esm/sd-card.entry.js +1 -1
- package/dist/esm/sd-chip.entry.js +1 -1
- package/dist/esm/sd-circle-progress.entry.js +1 -1
- package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
- package/dist/esm/sd-date-picker-calendar.entry.js +1 -1
- package/dist/esm/sd-date-picker-trigger.entry.js +2 -2
- package/dist/esm/sd-date-picker.entry.js +2 -2
- package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
- package/dist/esm/sd-dropdown-button.entry.js +3 -3
- package/dist/esm/sd-ghost-button.entry.js +2 -2
- package/dist/esm/sd-input_2.entry.js +2 -2
- package/dist/esm/sd-loading-container.entry.js +2 -2
- package/dist/esm/sd-number-input.entry.js +3 -3
- package/dist/esm/sd-pagination_2.entry.js +60 -29
- package/dist/esm/sd-popover.entry.js +24 -24
- package/dist/esm/sd-portal.entry.js +1 -1
- package/dist/esm/sd-radio-button.entry.js +1 -1
- package/dist/esm/sd-radio-group.entry.js +1 -1
- package/dist/esm/sd-radio.entry.js +1 -1
- package/dist/esm/sd-select-multiple-group.entry.js +1 -1
- package/dist/esm/sd-select-v2-list-item_4.entry.js +28 -4
- package/dist/esm/sd-select.entry.js +1 -1
- package/dist/esm/sd-tabs.entry.js +1 -1
- package/dist/esm/table-test.entry.js +1 -1
- package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +1 -0
- package/dist/types/components/sd-popover/sd-popover.d.ts +12 -8
- package/dist/types/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.d.ts +4 -0
- package/dist/types/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.d.ts +6 -0
- package/dist/types/components/sd-select-v2/sd-select-v2.d.ts +8 -0
- package/dist/types/components.d.ts +27 -15
- package/hydrate/index.js +168 -108
- package/hydrate/index.mjs +168 -108
- package/package.json +1 -1
- package/dist/components/p-Cb1M05mf.js +0 -1
- package/dist/components/p-CsPyZohK.js +0 -1
- package/dist/components/p-DGPGMB_Z.js +0 -1
- package/dist/components/p-D_lyw4rN.js +0 -1
- package/dist/components/p-Diis5oCN.js +0 -1
- package/dist/components/p-DukibDDA.js +0 -1
- package/dist/design-system/p-5a0b0a1b.entry.js +0 -1
- package/dist/design-system/p-87222184.entry.js +0 -1
|
@@ -267,7 +267,7 @@ const SdDateRangePickerCalendar = class {
|
|
|
267
267
|
'--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
|
|
268
268
|
'--range-divider': RANGE_LAYOUT.divider,
|
|
269
269
|
};
|
|
270
|
-
return (index.h(index.Fragment, { key: '
|
|
270
|
+
return (index.h(index.Fragment, { key: 'e925fa935f807e22b22a2f65b4af5b2568865781' }, index.h("div", { key: 'be601b16d179d91292b58c3b70ce6a4aa4f5e59a', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), index.h("div", { key: 'e193b983a7eb75a227ea8e1d13839dcc9e875588', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), index.h("span", { key: '6f2ea95c2fd490a46ac40f6a526ca028920bc564', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
|
|
271
271
|
}
|
|
272
272
|
static get watchers() { return {
|
|
273
273
|
"value": [{
|
|
@@ -246,7 +246,7 @@ const SdDropdownButton = class extends baseDropdownEvent.BaseDropdownEvent {
|
|
|
246
246
|
}
|
|
247
247
|
render() {
|
|
248
248
|
const { config, preset } = this.resolvedConfig;
|
|
249
|
-
return (index.h("div", { key: '
|
|
249
|
+
return (index.h("div", { key: 'ce06d2b7e13cb234bb6e7393939d2ccd834801a5', class: "sd-dropdown-button" }, index.h("button", { key: '4bd3e86eec90698188a834eb35ff922dee7d1855', type: "button", class: this.getTriggerClasses(preset, config.size, this.disabled, this.isOpen), disabled: this.disabled, "aria-haspopup": "menu", "aria-expanded": String(this.isOpen), onClick: this.toggleDropdown, ref: el => (this.triggerRef = el), style: {
|
|
250
250
|
'--sd-dropdown-button-bg': config.color,
|
|
251
251
|
'--sd-dropdown-button-bg-hover': PRESET_HOVER_BACKGROUNDS[preset],
|
|
252
252
|
'--sd-dropdown-button-border': PRESET_BORDER_COLORS[preset],
|
|
@@ -256,10 +256,10 @@ const SdDropdownButton = class extends baseDropdownEvent.BaseDropdownEvent {
|
|
|
256
256
|
'--sd-dropdown-button-disabled-bg': DROPDOWN_DISABLED_BACKGROUND,
|
|
257
257
|
'--sd-dropdown-button-disabled-content': DROPDOWN_DISABLED_TEXT,
|
|
258
258
|
'--sd-dropdown-button-disabled-border': DROPDOWN_DISABLED_BORDER,
|
|
259
|
-
} }, index.h("span", { key: '
|
|
259
|
+
} }, index.h("span", { key: '2baea4f0777ec766625d4ae1fb14739aa61ca114', class: "sd-dropdown-button__trigger-label" }, this.label), index.h("span", { key: 'b37a94dd23d26a1444ddccc192b2a5ab2388bc64', class: "sd-dropdown-button__trigger-divider", "aria-hidden": "true" }), index.h("span", { key: 'b903ff916c3ae1ab189cd08877a57940e45d8aeb', class: {
|
|
260
260
|
'sd-dropdown-button__trigger-icon': true,
|
|
261
261
|
'sd-dropdown-button__trigger-icon--open': this.isOpen,
|
|
262
|
-
}, "aria-hidden": "true" }, index.h("sd-icon", { key: '
|
|
262
|
+
}, "aria-hidden": "true" }, index.h("sd-icon", { key: '2eac1eabd2677decb0c1cfe4f518a7da9aca60ff', name: "chevronDown", size: DROPDOWN_CHEVRON_ICON_SIZE[config.size], color: "var(--sd-dropdown-button-current-content)" }))), this.renderDropdown(preset)));
|
|
263
263
|
}
|
|
264
264
|
static get watchers() { return {
|
|
265
265
|
"isOpen": [{
|
|
@@ -155,7 +155,7 @@ const SdGhostButton = class {
|
|
|
155
155
|
? GHOST_BUTTON_DISABLED_COLORS[this.intent ?? 'default']
|
|
156
156
|
: GHOST_BUTTON_CONTENT_COLORS[this.intent ?? 'default'];
|
|
157
157
|
const accessibleName = this.ariaLabel.trim() || undefined;
|
|
158
|
-
return (index.h("button", { key: '
|
|
158
|
+
return (index.h("button", { key: '4d5159cb897b6c468380f18eba1eca218d24920e', class: {
|
|
159
159
|
'sd-ghost-button': true,
|
|
160
160
|
'sd-ghost-button--disabled': this.disabled,
|
|
161
161
|
}, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
|
|
@@ -164,7 +164,7 @@ const SdGhostButton = class {
|
|
|
164
164
|
'--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[this.intent ?? 'default'],
|
|
165
165
|
'--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
|
|
166
166
|
'--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
|
|
167
|
-
}, onClick: this.handleClick }, index.h("sd-icon", { key: '
|
|
167
|
+
}, onClick: this.handleClick }, index.h("sd-icon", { key: '0461580c901aea244a3d0e693fb94fd6354873ab', name: this.icon, size: sizeConfig.icon, color: contentColor })));
|
|
168
168
|
}
|
|
169
169
|
};
|
|
170
170
|
SdGhostButton.style = sdGhostButtonCss();
|
|
@@ -150,12 +150,12 @@ const SdInput = class {
|
|
|
150
150
|
'--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
|
|
151
151
|
'--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
|
|
152
152
|
};
|
|
153
|
-
return (index.h("sd-field", { key: '
|
|
153
|
+
return (index.h("sd-field", { key: '6270fb99043a06aa9a4c2ead77007e6c03adafef', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("label", { key: 'aaef18c323710235b41d76b26a21380cadcc6e0f', class: "sd-input__content" }, index.h("slot", { key: 'fd5d5845acf9d5351dec5af84e09d91246de8a68', name: "prefix" }), index.h("input", { key: '8b4dd1eab6488a29daec6e6dde5238b319001d5b', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : this.type, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), index.h("slot", { key: '79918e68de3045b509a27d8567e095665040689b', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && (index.h("sd-ghost-button", { key: 'f5358346a20830c1fef955a2bb6783156b251178', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
|
|
154
154
|
if (this.disabled)
|
|
155
155
|
return;
|
|
156
156
|
this.internalValue = '';
|
|
157
157
|
await this.formField?.sdValidate();
|
|
158
|
-
} })), this.type === 'password' && (index.h("sd-ghost-button", { key: '
|
|
158
|
+
} })), this.type === 'password' && (index.h("sd-ghost-button", { key: '77108ea21a4b9afc9e9051c98d4d49bcb571cffb', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled, class: "sd-input__password-icon", onClick: () => {
|
|
159
159
|
if (this.disabled)
|
|
160
160
|
return;
|
|
161
161
|
this.passwordVisible = !this.passwordVisible;
|
|
@@ -18,10 +18,10 @@ const SdLoadingContainer = class {
|
|
|
18
18
|
this.visible = false;
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (index.h("div", { key: '
|
|
21
|
+
return (index.h("div", { key: '7887102a2b03f911fad57784b3b45b12d2265ae2', class: {
|
|
22
22
|
'sd-loading-container': true,
|
|
23
23
|
'sd-loading-container--visible': this.visible,
|
|
24
|
-
}, "aria-hidden": this.visible ? 'false' : 'true' }, index.h("div", { key: '
|
|
24
|
+
}, "aria-hidden": this.visible ? 'false' : 'true' }, index.h("div", { key: '0f815029574907643be52b50a6c8be8e66ced072', class: "sd-loading-container__backdrop" }), index.h("div", { key: '9ea0faf8ed4094b3fd93a6e29c55130d58b245fe', class: "sd-loading-container__content" }, index.h("sd-circle-progress", { key: '6e89faad35f282d91098c213879c0ecf8d05a5ed', indeterminate: true, type: "inverse" }), this.message && (index.h("p", { key: '05d3128ecf91a372a426a2508535c7789aff9bc1', class: "sd-loading-container__message" }, this.message)))));
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
SdLoadingContainer.style = sdLoadingContainerCss();
|
|
@@ -385,12 +385,12 @@ const SdNumberInput = class {
|
|
|
385
385
|
'--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
|
|
386
386
|
'--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
|
|
387
387
|
};
|
|
388
|
-
return (index.h("sd-field", { key: '
|
|
388
|
+
return (index.h("sd-field", { key: '85941d001afd73a10defb7f0728579ce0b8457b1', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("div", { key: '565de4d4a79219bc8d6e9c8f4528ec93a655c376', class: "sd-number-input__content" }, this.useButton && (index.h("button", { key: 'fa27f209b09a03121eb89959164a4a349d525d9a', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, index.h("sd-icon", { key: '7f4fe23f4b0eba4a06e0153338228710365ce57f', name: "minus", size: iconSize, color: this.isDecrementDisabled()
|
|
389
389
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
390
|
-
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && (index.h("span", { key: '
|
|
390
|
+
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && (index.h("span", { key: '55a96b32e383cdf8d5b253336130460275373f41', class: "sd-number-input__prefix" }, this.inputPrefix)), index.h("input", { key: 'e25faa5af70d89ae0266bd9dbf35c72276885a9b', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
|
|
391
391
|
textAlign: this.useButton ? 'center' : 'right',
|
|
392
392
|
...this.inputStyle,
|
|
393
|
-
} }), this.inputSuffix && (index.h("span", { key: '
|
|
393
|
+
} }), this.inputSuffix && (index.h("span", { key: '777730846e62dd03a9193cf582908a059789b329', class: "sd-number-input__suffix" }, this.inputSuffix)), this.useButton && (index.h("button", { key: 'ef8b471cb1d2cbd3a5b350ddbbf856e3bd104567', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, index.h("sd-icon", { key: 'e2440c5a4571b69dc0e91ab0b10dffdd8242b1d8', name: "add", size: iconSize, color: this.isIncrementDisabled()
|
|
394
394
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
395
395
|
: NUMBER_INPUT_STEPPER.icon.default }))))));
|
|
396
396
|
}
|
|
@@ -151,13 +151,13 @@ const SdPagination = class {
|
|
|
151
151
|
'--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
|
|
152
152
|
'--sd-pagination-item-width': `${this.buttonWidth}px`,
|
|
153
153
|
};
|
|
154
|
-
return (index.h("div", { key: '
|
|
154
|
+
return (index.h("div", { key: '2b9efc3a0340799a39e7bbfe6f3a270b7cc5f0c7', class: {
|
|
155
155
|
'sd-pagination': true,
|
|
156
156
|
'sd-pagination--simple': this.simple,
|
|
157
|
-
}, style: cssVars }, index.h("div", { key: '
|
|
157
|
+
}, style: cssVars }, index.h("div", { key: 'af585a4e9ad2fc25e47cb42fdcc66850d6210fd1', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (index.h("div", { class: "sd-pagination__info" }, index.h("span", { class: "sd-pagination__current" }, this.currentPage), index.h("span", { class: "sd-pagination__divider" }, "/"), index.h("span", { class: "sd-pagination__last" }, this.lastPage))) : (index.h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (index.h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
|
|
158
158
|
'sd-pagination__item': true,
|
|
159
159
|
'sd-pagination__item--selected': this.currentPage === n,
|
|
160
|
-
}, onClick: () => this.handlePageChange(n) }, n))))), index.h("div", { key: '
|
|
160
|
+
}, onClick: () => this.handlePageChange(n) }, n))))), index.h("div", { key: '3128e19dee5f2d00fcc5603f96f323afaf2750d4', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
|
|
161
161
|
}
|
|
162
162
|
};
|
|
163
163
|
SdPagination.style = sdPaginationCss();
|
|
@@ -204,11 +204,29 @@ const SdSelectV2 = class {
|
|
|
204
204
|
hovered = false;
|
|
205
205
|
update;
|
|
206
206
|
dropDownShow;
|
|
207
|
+
async sdFocus() {
|
|
208
|
+
if (this.disabled)
|
|
209
|
+
return;
|
|
210
|
+
await this.triggerComponentRef?.sdFocus();
|
|
211
|
+
}
|
|
212
|
+
async sdOpen() {
|
|
213
|
+
// sdFocus 직후 호출 시 트리거 ref/레이아웃이 안정될 때까지 한 틱 대기
|
|
214
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
215
|
+
if (this.disabled || this.isOpen)
|
|
216
|
+
return;
|
|
217
|
+
this.prepareDropdownGeometry();
|
|
218
|
+
if (this.closeAnimationTimer)
|
|
219
|
+
clearTimeout(this.closeAnimationTimer);
|
|
220
|
+
this.isAnimatingOut = false;
|
|
221
|
+
this.isOpen = true;
|
|
222
|
+
}
|
|
207
223
|
triggerRef;
|
|
224
|
+
triggerComponentRef;
|
|
208
225
|
closeAnimationTimer;
|
|
209
226
|
internalName = index$1.nanoid();
|
|
227
|
+
triggerHasFocus = false;
|
|
210
228
|
watchIsOpen(newValue) {
|
|
211
|
-
this.
|
|
229
|
+
this.syncFocusedState(newValue);
|
|
212
230
|
this.dropDownShow.emit({ isOpen: newValue });
|
|
213
231
|
}
|
|
214
232
|
get isMulti() {
|
|
@@ -216,19 +234,19 @@ const SdSelectV2 = class {
|
|
|
216
234
|
}
|
|
217
235
|
get displayText() {
|
|
218
236
|
if (this.isMulti) {
|
|
219
|
-
if (!this.value ||
|
|
220
|
-
return '';
|
|
221
|
-
if (this.emitValue) {
|
|
222
|
-
const flat = this.flattenOptions(this.options);
|
|
223
|
-
return this.value
|
|
224
|
-
.map(v => flat.find(o => o.value === v)?.label ?? '')
|
|
225
|
-
.filter(Boolean)
|
|
226
|
-
.join(', ');
|
|
227
|
-
}
|
|
228
|
-
const selected = this.value;
|
|
229
|
-
if (selected.length === 0)
|
|
237
|
+
if (!Array.isArray(this.value) || this.value.length === 0)
|
|
230
238
|
return '';
|
|
231
|
-
|
|
239
|
+
const flat = this.flattenOptions(this.options);
|
|
240
|
+
return this.value
|
|
241
|
+
.map(item => {
|
|
242
|
+
if (item != null && typeof item === 'object') {
|
|
243
|
+
const opt = item;
|
|
244
|
+
return opt.label ?? flat.find(o => o.value === opt.value)?.label ?? '';
|
|
245
|
+
}
|
|
246
|
+
return flat.find(o => o.value === item)?.label ?? '';
|
|
247
|
+
})
|
|
248
|
+
.filter(Boolean)
|
|
249
|
+
.join(', ');
|
|
232
250
|
}
|
|
233
251
|
if (this.value == null)
|
|
234
252
|
return '';
|
|
@@ -303,20 +321,33 @@ const SdSelectV2 = class {
|
|
|
303
321
|
this.isAnimatingOut = false;
|
|
304
322
|
}, SdSelectV2.CLOSE_ANIMATION_DURATION);
|
|
305
323
|
}
|
|
306
|
-
|
|
324
|
+
prepareDropdownGeometry() {
|
|
307
325
|
if (this.triggerRef) {
|
|
308
326
|
this.triggerWidth = `${this.triggerRef.offsetWidth}px`;
|
|
309
327
|
}
|
|
310
328
|
this.updateDropdownViewportConstraints();
|
|
329
|
+
}
|
|
330
|
+
syncFocusedState(isOpen = this.isOpen) {
|
|
331
|
+
this.focused = isOpen || this.triggerHasFocus;
|
|
332
|
+
}
|
|
333
|
+
handleTriggerFocus = () => {
|
|
334
|
+
this.triggerHasFocus = true;
|
|
335
|
+
this.syncFocusedState();
|
|
336
|
+
};
|
|
337
|
+
handleTriggerBlur = () => {
|
|
338
|
+
this.triggerHasFocus = false;
|
|
339
|
+
this.syncFocusedState();
|
|
340
|
+
};
|
|
341
|
+
handleTriggerClick = () => {
|
|
311
342
|
if (this.isOpen) {
|
|
312
343
|
this.closeDropdown();
|
|
344
|
+
return;
|
|
313
345
|
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
}
|
|
346
|
+
this.prepareDropdownGeometry();
|
|
347
|
+
if (this.closeAnimationTimer)
|
|
348
|
+
clearTimeout(this.closeAnimationTimer);
|
|
349
|
+
this.isAnimatingOut = false;
|
|
350
|
+
this.isOpen = true;
|
|
320
351
|
};
|
|
321
352
|
emitUpdate(value) {
|
|
322
353
|
this.update.emit(value);
|
|
@@ -353,9 +384,7 @@ const SdSelectV2 = class {
|
|
|
353
384
|
}
|
|
354
385
|
else {
|
|
355
386
|
const exists = selected.some(s => s.value === option.value);
|
|
356
|
-
newSelected = exists
|
|
357
|
-
? selected.filter(s => s.value !== option.value)
|
|
358
|
-
: [...selected, option];
|
|
387
|
+
newSelected = exists ? selected.filter(s => s.value !== option.value) : [...selected, option];
|
|
359
388
|
}
|
|
360
389
|
this.value = this.toMultiValue(newSelected);
|
|
361
390
|
this.emitUpdate(this.value);
|
|
@@ -377,13 +406,15 @@ const SdSelectV2 = class {
|
|
|
377
406
|
this.closeDropdown();
|
|
378
407
|
},
|
|
379
408
|
};
|
|
380
|
-
return (index.h("sd-field", { key: '
|
|
409
|
+
return (index.h("sd-field", { key: '8c9b5a1414bd0bb068acd53e07a61767b6904c62', name: this.fieldName || this.internalName, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
|
|
381
410
|
this.hovered = true;
|
|
382
411
|
}, onMouseLeave: () => {
|
|
383
412
|
this.hovered = false;
|
|
384
|
-
} }, index.h("div", { key: '
|
|
413
|
+
} }, index.h("div", { key: '47677529c530f06cb3a35a30dd4cc9f9a34d8759', class: "sd-select-v2", ref: el => {
|
|
385
414
|
this.triggerRef = el;
|
|
386
|
-
} }, index.h("sd-select-v2-trigger", { key: '
|
|
415
|
+
} }, index.h("sd-select-v2-trigger", { key: '3aae441a7ec1a6d8faa0f04f41881f515b641853', ref: el => {
|
|
416
|
+
this.triggerComponentRef = el;
|
|
417
|
+
}, displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '7c92db46231f4c46ce94668ac220dc7ec14ad118', ...portalProps }, index.h("sd-select-v2-listbox", { key: 'af3fc60a9554573e50145edeb0ea8f412116fd76', name: this.name, options: this.options, value: this.value, emitValue: this.emitValue, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
|
|
387
418
|
}
|
|
388
419
|
static get watchers() { return {
|
|
389
420
|
"isOpen": [{
|
|
@@ -14,6 +14,7 @@ const sdPopoverCss = () => `sd-popover{position:relative;cursor:pointer;display:
|
|
|
14
14
|
const SdPopover = class {
|
|
15
15
|
constructor(hostRef) {
|
|
16
16
|
index.registerInstance(this, hostRef);
|
|
17
|
+
this.showChange = index.createEvent(this, "sdShowChange", 7);
|
|
17
18
|
}
|
|
18
19
|
get el() { return index.getElement(this); }
|
|
19
20
|
show = false;
|
|
@@ -28,20 +29,17 @@ const SdPopover = class {
|
|
|
28
29
|
messages = [];
|
|
29
30
|
buttons = [];
|
|
30
31
|
menuClass = '';
|
|
31
|
-
noHover = true;
|
|
32
32
|
useClose = false;
|
|
33
|
-
|
|
34
|
-
slotContent = '';
|
|
35
|
-
watchShowHandler(newValue) {
|
|
36
|
-
this.showPopover = newValue;
|
|
37
|
-
}
|
|
38
|
-
componentWillLoad() {
|
|
39
|
-
this.showPopover = this.show;
|
|
40
|
-
this.slotContent = this.el.innerHTML;
|
|
41
|
-
}
|
|
33
|
+
showChange;
|
|
42
34
|
buttonEl;
|
|
35
|
+
setShow = (next) => {
|
|
36
|
+
if (this.show === next)
|
|
37
|
+
return;
|
|
38
|
+
this.show = next;
|
|
39
|
+
this.showChange.emit(next);
|
|
40
|
+
};
|
|
43
41
|
get popoverOffset() {
|
|
44
|
-
switch (this.placement) {
|
|
42
|
+
switch (this.placement ?? 'bottom') {
|
|
45
43
|
case 'top':
|
|
46
44
|
return [0, -4];
|
|
47
45
|
case 'bottom':
|
|
@@ -52,24 +50,26 @@ const SdPopover = class {
|
|
|
52
50
|
return [4, 0];
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
|
-
handleClose = () =>
|
|
56
|
-
this.showPopover = false;
|
|
57
|
-
};
|
|
53
|
+
handleClose = () => this.setShow(false);
|
|
58
54
|
render() {
|
|
59
|
-
|
|
55
|
+
const placement = this.placement ?? 'bottom';
|
|
56
|
+
const color = this.color ?? '#01BB4B';
|
|
57
|
+
const icon = this.icon ?? 'helpOutline';
|
|
58
|
+
const iconSize = this.iconSize ?? 12;
|
|
59
|
+
const buttonSize = this.buttonSize ?? 'sm';
|
|
60
|
+
const buttonVariant = this.buttonVariant ?? 'primary';
|
|
61
|
+
const menuClass = this.menuClass ?? '';
|
|
62
|
+
const messages = Array.isArray(this.messages) ? this.messages : [];
|
|
63
|
+
const buttons = Array.isArray(this.buttons) ? this.buttons : [];
|
|
64
|
+
return (index.h(index.Fragment, { key: 'e576deaacba9395c5aeb76fd13baa0dc1e908d38' }, this.label ? (index.h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: icon, size: buttonSize, color: color, variant: buttonVariant, class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (index.h("sd-floating-portal", { key: '7520067b46527c22108292a659dd7e8fba85397c', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, index.h("div", { key: 'ba48632dd93359851bd87f4d55f2341653b0caab', class: {
|
|
60
65
|
'sd-floating-menu': true,
|
|
61
66
|
'sd-floating-menu--popover': true,
|
|
62
|
-
[`sd-floating-menu--${
|
|
63
|
-
[
|
|
67
|
+
[`sd-floating-menu--${placement}`]: true,
|
|
68
|
+
[menuClass]: !!menuClass,
|
|
64
69
|
}, style: {
|
|
65
70
|
'--sd-floating-bg': popoverTokens.popover.bg,
|
|
66
|
-
} }, index.h("i", { key: '
|
|
71
|
+
} }, index.h("i", { key: 'fce80e5bc6f49f5dbc1772f910eae0fb9bc09a6b', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '32aaa3b00f7ac77d47fd2bc3c968a7a4c20102c6' })), index.h("div", { key: '29b3240126412070466acee7ee1d061d235ba51e', class: "sd-floating-menu__content" }, this.menuTitle && index.h("div", { key: '6cb5cf4531f573e93146a552b34831dc04851661', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (index.h("div", { key: 'ba15bb4efc4af37dd89b0da61539f516cc31a2f3', class: "sd-floating-menu__messages" }, messages.map((message, i) => (index.h("div", { key: `msg-${i}` }, message))))), buttons.length > 0 && (index.h("div", { key: '2656545909634d8c54e9d34155e699041b5512f5', class: `sd-floating-menu__buttons sd-floating-menu__buttons--${buttons.length}` }, buttons.map((button, i) => (index.h("sd-button", { key: `btn-${i}`, ...button })))))), this.useClose && (index.h("sd-ghost-button", { key: '315bf10dde1b7cde5727beb101a1a1ad07966138', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose })))))));
|
|
67
72
|
}
|
|
68
|
-
static get watchers() { return {
|
|
69
|
-
"show": [{
|
|
70
|
-
"watchShowHandler": 0
|
|
71
|
-
}]
|
|
72
|
-
}; }
|
|
73
73
|
};
|
|
74
74
|
SdPopover.style = sdPopoverCss();
|
|
75
75
|
|
|
@@ -227,7 +227,7 @@ const SdPortal = class {
|
|
|
227
227
|
this.close.emit();
|
|
228
228
|
}
|
|
229
229
|
render() {
|
|
230
|
-
return index.h("slot", { key: '
|
|
230
|
+
return index.h("slot", { key: 'fa3033a01d6c8f6878c91367b9670206ab5c71d7' });
|
|
231
231
|
}
|
|
232
232
|
static get watchers() { return {
|
|
233
233
|
"open": [{
|
|
@@ -170,7 +170,7 @@ const SdRadioButton = class {
|
|
|
170
170
|
'--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
|
|
171
171
|
'--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
|
|
172
172
|
};
|
|
173
|
-
return (index.h("div", { key: '
|
|
173
|
+
return (index.h("div", { key: '67c8e7ad03fb6ee4cabd06591e3e11e5d38914f0', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
|
|
174
174
|
const isSelected = this.isOptionSelected(option);
|
|
175
175
|
const isDisabled = this.isOptionDisabled(option);
|
|
176
176
|
return (index.h("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, index.h("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && index.h("span", { class: "sd-radio-button__label" }, option.label)));
|
|
@@ -31,7 +31,7 @@ const SdRadioGroup = class {
|
|
|
31
31
|
return classes.join(' ');
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
return (index.h("div", { key: '
|
|
34
|
+
return (index.h("div", { key: '5f6559df018e48958103d0a84a0f074f81bd255a', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
|
|
35
35
|
return (index.h("sd-radio", { key: `radio-${option.value}`, val: String(option.value), value: String(this.value), label: option.label, disabled: this.disabled || !!option.disabled, onSdUpdate: ({ detail }) => this.handleRadioChange(detail) }));
|
|
36
36
|
})));
|
|
37
37
|
}
|
|
@@ -118,7 +118,7 @@ const SdRadio = class {
|
|
|
118
118
|
'--sd-radio-disabled-dot': RADIO_COLORS.disabled.dot,
|
|
119
119
|
'--sd-radio-label-color': RADIO_COLORS.label,
|
|
120
120
|
};
|
|
121
|
-
return (index.h("label", { key: '
|
|
121
|
+
return (index.h("label", { key: '2b809f1f3ce39e6dd2429cf1c48a935500287614', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, index.h("input", { key: '1f44ab44d741ef40152318ce6fd437bb091c3cfb', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), index.h("span", { key: '941fddbb939a46afbe72c642d3b6f6f252f143f1', class: "sd-radio__circle" }), this.label && index.h("span", { key: 'e30139892e82b8da251525e3c717549a2b7522d0', class: "sd-radio__label" }, this.label)));
|
|
122
122
|
}
|
|
123
123
|
static get watchers() { return {
|
|
124
124
|
"value": [{
|
|
@@ -398,7 +398,7 @@ const SdSelectMultipleGroup = class extends baseDropdownEvent.BaseDropdownEvent
|
|
|
398
398
|
});
|
|
399
399
|
}
|
|
400
400
|
render() {
|
|
401
|
-
return (index.h("sd-field", { key: '
|
|
401
|
+
return (index.h("sd-field", { key: '4140b6529565f97fa65d81ae1462108476d52bcc', label: this.label, labelWidth: this.labelWidth, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: { '--field-width': this.width || '200px' } }, index.h("div", { key: '2dab2697f3e375d214b66464b0f57aa32e77757b', class: {
|
|
402
402
|
'sd-select-multiple-group': true,
|
|
403
403
|
'sd-select-multiple-group--open': this.isOpen,
|
|
404
404
|
'sd-select-multiple-group--disabled': this.disabled,
|
|
@@ -426,13 +426,19 @@ const SdSelectV2Listbox = class {
|
|
|
426
426
|
* `children` is emptied by `filterTree`; in that case we fall back to the
|
|
427
427
|
* full original subtree because the user has no way to deselect descendants
|
|
428
428
|
* individually.
|
|
429
|
+
*
|
|
430
|
+
* disabled 항목은 사용자가 토글할 수 없으므로 leaves 집합에서 제외한다.
|
|
431
|
+
* 호출처(그룹 토글 / 카운트 / indeterminate 판정)가 모두 동일하게 "실제
|
|
432
|
+
* 토글 가능한 leaves" 만 보도록 통일한다.
|
|
429
433
|
*/
|
|
430
434
|
collectVisibleLeaves(option) {
|
|
435
|
+
if (option.disabled)
|
|
436
|
+
return [];
|
|
431
437
|
if (!option.children)
|
|
432
438
|
return [option];
|
|
433
439
|
if (option.children.length === 0) {
|
|
434
440
|
const original = this.findOriginalOption(option.value, this.options);
|
|
435
|
-
return original ? this.collectLeaves(original) : [];
|
|
441
|
+
return original ? this.collectLeaves(original).filter(l => !l.disabled) : [];
|
|
436
442
|
}
|
|
437
443
|
return option.children.flatMap(child => this.collectVisibleLeaves(child));
|
|
438
444
|
}
|
|
@@ -602,7 +608,7 @@ const SdSelectV2Listbox = class {
|
|
|
602
608
|
'--listbox-max-height': this.maxHeight,
|
|
603
609
|
'--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
|
|
604
610
|
};
|
|
605
|
-
return (index.h("div", { key: '
|
|
611
|
+
return (index.h("div", { key: '17ebae1a1589245944d7db5a05f2c011ad13e391', class: "sd-select-v2-listbox", style: cssVars }, this.showSearch && (index.h("sd-select-v2-list-item-search", { key: '181ddd3a11ebe3b81353d66111459c7929c5af0b', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), index.h("div", { key: '91114e82f60a6bdeb74142d6d7abea2871e6678e', class: "sd-select-v2-listbox__list", onScroll: this.handleScroll, ref: el => {
|
|
606
612
|
this.listEl = el;
|
|
607
613
|
} }, this.isEmpty ? (index.h("div", { class: "sd-select-v2-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (index.h("sd-select-v2-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
|
|
608
614
|
}
|
|
@@ -620,17 +626,33 @@ const SdSelectV2Trigger = class {
|
|
|
620
626
|
constructor(hostRef) {
|
|
621
627
|
index.registerInstance(this, hostRef);
|
|
622
628
|
this.triggerClick = index.createEvent(this, "sdTriggerClick", 7);
|
|
629
|
+
this.triggerFocus = index.createEvent(this, "sdTriggerFocus", 7);
|
|
630
|
+
this.triggerBlur = index.createEvent(this, "sdTriggerBlur", 7);
|
|
623
631
|
}
|
|
624
632
|
displayText = '';
|
|
625
633
|
placeholder = '선택';
|
|
626
634
|
disabled = false;
|
|
627
635
|
isOpen = false;
|
|
628
636
|
triggerClick;
|
|
637
|
+
triggerFocus;
|
|
638
|
+
triggerBlur;
|
|
639
|
+
triggerEl;
|
|
640
|
+
async sdFocus() {
|
|
641
|
+
if (this.disabled)
|
|
642
|
+
return;
|
|
643
|
+
this.triggerEl?.focus();
|
|
644
|
+
}
|
|
629
645
|
handleClick = () => {
|
|
630
646
|
if (this.disabled)
|
|
631
647
|
return;
|
|
632
648
|
this.triggerClick.emit();
|
|
633
649
|
};
|
|
650
|
+
handleFocus = () => {
|
|
651
|
+
this.triggerFocus.emit();
|
|
652
|
+
};
|
|
653
|
+
handleBlur = () => {
|
|
654
|
+
this.triggerBlur.emit();
|
|
655
|
+
};
|
|
634
656
|
render() {
|
|
635
657
|
const hasValue = !!this.displayText;
|
|
636
658
|
const cssVars = {
|
|
@@ -648,11 +670,13 @@ const SdSelectV2Trigger = class {
|
|
|
648
670
|
? SELECT_COLORS.icon.disabled
|
|
649
671
|
: SELECT_COLORS.icon.default,
|
|
650
672
|
};
|
|
651
|
-
return (index.h("div", { key: '
|
|
673
|
+
return (index.h("div", { key: 'e5c4db3cfbaa29c0af7efd0376a972dee0e9db56', ref: el => {
|
|
674
|
+
this.triggerEl = el;
|
|
675
|
+
}, tabindex: this.disabled ? -1 : 0, class: {
|
|
652
676
|
'sd-select-v2-trigger': true,
|
|
653
677
|
'sd-select-v2-trigger--open': this.isOpen,
|
|
654
678
|
'sd-select-v2-trigger--disabled': this.disabled,
|
|
655
|
-
}, style: cssVars, onClick: this.handleClick }, index.h("div", { key: '
|
|
679
|
+
}, style: cssVars, onClick: this.handleClick, onFocus: this.handleFocus, onBlur: this.handleBlur }, index.h("div", { key: '76a946a587f6245f8a21ecbf25c5a21895f35970', class: "sd-select-v2-trigger__content" }, index.h("span", { key: '3224e13cc49371e7bcd8095a8b08bd62d4f8b295', class: "sd-select-v2-trigger__text" }, hasValue ? this.displayText : this.placeholder), index.h("sd-icon", { key: 'ea81dc671b63b14040292ed2ff4084a9c9fc6fca', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
|
|
656
680
|
'sd-select-v2-trigger__icon': true,
|
|
657
681
|
'sd-select-v2-trigger__icon--open': this.isOpen,
|
|
658
682
|
} }))));
|
|
@@ -148,7 +148,7 @@ const SdSelect = class extends baseDropdownEvent.BaseDropdownEvent {
|
|
|
148
148
|
}
|
|
149
149
|
};
|
|
150
150
|
render() {
|
|
151
|
-
return (index.h("sd-field", { key: '
|
|
151
|
+
return (index.h("sd-field", { key: '6939161d0edb5eabca307b3883e02a53a29e66c4', label: this.label, labelWidth: this.labelWidth, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, addonLabel: this.addonLabel, addonAlign: this.addonAlign, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el) }, index.h("div", { key: 'a57d17cb3ff775c724f3a6c13025c04e031de45f', class: {
|
|
152
152
|
'sd-select': true,
|
|
153
153
|
'sd-select--disabled': this.disabled,
|
|
154
154
|
'sd-select--error': !!this.error,
|
|
@@ -48,7 +48,7 @@ const SdTabs = class {
|
|
|
48
48
|
return `square_xs_${color}`;
|
|
49
49
|
}
|
|
50
50
|
render() {
|
|
51
|
-
return (index.h("div", { key: '
|
|
51
|
+
return (index.h("div", { key: '85326c946694a115b466f07395872429c467d72f', class: this.getContainerClasses() }, this.tabs.map((tab, index$1) => {
|
|
52
52
|
const badgeName = this.getBadgeName(tab);
|
|
53
53
|
return (index.h("div", { key: `tab-${index$1}`, class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab.value) }, index.h("span", { "data-label": tab.label, class: "sd-tabs__label" }, tab.label), tab.badge && index.h("sd-tag", { name: badgeName, label: tab.badge.toString() })));
|
|
54
54
|
})));
|
|
@@ -80,7 +80,7 @@ const DataTable = class {
|
|
|
80
80
|
return el.innerHTML;
|
|
81
81
|
}
|
|
82
82
|
render() {
|
|
83
|
-
return (index.h("div", { key: '
|
|
83
|
+
return (index.h("div", { key: '2aaa005ce2516e841fdace352e9d8cf2b98cbde4', class: "table-wrapper" }, index.h("table", { key: '3b13c885dc0cefd1c2b7de3c336d803099009063', class: { 'data-table': true, 'bordered': this.bordered, 'striped': this.striped } }, index.h("thead", { key: 'a866c3ce695250fc6b220044955c6fafa68f5647' }, index.h("tr", { key: '465974d2bd2f39114cabda226aba8645d79b4a68' }, this.columns.map(column => (index.h("th", { key: column.field, style: { width: column.width } }, this.renderHeaderContent(column)))))), index.h("tbody", { key: '4b0a96da5bf54404774fca7bb9136561ddc57170' }, this.rows.map((row, rowIndex) => (index.h("tr", { key: rowIndex }, this.columns.map(column => (index.h("td", { key: `${rowIndex}-${column.field}` }, this.renderCellContent(column, row, rowIndex))))))))), index.h("div", { key: '1deba9664748b1953a65b2d7badc4b2e813ab2eb', class: "templates-slot", hidden: true }, index.h("slot", { key: '782d4ef14b8e6068e1d96a55af5f0b16af33dc0f' }))));
|
|
84
84
|
}
|
|
85
85
|
static get watchers() { return {
|
|
86
86
|
"columns": [{
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
"components/sd-date-range-picker/sd-date-range-picker.js",
|
|
8
8
|
"components/sd-form/sd-form.js",
|
|
9
9
|
"components/sd-guide/sd-guide.js",
|
|
10
|
+
"components/sd-popover/sd-popover.js",
|
|
10
11
|
"components/sd-radio/sd-radio.js",
|
|
11
12
|
"components/sd-radio-button/sd-radio-button.js",
|
|
12
13
|
"components/sd-radio-group/sd-radio-group.js",
|
|
@@ -39,7 +40,6 @@
|
|
|
39
40
|
"components/sd-modal-container/sd-modal-container.js",
|
|
40
41
|
"components/sd-number-input/sd-number-input.js",
|
|
41
42
|
"components/sd-pagination/sd-pagination.js",
|
|
42
|
-
"components/sd-popover/sd-popover.js",
|
|
43
43
|
"components/sd-progress/sd-progress.js",
|
|
44
44
|
"components/sd-select/sd-select-dropdown/sd-select-dropdown.js",
|
|
45
45
|
"components/sd-select/sd-select-option/sd-select-option.js",
|
|
@@ -39,7 +39,7 @@ export class SdActionModal {
|
|
|
39
39
|
if (this.height != null && this.height !== '') {
|
|
40
40
|
sizeStyle.height = typeof this.height === 'number' ? `${this.height}px` : this.height;
|
|
41
41
|
}
|
|
42
|
-
return (h("div", { key: '
|
|
42
|
+
return (h("div", { key: '45997c9b1e10845c4d04528911147bc1d7192dd6', class: "sd-action-modal", style: { ...cssVars, ...sizeStyle } }, h("header", { key: '838bfdc66c52fffb7f226a2a1eb0bdd4a2a8addc', class: "sd-action-modal__header" }, h("h2", { key: 'e17e9c7954d0217071e2c21aa030f3abcc0a584f', class: "sd-action-modal__title" }, this.modalTitle), h("div", { key: 'e81bbfa0bcabba237be8364a40a71c38a4120af1', class: "sd-action-modal__header-sub" }, h("slot", { key: 'b98817a60a874897acd209e7184690f04678a5ca', name: "header-sub-title" })), h("sd-ghost-button", { key: '3b99fd3a4f3e795e5192fe9b41de8b97a40f80d0', class: "sd-action-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), h("div", { key: 'f499d92ecc3adeed3da427ae8bbdc0c6d7edf37b', class: "sd-action-modal__body" }, h("slot", { key: 'dd05e8f95be6aa98a84d5752c89dad9a28695601', name: "body" })), (this.buttonProps != null || this.buttonProps != undefined) && (h("footer", { key: '43b2338654d3a56aced7029749b0e03f0427545f', class: "sd-action-modal__footer" }, h("div", { key: '6308a79ed13017ee2c5a71d7dbf49a7da6bd775f', class: "sd-action-modal__footer-sub" }, h("slot", { key: 'f3764684c374d82a31cbd65333bb0f69eb6f2f1b', name: "bottom-sub-content" })), h("sd-button-v2", { key: '42a2b3068574b56172b0138076f49167da8e6625', ...DEFAULT_BUTTON_PROPS, ...this.buttonProps, onSdClick: () => this.ok.emit() })))));
|
|
43
43
|
}
|
|
44
44
|
static get is() { return "sd-action-modal"; }
|
|
45
45
|
static get originalStyleUrls() {
|
|
@@ -5,7 +5,7 @@ export class SdBadge {
|
|
|
5
5
|
label = '';
|
|
6
6
|
render() {
|
|
7
7
|
const resolvedColor = BADGE_COLOR_MAP[this.color] ?? BADGE_COLOR_MAP.blue;
|
|
8
|
-
return (h("div", { key: '
|
|
8
|
+
return (h("div", { key: '25c24499f0474cad07059347491dd38dc4f59025', class: "sd-badge", style: { '--sd-badge-color': resolvedColor } }, h("div", { key: '7580873ce298cf669a198c277bd4e6812e7c4120', class: "sd-badge__dot" }), h("div", { key: '6c2b8e63a490a3f538cd98749283a5decde63ca6', class: "sd-badge__label" }, this.label)));
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "sd-badge"; }
|
|
11
11
|
static get originalStyleUrls() {
|
|
@@ -102,7 +102,7 @@ export class SdBarcodeInput {
|
|
|
102
102
|
'--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
|
|
103
103
|
'--sd-system-color-field-bg-default': BARCODE_INPUT_COLORS.bg.barcode,
|
|
104
104
|
};
|
|
105
|
-
return (h("sd-field", { key: '
|
|
105
|
+
return (h("sd-field", { key: '5e1e5e5ba201ea743fa83df03f7712d7141332e7', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("label", { key: '4b8d82acd91c247b148d1b16f3b3c9d4e69c178f', class: "sd-barcode-input__content" }, h("slot", { key: '0fb54ff8ebca25f348f1fdbb7b29f5e391beea9e', name: "prefix" }), h("input", { key: '9c1e3fd1bfa35cc663838dc0dc737497525a8aa6', name: this.name, ref: el => (this.nativeEl = el), class: `sd-barcode-input__native ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), h("slot", { key: '6e060c721546d34ce6137986ba7204df90a55f51', name: "suffix" }), this.clearable && this.internalValue && (h("sd-ghost-button", { key: 'ded4ca906d1f25bbc80a7ba8e090eb24f507bb09', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-barcode-input__clear-icon", onClick: async () => {
|
|
106
106
|
if (this.disabled)
|
|
107
107
|
return;
|
|
108
108
|
this.internalValue = '';
|