@sellmate/design-system 1.0.62 → 1.0.64
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/{component.modal-DmQUWbve.js → component.modal-BFelrSMx.js} +14 -0
- package/dist/cjs/constants-DJRV1upE.js +5 -0
- package/dist/cjs/design-system.cjs.js +3 -4
- package/dist/cjs/{index-BQt-JC6r.js → index-nsQP24mV.js} +130 -9
- package/dist/cjs/index.cjs.js +103 -32
- package/dist/cjs/loader.cjs.js +3 -4
- package/dist/cjs/sd-action-modal.cjs.entry.js +3 -3
- package/dist/cjs/sd-badge.cjs.entry.js +2 -2
- package/dist/cjs/sd-barcode-input.cjs.entry.js +4 -3
- package/dist/cjs/sd-button-v2_2.cjs.entry.js +9 -8
- package/dist/cjs/sd-button_4.cjs.entry.js +62 -18
- package/dist/cjs/sd-calendar.cjs.entry.js +1 -1
- package/dist/cjs/sd-card.cjs.entry.js +2 -2
- package/dist/cjs/sd-checkbox.cjs.entry.js +30 -5
- package/dist/cjs/sd-circle-progress.cjs.entry.js +71 -0
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +186 -0
- package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
- package/dist/cjs/sd-date-picker-calendar.cjs.entry.js +3 -3
- package/dist/cjs/sd-date-picker-trigger.cjs.entry.js +4 -4
- package/dist/cjs/sd-date-picker.cjs.entry.js +5 -4
- package/dist/cjs/{sd-date-picker.config-DWC_aiD2.js → sd-date-picker.config-D8xSALVj.js} +3 -3
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +3 -3
- package/dist/cjs/sd-date-range-picker.cjs.entry.js +5 -4
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +10 -5
- package/dist/cjs/sd-file-picker.cjs.entry.js +3 -2
- package/dist/cjs/sd-form.cjs.entry.js +1 -1
- package/dist/cjs/sd-ghost-button.cjs.entry.js +15 -6
- package/dist/cjs/sd-guide.cjs.entry.js +2 -2
- package/dist/cjs/sd-input_2.cjs.entry.js +8 -7
- package/dist/cjs/sd-loading-container.cjs.entry.js +29 -0
- package/dist/cjs/sd-modal-container.cjs.entry.js +45 -2
- package/dist/cjs/sd-number-input.cjs.entry.js +6 -10
- package/dist/cjs/{sd-select-v2.cjs.entry.js → sd-pagination_2.cjs.entry.js} +91 -4
- package/dist/cjs/sd-popover.cjs.entry.js +4 -4
- package/dist/cjs/sd-portal.cjs.entry.js +2 -2
- package/dist/cjs/sd-progress.cjs.entry.js +3 -3
- package/dist/cjs/sd-radio-button.cjs.entry.js +182 -0
- package/dist/cjs/sd-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/sd-radio.cjs.entry.js +6 -6
- package/dist/cjs/sd-select-dropdown_2.cjs.entry.js +4 -4
- package/dist/cjs/sd-select-group.cjs.entry.js +4 -3
- package/dist/cjs/sd-select-multiple-group.cjs.entry.js +4 -3
- package/dist/cjs/sd-select-multiple.cjs.entry.js +4 -3
- package/dist/cjs/sd-select-option-group.cjs.entry.js +4 -4
- package/dist/cjs/sd-select-v2-list-item_4.cjs.entry.js +661 -0
- package/dist/cjs/sd-select.cjs.entry.js +180 -0
- package/dist/cjs/sd-switch.cjs.entry.js +110 -0
- package/dist/cjs/sd-table.cjs.entry.js +424 -651
- package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
- package/dist/cjs/sd-tag.cjs.entry.js +6 -5
- package/dist/cjs/sd-tbody.cjs.entry.js +66 -0
- package/dist/cjs/sd-td.cjs.entry.js +58 -0
- package/dist/cjs/sd-text-link.cjs.entry.js +10 -12
- package/dist/cjs/sd-textarea.cjs.entry.js +3 -2
- package/dist/cjs/sd-thead.cjs.entry.js +179 -0
- package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
- package/dist/cjs/sd-toast.cjs.entry.js +3 -3
- package/dist/cjs/sd-toggle.cjs.entry.js +96 -13
- package/dist/cjs/sd-tr.cjs.entry.js +171 -0
- package/dist/cjs/table-test.cjs.entry.js +96 -0
- package/dist/cjs/{tooltipArrow-CRCpqOYA.js → tooltipArrow-DhevfDPX.js} +1 -1
- package/dist/collection/__mocks__/nanoid-non-secure.js +13 -0
- package/dist/collection/__mocks__/nanoid.js +1 -0
- package/dist/collection/collection-manifest.json +11 -4
- package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
- package/dist/collection/components/sd-badge/sd-badge.js +1 -1
- package/dist/collection/components/sd-barcode-input/sd-barcode-input.css +3 -0
- package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +22 -1
- package/dist/collection/components/sd-button/sd-button.css +37 -37
- package/dist/collection/components/sd-button-v2/sd-button-v2.css +44 -44
- package/dist/collection/components/sd-button-v2/sd-button-v2.js +31 -6
- package/dist/collection/components/sd-card/sd-card.js +1 -1
- package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +3 -0
- package/dist/collection/components/sd-checkbox/sd-checkbox.css +15 -0
- package/dist/collection/components/sd-checkbox/sd-checkbox.js +36 -2
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.config.js +24 -0
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.css +53 -0
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +109 -0
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.css +2 -2
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.js +1 -1
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker.config.js +1 -1
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +26 -5
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +26 -5
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +5 -0
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +46 -36
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +4 -4
- package/dist/collection/components/sd-field/sd-field.config.js +21 -0
- package/dist/collection/components/sd-field/sd-field.css +26 -16
- package/dist/collection/components/sd-field/sd-field.js +72 -11
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +27 -6
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.config.js +7 -1
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +3 -3
- package/dist/collection/components/sd-guide/sd-guide.css +37 -37
- package/dist/collection/components/sd-input/sd-input.css +3 -0
- package/dist/collection/components/sd-input/sd-input.js +23 -2
- package/dist/collection/components/sd-loading-container/sd-loading-container.config.js +1 -0
- package/dist/collection/components/sd-loading-container/sd-loading-container.css +40 -0
- package/dist/collection/components/sd-loading-container/sd-loading-container.js +83 -0
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.config.js +31 -0
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.css +37 -0
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +184 -0
- package/dist/collection/components/sd-modal-container/sd-modal-container.js +89 -3
- package/dist/collection/components/sd-number-input/sd-number-input.config.js +0 -2
- package/dist/collection/components/sd-number-input/sd-number-input.css +0 -1
- package/dist/collection/components/sd-number-input/sd-number-input.js +24 -4
- package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
- package/dist/collection/components/sd-popover/sd-popover.js +2 -2
- package/dist/collection/components/sd-portal/sd-portal.js +1 -1
- package/dist/collection/components/sd-progress/sd-progress.js +2 -2
- package/dist/collection/components/sd-radio/sd-radio.config.js +1 -1
- package/dist/collection/components/sd-radio-button/sd-radio-button.config.js +45 -0
- package/dist/collection/components/sd-radio-button/sd-radio-button.css +71 -0
- package/dist/collection/components/{sd-radio-button-group/sd-radio-button-group.js → sd-radio-button/sd-radio-button.js} +49 -18
- package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
- package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
- package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
- package/dist/collection/components/sd-select/sd-select.css +4 -0
- package/dist/collection/components/sd-select/sd-select.js +22 -1
- package/dist/collection/components/sd-select-group/sd-select-group.css +4 -0
- package/dist/collection/components/sd-select-group/sd-select-group.js +22 -1
- package/dist/collection/components/sd-select-multiple/sd-select-multiple.css +4 -0
- package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +22 -1
- package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.css +4 -0
- package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +22 -1
- package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
- package/dist/collection/components/sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.js +2 -2
- package/dist/collection/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.css +4 -0
- package/dist/collection/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.js +6 -3
- package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.css +2 -3
- package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js +2 -1
- package/dist/collection/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js +2 -2
- package/dist/collection/components/sd-select-v2/sd-select-v2.config.js +1 -0
- package/dist/collection/components/sd-select-v2/sd-select-v2.js +24 -3
- package/dist/collection/components/sd-switch/sd-switch.config.js +23 -0
- package/dist/collection/components/sd-switch/sd-switch.css +54 -0
- package/dist/collection/components/{sd-toggle-button/sd-toggle-button.js → sd-switch/sd-switch.js} +30 -27
- package/dist/collection/components/sd-table/constants.js +1 -0
- package/dist/collection/components/sd-table/sd-table.css +76 -248
- package/dist/collection/components/sd-table/sd-table.js +705 -700
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.css +18 -0
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +105 -0
- package/dist/collection/components/sd-table/sd-td/sd-td.css +15 -0
- package/dist/collection/components/sd-table/sd-td/sd-td.js +121 -0
- package/dist/collection/components/sd-table/sd-thead/sd-thead.css +147 -0
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +442 -0
- package/dist/collection/components/sd-table/sd-tr/sd-tr.css +111 -0
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +376 -0
- package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
- package/dist/collection/components/sd-tag/sd-tag.js +2 -2
- package/dist/collection/components/sd-text-link/sd-text-link.css +1 -0
- package/dist/collection/components/sd-text-link/sd-text-link.js +7 -13
- package/dist/collection/components/sd-textarea/sd-textarea.js +22 -1
- package/dist/collection/components/sd-toast/sd-toast.js +2 -2
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
- package/dist/collection/components/sd-toggle/sd-toggle.config.js +33 -0
- package/dist/collection/components/sd-toggle/sd-toggle.css +38 -50
- package/dist/collection/components/sd-toggle/sd-toggle.js +29 -12
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
- package/dist/collection/components/table-test/table-test.css +59 -0
- package/dist/collection/components/table-test/table-test.js +316 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/loading.js +43 -0
- package/dist/collection/utils/modal.js +26 -0
- package/dist/components/index.js +1 -1
- package/dist/components/p-6LkBUj0w.js +1 -0
- package/dist/components/{p-DlujHEXS.js → p-6cueWz-l.js} +1 -1
- package/dist/components/{p-D0wZv01W.js → p-AKpbKrkW.js} +1 -1
- package/dist/components/p-B1S4ybd6.js +1 -0
- package/dist/components/{p-D93Cb_Vw.js → p-B6OgnOKC.js} +1 -1
- package/dist/components/{p-lKwhftf9.js → p-B6RvTdqt.js} +1 -1
- package/dist/components/p-BLC3AWW8.js +1 -0
- package/dist/components/{p-BUAwjF_Z.js → p-BZ7V5xV5.js} +1 -1
- package/dist/components/{p-BWgJ9XTj.js → p-BdsI1E5l.js} +1 -1
- package/dist/components/{p-DdBIc8AE.js → p-BgRPWxrz.js} +1 -1
- package/dist/components/{p-DCv5afjJ.js → p-Bh548Ckv.js} +1 -1
- package/dist/components/p-BjjrNz4C.js +1 -0
- package/dist/components/{p-BVBMsoZP.js → p-BkUclgga.js} +1 -1
- package/dist/components/p-C2r48NLP.js +1 -0
- package/dist/components/{p-BtH5wWA5.js → p-CGXwtYAv.js} +1 -1
- package/dist/components/p-CGssy8eb.js +1 -0
- package/dist/components/p-CKU8CeW3.js +1 -0
- package/dist/components/{p-BHQirDZt.js → p-CRl8Anfr.js} +1 -1
- package/dist/components/p-CU095QAR.js +1 -0
- package/dist/components/p-CpclstHV.js +1 -0
- package/dist/components/{p-C2Yw3PoX.js → p-Cpu_hXwN.js} +1 -1
- package/dist/components/{p-gTPCqs3t.js → p-Cr_74QR7.js} +1 -1
- package/dist/components/{p-BsJy4pgR.js → p-D9FDutsj.js} +1 -1
- package/dist/components/p-DBnszF5F.js +1 -0
- package/dist/components/p-DC9KYl3L.js +1 -0
- package/dist/components/p-DOXMJi-V.js +1 -0
- package/dist/components/p-DRY8HJ-T.js +1 -0
- package/dist/components/{p-98NWgkAU.js → p-DpsDTjcN.js} +1 -1
- package/dist/components/p-DuYi4aqj.js +1 -0
- package/dist/components/{p-AdSqif48.js → p-DxzgCf_d.js} +1 -1
- package/dist/components/p-TMuoVuhE.js +1 -0
- package/dist/components/{p-CE1Hmoij.js → p-VXLJLI30.js} +1 -1
- package/dist/components/p-bYCOh35g.js +1 -0
- package/dist/components/p-kZ5N_lFC.js +1 -0
- package/dist/components/{p-CqU3a1re.js → p-puZ1xlrr.js} +1 -1
- package/dist/components/p-sZMi_32I.js +1 -0
- package/dist/components/{p-Ci3yfjxH.js → p-xmvTLf74.js} +1 -1
- package/dist/components/sd-action-modal.js +1 -1
- package/dist/components/sd-badge.js +1 -1
- package/dist/components/sd-barcode-input.js +1 -1
- package/dist/components/sd-button-v2.js +1 -1
- package/dist/components/sd-button.js +1 -1
- package/dist/components/sd-calendar.js +1 -1
- package/dist/components/sd-card.js +1 -1
- package/dist/components/sd-checkbox.js +1 -1
- package/dist/components/{sd-loading-spinner.d.ts → sd-circle-progress.d.ts} +4 -4
- package/dist/components/sd-circle-progress.js +1 -0
- package/dist/components/sd-confirm-modal.js +1 -1
- package/dist/components/sd-date-box.js +1 -1
- package/dist/components/sd-date-picker-calendar.js +1 -1
- package/dist/components/sd-date-picker-trigger.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker-calendar.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-dropdown-button.js +1 -1
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-floating-portal.js +1 -1
- package/dist/components/sd-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-radio-button-group.d.ts → sd-loading-container.d.ts} +4 -4
- package/dist/components/sd-loading-container.js +1 -0
- package/dist/components/{sd-toggle-button.d.ts → sd-loading-modal.d.ts} +4 -4
- package/dist/components/sd-loading-modal.js +1 -0
- package/dist/components/sd-modal-container.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-pagination.js +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-portal.js +1 -1
- package/dist/components/sd-progress.js +1 -1
- package/dist/components/sd-radio-button.d.ts +11 -0
- package/dist/components/sd-radio-button.js +1 -0
- package/dist/components/sd-radio-group.js +1 -1
- package/dist/components/sd-radio.js +1 -1
- package/dist/components/sd-select-dropdown.js +1 -1
- package/dist/components/sd-select-group.js +1 -1
- package/dist/components/sd-select-multiple-group.js +1 -1
- package/dist/components/sd-select-multiple.js +1 -1
- package/dist/components/sd-select-option-group.js +1 -1
- package/dist/components/sd-select-option.js +1 -1
- package/dist/components/sd-select-search-input.js +1 -1
- package/dist/components/sd-select-v2-list-item-search.js +1 -1
- package/dist/components/sd-select-v2-list-item.js +1 -1
- package/dist/components/sd-select-v2-listbox.js +1 -1
- package/dist/components/sd-select-v2-trigger.js +1 -1
- package/dist/components/sd-select-v2.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-switch.d.ts +11 -0
- package/dist/components/sd-switch.js +1 -0
- 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.d.ts +11 -0
- package/dist/components/sd-tbody.js +1 -0
- package/dist/components/sd-td.d.ts +11 -0
- package/dist/components/sd-td.js +1 -0
- package/dist/components/sd-text-link.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-thead.d.ts +11 -0
- package/dist/components/sd-thead.js +1 -0
- 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.d.ts +11 -0
- package/dist/components/sd-tr.js +1 -0
- package/dist/components/table-test.d.ts +11 -0
- package/dist/components/table-test.js +1 -0
- package/dist/design-system/design-system.css +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/index.esm.js +1 -1
- package/dist/design-system/p-010e4f47.entry.js +1 -0
- package/dist/design-system/p-03099a57.entry.js +1 -0
- package/dist/design-system/p-04be87a4.entry.js +1 -0
- package/dist/design-system/{p-e9c28bdc.entry.js → p-09ba9dbc.entry.js} +1 -1
- package/dist/design-system/p-0fbb6d92.entry.js +1 -0
- package/dist/design-system/p-12a03c88.entry.js +1 -0
- package/dist/design-system/p-15cda79c.entry.js +1 -0
- package/dist/design-system/{p-a03ad24f.entry.js → p-1d310832.entry.js} +1 -1
- package/dist/design-system/p-2ae97b1c.entry.js +1 -0
- package/dist/design-system/p-2f64dd95.entry.js +1 -0
- package/dist/design-system/p-33e4ce64.entry.js +1 -0
- package/dist/design-system/{p-14b67a6e.entry.js → p-363da5ff.entry.js} +1 -1
- package/dist/design-system/p-3d341993.entry.js +1 -0
- package/dist/design-system/p-3f79f1d1.entry.js +1 -0
- package/dist/design-system/{p-c59191d3.entry.js → p-40495e05.entry.js} +1 -1
- package/dist/design-system/p-4128c17f.entry.js +1 -0
- package/dist/design-system/{p-614c9883.entry.js → p-4a53d7b0.entry.js} +1 -1
- package/dist/design-system/{p-9ae589c4.entry.js → p-4dcadde3.entry.js} +1 -1
- package/dist/design-system/{p-62992b73.entry.js → p-53bc77f8.entry.js} +1 -1
- package/dist/design-system/{p-28058050.entry.js → p-5a63febd.entry.js} +1 -1
- package/dist/design-system/p-6644c4a0.entry.js +1 -0
- package/dist/design-system/{p-30055371.entry.js → p-6c71d7b7.entry.js} +1 -1
- package/dist/design-system/{p-7a18a52b.entry.js → p-73acee07.entry.js} +1 -1
- package/dist/design-system/p-7e09fdd5.entry.js +1 -0
- package/dist/design-system/{p-4272b9e6.entry.js → p-84a329fb.entry.js} +1 -1
- package/dist/design-system/p-867ec4ee.entry.js +1 -0
- package/dist/design-system/p-8acf3b67.entry.js +1 -0
- package/dist/design-system/p-8d2328ae.entry.js +1 -0
- package/dist/design-system/p-96b14db1.entry.js +1 -0
- package/dist/design-system/p-BqHL8W3c.js +2 -0
- package/dist/design-system/{p-DSRYrM1n.js → p-COK6PVLC.js} +1 -1
- package/dist/design-system/p-DOXMJi-V.js +1 -0
- package/dist/design-system/{p-72b564ed.entry.js → p-a129711d.entry.js} +1 -1
- package/dist/design-system/{p-3acd076e.entry.js → p-a27718c1.entry.js} +1 -1
- package/dist/design-system/p-a983560d.entry.js +1 -0
- package/dist/design-system/{p-3d10be45.entry.js → p-a9a91e69.entry.js} +1 -1
- package/dist/design-system/p-ae1800c0.entry.js +1 -0
- package/dist/design-system/p-b1fe12f8.entry.js +1 -0
- package/dist/design-system/p-b3279f07.entry.js +1 -0
- package/dist/design-system/p-b60ae063.entry.js +1 -0
- package/dist/design-system/p-b6e02544.entry.js +1 -0
- package/dist/design-system/p-b81e0493.entry.js +1 -0
- package/dist/design-system/p-bYCOh35g.js +1 -0
- package/dist/design-system/{p-85e22acd.entry.js → p-c4e68815.entry.js} +1 -1
- package/dist/design-system/p-cb65a9e4.entry.js +1 -0
- package/dist/design-system/p-cf1156cb.entry.js +1 -0
- package/dist/design-system/p-d040ec6f.entry.js +1 -0
- package/dist/design-system/{p-5d2e8779.entry.js → p-d04551be.entry.js} +1 -1
- package/dist/design-system/p-d8eb17a8.entry.js +1 -0
- package/dist/design-system/p-e0f9e5b5.entry.js +1 -0
- package/dist/design-system/p-e1fdd540.entry.js +1 -0
- package/dist/design-system/{p-2bd887ca.entry.js → p-e33389b8.entry.js} +1 -1
- package/dist/design-system/p-e78faea6.entry.js +1 -0
- package/dist/design-system/p-ed61fe19.entry.js +1 -0
- package/dist/design-system/p-f3d082c8.entry.js +1 -0
- package/dist/design-system/p-f9b9204d.entry.js +1 -0
- package/dist/design-system/{p-13fed1bd.entry.js → p-fd296c73.entry.js} +1 -1
- package/dist/design-system/p-sZMi_32I.js +1 -0
- package/dist/esm/{component.modal-mO5GcwI3.js → component.modal-DOXMJi-V.js} +14 -0
- package/dist/esm/constants-sZMi_32I.js +3 -0
- package/dist/esm/design-system.js +3 -4
- package/dist/esm/{index-DsU722JF.js → index-BqHL8W3c.js} +128 -10
- package/dist/esm/index.js +103 -33
- package/dist/esm/loader.js +3 -4
- package/dist/esm/sd-action-modal.entry.js +3 -3
- package/dist/esm/sd-badge.entry.js +2 -2
- package/dist/esm/sd-barcode-input.entry.js +4 -3
- package/dist/esm/sd-button-v2_2.entry.js +9 -8
- package/dist/esm/sd-button_4.entry.js +62 -18
- package/dist/esm/sd-calendar.entry.js +1 -1
- package/dist/esm/sd-card.entry.js +2 -2
- package/dist/esm/sd-checkbox.entry.js +30 -5
- package/dist/esm/sd-circle-progress.entry.js +69 -0
- package/dist/esm/sd-confirm-modal_2.entry.js +183 -0
- package/dist/esm/sd-date-box.entry.js +1 -1
- package/dist/esm/sd-date-picker-calendar.entry.js +3 -3
- package/dist/esm/sd-date-picker-trigger.entry.js +4 -4
- package/dist/esm/{sd-date-picker.config-C4i826lM.js → sd-date-picker.config-bYCOh35g.js} +3 -3
- package/dist/esm/sd-date-picker.entry.js +5 -4
- package/dist/esm/sd-date-range-picker-calendar.entry.js +3 -3
- package/dist/esm/sd-date-range-picker.entry.js +5 -4
- package/dist/esm/sd-dropdown-button.entry.js +10 -5
- package/dist/esm/sd-file-picker.entry.js +3 -2
- package/dist/esm/sd-form.entry.js +1 -1
- package/dist/esm/sd-ghost-button.entry.js +15 -6
- package/dist/esm/sd-guide.entry.js +2 -2
- package/dist/esm/sd-input_2.entry.js +8 -7
- package/dist/esm/sd-loading-container.entry.js +27 -0
- package/dist/esm/sd-modal-container.entry.js +45 -2
- package/dist/esm/sd-number-input.entry.js +6 -10
- package/dist/esm/{sd-select-v2.entry.js → sd-pagination_2.entry.js} +91 -5
- package/dist/esm/sd-popover.entry.js +4 -4
- package/dist/esm/sd-portal.entry.js +2 -2
- package/dist/esm/sd-progress.entry.js +3 -3
- package/dist/esm/sd-radio-button.entry.js +180 -0
- package/dist/esm/sd-radio-group.entry.js +1 -1
- package/dist/esm/sd-radio.entry.js +6 -6
- package/dist/esm/sd-select-dropdown_2.entry.js +4 -4
- package/dist/esm/sd-select-group.entry.js +4 -3
- package/dist/esm/sd-select-multiple-group.entry.js +4 -3
- package/dist/esm/sd-select-multiple.entry.js +4 -3
- package/dist/esm/sd-select-option-group.entry.js +4 -4
- package/dist/esm/sd-select-v2-list-item_4.entry.js +656 -0
- package/dist/esm/sd-select.entry.js +178 -0
- package/dist/esm/sd-switch.entry.js +108 -0
- package/dist/esm/sd-table.entry.js +424 -651
- package/dist/esm/sd-tabs.entry.js +2 -2
- package/dist/esm/sd-tag.entry.js +6 -5
- package/dist/esm/sd-tbody.entry.js +64 -0
- package/dist/esm/sd-td.entry.js +56 -0
- package/dist/esm/sd-text-link.entry.js +10 -12
- package/dist/esm/sd-textarea.entry.js +3 -2
- package/dist/esm/sd-thead.entry.js +177 -0
- package/dist/esm/sd-toast-container.entry.js +2 -2
- package/dist/esm/sd-toast.entry.js +3 -3
- package/dist/esm/sd-toggle.entry.js +96 -13
- package/dist/esm/sd-tr.entry.js +169 -0
- package/dist/esm/table-test.entry.js +94 -0
- package/dist/esm/{tooltipArrow-CJuzsrdH.js → tooltipArrow-BcsrQx1U.js} +1 -1
- package/dist/types/__mocks__/nanoid-non-secure.d.ts +2 -0
- package/dist/types/__mocks__/nanoid.d.ts +1 -0
- package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +1 -0
- package/dist/types/components/sd-button-v2/sd-button-v2.d.ts +1 -0
- package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +3 -0
- package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -0
- package/dist/types/components/sd-circle-progress/sd-circle-progress.config.d.ts +9 -0
- package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +8 -0
- package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +1 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +1 -0
- package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +1 -0
- package/dist/types/components/sd-field/sd-field.config.d.ts +9 -0
- package/dist/types/components/sd-field/sd-field.d.ts +3 -0
- package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +1 -0
- package/dist/types/components/sd-ghost-button/sd-ghost-button.config.d.ts +1 -1
- package/dist/types/components/sd-input/sd-input.d.ts +1 -0
- package/dist/types/components/sd-loading-container/sd-loading-container.config.d.ts +4 -0
- package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +8 -0
- package/dist/types/components/sd-loading-modal/sd-loading-modal.config.d.ts +25 -0
- package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +15 -0
- package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +10 -0
- package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -2
- package/dist/types/components/sd-number-input/sd-number-input.config.d.ts +0 -1
- package/dist/types/components/sd-number-input/sd-number-input.d.ts +1 -0
- package/dist/types/components/sd-radio-button/sd-radio-button.config.d.ts +44 -0
- package/dist/types/components/{sd-radio-button-group/sd-radio-button-group.d.ts → sd-radio-button/sd-radio-button.d.ts} +4 -3
- package/dist/types/components/sd-select/sd-select.d.ts +1 -0
- package/dist/types/components/sd-select-group/sd-select-group.d.ts +1 -0
- package/dist/types/components/sd-select-multiple/sd-select-multiple.d.ts +1 -0
- package/dist/types/components/sd-select-multiple-group/sd-select-multiple-group.d.ts +1 -0
- package/dist/types/components/sd-select-v2/sd-select-v2.config.d.ts +1 -0
- package/dist/types/components/sd-select-v2/sd-select-v2.d.ts +1 -0
- package/dist/types/components/sd-switch/sd-switch.config.d.ts +22 -0
- package/dist/types/components/{sd-toggle-button/sd-toggle-button.d.ts → sd-switch/sd-switch.d.ts} +2 -6
- package/dist/types/components/sd-table/constants.d.ts +44 -0
- package/dist/types/components/sd-table/sd-table.d.ts +103 -115
- package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +14 -0
- package/dist/types/components/sd-table/sd-td/sd-td.d.ts +12 -0
- package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +36 -0
- package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +34 -0
- package/dist/types/components/sd-textarea/sd-textarea.d.ts +1 -0
- package/dist/types/components/sd-toggle/sd-toggle.config.d.ts +32 -0
- package/dist/types/components/sd-toggle/sd-toggle.d.ts +0 -3
- package/dist/types/components/table-test/table-test.d.ts +46 -0
- package/dist/types/components.d.ts +649 -141
- package/dist/types/index.d.ts +3 -1
- package/dist/types/utils/loading.d.ts +7 -0
- package/dist/types/utils/modal.d.ts +19 -3
- package/hydrate/index.js +2500 -968
- package/hydrate/index.mjs +2500 -968
- package/package.json +1 -1
- package/readme.md +1 -1
- package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -5
- package/dist/cjs/sd-confirm-modal.cjs.entry.js +0 -106
- package/dist/cjs/sd-loading-spinner_3.cjs.entry.js +0 -283
- package/dist/cjs/sd-radio-button-group.cjs.entry.js +0 -57
- package/dist/cjs/sd-select-v2-list-item_2.cjs.entry.js +0 -150
- package/dist/cjs/sd-select-v2-listbox_2.cjs.entry.js +0 -353
- package/dist/cjs/sd-select-v2.config-7xBJQhvx.js +0 -171
- package/dist/cjs/sd-toggle-button.cjs.entry.js +0 -49
- package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.css +0 -44
- package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +0 -46
- package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.css +0 -85
- package/dist/collection/components/sd-toggle-button/sd-toggle-button.css +0 -47
- package/dist/components/p-5OtzmjLh.js +0 -1
- package/dist/components/p-BFaIxm6b.js +0 -1
- package/dist/components/p-BP-QKaKz.js +0 -1
- package/dist/components/p-BSZadK9N.js +0 -1
- package/dist/components/p-BbtO5CEW.js +0 -1
- package/dist/components/p-BxPyZJaz.js +0 -1
- package/dist/components/p-C-qSDgVU.js +0 -1
- package/dist/components/p-C4i826lM.js +0 -1
- package/dist/components/p-CEa1HSpw.js +0 -1
- package/dist/components/p-CYRGa0VL.js +0 -1
- package/dist/components/p-ClgihpRm.js +0 -1
- package/dist/components/p-D-Y0-FQk.js +0 -1
- package/dist/components/p-D-pFdq6g.js +0 -1
- package/dist/components/p-DPipeCRI.js +0 -1
- package/dist/components/p-DSYw-7RA.js +0 -1
- package/dist/components/p-DXAB0k9r.js +0 -1
- package/dist/components/p-mO5GcwI3.js +0 -1
- package/dist/components/sd-loading-spinner.js +0 -1
- package/dist/components/sd-radio-button-group.js +0 -1
- package/dist/components/sd-toggle-button.js +0 -1
- package/dist/design-system/p-00207f08.entry.js +0 -1
- package/dist/design-system/p-067b0b3c.entry.js +0 -1
- package/dist/design-system/p-0e6f5a99.entry.js +0 -1
- package/dist/design-system/p-22a4972a.entry.js +0 -1
- package/dist/design-system/p-27df33c1.entry.js +0 -1
- package/dist/design-system/p-3ac6a626.entry.js +0 -1
- package/dist/design-system/p-6610c16b.entry.js +0 -1
- package/dist/design-system/p-739ac181.entry.js +0 -1
- package/dist/design-system/p-7dce4241.entry.js +0 -1
- package/dist/design-system/p-7e4c0a36.entry.js +0 -1
- package/dist/design-system/p-8b5b2866.entry.js +0 -1
- package/dist/design-system/p-90f51f65.entry.js +0 -1
- package/dist/design-system/p-C3eQSZx-.js +0 -1
- package/dist/design-system/p-C4i826lM.js +0 -1
- package/dist/design-system/p-DQuL1Twl.js +0 -1
- package/dist/design-system/p-DsU722JF.js +0 -2
- package/dist/design-system/p-a6bc8512.entry.js +0 -1
- package/dist/design-system/p-afeb740a.entry.js +0 -1
- package/dist/design-system/p-b3e0e6f4.entry.js +0 -1
- package/dist/design-system/p-ba90dc5f.entry.js +0 -1
- package/dist/design-system/p-bad88292.entry.js +0 -1
- package/dist/design-system/p-cbb5575d.entry.js +0 -1
- package/dist/design-system/p-ce6a0b0f.entry.js +0 -1
- package/dist/design-system/p-d07448fe.entry.js +0 -1
- package/dist/design-system/p-d1a94401.entry.js +0 -1
- package/dist/design-system/p-d5b5cfc7.entry.js +0 -1
- package/dist/design-system/p-d75e0dc0.entry.js +0 -1
- package/dist/design-system/p-dee605b1.entry.js +0 -1
- package/dist/design-system/p-e9ed9c00.entry.js +0 -1
- package/dist/design-system/p-f8567970.entry.js +0 -1
- package/dist/design-system/p-fa22f13c.entry.js +0 -1
- package/dist/design-system/p-fa8b64c2.entry.js +0 -1
- package/dist/design-system/p-fbac6160.entry.js +0 -1
- package/dist/design-system/p-mO5GcwI3.js +0 -1
- package/dist/esm/app-globals-DQuL1Twl.js +0 -3
- package/dist/esm/sd-confirm-modal.entry.js +0 -104
- package/dist/esm/sd-loading-spinner_3.entry.js +0 -279
- package/dist/esm/sd-radio-button-group.entry.js +0 -55
- package/dist/esm/sd-select-v2-list-item_2.entry.js +0 -147
- package/dist/esm/sd-select-v2-listbox_2.entry.js +0 -350
- package/dist/esm/sd-select-v2.config-C3eQSZx-.js +0 -158
- package/dist/esm/sd-toggle-button.entry.js +0 -47
- package/dist/types/components/sd-loading-spinner/sd-loading-spinner.d.ts +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as o,h as e}from"./p-DsU722JF.js";const s=class{constructor(e){t(this,e),this.change=o(this,"sdUpdate",7)}value=!1;label="";disabled=!1;isActive=!1;change;componentWillLoad(){this.updateActiveState(this.value)}componentWillRender(){this.updateActiveState(this.value)}updateActiveState(t){this.isActive=t}get buttonClasses(){const t=["sd-toggle-button"];return this.isActive&&t.push("sd-toggle-button--active"),this.disabled&&t.push("sd-toggle-button--disabled"),t.join(" ")}handleChange=()=>{if(this.disabled)return;const t=!this.value;this.value=t,this.change.emit(t)};render(){return e("label",{key:"0e933c52b633eec101beec8aa6ec888dc6bc3448",class:this.buttonClasses,"aria-label":this.label||"toggle button"},this.label,e("input",{key:"833e7c26895e310cb6322b7231345f76f0a409dc",style:{display:"none"},type:"checkbox",onInput:this.handleChange}))}};s.style="sd-toggle-button{display:inline-block;line-height:0}.sd-toggle-button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:4px 12px;gap:6px;border-radius:14px;border:1px solid #888888;background-color:#FFFFFF;color:#737373;font-size:12px;line-height:20px;font-weight:400;cursor:pointer;transition:border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;white-space:nowrap;user-select:none;box-sizing:border-box}.sd-toggle-button--active{border-color:#0075FF;color:#0075FF}.sd-toggle-button--disabled{background-color:#EEEEEE;border-color:#CCCCCC;color:#888888;cursor:not-allowed}.sd-toggle-button--disabled.sd-toggle-button--active{background-color:#EEEEEE;border-color:#CCCCCC;color:#888888}.sd-toggle-button:hover:not(.sd-toggle-button--disabled):not(.sd-toggle-button--active){border-color:#737373}.sd-toggle-button:hover:not(.sd-toggle-button--disabled).sd-toggle-button--active{border-color:#005CC9;color:#005CC9}";export{s as sd_toggle_button}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,g as i,h as s}from"./p-DsU722JF.js";import{n as o}from"./p-CCwNgVmC.js";import{i as a}from"./p-CJwbBrt5.js";const n=a.textinput.sm,d=a.textinput.md,r={sm:{height:n.height,paddingX:n.paddingX,gap:n.gap,radius:n.radius,fontSize:n.typography.fontSize,lineHeight:n.typography.lineHeight,fontWeight:n.typography.fontWeight},md:{height:d.height,paddingX:d.paddingX,gap:d.gap,radius:d.radius,fontSize:d.typography.fontSize,lineHeight:d.typography.lineHeight,fontWeight:d.typography.fontWeight}},l={bg:a.textinput.bg,text:a.textinput.text,icon:a.textinput.icon},c=class{constructor(i){t(this,i),this.input=e(this,"sdUpdate",7),this.focus=e(this,"sdFocus",7),this.blur=e(this,"sdBlur",7)}get host(){return i(this)}value=null;size="sm";addonLabel="";placeholder="입력해 주세요.";disabled=!1;clearable=!1;width="";rules=[];autoFocus=!1;status;hint="";errorMessage="";inputClass="";readonly=!1;error=!1;focused=!1;hovered=!1;label="";icon=void 0;labelTooltip="";labelTooltipProps=null;inputStyle={};internalValue=null;nativeEl=void 0;formField;name=o();input;focus;blur;valueChanged(t){this.internalValue=t}internalValueChanged(t){t!==this.value&&(this.value=t,this.input?.emit(this.value))}async sdGetNativeElement(){return this.nativeEl||null}async sdValidate(){this.formField?.sdValidate()}async sdReset(){this.formField?.sdReset()}async sdResetValidate(){this.formField?.sdResetValidation()}async sdFocus(){this.formField?.sdFocus()}componentWillLoad(){this.value&&(this.internalValue=this.value)}componentDidLoad(){this.autoFocus&&this.nativeEl?.focus()}handleInput=t=>{this.internalValue=t.target.value};handleFocus=async(t,e)=>{this.focused="focus"===t,"blur"===t?(this.rules&&this.rules.length>0&&await(this.formField?.sdValidate()),this.blur?.emit(e)):this.focus?.emit(e)};render(){const t=r[this.size]??r.sm;return s("sd-field",{key:"b9f59f804f48888086fb49e46e4bcbacaff57205",name:this.name,label:this.label,addonLabel:this.addonLabel,hint:this.hint,errorMessage:this.errorMessage,width:this.width,rules:this.rules,error:this.error,disabled:this.disabled,focused:this.focused,hovered:this.hovered,status:this.status,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:t=>this.formField=t,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1,style:{"--sd-barcode-input-font-size":`${t.fontSize}px`,"--sd-barcode-input-line-height":`${t.lineHeight}px`,"--sd-barcode-input-font-weight":t.fontWeight,"--sd-barcode-input-padding-x":`${t.paddingX}px`,"--sd-barcode-input-gap":`${t.gap}px`,"--sd-barcode-input-text-color":l.text.default,"--sd-barcode-input-placeholder-color":l.text.placeholder,"--sd-barcode-input-disabled-color":l.text.disabled,"--sd-barcode-input-icon-color":l.icon.default,"--sd-system-size-field-sm-height":`${t.height}px`,"--sd-system-radius-field-sm":`${t.radius}px`,"--sd-system-color-field-bg-default":l.bg.barcode}},s("label",{key:"eebe928e88c814817d172688af675b753db96d0b",class:"sd-barcode-input__content"},s("slot",{key:"5046c4bf4010d4ccbbb91d42e1c83f28674c19e5",name:"prefix"}),s("input",{key:"0887d9587d834624e6a756299d00383a3ffd44b5",name:this.name,ref:t=>this.nativeEl=t,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:t=>this.handleFocus("focus",t),onBlur:t=>this.handleFocus("blur",t),style:this.inputStyle}),s("slot",{key:"c5140b914ea57234ed6babf26265cc7556f48e15",name:"suffix"}),this.clearable&&this.internalValue&&s("sd-ghost-button",{key:"45862d80442c826152bf5a8ac01e598a1222de42",icon:"close",ariaLabel:"close",size:"xxs",disabled:this.disabled,class:"sd-barcode-input__clear-icon",onClick:async()=>{this.disabled||(this.internalValue="",await(this.formField?.sdValidate()))}})))}static get watchers(){return{value:[{valueChanged:0}],internalValue:[{internalValueChanged:0}]}}};c.style="sd-icon{display:inline-block;line-height:0}sd-icon .sd-icon--rotate-90{transform:rotate(90deg)}sd-icon .sd-icon--rotate-180{transform:rotate(180deg)}sd-icon .sd-icon--rotate-270{transform:rotate(270deg)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fafaa1 inset;box-shadow:0 0 0px 1000px #fafaa1 inset;transition:background-color 5000s ease-in-out 0s}input:autofill,input:autofill:hover,input:autofill:focus,input:autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fafaa1 inset;box-shadow:0 0 0px 1000px #fafaa1 inset;transition:background-color 5000s ease-in-out 0s}sd-barcode-input{display:inline-flex}sd-barcode-input .sd-barcode-input__content{width:100%;height:100%;display:flex;flex-flow:row nowrap;align-items:center;color:var(--sd-barcode-input-text-color);font-size:var(--sd-barcode-input-font-size);line-height:var(--sd-barcode-input-line-height);font-weight:var(--sd-barcode-input-font-weight);padding:0 var(--sd-barcode-input-padding-x);gap:var(--sd-barcode-input-gap)}sd-barcode-input .sd-barcode-input__content .sd-barcode-input__native{width:100%;height:100%;border:none;outline:none;background:transparent;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit}sd-barcode-input .sd-barcode-input__content .sd-barcode-input__native[disabled]{cursor:not-allowed;color:var(--sd-barcode-input-disabled-color)}sd-barcode-input .sd-barcode-input__content .sd-barcode-input__native::placeholder{color:var(--sd-barcode-input-placeholder-color)}sd-barcode-input .sd-barcode-input__content .sd-barcode-input__clear-icon{flex-shrink:0}sd-barcode-input .sd-barcode-input__content .sd-barcode-input__native[disabled]~.sd-barcode-input__clear-icon{cursor:not-allowed;pointer-events:none}";export{c as sd_barcode_input}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,g as s,h as i,F as o}from"./p-DsU722JF.js";import{n as l}from"./p-CCwNgVmC.js";import{B as n}from"./p-CRdYeSBK.js";import{S as r}from"./p-Cy6HMEsK.js";const h=class extends n{constructor(s){super(),t(this,s),this.update=e(this,"sdUpdate",7),this.dropDownShow=e(this,"sdDropDownShow",7)}get el(){return s(this)}value=null;options=[];placeholder="선택";optionPlaceholder="선택지가 없습니다.";width="200px";dropdownHeight="260px";disabled=!1;clearable=!1;searchable=!1;useCheckbox=!1;useAll=!1;allCheckedLabel="전체";allCheckOptionLabel="전체";label="";icon=void 0;labelTooltip="";labelTooltipProps=null;rules=[];error=!1;containerStyle={};triggerStyle={};dropdownStyle={};optionStyle={};labelStyle={};optionRenderer;filteredOptions=[];isOpen=!1;searchText=null;itemIndex=-1;isScrolled=!1;isDropdownReady=!1;update;dropDownShow;selectRef;searchRef;triggerRef;optionRef;dropdownRef;formField;dropDownWidth="200px";name=l();async sdOpen(){await new Promise((t=>setTimeout(t,0))),this.isOpen=!0}async sdValidate(){this.formField?.sdValidate()}async sdReset(){this.formField?.sdReset()}async sdResetValidate(){this.formField?.sdResetValidation()}async sdFocus(){this.formField?.sdFocus()}valueChanged(){this.update?.emit(this.value)}optionsChanged(){this.filteredOptions=this.options,this.filterOptions()}searchTextChanged(){this.filterOptions()}async itemIndexChanged(t,e){if(this.searchable){const t=await this.getNativeInputElement();if(-1===this.itemIndex)return void t?.focus({preventScroll:!0});t?.matches(":focus")&&t?.blur()}const s=Array.from(this.dropdownRef?.querySelectorAll("sd-select-option-group")||[]),i=this.useAll?this.itemIndex+1:this.itemIndex,o=s?.[i];o&&this.isOpen&&(this.optionRef=o,await this.optionRef.isDisabled()?t>e?this.itemIndex++:this.itemIndex--:this.scrollToOption(o))}async isOpenChanged(){this.onDropdownToggle(this.isOpen),this.dropDownShow?.emit({isOpen:this.isOpen}),this.isDropdownReady=!1,!1!==this.isOpen?requestAnimationFrame((()=>{requestAnimationFrame((async()=>{const t=this.getSelectedOption();if(t&&t.length>0){const e=this.options.indexOf(t[0]),s=Array.from(this.dropdownRef?.querySelectorAll("sd-select-option-group")||[]),i=Math.min((this.useAll?e+1:e)+4,s.length-1),o=s?.[i];o&&this.scrollToOption(o)}if(this.isDropdownReady=!0,this.searchable){const t=await this.getNativeInputElement();t&&requestAnimationFrame((()=>{t.focus({preventScroll:!0})}))}}))})):await(this.formField?.sdValidate())}componentWillLoad(){this.filteredOptions=this.options,this.dropDownWidth=this.width,this.initializeEvent()}componentDidRender(){const t=this.triggerRef,e=t?.getBoundingClientRect();this.dropDownWidth=e?.width?`${e.width}px`:this.width}disconnectedCallback(){this.cleanupEvent()}handleDocumentClick(t){this.selectRef?.contains(t.target)||(this.isOpen=!1)}handleDocumentKeydown(t){if(t.stopPropagation(),["ArrowDown","ArrowUp","Enter","Escape"].includes(t.key))switch(t.preventDefault(),t.key){case"ArrowDown":case"ArrowUp":const e=new r(this.searchable,this.filteredOptions).getNextIndex(this.itemIndex,t.key);this.itemIndex=e;break;case"Enter":const s=this.filteredOptions[this.itemIndex];s&&!s.disabled&&this.handleOptionSelection(s);break;case"Escape":this.isOpen=!1}}handleTriggerClick=t=>{t.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.dropDownShow?.emit({isOpen:this.isOpen}))};handleAllOptionClick=t=>{if(t.isSelected){const t=this.filteredOptions.filter((t=>"item"===t.type&&!t.disabled));this.value=this.value?.filter((e=>!t.some((t=>t.value===e.value))))||this.value}else{const t=new Set([...this.value||[],...this.filteredOptions.filter((t=>"item"===t.type&&!t.disabled))]);this.value=Array.from(t)}};handleOptionClick=t=>{const{option:e,event:s}=t;s.stopPropagation(),"group"===e.type&&this.handleGroupOptionClick(t),"subgroup"===e.type&&this.handleSubGroupOptionClick(t),"item"===e.type&&this.handleOptionSelection(e)};handleGroupOptionClick=t=>{const{option:e,isSelected:s}=t;this.filteredOptions.filter((t=>t.parent===e.value&&!t.disabled)).forEach((t=>{this.handleSubGroupOptionClick({option:t,isSelected:s||null===s})}))};handleSubGroupOptionClick=t=>{const{option:e,isSelected:s}=t,i=this.filteredOptions.filter((t=>t.parent===e.value&&!t.disabled));if(s||null===s)this.value=this.value?.filter((t=>!i.some((e=>e.value===t.value))))||null;else{const t=i.filter((t=>!this.value?.some((e=>e.value===t.value))));this.value=[...this.value||[],...t]}};filterOptions(){if(!this.searchText||""===this.searchText.trim())return void(this.filteredOptions=this.options);const t=this.searchText.toLowerCase(),e=new Set;this.options.forEach((s=>{s.label.toLowerCase().includes(t)&&(e.add(s),this.addParentGroups(s,e))})),this.filteredOptions=this.options.filter((t=>e.has(t)))}addParentGroups(t,e){if(!t.parent)return;const s=this.options.find((e=>e.value===t.parent));s&&!e.has(s)&&(e.add(s),this.addParentGroups(s,e))}getSelectedOption(){return this.options.filter((t=>this.value?.includes(t)))}handleDropdownScroll=t=>{this.isScrolled=t.target.scrollTop>0};async getNativeInputElement(){return this.searchRef?this.searchRef.sdGetNativeElement():null}handleOptionSelection=t=>{if(!t||t.disabled)return;const e=this.value?.some((e=>e.value===t.value));this.value=e?this.value?.filter((e=>e.value!==t.value))||null:[...this.value||[],t]};getAllItemsUnderOption(t,e=!1){const s=s=>s.parent===t.value&&(e||!s.disabled);if("subgroup"===t.type)return this.filteredOptions.filter((t=>s(t)&&"item"===t.type));const i=[],o=this.filteredOptions.filter(s);o.filter((t=>"subgroup"===t.type)).forEach((t=>{const s=this.filteredOptions.filter((s=>!(s.parent!==t.value||"item"!==s.type||!e&&s.disabled)));i.push(...s)}));const l=o.filter((t=>"item"===t.type));return i.push(...l),i}isAllChildrenSelected(t){const e=this.getAllItemsUnderOption(t);if(0===e.length)return!1;const s=e.filter((t=>this.value?.some((e=>e.value===t.value))));return s.length===e.length||s.length>0&&null}getChildrenOptions(t){const e=this.getAllItemsUnderOption(t,!0);return{selectedCount:e.filter((t=>this.value?.some((e=>e.value===t.value)))).length,totalCount:e.length}}isAllOptionsSelected(){if(!this.value||0===this.value.length)return!1;const t=this.options.filter((t=>"item"===t.type&&!t.disabled));if(0===t.length)return!1;const e=new Set(this.value.map((t=>t.value)));return t.every((t=>e.has(t.value)))}getTriggerLabel(){const t=this.getSelectedOption();return t?0===t.length?this.placeholder:this.isAllOptionsSelected()?this.allCheckedLabel:t.map((t=>t.label)).join(", "):"선택"}closeDropdown(){this.isOpen=!1}async scrollToOption(t){this.dropdownRef&&t&&requestAnimationFrame((()=>{const e=this.dropdownRef,s=t.offsetTop,i=t.offsetHeight,o=e.scrollTop,l=e.clientHeight,n=e.querySelector(".sd-select-multiple-group__search-container"),r=n?n.offsetHeight:0,h=l-r,p=o+l;s<o+r?e.scrollTo({top:s-r,behavior:"instant"}):s+i>p&&e.scrollTo({top:s+i-h-r,behavior:"instant"})}))}render(){return i("sd-field",{key:"3cc9e5b2f1062e216a0dd738dff6918084c5e3b4",label:this.label,name:this.name,rules:this.rules,error:this.error,disabled:this.disabled,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:t=>this.formField=t,style:{"--field-width":this.width||"200px"}},i("div",{key:"60be94c561be252d6cc822e6be60a5e31390a15f",class:{"sd-select-multiple-group":!0,"sd-select-multiple-group--open":this.isOpen,"sd-select-multiple-group--disabled":this.disabled,"sd-select-multiple-group--label":!!this.label},ref:t=>this.selectRef=t},this.renderTrigger(),this.renderDropdown()))}renderTrigger(){const t=this.getSelectedOption();return i("div",{class:"sd-select-multiple-group__trigger",tabindex:this.disabled?-1:0,onClick:this.handleTriggerClick,style:this.triggerStyle},i("span",{class:"sd-select-multiple-group__value"},this.getTriggerLabel()),this.clearable&&t?.length>0&&!this.disabled&&i("sd-icon",{key:"close-icon",name:"close",size:10,color:"#888",class:"sd-select-multiple-group__clear",onClick:async t=>{t.stopPropagation(),this.value=null,await(this.formField?.sdValidate())}}),i("sd-icon",{key:"arrow-icon",name:"arrowDown",color:"#888",class:{"sd-select-multiple-group__arrow":!0,"sd-select-multiple-group__arrow--open":this.isOpen}}))}renderDropdown(){return!1===this.isOpen?null:i("sd-portal",{open:this.isOpen,parentRef:this.selectRef,onSdClose:this.closeDropdown},i("div",{style:{width:"0",height:"0",overflow:"visible"}},i("div",{class:{"sd-select-multiple-group__dropdown":!0,"sd-select-multiple-group__dropdown--ready":this.isDropdownReady},style:{"--select-width":this.dropDownWidth||"200px","--select-dropdown-height":this.dropdownHeight||"260px",...this.dropdownStyle},onScroll:this.handleDropdownScroll,ref:t=>this.dropdownRef=t},this.searchable&&i("sd-select-search-input",{ref:t=>this.searchRef=t,isScrolled:this.isScrolled,searchText:this.searchText,onSdSearchInput:t=>this.searchText=t.detail||"",onSdSearchFocus:()=>this.itemIndex=-1}),this.filteredOptions.length>0?i(o,null,this.useAll&&i("sd-select-option-group",{option:{label:this.allCheckOptionLabel,value:"",type:"all"},index:0,isSelected:this.isAllOptionsSelected(),isFocused:0===this.itemIndex,optionStyle:this.optionStyle,onOptionClick:({detail:t})=>this.handleAllOptionClick(t),useCheckbox:this.useCheckbox,useIndicator:!1}),this.filteredOptions.map(((t,e)=>i("slot",{name:`option-${t.value}`},i("sd-select-option-group",{option:t,index:e,isSelected:"item"===t.type?this.value?.some((e=>e.value===t.value)):this.isAllChildrenSelected(t),isFocused:e===this.itemIndex,optionStyle:this.optionStyle,onOptionClick:({detail:e})=>{("item"===t.type||this.useCheckbox)&&this.handleOptionClick(e)},useCheckbox:this.useCheckbox,..."item"!==t.type&&{countInfo:this.getChildrenOptions(t)}}))))):i("slot",{name:"option-placeholder"},i("div",{class:"sd-select-multiple-group__option-placeholder",style:this.optionStyle},this.optionPlaceholder)))))}static get watchers(){return{value:[{valueChanged:0}],options:[{optionsChanged:0}],searchText:[{searchTextChanged:0}],itemIndex:[{itemIndexChanged:0}],isOpen:[{isOpenChanged:0}]}}};h.style=".sd-select-multiple-group__dropdown .sd-select-multiple-group__option-placeholder{height:48px;display:flex;align-items:center;padding:8px 16px;font-size:12px;line-height:0;text-align:left;color:#888888}sd-select-multiple-group{display:inline-flex;flex-flow:column nowrap;width:fit-content;height:fit-content}sd-select-multiple-group:focus,sd-select-multiple-group:focus-visible,sd-select-multiple-group:focus-within{outline:none !important}sd-select-multiple-group .sd-select-multiple-group{width:100%}sd-select-multiple-group .sd-select-multiple-group .sd-select-multiple-group__trigger{padding:4px 20px 4px 12px;display:flex;width:100%;align-items:center}sd-select-multiple-group .sd-select-multiple-group .sd-select-multiple-group__trigger .sd-select-multiple-group__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px;font-size:12px;font-weight:400}sd-select-multiple-group .sd-select-multiple-group .sd-select-multiple-group__trigger .sd-select-multiple-group__clear{margin:0 4px;width:8px;height:8px;background-color:transparent;outline:none;border:none}sd-select-multiple-group .sd-select-multiple-group .sd-select-multiple-group__arrow{position:absolute;top:8px;right:8px;width:12px;height:12px;color:#888888;transition:transform 0.3s ease}sd-select-multiple-group .sd-select-multiple-group .sd-select-multiple-group__arrow--open{transform:rotate(180deg)}.sd-select-multiple-group__dropdown{overflow:auto;width:var(--select-width, 200px);max-height:var(--select-dropdown-height, 260px);padding-bottom:2px;background-color:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);border-radius:4px;overflow-y:auto;color:#333333;opacity:0.5;transition:opacity 0.15s ease-in}.sd-select-multiple-group__dropdown--ready{opacity:1}";export{h as sd_select_multiple_group}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,g as s,h as i}from"./p-DsU722JF.js";let e=0;const o=class{constructor(s){t(this,s)}get el(){return s(this)}entries=[];isVisible=!1;isBackdropVisible=!1;contentRef;containerDismissTimerId;previousBodyOverflow=null;bodyScrollLocked=!1;handleKeydown(t){if("Escape"===t.key){const t=this.getTopEntry();if(!t)return;if(t.persistent)return void this.shakeModal(t.modalEl);this.dispatchClose(t.modalEl)}}async open(t,s){const i="modal-"+ ++e,o=this.createConfirmModal(i,t);return this.attachModalEventListeners(i,o),this.registerEntry(i,o,s,{persistent:!!t.persistent}),i}async createCustom(t,s,i){const o="modal-"+ ++e;return t.setAttribute("data-modal-id",o),t.classList.add("sd-modal-container__modal"),this.attachModalEventListeners(o,t),this.registerEntry(o,t,i,{persistent:!!s.persistent}),o}attachModalEventListeners(t,s){s.addEventListener("sdOk",(()=>this.requestDismiss(t,"confirm"))),s.addEventListener("sdCancel",(()=>this.requestDismiss(t,"cancel"))),s.addEventListener("sdClose",(()=>this.requestDismiss(t,"close")))}dispatchClose(t){t.dispatchEvent(new CustomEvent("sdClose"))}registerEntry(t,s,i,e){this.containerDismissTimerId&&(clearTimeout(this.containerDismissTimerId),this.containerDismissTimerId=void 0),this.entries=[...this.entries??[],{id:t,modalEl:s,modalRef:i,persistent:e.persistent,closing:!1}],this.isVisible=!0,this.setBodyScrollLock(!0),requestAnimationFrame((()=>{this.contentRef&&(this.contentRef.appendChild(s),this.waitForModalReady(s).then((()=>{requestAnimationFrame((()=>{const i=(this.entries??[]).find((s=>s.id===t));i&&!i.closing&&s.isConnected&&(this.isBackdropVisible=!0,s.classList.add("sd-modal-container__modal--visible"))}))})))}))}async dismissById(t,s){this.requestDismiss(t,s)}async update(t,s){const i=(this.entries??[]).find((s=>s.id===t));i&&!i.closing&&this.applyProps(i.modalEl,s)}createConfirmModal(t,s){const i=document.createElement("sd-confirm-modal");return i.setAttribute("data-modal-id",t),i.classList.add("sd-modal-container__modal"),this.applyProps(i,s),i}applyProps(t,s){this.hasOwnProp(s,"type")&&this.setAttr(t,"type",s.type),this.hasOwnProp(s,"title")&&this.setAttr(t,"modal-title",s.title),this.hasOwnProp(s,"titleClass")&&this.setAttr(t,"title-class",s.titleClass),this.hasOwnProp(s,"mainButtonLabel")&&this.setAttr(t,"main-button-label",s.mainButtonLabel),this.hasOwnProp(s,"mainButtonName")&&this.setAttr(t,"main-button-name",s.mainButtonName),this.hasOwnProp(s,"subButtonLabel")&&this.setAttr(t,"sub-button-label",s.subButtonLabel),this.hasOwnProp(s,"tagPreset")&&this.setAttr(t,"tag-preset",s.tagPreset),this.hasOwnProp(s,"tagLabel")&&this.setAttr(t,"tag-label",s.tagLabel),this.hasOwnProp(s,"slotLabel")&&this.setAttr(t,"slot-label",s.slotLabel),this.hasOwnProp(s,"topMessage")&&(t.topMessage=s.topMessage??[]),this.hasOwnProp(s,"bottomMessage")&&(t.bottomMessage=s.bottomMessage??[]),this.hasOwnProp(s,"tagContents")&&(t.tagContents=s.tagContents)}handleBackdropClick=()=>{const t=this.getTopEntry();t&&(t.persistent?this.shakeModal(t.modalEl):this.dispatchClose(t.modalEl))};shakeModal(t){const s="sd-modal-container__modal--shake";t.classList.remove(s),t.addEventListener("animationend",(()=>t.classList.remove(s)),{once:!0}),requestAnimationFrame((()=>{t.classList.add(s)}))}disconnectedCallback(){(this.entries??[]).forEach((t=>{t.dismissTimerId&&clearTimeout(t.dismissTimerId)})),this.containerDismissTimerId&&clearTimeout(this.containerDismissTimerId),this.setBodyScrollLock(!1)}setBodyScrollLock(t){"undefined"!=typeof document&&t!==this.bodyScrollLocked&&(t?(this.previousBodyOverflow=document.body.style.overflow||"",document.body.style.overflow="hidden"):(document.body.style.overflow=this.previousBodyOverflow??"",this.previousBodyOverflow=null),this.bodyScrollLocked=t)}getTopEntry(){return[...this.entries??[]].reverse().find((t=>!t.closing))}requestDismiss(t,s){const i=(this.entries??[]).find((s=>s.id===t));if(!i||i.closing)return;i.modalEl.classList.remove("sd-modal-container__modal--visible"),0===(this.entries??[]).filter((s=>s.id!==t&&!s.closing)).length&&(this.isBackdropVisible=!1);const e=setTimeout((()=>{this.finalizeDismiss(t)}),350);this.entries=(this.entries??[]).map((s=>s.id===t?{...s,closing:!0,dismissTimerId:e}:s)),"confirm"===s?i.modalRef._triggerOk():"cancel"===s?i.modalRef._triggerCancel():"close"===s&&i.modalRef._triggerClose()}finalizeDismiss(t){const s=(this.entries??[]).find((s=>s.id===t));if(!s)return;s.dismissTimerId&&clearTimeout(s.dismissTimerId),s.modalEl.remove();const i=(this.entries??[]).filter((s=>s.id!==t));this.entries=i,0===i.length&&(this.setBodyScrollLock(!1),this.containerDismissTimerId=setTimeout((()=>{0===(this.entries??[]).length&&(this.isVisible=!1),this.containerDismissTimerId=void 0}),350)),s.modalRef._triggerDismissed()}waitForModalReady(t){const s=t.componentOnReady;return"function"==typeof s?s.call(t).then((()=>{})):new Promise((t=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>t()))}))}))}hasOwnProp(t,s){return Object.prototype.hasOwnProperty.call(t,s)}setAttr(t,s,i){null!=i&&t.setAttribute(s,i)}render(){return this.isVisible?i("div",{class:"sd-modal-container"},i("div",{class:{"sd-modal-container__backdrop":!0,"sd-modal-container__backdrop--visible":this.isBackdropVisible},onClick:this.handleBackdropClick}),i("div",{class:"sd-modal-container__content",ref:t=>{this.contentRef=t}})):null}};o.style="sd-modal-container{display:block}sd-modal-container .sd-modal-container{position:fixed;inset:0;z-index:var(--sd-modal-container-z-index, 9999);display:flex;align-items:center;justify-content:center}sd-modal-container .sd-modal-container__backdrop{position:absolute;inset:0;background:rgba(0, 0, 0, 0.4);opacity:0;transition:opacity 0.3s ease-out}sd-modal-container .sd-modal-container__backdrop--visible{opacity:1}sd-modal-container .sd-modal-container__content{position:relative;z-index:1;display:grid;place-items:center}sd-modal-container .sd-modal-container__content>*{grid-row:1;grid-column:1}sd-modal-container .sd-modal-container__modal{opacity:0;transform:scale(0);transition:opacity 0.3s ease-out, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}sd-modal-container .sd-modal-container__modal--visible{opacity:1;transform:scale(1)}sd-modal-container .sd-modal-container__modal--shake{animation:modal-shake 0.3s ease-out}@keyframes modal-shake{0%,100%{transform:scale(1)}25%{transform:scale(1.03)}50%{transform:scale(0.97)}75%{transform:scale(1.01)}}";export{o as sd_modal_container}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o={modal:{radius:"8",confirm:{title:{icon:"32"},positive:{icon:"#0075FF"},negative:{icon:"#E30000"}},bg:"#FFFFFF",action:{header:{paddingX:"24",paddingY:"20",gap:"12"},title:{color:"#033F59",typography:{fontFamily:"Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif",fontWeight:"700",fontSize:"16",lineHeight:"26"}},body:{paddingX:"20",paddingBottom:"20"},footer:{paddingX:"20",paddingY:"8",gap:"16",bg:"#F6F6F6",border:"#E1E1E1"}}}};export{o as m}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, g as getElement, h } from './index-DsU722JF.js';
|
|
2
|
-
import { m as modalTokens } from './component.modal-mO5GcwI3.js';
|
|
3
|
-
|
|
4
|
-
const CONFIRM_MODAL_DEFAULT_BUTTON = {
|
|
5
|
-
positive: 'primary_md',
|
|
6
|
-
negative: 'danger_md',
|
|
7
|
-
default: 'neutral_outline_md',
|
|
8
|
-
};
|
|
9
|
-
const CONFIRM_MODAL_ICON_MAP = {
|
|
10
|
-
positive: 'notificationOutline',
|
|
11
|
-
negative: 'warningOutline',
|
|
12
|
-
default: null,
|
|
13
|
-
};
|
|
14
|
-
const CONFIRM_MODAL_ICON_COLOR = {
|
|
15
|
-
positive: modalTokens.modal.confirm.positive.icon,
|
|
16
|
-
negative: modalTokens.modal.confirm.negative.icon,
|
|
17
|
-
default: '',
|
|
18
|
-
};
|
|
19
|
-
const TITLE_ICON_SIZE = Number(modalTokens.modal.confirm.title.icon);
|
|
20
|
-
const SUB_BUTTON_PRESET = 'neutral_outline_md';
|
|
21
|
-
|
|
22
|
-
const sdConfirmModalCss = () => `sd-confirm-modal{display:block;width:fit-content;min-width:520px}sd-confirm-modal .sd-confirm-modal{position:relative;padding:var(--sd-modal-modal-confirm-padding-y) var(--sd-modal-modal-confirm-padding-x);border-radius:var(--sd-modal-modal-radius);box-shadow:4px 4px 24px 4px rgba(0, 0, 0, 0.2);background:var(--sd-modal-modal-bg)}sd-confirm-modal .sd-confirm-modal__close-button{position:absolute;top:12px;right:12px}sd-confirm-modal .sd-confirm-modal__icon{display:block;width:var(--sd-modal-modal-confirm-title-icon);height:var(--sd-modal-modal-confirm-title-icon);margin:0 auto var(--sd-modal-modal-confirm-title-gap) auto}sd-confirm-modal .sd-confirm-modal__title{color:var(--sd-modal-modal-confirm-title-color);font-size:var(--sd-modal-modal-confirm-title-typography-font-size);font-weight:var(--sd-modal-modal-confirm-title-typography-font-weight);line-height:var(--sd-modal-modal-confirm-title-typography-line-height);text-align:center;margin:0 0 var(--sd-modal-modal-confirm-body-gap) 0}sd-confirm-modal .sd-confirm-modal__body{display:flex;flex-direction:column;gap:var(--sd-modal-modal-confirm-body-gap)}sd-confirm-modal .sd-confirm-modal__message-text{color:var(--sd-modal-modal-confirm-message-color);font-size:12px;font-weight:400;line-height:22px;text-align:center;margin:0}sd-confirm-modal .sd-confirm-modal__content-box{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid #e1e1e1;border-radius:8px;background:white}sd-confirm-modal .sd-confirm-modal__slot-label{font-size:14px;font-weight:700;line-height:22px;color:var(--sd-modal-modal-confirm-message-color)}sd-confirm-modal .sd-confirm-modal__button{display:flex;justify-content:center;gap:var(--sd-modal-modal-confirm-button-gap);margin-top:32px}`;
|
|
23
|
-
|
|
24
|
-
const SdConfirmModal = class {
|
|
25
|
-
constructor(hostRef) {
|
|
26
|
-
registerInstance(this, hostRef);
|
|
27
|
-
this.close = createEvent(this, "sdClose", 7);
|
|
28
|
-
this.cancel = createEvent(this, "sdCancel", 7);
|
|
29
|
-
this.ok = createEvent(this, "sdOk", 7);
|
|
30
|
-
}
|
|
31
|
-
get el() { return getElement(this); }
|
|
32
|
-
hasSlottedContent = false;
|
|
33
|
-
customContentRef;
|
|
34
|
-
slotObserver;
|
|
35
|
-
type = 'positive';
|
|
36
|
-
modalTitle = '';
|
|
37
|
-
titleClass = '';
|
|
38
|
-
topMessage = [];
|
|
39
|
-
bottomMessage = [];
|
|
40
|
-
mainButtonName;
|
|
41
|
-
mainButtonLabel = '확인';
|
|
42
|
-
subButtonLabel = '';
|
|
43
|
-
tagPreset = 'square_sm_grey';
|
|
44
|
-
tagLabel = '';
|
|
45
|
-
slotLabel = '';
|
|
46
|
-
tagContents;
|
|
47
|
-
close;
|
|
48
|
-
cancel;
|
|
49
|
-
ok;
|
|
50
|
-
componentWillLoad() {
|
|
51
|
-
this.syncHasSlottedContent();
|
|
52
|
-
}
|
|
53
|
-
componentDidLoad() {
|
|
54
|
-
if (typeof MutationObserver === 'undefined')
|
|
55
|
-
return;
|
|
56
|
-
this.slotObserver = new MutationObserver(() => this.syncHasSlottedContent());
|
|
57
|
-
this.slotObserver.observe(this.el, {
|
|
58
|
-
childList: true,
|
|
59
|
-
characterData: true,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
componentDidRender() {
|
|
63
|
-
if (this.customContentRef && this.tagContents instanceof HTMLElement) {
|
|
64
|
-
if (typeof this.customContentRef.replaceChildren === 'function') {
|
|
65
|
-
this.customContentRef.replaceChildren(this.tagContents);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this.customContentRef.innerHTML = '';
|
|
69
|
-
this.customContentRef.appendChild(this.tagContents);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
disconnectedCallback() {
|
|
74
|
-
this.slotObserver?.disconnect();
|
|
75
|
-
}
|
|
76
|
-
get resolvedMainButton() {
|
|
77
|
-
return this.mainButtonName ?? CONFIRM_MODAL_DEFAULT_BUTTON[this.type];
|
|
78
|
-
}
|
|
79
|
-
get hasTagContent() {
|
|
80
|
-
return !!(this.tagLabel || this.slotLabel);
|
|
81
|
-
}
|
|
82
|
-
get showContentBox() {
|
|
83
|
-
return !!this.tagContents || this.hasTagContent || this.hasSlottedContent;
|
|
84
|
-
}
|
|
85
|
-
syncHasSlottedContent() {
|
|
86
|
-
const hasSlottedContent = Array.from(this.el.childNodes).some(node => !(node.nodeType === Node.ELEMENT_NODE &&
|
|
87
|
-
node.classList.contains('sd-confirm-modal')) &&
|
|
88
|
-
(node.nodeType === Node.ELEMENT_NODE ||
|
|
89
|
-
(node.nodeType === Node.TEXT_NODE && node.textContent?.trim())));
|
|
90
|
-
if (hasSlottedContent !== this.hasSlottedContent) {
|
|
91
|
-
this.hasSlottedContent = hasSlottedContent;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
render() {
|
|
95
|
-
const iconName = CONFIRM_MODAL_ICON_MAP[this.type];
|
|
96
|
-
const iconColor = CONFIRM_MODAL_ICON_COLOR[this.type];
|
|
97
|
-
return (h("div", { key: '5a81aa943cbaf554e665b5030c1c46e6aedc0a38', class: "sd-confirm-modal" }, h("sd-ghost-button", { key: 'd4d48c22ce5cd3895adb6e48688907f7c9d4202a', class: "sd-confirm-modal__close-button", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() }), iconName && (h("sd-icon", { key: 'da157d4699b67cb75d25ee8d5da6694e13b874e4', class: "sd-confirm-modal__icon", name: iconName, size: TITLE_ICON_SIZE, color: iconColor })), h("h2", { key: '4362cd4581cec25b4fd9b88206cc21f5ffa68ca9', class: `sd-confirm-modal__title ${this.titleClass}` }, this.modalTitle), h("div", { key: '2169cdc63bc9affb0149e50f0fb94d08ec371bf5', class: "sd-confirm-modal__body" }, (this.topMessage ?? []).length > 0 && (h("div", { key: '3f51315daed6bf8bce81137d8621c26b1960dac3', class: "sd-confirm-modal__message" }, (this.topMessage ?? []).map(msg => (h("p", { class: "sd-confirm-modal__message-text", innerHTML: msg }))))), this.showContentBox && (h("div", { key: '5826cd4b28b8b4c38f28bea030a43f32a2a4203e', class: "sd-confirm-modal__content-box" }, this.tagContents ? (h("div", { class: "sd-confirm-modal__custom-content", ref: el => {
|
|
98
|
-
this.customContentRef = el;
|
|
99
|
-
} })) : (h("slot", { onSlotchange: () => this.syncHasSlottedContent() }, this.tagLabel && h("sd-tag", { name: this.tagPreset, label: this.tagLabel }), this.slotLabel && (h("span", { class: "sd-confirm-modal__slot-label" }, this.slotLabel)))))), (this.bottomMessage ?? []).length > 0 && (h("div", { key: 'a28bacaafc973b8b5d8be998c49d4b203f7ecc19', class: "sd-confirm-modal__message" }, (this.bottomMessage ?? []).map(msg => (h("p", { class: "sd-confirm-modal__message-text", innerHTML: msg })))))), h("div", { key: '791db1eb69ba9ef56fa0298d7539cde55b08e2ac', class: "sd-confirm-modal__button" }, this.subButtonLabel && (h("sd-button-v2", { key: '08407e3d972c6828f58020be94aa81a93f5e0e8c', name: SUB_BUTTON_PRESET, label: this.subButtonLabel, onSdClick: () => this.cancel.emit() })), h("sd-button-v2", { key: '6ef6528e54d2fe81ad96a546512a8a49b17f67d5', name: this.resolvedMainButton, label: this.mainButtonLabel, onSdClick: () => this.ok.emit() }))));
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
SdConfirmModal.style = sdConfirmModalCss();
|
|
103
|
-
|
|
104
|
-
export { SdConfirmModal as sd_confirm_modal };
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, F as Fragment, c as createEvent, g as getElement } from './index-DsU722JF.js';
|
|
2
|
-
import { r as resolveColor } from './resolveColor-BxPyZJaz.js';
|
|
3
|
-
import { B as BaseDropdownEvent } from './base-dropdown-event-CRdYeSBK.js';
|
|
4
|
-
import { S as SelectKeyboardNavigation } from './select-keyboard-navigation-Cy6HMEsK.js';
|
|
5
|
-
import { n as nanoid } from './index-CCwNgVmC.js';
|
|
6
|
-
|
|
7
|
-
const sdLoadingSpinnerCss = () => `sd-loading-spinner{display:inline-flex;width:fit-content;height:fit-content;align-items:center}sd-loading-spinner .sd-loading-spinner{animation:sd-loading-spin 2s linear infinite;transform-origin:center center}sd-loading-spinner .sd-loading-spinner .path{animation:sd-loading-spin-path 1.5s ease-in-out infinite}@keyframes sd-loading-spin{0%{transform:rotate3d(0, 0, 1, 0deg)}25%{transform:rotate3d(0, 0, 1, 90deg)}50%{transform:rotate3d(0, 0, 1, 180deg)}75%{transform:rotate3d(0, 0, 1, 270deg)}100%{transform:rotate3d(0, 0, 1, 359deg)}}@keyframes sd-loading-spin-path{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}`;
|
|
8
|
-
|
|
9
|
-
const SdLoadingSpinner = class {
|
|
10
|
-
constructor(hostRef) {
|
|
11
|
-
registerInstance(this, hostRef);
|
|
12
|
-
}
|
|
13
|
-
color = '#0075ff';
|
|
14
|
-
get resolvedColor() {
|
|
15
|
-
return resolveColor(this.color);
|
|
16
|
-
}
|
|
17
|
-
render() {
|
|
18
|
-
return (h(Fragment, { key: 'a86933f554042c2d4b18836d37bb762d17080202' }, h("svg", { key: 'd0f301366f4b28855bf609dc048fdc7d76fd0433', class: "sd-loading-spinner", width: "72px", height: "72px", viewBox: "25 25 50 50", style: { color: this.resolvedColor } }, h("circle", { key: '64068446f4a6ec1892a00ca92da7a3f1f566891c', class: "path", cx: "50", cy: "50", r: "20", fill: "none", stroke: "currentColor", "stroke-width": "5", "stroke-miterlimit": "10" }))));
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
SdLoadingSpinner.style = sdLoadingSpinnerCss();
|
|
22
|
-
|
|
23
|
-
const sdPaginationCss = () => `.sd-pagination{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:8px;color:#555555;width:100%;font-size:12px}.sd-pagination .prepend-btns{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;width:60px}.sd-pagination .prepend-btns button{width:26px;height:26px;border:0;background:none}.sd-pagination .prepend-btns button:hover{border:1px solid #006AC1;border-radius:14px}.sd-pagination .append-btns{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;width:60px}.sd-pagination .append-btns button{width:26px;height:26px;border:0;background:none}.sd-pagination .append-btns button:hover{border:1px solid #006AC1;border-radius:14px}.sd-pagination .pagination-btn{display:flex;align-items:center;justify-content:center;border-radius:14px;outline:none;border:none;cursor:pointer;height:26px;color:#555555;width:var(--pagination-btn-width, 26px)}.sd-pagination .pagination-btn--selected{background-color:#006AC1;color:white}.sd-pagination .pagination-btn:hover{border:1px solid #006AC1}.sd-pagination--simple .pagination-info{line-height:26px;display:flex;flex-flow:row nowrap;align-items:center;gap:8px}.sd-pagination--simple .pagination-info .current-page,.sd-pagination--simple .pagination-info .last-page{padding:0 2px}`;
|
|
24
|
-
|
|
25
|
-
const BUTTON_WIDTH = {
|
|
26
|
-
1: 26,
|
|
27
|
-
2: 36,
|
|
28
|
-
3: 42,
|
|
29
|
-
4: 50,
|
|
30
|
-
5: 58,
|
|
31
|
-
};
|
|
32
|
-
const PER_PAGE = 10;
|
|
33
|
-
const SdPagination = class {
|
|
34
|
-
constructor(hostRef) {
|
|
35
|
-
registerInstance(this, hostRef);
|
|
36
|
-
this.pageChange = createEvent(this, "sdPageChange", 7);
|
|
37
|
-
}
|
|
38
|
-
currentPage = 1;
|
|
39
|
-
lastPage = 1;
|
|
40
|
-
simple = false;
|
|
41
|
-
pageChange;
|
|
42
|
-
get paginationClasses() {
|
|
43
|
-
const classes = ['sd-pagination'];
|
|
44
|
-
if (this.simple) {
|
|
45
|
-
classes.push('sd-pagination--simple');
|
|
46
|
-
}
|
|
47
|
-
return classes.join(' ');
|
|
48
|
-
}
|
|
49
|
-
get pageNumbers() {
|
|
50
|
-
const start = Math.floor((this.currentPage - 1) / PER_PAGE) * PER_PAGE + 1;
|
|
51
|
-
const end = Math.min(start + PER_PAGE - 1, this.lastPage);
|
|
52
|
-
return Array.from({ length: end - start + 1 }, (_, i) => start + i);
|
|
53
|
-
}
|
|
54
|
-
get buttonWidth() {
|
|
55
|
-
const lastPageNum = this.pageNumbers.at(-1) ?? 1;
|
|
56
|
-
const maxPageLength = lastPageNum.toString().length;
|
|
57
|
-
return BUTTON_WIDTH[maxPageLength] || BUTTON_WIDTH[1];
|
|
58
|
-
}
|
|
59
|
-
handlePageChange(page) {
|
|
60
|
-
if (page < 1 || page > this.lastPage)
|
|
61
|
-
return;
|
|
62
|
-
this.currentPage = page;
|
|
63
|
-
this.pageChange.emit(page);
|
|
64
|
-
}
|
|
65
|
-
handleGroupChange(direction) {
|
|
66
|
-
const delta = direction === 'forward' ? PER_PAGE : -PER_PAGE;
|
|
67
|
-
const newPage = Math.min(Math.max(this.currentPage + delta, 1), this.lastPage);
|
|
68
|
-
this.handlePageChange(newPage);
|
|
69
|
-
}
|
|
70
|
-
get isFirstGroup() {
|
|
71
|
-
return this.currentPage <= PER_PAGE;
|
|
72
|
-
}
|
|
73
|
-
get isLastGroup() {
|
|
74
|
-
const startPageGroup = Math.floor((this.currentPage - 1) / PER_PAGE) * PER_PAGE + 1;
|
|
75
|
-
return startPageGroup + PER_PAGE - 1 >= this.lastPage;
|
|
76
|
-
}
|
|
77
|
-
renderPrevButtons() {
|
|
78
|
-
if (this.simple) {
|
|
79
|
-
if (this.currentPage <= 1)
|
|
80
|
-
return null;
|
|
81
|
-
return (h(Fragment, null, h("button", { "aria-label": "Go to first page", onClick: () => this.handlePageChange(1) }, h("sd-icon", { name: "chevronLeftEnd", size: "12", color: "#222222" })), h("button", { "aria-label": "Go to previous page", onClick: () => this.handlePageChange(this.currentPage - 1) }, h("sd-icon", { name: "arrowLeft", size: "12", color: "#222222" }))));
|
|
82
|
-
}
|
|
83
|
-
if (!this.isFirstGroup) {
|
|
84
|
-
return (h(Fragment, null, h("button", { "aria-label": "Go to first page", onClick: () => this.handlePageChange(1) }, h("sd-icon", { name: "chevronLeftEnd", size: "12", color: "#222222" })), h("button", { "aria-label": "Go to previous page group", onClick: () => this.handleGroupChange('backward') }, h("sd-icon", { name: "arrowLeft", size: "12", color: "#222222" }))));
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
renderNextButtons() {
|
|
88
|
-
if (this.simple) {
|
|
89
|
-
if (this.currentPage >= this.lastPage)
|
|
90
|
-
return null;
|
|
91
|
-
return (h(Fragment, null, h("button", { "aria-label": "Go to next page", onClick: () => this.handlePageChange(this.currentPage + 1) }, h("sd-icon", { name: "arrowRight", size: "12", color: "#222222" })), h("button", { "aria-label": "Go to last page", onClick: () => this.handlePageChange(this.lastPage) }, h("sd-icon", { name: "chevronRightEnd", size: "12", color: "#222222" }))));
|
|
92
|
-
}
|
|
93
|
-
if (!this.isLastGroup) {
|
|
94
|
-
return (h(Fragment, null, h("button", { "aria-label": "Go to next page group", onClick: () => this.handleGroupChange('forward') }, h("sd-icon", { name: "arrowRight", size: "12", color: "#222222" })), h("button", { "aria-label": "Go to last page", onClick: () => this.handlePageChange(this.lastPage) }, h("sd-icon", { name: "chevronRightEnd", size: "12", color: "#222222" }))));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
render() {
|
|
98
|
-
return (h("div", { key: '910b6487f1d2b5581116a19e4bdf4514fe961922', class: this.paginationClasses }, h("div", { key: '1109809ea6c19088617f3ed4e3c878e60071084f', class: "prepend-btns" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "pagination-info" }, h("span", { class: "current-page" }, this.currentPage), h("span", null, "/"), h("span", { class: "last-page" }, this.lastPage))) : (this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
|
|
99
|
-
'pagination-btn': true,
|
|
100
|
-
'pagination-btn--selected': this.currentPage === n,
|
|
101
|
-
}, disabled: this.currentPage === n, style: {
|
|
102
|
-
'--pagination-btn-width': `${this.buttonWidth}px`,
|
|
103
|
-
}, onClick: () => this.handlePageChange(n) }, n)))), h("div", { key: '10a0645cba99193a64fbe1f2df90bef9b19da8d5', class: "append-btns" }, this.renderNextButtons())));
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
SdPagination.style = sdPaginationCss();
|
|
107
|
-
|
|
108
|
-
const sdSelectCss = () => `sd-select{display:inline-flex;flex-flow:column nowrap;height:fit-content}sd-select *:focus,sd-select *:focus-visible,sd-select *:focus-within{outline:none !important}sd-select .sd-select{width:100%}sd-select .sd-select .sd-select__trigger{padding:4px 28px 4px 12px;display:flex;width:100%;height:100%;align-items:center}sd-select .sd-select .sd-select__trigger .sd-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px;font-size:12px;font-weight:400;text-align:left}sd-select .sd-select .sd-select__trigger .sd-select__clear{margin:0 4px;width:8px;height:8px;background-color:transparent;outline:none;border:none}sd-select .sd-select .sd-select__arrow{position:absolute;top:8px;right:8px;width:12px;height:12px;color:#888888;transition:transform 0.3s ease;margin-left:8px}sd-select .sd-select .sd-select__arrow--open{transform:rotate(180deg)}`;
|
|
109
|
-
|
|
110
|
-
const SdSelect = class extends BaseDropdownEvent {
|
|
111
|
-
constructor(hostRef) {
|
|
112
|
-
super();
|
|
113
|
-
registerInstance(this, hostRef);
|
|
114
|
-
this.update = createEvent(this, "sdUpdate", 7);
|
|
115
|
-
this.dropDownShow = createEvent(this, "sdDropDownShow", 7);
|
|
116
|
-
}
|
|
117
|
-
get el() { return getElement(this); }
|
|
118
|
-
// props
|
|
119
|
-
value = null;
|
|
120
|
-
options = [];
|
|
121
|
-
placeholder = '선택';
|
|
122
|
-
optionPlaceholder = '선택지가 없습니다.';
|
|
123
|
-
width = '200px';
|
|
124
|
-
dropdownHeight = '260px';
|
|
125
|
-
autoFocus = false;
|
|
126
|
-
disabled = false;
|
|
127
|
-
clearable = false;
|
|
128
|
-
searchable = false;
|
|
129
|
-
// props - label
|
|
130
|
-
label = '';
|
|
131
|
-
addonLabel = '';
|
|
132
|
-
icon = undefined;
|
|
133
|
-
labelTooltip = '';
|
|
134
|
-
labelTooltipProps = null;
|
|
135
|
-
// props - form
|
|
136
|
-
rules = [];
|
|
137
|
-
error = false;
|
|
138
|
-
// props - custom slots
|
|
139
|
-
optionRenderer;
|
|
140
|
-
// states
|
|
141
|
-
isOpen = false;
|
|
142
|
-
itemIndex = -1;
|
|
143
|
-
isScrolled = false;
|
|
144
|
-
// events
|
|
145
|
-
update;
|
|
146
|
-
dropDownShow;
|
|
147
|
-
selectRef;
|
|
148
|
-
triggerRef;
|
|
149
|
-
formField;
|
|
150
|
-
filteredOptions = [];
|
|
151
|
-
dropDownWidth = '200px';
|
|
152
|
-
name = nanoid();
|
|
153
|
-
async sdOpen() {
|
|
154
|
-
this.isOpen = true;
|
|
155
|
-
}
|
|
156
|
-
async sdValidate() {
|
|
157
|
-
this.formField?.sdValidate();
|
|
158
|
-
}
|
|
159
|
-
async sdReset() {
|
|
160
|
-
this.formField?.sdReset();
|
|
161
|
-
}
|
|
162
|
-
async sdResetValidate() {
|
|
163
|
-
this.formField?.sdResetValidation();
|
|
164
|
-
}
|
|
165
|
-
async sdFocus() {
|
|
166
|
-
this.formField?.sdFocus();
|
|
167
|
-
}
|
|
168
|
-
async isOpenChanged() {
|
|
169
|
-
// Base class의 이벤트 관리 호출 - 다른 select와의 이벤트 충돌 방지
|
|
170
|
-
this.onDropdownToggle(this.isOpen);
|
|
171
|
-
this.dropDownShow?.emit({ isOpen: this.isOpen });
|
|
172
|
-
if (this.isOpen === false) {
|
|
173
|
-
await this.formField?.sdValidate();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
componentWillLoad() {
|
|
177
|
-
this.filteredOptions = this.options;
|
|
178
|
-
this.dropDownWidth = this.width;
|
|
179
|
-
this.initializeEvent();
|
|
180
|
-
}
|
|
181
|
-
componentDidLoad() {
|
|
182
|
-
if (this.autoFocus) {
|
|
183
|
-
this.selectRef?.focus();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
// render 이후 label을 제외한 trigger의 너비를 기준으로 dropdown 너비 설정
|
|
187
|
-
componentDidRender() {
|
|
188
|
-
const trigger = this.triggerRef;
|
|
189
|
-
const rect = trigger?.getBoundingClientRect();
|
|
190
|
-
this.dropDownWidth = rect?.width ? `${rect.width}px` : this.width;
|
|
191
|
-
}
|
|
192
|
-
disconnectedCallback() {
|
|
193
|
-
this.cleanupEvent(); // global dropdown Manager에서 제거 + 이벤트 정리
|
|
194
|
-
}
|
|
195
|
-
handleDocumentClick(event) {
|
|
196
|
-
if (!this.selectRef?.contains(event.target)) {
|
|
197
|
-
this.isOpen = false;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
handleDocumentKeydown(keyboardEvent) {
|
|
201
|
-
keyboardEvent.stopPropagation();
|
|
202
|
-
const targetKey = ['ArrowDown', 'ArrowUp', 'Enter', 'Escape'];
|
|
203
|
-
if (!targetKey.includes(keyboardEvent.key))
|
|
204
|
-
return;
|
|
205
|
-
keyboardEvent.preventDefault();
|
|
206
|
-
switch (keyboardEvent.key) {
|
|
207
|
-
case 'ArrowDown':
|
|
208
|
-
case 'ArrowUp':
|
|
209
|
-
const keyboardNavigation = new SelectKeyboardNavigation(this.searchable, this.filteredOptions);
|
|
210
|
-
const nextIndex = keyboardNavigation.getNextIndex(this.itemIndex, keyboardEvent.key);
|
|
211
|
-
this.itemIndex = nextIndex;
|
|
212
|
-
break;
|
|
213
|
-
case 'Enter':
|
|
214
|
-
const selectedOption = this.filteredOptions[this.itemIndex];
|
|
215
|
-
if (selectedOption && !selectedOption.disabled) {
|
|
216
|
-
this.value = selectedOption.value;
|
|
217
|
-
this.isOpen = false;
|
|
218
|
-
}
|
|
219
|
-
break;
|
|
220
|
-
case 'Escape':
|
|
221
|
-
this.isOpen = false;
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
getSelectedOption() {
|
|
226
|
-
return this.options.find(option => option.value === this.value);
|
|
227
|
-
}
|
|
228
|
-
closeDropdown() {
|
|
229
|
-
this.isOpen = false;
|
|
230
|
-
}
|
|
231
|
-
handleTriggerClick = (event) => {
|
|
232
|
-
event.stopPropagation();
|
|
233
|
-
if (!this.disabled) {
|
|
234
|
-
this.isOpen = !this.isOpen;
|
|
235
|
-
this.dropDownShow?.emit({ isOpen: this.isOpen });
|
|
236
|
-
}
|
|
237
|
-
};
|
|
238
|
-
handleOptionClick = (detail) => {
|
|
239
|
-
const { option, event } = detail;
|
|
240
|
-
event.stopPropagation();
|
|
241
|
-
if (!option.disabled) {
|
|
242
|
-
this.value = option.value;
|
|
243
|
-
this.isOpen = false;
|
|
244
|
-
const selectedOption = this.getSelectedOption();
|
|
245
|
-
this.update?.emit({ value: selectedOption?.value || null, option: selectedOption || null });
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
render() {
|
|
249
|
-
return (h("sd-field", { key: '33f8a4e75ab20389213be5643f479b806e8e78c3', label: this.label, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, addonLabel: this.addonLabel, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el) }, h("div", { key: '148f21e1a19cf4f4b9e61b4192d631d85dbc57a4', class: {
|
|
250
|
-
'sd-select': true,
|
|
251
|
-
'sd-select--disabled': this.disabled,
|
|
252
|
-
'sd-select--error': !!this.error,
|
|
253
|
-
'sd-select--label': !!this.label,
|
|
254
|
-
}, ref: el => (this.selectRef = el) }, this.renderTrigger(), this.renderDropdown())));
|
|
255
|
-
}
|
|
256
|
-
renderTrigger() {
|
|
257
|
-
const selectedOption = this.getSelectedOption();
|
|
258
|
-
return (h("div", { class: "sd-select__trigger", tabindex: this.disabled ? -1 : 0, onClick: this.handleTriggerClick, ref: el => (this.triggerRef = el) }, h("span", { class: "sd-select__value" }, selectedOption ? selectedOption.label : this.placeholder), this.clearable && selectedOption && !this.disabled && (h("sd-icon", { key: "clear-icon", name: "close", size: 10, color: "#888", class: "sd-select__clear", onClick: async (event) => {
|
|
259
|
-
event.stopPropagation();
|
|
260
|
-
this.value = null;
|
|
261
|
-
await this.formField?.sdValidate();
|
|
262
|
-
} })), h("sd-icon", { key: "arrow-icon", name: "arrowDown", color: "#888", class: { 'sd-select__arrow': true, 'sd-select__arrow--open': this.isOpen } })));
|
|
263
|
-
}
|
|
264
|
-
renderDropdown() {
|
|
265
|
-
if (this.isOpen === false)
|
|
266
|
-
return null;
|
|
267
|
-
const parentRef = (this.selectRef?.querySelector('.sd-select__trigger') ||
|
|
268
|
-
this.selectRef);
|
|
269
|
-
return (h("sd-portal", { open: this.isOpen, parentRef: parentRef, onSdClose: this.closeDropdown }, h("sd-select-dropdown", { value: this.value, options: this.options, itemIndex: this.itemIndex, width: this.dropDownWidth, dropdownHeight: this.dropdownHeight, searchable: this.searchable, optionPlaceholder: this.optionPlaceholder, onSdOptionClick: ({ detail }) => this.handleOptionClick(detail), onSdOptionFiltered: ({ detail }) => (this.filteredOptions = detail) })));
|
|
270
|
-
}
|
|
271
|
-
static get watchers() { return {
|
|
272
|
-
"isOpen": [{
|
|
273
|
-
"isOpenChanged": 0
|
|
274
|
-
}]
|
|
275
|
-
}; }
|
|
276
|
-
};
|
|
277
|
-
SdSelect.style = sdSelectCss();
|
|
278
|
-
|
|
279
|
-
export { SdLoadingSpinner as sd_loading_spinner, SdPagination as sd_pagination, SdSelect as sd_select };
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-DsU722JF.js';
|
|
2
|
-
|
|
3
|
-
const sdRadioButtonGroupCss = () => `sd-radio-button-group{display:inline-flex;width:fit-content;height:fit-content}sd-radio-button-group .sd-radio-button-group{display:inline-flex;flex-flow:row nowrap;gap:0}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option{display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #CCCCCC;background-color:white;color:#333333;font-weight:400;transition:all 0.2s ease;position:relative;-webkit-user-select:none;user-select:none}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option input{display:none}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option:not(:first-child){margin-left:-1px}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option:first-child{border-radius:4px 0 0 4px}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option:last-child{border-radius:0 4px 4px 0}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option:only-child{border-radius:4px}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option::after{content:attr(data-label);position:absolute;font-weight:400;transition:font-weight 0.2s ease}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option:not(sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option--disabled):not(sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option--selected):hover{background-color:#0075FF;color:white;border-color:#0075FF;z-index:2}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option:not(sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option--disabled):not(sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option--selected):hover::after{font-weight:500}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option--selected{border-color:#0075FF;color:#0075FF;background-color:white;z-index:1}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option--disabled{background-color:#E1E1E1;border-color:#CCCCCC;color:#888888;cursor:not-allowed}sd-radio-button-group .sd-radio-button-group .sd-radio-button-group__option:has(input:disabled){cursor:not-allowed}sd-radio-button-group .sd-radio-button-group__label{-webkit-user-select:none;user-select:none;font-weight:500;visibility:hidden}sd-radio-button-group .sd-radio-button-group--sm .sd-radio-button-group__option{padding:4px 12px;font-size:12px;line-height:20px}sd-radio-button-group .sd-radio-button-group--md .sd-radio-button-group__option{padding:4px 20px;font-size:16px;line-height:26px}`;
|
|
4
|
-
|
|
5
|
-
const SdRadioButtonGroup = class {
|
|
6
|
-
constructor(hostRef) {
|
|
7
|
-
registerInstance(this, hostRef);
|
|
8
|
-
this.change = createEvent(this, "sdUpdate", 7);
|
|
9
|
-
}
|
|
10
|
-
value;
|
|
11
|
-
options = [];
|
|
12
|
-
size = 'md';
|
|
13
|
-
disabled = false;
|
|
14
|
-
name;
|
|
15
|
-
change;
|
|
16
|
-
handleRadioChange = (optionValue, optionDisabled) => {
|
|
17
|
-
if (this.disabled || optionDisabled)
|
|
18
|
-
return;
|
|
19
|
-
this.value = optionValue;
|
|
20
|
-
this.change.emit(optionValue);
|
|
21
|
-
};
|
|
22
|
-
isOptionSelected(option) {
|
|
23
|
-
return this.value === option.value;
|
|
24
|
-
}
|
|
25
|
-
isOptionDisabled(option) {
|
|
26
|
-
return this.disabled || !!option.disabled;
|
|
27
|
-
}
|
|
28
|
-
getButtonClasses(option) {
|
|
29
|
-
const classes = [
|
|
30
|
-
'sd-radio-button-group__option',
|
|
31
|
-
this.isOptionSelected(option)
|
|
32
|
-
? 'sd-radio-button-group__option--selected'
|
|
33
|
-
: 'sd-radio-button-group__option--unselected',
|
|
34
|
-
];
|
|
35
|
-
if (this.isOptionDisabled(option)) {
|
|
36
|
-
classes.push('sd-radio-button-group__option--disabled');
|
|
37
|
-
}
|
|
38
|
-
return classes.join(' ');
|
|
39
|
-
}
|
|
40
|
-
getGroupClasses() {
|
|
41
|
-
const classes = ['sd-radio-button-group', `sd-radio-button-group--${this.size}`];
|
|
42
|
-
return classes.join(' ');
|
|
43
|
-
}
|
|
44
|
-
groupName = this.name || `sd-radio-button-group-${crypto.randomUUID()}`;
|
|
45
|
-
render() {
|
|
46
|
-
return (h("div", { key: '14c605d7b034dd83a33cdf34f58bf77201dfc74f', class: this.getGroupClasses(), role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
|
|
47
|
-
const isSelected = this.isOptionSelected(option);
|
|
48
|
-
const isDisabled = this.isOptionDisabled(option);
|
|
49
|
-
return (h("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, h("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && h("span", { class: "sd-radio-button-group__label" }, option.label)));
|
|
50
|
-
})));
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
SdRadioButtonGroup.style = sdRadioButtonGroupCss();
|
|
54
|
-
|
|
55
|
-
export { SdRadioButtonGroup as sd_radio_button_group };
|