@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, 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 { c as countLeaves, S as SEARCH_THRESHOLD, f as filterTree, i as isHtmlLabel, e as extractText, E as EMPTY_MESSAGE, L as LIST_BOX_LAYOUT, a as SELECT_COLORS, b as SELECT_TYPOGRAPHY, d as SELECT_LAYOUT } from './sd-select.config-D6ktrl7E.js';
|
|
4
4
|
import { s as sanitizeInlineHtml } from './sanitize-inline-html-BE4tnQ2Z.js';
|
|
@@ -16,29 +16,53 @@ const SdSelect = class {
|
|
|
16
16
|
static PORTAL_OFFSET_Y = 4;
|
|
17
17
|
static CLOSE_ANIMATION_DURATION = 150;
|
|
18
18
|
get el() { return getElement(this); }
|
|
19
|
+
/** 셀렉트 타입 (단일/다중/계층) */
|
|
19
20
|
type = 'default';
|
|
21
|
+
/** 현재 선택된 값 */
|
|
20
22
|
value = null;
|
|
23
|
+
/** 선택 옵션 목록 */
|
|
21
24
|
options = [];
|
|
25
|
+
/** 값이 없을 때 표시할 플레이스홀더 */
|
|
22
26
|
placeholder = '선택';
|
|
27
|
+
/** 드롭다운 너비 (없으면 트리거 너비로 자동 맞춤) */
|
|
23
28
|
dropdownWidth = '';
|
|
29
|
+
/** 드롭다운 최대 너비 */
|
|
24
30
|
maxDropdownWidth = '640px';
|
|
31
|
+
/** 드롭다운 최대 높이 */
|
|
25
32
|
dropdownHeight = '260px';
|
|
33
|
+
/** 비활성 상태 여부 */
|
|
26
34
|
disabled = false;
|
|
35
|
+
/** 레이블 텍스트 */
|
|
27
36
|
label = '';
|
|
37
|
+
/** 레이블 너비 */
|
|
28
38
|
labelWidth = '';
|
|
39
|
+
/** 필드 우측 어드온 레이블 */
|
|
29
40
|
addonLabel = '';
|
|
41
|
+
/** 어드온 정렬 방향 */
|
|
30
42
|
addonAlign = 'start';
|
|
43
|
+
/** 에러 상태 여부 */
|
|
31
44
|
error = false;
|
|
45
|
+
/** 필드 하단 힌트 텍스트 */
|
|
32
46
|
hint = '';
|
|
47
|
+
/** 에러 메시지 */
|
|
33
48
|
errorMessage = '';
|
|
49
|
+
/** 유효성 검사 규칙 목록 */
|
|
34
50
|
rules = [];
|
|
51
|
+
/** 레이블 영역 아이콘 */
|
|
35
52
|
icon = undefined;
|
|
53
|
+
/** 레이블 툴팁 텍스트 */
|
|
36
54
|
labelTooltip = '';
|
|
55
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
37
56
|
labelTooltipProps = null;
|
|
57
|
+
/** true이면 value로 SelectOption 대신 원시값(string|number) 방출 */
|
|
38
58
|
emitValue = false;
|
|
59
|
+
/** 필드 너비 */
|
|
39
60
|
width = '';
|
|
61
|
+
/** 드롭다운 내 검색 입력 표시 여부 */
|
|
40
62
|
useSearch = false;
|
|
63
|
+
/** 전체 선택 시 표시할 레이블 */
|
|
41
64
|
allSelectedLabel = '전체';
|
|
65
|
+
/** 전체 선택 체크박스 표시 여부 */
|
|
42
66
|
useSelectAll = false;
|
|
43
67
|
isOpen = false;
|
|
44
68
|
isAnimatingOut = false;
|
|
@@ -47,13 +71,17 @@ const SdSelect = class {
|
|
|
47
71
|
resolvedMaxDropdownWidth = '640px';
|
|
48
72
|
focused = false;
|
|
49
73
|
hovered = false;
|
|
74
|
+
/** 선택 값이 변경될 때 발생합니다. */
|
|
50
75
|
update;
|
|
76
|
+
/** 드롭다운 열림/닫힘 상태가 바뀔 때 발생합니다. */
|
|
51
77
|
dropDownShow;
|
|
78
|
+
/** 셀렉트 트리거에 포커스를 이동합니다. */
|
|
52
79
|
async sdFocus() {
|
|
53
80
|
if (this.disabled)
|
|
54
81
|
return;
|
|
55
82
|
await this.triggerComponentRef?.sdFocus();
|
|
56
83
|
}
|
|
84
|
+
/** 드롭다운을 엽니다. */
|
|
57
85
|
async sdOpen() {
|
|
58
86
|
// sdFocus 직후 호출 시 트리거 ref/레이아웃이 안정될 때까지 한 틱 대기
|
|
59
87
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
@@ -68,6 +96,7 @@ const SdSelect = class {
|
|
|
68
96
|
triggerRef;
|
|
69
97
|
triggerComponentRef;
|
|
70
98
|
closeAnimationTimer;
|
|
99
|
+
/** 폼 연동용 name 속성 */
|
|
71
100
|
name = nanoid();
|
|
72
101
|
triggerHasFocus = false;
|
|
73
102
|
watchIsOpen(newValue) {
|
|
@@ -265,15 +294,15 @@ const SdSelect = class {
|
|
|
265
294
|
this.closeDropdown();
|
|
266
295
|
},
|
|
267
296
|
};
|
|
268
|
-
return (h("sd-field", { key: '
|
|
297
|
+
return (h("sd-field", { key: '3387dc16a6f54bfae652338c71c4c0e1553828c9', 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, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
|
|
269
298
|
this.hovered = true;
|
|
270
299
|
}, onMouseLeave: () => {
|
|
271
300
|
this.hovered = false;
|
|
272
|
-
} }, h("div", { key: '
|
|
301
|
+
} }, h("div", { key: '124325f8f6882a3c9ee1a1795ee969f13d67dfe2', class: "sd-select", ref: el => {
|
|
273
302
|
this.triggerRef = el;
|
|
274
|
-
} }, h("sd-select-trigger", { key: '
|
|
303
|
+
} }, h("sd-select-trigger", { key: '2e0e44ae666282d3931f9889650a7999929a312b', ref: el => {
|
|
275
304
|
this.triggerComponentRef = el;
|
|
276
|
-
}, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: '
|
|
305
|
+
}, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: 'b6e97e43c5ea3a06fbb2976dab52d4f544822ae0', ...portalProps }, h("sd-select-listbox", { key: '3d8a01c54667149507db2757d81813d2f285b32d', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
|
|
277
306
|
}
|
|
278
307
|
static get watchers() { return {
|
|
279
308
|
"isOpen": [{
|
|
@@ -290,18 +319,28 @@ const SdSelectListbox = class {
|
|
|
290
319
|
registerInstance(this, hostRef);
|
|
291
320
|
this.optionSelect = createEvent(this, "sdOptionSelect", 7);
|
|
292
321
|
}
|
|
322
|
+
/** 셀렉트 타입 */
|
|
293
323
|
type = 'default';
|
|
324
|
+
/** 옵션 목록 */
|
|
294
325
|
options = [];
|
|
326
|
+
/** 현재 선택 값 */
|
|
295
327
|
value = null;
|
|
328
|
+
/** 값만 emit할지 여부 */
|
|
296
329
|
emitValue = false;
|
|
330
|
+
/** 검색 기능 사용 여부 */
|
|
297
331
|
useSearch = false;
|
|
332
|
+
/** 전체 선택 기능 사용 여부 */
|
|
298
333
|
useSelectAll = false;
|
|
334
|
+
/** 트리거 너비 (드롭다운 최소 너비) */
|
|
299
335
|
triggerWidth = '200px';
|
|
336
|
+
/** 드롭다운 최대 너비 */
|
|
300
337
|
maxWidth = '640px';
|
|
338
|
+
/** 드롭다운 최대 높이 */
|
|
301
339
|
maxHeight = '260px';
|
|
302
340
|
searchKeyword = '';
|
|
303
341
|
isScrolled = false;
|
|
304
342
|
focusedIndex = -1;
|
|
343
|
+
/** 옵션 선택 시 발생합니다. */
|
|
305
344
|
optionSelect;
|
|
306
345
|
listEl;
|
|
307
346
|
lastScrolledIndex = -1;
|
|
@@ -640,9 +679,9 @@ const SdSelectListbox = class {
|
|
|
640
679
|
'--listbox-max-height': this.maxHeight ?? '260px',
|
|
641
680
|
'--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
|
|
642
681
|
};
|
|
643
|
-
return (h("div", { key: '
|
|
682
|
+
return (h("div", { key: '6ca1107a8aadc1fbae26f3d8d3385b355981b65e', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: '8612b45a4e9b7d2701b8decd6865ebb50d6fcaa3', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: 'c02c9c1d96176f94d2f83c66ad3e7cc0946c0270', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
|
|
644
683
|
this.listEl = el;
|
|
645
|
-
} }, this.showSelectAll && (h("sd-select-list-item", { key: '
|
|
684
|
+
} }, this.showSelectAll && (h("sd-select-list-item", { key: 'f4fe1769d14812ba63fb73ff21ebfdaaf9d76409', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
|
|
646
685
|
}
|
|
647
686
|
static get watchers() { return {
|
|
648
687
|
"searchKeyword": [{
|
|
@@ -661,14 +700,22 @@ const SdSelectTrigger = class {
|
|
|
661
700
|
this.triggerFocus = createEvent(this, "sdTriggerFocus", 7);
|
|
662
701
|
this.triggerBlur = createEvent(this, "sdTriggerBlur", 7);
|
|
663
702
|
}
|
|
703
|
+
/** 표시할 선택된 값 텍스트 */
|
|
664
704
|
displayText = '';
|
|
705
|
+
/** 미선택 상태 플레이스홀더 */
|
|
665
706
|
placeholder = '선택';
|
|
707
|
+
/** 비활성 상태 여부 */
|
|
666
708
|
disabled = false;
|
|
709
|
+
/** 드롭다운 열림 상태 */
|
|
667
710
|
isOpen = false;
|
|
711
|
+
/** 트리거 클릭 시 발생합니다. */
|
|
668
712
|
triggerClick;
|
|
713
|
+
/** 트리거 포커스 시 발생합니다. */
|
|
669
714
|
triggerFocus;
|
|
715
|
+
/** 트리거 블러 시 발생합니다. */
|
|
670
716
|
triggerBlur;
|
|
671
717
|
triggerEl;
|
|
718
|
+
/** 트리거 엘리먼트에 포커스를 이동합니다. */
|
|
672
719
|
async sdFocus() {
|
|
673
720
|
if (this.disabled)
|
|
674
721
|
return;
|
|
@@ -702,7 +749,7 @@ const SdSelectTrigger = class {
|
|
|
702
749
|
? SELECT_COLORS.icon.disabled
|
|
703
750
|
: SELECT_COLORS.icon.default,
|
|
704
751
|
};
|
|
705
|
-
return (h("div", { key: '
|
|
752
|
+
return (h("div", { key: '7f5940ce19feb2d3ae9b2cbb6b5fdeb6d0151f61', ref: el => {
|
|
706
753
|
this.triggerEl = el;
|
|
707
754
|
}, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
|
|
708
755
|
'sd-select-trigger': true,
|
|
@@ -713,7 +760,7 @@ const SdSelectTrigger = class {
|
|
|
713
760
|
e.preventDefault();
|
|
714
761
|
this.handleClick();
|
|
715
762
|
}
|
|
716
|
-
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '
|
|
763
|
+
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: 'b50dea3450ee6fd2bf30811cc33facf00761f0d1', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (h("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (h("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), h("sd-icon", { key: '778b3d1c738951f9a18950b668a34a1bc36006ca', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
|
|
717
764
|
'sd-select-trigger__icon': true,
|
|
718
765
|
'sd-select-trigger__icon--open': this.isOpen,
|
|
719
766
|
} }))));
|
|
@@ -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
|
|
|
3
3
|
var switchTokens = {
|
|
4
4
|
"switch": {
|
|
@@ -63,9 +63,13 @@ const SdSwitch = class {
|
|
|
63
63
|
registerInstance(this, hostRef);
|
|
64
64
|
this.change = createEvent(this, "sdUpdate", 7);
|
|
65
65
|
}
|
|
66
|
+
/** 현재 on/off 상태 */
|
|
66
67
|
value = false;
|
|
68
|
+
/** 표시할 라벨 텍스트 */
|
|
67
69
|
label = '';
|
|
70
|
+
/** 비활성 상태 여부 */
|
|
68
71
|
disabled = false;
|
|
72
|
+
/** 상태가 변경될 때 발생합니다. */
|
|
69
73
|
change;
|
|
70
74
|
get switchClasses() {
|
|
71
75
|
const classes = ['sd-switch', this.value ? 'sd-switch--on' : 'sd-switch--off'];
|
|
@@ -103,7 +107,7 @@ const SdSwitch = class {
|
|
|
103
107
|
'--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
|
|
104
108
|
'--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
|
|
105
109
|
};
|
|
106
|
-
return (h("label", { key: '
|
|
110
|
+
return (h("label", { key: '2cbee35194a8218f1526ecd26d0ff0cc660ed5fb', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, h("input", { key: '8c9a330a7b69035ace0644f0a2cab8f6f8672bfd', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), h("div", { key: '738a28fb9c26628d6b67f03d0b75f4155ad85966', class: "sd-switch__track" }, h("div", { key: '91b7bac6c4e48d1b5b1331713620a132e9921906', class: "sd-switch__knob" })), this.label && h("span", { key: 'a9cdfb08c240f3d6a15bef3e119c0c02f3fe3462', class: "sd-switch__label" }, this.label)));
|
|
107
111
|
}
|
|
108
112
|
};
|
|
109
113
|
SdSwitch.style = sdSwitchCss();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, a as getElement, d as readTask, f as forceUpdate, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, a as getElement, d as readTask, f as forceUpdate, h, H as Host } from './index-C7HJ-NfO.js';
|
|
2
2
|
import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
|
|
3
3
|
import { T as TABLE_BODY_LAYOUT, a as TABLE_SELECTABLE_COLUMN_WIDTH, b as TABLE_BODY_TYPOGRAPHY, c as TABLE_BORDER, d as TABLE_RADIUS } from './sd-table.config-B3wuA5wX.js';
|
|
4
4
|
import './component.table-D6GUzecR.js';
|
|
@@ -30,28 +30,48 @@ const SdTable = class {
|
|
|
30
30
|
}
|
|
31
31
|
static DEFAULT_NO_DATA_LABEL = '데이터가 없습니다.';
|
|
32
32
|
get el() { return getElement(this); }
|
|
33
|
+
/** 테이블 고유 ID (자식 슬롯 매핑에 사용) */
|
|
33
34
|
tableId = nanoid(8);
|
|
34
35
|
fallbackTableId = nanoid(8);
|
|
36
|
+
/** 컬럼 정의 목록 */
|
|
35
37
|
columns = [];
|
|
38
|
+
/** 행 데이터 배열 */
|
|
36
39
|
rows;
|
|
40
|
+
/** 현재 선택된 행 목록 */
|
|
37
41
|
selected = [];
|
|
42
|
+
/** 행 고유 식별 필드명 */
|
|
38
43
|
rowKey = 'id';
|
|
44
|
+
/** 행 선택(체크박스) 기능 활성화 여부 */
|
|
39
45
|
selectable = false;
|
|
46
|
+
/** 컬럼 너비 조절 기능 활성화 여부 */
|
|
40
47
|
resizable = false;
|
|
48
|
+
/** 테이블 너비 */
|
|
41
49
|
width;
|
|
50
|
+
/** 테이블 높이 */
|
|
42
51
|
height;
|
|
52
|
+
/** 헤더 고정(sticky) 여부 */
|
|
43
53
|
stickyHeader = false;
|
|
54
|
+
/** 고정할 좌우 컬럼 수 */
|
|
44
55
|
stickyColumn = { left: 0, right: 0 };
|
|
56
|
+
/** border-radius 제어 */
|
|
45
57
|
radius = 'default';
|
|
58
|
+
/** 데이터 없을 때 표시할 메시지 */
|
|
46
59
|
noDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
|
|
47
60
|
resolvedNoDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
|
|
61
|
+
/** 로딩 스피너 표시 여부 */
|
|
48
62
|
isLoading = false;
|
|
63
|
+
/** 페이지네이션 옵션 */
|
|
49
64
|
pagination;
|
|
65
|
+
/** 테이블 내부에서 페이지네이션을 직접 관리할지 여부 */
|
|
50
66
|
useInternalPagination = false;
|
|
67
|
+
/** 페이지당 행 수 선택 셀렉트 표시 여부 */
|
|
51
68
|
useRowsPerPageSelect = false;
|
|
69
|
+
/** 행 높이를 줄인 조밀 모드 여부 */
|
|
52
70
|
dense = false;
|
|
53
71
|
// ─── Virtual Scroll ───────────────────────────────────────────────
|
|
72
|
+
/** 가상 스크롤 사용 여부 */
|
|
54
73
|
useVirtualScroll = false;
|
|
74
|
+
/** 가상 스크롤 행 높이 (px, 없으면 dense 여부에 따라 자동) */
|
|
55
75
|
rowHeight;
|
|
56
76
|
get effectiveRowHeight() {
|
|
57
77
|
if (this.rowHeight != null)
|
|
@@ -60,19 +80,27 @@ const SdTable = class {
|
|
|
60
80
|
? Number(TABLE_BODY_LAYOUT.dense.height)
|
|
61
81
|
: Number(TABLE_BODY_LAYOUT.default.height);
|
|
62
82
|
}
|
|
83
|
+
/** 가상 스크롤 상하 버퍼 행 수 */
|
|
63
84
|
virtualBuffer = 5;
|
|
85
|
+
/** 가상 스크롤 끝 도달 감지 임계값 (마지막 N행 이내에 들어오면 이벤트 발생) */
|
|
64
86
|
virtualEndThreshold = 10;
|
|
65
87
|
// ─────────────────────────────────────────────────────────────────
|
|
88
|
+
/** 페이지당 행 수 선택 옵션 목록 */
|
|
66
89
|
rowsPerPageOption = [
|
|
67
90
|
{ label: '10개씩 보기', value: 10 },
|
|
68
91
|
{ label: '25개씩 보기', value: 25 },
|
|
69
92
|
{ label: '50개씩 보기', value: 50 },
|
|
70
93
|
{ label: '100개씩 보기', value: 100 },
|
|
71
94
|
];
|
|
95
|
+
/** 행 선택 상태가 변경될 때 선택된 행 목록을 전달합니다. */
|
|
72
96
|
sdSelectChange;
|
|
97
|
+
/** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
|
|
73
98
|
sdPageChange;
|
|
99
|
+
/** 페이지당 행 수가 변경될 때 발생합니다. */
|
|
74
100
|
sdRowsPerPageChange;
|
|
101
|
+
/** 가상 스크롤 가시 범위가 변경될 때 발생합니다. */
|
|
75
102
|
sdVirtualUpdate;
|
|
103
|
+
/** 가상 스크롤이 끝 임계값에 도달할 때 발생합니다. */
|
|
76
104
|
sdVirtualReachEnd;
|
|
77
105
|
currentPage = 1;
|
|
78
106
|
innerRowsPerPage = 10;
|
|
@@ -477,6 +505,7 @@ const SdTable = class {
|
|
|
477
505
|
isRowSelectedSync(row) {
|
|
478
506
|
return Array.from(this.innerSelected).some(r => r[this.rowKey ?? 'id'] === row[this.rowKey ?? 'id']);
|
|
479
507
|
}
|
|
508
|
+
/** 행이 선택되어 있는지 확인합니다. */
|
|
480
509
|
async isRowSelected(row) {
|
|
481
510
|
return this.isRowSelectedSync(row);
|
|
482
511
|
}
|
|
@@ -493,6 +522,7 @@ const SdTable = class {
|
|
|
493
522
|
this.sdSelectChange.emit(Array.from(this.innerSelected));
|
|
494
523
|
this.refreshChildrenSelection();
|
|
495
524
|
}
|
|
525
|
+
/** 행 선택 상태를 토글합니다. */
|
|
496
526
|
async updateRowSelect(row) {
|
|
497
527
|
this.updateRowSelectSync(row);
|
|
498
528
|
}
|
|
@@ -509,6 +539,7 @@ const SdTable = class {
|
|
|
509
539
|
this.sdSelectChange.emit(Array.from(this.innerSelected));
|
|
510
540
|
this.refreshChildrenSelection();
|
|
511
541
|
}
|
|
542
|
+
/** 전체 행 선택/해제를 처리합니다. */
|
|
512
543
|
async toggleSelectAll(checked, rows) {
|
|
513
544
|
this.toggleSelectAllSync(checked, rows);
|
|
514
545
|
}
|
|
@@ -521,6 +552,7 @@ const SdTable = class {
|
|
|
521
552
|
return true;
|
|
522
553
|
return null; // indeterminate
|
|
523
554
|
}
|
|
555
|
+
/** 전체 선택 체크 상태를 반환합니다 (true/false/null=indeterminate). */
|
|
524
556
|
async getIsAllChecked(rows) {
|
|
525
557
|
return this.getIsAllCheckedSync(rows);
|
|
526
558
|
}
|
|
@@ -611,6 +643,7 @@ const SdTable = class {
|
|
|
611
643
|
}
|
|
612
644
|
return base;
|
|
613
645
|
}
|
|
646
|
+
/** 지정한 컬럼 인덱스의 sticky 스타일 객체를 반환합니다. */
|
|
614
647
|
async getStickyStyle(colIdx) {
|
|
615
648
|
return this.getStickyStyleSync(colIdx);
|
|
616
649
|
}
|
|
@@ -753,6 +786,7 @@ const SdTable = class {
|
|
|
753
786
|
this.propagateVirtualUpdate(true);
|
|
754
787
|
}
|
|
755
788
|
}
|
|
789
|
+
/** 가상 스크롤 총 행 수를 설정합니다. */
|
|
756
790
|
async setRowCount(count) {
|
|
757
791
|
this.setRowCountSync(count);
|
|
758
792
|
}
|
|
@@ -780,6 +814,7 @@ const SdTable = class {
|
|
|
780
814
|
rowsPerPage: this.innerRowsPerPage,
|
|
781
815
|
};
|
|
782
816
|
}
|
|
817
|
+
/** 현재 페이지네이션 상태(startIndex, endIndex, currentPage, rowsPerPage)를 반환합니다. */
|
|
783
818
|
async getPaginationInfo() {
|
|
784
819
|
return this.getPaginationInfoSync();
|
|
785
820
|
}
|
|
@@ -843,25 +878,25 @@ const SdTable = class {
|
|
|
843
878
|
'--table-selectable-width': `${TABLE_SELECTABLE_COLUMN_WIDTH}px`,
|
|
844
879
|
'--table-host-height': hostHeight,
|
|
845
880
|
};
|
|
846
|
-
return (h(Host, { key: '
|
|
881
|
+
return (h(Host, { key: '2606b0d7fc3657a8021a6dfc64672996b756f762', style: hostStyle }, h("div", { key: '4def416edfe630ead35b80cb2f04081a89740f62', class: "sd-table__container", style: {
|
|
847
882
|
'--table-width': this.width,
|
|
848
883
|
'--pagination-height': `${paginationHeight}px`,
|
|
849
|
-
} }, h("div", { key: '
|
|
884
|
+
} }, h("div", { key: '316a359f2be84895719f452e056dcd2f54cd5b56', class: {
|
|
850
885
|
'sd-table__wrapper': true,
|
|
851
886
|
'sd-table__wrapper--radius-useTop': this.radius === 'useTop',
|
|
852
887
|
'sd-table__wrapper--radius-full': this.radius === 'full',
|
|
853
|
-
} }, h("div", { key: '
|
|
888
|
+
} }, h("div", { key: 'e798b58104f56b3250a7d74261a8c320a8049f28', class: {
|
|
854
889
|
'sd-table__scroll-container': true,
|
|
855
890
|
'sd-table__scroll-container--loading': this.isLoading,
|
|
856
891
|
'sd-table__scroll-container--no-data': isNoData,
|
|
857
|
-
} }, this.isLoading && (h("div", { key: '
|
|
892
|
+
} }, this.isLoading && (h("div", { key: 'af91877075c8d4ed8b608bdfdc7f04bd844f5574', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, h("sd-circle-progress", { key: '2422c7020046fa468dbaaf34220230737cb6b02e', indeterminate: true }))), isNoData && (h(h.Fragment, null, h("div", { key: 'bd5c2237d8c3a34cc4bf12a187f471e22ce02efd', class: "sd-table__no-data-header-overlay" }), h("div", { key: '1e0da67564879a175e89a3482195742b1b4451dc', class: "sd-table__no-data" }, h("div", { key: '391bc76e748d64b84c39de669396b2f5f288e5a1', class: "sd-table__no-data-content", ref: el => {
|
|
858
893
|
this.noDataContentEl = el;
|
|
859
894
|
if (el)
|
|
860
895
|
this.syncNoDataContentObserver();
|
|
861
|
-
} }, h("slot", { key: '
|
|
896
|
+
} }, h("slot", { key: '3e2e26f4951d9b834ae811906c137a78067fecab', name: "no-data" }, h("span", { key: '54ed0371d60f5312376d8ffab50efd9ec0947729' }, this.resolvedNoDataLabel)))))), h("table", { key: '46cab11834ca3f5aa9010bd6f603d301b2a54c9c', class: this.tableClasses }, this.autoThead ? (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, h("sd-thead", { rows: this.rows ?? [] }))) : (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
|
|
862
897
|
this.pagination.rowsPerPage > 0 &&
|
|
863
898
|
this.rowCount > 0 &&
|
|
864
|
-
!this.useVirtualScroll && (h("div", { key: '
|
|
899
|
+
!this.useVirtualScroll && (h("div", { key: 'b9c738172d4e2993f15f6a7e051406d3b7e8d568', class: "sd-table__pagination" }, h("sd-pagination", { key: '62c199e61dd2010f2c19aabb3599d75a561ef83d', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (h("sd-select", { key: '5f305858818e720bf5a53499777d2f5aac843487', value: this.useInternalPagination
|
|
865
900
|
? this.innerRowsPerPage
|
|
866
901
|
: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
|
|
867
902
|
if (!this.isRowsPerPageValue(e.detail))
|
|
@@ -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
|
|
|
3
3
|
const tab = {
|
|
4
4
|
main: {
|
|
@@ -128,11 +128,17 @@ const SdTabs = class {
|
|
|
128
128
|
registerInstance(this, hostRef);
|
|
129
129
|
this.update = createEvent(this, "sdUpdate", 7);
|
|
130
130
|
}
|
|
131
|
+
/** 현재 선택된 탭 value */
|
|
131
132
|
value;
|
|
133
|
+
/** 탭 옵션 목록 */
|
|
132
134
|
tabs = [];
|
|
135
|
+
/** 탭 크기 */
|
|
133
136
|
size = 'md';
|
|
137
|
+
/** true이면 서브 탭 스타일 적용 */
|
|
134
138
|
isSub = false;
|
|
139
|
+
/** true이면 탭을 세로로 배치 */
|
|
135
140
|
vertical = false;
|
|
141
|
+
/** 탭이 변경될 때 새 value를 전달합니다. */
|
|
136
142
|
update;
|
|
137
143
|
valueChanged(newValue) {
|
|
138
144
|
this.value = newValue;
|
|
@@ -199,7 +205,7 @@ const SdTabs = class {
|
|
|
199
205
|
};
|
|
200
206
|
}
|
|
201
207
|
render() {
|
|
202
|
-
return (h("div", { key: '
|
|
208
|
+
return (h("div", { key: 'd8d86075bbf5e13444f99e57cf63c2f5b9ef28fc', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
|
|
203
209
|
const badgeName = this.getBadgeName(tab);
|
|
204
210
|
return (h("div", { key: `tab-${index}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
|
|
205
211
|
if (e.key === 'Enter' || e.key === ' ') {
|
package/dist/esm/sd-td.entry.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, a as getElement, f as forceUpdate, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, a as getElement, f as forceUpdate, h, H as Host } from './index-C7HJ-NfO.js';
|
|
2
2
|
import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
|
|
3
3
|
|
|
4
4
|
const sdTdCss = () => `sd-td *{box-sizing:border-box}sd-td{display:contents}sd-td.align-left{text-align:left}sd-td.align-center{text-align:center}sd-td.align-right{text-align:right}`;
|
|
@@ -8,18 +8,27 @@ const SdTd = class {
|
|
|
8
8
|
registerInstance(this, hostRef);
|
|
9
9
|
}
|
|
10
10
|
get el() { return getElement(this); }
|
|
11
|
+
/** 데이터 필드명 (슬롯 이름 생성에 사용) */
|
|
11
12
|
field;
|
|
13
|
+
/** 행 식별 키 */
|
|
12
14
|
rowKey;
|
|
15
|
+
/** 셀 내용 정렬 */
|
|
13
16
|
align;
|
|
17
|
+
/** 행 병합 수 */
|
|
14
18
|
rowspan;
|
|
19
|
+
/** 열 병합 수 */
|
|
15
20
|
colspan;
|
|
16
21
|
// sd-tr가 그리는 실제 <td>에 머지될 사용자 클래스.
|
|
17
22
|
// <sd-td> 호스트는 display:contents라 호스트의 class는 시각 효과가 없기 때문에,
|
|
18
23
|
// 이 prop을 통해 sd-table 레지스트리에 등록 → sd-tr가 td 렌더 시 합쳐 사용한다.
|
|
24
|
+
/** td에 병합할 사용자 클래스 */
|
|
19
25
|
sdClass;
|
|
26
|
+
/** 좌측 구분선 표시 여부 */
|
|
20
27
|
dividerLeft = false;
|
|
28
|
+
/** 우측 구분선 표시 여부 */
|
|
21
29
|
dividerRight = false;
|
|
22
30
|
// true이면 이 셀이 속한 행 전체가 dense를 무시하고 default 레이아웃으로 동작한다.
|
|
31
|
+
/** frame 레이아웃 사용 여부 */
|
|
23
32
|
useFrame = false;
|
|
24
33
|
handleFieldChange(_newField, oldField) {
|
|
25
34
|
this.syncSlotName();
|
|
@@ -156,7 +165,7 @@ const SdTd = class {
|
|
|
156
165
|
}
|
|
157
166
|
}
|
|
158
167
|
render() {
|
|
159
|
-
return (h(Host, { key: '
|
|
168
|
+
return (h(Host, { key: 'd7cea28b006a4903fab00e7a709252e6009f911f', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: '1d8695ff6c6890838e4b18ec4da1d7ff6a5c8858' })));
|
|
160
169
|
}
|
|
161
170
|
static get watchers() { return {
|
|
162
171
|
"field": [{
|
|
@@ -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
|
|
|
3
3
|
const textLink = {
|
|
4
4
|
sm: {
|
|
@@ -116,14 +116,23 @@ const SdTextLink = class {
|
|
|
116
116
|
registerInstance(this, hostRef);
|
|
117
117
|
this.click = createEvent(this, "sdClick", 7);
|
|
118
118
|
}
|
|
119
|
+
/** 표시할 레이블 텍스트 */
|
|
119
120
|
label = '';
|
|
121
|
+
/** 좌측 아이콘명 */
|
|
120
122
|
icon = '';
|
|
123
|
+
/** 좌측 아이콘 색상 */
|
|
121
124
|
iconColor = '';
|
|
125
|
+
/** 레이블 span에 추가할 클래스 */
|
|
122
126
|
labelClass = '';
|
|
127
|
+
/** 우측 화살표 타입 */
|
|
123
128
|
rightArrow = 'none';
|
|
129
|
+
/** 밑줄 스타일 여부 */
|
|
124
130
|
underline = false;
|
|
131
|
+
/** 비활성 상태 여부 */
|
|
125
132
|
disabled = false;
|
|
133
|
+
/** 텍스트 크기 */
|
|
126
134
|
size = 'sm';
|
|
135
|
+
/** 클릭 시 발생합니다. */
|
|
127
136
|
click;
|
|
128
137
|
handleClick = () => {
|
|
129
138
|
if (this.disabled)
|
|
@@ -145,7 +154,7 @@ const SdTextLink = class {
|
|
|
145
154
|
'--sd-text-link-text-decoration': typo.textDecoration,
|
|
146
155
|
...(this.disabled ? { '--sd-text-link-color': TEXT_LINK_COLORS.content.disabled } : {}),
|
|
147
156
|
};
|
|
148
|
-
return (h("span", { key: '
|
|
157
|
+
return (h("span", { key: '1b58c27c2754182b1fc6249e7e4bf52f42d1d11d', role: "button", tabindex: this.disabled ? -1 : 0, class: {
|
|
149
158
|
'sd-text-link': true,
|
|
150
159
|
'sd-text-link--disabled': this.disabled,
|
|
151
160
|
}, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
|
|
@@ -153,13 +162,13 @@ const SdTextLink = class {
|
|
|
153
162
|
e.preventDefault();
|
|
154
163
|
this.handleClick();
|
|
155
164
|
}
|
|
156
|
-
} }, this.icon && (h("sd-icon", { key: '
|
|
165
|
+
} }, this.icon && (h("sd-icon", { key: '85076e7cf4873b527606aa737c2899233dcc3d9f', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '75b16e64155770ccdb889497caea6b4240b2e8c0', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (h("span", { key: '8dd32b1b640a8e81f306b0387f783a4c1435abd6', class: "sd-text-link__arrow", style: {
|
|
157
166
|
width: `${TEXT_LINK_ARROW.arrowFrame}px`,
|
|
158
167
|
height: `${TEXT_LINK_ARROW.arrowFrame}px`,
|
|
159
168
|
display: 'inline-flex',
|
|
160
169
|
alignItems: 'center',
|
|
161
170
|
justifyContent: 'center',
|
|
162
|
-
} }, h("sd-icon", { key: '
|
|
171
|
+
} }, h("sd-icon", { key: '605572568dd4c2b6dcde9c932d5593e5fdb916a4', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
|
|
163
172
|
}
|
|
164
173
|
};
|
|
165
174
|
SdTextLink.style = sdTextLinkCss();
|
|
@@ -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 DEFAULT_DURATION = 4000;
|
|
4
4
|
const DEFAULT_MAX_VISIBLE = 3;
|
|
@@ -19,15 +19,22 @@ const SdToastContainer = class {
|
|
|
19
19
|
this.toastDismiss = createEvent(this, "sdToastDismiss", 7);
|
|
20
20
|
}
|
|
21
21
|
get el() { return getElement(this); }
|
|
22
|
+
/** 토스트 표시 위치 */
|
|
22
23
|
position = 'bottom-center';
|
|
24
|
+
/** 동시에 표시할 최대 토스트 수 */
|
|
23
25
|
maxVisible = DEFAULT_MAX_VISIBLE;
|
|
26
|
+
/** 자동 닫힘 지연 시간 (ms, 0이면 자동 닫힘 없음) */
|
|
24
27
|
defaultDuration = DEFAULT_DURATION;
|
|
28
|
+
/** z-index */
|
|
25
29
|
zIndex = DEFAULT_Z_INDEX;
|
|
26
30
|
toasts = [];
|
|
27
31
|
expanded = false;
|
|
28
32
|
toastRefs = new Map();
|
|
33
|
+
/** 토스트가 표시될 때 발생합니다. */
|
|
29
34
|
toastShow;
|
|
35
|
+
/** 토스트가 제거될 때 발생합니다. */
|
|
30
36
|
toastDismiss;
|
|
37
|
+
/** 토스트를 생성하고 ID를 반환합니다. */
|
|
31
38
|
async create(options) {
|
|
32
39
|
const id = `toast-${++toastIdCounter}`;
|
|
33
40
|
const entry = { id, options, state: 'entering' };
|
|
@@ -52,9 +59,11 @@ const SdToastContainer = class {
|
|
|
52
59
|
this.toastShow.emit({ id });
|
|
53
60
|
return id;
|
|
54
61
|
}
|
|
62
|
+
/** 지정한 ID의 토스트를 닫습니다. */
|
|
55
63
|
async dismiss(id) {
|
|
56
64
|
this.startDismiss(id);
|
|
57
65
|
}
|
|
66
|
+
/** 모든 토스트를 닫습니다. */
|
|
58
67
|
async dismissAll() {
|
|
59
68
|
(this.toasts || []).forEach(t => this.startDismiss(t.id));
|
|
60
69
|
}
|
|
@@ -232,7 +241,7 @@ const SdToastContainer = class {
|
|
|
232
241
|
const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
|
|
233
242
|
const indexMap = new Map();
|
|
234
243
|
activeToasts.forEach((t, i) => indexMap.set(t.id, i));
|
|
235
|
-
return (h("div", { key: '
|
|
244
|
+
return (h("div", { key: 'b75aeffdddcd16267169ae99305ef5f475f53950', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
|
|
236
245
|
this.expanded = true;
|
|
237
246
|
this.pauseTimers();
|
|
238
247
|
}, onMouseLeave: () => {
|
|
@@ -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
|
|
|
3
3
|
const toast = {
|
|
4
4
|
icon: "16",
|
|
@@ -66,14 +66,23 @@ const SdToast = class {
|
|
|
66
66
|
this.close = createEvent(this, "sdClose", 7);
|
|
67
67
|
this.buttonClick = createEvent(this, "sdButtonClick", 7);
|
|
68
68
|
}
|
|
69
|
+
/** 좌측 아이콘명 */
|
|
69
70
|
icon;
|
|
71
|
+
/** 표시할 메시지 */
|
|
70
72
|
message;
|
|
73
|
+
/** 우측 링크 URL */
|
|
71
74
|
link;
|
|
75
|
+
/** 링크 표시 레이블 (없으면 URL 표시) */
|
|
72
76
|
linkLabel;
|
|
77
|
+
/** 우측 버튼 레이블 */
|
|
73
78
|
buttonLabel;
|
|
79
|
+
/** 닫기 버튼 표시 여부 */
|
|
74
80
|
useClose = false;
|
|
81
|
+
/** 토스트 타입 (색상/아이콘 프리셋) */
|
|
75
82
|
type = 'default';
|
|
83
|
+
/** 닫기 버튼 클릭 또는 자동 닫힘 시 발생합니다. */
|
|
76
84
|
close;
|
|
85
|
+
/** 우측 버튼 클릭 시 발생합니다. */
|
|
77
86
|
buttonClick;
|
|
78
87
|
render() {
|
|
79
88
|
const typeConfig = TOAST_TYPE_CONFIG[this.type] ?? TOAST_TYPE_CONFIG.default;
|
|
@@ -82,12 +91,12 @@ const SdToast = class {
|
|
|
82
91
|
const linkColor = typeConfig.linkColor ?? typeConfig.content;
|
|
83
92
|
const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
|
|
84
93
|
const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
|
|
85
|
-
return (h("div", { key: '
|
|
94
|
+
return (h("div", { key: 'ee54d9d9821821e0c422725c94d465f1e2df7bc6', style: {
|
|
86
95
|
'--sd-toast-bg': typeConfig.bg,
|
|
87
96
|
'--sd-toast-text': typeConfig.content,
|
|
88
97
|
'--sd-toast-icon': iconColor,
|
|
89
98
|
'--sd-toast-link': linkColor,
|
|
90
|
-
} }, h("div", { key: '
|
|
99
|
+
} }, h("div", { key: 'b258e4b49fe530c778c0003516a2ad159805158a', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: '850a02dd996c7d1ca214b887e0d3d9899972e319', class: "sd-toast__icon" }, h("sd-icon", { key: '50d2817b160bd767a509956338347ee09a34a845', name: this.icon, size: iconSize, color: iconColor }))), h("div", { key: '0200da1ef6cfa9fcafa4cacf08998a33847038dc', class: "sd-toast__content" }, h("span", { key: 'af039afb2f457acded350ae2323e0bc59765a09e', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '98fdcf360ca632e9f919e01ab0dce8369a1ebe79', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '45202c0f969ab64e50265ee81f34fc14def26ce2', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (h("sd-ghost-button", { key: '48f30258527ae7a8a96db9609f096f5d216246ff', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
|
|
91
100
|
}
|
|
92
101
|
};
|
|
93
102
|
SdToast.style = sdToastCss();
|