@sellmate/design-system 1.0.68 → 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 +2 -1
- package/dist/cjs/sd-button-v2_2.cjs.entry.js +3 -3
- package/dist/cjs/sd-button_4.cjs.entry.js +23 -6
- 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 +3 -2
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
- package/dist/cjs/sd-date-range-picker.cjs.entry.js +3 -2
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +3 -3
- package/dist/cjs/sd-file-picker.cjs.entry.js +2 -1
- package/dist/cjs/sd-ghost-button.cjs.entry.js +2 -2
- package/dist/cjs/sd-input_2.cjs.entry.js +3 -2
- package/dist/cjs/sd-loading-container.cjs.entry.js +2 -2
- package/dist/cjs/sd-number-input.cjs.entry.js +4 -3
- package/dist/cjs/sd-pagination_2.cjs.entry.js +61 -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-group.cjs.entry.js +2 -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 +2 -1
- package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
- package/dist/cjs/sd-textarea.cjs.entry.js +2 -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 +29 -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 +30 -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-date-range-picker/sd-date-range-picker.js +30 -2
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +3 -3
- package/dist/collection/components/sd-field/sd-field.config.js +5 -0
- package/dist/collection/components/sd-field/sd-field.css +4 -0
- package/dist/collection/components/sd-field/sd-field.js +39 -5
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +29 -1
- 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 +30 -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 +31 -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 +29 -1
- package/dist/collection/components/sd-select-group/sd-select-group.js +29 -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 +124 -27
- package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
- package/dist/collection/components/sd-textarea/sd-textarea.js +29 -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-B8XV0vD8.js +1 -0
- 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-CEeNVTzW.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-CscUxW9p.js +1 -0
- package/dist/components/p-CuiFB2yQ.js +1 -0
- package/dist/components/p-D1SaZEYh.js +1 -0
- package/dist/components/{p-BPXQ6DXz.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-06080355.entry.js +1 -0
- 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-2196f439.entry.js +1 -0
- 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-4ba03850.entry.js +1 -0
- package/dist/design-system/p-639d237f.entry.js +1 -0
- package/dist/design-system/{p-35b29182.entry.js → p-7232731b.entry.js} +1 -1
- package/dist/design-system/p-7dc33db0.entry.js +1 -0
- 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-9dd7befe.entry.js +1 -0
- 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-ac9f7551.entry.js +1 -0
- package/dist/design-system/p-b3b1f25d.entry.js +1 -0
- package/dist/design-system/p-beb8d3de.entry.js +1 -0
- package/dist/design-system/{p-4f9f25a1.entry.js → p-c290c0e0.entry.js} +1 -1
- package/dist/design-system/p-c62ad2f4.entry.js +1 -0
- 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-d668fd71.entry.js +1 -0
- 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 +2 -1
- package/dist/esm/sd-button-v2_2.entry.js +3 -3
- package/dist/esm/sd-button_4.entry.js +23 -6
- 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 +3 -2
- package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
- package/dist/esm/sd-date-range-picker.entry.js +3 -2
- package/dist/esm/sd-dropdown-button.entry.js +3 -3
- package/dist/esm/sd-file-picker.entry.js +2 -1
- package/dist/esm/sd-ghost-button.entry.js +2 -2
- package/dist/esm/sd-input_2.entry.js +3 -2
- package/dist/esm/sd-loading-container.entry.js +2 -2
- package/dist/esm/sd-number-input.entry.js +4 -3
- package/dist/esm/sd-pagination_2.entry.js +61 -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-group.entry.js +2 -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 +2 -1
- package/dist/esm/sd-tabs.entry.js +1 -1
- package/dist/esm/sd-textarea.entry.js +2 -1
- package/dist/esm/table-test.entry.js +1 -1
- package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +2 -0
- package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +2 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +2 -0
- package/dist/types/components/sd-field/sd-field.config.d.ts +2 -0
- package/dist/types/components/sd-field/sd-field.d.ts +2 -1
- package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +2 -0
- package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +1 -0
- package/dist/types/components/sd-input/sd-input.d.ts +2 -0
- package/dist/types/components/sd-number-input/sd-number-input.d.ts +2 -0
- package/dist/types/components/sd-popover/sd-popover.d.ts +12 -8
- package/dist/types/components/sd-select/sd-select.d.ts +2 -0
- package/dist/types/components/sd-select-group/sd-select-group.d.ts +2 -0
- 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 +10 -0
- package/dist/types/components/sd-textarea/sd-textarea.d.ts +2 -0
- package/dist/types/components.d.ts +128 -17
- package/hydrate/index.js +207 -114
- package/hydrate/index.mjs +207 -114
- 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-DQLyH3dr.js +0 -1
- package/dist/components/p-DWW5xr6r.js +0 -1
- package/dist/components/p-D_lyw4rN.js +0 -1
- package/dist/components/p-Diis5oCN.js +0 -1
- package/dist/components/p-N_EbEY8s.js +0 -1
- package/dist/design-system/p-07736d67.entry.js +0 -1
- package/dist/design-system/p-0c98676e.entry.js +0 -1
- package/dist/design-system/p-16eae7ae.entry.js +0 -1
- package/dist/design-system/p-23ff6bee.entry.js +0 -1
- package/dist/design-system/p-2a663b3b.entry.js +0 -1
- package/dist/design-system/p-33713805.entry.js +0 -1
- package/dist/design-system/p-5a0b0a1b.entry.js +0 -1
- package/dist/design-system/p-6ca6dfaf.entry.js +0 -1
- package/dist/design-system/p-8281dc36.entry.js +0 -1
- package/dist/design-system/p-87222184.entry.js +0 -1
- package/dist/design-system/p-ca6b4d4a.entry.js +0 -1
- package/dist/design-system/p-e1b307ee.entry.js +0 -1
- package/dist/design-system/p-ebc72b3f.entry.js +0 -1
|
@@ -424,13 +424,19 @@ const SdSelectV2Listbox = class {
|
|
|
424
424
|
* `children` is emptied by `filterTree`; in that case we fall back to the
|
|
425
425
|
* full original subtree because the user has no way to deselect descendants
|
|
426
426
|
* individually.
|
|
427
|
+
*
|
|
428
|
+
* disabled 항목은 사용자가 토글할 수 없으므로 leaves 집합에서 제외한다.
|
|
429
|
+
* 호출처(그룹 토글 / 카운트 / indeterminate 판정)가 모두 동일하게 "실제
|
|
430
|
+
* 토글 가능한 leaves" 만 보도록 통일한다.
|
|
427
431
|
*/
|
|
428
432
|
collectVisibleLeaves(option) {
|
|
433
|
+
if (option.disabled)
|
|
434
|
+
return [];
|
|
429
435
|
if (!option.children)
|
|
430
436
|
return [option];
|
|
431
437
|
if (option.children.length === 0) {
|
|
432
438
|
const original = this.findOriginalOption(option.value, this.options);
|
|
433
|
-
return original ? this.collectLeaves(original) : [];
|
|
439
|
+
return original ? this.collectLeaves(original).filter(l => !l.disabled) : [];
|
|
434
440
|
}
|
|
435
441
|
return option.children.flatMap(child => this.collectVisibleLeaves(child));
|
|
436
442
|
}
|
|
@@ -600,7 +606,7 @@ const SdSelectV2Listbox = class {
|
|
|
600
606
|
'--listbox-max-height': this.maxHeight,
|
|
601
607
|
'--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
|
|
602
608
|
};
|
|
603
|
-
return (h("div", { key: '
|
|
609
|
+
return (h("div", { key: '17ebae1a1589245944d7db5a05f2c011ad13e391', class: "sd-select-v2-listbox", style: cssVars }, this.showSearch && (h("sd-select-v2-list-item-search", { key: '181ddd3a11ebe3b81353d66111459c7929c5af0b', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: '91114e82f60a6bdeb74142d6d7abea2871e6678e', class: "sd-select-v2-listbox__list", onScroll: this.handleScroll, ref: el => {
|
|
604
610
|
this.listEl = el;
|
|
605
611
|
} }, this.isEmpty ? (h("div", { class: "sd-select-v2-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (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) })))))));
|
|
606
612
|
}
|
|
@@ -618,17 +624,33 @@ const SdSelectV2Trigger = class {
|
|
|
618
624
|
constructor(hostRef) {
|
|
619
625
|
registerInstance(this, hostRef);
|
|
620
626
|
this.triggerClick = createEvent(this, "sdTriggerClick", 7);
|
|
627
|
+
this.triggerFocus = createEvent(this, "sdTriggerFocus", 7);
|
|
628
|
+
this.triggerBlur = createEvent(this, "sdTriggerBlur", 7);
|
|
621
629
|
}
|
|
622
630
|
displayText = '';
|
|
623
631
|
placeholder = '선택';
|
|
624
632
|
disabled = false;
|
|
625
633
|
isOpen = false;
|
|
626
634
|
triggerClick;
|
|
635
|
+
triggerFocus;
|
|
636
|
+
triggerBlur;
|
|
637
|
+
triggerEl;
|
|
638
|
+
async sdFocus() {
|
|
639
|
+
if (this.disabled)
|
|
640
|
+
return;
|
|
641
|
+
this.triggerEl?.focus();
|
|
642
|
+
}
|
|
627
643
|
handleClick = () => {
|
|
628
644
|
if (this.disabled)
|
|
629
645
|
return;
|
|
630
646
|
this.triggerClick.emit();
|
|
631
647
|
};
|
|
648
|
+
handleFocus = () => {
|
|
649
|
+
this.triggerFocus.emit();
|
|
650
|
+
};
|
|
651
|
+
handleBlur = () => {
|
|
652
|
+
this.triggerBlur.emit();
|
|
653
|
+
};
|
|
632
654
|
render() {
|
|
633
655
|
const hasValue = !!this.displayText;
|
|
634
656
|
const cssVars = {
|
|
@@ -646,11 +668,13 @@ const SdSelectV2Trigger = class {
|
|
|
646
668
|
? SELECT_COLORS.icon.disabled
|
|
647
669
|
: SELECT_COLORS.icon.default,
|
|
648
670
|
};
|
|
649
|
-
return (h("div", { key: '
|
|
671
|
+
return (h("div", { key: 'e5c4db3cfbaa29c0af7efd0376a972dee0e9db56', ref: el => {
|
|
672
|
+
this.triggerEl = el;
|
|
673
|
+
}, tabindex: this.disabled ? -1 : 0, class: {
|
|
650
674
|
'sd-select-v2-trigger': true,
|
|
651
675
|
'sd-select-v2-trigger--open': this.isOpen,
|
|
652
676
|
'sd-select-v2-trigger--disabled': this.disabled,
|
|
653
|
-
}, style: cssVars, onClick: this.handleClick }, h("div", { key: '
|
|
677
|
+
}, style: cssVars, onClick: this.handleClick, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '76a946a587f6245f8a21ecbf25c5a21895f35970', class: "sd-select-v2-trigger__content" }, h("span", { key: '3224e13cc49371e7bcd8095a8b08bd62d4f8b295', class: "sd-select-v2-trigger__text" }, hasValue ? this.displayText : this.placeholder), h("sd-icon", { key: 'ea81dc671b63b14040292ed2ff4084a9c9fc6fca', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
|
|
654
678
|
'sd-select-v2-trigger__icon': true,
|
|
655
679
|
'sd-select-v2-trigger__icon--open': this.isOpen,
|
|
656
680
|
} }))));
|
|
@@ -28,6 +28,7 @@ const SdSelect = class extends BaseDropdownEvent {
|
|
|
28
28
|
label = '';
|
|
29
29
|
labelWidth = '';
|
|
30
30
|
addonLabel = '';
|
|
31
|
+
addonAlign = 'start';
|
|
31
32
|
icon = undefined;
|
|
32
33
|
labelTooltip = '';
|
|
33
34
|
labelTooltipProps = null;
|
|
@@ -145,7 +146,7 @@ const SdSelect = class extends BaseDropdownEvent {
|
|
|
145
146
|
}
|
|
146
147
|
};
|
|
147
148
|
render() {
|
|
148
|
-
return (h("sd-field", { key: '
|
|
149
|
+
return (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) }, h("div", { key: 'a57d17cb3ff775c724f3a6c13025c04e031de45f', class: {
|
|
149
150
|
'sd-select': true,
|
|
150
151
|
'sd-select--disabled': this.disabled,
|
|
151
152
|
'sd-select--error': !!this.error,
|
|
@@ -46,7 +46,7 @@ const SdTabs = class {
|
|
|
46
46
|
return `square_xs_${color}`;
|
|
47
47
|
}
|
|
48
48
|
render() {
|
|
49
|
-
return (h("div", { key: '
|
|
49
|
+
return (h("div", { key: '85326c946694a115b466f07395872429c467d72f', class: this.getContainerClasses() }, this.tabs.map((tab, index) => {
|
|
50
50
|
const badgeName = this.getBadgeName(tab);
|
|
51
51
|
return (h("div", { key: `tab-${index}`, class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab.value) }, h("span", { "data-label": tab.label, class: "sd-tabs__label" }, tab.label), tab.badge && h("sd-tag", { name: badgeName, label: tab.badge.toString() })));
|
|
52
52
|
})));
|
|
@@ -41,6 +41,7 @@ const SdTextarea = class {
|
|
|
41
41
|
label = '';
|
|
42
42
|
labelWidth = '';
|
|
43
43
|
addonLabel = '';
|
|
44
|
+
addonAlign = 'start';
|
|
44
45
|
hint = '';
|
|
45
46
|
errorMessage = '';
|
|
46
47
|
icon = undefined;
|
|
@@ -127,7 +128,7 @@ const SdTextarea = class {
|
|
|
127
128
|
'--sd-system-size-field-sm-height': 'auto',
|
|
128
129
|
'--sd-system-radius-field-sm': `${TEXTAREA_TOKENS.radius}px`,
|
|
129
130
|
};
|
|
130
|
-
return (h("sd-field", { key: '
|
|
131
|
+
return (h("sd-field", { key: '9f456eb1b18d0d83fb40f0b6b66125d587bcb4c6', 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, 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("div", { key: 'f201962ed64908c97d24923b62e97c33b356170a', class: "sd-textarea__content" }, h("textarea", { key: '826e4b3c4743dbf16387b68317bd09ca7c75746d', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
|
|
131
132
|
}
|
|
132
133
|
static get watchers() { return {
|
|
133
134
|
"value": [{
|
|
@@ -78,7 +78,7 @@ const DataTable = class {
|
|
|
78
78
|
return el.innerHTML;
|
|
79
79
|
}
|
|
80
80
|
render() {
|
|
81
|
-
return (h("div", { key: '
|
|
81
|
+
return (h("div", { key: '2aaa005ce2516e841fdace352e9d8cf2b98cbde4', class: "table-wrapper" }, h("table", { key: '3b13c885dc0cefd1c2b7de3c336d803099009063', class: { 'data-table': true, 'bordered': this.bordered, 'striped': this.striped } }, h("thead", { key: 'a866c3ce695250fc6b220044955c6fafa68f5647' }, h("tr", { key: '465974d2bd2f39114cabda226aba8645d79b4a68' }, this.columns.map(column => (h("th", { key: column.field, style: { width: column.width } }, this.renderHeaderContent(column)))))), h("tbody", { key: '4b0a96da5bf54404774fca7bb9136561ddc57170' }, this.rows.map((row, rowIndex) => (h("tr", { key: rowIndex }, this.columns.map(column => (h("td", { key: `${rowIndex}-${column.field}` }, this.renderCellContent(column, row, rowIndex))))))))), h("div", { key: '1deba9664748b1953a65b2d7badc4b2e813ab2eb', class: "templates-slot", hidden: true }, h("slot", { key: '782d4ef14b8e6068e1d96a55af5f0b16af33dc0f' }))));
|
|
82
82
|
}
|
|
83
83
|
static get watchers() { return {
|
|
84
84
|
"columns": [{
|
|
@@ -2,11 +2,13 @@ import { EventEmitter } from '../../stencil-public-runtime';
|
|
|
2
2
|
import { Rule } from '../../types/form';
|
|
3
3
|
import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
4
|
import { type BarcodeInputSize } from './sd-barcode-input.config';
|
|
5
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
5
6
|
export declare class SdBarcodeInput {
|
|
6
7
|
host: HTMLElement;
|
|
7
8
|
value?: string | number | null;
|
|
8
9
|
size: BarcodeInputSize;
|
|
9
10
|
addonLabel: string;
|
|
11
|
+
addonAlign: FieldAddonAlign;
|
|
10
12
|
placeholder: string;
|
|
11
13
|
disabled: boolean;
|
|
12
14
|
clearable: boolean;
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from '../../stencil-public-runtime';
|
|
|
2
2
|
import type { Rule } from '../../types/form';
|
|
3
3
|
import type { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
4
|
import { type DatePickerSize } from './sd-date-picker.config';
|
|
5
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
5
6
|
export declare class SdDatePicker {
|
|
6
7
|
private static readonly CLOSE_ANIMATION_DURATION;
|
|
7
8
|
el: HTMLElement;
|
|
@@ -14,6 +15,7 @@ export declare class SdDatePicker {
|
|
|
14
15
|
label: string;
|
|
15
16
|
labelWidth: string | number;
|
|
16
17
|
addonLabel: string;
|
|
18
|
+
addonAlign: FieldAddonAlign;
|
|
17
19
|
hint: string;
|
|
18
20
|
errorMessage: string;
|
|
19
21
|
fieldName: string;
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from '../../stencil-public-runtime';
|
|
|
2
2
|
import type { Rule } from '../../types/form';
|
|
3
3
|
import type { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
4
|
import { type DatePickerSize } from './sd-date-range-picker.config';
|
|
5
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
5
6
|
export type DateRangeValue = [string, string] | null;
|
|
6
7
|
export declare class SdDateRangePicker {
|
|
7
8
|
private static readonly CLOSE_ANIMATION_DURATION;
|
|
@@ -16,6 +17,7 @@ export declare class SdDateRangePicker {
|
|
|
16
17
|
label: string;
|
|
17
18
|
labelWidth: string | number;
|
|
18
19
|
addonLabel: string;
|
|
20
|
+
addonAlign: FieldAddonAlign;
|
|
19
21
|
hint: string;
|
|
20
22
|
errorMessage: string;
|
|
21
23
|
fieldName: string;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export type FieldSize = 'sm' | 'md';
|
|
2
|
+
export type FieldAddonAlign = 'start' | 'center' | 'end';
|
|
3
|
+
export declare const FIELD_ADDON_ALIGN_MAP: Record<FieldAddonAlign, string>;
|
|
2
4
|
export declare const FIELD_LABEL_SIZE_MAP: Record<FieldSize, {
|
|
3
5
|
height: string;
|
|
4
6
|
gap: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ValidatableField } from '../sd-form/sd-form';
|
|
2
2
|
import { Rule } from '../../types/form';
|
|
3
3
|
import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
|
-
import { type FieldSize } from './sd-field.config';
|
|
4
|
+
import { type FieldAddonAlign, type FieldSize } from './sd-field.config';
|
|
5
5
|
export declare class SdField implements ValidatableField {
|
|
6
6
|
el: HTMLElement;
|
|
7
7
|
name: string;
|
|
@@ -18,6 +18,7 @@ export declare class SdField implements ValidatableField {
|
|
|
18
18
|
label: string;
|
|
19
19
|
labelWidth: string | number;
|
|
20
20
|
addonLabel: string;
|
|
21
|
+
addonAlign: FieldAddonAlign;
|
|
21
22
|
icon?: IconProps;
|
|
22
23
|
labelTooltip: string;
|
|
23
24
|
labelTooltipProps: SdTooltipProps | null;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { Rule } from '../../types/form';
|
|
3
3
|
import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
4
5
|
export declare class SdFilePicker implements ComponentInterface {
|
|
5
6
|
el: HTMLElement;
|
|
6
7
|
value?: File[] | File | null;
|
|
@@ -16,6 +17,7 @@ export declare class SdFilePicker implements ComponentInterface {
|
|
|
16
17
|
label: string;
|
|
17
18
|
labelWidth: string | number;
|
|
18
19
|
addonLabel: string;
|
|
20
|
+
addonAlign: FieldAddonAlign;
|
|
19
21
|
hint: string;
|
|
20
22
|
errorMessage: string;
|
|
21
23
|
width: string | number;
|
|
@@ -2,12 +2,14 @@ import { EventEmitter } from '../../stencil-public-runtime';
|
|
|
2
2
|
import { Rule } from '../../types/form';
|
|
3
3
|
import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
4
|
import { type InputSize } from './sd-input.config';
|
|
5
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
5
6
|
export declare class SdInput {
|
|
6
7
|
host: HTMLElement;
|
|
7
8
|
value?: string | number | null;
|
|
8
9
|
type: 'text' | 'password' | 'email';
|
|
9
10
|
size: InputSize;
|
|
10
11
|
addonLabel: string;
|
|
12
|
+
addonAlign: FieldAddonAlign;
|
|
11
13
|
placeholder: string;
|
|
12
14
|
disabled: boolean;
|
|
13
15
|
clearable: boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { Rule } from '../../types/form';
|
|
3
3
|
import { type NumberInputSize } from './sd-number-input.config';
|
|
4
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
4
5
|
export declare class SdNumberInput {
|
|
5
6
|
el: HTMLElement;
|
|
6
7
|
size: NumberInputSize;
|
|
@@ -13,6 +14,7 @@ export declare class SdNumberInput {
|
|
|
13
14
|
label?: string;
|
|
14
15
|
labelWidth: string | number;
|
|
15
16
|
addonLabel: string;
|
|
17
|
+
addonAlign: FieldAddonAlign;
|
|
16
18
|
placeholder: string;
|
|
17
19
|
disabled: boolean;
|
|
18
20
|
width?: number | string;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
1
2
|
import { ButtonSize, ButtonVariant } from '../sd-button/sd-button';
|
|
3
|
+
export interface PopoverButton {
|
|
4
|
+
label: string;
|
|
5
|
+
variant?: ButtonVariant;
|
|
6
|
+
color?: string;
|
|
7
|
+
size?: ButtonSize;
|
|
8
|
+
icon?: IconName;
|
|
9
|
+
onClick?: (e: Event) => void;
|
|
10
|
+
}
|
|
2
11
|
export declare class SdPopover {
|
|
3
12
|
el: HTMLElement;
|
|
4
13
|
show: boolean;
|
|
@@ -11,17 +20,12 @@ export declare class SdPopover {
|
|
|
11
20
|
buttonVariant: ButtonVariant;
|
|
12
21
|
menuTitle?: string;
|
|
13
22
|
messages: string[];
|
|
14
|
-
buttons:
|
|
15
|
-
[key: string]: any;
|
|
16
|
-
}[];
|
|
23
|
+
buttons: PopoverButton[];
|
|
17
24
|
menuClass: string;
|
|
18
|
-
noHover: boolean;
|
|
19
25
|
useClose: boolean;
|
|
20
|
-
|
|
21
|
-
slotContent: string;
|
|
22
|
-
watchShowHandler(newValue: boolean): void;
|
|
23
|
-
componentWillLoad(): void;
|
|
26
|
+
showChange: EventEmitter<boolean>;
|
|
24
27
|
private buttonEl?;
|
|
28
|
+
private setShow;
|
|
25
29
|
private get popoverOffset();
|
|
26
30
|
private handleClose;
|
|
27
31
|
render(): any;
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from '../../stencil-public-runtime';
|
|
|
2
2
|
import { BaseDropdownEvent } from '../../utils/base-dropdown-event';
|
|
3
3
|
import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
4
|
import { Rule } from '../../components';
|
|
5
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
5
6
|
export interface SelectOption {
|
|
6
7
|
value: string | number;
|
|
7
8
|
label: string;
|
|
@@ -59,6 +60,7 @@ export declare class SdSelect extends BaseDropdownEvent {
|
|
|
59
60
|
label: string;
|
|
60
61
|
labelWidth: string | number;
|
|
61
62
|
addonLabel: string;
|
|
63
|
+
addonAlign: FieldAddonAlign;
|
|
62
64
|
icon?: IconProps;
|
|
63
65
|
labelTooltip: string;
|
|
64
66
|
labelTooltipProps: SdTooltipProps | null;
|
|
@@ -3,6 +3,7 @@ import { BaseDropdownEvent } from '../../utils/base-dropdown-event';
|
|
|
3
3
|
import { SelectEvents, SelectOptionGroup, SelectStyleProps } from '../sd-select/sd-select';
|
|
4
4
|
import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
5
5
|
import { Rule } from '../../components';
|
|
6
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
6
7
|
/**
|
|
7
8
|
* @deprecated sd-select-v2 (name="default_depth")를 사용하세요.
|
|
8
9
|
*/
|
|
@@ -21,6 +22,7 @@ export declare class SdSelectGroup extends BaseDropdownEvent {
|
|
|
21
22
|
label: string;
|
|
22
23
|
labelWidth: string | number;
|
|
23
24
|
addonLabel: string;
|
|
25
|
+
addonAlign: FieldAddonAlign;
|
|
24
26
|
icon?: IconProps;
|
|
25
27
|
labelTooltip: string;
|
|
26
28
|
labelTooltipProps: SdTooltipProps | null;
|
|
@@ -33,6 +33,10 @@ export declare class SdSelectV2Listbox {
|
|
|
33
33
|
* `children` is emptied by `filterTree`; in that case we fall back to the
|
|
34
34
|
* full original subtree because the user has no way to deselect descendants
|
|
35
35
|
* individually.
|
|
36
|
+
*
|
|
37
|
+
* disabled 항목은 사용자가 토글할 수 없으므로 leaves 집합에서 제외한다.
|
|
38
|
+
* 호출처(그룹 토글 / 카운트 / indeterminate 판정)가 모두 동일하게 "실제
|
|
39
|
+
* 토글 가능한 leaves" 만 보도록 통일한다.
|
|
36
40
|
*/
|
|
37
41
|
private collectVisibleLeaves;
|
|
38
42
|
private get navigableOptions();
|
|
@@ -5,6 +5,12 @@ export declare class SdSelectV2Trigger {
|
|
|
5
5
|
disabled: boolean;
|
|
6
6
|
isOpen: boolean;
|
|
7
7
|
triggerClick: EventEmitter<void>;
|
|
8
|
+
triggerFocus: EventEmitter<void>;
|
|
9
|
+
triggerBlur: EventEmitter<void>;
|
|
10
|
+
private triggerEl?;
|
|
11
|
+
sdFocus(): Promise<void>;
|
|
8
12
|
private handleClick;
|
|
13
|
+
private handleFocus;
|
|
14
|
+
private handleBlur;
|
|
9
15
|
render(): any;
|
|
10
16
|
}
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from '../../stencil-public-runtime';
|
|
|
2
2
|
import type { SelectV2Option, SelectV2Name, SelectV2Value } from './sd-select-v2.config';
|
|
3
3
|
import type { Rule } from '../../types/form';
|
|
4
4
|
import type { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
5
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
5
6
|
export declare class SdSelectV2 {
|
|
6
7
|
private static readonly VIEWPORT_PADDING;
|
|
7
8
|
private static readonly PORTAL_OFFSET_Y;
|
|
@@ -17,6 +18,7 @@ export declare class SdSelectV2 {
|
|
|
17
18
|
label: string;
|
|
18
19
|
labelWidth: string | number;
|
|
19
20
|
addonLabel: string;
|
|
21
|
+
addonAlign: FieldAddonAlign;
|
|
20
22
|
error: boolean;
|
|
21
23
|
hint: string;
|
|
22
24
|
errorMessage: string;
|
|
@@ -38,9 +40,13 @@ export declare class SdSelectV2 {
|
|
|
38
40
|
dropDownShow: EventEmitter<{
|
|
39
41
|
isOpen: boolean;
|
|
40
42
|
}>;
|
|
43
|
+
sdFocus(): Promise<void>;
|
|
44
|
+
sdOpen(): Promise<void>;
|
|
41
45
|
private triggerRef?;
|
|
46
|
+
private triggerComponentRef?;
|
|
42
47
|
private closeAnimationTimer?;
|
|
43
48
|
private internalName;
|
|
49
|
+
private triggerHasFocus;
|
|
44
50
|
watchIsOpen(newValue: boolean): void;
|
|
45
51
|
private get isMulti();
|
|
46
52
|
private get displayText();
|
|
@@ -52,6 +58,10 @@ export declare class SdSelectV2 {
|
|
|
52
58
|
private handleViewportResize;
|
|
53
59
|
private findOriginalOption;
|
|
54
60
|
private closeDropdown;
|
|
61
|
+
private prepareDropdownGeometry;
|
|
62
|
+
private syncFocusedState;
|
|
63
|
+
private handleTriggerFocus;
|
|
64
|
+
private handleTriggerBlur;
|
|
55
65
|
private handleTriggerClick;
|
|
56
66
|
private emitUpdate;
|
|
57
67
|
private handleOptionSelect;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { Rule } from '../../types/form';
|
|
3
3
|
import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
|
|
4
|
+
import { type FieldAddonAlign } from '../sd-field/sd-field.config';
|
|
4
5
|
export declare class SdTextarea {
|
|
5
6
|
host: HTMLElement;
|
|
6
7
|
value?: string | null;
|
|
@@ -19,6 +20,7 @@ export declare class SdTextarea {
|
|
|
19
20
|
label?: string;
|
|
20
21
|
labelWidth: string | number;
|
|
21
22
|
addonLabel: string;
|
|
23
|
+
addonAlign: FieldAddonAlign;
|
|
22
24
|
hint: string;
|
|
23
25
|
errorMessage: string;
|
|
24
26
|
icon?: IconProps;
|