@sellmate/design-system 1.20.1 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/design-system.cjs.js +1 -1
- package/dist/cjs/{index-DXm0PH2A.js → index-C-F-JEv_.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sd-action-modal.cjs.entry.js +8 -2
- package/dist/cjs/sd-badge.cjs.entry.js +3 -2
- package/dist/cjs/sd-barcode-input.cjs.entry.js +35 -2
- package/dist/cjs/sd-button_2.cjs.entry.js +12 -3
- package/dist/cjs/sd-calendar_2.cjs.entry.js +17 -6
- package/dist/cjs/sd-callout.cjs.entry.js +4 -2
- package/dist/cjs/sd-card.cjs.entry.js +4 -2
- package/dist/cjs/sd-checkbox.cjs.entry.js +21 -12
- package/dist/cjs/sd-chip-input.cjs.entry.js +38 -4
- package/dist/cjs/sd-chip.cjs.entry.js +19 -2
- package/dist/cjs/sd-circle-progress.cjs.entry.js +6 -2
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +27 -4
- package/dist/cjs/sd-date-box.cjs.entry.js +13 -3
- package/dist/cjs/sd-date-picker_7.cjs.entry.js +209 -13
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +7 -2
- package/dist/cjs/sd-divider.cjs.entry.js +1 -1
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +11 -1
- package/dist/cjs/sd-field_3.cjs.entry.js +70 -12
- package/dist/cjs/sd-form.cjs.entry.js +10 -2
- package/dist/cjs/sd-ghost-button_3.cjs.entry.js +54 -15
- package/dist/cjs/sd-guide.cjs.entry.js +9 -3
- package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -1
- package/dist/cjs/sd-linear-progress.cjs.entry.js +7 -4
- package/dist/cjs/sd-loading-container.cjs.entry.js +5 -3
- package/dist/cjs/sd-modal-container.cjs.entry.js +7 -1
- package/dist/cjs/sd-pagination_4.cjs.entry.js +38 -9
- package/dist/cjs/sd-popover.cjs.entry.js +21 -5
- package/dist/cjs/sd-popup.cjs.entry.js +7 -3
- package/dist/cjs/sd-radio-button.cjs.entry.js +8 -2
- package/dist/cjs/sd-radio.cjs.entry.js +7 -2
- package/dist/cjs/sd-select-list-item_2.cjs.entry.js +18 -7
- package/dist/cjs/sd-select_3.cjs.entry.js +56 -9
- package/dist/cjs/sd-switch.cjs.entry.js +6 -2
- package/dist/cjs/sd-table.cjs.entry.js +42 -7
- package/dist/cjs/sd-tabs.cjs.entry.js +8 -2
- package/dist/cjs/sd-td.cjs.entry.js +11 -2
- package/dist/cjs/sd-text-link.cjs.entry.js +13 -4
- package/dist/cjs/sd-toast-container.cjs.entry.js +11 -2
- package/dist/cjs/sd-toast.cjs.entry.js +12 -3
- package/dist/cjs/sd-toggle.cjs.entry.js +6 -2
- package/dist/cjs/{tooltipArrow-D3P3JC08.js → tooltipArrow-26hYtSrD.js} +1 -1
- package/dist/collection/components/sd-action-modal/sd-action-modal.js +13 -7
- package/dist/collection/components/sd-badge/sd-badge.js +3 -2
- package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
- package/dist/collection/components/sd-button/sd-button.js +18 -10
- package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
- package/dist/collection/components/sd-callout/sd-callout.js +5 -3
- package/dist/collection/components/sd-card/sd-card.js +5 -3
- package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
- package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
- package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
- package/dist/collection/components/sd-chip/sd-chip.js +35 -18
- package/dist/collection/components/sd-chip-input/sd-chip-input.css +1 -0
- package/dist/collection/components/sd-chip-input/sd-chip-input.js +69 -35
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
- package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
- package/dist/collection/components/sd-field/sd-field.js +51 -28
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
- package/dist/collection/components/sd-form/sd-form.js +17 -9
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
- package/dist/collection/components/sd-guide/sd-guide.js +14 -8
- package/dist/collection/components/sd-icon/sd-icon.js +2 -1
- package/dist/collection/components/sd-input/sd-input.js +82 -42
- package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
- package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
- package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
- package/dist/collection/components/sd-modal-container/sd-modal-container.js +12 -6
- package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
- package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
- package/dist/collection/components/sd-popover/sd-popover.js +35 -19
- package/dist/collection/components/sd-popup/sd-popup.js +11 -7
- package/dist/collection/components/sd-portal/sd-portal.js +35 -14
- package/dist/collection/components/sd-radio/sd-radio.js +11 -6
- package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
- package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
- package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
- package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
- package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
- package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
- package/dist/collection/components/sd-select/sd-select.js +62 -33
- package/dist/collection/components/sd-switch/sd-switch.js +9 -5
- package/dist/collection/components/sd-table/sd-table.js +76 -41
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
- package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +29 -16
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
- package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
- package/dist/collection/components/sd-tag/sd-tag.js +10 -7
- package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
- package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
- package/dist/collection/components/sd-toast/sd-toast.js +20 -11
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
- package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
- package/dist/components/index.js +1 -1
- package/dist/components/{p-D99vy8Ip.js → p-4MIzxb0h.js} +1 -1
- package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
- package/dist/components/{p-CoqA9KgU.js → p-B5VNSTAf.js} +1 -1
- package/dist/components/{p-DertIGhs.js → p-B76pFg6k.js} +1 -1
- package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
- package/dist/components/{p-Rwc_ltPn.js → p-BIHVGo10.js} +1 -1
- package/dist/components/{p-uSEbiD29.js → p-BQQC-6k4.js} +1 -1
- package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
- package/dist/components/{p-CZfsknba.js → p-BVlg0BoC.js} +1 -1
- package/dist/components/{p-CRwvv7YM.js → p-BjSMh85k.js} +1 -1
- package/dist/components/{p-gOIeNT-Z.js → p-BrHnpCXR.js} +1 -1
- package/dist/components/{p-Bz93hWXV.js → p-Btj50AUe.js} +1 -1
- package/dist/components/{p-CLlAhEDc.js → p-BzsHwLh6.js} +1 -1
- package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
- package/dist/components/{p-Dl89_4C3.js → p-C3mTIE8H.js} +1 -1
- package/dist/components/{p-CTPImLDQ.js → p-CBDBmMmw.js} +1 -1
- package/dist/components/p-CCCwPJ5p.js +1 -0
- package/dist/components/p-CEKu7cxA.js +1 -0
- package/dist/components/{p-5imde6N9.js → p-CTw1Deo8.js} +1 -1
- package/dist/components/p-CTxZT3Je.js +1 -0
- package/dist/components/{p-CB2A3pJ5.js → p-CZYTZeMe.js} +1 -1
- package/dist/components/{p-BZfVV3gu.js → p-CcwzTAJC.js} +1 -1
- package/dist/components/p-Cj_1bYZF.js +1 -0
- package/dist/components/{p-B5bya7Gp.js → p-Cugxp5lo.js} +1 -1
- package/dist/components/{p-CUR9smP5.js → p-D4zy1T3V.js} +1 -1
- package/dist/components/{p-BjcGzaFR.js → p-DC5W8Uy1.js} +1 -1
- package/dist/components/{p-DDAA-zcg.js → p-DIc8C633.js} +1 -1
- package/dist/components/{p-DIlNesBH.js → p-DJY7lCe4.js} +1 -1
- package/dist/components/{p-CrT06Uwc.js → p-DPXOBYhf.js} +1 -1
- package/dist/components/{p-BiBLp9_a.js → p-DU0IkIvI.js} +1 -1
- package/dist/components/{p-DZTxHJlP.js → p-DZikCqcw.js} +1 -1
- package/dist/components/{p-DNnI3Nru.js → p-Dz7VXmIA.js} +1 -1
- package/dist/components/p-FA9fGvbL.js +1 -0
- package/dist/components/p-S2-XqY2R.js +1 -0
- package/dist/components/{p-ZvI5A-_t.js → p-YpyfqzoP.js} +1 -1
- package/dist/components/{p-CJ69QmR3.js → p-l7TaS8q9.js} +1 -1
- package/dist/components/{p-FTvXz0-a.js → p-s_75vJTu.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.js +1 -1
- package/dist/components/sd-calendar.js +1 -1
- package/dist/components/sd-callout.js +1 -1
- package/dist/components/sd-card.js +1 -1
- package/dist/components/sd-checkbox.js +1 -1
- package/dist/components/sd-chip-input.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-box.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-divider.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-form.js +1 -1
- package/dist/components/sd-ghost-button.js +1 -1
- package/dist/components/sd-guide.js +1 -1
- package/dist/components/sd-icon.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-key-value-table.js +1 -1
- package/dist/components/sd-linear-progress.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-popup.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-list-item-search.js +1 -1
- package/dist/components/sd-select-list-item.js +1 -1
- package/dist/components/sd-select-listbox.js +1 -1
- package/dist/components/sd-select-trigger.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-switch.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-tabs.js +1 -1
- package/dist/components/sd-tag.js +1 -1
- package/dist/components/sd-tbody.js +1 -1
- package/dist/components/sd-td.js +1 -1
- package/dist/components/sd-text-link.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-toggle.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/components/sd-tr.js +1 -1
- package/dist/design-system/design-system.css +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/p-0f35cd21.entry.js +1 -0
- package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
- package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
- package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
- package/dist/design-system/p-2df32f8c.entry.js +1 -0
- package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
- package/dist/design-system/p-35e1e2fa.entry.js +1 -0
- package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
- package/dist/design-system/p-4c1559c8.entry.js +1 -0
- package/dist/design-system/{p-9c38ee79.entry.js → p-4e44b45b.entry.js} +1 -1
- package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
- package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
- package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
- package/dist/design-system/p-52e88677.entry.js +1 -0
- package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
- package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
- package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
- package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
- package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
- package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
- package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
- package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
- package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
- package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
- package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
- package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
- package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
- package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
- package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
- package/dist/design-system/p-ac81b46e.entry.js +1 -0
- package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
- package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
- package/dist/design-system/p-c684cd96.entry.js +1 -0
- package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
- package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
- package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
- package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
- package/dist/design-system/{p-7ed8c8f1.entry.js → p-d5b535ad.entry.js} +1 -1
- package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
- package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
- package/dist/design-system/{p-17dcf0e4.entry.js → p-fe5b8eaa.entry.js} +1 -1
- package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
- package/dist/esm/design-system.js +2 -2
- package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/sd-action-modal.entry.js +8 -2
- package/dist/esm/sd-badge.entry.js +3 -2
- package/dist/esm/sd-barcode-input.entry.js +35 -2
- package/dist/esm/sd-button_2.entry.js +12 -3
- package/dist/esm/sd-calendar_2.entry.js +17 -6
- package/dist/esm/sd-callout.entry.js +4 -2
- package/dist/esm/sd-card.entry.js +4 -2
- package/dist/esm/sd-checkbox.entry.js +21 -12
- package/dist/esm/sd-chip-input.entry.js +38 -4
- package/dist/esm/sd-chip.entry.js +19 -2
- package/dist/esm/sd-circle-progress.entry.js +6 -2
- package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
- package/dist/esm/sd-date-box.entry.js +13 -3
- package/dist/esm/sd-date-picker_7.entry.js +209 -13
- package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
- package/dist/esm/sd-divider.entry.js +1 -1
- package/dist/esm/sd-dropdown-button.entry.js +11 -1
- package/dist/esm/sd-field_3.entry.js +70 -12
- package/dist/esm/sd-form.entry.js +10 -2
- package/dist/esm/sd-ghost-button_3.entry.js +54 -15
- package/dist/esm/sd-guide.entry.js +9 -3
- package/dist/esm/sd-key-value-table.entry.js +3 -1
- package/dist/esm/sd-linear-progress.entry.js +7 -4
- package/dist/esm/sd-loading-container.entry.js +5 -3
- package/dist/esm/sd-modal-container.entry.js +7 -1
- package/dist/esm/sd-pagination_4.entry.js +38 -9
- package/dist/esm/sd-popover.entry.js +21 -5
- package/dist/esm/sd-popup.entry.js +7 -3
- package/dist/esm/sd-radio-button.entry.js +8 -2
- package/dist/esm/sd-radio.entry.js +7 -2
- package/dist/esm/sd-select-list-item_2.entry.js +18 -7
- package/dist/esm/sd-select_3.entry.js +56 -9
- package/dist/esm/sd-switch.entry.js +6 -2
- package/dist/esm/sd-table.entry.js +42 -7
- package/dist/esm/sd-tabs.entry.js +8 -2
- package/dist/esm/sd-td.entry.js +11 -2
- package/dist/esm/sd-text-link.entry.js +13 -4
- package/dist/esm/sd-toast-container.entry.js +11 -2
- package/dist/esm/sd-toast.entry.js +12 -3
- package/dist/esm/sd-toggle.entry.js +6 -2
- package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
- package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
- package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
- package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
- package/dist/types/components/sd-button/sd-button.d.ts +8 -0
- package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
- package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
- package/dist/types/components/sd-card/sd-card.d.ts +2 -0
- package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
- package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
- package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
- package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
- package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
- package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
- package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
- package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
- package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
- package/dist/types/components/sd-field/sd-field.d.ts +23 -0
- package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
- package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
- package/dist/types/components/sd-form/sd-form.d.ts +8 -0
- package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
- package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
- package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
- package/dist/types/components/sd-input/sd-input.d.ts +40 -0
- package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
- package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
- package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
- package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
- package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -0
- package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
- package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
- package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
- package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
- package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
- package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
- package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
- package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
- package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
- package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
- package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
- package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
- package/dist/types/components/sd-select/sd-select.d.ts +29 -0
- package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
- package/dist/types/components/sd-table/sd-table.d.ts +35 -0
- package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
- package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
- package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +13 -0
- package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
- package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
- package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
- package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
- package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
- package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
- package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
- package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
- package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
- package/dist/types/components.d.ts +1827 -7
- package/hydrate/index.js +823 -124
- package/hydrate/index.mjs +823 -124
- package/package.json +1 -1
- package/dist/components/p-B7PHGGFH.js +0 -1
- package/dist/components/p-CXeOxSQ-.js +0 -1
- package/dist/components/p-CvSqieCH.js +0 -1
- package/dist/components/p-P2jWtk8J.js +0 -1
- package/dist/components/p-xkRWGISE.js +0 -1
- package/dist/design-system/p-316b8a08.entry.js +0 -1
- package/dist/design-system/p-5039241c.entry.js +0 -1
- package/dist/design-system/p-5eaa12af.entry.js +0 -1
- package/dist/design-system/p-CAxodB5I.js +0 -2
- package/dist/design-system/p-c995e6c3.entry.js +0 -1
- package/dist/design-system/p-eef6d4a3.entry.js +0 -1
- package/dist/design-system/p-faf7b64c.entry.js +0 -1
- package/dist/design-system/p-fd7abbfa.entry.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-C7HJ-NfO.js';
|
|
2
2
|
|
|
3
3
|
const badge = {
|
|
4
4
|
red: "#FB4444",
|
|
@@ -31,10 +31,11 @@ const SdBadge = class {
|
|
|
31
31
|
constructor(hostRef) {
|
|
32
32
|
registerInstance(this, hostRef);
|
|
33
33
|
}
|
|
34
|
+
/** 뱃지 색상 */
|
|
34
35
|
color = 'blue';
|
|
35
36
|
render() {
|
|
36
37
|
const resolvedColor = BADGE_COLOR_MAP[this.color] ?? BADGE_COLOR_MAP.blue;
|
|
37
|
-
return (h("div", { key: '
|
|
38
|
+
return (h("div", { key: '72a1ff1775b431b12a0765416d50256a91e34180', class: "sd-badge", style: { '--sd-badge-color': resolvedColor } }, h("div", { key: '427bc1c523aff73dc52edf729a414b26f52faf68', class: "sd-badge__dot" })));
|
|
38
39
|
}
|
|
39
40
|
};
|
|
40
41
|
SdBadge.style = sdBadgeCss();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, a as getElement, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C7HJ-NfO.js';
|
|
2
2
|
import { n as nanoid } from './index-CCwNgVmC.js';
|
|
3
3
|
import { i as inputTokens } from './component.textinput-e0ABNkP6.js';
|
|
4
4
|
|
|
@@ -40,38 +40,66 @@ const SdBarcodeInput = class {
|
|
|
40
40
|
this.blur = createEvent(this, "sdBlur", 7);
|
|
41
41
|
}
|
|
42
42
|
get host() { return getElement(this); }
|
|
43
|
+
/** 입력값 */
|
|
43
44
|
value = null;
|
|
45
|
+
/** 입력 필드 크기 */
|
|
44
46
|
size = 'sm';
|
|
47
|
+
/** 필드 우측 어드온 레이블 */
|
|
45
48
|
addonLabel = '';
|
|
49
|
+
/** 어드온 정렬 방향 */
|
|
46
50
|
addonAlign = 'start';
|
|
51
|
+
/** 입력 placeholder */
|
|
47
52
|
placeholder = '입력해 주세요.';
|
|
53
|
+
/** 비활성 상태 여부 */
|
|
48
54
|
disabled = false;
|
|
55
|
+
/** 입력값 지우기 버튼 표시 여부 */
|
|
49
56
|
clearable = false;
|
|
57
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
50
58
|
width = '';
|
|
59
|
+
/** 유효성 검사 규칙 목록 */
|
|
51
60
|
rules = [];
|
|
61
|
+
/** 마운트 시 자동 포커스 여부 */
|
|
52
62
|
autoFocus = false;
|
|
63
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
53
64
|
status;
|
|
65
|
+
/** 필드 하단 힌트 텍스트 */
|
|
54
66
|
hint = '';
|
|
67
|
+
/** 에러 메시지 */
|
|
55
68
|
errorMessage = '';
|
|
69
|
+
/** 네이티브 input에 추가할 클래스 */
|
|
56
70
|
inputClass = '';
|
|
71
|
+
/** 읽기 전용 여부 */
|
|
57
72
|
readonly = false;
|
|
73
|
+
/** 에러 상태 여부 */
|
|
58
74
|
error = false;
|
|
75
|
+
/** 포커스 상태 여부 */
|
|
59
76
|
focused = false;
|
|
77
|
+
/** 호버 상태 여부 */
|
|
60
78
|
hovered = false;
|
|
61
79
|
// props - label
|
|
80
|
+
/** 레이블 텍스트 */
|
|
62
81
|
label = '';
|
|
82
|
+
/** 레이블 너비 */
|
|
63
83
|
labelWidth = '';
|
|
84
|
+
/** 레이블 영역 아이콘 */
|
|
64
85
|
icon = undefined;
|
|
86
|
+
/** 레이블 툴팁 텍스트 */
|
|
65
87
|
labelTooltip = '';
|
|
88
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
66
89
|
labelTooltipProps = null;
|
|
67
90
|
// props - custom styles
|
|
91
|
+
/** 네이티브 input에 적용할 인라인 스타일 */
|
|
68
92
|
inputStyle = {};
|
|
69
93
|
internalValue = null;
|
|
70
94
|
nativeEl = undefined;
|
|
71
95
|
formField;
|
|
96
|
+
/** 폼 연동용 name 속성 */
|
|
72
97
|
name = nanoid();
|
|
98
|
+
/** 입력값 변경 시 발생합니다. */
|
|
73
99
|
input;
|
|
100
|
+
/** 포커스 진입 시 발생합니다. */
|
|
74
101
|
focus;
|
|
102
|
+
/** 포커스 이탈 시 발생합니다. */
|
|
75
103
|
blur;
|
|
76
104
|
valueChanged(newValue) {
|
|
77
105
|
this.internalValue = newValue;
|
|
@@ -82,18 +110,23 @@ const SdBarcodeInput = class {
|
|
|
82
110
|
this.input?.emit(this.value);
|
|
83
111
|
}
|
|
84
112
|
}
|
|
113
|
+
/** 네이티브 input 엘리먼트를 반환합니다. */
|
|
85
114
|
async sdGetNativeElement() {
|
|
86
115
|
return this.nativeEl || null;
|
|
87
116
|
}
|
|
117
|
+
/** 유효성 검사를 실행합니다. */
|
|
88
118
|
async sdValidate() {
|
|
89
119
|
this.formField?.sdValidate();
|
|
90
120
|
}
|
|
121
|
+
/** 입력값과 유효성 상태를 초기화합니다. */
|
|
91
122
|
async sdReset() {
|
|
92
123
|
this.formField?.sdReset();
|
|
93
124
|
}
|
|
125
|
+
/** 유효성 상태만 초기화합니다. */
|
|
94
126
|
async sdResetValidate() {
|
|
95
127
|
this.formField?.sdResetValidation();
|
|
96
128
|
}
|
|
129
|
+
/** 입력 필드에 포커스를 이동합니다. */
|
|
97
130
|
async sdFocus() {
|
|
98
131
|
this.formField?.sdFocus();
|
|
99
132
|
}
|
|
@@ -139,7 +172,7 @@ const SdBarcodeInput = class {
|
|
|
139
172
|
'--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
|
|
140
173
|
'--sd-system-color-field-bg-default': BARCODE_INPUT_COLORS.bg.barcode,
|
|
141
174
|
};
|
|
142
|
-
return (h("sd-field", { key: '
|
|
175
|
+
return (h("sd-field", { key: '9f9831c9f39e4723cad6567b22155ab89856c9be', 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: '1da8ce2ef66e48f269b79f22e6751ccf18ca9cc0', class: "sd-barcode-input__content" }, h("slot", { key: '06850214ee5118ff3d13266c1ade37902c19f379', name: "prefix" }), h("input", { key: '0384b010946b635cc6b19ddb1a83be593ba5806b', 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: '2bb5baed7b300014e52795d3a7665a580b7ff5a2', name: "suffix" }), this.clearable && this.internalValue && (h("sd-ghost-button", { key: 'fc586fdb39a1dc25eeba32c76aa86a653416c38e', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-barcode-input__clear-icon", onClick: async () => {
|
|
143
176
|
if (this.disabled)
|
|
144
177
|
return;
|
|
145
178
|
this.internalValue = '';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, r as registerInstance, c as createEvent } from './index-
|
|
1
|
+
import { h, r as registerInstance, c as createEvent } from './index-C7HJ-NfO.js';
|
|
2
2
|
import { i as isButtonName, g as getPresetName, B as BUTTON_CONFIG, a as BUTTON_ICON_SIZES, b as BUTTON_FOCUS_RING_COLOR, P as PRESET_ICON_COLORS, c as PRESET_TEXT_COLORS, d as PRESET_BORDER_COLORS, e as PRESET_HOVER_BACKGROUNDS } from './sd-button.config-DjcjlPt7.js';
|
|
3
3
|
|
|
4
4
|
const Add = (props) => {
|
|
@@ -546,13 +546,21 @@ const SdButton = class {
|
|
|
546
546
|
registerInstance(this, hostRef);
|
|
547
547
|
this.click = createEvent(this, "sdClick", 7);
|
|
548
548
|
}
|
|
549
|
+
/** 버튼 프리셋 이름 (크기와 색상 조합) */
|
|
549
550
|
name = 'primary_sm';
|
|
551
|
+
/** 버튼 텍스트 레이블 */
|
|
550
552
|
label = '';
|
|
553
|
+
/** 레이블 왼쪽에 표시할 아이콘 */
|
|
551
554
|
icon;
|
|
555
|
+
/** 레이블 오른쪽에 표시할 아이콘 */
|
|
552
556
|
rightIcon;
|
|
557
|
+
/** 아이콘 전용 버튼일 때 스크린리더용 레이블 */
|
|
553
558
|
ariaLabel = '';
|
|
559
|
+
/** 비활성 상태 여부 */
|
|
554
560
|
disabled = false;
|
|
561
|
+
/** 네이티브 button type 속성 */
|
|
555
562
|
type = 'button';
|
|
563
|
+
/** 클릭 시 발생합니다. */
|
|
556
564
|
click;
|
|
557
565
|
hasWarnedMissingAriaLabel = false;
|
|
558
566
|
handleClick = (event) => {
|
|
@@ -612,14 +620,14 @@ const SdButton = class {
|
|
|
612
620
|
const validRightIcon = isValidIcon(this.rightIcon) ? this.rightIcon : undefined;
|
|
613
621
|
const iconOnly = !hasLabel && Boolean(validIcon) !== Boolean(validRightIcon);
|
|
614
622
|
const accessibleName = iconOnly && this.ariaLabel.trim() !== '' ? this.ariaLabel : undefined;
|
|
615
|
-
return (h("button", { key: '
|
|
623
|
+
return (h("button", { key: 'ea6482b86f91b26cd20ab635c357b655e92c2ec1', class: this.getButtonClasses(preset, config.size, hasLabel, iconOnly), type: this.type ?? 'button', disabled: this.disabled, "aria-label": accessibleName, style: {
|
|
616
624
|
'--sd-button-bg': config.color,
|
|
617
625
|
'--sd-button-bg-hover': PRESET_HOVER_BACKGROUNDS[preset],
|
|
618
626
|
'--sd-button-border': PRESET_BORDER_COLORS[preset],
|
|
619
627
|
'--sd-button-text': PRESET_TEXT_COLORS[preset],
|
|
620
628
|
'--sd-button-icon': PRESET_ICON_COLORS[preset],
|
|
621
629
|
'--sd-button-accent': BUTTON_FOCUS_RING_COLOR,
|
|
622
|
-
}, onClick: this.handleClick }, h("span", { key: '
|
|
630
|
+
}, onClick: this.handleClick }, h("span", { key: 'fd0cbd15e1edf4dc599e7eb3df3dcb1ddbd4732e', class: "sd-button__content" }, validIcon && (h("sd-icon", { key: '5ace6d85974e1c2ecb0fcf55b0330801f78f094f', class: "sd-button__icon", name: validIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })), this.label && h("span", { key: 'ef1240a6acee55def8244149b0af4e0252be558c', class: "sd-button__label" }, this.label), validRightIcon && (h("sd-icon", { key: '127de568676734d75dd801b9ea46aa35e09b558c', class: "sd-button__icon sd-button__icon--right", name: validRightIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })))));
|
|
623
631
|
}
|
|
624
632
|
};
|
|
625
633
|
SdButton.style = sdButtonCss();
|
|
@@ -907,6 +915,7 @@ const SdIcon = class {
|
|
|
907
915
|
rotate;
|
|
908
916
|
/** 접근성을 위한 라벨 */
|
|
909
917
|
label;
|
|
918
|
+
/** 아이콘 i 엘리먼트에 적용할 인라인 스타일 */
|
|
910
919
|
iconStyle = {};
|
|
911
920
|
getIconClasses() {
|
|
912
921
|
const classes = ['sd-icon'];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-C7HJ-NfO.js';
|
|
2
2
|
import { u as useDatePicker, t as today, W as WEEK_LABELS, C as CALENDAR_LAYOUT } from './useDatePicker-DoUg--aq.js';
|
|
3
3
|
import { a as DATEPICKER_SIZE_MAP, D as DATEPICKER_COLORS } from './sd-date-picker.config-6dvDZPGx.js';
|
|
4
4
|
import './component.datepicker-laVsm9VM.js';
|
|
@@ -12,13 +12,19 @@ const SdCalendar = class {
|
|
|
12
12
|
this.update = createEvent(this, "sdUpdate", 7);
|
|
13
13
|
this.viewChange = createEvent(this, "sdViewChange", 7);
|
|
14
14
|
}
|
|
15
|
+
/** 선택된 날짜 (YYYY-MM-DD) */
|
|
15
16
|
value = null;
|
|
17
|
+
/** 선택 가능한 날짜 범위 [시작일, 종료일] (YYYY-MM-DD, 빈 문자열이면 제한 없음) */
|
|
16
18
|
selectable;
|
|
19
|
+
/** 캘린더에 표시할 이벤트 그룹 목록 */
|
|
17
20
|
events;
|
|
21
|
+
/** 카드 형태의 그림자 여부 */
|
|
18
22
|
elevated = false;
|
|
19
23
|
currentYear;
|
|
20
24
|
currentMonth;
|
|
25
|
+
/** 날짜 선택 시 선택된 날짜(YYYY-MM-DD)를 전달합니다. */
|
|
21
26
|
update;
|
|
27
|
+
/** 월/년 네비게이션 변경 시 현재 보여지는 연·월을 전달합니다. */
|
|
22
28
|
viewChange;
|
|
23
29
|
dateUtil = useDatePicker();
|
|
24
30
|
_eventMapCache;
|
|
@@ -182,7 +188,7 @@ const SdCalendar = class {
|
|
|
182
188
|
const eventMap = this.eventMap;
|
|
183
189
|
const legend = this.legendItems;
|
|
184
190
|
const hasEvents = (this.events?.length ?? 0) > 0;
|
|
185
|
-
return (h("div", { key: '
|
|
191
|
+
return (h("div", { key: '1ff9f894078f4b24d52c738509878ee504e02c6b', class: { 'sd-calendar': true, 'sd-calendar--elevated': this.elevated }, style: cssVars }, h("div", { key: 'a4e894dbf3c808ba1a2a6711997c956c8b4525c0', class: "sd-calendar__header" }, h("div", { key: 'd559c861937fd51cab7e4cc39cfece49bed20037', class: "sd-calendar__nav-group" }, h("sd-ghost-button", { key: '6b793f2a07cc9c26a8b517d7a4d0cc065305a19f', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), h("span", { key: '324fa08a3583543a75cfd6a3cfeb8450586c9265', class: "sd-calendar__label" }, this.currentYear), h("sd-ghost-button", { key: 'd0951fe7bf84f58348e0ad2ed9e89531daa68242', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), h("span", { key: '953a382082f5be65a1df7dab23faae8be1975bfa', class: "sd-calendar__divider", "aria-hidden": "true" }), h("div", { key: 'aa751f69f3864875d4e6f16a816660cb8636281f', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, h("sd-ghost-button", { key: '7fe05970e9385cf8b744b16abce6a536ba639d8d', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), h("span", { key: '0f528c7bde86f64f482a5a6b433beef2456e5832', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), h("sd-ghost-button", { key: '3ddbb8f64f86fda85e5f8c6963cc4e11a95e8a37', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), h("div", { key: 'de37bc97970b23c49757ff103f62a5ef8c3deb2a', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (h("span", { key: label, class: "sd-calendar__week-cell" }, label)))), h("div", { key: '218d4ff90b67bfcea0fb52984338b5bf486ec6b1', class: "sd-calendar__grid" }, this.cells.map(cell => {
|
|
186
192
|
const isSelected = cell.inCurrentMonth && this.value !== '' && this.value === cell.date;
|
|
187
193
|
const isToday = cell.inCurrentMonth && today === cell.date;
|
|
188
194
|
const isDisabled = cell.inCurrentMonth && this.isDisabled(cell.date);
|
|
@@ -195,8 +201,8 @@ const SdCalendar = class {
|
|
|
195
201
|
'sd-calendar__day--disabled': isDisabled,
|
|
196
202
|
}, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => cell.inCurrentMonth && this.handleDayClick(cell) }, h("span", { class: "sd-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : ''), hasEvents && (h("span", { class: "sd-calendar__dot-row", "aria-hidden": "true" }, dayEvents?.map((ev, i) => (h("span", { key: `${ev.color}|${ev.label}|${i}`, class: "sd-calendar__dot", style: { backgroundColor: ev.color } })))))));
|
|
197
203
|
})), legend.length > 0 && [
|
|
198
|
-
h("span", { key: '
|
|
199
|
-
h("div", { key: '
|
|
204
|
+
h("span", { key: '713522194a9052e28b970f5eb6ad34941f7b6459', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
|
|
205
|
+
h("div", { key: 'fffe4cf9c14362c14e04be5cab0172c73490137f', class: "sd-calendar__legend" }, legend.map(item => (h("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, h("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), h("span", { class: "sd-calendar__legend-label" }, item.label))))),
|
|
200
206
|
]));
|
|
201
207
|
}
|
|
202
208
|
static get watchers() { return {
|
|
@@ -214,10 +220,15 @@ const SdDatePickerTrigger = class {
|
|
|
214
220
|
registerInstance(this, hostRef);
|
|
215
221
|
this.triggerClick = createEvent(this, "sdTriggerClick", 7);
|
|
216
222
|
}
|
|
223
|
+
/** 표시할 날짜 텍스트 */
|
|
217
224
|
displayText = '';
|
|
225
|
+
/** 입력 힌트 텍스트 */
|
|
218
226
|
placeholder = 'YYYY-MM-DD';
|
|
227
|
+
/** 비활성 상태 여부 */
|
|
219
228
|
disabled = false;
|
|
229
|
+
/** 트리거 크기 */
|
|
220
230
|
size = 'sm';
|
|
231
|
+
/** 트리거 클릭 시 발생합니다. */
|
|
221
232
|
triggerClick;
|
|
222
233
|
handleClick = () => {
|
|
223
234
|
if (this.disabled)
|
|
@@ -246,7 +257,7 @@ const SdDatePickerTrigger = class {
|
|
|
246
257
|
? DATEPICKER_COLORS.icon.disabled
|
|
247
258
|
: DATEPICKER_COLORS.icon.default,
|
|
248
259
|
};
|
|
249
|
-
return (h("div", { key: '
|
|
260
|
+
return (h("div", { key: 'a8484cc7ca6fd02ea48ab033fec3da69702f4f71', role: "button", tabindex: this.disabled ? -1 : 0, class: {
|
|
250
261
|
'sd-date-picker-trigger': true,
|
|
251
262
|
'sd-date-picker-trigger--disabled': this.disabled,
|
|
252
263
|
}, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
|
|
@@ -254,7 +265,7 @@ const SdDatePickerTrigger = class {
|
|
|
254
265
|
e.preventDefault();
|
|
255
266
|
this.handleClick();
|
|
256
267
|
}
|
|
257
|
-
} }, h("sd-icon", { key: '
|
|
268
|
+
} }, h("sd-icon", { key: 'e87c63032774389064c56f3212882727c1091b53', name: "date", size: Number(sizeTokens.iconSize), color: "var(--trigger-icon-color)", class: "sd-date-picker-trigger__icon" }), h("span", { key: '3876d7e9c08771de796ab04106190baf45625f0f', class: "sd-date-picker-trigger__text" }, hasValue ? this.displayText : this.placeholder)));
|
|
258
269
|
}
|
|
259
270
|
};
|
|
260
271
|
SdDatePickerTrigger.style = sdDatePickerTriggerCss();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-C7HJ-NfO.js';
|
|
2
2
|
import { s as sanitizeInlineHtml } from './sanitize-inline-html-BE4tnQ2Z.js';
|
|
3
3
|
|
|
4
4
|
const callout$1 = {
|
|
@@ -95,7 +95,9 @@ const SdCallout = class {
|
|
|
95
95
|
constructor(hostRef) {
|
|
96
96
|
registerInstance(this, hostRef);
|
|
97
97
|
}
|
|
98
|
+
/** 콜아웃 타입 (색상·아이콘 조합 결정) */
|
|
98
99
|
type = 'default';
|
|
100
|
+
/** 표시할 메시지 목록 (문자열 배열로 중첩 리스트 표현 가능) */
|
|
99
101
|
message = [];
|
|
100
102
|
get calloutStyle() {
|
|
101
103
|
const typeConfig = CALLOUT_TYPE_CONFIG[this.type] ?? CALLOUT_TYPE_CONFIG.default;
|
|
@@ -142,7 +144,7 @@ const SdCallout = class {
|
|
|
142
144
|
}
|
|
143
145
|
render() {
|
|
144
146
|
const showTitle = this.type === 'danger';
|
|
145
|
-
return (h("div", { key: '
|
|
147
|
+
return (h("div", { key: 'd608e8393a52dec8074ae6e8c4c80f59eb88891f', class: "sd-callout", style: this.calloutStyle, role: "note" }, showTitle && this.renderTitle(), h("div", { key: '9950ae86dab1f76b7009b89b3dcb91ebfcff978b', class: "sd-callout__body" }, this.renderBody())));
|
|
146
148
|
}
|
|
147
149
|
};
|
|
148
150
|
SdCallout.style = sdCalloutCss();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, F as Fragment } from './index-
|
|
1
|
+
import { r as registerInstance, h, F as Fragment } from './index-C7HJ-NfO.js';
|
|
2
2
|
|
|
3
3
|
const sdCardCss = () => `sd-card{display:block;height:fit-content}sd-card .sd-card{border-radius:8px;background:white}sd-card .sd-card--bordered{border:1px solid #E1E1E1}`;
|
|
4
4
|
|
|
@@ -6,10 +6,12 @@ const SdCard = class {
|
|
|
6
6
|
constructor(hostRef) {
|
|
7
7
|
registerInstance(this, hostRef);
|
|
8
8
|
}
|
|
9
|
+
/** 테두리 표시 여부 */
|
|
9
10
|
bordered = false;
|
|
11
|
+
/** 카드 루트 엘리먼트에 추가할 클래스 */
|
|
10
12
|
sdClass = '';
|
|
11
13
|
render() {
|
|
12
|
-
return (h(Fragment, { key: '
|
|
14
|
+
return (h(Fragment, { key: '1f40edfdae15a66922336229ebe49c570efa2059' }, h("div", { key: '365233f8ee792e36b6b6f1084ed1adc79787029b', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.sdClass}` }, h("slot", { key: 'd015ddda7cfb610e1def605d7077d710312514d1' }))));
|
|
13
15
|
}
|
|
14
16
|
};
|
|
15
17
|
SdCard.style = sdCardCss();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, a as getElement, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C7HJ-NfO.js';
|
|
2
2
|
|
|
3
3
|
const checkbox = {
|
|
4
4
|
size: "16",
|
|
@@ -7,9 +7,13 @@ const checkbox = {
|
|
|
7
7
|
gap: "8",
|
|
8
8
|
icon: "12",
|
|
9
9
|
typography: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
"default": {
|
|
11
|
+
fontWeight: "400",
|
|
12
|
+
fontSize: "12",
|
|
13
|
+
lineHeight: "20"},
|
|
14
|
+
selected: {
|
|
15
|
+
fontWeight: "500"}
|
|
16
|
+
},
|
|
13
17
|
unchecked: {
|
|
14
18
|
bg: {
|
|
15
19
|
"default": "#FFFFFF",
|
|
@@ -35,7 +39,8 @@ const checkbox = {
|
|
|
35
39
|
},
|
|
36
40
|
label: {
|
|
37
41
|
"default": "#222222",
|
|
38
|
-
inverse: "#FFFFFF"
|
|
42
|
+
inverse: "#FFFFFF",
|
|
43
|
+
disabled: "#888888"
|
|
39
44
|
},
|
|
40
45
|
bg: {
|
|
41
46
|
disabled: "#E1E1E1"
|
|
@@ -56,9 +61,10 @@ const CHECKBOX_LAYOUT = {
|
|
|
56
61
|
iconSize: checkboxTokens.checkbox.icon,
|
|
57
62
|
};
|
|
58
63
|
const CHECKBOX_TYPOGRAPHY = {
|
|
59
|
-
fontSize: checkboxTokens.checkbox.typography.fontSize,
|
|
60
|
-
lineHeight: checkboxTokens.checkbox.typography.lineHeight,
|
|
61
|
-
fontWeight: checkboxTokens.checkbox.typography.fontWeight,
|
|
64
|
+
fontSize: checkboxTokens.checkbox.typography.default.fontSize,
|
|
65
|
+
lineHeight: checkboxTokens.checkbox.typography.default.lineHeight,
|
|
66
|
+
fontWeight: checkboxTokens.checkbox.typography.default.fontWeight,
|
|
67
|
+
selectedFontWeight: checkboxTokens.checkbox.typography.selected.fontWeight,
|
|
62
68
|
};
|
|
63
69
|
const CHECKBOX_COLORS = {
|
|
64
70
|
unchecked: {
|
|
@@ -76,13 +82,14 @@ const CHECKBOX_COLORS = {
|
|
|
76
82
|
},
|
|
77
83
|
label: checkboxTokens.checkbox.label.default,
|
|
78
84
|
labelInverse: checkboxTokens.checkbox.label.inverse,
|
|
85
|
+
labelDisabled: checkboxTokens.checkbox.label.disabled,
|
|
79
86
|
disabled: {
|
|
80
87
|
bg: checkboxTokens.checkbox.bg.disabled,
|
|
81
88
|
border: checkboxTokens.checkbox.border.disabled,
|
|
82
89
|
},
|
|
83
90
|
};
|
|
84
91
|
|
|
85
|
-
const sdCheckboxCss = () => `sd-checkbox{display:block;height:var(--sd-checkbox-line-height);line-height:0}sd-checkbox .sd-checkbox{cursor:pointer;display:inline-flex;align-items:center;gap:var(--sd-checkbox-gap);height:var(--sd-checkbox-line-height);max-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox>input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}sd-checkbox .sd-checkbox>input:focus-visible+.sd-checkbox__bg{box-shadow:0 0 0 2px white, 0 0 0 4px var(--sd-checkbox-checked-bg);outline:none}sd-checkbox .sd-checkbox:hover.sd-checkbox--unchecked .sd-checkbox__bg{border-color:var(--sd-checkbox-unchecked-border-hover);background:var(--sd-checkbox-unchecked-bg-hover)}sd-checkbox .sd-checkbox:hover.sd-checkbox--disabled .sd-checkbox__bg{border-color:transparent;background:var(--sd-checkbox-disabled-bg)}sd-checkbox .sd-checkbox__bg{width:var(--sd-checkbox-size);height:var(--sd-checkbox-size);border-radius:var(--sd-checkbox-radius);border:var(--sd-checkbox-border-width) solid var(--sd-checkbox-unchecked-border);box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;line-height:0}sd-checkbox .sd-checkbox__label{font-size:var(--sd-checkbox-font-size);font-weight:var(--sd-checkbox-font-weight);color:var(--sd-checkbox-label-color);line-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__bg{border-color:var(--sd-checkbox-checked-bg);background:var(--sd-checkbox-checked-bg)}sd-checkbox .sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate.sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--unchecked .sd-checkbox__bg{background:var(--sd-checkbox-unchecked-bg)}sd-checkbox .sd-checkbox--disabled{cursor:not-allowed}sd-checkbox .sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--inverse .sd-checkbox__label{color:var(--sd-checkbox-inverse-label)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--unchecked .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--inverse.sd-checkbox--indeterminate .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse:hover.sd-checkbox--unchecked .sd-checkbox__bg{background:rgba(255, 255, 255, 0.12);border-color:var(--sd-checkbox-inverse-border)}`;
|
|
92
|
+
const sdCheckboxCss = () => `sd-checkbox{display:block;height:var(--sd-checkbox-line-height);line-height:0}sd-checkbox .sd-checkbox{cursor:pointer;display:inline-flex;align-items:center;gap:var(--sd-checkbox-gap);height:var(--sd-checkbox-line-height);max-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox>input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}sd-checkbox .sd-checkbox>input:focus-visible+.sd-checkbox__bg{box-shadow:0 0 0 2px white, 0 0 0 4px var(--sd-checkbox-checked-bg);outline:none}sd-checkbox .sd-checkbox:hover.sd-checkbox--unchecked .sd-checkbox__bg{border-color:var(--sd-checkbox-unchecked-border-hover);background:var(--sd-checkbox-unchecked-bg-hover)}sd-checkbox .sd-checkbox:hover.sd-checkbox--disabled .sd-checkbox__bg{border-color:transparent;background:var(--sd-checkbox-disabled-bg)}sd-checkbox .sd-checkbox__bg{width:var(--sd-checkbox-size);height:var(--sd-checkbox-size);border-radius:var(--sd-checkbox-radius);border:var(--sd-checkbox-border-width) solid var(--sd-checkbox-unchecked-border);box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;line-height:0}sd-checkbox .sd-checkbox__label{display:inline-flex;flex-direction:column;font-size:var(--sd-checkbox-font-size);font-weight:var(--sd-checkbox-font-weight);color:var(--sd-checkbox-label-color);line-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox__label::after{content:attr(data-text);height:0;font-weight:var(--sd-checkbox-font-weight-selected);overflow:hidden;visibility:hidden;pointer-events:none}sd-checkbox .sd-checkbox--checked .sd-checkbox__label,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__label{font-weight:var(--sd-checkbox-font-weight-selected)}sd-checkbox .sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__bg{border-color:var(--sd-checkbox-checked-bg);background:var(--sd-checkbox-checked-bg)}sd-checkbox .sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate.sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--unchecked .sd-checkbox__bg{background:var(--sd-checkbox-unchecked-bg)}sd-checkbox .sd-checkbox--disabled{cursor:not-allowed}sd-checkbox .sd-checkbox--disabled .sd-checkbox__label{color:var(--sd-checkbox-label-disabled)}sd-checkbox .sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--inverse .sd-checkbox__label{color:var(--sd-checkbox-inverse-label)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--unchecked .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--inverse.sd-checkbox--indeterminate .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse:hover.sd-checkbox--unchecked .sd-checkbox__bg{background:rgba(255, 255, 255, 0.12);border-color:var(--sd-checkbox-inverse-border)}`;
|
|
86
93
|
|
|
87
94
|
const SdCheckbox = class {
|
|
88
95
|
constructor(hostRef) {
|
|
@@ -181,25 +188,27 @@ const SdCheckbox = class {
|
|
|
181
188
|
'--sd-checkbox-font-size': `${CHECKBOX_TYPOGRAPHY.fontSize}px`,
|
|
182
189
|
'--sd-checkbox-line-height': `${CHECKBOX_TYPOGRAPHY.lineHeight}px`,
|
|
183
190
|
'--sd-checkbox-font-weight': CHECKBOX_TYPOGRAPHY.fontWeight,
|
|
191
|
+
'--sd-checkbox-font-weight-selected': CHECKBOX_TYPOGRAPHY.selectedFontWeight,
|
|
184
192
|
'--sd-checkbox-unchecked-bg': CHECKBOX_COLORS.unchecked.bg,
|
|
185
193
|
'--sd-checkbox-unchecked-bg-hover': CHECKBOX_COLORS.unchecked.bgHover,
|
|
186
194
|
'--sd-checkbox-unchecked-border': CHECKBOX_COLORS.unchecked.border,
|
|
187
195
|
'--sd-checkbox-unchecked-border-hover': CHECKBOX_COLORS.unchecked.borderHover,
|
|
188
196
|
'--sd-checkbox-checked-bg': CHECKBOX_COLORS.checked.bg,
|
|
189
197
|
'--sd-checkbox-label-color': CHECKBOX_COLORS.label,
|
|
198
|
+
'--sd-checkbox-label-disabled': CHECKBOX_COLORS.labelDisabled,
|
|
190
199
|
'--sd-checkbox-disabled-bg': CHECKBOX_COLORS.disabled.bg,
|
|
191
200
|
'--sd-checkbox-disabled-border': CHECKBOX_COLORS.disabled.border,
|
|
192
201
|
'--sd-checkbox-inverse-border': CHECKBOX_COLORS.checked.borderInverse,
|
|
193
202
|
'--sd-checkbox-inverse-icon': CHECKBOX_COLORS.checked.iconInverse,
|
|
194
203
|
'--sd-checkbox-inverse-label': CHECKBOX_COLORS.labelInverse,
|
|
195
204
|
};
|
|
196
|
-
return (h("label", { key: '
|
|
205
|
+
return (h("label", { key: '3fa9a68790e4a777904d1c8ec1fc18b646a2e41b', class: this.checkboxClasses, style: cssVars }, h("input", { key: 'ecbabd8967c8c73e0b9216157d96b5d5f07777bd', type: "checkbox", ref: el => {
|
|
197
206
|
this.inputEl = el;
|
|
198
|
-
}, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), h("div", { key: '
|
|
207
|
+
}, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), h("div", { key: '633c38ae79790aa5745240f68253613705f804cf', class: "sd-checkbox__bg" }, this.isChecked !== false ? (h("sd-icon", { name: this.isChecked === true ? 'checkboxCheck' : 'checkboxIndeterminate', size: Number(CHECKBOX_LAYOUT.iconSize), color: this.disabled
|
|
199
208
|
? CHECKBOX_COLORS.checked.iconDisabled
|
|
200
209
|
: this.inverse
|
|
201
210
|
? CHECKBOX_COLORS.checked.iconInverse
|
|
202
|
-
: CHECKBOX_COLORS.checked.icon })) : null), this.label && h("span", { key: '
|
|
211
|
+
: CHECKBOX_COLORS.checked.icon })) : null), this.label && (h("span", { key: '6e46c09aa41d4d1b0dbad75b825513d6e4e08f11', class: "sd-checkbox__label", "data-text": this.label }, this.label))));
|
|
203
212
|
}
|
|
204
213
|
static get watchers() { return {
|
|
205
214
|
"value": [{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, a as getElement, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C7HJ-NfO.js';
|
|
2
2
|
import { n as nanoid } from './index-CCwNgVmC.js';
|
|
3
3
|
import { s as systemTokens } from './system-BJfiMC9H.js';
|
|
4
4
|
import { l as listBoxTokens, a as listItemTokens } from './component.listItem-U8VaRj9c.js';
|
|
@@ -103,7 +103,7 @@ const CHIP_INPUT_SUGGESTIONS = {
|
|
|
103
103
|
emptyLineHeight: '20px',
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
const sdChipInputCss = () => `sd-chip-input{display:inline-flex}sd-chip-input .sd-chip-input{position:relative;width:100%;isolation:isolate;min-height:var(--sd-chip-input-min-height);display:flex;flex-flow:row wrap;align-items:center;gap:var(--sd-chip-input-chip-gap);padding:var(--sd-chip-input-padding-y) var(--sd-chip-input-padding-x);cursor:text}sd-chip-input .sd-chip-input__reset{display:inline-flex;align-items:center;gap:var(--sd-chip-input-reset-gap);flex-shrink:0}sd-chip-input .sd-chip-input__divider{display:inline-block;width:1px;height:12px;background-color:var(--sd-chip-input-divider-color);flex-shrink:0}sd-chip-input .sd-chip-input__max-count{font-size:var(--sd-chip-input-max-count-font-size);font-weight:var(--sd-chip-input-max-count-font-weight);color:var(--sd-chip-input-max-count-color);white-space:nowrap;flex-shrink:0}sd-chip-input .sd-chip-input__field{flex:0 0 auto;display:inline-grid;grid-template-columns:minmax(0, max-content);align-items:center;min-width:1ch;max-width:100%;height:var(--sd-chip-input-field-height);box-sizing:border-box;padding:0;border:none;border-radius:0;background:transparent;overflow:hidden}sd-chip-input .sd-chip-input__field::after{content:attr(data-value);grid-area:1/1;visibility:hidden;white-space:pre;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family)}sd-chip-input .sd-chip-input__field--filled{padding:0 var(--sd-chip-input-field-padding-x);border:var(--sd-chip-input-field-border-width) solid var(--sd-chip-input-field-border-color);border-radius:var(--sd-chip-input-field-radius);background:var(--sd-chip-input-field-bg)}sd-chip-input .sd-chip-input__field--empty{position:absolute;top:0;left:0;width:0;height:0;min-width:0;overflow:hidden}sd-chip-input .sd-chip-input__input{grid-area:1/1;width:100%;min-width:1ch;height:var(--sd-chip-input-field-height);margin:0;padding:0;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;background:transparent;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family);color:var(--sd-chip-input-field-content)}sd-chip-input .sd-chip-input__input[disabled]{cursor:not-allowed;pointer-events:none}sd-chip-input .sd-chip-input__input::placeholder{color:var(--sd-chip-input-placeholder-color)}sd-chip-input .sd-chip-input__suggestions{display:flex;flex-direction:column;box-sizing:border-box;background:white;border-radius:var(--sd-chip-input-suggestions-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);max-height:var(--sd-chip-input-suggestions-max-height);min-height:0;overflow-y:auto;overflow-x:hidden;outline:none}sd-chip-input .sd-chip-input__suggestion-item{display:flex;align-items:center;gap:var(--sd-chip-input-suggestion-gap);padding:var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-right) var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-x);font-size:var(--sd-chip-input-suggestion-font-size);line-height:var(--sd-chip-input-suggestion-line-height);font-weight:var(--sd-chip-input-suggestion-font-weight);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestion-color);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-chip-input .sd-chip-input__suggestion-item--active{background:var(--sd-chip-input-suggestion-bg-hover);color:var(--sd-chip-input-suggestion-color-hover);font-weight:var(--sd-chip-input-suggestion-font-weight-selected)}sd-chip-input .sd-chip-input__suggestions-empty{padding:12px;text-align:center;font-size:var(--sd-chip-input-suggestions-empty-font-size);line-height:var(--sd-chip-input-suggestions-empty-line-height);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestions-empty-color)}`;
|
|
106
|
+
const sdChipInputCss = () => `sd-chip-input{display:inline-flex}sd-chip-input .sd-chip-input{position:relative;width:100%;isolation:isolate;min-height:var(--sd-chip-input-min-height);display:flex;flex-flow:row wrap;align-items:center;gap:var(--sd-chip-input-chip-gap);padding:var(--sd-chip-input-padding-y) var(--sd-chip-input-padding-x);cursor:text}sd-chip-input .sd-chip-input__reset{display:inline-flex;align-items:center;gap:var(--sd-chip-input-reset-gap);flex-shrink:0}sd-chip-input .sd-chip-input__divider{display:inline-block;width:1px;height:12px;background-color:var(--sd-chip-input-divider-color);flex-shrink:0}sd-chip-input .sd-chip-input__max-count{font-size:var(--sd-chip-input-max-count-font-size);font-weight:var(--sd-chip-input-max-count-font-weight);color:var(--sd-chip-input-max-count-color);white-space:nowrap;flex-shrink:0}sd-chip-input .sd-chip-input__field{flex:0 0 auto;display:inline-grid;grid-template-columns:minmax(0, max-content);align-items:center;min-width:1ch;max-width:100%;height:var(--sd-chip-input-field-height);box-sizing:border-box;padding:0;border:none;border-radius:0;background:transparent;overflow:hidden}sd-chip-input .sd-chip-input__field::after{content:attr(data-value);grid-area:1/1;visibility:hidden;white-space:pre;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family)}sd-chip-input .sd-chip-input__field--filled{padding:0 var(--sd-chip-input-field-padding-x);border:var(--sd-chip-input-field-border-width) solid var(--sd-chip-input-field-border-color);border-radius:var(--sd-chip-input-field-radius);background:var(--sd-chip-input-field-bg)}sd-chip-input .sd-chip-input__field--empty{position:absolute;top:0;left:0;width:0;height:0;min-width:0;overflow:hidden}sd-chip-input .sd-chip-input__input{grid-area:1/1;width:100%;min-width:1ch;height:var(--sd-chip-input-field-height);margin:0;padding:0;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;background:transparent;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family);color:var(--sd-chip-input-field-content)}sd-chip-input .sd-chip-input__input[disabled]{cursor:not-allowed;pointer-events:none}sd-chip-input .sd-chip-input__input::placeholder{color:var(--sd-chip-input-placeholder-color)}sd-chip-input .sd-chip-input__suggestions{display:flex;flex-direction:column;box-sizing:border-box;background:white;border-radius:var(--sd-chip-input-suggestions-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);max-height:var(--sd-chip-input-suggestions-max-height);min-height:0;overflow-y:auto;overflow-x:hidden;outline:none}sd-chip-input .sd-chip-input__suggestion-item{display:flex;flex-shrink:0;align-items:center;gap:var(--sd-chip-input-suggestion-gap);padding:var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-right) var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-x);font-size:var(--sd-chip-input-suggestion-font-size);line-height:var(--sd-chip-input-suggestion-line-height);font-weight:var(--sd-chip-input-suggestion-font-weight);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestion-color);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-chip-input .sd-chip-input__suggestion-item--active{background:var(--sd-chip-input-suggestion-bg-hover);color:var(--sd-chip-input-suggestion-color-hover);font-weight:var(--sd-chip-input-suggestion-font-weight-selected)}sd-chip-input .sd-chip-input__suggestions-empty{padding:12px;text-align:center;font-size:var(--sd-chip-input-suggestions-empty-font-size);line-height:var(--sd-chip-input-suggestions-empty-line-height);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestions-empty-color)}`;
|
|
107
107
|
|
|
108
108
|
const SdChipInput = class {
|
|
109
109
|
constructor(hostRef) {
|
|
@@ -115,31 +115,56 @@ const SdChipInput = class {
|
|
|
115
115
|
}
|
|
116
116
|
static SUGGESTIONS_VIEWPORT_PADDING = 8;
|
|
117
117
|
get host() { return getElement(this); }
|
|
118
|
+
/** 칩 값 목록 */
|
|
118
119
|
values = [];
|
|
120
|
+
/** 칩별 에러 상태 목록 또는 값으로 에러 여부를 반환하는 함수 */
|
|
119
121
|
errors = [];
|
|
122
|
+
/** 칩별 비활성 상태 목록 또는 값으로 비활성 여부를 반환하는 함수 */
|
|
120
123
|
disabledChips = [];
|
|
124
|
+
/** 입력 필드 크기 */
|
|
121
125
|
size = 'sm';
|
|
126
|
+
/** 비활성 상태 여부 */
|
|
122
127
|
disabled = false;
|
|
128
|
+
/** 입력 placeholder */
|
|
123
129
|
placeholder = '입력해 주세요.';
|
|
130
|
+
/** 폼 연동용 name 속성 */
|
|
124
131
|
name = nanoid();
|
|
132
|
+
/** 유효성 검사 규칙 목록 */
|
|
125
133
|
rules = [];
|
|
134
|
+
/** 에러 상태 여부 */
|
|
126
135
|
error = false;
|
|
136
|
+
/** 입력 초기화 버튼 표시 여부 */
|
|
127
137
|
useReset = false;
|
|
138
|
+
/** 최대 입력 가능한 칩 개수 (없으면 제한 없음) */
|
|
128
139
|
maxCount;
|
|
140
|
+
/** 중복 에러 메시지에 표시할 항목 이름 (없으면 기본 메시지 사용) */
|
|
129
141
|
duplicateLabel;
|
|
142
|
+
/** 자동완성 후보 목록 */
|
|
130
143
|
suggestions = [];
|
|
144
|
+
/** 자동완성 목록 로딩 중 여부 */
|
|
131
145
|
loadingSuggestions = false;
|
|
146
|
+
/** 추천 항목 목록 (입력값이 없을 때 표시) */
|
|
132
147
|
recommendedItems = [];
|
|
148
|
+
/** 추천 항목 로딩 중 여부 */
|
|
133
149
|
loadingRecommendedItems = false;
|
|
134
150
|
// sd-field props
|
|
151
|
+
/** 레이블 텍스트 */
|
|
135
152
|
label = '';
|
|
153
|
+
/** 레이블 너비 */
|
|
136
154
|
labelWidth = '';
|
|
155
|
+
/** 필드 하단 힌트 텍스트 */
|
|
137
156
|
hint = '';
|
|
157
|
+
/** 에러 메시지 */
|
|
138
158
|
errorMessage = '';
|
|
159
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
139
160
|
width = '';
|
|
161
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
140
162
|
status;
|
|
163
|
+
/** 레이블 영역 아이콘 */
|
|
141
164
|
icon = undefined;
|
|
165
|
+
/** 레이블 툴팁 텍스트 */
|
|
142
166
|
labelTooltip = '';
|
|
167
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
143
168
|
labelTooltipProps = null;
|
|
144
169
|
internalValues = [];
|
|
145
170
|
internalErrors = [];
|
|
@@ -206,19 +231,27 @@ const SdChipInput = class {
|
|
|
206
231
|
}
|
|
207
232
|
return this.disabledChips?.[index] ?? false;
|
|
208
233
|
}
|
|
234
|
+
/** 칩 목록 변경 시 전체 값 배열을 전달합니다. */
|
|
209
235
|
update;
|
|
236
|
+
/** 입력 필드 포커스 진입 시 발생합니다. */
|
|
210
237
|
focusEvent;
|
|
238
|
+
/** 입력 필드 포커스 이탈 시 발생합니다. */
|
|
211
239
|
blurEvent;
|
|
240
|
+
/** 입력값 변경 시 현재 입력 중인 문자열을 전달합니다. */
|
|
212
241
|
inputEvent;
|
|
242
|
+
/** 유효성 검사를 실행합니다. */
|
|
213
243
|
async sdValidate() {
|
|
214
244
|
return this.formField?.sdValidate();
|
|
215
245
|
}
|
|
246
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
216
247
|
async sdReset() {
|
|
217
248
|
return this.formField?.sdReset();
|
|
218
249
|
}
|
|
250
|
+
/** 유효성 상태만 초기화합니다. */
|
|
219
251
|
async sdResetValidate() {
|
|
220
252
|
return this.formField?.sdResetValidation();
|
|
221
253
|
}
|
|
254
|
+
/** 입력 필드에 포커스를 이동합니다. */
|
|
222
255
|
async sdFocus() {
|
|
223
256
|
return this.formField?.sdFocus();
|
|
224
257
|
}
|
|
@@ -479,6 +512,7 @@ const SdChipInput = class {
|
|
|
479
512
|
};
|
|
480
513
|
const suggestionItemStyle = {
|
|
481
514
|
display: 'flex',
|
|
515
|
+
flexShrink: '0',
|
|
482
516
|
alignItems: 'center',
|
|
483
517
|
gap: CHIP_INPUT_SUGGESTIONS.itemGap,
|
|
484
518
|
padding: `${CHIP_INPUT_SUGGESTIONS.itemPaddingY} ${CHIP_INPUT_SUGGESTIONS.itemPaddingRight} ` +
|
|
@@ -502,7 +536,7 @@ const SdChipInput = class {
|
|
|
502
536
|
fontFamily: CHIP_INPUT_SUGGESTIONS.itemFontFamily,
|
|
503
537
|
color: CHIP_INPUT_SUGGESTIONS.emptyColor,
|
|
504
538
|
};
|
|
505
|
-
return (h("sd-field", { key: '
|
|
539
|
+
return (h("sd-field", { key: '7135f3f1fe7c76276bcd780ba2cfdf391925a57b', name: this.name, label: this.label, labelWidth: this.labelWidth, hint: this.hint, errorMessage: this.errorMessage, rules: [this.duplicateRule, ...(this.rules ?? [])], error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, width: this.width, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: cssVars, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, h("div", { key: '8566ae7bc3bedaf6be95f29267587c49c090e73f', class: "sd-chip-input", ref: el => (this.chipInputRef = el), onClick: this.handleContainerClick }, (this.internalValues ?? []).map((value, i) => (h("sd-chip", { key: i, value: value, error: this.getChipError(i), disabled: this.getChipDisabled(i), editable: false, onSdRemove: () => this.handleChipRemove(i) }))), !isMaxReached && (h("div", { key: '00d9946c93d2e961466fa8baf617fc4ddc12d701', class: {
|
|
506
540
|
'sd-chip-input__field': true,
|
|
507
541
|
'sd-chip-input__field--filled': this.inputValue !== '',
|
|
508
542
|
'sd-chip-input__field--empty': this.inputValue === '' && this.internalValues.length > 0 && !this.focused,
|
|
@@ -510,7 +544,7 @@ const SdChipInput = class {
|
|
|
510
544
|
? this.inputValue
|
|
511
545
|
: this.internalValues.length === 0
|
|
512
546
|
? this.placeholder
|
|
513
|
-
: '' }, h("input", { key: '
|
|
547
|
+
: '' }, h("input", { key: '2845394a5eaec2d5f37876a0e8938fa9d3f38263', ref: el => (this.inputEl = el), class: "sd-chip-input__input", placeholder: this.internalValues.length === 0 ? this.placeholder : '', disabled: this.disabled, size: 1, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur }))), showResetArea && (h("div", { key: '7cec3884a4cace3d688e80006d6240d321ac60f3', class: "sd-chip-input__reset" }, this.inputValue === '' && h("span", { key: '761539e242437841a2703d95903f9d6b5fe3d69f', class: "sd-chip-input__divider" }), this.maxCount != null && (h("span", { key: '1b448973ba3573c94ae09b74cd24720c8ea011d3', class: "sd-chip-input__max-count" }, "\uCD5C\uB300 ", this.maxCount, "\uAC1C")), this.useReset && this.internalValues.length > 0 && (h("sd-text-link", { key: '90d7582f35b8e7a8ee3c1dba717fa87c13c1de19', icon: "reset", iconColor: CHIP_INPUT_RESET.iconColor, label: "\uC785\uB825 \uCD08\uAE30\uD654", underline: true, disabled: this.disabled, style: { '--sd-text-link-color': CHIP_INPUT_RESET.labelColor }, onSdClick: this.handleResetInput })))), showDropdown && (h("sd-portal", { key: '9495c87a4916829fe955f054a8c97d2b3fa04914', open: showDropdown, parentRef: this.chipInputRef ?? null, viewportPadding: SdChipInput.SUGGESTIONS_VIEWPORT_PADDING, onSdClose: this.closeSuggestions }, h("div", { key: 'ac4afd8511316f0b4b957c312a051b02fc72f20e', class: "sd-chip-input__suggestions", role: "listbox", style: suggestionBoxStyle }, isDropdownLoading && (h("div", { key: '3b6855a7ad2ef48415160544a19014d59ca38ec1', class: "sd-chip-input__suggestions-empty", style: suggestionEmptyStyle }, "\uBD88\uB7EC\uC624\uB294 \uC911...")), dropdownItems.map((item, i) => (h("div", { key: item, class: {
|
|
514
548
|
'sd-chip-input__suggestion-item': true,
|
|
515
549
|
'sd-chip-input__suggestion-item--active': i === this.activeSuggestionIndex,
|
|
516
550
|
}, role: "option", tabIndex: -1, "aria-selected": i === this.activeSuggestionIndex, style: i === this.activeSuggestionIndex
|