@sellmate/design-system 1.20.1 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/design-system.cjs.js +2 -2
- package/dist/cjs/{index-DXm0PH2A.js → index-C-F-JEv_.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sd-action-modal.cjs.entry.js +8 -2
- package/dist/cjs/sd-badge.cjs.entry.js +3 -2
- package/dist/cjs/sd-barcode-input.cjs.entry.js +35 -2
- package/dist/cjs/sd-button_2.cjs.entry.js +16 -7
- package/dist/cjs/sd-calendar_2.cjs.entry.js +17 -6
- package/dist/cjs/sd-callout.cjs.entry.js +4 -2
- package/dist/cjs/sd-card.cjs.entry.js +4 -2
- package/dist/cjs/sd-checkbox.cjs.entry.js +21 -12
- package/dist/cjs/sd-chip-input.cjs.entry.js +76 -18
- package/dist/cjs/sd-chip.cjs.entry.js +19 -2
- package/dist/cjs/sd-circle-progress.cjs.entry.js +6 -2
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +27 -4
- package/dist/cjs/sd-date-box.cjs.entry.js +13 -3
- package/dist/cjs/sd-date-picker_7.cjs.entry.js +209 -13
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +7 -2
- package/dist/cjs/sd-divider.cjs.entry.js +1 -1
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +11 -1
- package/dist/cjs/sd-field_3.cjs.entry.js +70 -12
- package/dist/cjs/sd-form.cjs.entry.js +10 -2
- package/dist/cjs/sd-ghost-button_3.cjs.entry.js +54 -15
- package/dist/cjs/sd-guide.cjs.entry.js +9 -3
- package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -1
- package/dist/cjs/sd-linear-progress.cjs.entry.js +7 -4
- package/dist/cjs/sd-loading-container.cjs.entry.js +5 -3
- package/dist/cjs/sd-modal-container.cjs.entry.js +7 -1
- package/dist/cjs/sd-pagination_4.cjs.entry.js +121 -13
- package/dist/cjs/sd-popover.cjs.entry.js +21 -5
- package/dist/cjs/sd-popup.cjs.entry.js +7 -3
- package/dist/cjs/sd-radio-button.cjs.entry.js +8 -2
- package/dist/cjs/sd-radio.cjs.entry.js +7 -2
- package/dist/cjs/sd-select-list-item_2.cjs.entry.js +18 -7
- package/dist/cjs/sd-select_3.cjs.entry.js +56 -9
- package/dist/cjs/sd-switch.cjs.entry.js +6 -2
- package/dist/cjs/sd-table.cjs.entry.js +42 -7
- package/dist/cjs/sd-tabs.cjs.entry.js +8 -2
- package/dist/cjs/sd-td.cjs.entry.js +11 -2
- package/dist/cjs/sd-text-link.cjs.entry.js +13 -4
- package/dist/cjs/sd-toast-container.cjs.entry.js +11 -2
- package/dist/cjs/sd-toast.cjs.entry.js +12 -3
- package/dist/cjs/sd-toggle.cjs.entry.js +6 -2
- package/dist/cjs/{tooltipArrow-D3P3JC08.js → tooltipArrow-26hYtSrD.js} +1 -1
- package/dist/collection/components/assets/CaretDown.js +1 -1
- package/dist/collection/components/assets/CaretLeft.js +1 -1
- package/dist/collection/components/assets/CaretRight.js +1 -1
- package/dist/collection/components/assets/CaretUp.js +1 -1
- package/dist/collection/components/sd-action-modal/sd-action-modal.js +13 -7
- package/dist/collection/components/sd-badge/sd-badge.js +3 -2
- package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
- package/dist/collection/components/sd-button/sd-button.js +18 -10
- package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
- package/dist/collection/components/sd-callout/sd-callout.js +5 -3
- package/dist/collection/components/sd-card/sd-card.js +5 -3
- package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
- package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
- package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
- package/dist/collection/components/sd-chip/sd-chip.js +35 -18
- package/dist/collection/components/sd-chip-input/sd-chip-input.css +6 -0
- package/dist/collection/components/sd-chip-input/sd-chip-input.js +107 -49
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
- package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
- package/dist/collection/components/sd-field/sd-field.js +51 -28
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
- package/dist/collection/components/sd-form/sd-form.js +17 -9
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
- package/dist/collection/components/sd-guide/sd-guide.js +14 -8
- package/dist/collection/components/sd-icon/sd-icon.js +2 -1
- package/dist/collection/components/sd-input/sd-input.js +82 -42
- package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
- package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
- package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
- package/dist/collection/components/sd-modal-container/sd-modal-container.js +12 -6
- package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
- package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
- package/dist/collection/components/sd-popover/sd-popover.js +35 -19
- package/dist/collection/components/sd-popup/sd-popup.js +11 -7
- package/dist/collection/components/sd-portal/sd-portal.js +35 -14
- package/dist/collection/components/sd-radio/sd-radio.js +11 -6
- package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
- package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
- package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
- package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
- package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
- package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
- package/dist/collection/components/sd-select/sd-select.js +62 -33
- package/dist/collection/components/sd-switch/sd-switch.js +9 -5
- package/dist/collection/components/sd-table/sd-table.js +76 -41
- package/dist/collection/components/sd-table/sd-table.stories.helpers.js +97 -0
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
- package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
- package/dist/collection/components/sd-table/sd-thead/sd-thead.css +21 -0
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +113 -20
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
- package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
- package/dist/collection/components/sd-tag/sd-tag.js +10 -7
- package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
- package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
- package/dist/collection/components/sd-toast/sd-toast.js +20 -11
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
- package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
- package/dist/components/index.js +1 -1
- package/dist/components/{p-CUR9smP5.js → p-58DLP3IW.js} +1 -1
- package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
- package/dist/components/{p-BZfVV3gu.js → p-B0myARGe.js} +1 -1
- package/dist/components/{p-CTPImLDQ.js → p-B12iH3Zk.js} +1 -1
- package/dist/components/{p-CoqA9KgU.js → p-B2bF2KlS.js} +1 -1
- package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
- package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
- package/dist/components/{p-Dl89_4C3.js → p-BXRgi3NZ.js} +1 -1
- package/dist/components/{p-BjcGzaFR.js → p-Bm3NWPaP.js} +1 -1
- package/dist/components/p-BpQwjSB8.js +1 -0
- package/dist/components/{p-CRwvv7YM.js → p-BpjmheLG.js} +1 -1
- package/dist/components/{p-5imde6N9.js → p-Bric-SEs.js} +1 -1
- package/dist/components/{p-CB2A3pJ5.js → p-BwTsP0Ak.js} +1 -1
- package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
- package/dist/components/p-CCCwPJ5p.js +1 -0
- package/dist/components/p-CCO1WtEj.js +1 -0
- package/dist/components/p-CEKu7cxA.js +1 -0
- package/dist/components/{p-CrT06Uwc.js → p-CHxVi6l1.js} +1 -1
- package/dist/components/{p-DNnI3Nru.js → p-Cdzn78dP.js} +1 -1
- package/dist/components/p-Cj_1bYZF.js +1 -0
- package/dist/components/{p-ZvI5A-_t.js → p-Cjf8PHEl.js} +1 -1
- package/dist/components/{p-CJ69QmR3.js → p-Co2ThnbG.js} +1 -1
- package/dist/components/{p-gOIeNT-Z.js → p-CwSlRPMm.js} +1 -1
- package/dist/components/p-D7StBSjK.js +1 -0
- package/dist/components/{p-Bz93hWXV.js → p-DFbj6d3L.js} +1 -1
- package/dist/components/{p-B5bya7Gp.js → p-DlXBFtBO.js} +1 -1
- package/dist/components/{p-Rwc_ltPn.js → p-Du_qPqW-.js} +1 -1
- package/dist/components/{p-DIlNesBH.js → p-DzAvlr8W.js} +1 -1
- package/dist/components/{p-D99vy8Ip.js → p-FrqOl9KZ.js} +1 -1
- package/dist/components/{p-uSEbiD29.js → p-JMuxVcTW.js} +1 -1
- package/dist/components/{p-DertIGhs.js → p-OjchKJGr.js} +1 -1
- package/dist/components/p-S2-XqY2R.js +1 -0
- package/dist/components/{p-DDAA-zcg.js → p-YCGkwgiM.js} +1 -1
- package/dist/components/{p-DZTxHJlP.js → p-ZvP2Ce6J.js} +1 -1
- package/dist/components/p-kRH2GOb0.js +1 -0
- package/dist/components/{p-FTvXz0-a.js → p-mcMbSkii.js} +1 -1
- package/dist/components/{p-BiBLp9_a.js → p-vPS2GNz3.js} +1 -1
- package/dist/components/sd-action-modal.js +1 -1
- package/dist/components/sd-badge.js +1 -1
- package/dist/components/sd-barcode-input.js +1 -1
- package/dist/components/sd-button.js +1 -1
- package/dist/components/sd-calendar.js +1 -1
- package/dist/components/sd-callout.js +1 -1
- package/dist/components/sd-card.js +1 -1
- package/dist/components/sd-checkbox.js +1 -1
- package/dist/components/sd-chip-input.js +1 -1
- package/dist/components/sd-chip.js +1 -1
- package/dist/components/sd-circle-progress.js +1 -1
- package/dist/components/sd-confirm-modal.js +1 -1
- package/dist/components/sd-date-box.js +1 -1
- package/dist/components/sd-date-picker-trigger.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker-calendar.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-divider.js +1 -1
- package/dist/components/sd-dropdown-button.js +1 -1
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-floating-portal.js +1 -1
- package/dist/components/sd-form.js +1 -1
- package/dist/components/sd-ghost-button.js +1 -1
- package/dist/components/sd-guide.js +1 -1
- package/dist/components/sd-icon.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-key-value-table.js +1 -1
- package/dist/components/sd-linear-progress.js +1 -1
- package/dist/components/sd-loading-container.js +1 -1
- package/dist/components/sd-loading-modal.js +1 -1
- package/dist/components/sd-modal-container.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-pagination.js +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-popup.js +1 -1
- package/dist/components/sd-portal.js +1 -1
- package/dist/components/sd-radio-button.js +1 -1
- package/dist/components/sd-radio-group.js +1 -1
- package/dist/components/sd-radio.js +1 -1
- package/dist/components/sd-select-list-item-search.js +1 -1
- package/dist/components/sd-select-list-item.js +1 -1
- package/dist/components/sd-select-listbox.js +1 -1
- package/dist/components/sd-select-trigger.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-switch.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-tabs.js +1 -1
- package/dist/components/sd-tag.js +1 -1
- package/dist/components/sd-tbody.js +1 -1
- package/dist/components/sd-td.js +1 -1
- package/dist/components/sd-text-link.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-thead.js +1 -1
- package/dist/components/sd-toast-container.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-toggle.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/components/sd-tr.js +1 -1
- package/dist/design-system/design-system.css +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/p-14447dd5.entry.js +1 -0
- package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
- package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
- package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
- package/dist/design-system/p-2df32f8c.entry.js +1 -0
- package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
- package/dist/design-system/p-35e1e2fa.entry.js +1 -0
- package/dist/design-system/p-4bbc894b.entry.js +1 -0
- package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
- package/dist/design-system/p-4c1559c8.entry.js +1 -0
- package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
- package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
- package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
- package/dist/design-system/p-52e88677.entry.js +1 -0
- package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
- package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
- package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
- package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
- package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
- package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
- package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
- package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
- package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
- package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
- package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
- package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
- package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
- package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
- package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
- package/dist/design-system/p-ac81b46e.entry.js +1 -0
- package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
- package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
- package/dist/design-system/p-c684cd96.entry.js +1 -0
- package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
- package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
- package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
- package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
- package/dist/design-system/{p-7ed8c8f1.entry.js → p-d5b535ad.entry.js} +1 -1
- package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
- package/dist/design-system/p-e7d4b78e.entry.js +1 -0
- package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
- package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
- package/dist/esm/design-system.js +3 -3
- package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/sd-action-modal.entry.js +8 -2
- package/dist/esm/sd-badge.entry.js +3 -2
- package/dist/esm/sd-barcode-input.entry.js +35 -2
- package/dist/esm/sd-button_2.entry.js +16 -7
- package/dist/esm/sd-calendar_2.entry.js +17 -6
- package/dist/esm/sd-callout.entry.js +4 -2
- package/dist/esm/sd-card.entry.js +4 -2
- package/dist/esm/sd-checkbox.entry.js +21 -12
- package/dist/esm/sd-chip-input.entry.js +76 -18
- package/dist/esm/sd-chip.entry.js +19 -2
- package/dist/esm/sd-circle-progress.entry.js +6 -2
- package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
- package/dist/esm/sd-date-box.entry.js +13 -3
- package/dist/esm/sd-date-picker_7.entry.js +209 -13
- package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
- package/dist/esm/sd-divider.entry.js +1 -1
- package/dist/esm/sd-dropdown-button.entry.js +11 -1
- package/dist/esm/sd-field_3.entry.js +70 -12
- package/dist/esm/sd-form.entry.js +10 -2
- package/dist/esm/sd-ghost-button_3.entry.js +54 -15
- package/dist/esm/sd-guide.entry.js +9 -3
- package/dist/esm/sd-key-value-table.entry.js +3 -1
- package/dist/esm/sd-linear-progress.entry.js +7 -4
- package/dist/esm/sd-loading-container.entry.js +5 -3
- package/dist/esm/sd-modal-container.entry.js +7 -1
- package/dist/esm/sd-pagination_4.entry.js +121 -13
- package/dist/esm/sd-popover.entry.js +21 -5
- package/dist/esm/sd-popup.entry.js +7 -3
- package/dist/esm/sd-radio-button.entry.js +8 -2
- package/dist/esm/sd-radio.entry.js +7 -2
- package/dist/esm/sd-select-list-item_2.entry.js +18 -7
- package/dist/esm/sd-select_3.entry.js +56 -9
- package/dist/esm/sd-switch.entry.js +6 -2
- package/dist/esm/sd-table.entry.js +42 -7
- package/dist/esm/sd-tabs.entry.js +8 -2
- package/dist/esm/sd-td.entry.js +11 -2
- package/dist/esm/sd-text-link.entry.js +13 -4
- package/dist/esm/sd-toast-container.entry.js +11 -2
- package/dist/esm/sd-toast.entry.js +12 -3
- package/dist/esm/sd-toggle.entry.js +6 -2
- package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
- package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
- package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
- package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
- package/dist/types/components/sd-button/sd-button.d.ts +8 -0
- package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
- package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
- package/dist/types/components/sd-card/sd-card.d.ts +2 -0
- package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
- package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
- package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
- package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
- package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
- package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
- package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
- package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
- package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
- package/dist/types/components/sd-field/sd-field.d.ts +23 -0
- package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
- package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
- package/dist/types/components/sd-form/sd-form.d.ts +8 -0
- package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
- package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
- package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
- package/dist/types/components/sd-input/sd-input.d.ts +40 -0
- package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
- package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
- package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
- package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
- package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -0
- package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
- package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
- package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
- package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
- package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
- package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
- package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
- package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
- package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
- package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
- package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
- package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
- package/dist/types/components/sd-select/sd-select.d.ts +29 -0
- package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
- package/dist/types/components/sd-table/constants.d.ts +1 -0
- package/dist/types/components/sd-table/sd-table.d.ts +35 -0
- package/dist/types/components/sd-table/sd-table.stories.helpers.d.ts +10 -0
- package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
- package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
- package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +21 -0
- package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
- package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
- package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
- package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
- package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
- package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
- package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
- package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
- package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
- package/dist/types/components.d.ts +1827 -7
- package/hydrate/index.js +949 -146
- package/hydrate/index.mjs +949 -146
- package/package.json +1 -1
- package/dist/components/p-B7PHGGFH.js +0 -1
- package/dist/components/p-CLlAhEDc.js +0 -1
- package/dist/components/p-CXeOxSQ-.js +0 -1
- package/dist/components/p-CZfsknba.js +0 -1
- package/dist/components/p-CvSqieCH.js +0 -1
- package/dist/components/p-P2jWtk8J.js +0 -1
- package/dist/components/p-xkRWGISE.js +0 -1
- package/dist/design-system/p-17dcf0e4.entry.js +0 -1
- package/dist/design-system/p-316b8a08.entry.js +0 -1
- package/dist/design-system/p-5039241c.entry.js +0 -1
- package/dist/design-system/p-5eaa12af.entry.js +0 -1
- package/dist/design-system/p-9c38ee79.entry.js +0 -1
- package/dist/design-system/p-CAxodB5I.js +0 -2
- package/dist/design-system/p-c995e6c3.entry.js +0 -1
- package/dist/design-system/p-eef6d4a3.entry.js +0 -1
- package/dist/design-system/p-faf7b64c.entry.js +0 -1
- package/dist/design-system/p-fd7abbfa.entry.js +0 -1
|
@@ -2,18 +2,27 @@ import { h, Host, forceUpdate } from "@stencil/core";
|
|
|
2
2
|
import { TABLE_ID_ATTR } from "../constants";
|
|
3
3
|
export class SdTd {
|
|
4
4
|
el;
|
|
5
|
+
/** 데이터 필드명 (슬롯 이름 생성에 사용) */
|
|
5
6
|
field;
|
|
7
|
+
/** 행 식별 키 */
|
|
6
8
|
rowKey;
|
|
9
|
+
/** 셀 내용 정렬 */
|
|
7
10
|
align;
|
|
11
|
+
/** 행 병합 수 */
|
|
8
12
|
rowspan;
|
|
13
|
+
/** 열 병합 수 */
|
|
9
14
|
colspan;
|
|
10
15
|
// sd-tr가 그리는 실제 <td>에 머지될 사용자 클래스.
|
|
11
16
|
// <sd-td> 호스트는 display:contents라 호스트의 class는 시각 효과가 없기 때문에,
|
|
12
17
|
// 이 prop을 통해 sd-table 레지스트리에 등록 → sd-tr가 td 렌더 시 합쳐 사용한다.
|
|
18
|
+
/** td에 병합할 사용자 클래스 */
|
|
13
19
|
sdClass;
|
|
20
|
+
/** 좌측 구분선 표시 여부 */
|
|
14
21
|
dividerLeft = false;
|
|
22
|
+
/** 우측 구분선 표시 여부 */
|
|
15
23
|
dividerRight = false;
|
|
16
24
|
// true이면 이 셀이 속한 행 전체가 dense를 무시하고 default 레이아웃으로 동작한다.
|
|
25
|
+
/** frame 레이아웃 사용 여부 */
|
|
17
26
|
useFrame = false;
|
|
18
27
|
handleFieldChange(_newField, oldField) {
|
|
19
28
|
this.syncSlotName();
|
|
@@ -150,7 +159,7 @@ export class SdTd {
|
|
|
150
159
|
}
|
|
151
160
|
}
|
|
152
161
|
render() {
|
|
153
|
-
return (h(Host, { key: '
|
|
162
|
+
return (h(Host, { key: 'd7cea28b006a4903fab00e7a709252e6009f911f', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: '1d8695ff6c6890838e4b18ec4da1d7ff6a5c8858' })));
|
|
154
163
|
}
|
|
155
164
|
static get is() { return "sd-td"; }
|
|
156
165
|
static get originalStyleUrls() {
|
|
@@ -177,7 +186,7 @@ export class SdTd {
|
|
|
177
186
|
"optional": false,
|
|
178
187
|
"docs": {
|
|
179
188
|
"tags": [],
|
|
180
|
-
"text": ""
|
|
189
|
+
"text": "\uB370\uC774\uD130 \uD544\uB4DC\uBA85 (\uC2AC\uB86F \uC774\uB984 \uC0DD\uC131\uC5D0 \uC0AC\uC6A9)"
|
|
181
190
|
},
|
|
182
191
|
"getter": false,
|
|
183
192
|
"setter": false,
|
|
@@ -196,7 +205,7 @@ export class SdTd {
|
|
|
196
205
|
"optional": false,
|
|
197
206
|
"docs": {
|
|
198
207
|
"tags": [],
|
|
199
|
-
"text": ""
|
|
208
|
+
"text": "\uD589 \uC2DD\uBCC4 \uD0A4"
|
|
200
209
|
},
|
|
201
210
|
"getter": false,
|
|
202
211
|
"setter": false,
|
|
@@ -215,7 +224,7 @@ export class SdTd {
|
|
|
215
224
|
"optional": true,
|
|
216
225
|
"docs": {
|
|
217
226
|
"tags": [],
|
|
218
|
-
"text": ""
|
|
227
|
+
"text": "\uC140 \uB0B4\uC6A9 \uC815\uB82C"
|
|
219
228
|
},
|
|
220
229
|
"getter": false,
|
|
221
230
|
"setter": false,
|
|
@@ -234,7 +243,7 @@ export class SdTd {
|
|
|
234
243
|
"optional": true,
|
|
235
244
|
"docs": {
|
|
236
245
|
"tags": [],
|
|
237
|
-
"text": ""
|
|
246
|
+
"text": "\uD589 \uBCD1\uD569 \uC218"
|
|
238
247
|
},
|
|
239
248
|
"getter": false,
|
|
240
249
|
"setter": false,
|
|
@@ -253,7 +262,7 @@ export class SdTd {
|
|
|
253
262
|
"optional": true,
|
|
254
263
|
"docs": {
|
|
255
264
|
"tags": [],
|
|
256
|
-
"text": ""
|
|
265
|
+
"text": "\uC5F4 \uBCD1\uD569 \uC218"
|
|
257
266
|
},
|
|
258
267
|
"getter": false,
|
|
259
268
|
"setter": false,
|
|
@@ -272,7 +281,7 @@ export class SdTd {
|
|
|
272
281
|
"optional": true,
|
|
273
282
|
"docs": {
|
|
274
283
|
"tags": [],
|
|
275
|
-
"text": ""
|
|
284
|
+
"text": "td\uC5D0 \uBCD1\uD569\uD560 \uC0AC\uC6A9\uC790 \uD074\uB798\uC2A4"
|
|
276
285
|
},
|
|
277
286
|
"getter": false,
|
|
278
287
|
"setter": false,
|
|
@@ -291,7 +300,7 @@ export class SdTd {
|
|
|
291
300
|
"optional": false,
|
|
292
301
|
"docs": {
|
|
293
302
|
"tags": [],
|
|
294
|
-
"text": ""
|
|
303
|
+
"text": "\uC88C\uCE21 \uAD6C\uBD84\uC120 \uD45C\uC2DC \uC5EC\uBD80"
|
|
295
304
|
},
|
|
296
305
|
"getter": false,
|
|
297
306
|
"setter": false,
|
|
@@ -311,7 +320,7 @@ export class SdTd {
|
|
|
311
320
|
"optional": false,
|
|
312
321
|
"docs": {
|
|
313
322
|
"tags": [],
|
|
314
|
-
"text": ""
|
|
323
|
+
"text": "\uC6B0\uCE21 \uAD6C\uBD84\uC120 \uD45C\uC2DC \uC5EC\uBD80"
|
|
315
324
|
},
|
|
316
325
|
"getter": false,
|
|
317
326
|
"setter": false,
|
|
@@ -331,7 +340,7 @@ export class SdTd {
|
|
|
331
340
|
"optional": false,
|
|
332
341
|
"docs": {
|
|
333
342
|
"tags": [],
|
|
334
|
-
"text": ""
|
|
343
|
+
"text": "frame \uB808\uC774\uC544\uC6C3 \uC0AC\uC6A9 \uC5EC\uBD80"
|
|
335
344
|
},
|
|
336
345
|
"getter": false,
|
|
337
346
|
"setter": false,
|
|
@@ -143,6 +143,27 @@ sd-thead * {
|
|
|
143
143
|
background-color: var(--table-header-resizer-color, #CCCCCC);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
.th__dropdown-trigger {
|
|
147
|
+
display: flex;
|
|
148
|
+
align-items: center;
|
|
149
|
+
justify-content: center;
|
|
150
|
+
flex-shrink: 0;
|
|
151
|
+
width: 16px;
|
|
152
|
+
height: 16px;
|
|
153
|
+
padding: 0;
|
|
154
|
+
border: none;
|
|
155
|
+
background: transparent;
|
|
156
|
+
cursor: pointer;
|
|
157
|
+
color: inherit;
|
|
158
|
+
border-radius: 2px;
|
|
159
|
+
}
|
|
160
|
+
.th__dropdown-trigger sd-icon {
|
|
161
|
+
transition: transform 0.15s ease;
|
|
162
|
+
}
|
|
163
|
+
.th__dropdown-trigger--open sd-icon {
|
|
164
|
+
transform: rotate(180deg);
|
|
165
|
+
}
|
|
166
|
+
|
|
146
167
|
.th__resizer {
|
|
147
168
|
position: absolute;
|
|
148
169
|
top: 50%;
|
|
@@ -3,15 +3,25 @@ import { TABLE_ID_ATTR, } from "../constants";
|
|
|
3
3
|
import { resolveTableIconColor, resolveSortIconName, TABLE_HEADER_LAYOUT, TABLE_HEADER_TYPOGRAPHY, TABLE_HEADER_COLORS, TABLE_HEADER_RESIZING_BAR, TABLE_BORDER, TABLE_SELECTABLE_COLUMN_WIDTH, } from "../sd-table.config";
|
|
4
4
|
export class SdThead {
|
|
5
5
|
el;
|
|
6
|
+
/** 테이블 컬럼 목록 */
|
|
6
7
|
columns;
|
|
8
|
+
/** 행 선택 기능 사용 여부 */
|
|
7
9
|
selectable;
|
|
10
|
+
/** 컬럼 너비 조절 가능 여부 */
|
|
8
11
|
resizable;
|
|
12
|
+
/** 고정 컬럼 설정 */
|
|
9
13
|
stickyColumn;
|
|
14
|
+
/** 헤더 고정 여부 */
|
|
10
15
|
stickyHeader;
|
|
16
|
+
/** 좌측 스크롤 여부 */
|
|
11
17
|
scrolledLeft;
|
|
18
|
+
/** 우측 스크롤 여부 */
|
|
12
19
|
scrolledRight;
|
|
20
|
+
/** 전체 선택 체크박스용 행 데이터 */
|
|
13
21
|
rows = [];
|
|
22
|
+
/** 컬럼 너비 목록 */
|
|
14
23
|
columnWidths = [];
|
|
24
|
+
/** 컬럼 정렬 버튼 클릭 시 발생합니다. */
|
|
15
25
|
sdColumnSort;
|
|
16
26
|
tableId = '';
|
|
17
27
|
_columns = [];
|
|
@@ -21,14 +31,29 @@ export class SdThead {
|
|
|
21
31
|
_stickyHeader = false;
|
|
22
32
|
_scrolledLeft = false;
|
|
23
33
|
_scrolledRight = false;
|
|
34
|
+
dropdownOpenMap = {};
|
|
24
35
|
tableEl = null;
|
|
36
|
+
dropdownRefs = {};
|
|
37
|
+
dropdownThRefs = {};
|
|
38
|
+
dropdownPortals = {};
|
|
25
39
|
handleColumnsChange(newCols) {
|
|
26
40
|
if (Array.isArray(newCols) && (this.columnWidths ?? []).length === 0) {
|
|
27
41
|
this.columnWidths = newCols.map(c => (c.autoWidth ? 0 : parseInt(c.width || '120', 10)));
|
|
28
42
|
}
|
|
29
43
|
}
|
|
44
|
+
disconnectedCallback() {
|
|
45
|
+
const portals = this.dropdownPortals ?? {};
|
|
46
|
+
Object.values(portals).forEach(portal => {
|
|
47
|
+
if (portal?.parentNode != null)
|
|
48
|
+
portal.parentNode.removeChild(portal);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
30
51
|
componentWillLoad() {
|
|
31
52
|
this.syncTableContext();
|
|
53
|
+
this.dropdownOpenMap = this.dropdownOpenMap ?? {};
|
|
54
|
+
this.dropdownRefs = this.dropdownRefs ?? {};
|
|
55
|
+
this.dropdownThRefs = this.dropdownThRefs ?? {};
|
|
56
|
+
this.dropdownPortals = this.dropdownPortals ?? {};
|
|
32
57
|
this.columnWidths = Array.isArray(this.columnWidths) ? this.columnWidths : [];
|
|
33
58
|
this.resolveConfig();
|
|
34
59
|
if ((this.columnWidths ?? []).length === 0) {
|
|
@@ -38,6 +63,36 @@ export class SdThead {
|
|
|
38
63
|
componentDidLoad() {
|
|
39
64
|
this.syncTableContext();
|
|
40
65
|
this.resolveConfig();
|
|
66
|
+
this.initDropdownPortals();
|
|
67
|
+
}
|
|
68
|
+
// sd-portal을 body에 붙여 CSS transform 영향 없이 정확한 위치에 패널을 표시한다.
|
|
69
|
+
// <slot>을 render에 두지 않고 직접 DOM 이동(slot 속성 제거)으로 Stencil 슬롯 에뮬레이션 충돌을 피한다.
|
|
70
|
+
initDropdownPortals() {
|
|
71
|
+
const cols = this._columns ?? [];
|
|
72
|
+
const hasDropdownCols = cols.filter(c => c.hasDropdown === true);
|
|
73
|
+
if (hasDropdownCols.length === 0)
|
|
74
|
+
return;
|
|
75
|
+
for (const col of hasDropdownCols) {
|
|
76
|
+
const colName = col.name;
|
|
77
|
+
// 이미 포탈이 생성된 컬럼은 건너뜀 (refreshConfig 재호출 대비)
|
|
78
|
+
if ((this.dropdownPortals ?? {})[colName] != null)
|
|
79
|
+
continue;
|
|
80
|
+
const slotContent = this.el.querySelector(`[slot="dropdown-${colName}"]`);
|
|
81
|
+
if (slotContent == null)
|
|
82
|
+
continue;
|
|
83
|
+
// slot 속성 제거: Stencil 슬롯 에뮬레이션이 재배포하지 못하게 한다
|
|
84
|
+
slotContent.removeAttribute('slot');
|
|
85
|
+
const portal = document.createElement('sd-portal');
|
|
86
|
+
portal.parentRef = this.dropdownThRefs[colName] ?? null;
|
|
87
|
+
portal.open = false;
|
|
88
|
+
// 첫 open 전까지 포탈 호스트 자체를 숨긴다.
|
|
89
|
+
// moveSlotContent()가 open=true 시 children을 독립 wrapper div로 이동하므로 이후 동작에 영향 없음.
|
|
90
|
+
portal.style.display = 'none';
|
|
91
|
+
portal.addEventListener('sdClose', () => this.closeDropdown(colName));
|
|
92
|
+
portal.appendChild(slotContent);
|
|
93
|
+
document.body.appendChild(portal);
|
|
94
|
+
this.dropdownPortals[colName] = portal;
|
|
95
|
+
}
|
|
41
96
|
}
|
|
42
97
|
syncTableContext() {
|
|
43
98
|
// sd-table이 shadow:true이므로 fallback content로 렌더되면 closest가 경계를 못 넘는다.
|
|
@@ -77,12 +132,16 @@ export class SdThead {
|
|
|
77
132
|
this.columnWidths = [];
|
|
78
133
|
}
|
|
79
134
|
}
|
|
135
|
+
/** 테이블 설정을 다시 불러옵니다. */
|
|
80
136
|
async refreshConfig() {
|
|
81
137
|
this.resolveConfig();
|
|
138
|
+
this.initDropdownPortals();
|
|
82
139
|
}
|
|
140
|
+
/** 컬럼 너비를 업데이트합니다. */
|
|
83
141
|
async setColumnWidths(widths) {
|
|
84
142
|
this.columnWidths = Array.isArray(widths) ? widths : [];
|
|
85
143
|
}
|
|
144
|
+
/** 전체 선택 체크박스 상태를 갱신합니다. */
|
|
86
145
|
async refreshSelection() {
|
|
87
146
|
const checkbox = this.el.querySelector('sd-checkbox');
|
|
88
147
|
if (checkbox) {
|
|
@@ -121,6 +180,28 @@ export class SdThead {
|
|
|
121
180
|
handleColumnSort = (col) => {
|
|
122
181
|
this.sdColumnSort.emit({ column: col });
|
|
123
182
|
};
|
|
183
|
+
toggleDropdown(name) {
|
|
184
|
+
const isOpen = this.dropdownOpenMap[name] !== true;
|
|
185
|
+
const portals = this.dropdownPortals ?? {};
|
|
186
|
+
const newMap = { ...this.dropdownOpenMap };
|
|
187
|
+
// _columns 기준으로 순회: portals가 비어도 dropdownOpenMap은 항상 갱신됨
|
|
188
|
+
for (const col of (this._columns ?? []).filter(c => c.hasDropdown === true)) {
|
|
189
|
+
const shouldBeOpen = col.name === name ? isOpen : false;
|
|
190
|
+
newMap[col.name] = shouldBeOpen;
|
|
191
|
+
const portal = portals[col.name];
|
|
192
|
+
if (portal != null)
|
|
193
|
+
portal.open = shouldBeOpen;
|
|
194
|
+
}
|
|
195
|
+
this.dropdownOpenMap = newMap;
|
|
196
|
+
}
|
|
197
|
+
closeDropdown(name) {
|
|
198
|
+
if (this.dropdownOpenMap[name] !== true)
|
|
199
|
+
return;
|
|
200
|
+
this.dropdownOpenMap = { ...this.dropdownOpenMap, [name]: false };
|
|
201
|
+
const portal = (this.dropdownPortals ?? {})[name];
|
|
202
|
+
if (portal != null)
|
|
203
|
+
portal.open = false;
|
|
204
|
+
}
|
|
124
205
|
handleSelectAll(checked) {
|
|
125
206
|
const nextChecked = !!checked;
|
|
126
207
|
const safeRows = Array.isArray(this.rows) ? this.rows : [];
|
|
@@ -137,6 +218,8 @@ export class SdThead {
|
|
|
137
218
|
}
|
|
138
219
|
render() {
|
|
139
220
|
const safeRows = Array.isArray(this.rows) ? this.rows : [];
|
|
221
|
+
const dropdownOpenMap = this.dropdownOpenMap ?? {};
|
|
222
|
+
const dropdownRefs = this.dropdownRefs ?? {};
|
|
140
223
|
const stickyLeftCount = this._stickyColumn.left || 0;
|
|
141
224
|
const stickyRightCount = this._stickyColumn.right || 0;
|
|
142
225
|
const stickyLeftCols = this.visibleColumns.slice(0, stickyLeftCount);
|
|
@@ -158,22 +241,25 @@ export class SdThead {
|
|
|
158
241
|
'--table-border-color': TABLE_BORDER.color,
|
|
159
242
|
'--table-border-width': `${TABLE_BORDER.width}px`,
|
|
160
243
|
};
|
|
161
|
-
return (h(Host, { key: '
|
|
244
|
+
return (h(Host, { key: '947f5e5b0e59e7e6f8a73e4fd44dbfa646cb630a', slot: `${this.tableId}-head`, style: headStyle }, h("thead", { key: '2e0ffbfe9d96528c6e0082d4883fa462a18831d6', class: {
|
|
162
245
|
'thead': true,
|
|
163
246
|
'thead--sticky': this._stickyHeader,
|
|
164
|
-
} }, h("tr", { key: '
|
|
247
|
+
} }, h("tr", { key: '5843a18e1548bc6546e447d4c9213375116af0e9', class: "tr" }, this._selectable && (h("th", { key: '914024ca35874747e39f1819337cd4ad1cbe733d', class: {
|
|
165
248
|
'th': true,
|
|
166
249
|
'th--selected': true,
|
|
167
250
|
'sticky-left': true,
|
|
168
251
|
'sticky-left-edge': stickyLeftCount === 0,
|
|
169
252
|
'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
|
|
170
|
-
}, style: { '--sticky-left-offset': '0px' } }, h("sd-checkbox", { key: '
|
|
253
|
+
}, style: { '--sticky-left-offset': '0px' } }, h("sd-checkbox", { key: 'e07232f1f5fa02589573ddaae53ebdadbdb97674', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), h("div", { key: '08b504cfd4f420e76e91d649eed28c7068517044', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (h("th", { key: col.name, class: {
|
|
171
254
|
'th': true,
|
|
172
255
|
[`${col.thClass}`]: Boolean(col.thClass),
|
|
173
256
|
'sticky-left': true,
|
|
174
257
|
'sticky-left-edge': idx === stickyLeftCount - 1,
|
|
175
258
|
'is-scrolled-left': idx === stickyLeftCount - 1 && this._scrolledLeft,
|
|
176
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(idx) } }, h("div", { class: `th__content th__content--${col.align || 'left'}` }, h("div", { class: "th__content--label" }, col.label), col.icon && (h("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (h("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (h("sd-tooltip", { ...col.tooltipOptions }, h("div", { slot: "content" }, col.tooltip.map(text => (h("p", null, text))))))
|
|
259
|
+
}, style: { ...col.thStyle, ...this.getStickyStyle(idx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, h("div", { class: `th__content th__content--${col.align || 'left'}` }, h("div", { class: "th__content--label" }, col.label), col.icon && (h("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (h("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (h("sd-tooltip", { ...col.tooltipOptions }, h("div", { slot: "content" }, col.tooltip.map(text => (h("p", null, text)))))), col.hasDropdown === true && (h("button", { class: {
|
|
260
|
+
'th__dropdown-trigger': true,
|
|
261
|
+
'th__dropdown-trigger--open': dropdownOpenMap[col.name] === true,
|
|
262
|
+
}, ref: el => { dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": dropdownOpenMap[col.name] === true ? 'true' : 'false' }, h("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && idx !== lastColIdx && (
|
|
177
263
|
// column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
|
|
178
264
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
179
265
|
h("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(idx, evt) }))))), middleCols.map((col, relativeIdx) => {
|
|
@@ -181,7 +267,10 @@ export class SdThead {
|
|
|
181
267
|
return (h("th", { key: col.name, class: {
|
|
182
268
|
th: true,
|
|
183
269
|
[`${col.thClass}`]: Boolean(col.thClass),
|
|
184
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, h("div", { class: `th__content th__content--${col.align || 'left'}` }, h("div", { class: "th__content--label" }, col.label), col.icon && (h("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (h("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (h("sd-tooltip", { ...col.tooltipOptions }, h("div", { slot: "content" }, col.tooltip.map(text => (h("p", null, text))))))
|
|
270
|
+
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, h("div", { class: `th__content th__content--${col.align || 'left'}` }, h("div", { class: "th__content--label" }, col.label), col.icon && (h("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (h("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (h("sd-tooltip", { ...col.tooltipOptions }, h("div", { slot: "content" }, col.tooltip.map(text => (h("p", null, text)))))), col.hasDropdown === true && (h("button", { class: {
|
|
271
|
+
'th__dropdown-trigger': true,
|
|
272
|
+
'th__dropdown-trigger--open': this.dropdownOpenMap[col.name] === true,
|
|
273
|
+
}, ref: el => { this.dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": this.dropdownOpenMap[col.name] === true ? 'true' : 'false' }, h("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && actualColIdx !== lastColIdx && (
|
|
185
274
|
// column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
|
|
186
275
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
187
276
|
h("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(actualColIdx, evt) }))));
|
|
@@ -193,7 +282,10 @@ export class SdThead {
|
|
|
193
282
|
'sticky-right': true,
|
|
194
283
|
'sticky-right-edge': relativeIdx === 0,
|
|
195
284
|
'is-scrolled-right': relativeIdx === 0 && this._scrolledRight,
|
|
196
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, h("div", { class: `th__content th__content--${col.align || 'left'}` }, h("div", { class: "th__content--label" }, col.label), col.icon && (h("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (h("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (h("sd-tooltip", { ...col.tooltipOptions }, h("div", { slot: "content" }, col.tooltip.map(text => (h("p", null, text))))))
|
|
285
|
+
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, h("div", { class: `th__content th__content--${col.align || 'left'}` }, h("div", { class: "th__content--label" }, col.label), col.icon && (h("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (h("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (h("sd-tooltip", { ...col.tooltipOptions }, h("div", { slot: "content" }, col.tooltip.map(text => (h("p", null, text)))))), col.hasDropdown === true && (h("button", { class: {
|
|
286
|
+
'th__dropdown-trigger': true,
|
|
287
|
+
'th__dropdown-trigger--open': this.dropdownOpenMap[col.name] === true,
|
|
288
|
+
}, ref: el => { this.dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": this.dropdownOpenMap[col.name] === true ? 'true' : 'false' }, h("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && (
|
|
197
289
|
// column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
|
|
198
290
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
199
291
|
h("div", { class: "th__resizer th__resizer--left", onMouseDown: (evt) => this.handleResize(actualColIdx, evt, true) }))));
|
|
@@ -231,7 +323,7 @@ export class SdThead {
|
|
|
231
323
|
"optional": true,
|
|
232
324
|
"docs": {
|
|
233
325
|
"tags": [],
|
|
234
|
-
"text": ""
|
|
326
|
+
"text": "\uD14C\uC774\uBE14 \uCEEC\uB7FC \uBAA9\uB85D"
|
|
235
327
|
},
|
|
236
328
|
"getter": false,
|
|
237
329
|
"setter": false
|
|
@@ -248,7 +340,7 @@ export class SdThead {
|
|
|
248
340
|
"optional": true,
|
|
249
341
|
"docs": {
|
|
250
342
|
"tags": [],
|
|
251
|
-
"text": ""
|
|
343
|
+
"text": "\uD589 \uC120\uD0DD \uAE30\uB2A5 \uC0AC\uC6A9 \uC5EC\uBD80"
|
|
252
344
|
},
|
|
253
345
|
"getter": false,
|
|
254
346
|
"setter": false,
|
|
@@ -267,7 +359,7 @@ export class SdThead {
|
|
|
267
359
|
"optional": true,
|
|
268
360
|
"docs": {
|
|
269
361
|
"tags": [],
|
|
270
|
-
"text": ""
|
|
362
|
+
"text": "\uCEEC\uB7FC \uB108\uBE44 \uC870\uC808 \uAC00\uB2A5 \uC5EC\uBD80"
|
|
271
363
|
},
|
|
272
364
|
"getter": false,
|
|
273
365
|
"setter": false,
|
|
@@ -293,7 +385,7 @@ export class SdThead {
|
|
|
293
385
|
"optional": true,
|
|
294
386
|
"docs": {
|
|
295
387
|
"tags": [],
|
|
296
|
-
"text": ""
|
|
388
|
+
"text": "\uACE0\uC815 \uCEEC\uB7FC \uC124\uC815"
|
|
297
389
|
},
|
|
298
390
|
"getter": false,
|
|
299
391
|
"setter": false
|
|
@@ -310,7 +402,7 @@ export class SdThead {
|
|
|
310
402
|
"optional": true,
|
|
311
403
|
"docs": {
|
|
312
404
|
"tags": [],
|
|
313
|
-
"text": ""
|
|
405
|
+
"text": "\uD5E4\uB354 \uACE0\uC815 \uC5EC\uBD80"
|
|
314
406
|
},
|
|
315
407
|
"getter": false,
|
|
316
408
|
"setter": false,
|
|
@@ -329,7 +421,7 @@ export class SdThead {
|
|
|
329
421
|
"optional": true,
|
|
330
422
|
"docs": {
|
|
331
423
|
"tags": [],
|
|
332
|
-
"text": ""
|
|
424
|
+
"text": "\uC88C\uCE21 \uC2A4\uD06C\uB864 \uC5EC\uBD80"
|
|
333
425
|
},
|
|
334
426
|
"getter": false,
|
|
335
427
|
"setter": false,
|
|
@@ -348,7 +440,7 @@ export class SdThead {
|
|
|
348
440
|
"optional": true,
|
|
349
441
|
"docs": {
|
|
350
442
|
"tags": [],
|
|
351
|
-
"text": ""
|
|
443
|
+
"text": "\uC6B0\uCE21 \uC2A4\uD06C\uB864 \uC5EC\uBD80"
|
|
352
444
|
},
|
|
353
445
|
"getter": false,
|
|
354
446
|
"setter": false,
|
|
@@ -374,7 +466,7 @@ export class SdThead {
|
|
|
374
466
|
"optional": false,
|
|
375
467
|
"docs": {
|
|
376
468
|
"tags": [],
|
|
377
|
-
"text": ""
|
|
469
|
+
"text": "\uC804\uCCB4 \uC120\uD0DD \uCCB4\uD06C\uBC15\uC2A4\uC6A9 \uD589 \uB370\uC774\uD130"
|
|
378
470
|
},
|
|
379
471
|
"getter": false,
|
|
380
472
|
"setter": false,
|
|
@@ -392,7 +484,7 @@ export class SdThead {
|
|
|
392
484
|
"optional": false,
|
|
393
485
|
"docs": {
|
|
394
486
|
"tags": [],
|
|
395
|
-
"text": ""
|
|
487
|
+
"text": "\uCEEC\uB7FC \uB108\uBE44 \uBAA9\uB85D"
|
|
396
488
|
},
|
|
397
489
|
"getter": false,
|
|
398
490
|
"setter": false,
|
|
@@ -409,7 +501,8 @@ export class SdThead {
|
|
|
409
501
|
"_stickyColumn": {},
|
|
410
502
|
"_stickyHeader": {},
|
|
411
503
|
"_scrolledLeft": {},
|
|
412
|
-
"_scrolledRight": {}
|
|
504
|
+
"_scrolledRight": {},
|
|
505
|
+
"dropdownOpenMap": {}
|
|
413
506
|
};
|
|
414
507
|
}
|
|
415
508
|
static get events() {
|
|
@@ -421,7 +514,7 @@ export class SdThead {
|
|
|
421
514
|
"composed": true,
|
|
422
515
|
"docs": {
|
|
423
516
|
"tags": [],
|
|
424
|
-
"text": ""
|
|
517
|
+
"text": "\uCEEC\uB7FC \uC815\uB82C \uBC84\uD2BC \uD074\uB9AD \uC2DC \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
|
|
425
518
|
},
|
|
426
519
|
"complexType": {
|
|
427
520
|
"original": "{ column: SdTableColumn }",
|
|
@@ -452,7 +545,7 @@ export class SdThead {
|
|
|
452
545
|
"return": "Promise<void>"
|
|
453
546
|
},
|
|
454
547
|
"docs": {
|
|
455
|
-
"text": "",
|
|
548
|
+
"text": "\uD14C\uC774\uBE14 \uC124\uC815\uC744 \uB2E4\uC2DC \uBD88\uB7EC\uC635\uB2C8\uB2E4.",
|
|
456
549
|
"tags": []
|
|
457
550
|
}
|
|
458
551
|
},
|
|
@@ -473,7 +566,7 @@ export class SdThead {
|
|
|
473
566
|
"return": "Promise<void>"
|
|
474
567
|
},
|
|
475
568
|
"docs": {
|
|
476
|
-
"text": "",
|
|
569
|
+
"text": "\uCEEC\uB7FC \uB108\uBE44\uB97C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4.",
|
|
477
570
|
"tags": []
|
|
478
571
|
}
|
|
479
572
|
},
|
|
@@ -490,7 +583,7 @@ export class SdThead {
|
|
|
490
583
|
"return": "Promise<void>"
|
|
491
584
|
},
|
|
492
585
|
"docs": {
|
|
493
|
-
"text": "",
|
|
586
|
+
"text": "\uC804\uCCB4 \uC120\uD0DD \uCCB4\uD06C\uBC15\uC2A4 \uC0C1\uD0DC\uB97C \uAC31\uC2E0\uD569\uB2C8\uB2E4.",
|
|
494
587
|
"tags": []
|
|
495
588
|
}
|
|
496
589
|
}
|
|
@@ -3,11 +3,17 @@ import { TABLE_ID_ATTR, } from "../constants";
|
|
|
3
3
|
import { TABLE_BODY_LAYOUT, TABLE_BODY_TYPOGRAPHY, TABLE_BORDER, TABLE_SEPARATOR, } from "../sd-table.config";
|
|
4
4
|
export class SdTr {
|
|
5
5
|
el;
|
|
6
|
+
/** 테이블 컬럼 목록 */
|
|
6
7
|
columns;
|
|
8
|
+
/** 행 선택 기능 사용 여부 */
|
|
7
9
|
selectable;
|
|
10
|
+
/** 고정 컬럼 설정 */
|
|
8
11
|
stickyColumn;
|
|
12
|
+
/** 행 식별 키 */
|
|
9
13
|
rowKey = '';
|
|
14
|
+
/** 행 데이터 객체 */
|
|
10
15
|
row = {};
|
|
16
|
+
/** 구분선 높이 (4 또는 6px, null이면 일반 행) */
|
|
11
17
|
separator = null;
|
|
12
18
|
tableId = '';
|
|
13
19
|
columnWidths = [];
|
|
@@ -60,12 +66,15 @@ export class SdTr {
|
|
|
60
66
|
this.columnWidths = [...config.columnWidths];
|
|
61
67
|
}
|
|
62
68
|
}
|
|
69
|
+
/** 테이블 설정을 다시 불러옵니다. */
|
|
63
70
|
async refreshConfig() {
|
|
64
71
|
this.resolveConfig();
|
|
65
72
|
}
|
|
73
|
+
/** 셀 병합 버전을 갱신해 td를 재렌더링합니다. */
|
|
66
74
|
async bumpSpansVersion() {
|
|
67
75
|
this.spansVersion = this.spansVersion + 1;
|
|
68
76
|
}
|
|
77
|
+
/** 페이지네이션에 따른 행 표시 여부를 갱신합니다. */
|
|
69
78
|
async updateVisibility() {
|
|
70
79
|
this.updateVisibilitySync();
|
|
71
80
|
}
|
|
@@ -78,9 +87,11 @@ export class SdTr {
|
|
|
78
87
|
}
|
|
79
88
|
this.isVisible = rowIndex >= pageInfo.startIndex && rowIndex < pageInfo.endIndex;
|
|
80
89
|
}
|
|
90
|
+
/** 컬럼 너비를 업데이트합니다. */
|
|
81
91
|
async setColumnWidths(widths) {
|
|
82
92
|
this.columnWidths = widths;
|
|
83
93
|
}
|
|
94
|
+
/** 체크박스 선택 상태를 갱신합니다. */
|
|
84
95
|
async refreshSelection() {
|
|
85
96
|
const checkbox = this.el.querySelector('sd-checkbox');
|
|
86
97
|
if (checkbox) {
|
|
@@ -291,7 +302,7 @@ export class SdTr {
|
|
|
291
302
|
"optional": true,
|
|
292
303
|
"docs": {
|
|
293
304
|
"tags": [],
|
|
294
|
-
"text": ""
|
|
305
|
+
"text": "\uD14C\uC774\uBE14 \uCEEC\uB7FC \uBAA9\uB85D"
|
|
295
306
|
},
|
|
296
307
|
"getter": false,
|
|
297
308
|
"setter": false
|
|
@@ -308,7 +319,7 @@ export class SdTr {
|
|
|
308
319
|
"optional": true,
|
|
309
320
|
"docs": {
|
|
310
321
|
"tags": [],
|
|
311
|
-
"text": ""
|
|
322
|
+
"text": "\uD589 \uC120\uD0DD \uAE30\uB2A5 \uC0AC\uC6A9 \uC5EC\uBD80"
|
|
312
323
|
},
|
|
313
324
|
"getter": false,
|
|
314
325
|
"setter": false,
|
|
@@ -334,7 +345,7 @@ export class SdTr {
|
|
|
334
345
|
"optional": true,
|
|
335
346
|
"docs": {
|
|
336
347
|
"tags": [],
|
|
337
|
-
"text": ""
|
|
348
|
+
"text": "\uACE0\uC815 \uCEEC\uB7FC \uC124\uC815"
|
|
338
349
|
},
|
|
339
350
|
"getter": false,
|
|
340
351
|
"setter": false
|
|
@@ -351,7 +362,7 @@ export class SdTr {
|
|
|
351
362
|
"optional": false,
|
|
352
363
|
"docs": {
|
|
353
364
|
"tags": [],
|
|
354
|
-
"text": ""
|
|
365
|
+
"text": "\uD589 \uC2DD\uBCC4 \uD0A4"
|
|
355
366
|
},
|
|
356
367
|
"getter": false,
|
|
357
368
|
"setter": false,
|
|
@@ -378,7 +389,7 @@ export class SdTr {
|
|
|
378
389
|
"optional": false,
|
|
379
390
|
"docs": {
|
|
380
391
|
"tags": [],
|
|
381
|
-
"text": ""
|
|
392
|
+
"text": "\uD589 \uB370\uC774\uD130 \uAC1D\uCCB4"
|
|
382
393
|
},
|
|
383
394
|
"getter": false,
|
|
384
395
|
"setter": false,
|
|
@@ -396,7 +407,7 @@ export class SdTr {
|
|
|
396
407
|
"optional": true,
|
|
397
408
|
"docs": {
|
|
398
409
|
"tags": [],
|
|
399
|
-
"text": ""
|
|
410
|
+
"text": "\uAD6C\uBD84\uC120 \uB192\uC774 (4 \uB610\uB294 6px, null\uC774\uBA74 \uC77C\uBC18 \uD589)"
|
|
400
411
|
},
|
|
401
412
|
"getter": false,
|
|
402
413
|
"setter": false,
|
|
@@ -435,7 +446,7 @@ export class SdTr {
|
|
|
435
446
|
"return": "Promise<void>"
|
|
436
447
|
},
|
|
437
448
|
"docs": {
|
|
438
|
-
"text": "",
|
|
449
|
+
"text": "\uD14C\uC774\uBE14 \uC124\uC815\uC744 \uB2E4\uC2DC \uBD88\uB7EC\uC635\uB2C8\uB2E4.",
|
|
439
450
|
"tags": []
|
|
440
451
|
}
|
|
441
452
|
},
|
|
@@ -452,7 +463,7 @@ export class SdTr {
|
|
|
452
463
|
"return": "Promise<void>"
|
|
453
464
|
},
|
|
454
465
|
"docs": {
|
|
455
|
-
"text": "",
|
|
466
|
+
"text": "\uC140 \uBCD1\uD569 \uBC84\uC804\uC744 \uAC31\uC2E0\uD574 td\uB97C \uC7AC\uB80C\uB354\uB9C1\uD569\uB2C8\uB2E4.",
|
|
456
467
|
"tags": []
|
|
457
468
|
}
|
|
458
469
|
},
|
|
@@ -469,7 +480,7 @@ export class SdTr {
|
|
|
469
480
|
"return": "Promise<void>"
|
|
470
481
|
},
|
|
471
482
|
"docs": {
|
|
472
|
-
"text": "",
|
|
483
|
+
"text": "\uD398\uC774\uC9C0\uB124\uC774\uC158\uC5D0 \uB530\uB978 \uD589 \uD45C\uC2DC \uC5EC\uBD80\uB97C \uAC31\uC2E0\uD569\uB2C8\uB2E4.",
|
|
473
484
|
"tags": []
|
|
474
485
|
}
|
|
475
486
|
},
|
|
@@ -490,7 +501,7 @@ export class SdTr {
|
|
|
490
501
|
"return": "Promise<void>"
|
|
491
502
|
},
|
|
492
503
|
"docs": {
|
|
493
|
-
"text": "",
|
|
504
|
+
"text": "\uCEEC\uB7FC \uB108\uBE44\uB97C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4.",
|
|
494
505
|
"tags": []
|
|
495
506
|
}
|
|
496
507
|
},
|
|
@@ -507,7 +518,7 @@ export class SdTr {
|
|
|
507
518
|
"return": "Promise<void>"
|
|
508
519
|
},
|
|
509
520
|
"docs": {
|
|
510
|
-
"text": "",
|
|
521
|
+
"text": "\uCCB4\uD06C\uBC15\uC2A4 \uC120\uD0DD \uC0C1\uD0DC\uB97C \uAC31\uC2E0\uD569\uB2C8\uB2E4.",
|
|
511
522
|
"tags": []
|
|
512
523
|
}
|
|
513
524
|
}
|