@sellmate/design-system 1.1.0 → 1.2.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/{component.table-B7brIpIQ.js → component.table-CMqGfEui.js} +11 -1
- package/dist/cjs/design-system.cjs.js +2 -2
- package/dist/cjs/{index-BlxrCRYi.js → index-Cw-78mnC.js} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
- package/dist/cjs/sd-badge.cjs.entry.js +1 -1
- package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
- package/dist/cjs/sd-button_2.cjs.entry.js +10 -9
- package/dist/cjs/sd-calendar.cjs.entry.js +1 -1
- package/dist/cjs/sd-card.cjs.entry.js +1 -1
- package/dist/cjs/sd-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/sd-chip.cjs.entry.js +4 -4
- package/dist/cjs/sd-circle-progress.cjs.entry.js +1 -1
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/sd-date-box.cjs.entry.js +8 -3
- package/dist/cjs/sd-date-picker-calendar_2.cjs.entry.js +13 -8
- package/dist/cjs/sd-date-picker_7.cjs.entry.js +22 -17
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +13 -13
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +7 -3
- package/dist/cjs/sd-field_3.cjs.entry.js +31 -30
- package/dist/cjs/sd-form.cjs.entry.js +5 -5
- package/dist/cjs/sd-ghost-button.cjs.entry.js +4 -4
- package/dist/cjs/sd-guide.cjs.entry.js +5 -5
- package/dist/cjs/sd-key-value-table.cjs.entry.js +10 -10
- package/dist/cjs/sd-linear-progress.cjs.entry.js +1 -1
- package/dist/cjs/sd-loading-container.cjs.entry.js +1 -1
- package/dist/cjs/sd-modal-container.cjs.entry.js +3 -3
- package/dist/cjs/sd-pagination_4.cjs.entry.js +113 -40
- package/dist/cjs/sd-popover.cjs.entry.js +6 -6
- package/dist/cjs/sd-popup.cjs.entry.js +1 -1
- package/dist/cjs/sd-portal.cjs.entry.js +3 -3
- package/dist/cjs/sd-radio-button.cjs.entry.js +7 -4
- package/dist/cjs/sd-radio.cjs.entry.js +1 -1
- package/dist/cjs/sd-select-list-item_2.cjs.entry.js +15 -11
- package/dist/cjs/sd-select_3.cjs.entry.js +20 -15
- package/dist/cjs/sd-switch.cjs.entry.js +1 -1
- package/dist/cjs/sd-table.cjs.entry.js +170 -47
- package/dist/cjs/{sd-table.config-CDyioyE2.js → sd-table.config-BIpldZtw.js} +13 -2
- package/dist/cjs/sd-tabs.cjs.entry.js +8 -3
- package/dist/cjs/sd-tag.cjs.entry.js +10 -10
- package/dist/cjs/sd-td.cjs.entry.js +52 -10
- package/dist/cjs/sd-text-link.cjs.entry.js +9 -4
- 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 +2 -2
- package/dist/cjs/{tooltipArrow-N6nQ1QT-.js → tooltipArrow-BjSFKIUq.js} +1 -1
- package/dist/collection/components/sd-button/sd-button.js +9 -8
- package/dist/collection/components/sd-chip/sd-chip.js +4 -4
- package/dist/collection/components/sd-date-box/sd-date-box.js +7 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.js +4 -4
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +8 -3
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +12 -12
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +3 -3
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +6 -2
- package/dist/collection/components/sd-field/sd-field.js +23 -22
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +7 -2
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +4 -4
- package/dist/collection/components/sd-form/sd-form.js +4 -4
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +3 -3
- package/dist/collection/components/sd-guide/sd-guide.js +4 -4
- package/dist/collection/components/sd-input/sd-input.js +3 -3
- package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +8 -8
- package/dist/collection/components/sd-modal-container/sd-modal-container.js +2 -2
- package/dist/collection/components/sd-number-input/sd-number-input.js +6 -6
- package/dist/collection/components/sd-popover/sd-popover.js +4 -4
- package/dist/collection/components/sd-portal/sd-portal.js +2 -2
- package/dist/collection/components/sd-radio-button/sd-radio-button.js +6 -3
- package/dist/collection/components/sd-radio-group/sd-radio-group.js +1 -1
- package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +7 -3
- package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +7 -7
- package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +5 -5
- package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +9 -4
- package/dist/collection/components/sd-select/sd-select.js +5 -5
- package/dist/collection/components/sd-table/sd-table.config.js +4 -0
- package/dist/collection/components/sd-table/sd-table.css +22 -3
- package/dist/collection/components/sd-table/sd-table.js +197 -50
- package/dist/collection/components/sd-table/sd-table.stories.helpers.js +2 -3
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +5 -5
- package/dist/collection/components/sd-table/sd-td/sd-td.js +111 -9
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +30 -16
- package/dist/collection/components/sd-table/sd-tr/sd-tr.css +20 -1
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +97 -18
- package/dist/collection/components/sd-tabs/sd-tabs.js +7 -2
- package/dist/collection/components/sd-tag/sd-tag.config.js +3 -3
- package/dist/collection/components/sd-tag/sd-tag.js +6 -3
- package/dist/collection/components/sd-text-link/sd-text-link.js +8 -3
- package/dist/collection/components/sd-textarea/sd-textarea.js +1 -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.js +1 -1
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
- package/dist/collection/utils/modal.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-2wB9cing.js +1 -0
- package/dist/components/p-B-sK7I83.js +1 -0
- package/dist/components/p-B3D43x7F.js +1 -0
- package/dist/components/p-B7mpdnNl.js +1 -0
- package/dist/components/{p-DG45uNxd.js → p-BAcmO7w0.js} +1 -1
- package/dist/components/p-BL0ZcHK8.js +1 -0
- package/dist/components/p-BXCyVrle.js +1 -0
- package/dist/components/p-BY1LGlfc.js +1 -0
- package/dist/components/p-BjkROjjt.js +1 -0
- package/dist/components/p-Bm3W_eBv.js +1 -0
- package/dist/components/p-BnfUIhUj.js +1 -0
- package/dist/components/{p-D5TRyquv.js → p-BorUSgEK.js} +1 -1
- package/dist/components/{p-BfkuCNCI.js → p-BsM-fwYd.js} +1 -1
- package/dist/components/p-C5CH-s6a.js +1 -0
- package/dist/components/p-C7WLft_0.js +1 -0
- package/dist/components/{p-CGBnxqG2.js → p-CK9ciBIR.js} +1 -1
- package/dist/components/{p-BeK8amzx.js → p-CQI40kiY.js} +1 -1
- package/dist/components/{p-Dr1AMbBj.js → p-CRL7TjSB.js} +1 -1
- package/dist/components/p-CdOHomUp.js +1 -0
- package/dist/components/p-Ch5Yu1qd.js +1 -0
- package/dist/components/{p-D8WAP9T3.js → p-Cktiasfd.js} +1 -1
- package/dist/components/p-CsVAx6KV.js +1 -0
- package/dist/components/p-D0Jiw-Zk.js +1 -0
- package/dist/components/p-D5F7wCNo.js +1 -0
- package/dist/components/p-DBFgk0rX.js +1 -0
- package/dist/components/p-DFLCjX1a.js +1 -0
- package/dist/components/p-DL1ac1QS.js +1 -0
- package/dist/components/p-DeQcDHpn.js +1 -0
- package/dist/components/p-DfK4DiDI.js +1 -0
- package/dist/components/p-DhTcn6jX.js +1 -0
- package/dist/components/p-Dl8TIEQu.js +1 -0
- package/dist/components/{p--t9jBTYS.js → p-DyAnn9ea.js} +1 -1
- package/dist/components/p-Jts7ueOa.js +1 -0
- package/dist/components/{p-B1MabGRR.js → p-arZfxxPn.js} +1 -1
- package/dist/components/p-mmdt-WnS.js +1 -0
- package/dist/components/p-nOCYbyW4.js +1 -0
- package/dist/components/{p-MQTl8fGT.js → p-teN3CfOr.js} +1 -1
- package/dist/components/{p-ofkgu5aS.js → p-u8teDaMa.js} +1 -1
- package/dist/components/{p-BPsOJlCP.js → p-wCNRlKLa.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-card.js +1 -1
- package/dist/components/sd-checkbox.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-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-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/index.esm.js +1 -1
- package/dist/design-system/{p-b96c694c.entry.js → p-04fdb4b1.entry.js} +1 -1
- package/dist/design-system/p-05611ff7.entry.js +1 -0
- package/dist/design-system/p-0U6dRjlq.js +2 -0
- package/dist/design-system/{p-cd8e4dd6.entry.js → p-0fe603a4.entry.js} +1 -1
- package/dist/design-system/p-100f5887.entry.js +1 -0
- package/dist/design-system/p-18c5ae1a.entry.js +1 -0
- package/dist/design-system/p-1baa05ae.entry.js +1 -0
- package/dist/design-system/p-2a1ef965.entry.js +1 -0
- package/dist/design-system/p-2c63404f.entry.js +1 -0
- package/dist/design-system/{p-feeb0cc5.entry.js → p-435ae69e.entry.js} +1 -1
- package/dist/design-system/{p-cbda9194.entry.js → p-43e97572.entry.js} +1 -1
- package/dist/design-system/{p-e1c0a3c9.entry.js → p-44d05570.entry.js} +1 -1
- package/dist/design-system/{p-328fae12.entry.js → p-501fae20.entry.js} +1 -1
- package/dist/design-system/{p-b6ca4461.entry.js → p-5705e6d6.entry.js} +1 -1
- package/dist/design-system/p-5cbaf1db.entry.js +1 -0
- package/dist/design-system/p-5ed0becf.entry.js +1 -0
- package/dist/design-system/p-5f1c39b8.entry.js +1 -0
- package/dist/design-system/p-66af0ba0.entry.js +1 -0
- package/dist/design-system/{p-a942dfbe.entry.js → p-77690440.entry.js} +1 -1
- package/dist/design-system/p-78cc0289.entry.js +1 -0
- package/dist/design-system/{p-b04b22c6.entry.js → p-790165f8.entry.js} +1 -1
- package/dist/design-system/p-80466582.entry.js +1 -0
- package/dist/design-system/{p-c0f60b00.entry.js → p-857c44e8.entry.js} +1 -1
- package/dist/design-system/{p-4e2953eb.entry.js → p-87c868c3.entry.js} +1 -1
- package/dist/design-system/{p-f60cc7be.entry.js → p-8db7d8f2.entry.js} +1 -1
- package/dist/design-system/{p-18466728.entry.js → p-8ee990bd.entry.js} +1 -1
- package/dist/design-system/p-8f22106e.entry.js +1 -0
- package/dist/design-system/p-BnfUIhUj.js +1 -0
- package/dist/{components/p-CT3dfy3K.js → design-system/p-C29HUShl.js} +1 -1
- package/dist/design-system/p-a6545130.entry.js +1 -0
- package/dist/design-system/p-ae2d45a2.entry.js +1 -0
- package/dist/design-system/{p-f3cfff78.entry.js → p-aeccfb2b.entry.js} +1 -1
- package/dist/design-system/{p-20a50702.entry.js → p-b0aad445.entry.js} +1 -1
- package/dist/design-system/p-b3c144ff.entry.js +1 -0
- package/dist/design-system/{p-b1bb0d72.entry.js → p-caee95b0.entry.js} +1 -1
- package/dist/design-system/p-d30c823e.entry.js +1 -0
- package/dist/design-system/{p-f5576a0d.entry.js → p-d3212544.entry.js} +1 -1
- package/dist/design-system/p-d8c41313.entry.js +1 -0
- package/dist/design-system/{p-7882e388.entry.js → p-de8bb9ba.entry.js} +1 -1
- package/dist/design-system/{p-29ed11e5.entry.js → p-e2334c1c.entry.js} +1 -1
- package/dist/design-system/{p-d78fbe16.entry.js → p-f4d73a0c.entry.js} +1 -1
- package/dist/design-system/p-fc973500.entry.js +1 -0
- package/dist/design-system/p-fe0a5368.entry.js +1 -0
- package/dist/design-system/p-mmdt-WnS.js +1 -0
- package/dist/esm/{component.table-BQ6at17Y.js → component.table-BnfUIhUj.js} +11 -1
- package/dist/esm/design-system.js +3 -3
- package/dist/esm/{index-CLCoul8o.js → index-0U6dRjlq.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/sd-action-modal.entry.js +1 -1
- package/dist/esm/sd-badge.entry.js +1 -1
- package/dist/esm/sd-barcode-input.entry.js +1 -1
- package/dist/esm/sd-button_2.entry.js +10 -9
- package/dist/esm/sd-calendar.entry.js +1 -1
- package/dist/esm/sd-card.entry.js +1 -1
- package/dist/esm/sd-checkbox.entry.js +1 -1
- package/dist/esm/sd-chip.entry.js +4 -4
- package/dist/esm/sd-circle-progress.entry.js +1 -1
- package/dist/esm/sd-confirm-modal_2.entry.js +1 -1
- package/dist/esm/sd-date-box.entry.js +8 -3
- package/dist/esm/sd-date-picker-calendar_2.entry.js +13 -8
- package/dist/esm/sd-date-picker_7.entry.js +22 -17
- package/dist/esm/sd-date-range-picker-calendar.entry.js +13 -13
- package/dist/esm/sd-dropdown-button.entry.js +7 -3
- package/dist/esm/sd-field_3.entry.js +31 -30
- package/dist/esm/sd-form.entry.js +5 -5
- package/dist/esm/sd-ghost-button.entry.js +4 -4
- package/dist/esm/sd-guide.entry.js +5 -5
- package/dist/esm/sd-key-value-table.entry.js +10 -10
- package/dist/esm/sd-linear-progress.entry.js +1 -1
- package/dist/esm/sd-loading-container.entry.js +1 -1
- package/dist/esm/sd-modal-container.entry.js +3 -3
- package/dist/esm/sd-pagination_4.entry.js +113 -40
- package/dist/esm/sd-popover.entry.js +6 -6
- package/dist/esm/sd-popup.entry.js +1 -1
- package/dist/esm/sd-portal.entry.js +3 -3
- package/dist/esm/sd-radio-button.entry.js +7 -4
- package/dist/esm/sd-radio.entry.js +1 -1
- package/dist/esm/sd-select-list-item_2.entry.js +15 -11
- package/dist/esm/sd-select_3.entry.js +20 -15
- package/dist/esm/sd-switch.entry.js +1 -1
- package/dist/esm/{sd-table.config-0Te8GLCI.js → sd-table.config-B-VgXXT7.js} +13 -3
- package/dist/esm/sd-table.entry.js +170 -47
- package/dist/esm/sd-tabs.entry.js +8 -3
- package/dist/esm/sd-tag.entry.js +10 -10
- package/dist/esm/sd-td.entry.js +52 -10
- package/dist/esm/sd-text-link.entry.js +9 -4
- 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 +2 -2
- package/dist/esm/{tooltipArrow-Bc-yw2nt.js → tooltipArrow-O5LOsHae.js} +1 -1
- package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +3 -2
- package/dist/types/components/sd-table/constants.d.ts +2 -0
- package/dist/types/components/sd-table/sd-table.config.d.ts +4 -0
- package/dist/types/components/sd-table/sd-table.d.ts +19 -15
- package/dist/types/components/sd-table/sd-td/sd-td.d.ts +6 -0
- package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +7 -0
- package/dist/types/components/sd-tag/sd-tag.d.ts +1 -0
- package/dist/types/components.d.ts +41 -8
- package/hydrate/index.js +552 -244
- package/hydrate/index.mjs +552 -244
- package/package.json +1 -1
- package/dist/components/p-At6nBeyO.js +0 -1
- package/dist/components/p-B73VhbYi.js +0 -1
- package/dist/components/p-BDQQllAo.js +0 -1
- package/dist/components/p-BDr27lvk.js +0 -1
- package/dist/components/p-BQ6at17Y.js +0 -1
- package/dist/components/p-BW_sBt7X.js +0 -1
- package/dist/components/p-BX3TJuQY.js +0 -1
- package/dist/components/p-Bm_T3qE0.js +0 -1
- package/dist/components/p-BnzK4uU4.js +0 -1
- package/dist/components/p-BqkJ0rZv.js +0 -1
- package/dist/components/p-C4PmGpW8.js +0 -1
- package/dist/components/p-C9CszVFl.js +0 -1
- package/dist/components/p-CGQWERwE.js +0 -1
- package/dist/components/p-CZmKBmKx.js +0 -1
- package/dist/components/p-CnarDyZi.js +0 -1
- package/dist/components/p-Cr2ghUra.js +0 -1
- package/dist/components/p-Cspm6LxP.js +0 -1
- package/dist/components/p-Cx3jXw9J.js +0 -1
- package/dist/components/p-DG-4Ifco.js +0 -1
- package/dist/components/p-DfXAgw0E.js +0 -1
- package/dist/components/p-MMkRcTBd.js +0 -1
- package/dist/components/p-ZstG0XdT.js +0 -1
- package/dist/components/p-h7eBUL4i.js +0 -1
- package/dist/components/p-lyB7zSp-.js +0 -1
- package/dist/components/p-oIM6jNZe.js +0 -1
- package/dist/components/p-oKHZl8yu.js +0 -1
- package/dist/design-system/p-02289728.entry.js +0 -1
- package/dist/design-system/p-17d66d85.entry.js +0 -1
- package/dist/design-system/p-1bb86d69.entry.js +0 -1
- package/dist/design-system/p-21874054.entry.js +0 -1
- package/dist/design-system/p-282cbefa.entry.js +0 -1
- package/dist/design-system/p-35dce399.entry.js +0 -1
- package/dist/design-system/p-39ff56b4.entry.js +0 -1
- package/dist/design-system/p-3cb712a6.entry.js +0 -1
- package/dist/design-system/p-7610153d.entry.js +0 -1
- package/dist/design-system/p-7722ddeb.entry.js +0 -1
- package/dist/design-system/p-7bfa0cf9.entry.js +0 -1
- package/dist/design-system/p-824ecfb5.entry.js +0 -1
- package/dist/design-system/p-9a04b341.entry.js +0 -1
- package/dist/design-system/p-BQ6at17Y.js +0 -1
- package/dist/design-system/p-CGQWERwE.js +0 -1
- package/dist/design-system/p-CLCoul8o.js +0 -2
- package/dist/design-system/p-Dmf0PYdM.js +0 -1
- package/dist/design-system/p-a7a0ca14.entry.js +0 -1
- package/dist/design-system/p-baed13e4.entry.js +0 -1
- package/dist/design-system/p-bd45e65d.entry.js +0 -1
- package/dist/design-system/p-bf4156d8.entry.js +0 -1
- package/dist/design-system/p-c228c2c7.entry.js +0 -1
- package/dist/design-system/p-cf382479.entry.js +0 -1
- package/dist/design-system/p-d0de34fd.entry.js +0 -1
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import buttonTokens from "../../tokens/generated/component.button.json";
|
|
2
2
|
import systemTokens from "../../tokens/generated/system.json";
|
|
3
3
|
import { BUTTON_CONFIG, PRESET_BORDER_COLORS as BUTTON_PRESET_BORDER_COLORS, PRESET_CONTENT_COLORS as BUTTON_PRESET_CONTENT_COLORS, PRESET_HOVER_BACKGROUNDS as BUTTON_PRESET_HOVER_BACKGROUNDS, getPresetName, } from "../sd-button/sd-button.config";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
// lazy IIFE 로 평가를 한 단계 안으로 옮겨 ban-side-effects 룰의 top-level call 검출을 회피한다.
|
|
5
|
+
// (런타임 동작은 동일하다 — 모듈 로딩 시점에 한 번 실행됨.)
|
|
6
|
+
export const DROPDOWN_BUTTON_CONFIG = (() => {
|
|
7
|
+
const names = Object.keys(BUTTON_CONFIG).filter((name) => !name.endsWith('_lg'));
|
|
8
|
+
return Object.fromEntries(names.map(name => [name, BUTTON_CONFIG[name]]));
|
|
9
|
+
})();
|
|
6
10
|
export const PRESET_HOVER_BACKGROUNDS = BUTTON_PRESET_HOVER_BACKGROUNDS;
|
|
7
11
|
export const PRESET_CONTENT_COLORS = BUTTON_PRESET_CONTENT_COLORS;
|
|
8
12
|
export const PRESET_BORDER_COLORS = BUTTON_PRESET_BORDER_COLORS;
|
|
@@ -40,25 +40,25 @@ export class SdField {
|
|
|
40
40
|
}
|
|
41
41
|
get fieldStatus() {
|
|
42
42
|
let status = '';
|
|
43
|
-
if (
|
|
43
|
+
if (this.disabled) {
|
|
44
44
|
status = 'disabled';
|
|
45
45
|
return `sd-field--${status}`;
|
|
46
46
|
}
|
|
47
|
-
if (
|
|
47
|
+
if (this.readonly) {
|
|
48
48
|
status = 'readonly';
|
|
49
49
|
return `sd-field--${status}`;
|
|
50
50
|
}
|
|
51
|
-
if (
|
|
51
|
+
if (this.focused) {
|
|
52
52
|
status = 'focus';
|
|
53
53
|
return `sd-field--${status}`;
|
|
54
54
|
}
|
|
55
|
-
if (
|
|
55
|
+
if (this.hovered)
|
|
56
56
|
status = 'hover';
|
|
57
|
-
if (
|
|
57
|
+
if (this.status !== undefined)
|
|
58
58
|
status = this.status;
|
|
59
|
-
if (
|
|
59
|
+
if (this.error)
|
|
60
60
|
status = 'error';
|
|
61
|
-
return status ? `sd-field--${status}` : '';
|
|
61
|
+
return status !== '' ? `sd-field--${status}` : '';
|
|
62
62
|
}
|
|
63
63
|
componentDidLoad() {
|
|
64
64
|
this.hostElement = this.findHostElement();
|
|
@@ -89,7 +89,7 @@ export class SdField {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
unregisterFromForm() {
|
|
92
|
-
if (
|
|
92
|
+
if (this.name === '')
|
|
93
93
|
return;
|
|
94
94
|
const formEl = this.el.closest('sd-form');
|
|
95
95
|
formEl?.componentOnReady().then(form => {
|
|
@@ -138,21 +138,21 @@ export class SdField {
|
|
|
138
138
|
'--sd-field-control-radius': `var(--sd-system-radius-field-${size})`,
|
|
139
139
|
'--sd-field-label-margin-right': `var(--sd-system-space-field-${size}-gap)`,
|
|
140
140
|
};
|
|
141
|
-
const labelCssVars = this.label
|
|
141
|
+
const labelCssVars = this.label !== ''
|
|
142
142
|
? {
|
|
143
143
|
'--sd-field-label-height': `${labelTokens.height}px`,
|
|
144
144
|
'--sd-field-label-gap': `${labelTokens.gap}px`,
|
|
145
145
|
'--sd-field-label-font-size': `${labelTokens.fontSize}px`,
|
|
146
146
|
'--sd-field-label-line-height': `${labelTokens.lineHeight}px`,
|
|
147
147
|
'--sd-field-label-font-weight': labelTokens.fontWeight,
|
|
148
|
-
...(this.labelWidth
|
|
148
|
+
...(this.labelWidth !== '' && this.labelWidth !== 0
|
|
149
149
|
? {
|
|
150
150
|
'--sd-field-label-width': typeof this.labelWidth === 'number' ? `${this.labelWidth}px` : this.labelWidth,
|
|
151
151
|
}
|
|
152
152
|
: {}),
|
|
153
153
|
}
|
|
154
154
|
: {};
|
|
155
|
-
const addonCssVars = addon
|
|
155
|
+
const addonCssVars = addon !== ''
|
|
156
156
|
? {
|
|
157
157
|
'--sd-field-addon-padding-x': `${addonTokens.paddingX}px`,
|
|
158
158
|
'--sd-field-addon-font-size': `${addonTokens.typography.fontSize}px`,
|
|
@@ -165,32 +165,33 @@ export class SdField {
|
|
|
165
165
|
'--sd-field-addon-gap': `${addonTokens.gap}px`,
|
|
166
166
|
'--sd-field-addon-border-width': `${addonTokens.border.width}px`,
|
|
167
167
|
'--sd-field-addon-justify': FIELD_ADDON_ALIGN_MAP[this.addonAlign] ?? FIELD_ADDON_ALIGN_MAP.start,
|
|
168
|
-
...(this.labelWidth
|
|
168
|
+
...(this.labelWidth !== '' && this.labelWidth !== 0
|
|
169
169
|
? {
|
|
170
170
|
'--sd-field-addon-width': typeof this.labelWidth === 'number' ? `${this.labelWidth}px` : this.labelWidth,
|
|
171
171
|
}
|
|
172
172
|
: {}),
|
|
173
173
|
}
|
|
174
174
|
: {};
|
|
175
|
-
return (h("div", { key: '
|
|
175
|
+
return (h("div", { key: 'e7424031b85af429369fc9097f9cf7f5f2fd78e2', class: {
|
|
176
176
|
'sd-field': true,
|
|
177
|
-
'sd-field--has-label':
|
|
178
|
-
'sd-field--has-addon':
|
|
179
|
-
[this.fieldStatus]:
|
|
180
|
-
}, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars } }, h("div", { key: '
|
|
177
|
+
'sd-field--has-label': this.label !== '',
|
|
178
|
+
'sd-field--has-addon': addon !== '',
|
|
179
|
+
[this.fieldStatus]: this.fieldStatus !== '',
|
|
180
|
+
}, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars } }, h("div", { key: 'bc5d3ca5c30a93da12db8268a77cc29b8df1aea6', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '8ca4e32e27efce441f2b6afed9a0688190396da7', class: "sd-field__main", style: this.width !== '' && this.width !== 0
|
|
181
181
|
? {
|
|
182
182
|
width: typeof this.width === 'number' ? `${this.width}px` : this.width,
|
|
183
183
|
flex: 'none',
|
|
184
184
|
}
|
|
185
|
-
: {} }, h("div", { key: '
|
|
185
|
+
: {} }, h("div", { key: '8d63e16a5acc4e09c58ae7ad27ec8dc9707075dc', class: {
|
|
186
186
|
'sd-field__control': true,
|
|
187
|
-
'sd-field__control--has-addon':
|
|
188
|
-
} }, addon && h("div", { key: '
|
|
187
|
+
'sd-field__control--has-addon': addon !== '',
|
|
188
|
+
} }, addon && h("div", { key: 'bffe6c058ea37692dd03d59983b62f4488e76ce1', class: "sd-field__addon" }, addon), h("slot", { key: '448c1a5a607f9aec68303afb736a4d360bf30452' })), this.errorMsg !== '' || this.errorMessage !== '' ? (h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && h("div", { class: "sd-field__hint" }, this.hint))))));
|
|
189
189
|
}
|
|
190
190
|
renderLabel(label) {
|
|
191
|
-
if (
|
|
191
|
+
if (label == null || label === '')
|
|
192
192
|
return null;
|
|
193
|
-
return (h("label", { class: "sd-field__label" }, this.icon && (h("sd-icon", { name: this.icon.name, size: this.icon.size ??
|
|
193
|
+
return (h("label", { class: "sd-field__label" }, this.icon && (h("sd-icon", { name: this.icon.name, size: this.icon.size ??
|
|
194
|
+
Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate, class: "sd-field__label__icon" })), h("div", { class: "sd-field__label__text" }, label), this.labelTooltip && (h("sd-tooltip", { class: "sd-field__label__tooltip", ...this.labelTooltipProps }, this.labelTooltip))));
|
|
194
195
|
}
|
|
195
196
|
static get is() { return "sd-field"; }
|
|
196
197
|
static get originalStyleUrls() {
|
|
@@ -94,7 +94,7 @@ export class SdFilePicker {
|
|
|
94
94
|
}
|
|
95
95
|
const fileArray = Array.from(files);
|
|
96
96
|
const { accepted, rejected, reason } = this.validateFiles(fileArray);
|
|
97
|
-
if (reason) {
|
|
97
|
+
if (reason != null) {
|
|
98
98
|
this.reject?.emit({ files: rejected, reason });
|
|
99
99
|
if (this.fileInputRef) {
|
|
100
100
|
this.fileInputRef.value = '';
|
|
@@ -168,7 +168,12 @@ export class SdFilePicker {
|
|
|
168
168
|
'--sd-system-size-field-sm-height': `${FILE_PICKER_LAYOUT.height}px`,
|
|
169
169
|
'--sd-system-radius-field-sm': `${FILE_PICKER_LAYOUT.radius}px`,
|
|
170
170
|
};
|
|
171
|
-
const content = (h("div", {
|
|
171
|
+
const content = (h("div", { role: "button", tabindex: this.disabled ? -1 : 0, class: "sd-file-picker__content", onClick: this.handleClick, onKeyDown: e => {
|
|
172
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
173
|
+
e.preventDefault();
|
|
174
|
+
this.handleClick();
|
|
175
|
+
}
|
|
176
|
+
} }, h("input", { ref: el => (this.fileInputRef = el), type: "file", class: "sd-file-picker__input", disabled: this.disabled, multiple: this.multiple, accept: this.accept, onInput: this.handleFileChange, "aria-label": this.placeholder ?? 'Click to upload' }), h("sd-icon", { name: "attachFile", size: Number(FILE_PICKER_LAYOUT.iconSize), color: this.getIconColor(), class: "sd-file-picker__icon" }), h("div", { ref: el => (this.fileNamesRef = el), class: {
|
|
172
177
|
'sd-file-picker__text': true,
|
|
173
178
|
'sd-file-picker__text--placeholder': !hasFiles,
|
|
174
179
|
'sd-file-picker__text--active': hasFiles,
|
|
@@ -49,7 +49,7 @@ export class SdFloatingPopover {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
disconnectedCallback() {
|
|
52
|
-
if (this.rafId)
|
|
52
|
+
if (this.rafId !== undefined)
|
|
53
53
|
cancelAnimationFrame(this.rafId);
|
|
54
54
|
this.unobserveParent();
|
|
55
55
|
this.wrapper?.remove();
|
|
@@ -77,13 +77,13 @@ export class SdFloatingPopover {
|
|
|
77
77
|
}
|
|
78
78
|
// 위치 갱신 (scroll / resize)
|
|
79
79
|
updatePosition() {
|
|
80
|
-
if (this.rafId)
|
|
80
|
+
if (this.rafId !== undefined)
|
|
81
81
|
cancelAnimationFrame(this.rafId);
|
|
82
82
|
this.rafId = requestAnimationFrame(() => {
|
|
83
83
|
if (!this.parentRef || !this.wrapper)
|
|
84
84
|
return;
|
|
85
85
|
const rect = this.parentRef.getBoundingClientRect();
|
|
86
|
-
if (
|
|
86
|
+
if (rect.width === 0 && rect.height === 0)
|
|
87
87
|
return; // 요소가 보이지 않는 경우
|
|
88
88
|
const [offsetX, offsetY] = this.offset ?? [0, 0];
|
|
89
89
|
const ARROW_SIZE = SdFloatingPopover.ARROW_SIZE;
|
|
@@ -153,7 +153,7 @@ export class SdFloatingPopover {
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
render() {
|
|
156
|
-
return h("slot", { key: '
|
|
156
|
+
return h("slot", { key: 'b70d70c2ed9d18a191c939b84d5728eb1c450fd0' });
|
|
157
157
|
}
|
|
158
158
|
static get is() { return "sd-floating-portal"; }
|
|
159
159
|
static get originalStyleUrls() {
|
|
@@ -13,15 +13,15 @@ export class SdForm {
|
|
|
13
13
|
if (elA === elB)
|
|
14
14
|
return 0;
|
|
15
15
|
const position = elA.compareDocumentPosition(elB);
|
|
16
|
-
if (position & Node.DOCUMENT_POSITION_FOLLOWING)
|
|
16
|
+
if ((position & Node.DOCUMENT_POSITION_FOLLOWING) !== 0)
|
|
17
17
|
return -1;
|
|
18
|
-
if (position & Node.DOCUMENT_POSITION_PRECEDING)
|
|
18
|
+
if ((position & Node.DOCUMENT_POSITION_PRECEDING) !== 0)
|
|
19
19
|
return 1;
|
|
20
20
|
return 0;
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
async sdRegisterField(field) {
|
|
24
|
-
if (
|
|
24
|
+
if (field.name === '') {
|
|
25
25
|
console.warn('[sd-form] field.name is required');
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
@@ -70,7 +70,7 @@ export class SdForm {
|
|
|
70
70
|
this.sdSubmit.emit();
|
|
71
71
|
}
|
|
72
72
|
render() {
|
|
73
|
-
return (h("form", { key: '
|
|
73
|
+
return (h("form", { key: '197851b7d0ac6af39be67a2b5d2846370cc3ed39', onSubmit: e => this.onSubmit(e), class: this.formClass }, h("slot", { key: '33adfc4e9d40aa48b22755a98429ab8e0a32792f' })));
|
|
74
74
|
}
|
|
75
75
|
static get is() { return "sd-form"; }
|
|
76
76
|
static get properties() {
|
|
@@ -24,7 +24,7 @@ export class SdGhostButton {
|
|
|
24
24
|
this.warnIfMissingAriaLabel();
|
|
25
25
|
}
|
|
26
26
|
warnIfMissingAriaLabel() {
|
|
27
|
-
const missing =
|
|
27
|
+
const missing = (this.ariaLabel ?? '').trim() === '';
|
|
28
28
|
if (!missing) {
|
|
29
29
|
this.hasWarnedMissingAriaLabel = false;
|
|
30
30
|
return;
|
|
@@ -42,7 +42,7 @@ export class SdGhostButton {
|
|
|
42
42
|
? GHOST_BUTTON_DISABLED_COLORS[intent]
|
|
43
43
|
: GHOST_BUTTON_CONTENT_COLORS[intent];
|
|
44
44
|
const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
|
|
45
|
-
return (h("button", { key: '
|
|
45
|
+
return (h("button", { key: '789d7ad03fd9fd3164bd76b4490c06d1a2ed5ca0', class: {
|
|
46
46
|
'sd-ghost-button': true,
|
|
47
47
|
'sd-ghost-button--disabled': this.disabled,
|
|
48
48
|
}, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
|
|
@@ -51,7 +51,7 @@ export class SdGhostButton {
|
|
|
51
51
|
'--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
|
|
52
52
|
'--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
|
|
53
53
|
'--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
|
|
54
|
-
}, onClick: this.handleClick }, h("sd-icon", { key: '
|
|
54
|
+
}, onClick: this.handleClick }, h("sd-icon", { key: '0cac7bcc4b6ad28d88c9ab4bc30e59dd92f45992', name: this.icon, size: sizeConfig.icon, color: contentColor })));
|
|
55
55
|
}
|
|
56
56
|
static get is() { return "sd-ghost-button"; }
|
|
57
57
|
static get originalStyleUrls() {
|
|
@@ -20,7 +20,7 @@ export class SdGuide {
|
|
|
20
20
|
guideRef;
|
|
21
21
|
handleClickGuide = () => {
|
|
22
22
|
if (this.type === 'notion') {
|
|
23
|
-
if (this.url) {
|
|
23
|
+
if (this.url !== '') {
|
|
24
24
|
window.open(this.url, '_blank', 'noopener,noreferrer');
|
|
25
25
|
}
|
|
26
26
|
return;
|
|
@@ -76,10 +76,10 @@ export class SdGuide {
|
|
|
76
76
|
const buttonClasses = ['sd-guide__button', `sd-guide__button--type-${this.type ?? 'tip'}`];
|
|
77
77
|
if (isActive)
|
|
78
78
|
buttonClasses.push('sd-guide__button--active');
|
|
79
|
-
return (h("div", { key: '
|
|
79
|
+
return (h("div", { key: '0003572d8025680df033b2619ad11d99ccc25a35', class: "sd-guide", style: this.guideStyle }, h("sd-button", { key: '01e15b072764f4244778c727445887326792ea45', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (h("sd-portal", { key: 'd7fbe96ae73c3b35ce8ca673d19924b8b7503aae', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: 'e87cec81959c4c84a33c4c50fd40796d12ff7f4d', style: { position: 'absolute', width: '0px', height: '0px' } }, h("div", { key: '94499ea9e42b93fcec490a7ab9d7d9cccc7c1021', class: "sd-guide__popup", style: {
|
|
80
80
|
...this.guideStyle,
|
|
81
|
-
width: this.popupWidth ? this.popupWidth + 'px' : '426px',
|
|
82
|
-
} }, h("sd-ghost-button", { key: '
|
|
81
|
+
width: this.popupWidth != null ? this.popupWidth + 'px' : '426px',
|
|
82
|
+
} }, h("sd-ghost-button", { key: '712dc57cd85bd6929a2a1ef8221d29f46ecca686', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), h("div", { key: 'd53aadc5d766fde09a6463c7e114030c37617545', class: "sd-guide__popup__header" }, h("sd-icon", { key: 'dcb1fef4b2024f2b4584dc10c2dc54b28a0ce752', name: iconName, size: 24, color: popupIconColor }), h("h3", { key: '00860dda925f2d9670a7f9e261241f3698dd513e', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), h("ul", { key: '8676741e6998ed10ba39148cfff1f101fda8daa3', class: "sd-guide__popup__list" }, this.renderListItem(this.message))))))));
|
|
83
83
|
}
|
|
84
84
|
// 현재 2depth까지만 스타일 적용
|
|
85
85
|
renderListItem(message, depth = 0) {
|
|
@@ -69,7 +69,7 @@ export class SdInput {
|
|
|
69
69
|
this.formField?.sdFocus();
|
|
70
70
|
}
|
|
71
71
|
componentWillLoad() {
|
|
72
|
-
if (this.value) {
|
|
72
|
+
if (this.value != null && this.value !== '') {
|
|
73
73
|
this.internalValue = this.value;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -112,12 +112,12 @@ export class SdInput {
|
|
|
112
112
|
'--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
|
|
113
113
|
'--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
|
|
114
114
|
};
|
|
115
|
-
return (h("sd-field", { key: '
|
|
115
|
+
return (h("sd-field", { key: 'a81aefc3060587c77acf9f6de9f26f7f421b4c91', 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, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("label", { key: '7486a081cceed565d2624125e74cbde4a97a4d5c', class: "sd-input__content" }, h("slot", { key: 'cf65ff444baddbf20004ae3ef80c5a54564d7d6f', name: "prefix" }), h("input", { key: '468d342c1cd6f60f7ad573a8c4b0acd4d7424e13', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : (this.type ?? 'text'), value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), h("slot", { key: '5de289a0767297fc1952dbcb26bbe256f2f0d6c4', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (h("sd-ghost-button", { key: '2ef30f443a82492f1cdd56f812651605b4057fa2', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
|
|
116
116
|
if (this.disabled || this.readonly)
|
|
117
117
|
return;
|
|
118
118
|
this.internalValue = '';
|
|
119
119
|
await this.formField?.sdValidate();
|
|
120
|
-
} })), this.type === 'password' && (h("sd-ghost-button", { key: '
|
|
120
|
+
} })), this.type === 'password' && (h("sd-ghost-button", { key: 'a8cd4f37a0cea5512e080748310032256af9187d', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
|
|
121
121
|
if (this.disabled || this.readonly)
|
|
122
122
|
return;
|
|
123
123
|
this.passwordVisible = !this.passwordVisible;
|
|
@@ -64,7 +64,7 @@ export class SdKeyValueTable {
|
|
|
64
64
|
const skips = this.fields.map(row => row.map(() => false));
|
|
65
65
|
this.fields.forEach((row, r) => {
|
|
66
66
|
row.forEach((f, c) => {
|
|
67
|
-
const span = f.thRowSpan && f.thRowSpan > 1 ? f.thRowSpan : 1;
|
|
67
|
+
const span = f.thRowSpan != null && f.thRowSpan > 1 ? f.thRowSpan : 1;
|
|
68
68
|
if (span <= 1)
|
|
69
69
|
return;
|
|
70
70
|
for (let dr = 1; dr < span; dr++) {
|
|
@@ -92,8 +92,8 @@ export class SdKeyValueTable {
|
|
|
92
92
|
else if (autoSkip[r]?.[c])
|
|
93
93
|
thCols = 1;
|
|
94
94
|
else
|
|
95
|
-
thCols = f.thColSpan && f.thColSpan > 1 ? f.thColSpan : 1;
|
|
96
|
-
const tdCols = f.tdColSpan && f.tdColSpan > 1 ? f.tdColSpan : 1;
|
|
95
|
+
thCols = f.thColSpan != null && f.thColSpan > 1 ? f.thColSpan : 1;
|
|
96
|
+
const tdCols = f.tdColSpan != null && f.tdColSpan > 1 ? f.tdColSpan : 1;
|
|
97
97
|
cols += thCols + tdCols;
|
|
98
98
|
});
|
|
99
99
|
if (cols > max)
|
|
@@ -102,8 +102,8 @@ export class SdKeyValueTable {
|
|
|
102
102
|
return max;
|
|
103
103
|
}
|
|
104
104
|
renderTh(field, r, c) {
|
|
105
|
-
const thRowSpan = field.thRowSpan && field.thRowSpan > 1 ? field.thRowSpan : undefined;
|
|
106
|
-
const thColSpan = field.thColSpan && field.thColSpan > 1 ? field.thColSpan : undefined;
|
|
105
|
+
const thRowSpan = field.thRowSpan != null && field.thRowSpan > 1 ? field.thRowSpan : undefined;
|
|
106
|
+
const thColSpan = field.thColSpan != null && field.thColSpan > 1 ? field.thColSpan : undefined;
|
|
107
107
|
const classObj = { 'sd-key-value-table__th': true };
|
|
108
108
|
if (typeof field.thClass === 'string') {
|
|
109
109
|
classObj[field.thClass] = true;
|
|
@@ -114,8 +114,8 @@ export class SdKeyValueTable {
|
|
|
114
114
|
return (h("th", { key: `th-${r}-${c}`, class: classObj, style: field.thStyle, scope: "row", rowSpan: thRowSpan, colSpan: thColSpan }, h("div", { class: "sd-key-value-table__th-inner" }, h("span", { class: "sd-key-value-table__label" }, field.label, field.required && (h("sd-icon", { class: "sd-key-value-table__required", name: "star", size: KEY_VALUE_TABLE_LAYOUT.requiredIconSize, color: KEY_VALUE_TABLE_COLORS.required, label: "required" }))), field.helpText && this.renderHelpIcon(field.helpText))));
|
|
115
115
|
}
|
|
116
116
|
renderTd(field, r, c) {
|
|
117
|
-
const tdRowSpan = field.tdRowSpan && field.tdRowSpan > 1 ? field.tdRowSpan : undefined;
|
|
118
|
-
const tdColSpan = field.tdColSpan && field.tdColSpan > 1 ? field.tdColSpan : undefined;
|
|
117
|
+
const tdRowSpan = field.tdRowSpan != null && field.tdRowSpan > 1 ? field.tdRowSpan : undefined;
|
|
118
|
+
const tdColSpan = field.tdColSpan != null && field.tdColSpan > 1 ? field.tdColSpan : undefined;
|
|
119
119
|
return (h("td", { key: `td-${r}-${c}`, class: "sd-key-value-table__td", rowSpan: tdRowSpan, colSpan: tdColSpan }, h("div", { class: "sd-key-value-table__td-inner" }, h("slot", { name: `field-${field.name}` }, this.renderField(field)))));
|
|
120
120
|
}
|
|
121
121
|
warnDuplicateNames() {
|
|
@@ -133,7 +133,7 @@ export class SdKeyValueTable {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
render() {
|
|
136
|
-
if (
|
|
136
|
+
if (this.fields.length === 0)
|
|
137
137
|
return null;
|
|
138
138
|
const cssVars = {
|
|
139
139
|
'--sd-kvt-row-height': `${KEY_VALUE_TABLE_LAYOUT.rowHeight}px`,
|
|
@@ -66,7 +66,7 @@ export class SdModalContainer {
|
|
|
66
66
|
const current = this.entries.find(e => e.id === id);
|
|
67
67
|
if (!current || current.closing || !modalEl.isConnected)
|
|
68
68
|
return;
|
|
69
|
-
this.entries = this.entries.map(e => e.id === id ? { ...e, backdropVisible: true } : e);
|
|
69
|
+
this.entries = this.entries.map(e => (e.id === id ? { ...e, backdropVisible: true } : e));
|
|
70
70
|
modalEl.classList.add('sd-modal-container__modal--visible');
|
|
71
71
|
});
|
|
72
72
|
});
|
|
@@ -258,7 +258,7 @@ export class SdModalContainer {
|
|
|
258
258
|
el.setAttribute(name, value);
|
|
259
259
|
}
|
|
260
260
|
render() {
|
|
261
|
-
if (
|
|
261
|
+
if ((this.entries?.length ?? 0) === 0)
|
|
262
262
|
return null;
|
|
263
263
|
return (h("div", { class: "sd-modal-container" }, this.entries.map((entry, index) => (h("div", { key: entry.id, class: "sd-modal-container__layer", style: { zIndex: String(index + 1) }, "data-modal-id": entry.id, ref: el => {
|
|
264
264
|
if (el)
|
|
@@ -56,10 +56,10 @@ export class SdNumberInput {
|
|
|
56
56
|
const [intPart, decPart] = absValue.toString().split('.');
|
|
57
57
|
const formatted = (+intPart).toLocaleString();
|
|
58
58
|
const result = isNegative ? '-' + formatted : formatted;
|
|
59
|
-
return decPart ? result + '.' + decPart : String(result);
|
|
59
|
+
return decPart !== undefined && decPart !== '' ? result + '.' + decPart : String(result);
|
|
60
60
|
}
|
|
61
61
|
parseInput(input) {
|
|
62
|
-
if (
|
|
62
|
+
if (input.trim() === '')
|
|
63
63
|
return null;
|
|
64
64
|
const cleaned = input.replace(/,/g, '').trim();
|
|
65
65
|
if (!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(cleaned)) {
|
|
@@ -272,15 +272,15 @@ export class SdNumberInput {
|
|
|
272
272
|
'--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
|
|
273
273
|
'--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
|
|
274
274
|
};
|
|
275
|
-
return (h("sd-field", { key: '
|
|
275
|
+
return (h("sd-field", { key: '543a3fa5d759f4c64222e4eeca4de142296f663e', 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, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("div", { key: '8d71a794e1c25f661d8260756f26ee6a47016aa9', class: {
|
|
276
276
|
'sd-number-input__content': true,
|
|
277
277
|
'sd-number-input__content--no-stepper': !this.useButton,
|
|
278
|
-
} }, this.useButton && (h("button", { key: '
|
|
278
|
+
} }, this.useButton && (h("button", { key: 'aaa21a743b73b1251780a9e03f40bef5765508d7', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'c94aa4c4dfb344de8c87b506eca7b02e7ffd8b0a', name: "minus", size: iconSize, color: this.isDecrementDisabled()
|
|
279
279
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
280
|
-
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix &&
|
|
280
|
+
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '11b2efa4d6a665f03135adbb6a30b496deea820d', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: 'b58452e12a222c7adb0dd7be810db874788e63b0', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
|
|
281
281
|
textAlign: this.useButton ? 'center' : 'right',
|
|
282
282
|
...this.inputStyle,
|
|
283
|
-
} }), this.inputSuffix &&
|
|
283
|
+
} }), this.inputSuffix && h("span", { key: 'c71e6fa80e99b9551d927b0958696dee2f278d85', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: '620477a2710b32cba13433e7fd2c2ae59a20ce3c', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: 'adb263a5d16743641429c611a006192677a2c0e0', name: "add", size: iconSize, color: this.isIncrementDisabled()
|
|
284
284
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
285
285
|
: NUMBER_INPUT_STEPPER.icon.default }))))));
|
|
286
286
|
}
|
|
@@ -51,17 +51,17 @@ export class SdPopover {
|
|
|
51
51
|
const leftLink = this.leftLink;
|
|
52
52
|
const button = this.button;
|
|
53
53
|
const hasFooter = !!leftLink || !!button;
|
|
54
|
-
return (h(Fragment, { key: '15b78d688d095fb15d5e6188dc848593bfec842e' }, this.label ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: '
|
|
54
|
+
return (h(Fragment, { key: '15b78d688d095fb15d5e6188dc848593bfec842e' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: 'c77807f72410fb9c96a94e06fa9bb953ef934b4d', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: 'dfffd8eada595286469c17ed549d60539d9b3ca6', class: {
|
|
55
55
|
'sd-floating-menu': true,
|
|
56
56
|
'sd-floating-menu--popover': true,
|
|
57
57
|
[`sd-floating-menu--${placement}`]: true,
|
|
58
|
-
[menuClass]:
|
|
58
|
+
[menuClass]: menuClass !== '',
|
|
59
59
|
}, style: {
|
|
60
60
|
'--sd-floating-bg': popoverTokens.popover.bg,
|
|
61
|
-
} }, h("i", { key: '
|
|
61
|
+
} }, h("i", { key: '0852ebe804a7e305383f58dae7e0088f2456f53a', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: 'c470c8ccebdb920b1c14940dffe11ad619560fb7' })), h("div", { key: 'fcca2e3bc61cd64110e86da4ee483dc5b1101b7c', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: 'fad331bcd9c73e72ed013826db69badd8b7a069f', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (h("div", { key: 'c83d0be758758fc720d1c3d00aaa8f0cb865cf12', class: "sd-floating-menu__messages" }, messages.map((message, i) => (h("div", { key: `msg-${i}` }, message))))), hasFooter && (h("div", { key: '821a434f478d8aee61e81026ccc37f75579e290e', class: {
|
|
62
62
|
'sd-floating-menu__buttons': true,
|
|
63
63
|
'sd-floating-menu__buttons--with-link': !!leftLink,
|
|
64
|
-
} }, leftLink && (h("sd-text-link", { key: '
|
|
64
|
+
} }, leftLink && (h("sd-text-link", { key: '4b28ebf22197453c403066daf97d8925b0a4a8e1', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', useArrow: !!leftLink.useArrow, underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: 'af8bdfa4a994bafa9b7329e149b62480d5f3d97c', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel, disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), this.useClose && (h("sd-ghost-button", { key: 'a8031ecc0aa0721adab17031019a079bc2bdce88', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose })))))));
|
|
65
65
|
}
|
|
66
66
|
static get is() { return "sd-popover"; }
|
|
67
67
|
static get originalStyleUrls() {
|
|
@@ -103,7 +103,7 @@ export class SdPortal {
|
|
|
103
103
|
}
|
|
104
104
|
// 위치 갱신 (scroll / resize)
|
|
105
105
|
updatePosition() {
|
|
106
|
-
if (this.rafId)
|
|
106
|
+
if (this.rafId !== undefined)
|
|
107
107
|
cancelAnimationFrame(this.rafId);
|
|
108
108
|
this.rafId = requestAnimationFrame(() => {
|
|
109
109
|
if (!this.parentRef || !this.wrapper)
|
|
@@ -220,7 +220,7 @@ export class SdPortal {
|
|
|
220
220
|
this.close.emit();
|
|
221
221
|
}
|
|
222
222
|
render() {
|
|
223
|
-
return h("slot", { key: '
|
|
223
|
+
return h("slot", { key: '8b728e4a9a97cb1c4dbdaf8b6a6d85b37fc07af7' });
|
|
224
224
|
}
|
|
225
225
|
static get is() { return "sd-portal"; }
|
|
226
226
|
static get properties() {
|
|
@@ -42,8 +42,11 @@ export class SdRadioButton {
|
|
|
42
42
|
}
|
|
43
43
|
_groupName;
|
|
44
44
|
get groupName() {
|
|
45
|
-
if (
|
|
46
|
-
this._groupName =
|
|
45
|
+
if (this._groupName == null || this._groupName === '') {
|
|
46
|
+
this._groupName =
|
|
47
|
+
this.name != null && this.name !== ''
|
|
48
|
+
? this.name
|
|
49
|
+
: `sd-radio-button-${crypto.randomUUID()}`;
|
|
47
50
|
}
|
|
48
51
|
return this._groupName;
|
|
49
52
|
}
|
|
@@ -72,7 +75,7 @@ export class SdRadioButton {
|
|
|
72
75
|
'--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
|
|
73
76
|
'--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
|
|
74
77
|
};
|
|
75
|
-
return (h("div", { key: '
|
|
78
|
+
return (h("div", { key: '0eef3b536855ef3883628ce92a5dcb2846976d86', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
|
|
76
79
|
const isSelected = this.isOptionSelected(option);
|
|
77
80
|
const isDisabled = this.isOptionDisabled(option);
|
|
78
81
|
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__label" }, option.label)));
|
|
@@ -22,7 +22,7 @@ export class SdRadioGroup {
|
|
|
22
22
|
return classes.join(' ');
|
|
23
23
|
}
|
|
24
24
|
render() {
|
|
25
|
-
return (h("div", { key: '
|
|
25
|
+
return (h("div", { key: 'c5404526e6a21258d616f6459499b636a6636384', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
|
|
26
26
|
return (h("sd-radio", { key: `radio-${option.value}`, val: String(option.value), value: String(this.value), label: option.label, disabled: this.disabled || !!option.disabled, onSdUpdate: ({ detail }) => this.handleRadioChange(detail) }));
|
|
27
27
|
})));
|
|
28
28
|
}
|
|
@@ -64,9 +64,13 @@ export class SdSelectListItem {
|
|
|
64
64
|
'--list-item-font-weight-selected': LIST_ITEM_TYPOGRAPHY.selectedFontWeight,
|
|
65
65
|
};
|
|
66
66
|
if (isDepth1Group) {
|
|
67
|
-
cssVars['--list-item-border-top'] =
|
|
67
|
+
cssVars['--list-item-border-top'] =
|
|
68
|
+
`${LIST_ITEM_COLORS.depth1.borderWidth}px solid ${LIST_ITEM_COLORS.depth1.border}`;
|
|
68
69
|
}
|
|
69
|
-
return (
|
|
70
|
+
return (
|
|
71
|
+
// 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
|
|
72
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events
|
|
73
|
+
h("div", { key: '8382966892edc2a46602733400aa579d0caa3128', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
|
|
70
74
|
'sd-select-list-item': true,
|
|
71
75
|
'sd-select-list-item--group': isGroup,
|
|
72
76
|
'sd-select-list-item--depth1-group': isDepth1Group,
|
|
@@ -76,7 +80,7 @@ export class SdSelectListItem {
|
|
|
76
80
|
'sd-select-list-item--focused': this.isFocused,
|
|
77
81
|
'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
|
|
78
82
|
'sd-select-list-item--disabled': !!this.option.disabled,
|
|
79
|
-
}, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: '
|
|
83
|
+
}, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: 'f8d1bb696416265861cc3b61ca1dcaec52dc2d4a', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), h("span", { key: '0ce20554fb96ad650104a98d779f3ff64fabe381', class: "sd-select-list-item__label" }, this.option.label), this.countInfo && (h("span", { key: '4d2d8f5bd63373906544882ff5852134e3ecd4d3', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
|
|
80
84
|
}
|
|
81
85
|
static get is() { return "sd-select-list-item"; }
|
|
82
86
|
static get originalStyleUrls() {
|
|
@@ -35,21 +35,21 @@ export class SdSelectListItemSearch {
|
|
|
35
35
|
this.inputEl?.focus();
|
|
36
36
|
};
|
|
37
37
|
disconnectedCallback() {
|
|
38
|
-
if (this.focusRafId)
|
|
38
|
+
if (this.focusRafId !== undefined)
|
|
39
39
|
cancelAnimationFrame(this.focusRafId);
|
|
40
|
-
if (this.debounceTimer)
|
|
40
|
+
if (this.debounceTimer !== undefined)
|
|
41
41
|
clearTimeout(this.debounceTimer);
|
|
42
42
|
}
|
|
43
43
|
render() {
|
|
44
|
-
return (h("div", { key: '
|
|
44
|
+
return (h("div", { key: '6872376ea0f47c256273f751fad367f2c49a9160', class: {
|
|
45
45
|
'sd-select-list-item-search': true,
|
|
46
46
|
'sd-select-list-item-search--scrolled': this.isScrolled,
|
|
47
|
-
} }, h("div", { key: '
|
|
47
|
+
} }, h("div", { key: 'f6c872e0252b6d7ba81f49938a4f5a647f0fb486', class: "sd-select-list-item-search__inner" }, h("sd-icon", { key: '49f10ed222e855ef6f0f5f12a65a74e1fec95bb5', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), h("input", { key: '76d88aa4ce7eee598db2709d2d5442465b1798cb', ref: el => {
|
|
48
48
|
this.inputEl = el;
|
|
49
|
-
}, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: '
|
|
49
|
+
}, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: 'e94d1661c6ed26754d4ee7e186808ebd9f057ec9', type: "button", class: {
|
|
50
50
|
'sd-select-list-item-search__clear': true,
|
|
51
|
-
'sd-select-list-item-search__clear--hidden':
|
|
52
|
-
}, onClick: this.handleClear, tabindex: this.searchText ? 0 : -1, "aria-hidden": this.searchText ? 'false' : 'true' }, h("sd-icon", { key: '
|
|
51
|
+
'sd-select-list-item-search__clear--hidden': this.searchText === '',
|
|
52
|
+
}, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: 'ad89b3421ec345f47c8d67d78f20cae86869d4c1', name: "close", size: 12, color: "#888888" })))));
|
|
53
53
|
}
|
|
54
54
|
static get is() { return "sd-select-list-item-search"; }
|
|
55
55
|
static get originalStyleUrls() {
|
|
@@ -62,7 +62,7 @@ export class SdSelectListbox {
|
|
|
62
62
|
return count >= SEARCH_THRESHOLD;
|
|
63
63
|
}
|
|
64
64
|
get filteredOptions() {
|
|
65
|
-
if (
|
|
65
|
+
if (this.searchKeyword === '')
|
|
66
66
|
return this.options;
|
|
67
67
|
if (this.isDepth)
|
|
68
68
|
return filterTree(this.options, this.searchKeyword);
|
|
@@ -75,7 +75,7 @@ export class SdSelectListbox {
|
|
|
75
75
|
return this.filteredOptions.length === 0;
|
|
76
76
|
}
|
|
77
77
|
getSelectedValues() {
|
|
78
|
-
if (
|
|
78
|
+
if (this.value == null || !Array.isArray(this.value))
|
|
79
79
|
return new Set();
|
|
80
80
|
if (this.emitValue) {
|
|
81
81
|
return new Set(this.value);
|
|
@@ -198,7 +198,7 @@ export class SdSelectListbox {
|
|
|
198
198
|
// filterTree 가 매 호출마다 옵션 객체를 새로 복제하기 때문에 참조 비교
|
|
199
199
|
// (=== / indexOf) 는 검색이 적용된 동안 항상 실패한다. 고유 식별자인
|
|
200
200
|
// value 로 비교해야 한다.
|
|
201
|
-
return
|
|
201
|
+
return focused != null && focused.value === option.value;
|
|
202
202
|
}
|
|
203
203
|
resetFocusOnFilter() {
|
|
204
204
|
// 필터가 바뀌면 이전 인덱스가 가리키던 항목이 사라질 수 있으므로
|
|
@@ -348,9 +348,9 @@ export class SdSelectListbox {
|
|
|
348
348
|
'--listbox-max-height': this.maxHeight ?? '260px',
|
|
349
349
|
'--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
|
|
350
350
|
};
|
|
351
|
-
return (h("div", { key: '
|
|
351
|
+
return (h("div", { key: '8c9b1a4471bf4e535c5f156d087e1b9be76ad903', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: '4cc596a1ac21c9b258d5db07ecb15d566179d743', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: '977e15c7987ca387cf30783741f99b322150627b', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
|
|
352
352
|
this.listEl = el;
|
|
353
|
-
} }, this.showSelectAll && (h("sd-select-list-item", { key: '
|
|
353
|
+
} }, this.showSelectAll && (h("sd-select-list-item", { key: 'dada5a6662b2d3fa63ed11ab1c82561d5e2d2400', 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) })))))));
|
|
354
354
|
}
|
|
355
355
|
static get is() { return "sd-select-listbox"; }
|
|
356
356
|
static get encapsulation() { return "shadow"; }
|