@sellmate/design-system 1.29.0 → 1.31.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-iiJZMzVM.js → index-Jr8OU0y9.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sd-action-modal.cjs.entry.js +2 -2
- package/dist/cjs/sd-badge.cjs.entry.js +2 -2
- package/dist/cjs/sd-barcode-input.cjs.entry.js +2 -2
- package/dist/cjs/sd-button_2.cjs.entry.js +3 -3
- package/dist/cjs/sd-calendar_2.cjs.entry.js +8 -9
- package/dist/cjs/sd-callout.cjs.entry.js +2 -2
- package/dist/cjs/sd-card.cjs.entry.js +2 -2
- package/dist/cjs/sd-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/sd-chip-input.cjs.entry.js +21 -16
- package/dist/cjs/sd-chip.cjs.entry.js +7 -7
- package/dist/cjs/sd-circle-progress.cjs.entry.js +2 -2
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +3 -3
- package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
- package/dist/cjs/{component.datepicker-zFTQQKMH.js → sd-date-picker.config-CgyNxY03.js} +66 -1
- package/dist/cjs/sd-date-picker_8.cjs.entry.js +141 -51
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +162 -12
- package/dist/cjs/sd-divider.cjs.entry.js +2 -2
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +1 -1
- package/dist/cjs/sd-field_3.cjs.entry.js +51 -52
- package/dist/cjs/sd-form.cjs.entry.js +1 -1
- package/dist/cjs/sd-ghost-button_3.cjs.entry.js +14 -10
- package/dist/cjs/sd-guide.cjs.entry.js +1 -1
- package/dist/cjs/sd-key-value-table.cjs.entry.js +1 -1
- package/dist/cjs/sd-linear-progress.cjs.entry.js +2 -2
- package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
- package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
- package/dist/cjs/sd-pagination.cjs.entry.js +4 -4
- package/dist/cjs/sd-popover.cjs.entry.js +134 -44
- package/dist/cjs/sd-popup.cjs.entry.js +2 -2
- package/dist/cjs/sd-radio-button.cjs.entry.js +3 -3
- package/dist/cjs/sd-radio.cjs.entry.js +4 -2
- package/dist/cjs/sd-select-list-item_4.cjs.entry.js +11 -11
- package/dist/cjs/sd-switch.cjs.entry.js +13 -3
- package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
- package/dist/cjs/sd-text-link.cjs.entry.js +4 -4
- package/dist/cjs/sd-time-picker-selector.cjs.entry.js +179 -0
- package/dist/cjs/sd-time-picker-trigger.cjs.entry.js +75 -0
- package/dist/cjs/sd-time-picker.cjs.entry.js +173 -0
- package/dist/cjs/sd-time-picker.config-C7REB08L.js +156 -0
- package/dist/cjs/sd-time-range-picker-selector.cjs.entry.js +219 -0
- package/dist/cjs/sd-time-range-picker.cjs.entry.js +204 -0
- package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
- package/dist/cjs/sd-toast.cjs.entry.js +3 -3
- package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
- package/dist/cjs/{tooltipArrow-DOOcBlLp.js → tooltipArrow-BlrFItn5.js} +1 -1
- package/dist/cjs/useDatePicker-j06ymWZ_.js +103 -0
- package/dist/collection/collection-manifest.json +8 -3
- package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
- package/dist/collection/components/sd-badge/sd-badge.js +1 -1
- package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
- package/dist/collection/components/sd-button/sd-button.js +2 -2
- package/dist/collection/components/sd-calendar/sd-calendar.js +3 -3
- package/dist/collection/components/sd-callout/sd-callout.js +1 -1
- package/dist/collection/components/sd-card/sd-card.js +1 -1
- package/dist/collection/components/sd-checkbox/sd-checkbox.js +8 -8
- package/dist/collection/components/sd-chip/sd-chip.js +8 -8
- package/dist/collection/components/sd-chip-input/sd-chip-input.css +3 -0
- package/dist/collection/components/sd-chip-input/sd-chip-input.js +43 -17
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +1 -1
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +23 -2
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.css +75 -0
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +152 -6
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.config.js +27 -0
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +59 -3
- package/dist/collection/components/sd-divider/sd-divider.js +1 -1
- package/dist/collection/components/sd-field/sd-field.css +4 -0
- package/dist/collection/components/sd-field/sd-field.js +58 -5
- package/dist/collection/components/sd-file-picker/sd-file-picker.config.js +17 -10
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +46 -16
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +27 -3
- package/dist/collection/components/sd-input/sd-input.js +4 -4
- package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
- package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
- package/dist/collection/components/sd-number-input/sd-number-input.js +58 -7
- package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
- package/dist/collection/components/sd-popover/sd-popover.config.js +41 -0
- package/dist/collection/components/sd-popover/sd-popover.js +189 -191
- package/dist/collection/components/sd-popup/sd-popup.js +1 -1
- package/dist/collection/components/sd-portal/sd-portal.js +1 -1
- package/dist/collection/components/sd-radio/sd-radio.js +25 -4
- package/dist/collection/components/sd-radio-button/sd-radio-button.js +6 -6
- package/dist/collection/components/sd-radio-group/sd-radio-group.js +7 -7
- package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
- package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
- package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
- package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
- package/dist/collection/components/sd-select/sd-select.js +4 -4
- package/dist/collection/components/sd-switch/sd-switch.js +54 -3
- package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
- package/dist/collection/components/sd-tag/sd-tag.js +7 -8
- package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
- package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
- package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.css +87 -0
- package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.js +266 -0
- package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.css +38 -0
- package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.js +216 -0
- package/dist/collection/components/sd-time-picker/sd-time-picker.config.js +78 -0
- package/dist/collection/components/sd-time-picker/sd-time-picker.css +12 -0
- package/dist/collection/components/sd-time-picker/sd-time-picker.js +761 -0
- package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.css +102 -0
- package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.js +338 -0
- package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.config.js +23 -0
- package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.css +12 -0
- package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.js +809 -0
- 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 +36 -189
- package/dist/components/index.js +1 -1
- package/dist/components/p-1DsQj3tv.js +1 -0
- package/dist/components/p-2g4jlJ3i.js +1 -0
- package/dist/components/{p-C_in6AVN.js → p-6U1qyU5A.js} +1 -1
- package/dist/components/{p-CSr33M9s.js → p-B-EV9bey.js} +1 -1
- package/dist/components/p-B887QQl2.js +1 -0
- package/dist/components/{p-Bpv90tfa.js → p-BPzs63D8.js} +1 -1
- package/dist/components/{p-Dg1UrMqI.js → p-BvJ14GuJ.js} +1 -1
- package/dist/components/p-Bxv2AFOb.js +1 -0
- package/dist/components/p-C6o10dl7.js +1 -0
- package/dist/components/p-C6wuKkUq.js +1 -0
- package/dist/components/{p-CbS69IvC.js → p-C9IKm4j5.js} +1 -1
- package/dist/components/{p-BHjezpAC.js → p-CH9dgzTr.js} +1 -1
- package/dist/components/{p-oYbVr-z0.js → p-CKV2W-zU.js} +1 -1
- package/dist/components/p-CTCt17CE.js +1 -0
- package/dist/components/{p-BOxGhKKP.js → p-CghFB91T.js} +1 -1
- package/dist/components/p-Ckr9iuVb.js +1 -0
- package/dist/components/p-ClbD4Gsr.js +1 -0
- package/dist/components/p-CmCOLnc0.js +1 -0
- package/dist/components/{p-C7mC7a1z.js → p-CwzkplrI.js} +1 -1
- package/dist/components/p-CzJ9g73f.js +1 -0
- package/dist/components/p-D8yhjm54.js +1 -0
- package/dist/components/p-D9qp3o5Y.js +1 -0
- package/dist/components/{p-OO7xxhkC.js → p-DE8Ws9As.js} +1 -1
- package/dist/components/p-DMm_GeZC.js +1 -0
- package/dist/components/{p-idG6CMO0.js → p-DOfLrOEu.js} +1 -1
- package/dist/components/{p-R-Sdglj0.js → p-DSWD8udu.js} +1 -1
- package/dist/components/{p-Di1q4f5E.js → p-DWnuCSqC.js} +1 -1
- package/dist/components/p-DYjaQs6e.js +1 -0
- package/dist/components/{p-9Ap2W-Mi.js → p-DasiqnrU.js} +1 -1
- package/dist/components/{p-CErFctrV.js → p-Dc9g3-5z.js} +1 -1
- package/dist/components/{p-CFTyEfB9.js → p-DnlLqzGM.js} +1 -1
- package/dist/components/p-DsZwiWiU.js +1 -0
- package/dist/components/{p-DMoFncVl.js → p-FGII920I.js} +1 -1
- package/dist/components/p-Hjv7LqkN.js +1 -0
- package/dist/components/{p-BIEPMPWA.js → p-In6mljvA.js} +1 -1
- package/dist/components/p-OnBLxJAP.js +1 -0
- package/dist/components/p-SYnTIeiO.js +1 -0
- package/dist/{design-system/p-B91K50wC.js → components/p-bXzpfkfN.js} +1 -1
- package/dist/components/p-mcbwNjNT.js +1 -0
- package/dist/components/p-qZxAQy4p.js +1 -0
- 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-tabs.js +1 -1
- package/dist/components/sd-tag.js +1 -1
- package/dist/components/sd-text-link.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-time-picker-selector.d.ts +11 -0
- package/dist/components/sd-time-picker-selector.js +1 -0
- package/dist/components/sd-time-picker-trigger.d.ts +11 -0
- package/dist/components/sd-time-picker-trigger.js +1 -0
- package/dist/components/sd-time-picker.d.ts +11 -0
- package/dist/components/sd-time-picker.js +1 -0
- package/dist/components/sd-time-range-picker-selector.d.ts +11 -0
- package/dist/components/sd-time-range-picker-selector.js +1 -0
- package/dist/components/sd-time-range-picker.d.ts +11 -0
- package/dist/components/sd-time-range-picker.js +1 -0
- package/dist/components/sd-toast-container.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-toggle.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/design-system/design-system.css +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/{p-b585f94b.entry.js → p-129b6330.entry.js} +1 -1
- package/dist/design-system/{p-adf2f398.entry.js → p-15f43b9b.entry.js} +1 -1
- package/dist/design-system/p-16b9eac4.entry.js +1 -0
- package/dist/design-system/{p-c1066f40.entry.js → p-1858636f.entry.js} +1 -1
- package/dist/design-system/{p-840006b1.entry.js → p-21672bb8.entry.js} +1 -1
- package/dist/design-system/{p-c7d2c195.entry.js → p-219288ef.entry.js} +1 -1
- package/dist/design-system/{p-c5cffcc6.entry.js → p-22ac9e05.entry.js} +1 -1
- package/dist/design-system/p-2534d3d4.entry.js +1 -0
- package/dist/design-system/{p-be54fd3a.entry.js → p-3859316f.entry.js} +1 -1
- package/dist/design-system/{p-53fe2741.entry.js → p-46da4e95.entry.js} +1 -1
- package/dist/design-system/{p-8de3b502.entry.js → p-46eb3421.entry.js} +1 -1
- package/dist/design-system/p-4782331f.entry.js +1 -0
- package/dist/design-system/{p-5a257ed9.entry.js → p-4a117dd6.entry.js} +1 -1
- package/dist/design-system/{p-55c0be7d.entry.js → p-4ae0a64a.entry.js} +1 -1
- package/dist/design-system/{p-246aafb9.entry.js → p-52b1be6f.entry.js} +1 -1
- package/dist/design-system/p-56e7c87b.entry.js +1 -0
- package/dist/design-system/{p-26a27312.entry.js → p-570b9e91.entry.js} +1 -1
- package/dist/design-system/p-5a113197.entry.js +1 -0
- package/dist/design-system/p-62ff77e4.entry.js +1 -0
- package/dist/design-system/{p-d204cac5.entry.js → p-655324cd.entry.js} +1 -1
- package/dist/design-system/p-66cff123.entry.js +1 -0
- package/dist/design-system/{p-0c1d1a15.entry.js → p-6c4fa9d7.entry.js} +1 -1
- package/dist/design-system/{p-8ed1d470.entry.js → p-809a0a71.entry.js} +1 -1
- package/dist/design-system/{p-ec4ad48c.entry.js → p-82cb62a9.entry.js} +1 -1
- package/dist/design-system/p-843d1a8a.entry.js +1 -0
- package/dist/design-system/{p-02f0b906.entry.js → p-8836d9ff.entry.js} +1 -1
- package/dist/design-system/{p-d2ce01ac.entry.js → p-8af8e302.entry.js} +1 -1
- package/dist/design-system/p-9c131122.entry.js +1 -0
- package/dist/design-system/{p-BPKiBSGr.js → p-BnUjeY2n.js} +1 -1
- package/dist/design-system/p-C599jhDs.js +2 -0
- package/dist/design-system/p-Cn8LZw1e.js +1 -0
- package/dist/design-system/p-DMm_GeZC.js +1 -0
- package/dist/design-system/p-Dz23PPdF.js +1 -0
- package/dist/design-system/p-a0c55a19.entry.js +1 -0
- package/dist/design-system/p-a6c292d1.entry.js +1 -0
- package/dist/design-system/p-a9cc4697.entry.js +1 -0
- package/dist/design-system/{p-3595cafb.entry.js → p-b2dc1202.entry.js} +1 -1
- package/dist/design-system/{p-86329ae3.entry.js → p-b5229957.entry.js} +1 -1
- package/dist/design-system/{p-a631cd78.entry.js → p-b75cc0dd.entry.js} +1 -1
- package/dist/design-system/p-b97a6cf3.entry.js +1 -0
- package/dist/design-system/{p-3cd2751a.entry.js → p-c1e625e5.entry.js} +1 -1
- package/dist/design-system/{p-1ed1bfa1.entry.js → p-c7f03dea.entry.js} +1 -1
- package/dist/design-system/p-cdb2433a.entry.js +1 -0
- package/dist/design-system/{p-d9f33192.entry.js → p-d5325895.entry.js} +1 -1
- package/dist/design-system/p-e0e4a451.entry.js +1 -0
- package/dist/design-system/p-e387ec65.entry.js +1 -0
- package/dist/design-system/{p-4c85f6f6.entry.js → p-efe3601d.entry.js} +1 -1
- package/dist/esm/design-system.js +3 -3
- package/dist/esm/{index-Dz490Ukt.js → index-C599jhDs.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/sd-action-modal.entry.js +2 -2
- package/dist/esm/sd-badge.entry.js +2 -2
- package/dist/esm/sd-barcode-input.entry.js +2 -2
- package/dist/esm/sd-button_2.entry.js +3 -3
- package/dist/esm/sd-calendar_2.entry.js +8 -9
- package/dist/esm/sd-callout.entry.js +2 -2
- package/dist/esm/sd-card.entry.js +2 -2
- package/dist/esm/sd-checkbox.entry.js +5 -5
- package/dist/esm/sd-chip-input.entry.js +21 -16
- package/dist/esm/sd-chip.entry.js +7 -7
- package/dist/esm/sd-circle-progress.entry.js +2 -2
- package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
- package/dist/esm/sd-date-box.entry.js +1 -1
- package/dist/esm/{component.datepicker-BOxGhKKP.js → sd-date-picker.config-CdXJcOGr.js} +65 -2
- package/dist/esm/sd-date-picker_8.entry.js +141 -51
- package/dist/esm/sd-date-range-picker-calendar.entry.js +158 -8
- package/dist/esm/sd-divider.entry.js +2 -2
- package/dist/esm/sd-dropdown-button.entry.js +1 -1
- package/dist/esm/sd-field_3.entry.js +51 -52
- package/dist/esm/sd-form.entry.js +1 -1
- package/dist/esm/sd-ghost-button_3.entry.js +14 -10
- package/dist/esm/sd-guide.entry.js +1 -1
- package/dist/esm/sd-key-value-table.entry.js +1 -1
- package/dist/esm/sd-linear-progress.entry.js +2 -2
- package/dist/esm/sd-loading-container.entry.js +3 -3
- package/dist/esm/sd-modal-container.entry.js +1 -1
- package/dist/esm/sd-pagination.entry.js +4 -4
- package/dist/esm/sd-popover.entry.js +134 -44
- package/dist/esm/sd-popup.entry.js +2 -2
- package/dist/esm/sd-radio-button.entry.js +3 -3
- package/dist/esm/sd-radio.entry.js +4 -2
- package/dist/esm/sd-select-list-item_4.entry.js +11 -11
- package/dist/esm/sd-switch.entry.js +13 -3
- package/dist/esm/sd-tabs.entry.js +2 -2
- package/dist/esm/sd-text-link.entry.js +4 -4
- package/dist/esm/sd-time-picker-selector.entry.js +177 -0
- package/dist/esm/sd-time-picker-trigger.entry.js +73 -0
- package/dist/esm/sd-time-picker.config-DUq29Nhs.js +148 -0
- package/dist/esm/sd-time-picker.entry.js +171 -0
- package/dist/esm/sd-time-range-picker-selector.entry.js +217 -0
- package/dist/esm/sd-time-range-picker.entry.js +202 -0
- package/dist/esm/sd-toast-container.entry.js +2 -2
- package/dist/esm/sd-toast.entry.js +3 -3
- package/dist/esm/sd-toggle.entry.js +2 -2
- package/dist/esm/{tooltipArrow-CEHVt90h.js → tooltipArrow-DbLihSLI.js} +1 -1
- package/dist/esm/{useDatePicker-BG0lUGJG.js → useDatePicker-DQ5Kyy_D.js} +1 -1
- package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -2
- package/dist/types/components/sd-chip/sd-chip.d.ts +3 -3
- package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +4 -2
- package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +2 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +20 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker.config.d.ts +25 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +9 -0
- package/dist/types/components/sd-field/sd-field.d.ts +7 -0
- package/dist/types/components/sd-file-picker/sd-file-picker.config.d.ts +28 -0
- package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +3 -1
- package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +5 -0
- package/dist/types/components/sd-input/sd-input.d.ts +1 -1
- package/dist/types/components/sd-number-input/sd-number-input.d.ts +8 -0
- package/dist/types/components/sd-popover/sd-popover.config.d.ts +22 -0
- package/dist/types/components/sd-popover/sd-popover.d.ts +29 -36
- package/dist/types/components/sd-radio/sd-radio.d.ts +3 -1
- package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +2 -2
- package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +2 -2
- package/dist/types/components/sd-switch/sd-switch.d.ts +8 -1
- package/dist/types/components/sd-tag/sd-tag.d.ts +2 -2
- package/dist/types/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.d.ts +35 -0
- package/dist/types/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.d.ts +21 -0
- package/dist/types/components/sd-time-picker/sd-time-picker.config.d.ts +71 -0
- package/dist/types/components/sd-time-picker/sd-time-picker.d.ts +84 -0
- package/dist/types/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.d.ts +40 -0
- package/dist/types/components/sd-time-range-picker/sd-time-range-picker.config.d.ts +9 -0
- package/dist/types/components/sd-time-range-picker/sd-time-range-picker.d.ts +88 -0
- package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +7 -22
- package/dist/types/components.d.ts +1268 -381
- package/hydrate/index.js +1975 -502
- package/hydrate/index.mjs +1975 -502
- package/package.json +1 -1
- package/dist/cjs/sd-date-picker.config-Chrd8c4v.js +0 -41
- package/dist/cjs/useDatePicker-CgpIfwLA.js +0 -103
- package/dist/components/p-BFVfSW9t.js +0 -1
- package/dist/components/p-BKu0I6Io.js +0 -1
- package/dist/components/p-B_Zwr4Et.js +0 -1
- package/dist/components/p-CBoDoYDO.js +0 -1
- package/dist/components/p-CYMMLsGt.js +0 -1
- package/dist/components/p-C_SG4M4z.js +0 -1
- package/dist/components/p-CgSXYw_0.js +0 -1
- package/dist/components/p-CmRF12Fy.js +0 -1
- package/dist/components/p-CnRfET5y.js +0 -1
- package/dist/components/p-Cvsrc0be.js +0 -1
- package/dist/components/p-DJ8z7_EG.js +0 -1
- package/dist/components/p-DJmxpVkK.js +0 -1
- package/dist/components/p-DN7MAx-q.js +0 -1
- package/dist/components/p-DS6NVBvu.js +0 -1
- package/dist/components/p-D_56BjcD.js +0 -1
- package/dist/components/p-Uh9emYrV.js +0 -1
- package/dist/components/p-f0aBxUBG.js +0 -1
- package/dist/design-system/p-0e014b76.entry.js +0 -1
- package/dist/design-system/p-1b5fcf7b.entry.js +0 -1
- package/dist/design-system/p-2a4d2ee0.entry.js +0 -1
- package/dist/design-system/p-2d6a7d7b.entry.js +0 -1
- package/dist/design-system/p-4b474538.entry.js +0 -1
- package/dist/design-system/p-BOxGhKKP.js +0 -1
- package/dist/design-system/p-BhcvMs8c.js +0 -1
- package/dist/design-system/p-Dz490Ukt.js +0 -2
- package/dist/design-system/p-cb6ab65c.entry.js +0 -1
- package/dist/design-system/p-d51f4170.entry.js +0 -1
- package/dist/design-system/p-e7740a5f.entry.js +0 -1
- package/dist/design-system/p-e85bf462.entry.js +0 -1
- package/dist/design-system/p-ea008087.entry.js +0 -1
- package/dist/design-system/p-f962e5d2.entry.js +0 -1
- package/dist/esm/sd-date-picker.config-krRuSUsA.js +0 -38
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, } from "@stencil/core";
|
|
2
2
|
import { nanoid } from "nanoid/non-secure";
|
|
3
|
-
import { FILE_PICKER_LAYOUT, FILE_PICKER_COLORS, FILE_PICKER_LIST_BOX, } from "./sd-file-picker.config";
|
|
3
|
+
import { FILE_PICKER_LAYOUT, FILE_PICKER_LAYOUTS, FILE_PICKER_COLORS, FILE_PICKER_LIST_BOX, } from "./sd-file-picker.config";
|
|
4
4
|
export class SdFilePicker {
|
|
5
5
|
el;
|
|
6
6
|
/** 선택된 파일 값 */
|
|
@@ -24,6 +24,8 @@ export class SdFilePicker {
|
|
|
24
24
|
/** 최대 파일 개수 */
|
|
25
25
|
maxFiles;
|
|
26
26
|
// sd-field 패스스루 props
|
|
27
|
+
/** 필드 크기 */
|
|
28
|
+
size = 'sm';
|
|
27
29
|
/** 폼 연동용 name 속성 */
|
|
28
30
|
name = nanoid();
|
|
29
31
|
/** 레이블 텍스트 */
|
|
@@ -226,7 +228,7 @@ export class SdFilePicker {
|
|
|
226
228
|
renderChipList() {
|
|
227
229
|
if (!this.hasChips())
|
|
228
230
|
return null;
|
|
229
|
-
return (h("div", { class: "sd-file-picker__chip-list" }, this.internalValue.map((file, index) => (h("sd-chip", { value: file.name, onSdRemove: () => this.handleChipRemove(index) })))));
|
|
231
|
+
return (h("div", { class: "sd-file-picker__chip-list" }, this.internalValue.map((file, index) => (h("sd-chip", { value: file.name, editable: false, onSdRemove: () => this.handleChipRemove(index) })))));
|
|
230
232
|
}
|
|
231
233
|
renderListbox() {
|
|
232
234
|
if (!this.hasChips() || !this.isListboxOpen)
|
|
@@ -252,38 +254,39 @@ export class SdFilePicker {
|
|
|
252
254
|
render() {
|
|
253
255
|
const hasFiles = this.hasFiles();
|
|
254
256
|
const displayText = this.getDisplayText();
|
|
257
|
+
const layout = FILE_PICKER_LAYOUTS[this.size] ?? FILE_PICKER_LAYOUT;
|
|
255
258
|
const cssVars = {
|
|
256
|
-
'--sd-file-picker-font-size': `${
|
|
257
|
-
'--sd-file-picker-line-height': `${
|
|
258
|
-
'--sd-file-picker-font-weight':
|
|
259
|
-
'--sd-file-picker-padding-x': `${
|
|
260
|
-
'--sd-file-picker-gap': `${
|
|
259
|
+
'--sd-file-picker-font-size': `${layout.fontSize}px`,
|
|
260
|
+
'--sd-file-picker-line-height': `${layout.lineHeight}px`,
|
|
261
|
+
'--sd-file-picker-font-weight': layout.fontWeight,
|
|
262
|
+
'--sd-file-picker-padding-x': `${layout.paddingX}px`,
|
|
263
|
+
'--sd-file-picker-gap': `${layout.gap}px`,
|
|
261
264
|
'--sd-file-picker-text-color': FILE_PICKER_COLORS.text.default,
|
|
262
265
|
'--sd-file-picker-placeholder-color': FILE_PICKER_COLORS.text.placeholder,
|
|
263
266
|
'--sd-file-picker-disabled-color': FILE_PICKER_COLORS.text.disabled,
|
|
264
|
-
// sd-field 시스템 변수 override
|
|
265
|
-
|
|
266
|
-
|
|
267
|
+
// sd-field 시스템 변수 override (size에 맞춰)
|
|
268
|
+
[`--sd-system-size-field-${this.size}-height`]: `${layout.height}px`,
|
|
269
|
+
[`--sd-system-radius-field-${this.size}`]: `${layout.radius}px`,
|
|
267
270
|
};
|
|
268
271
|
const showListbox = this.multiple && this.useMultipleListBox;
|
|
269
|
-
const content = (h("div", { key: '
|
|
272
|
+
const content = (h("div", { key: 'd1c3af9860038ddb11d540af8312ad59d051524f', role: "button", tabindex: this.disabled ? -1 : 0, class: "sd-file-picker__content", ref: el => (this.contentRef = el), onClick: this.handleClick, onKeyDown: e => {
|
|
270
273
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
271
274
|
e.preventDefault();
|
|
272
275
|
this.handleClick();
|
|
273
276
|
}
|
|
274
|
-
} }, h("input", { key: '
|
|
277
|
+
} }, h("input", { key: '760c38cd73d0a2a3d0832c5597c0e22bf737bb06', 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", { key: '96ff0bf43eb3f17df92bd8834cd38a1ae36ad475', name: "attachFile", size: Number(layout.iconSize), color: this.getIconColor(), class: "sd-file-picker__icon" }), h("div", { key: '0757b8b734e21fcf7bed04d7306ee3a9d202f950', ref: el => (this.fileNamesRef = el), class: {
|
|
275
278
|
'sd-file-picker__text': true,
|
|
276
279
|
'sd-file-picker__text--placeholder': !hasFiles,
|
|
277
280
|
'sd-file-picker__text--active': hasFiles,
|
|
278
|
-
} }, displayText), showListbox && hasFiles && !this.disabled && (h("sd-ghost-button", { key: '
|
|
281
|
+
} }, displayText), showListbox && hasFiles && !this.disabled && (h("sd-ghost-button", { key: '8e42d38452d00256147ee65e614bdeb7040917d7', icon: "caretDown", size: "xxs", ariaLabel: "toggle file list", disabled: this.disabled, class: {
|
|
279
282
|
'sd-file-picker__caret': true,
|
|
280
283
|
'sd-file-picker__caret--open': this.isListboxOpen,
|
|
281
|
-
}, onClick: this.handleListboxToggle })), !this.disabled && hasFiles && (h("sd-ghost-button", { key: '
|
|
282
|
-
return (h("div", { key: '
|
|
284
|
+
}, onClick: this.handleListboxToggle })), !this.disabled && hasFiles && (h("sd-ghost-button", { key: '6f65042ce5e4efa1b6ab126653d434ca77cdd790', icon: "close", size: "xxs", ariaLabel: "clear", disabled: this.disabled, class: "sd-file-picker__clear-icon", onClick: this.handleClear })), this.showTooltip && hasFiles && this.hovered && (h("div", { key: 'b41146f39c384a5954dca22f2d3da767a63ef0c0', class: "sd-file-picker__tooltip" }, displayText))));
|
|
285
|
+
return (h("div", { key: '858fea100a9317ac6806ae40699e9f5608394e10', class: {
|
|
283
286
|
'sd-file-picker__wrapper': true,
|
|
284
287
|
'sd-file-picker--inline': this.inline,
|
|
285
288
|
'sd-file-picker--inline-disabled': this.inline && this.disabled,
|
|
286
|
-
}, style: cssVars }, h("sd-field", { key: '
|
|
289
|
+
}, style: cssVars }, h("sd-field", { key: '1b7a6a57e4e46c253bd9f77c500dabf92edc2ae0', borderless: this.inline, size: this.size, name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, content), this.useMultipleListBox ? this.renderListbox() : this.renderChipList()));
|
|
287
290
|
}
|
|
288
291
|
static get is() { return "sd-file-picker"; }
|
|
289
292
|
static get originalStyleUrls() {
|
|
@@ -497,6 +500,33 @@ export class SdFilePicker {
|
|
|
497
500
|
"reflect": false,
|
|
498
501
|
"attribute": "max-files"
|
|
499
502
|
},
|
|
503
|
+
"size": {
|
|
504
|
+
"type": "string",
|
|
505
|
+
"mutable": false,
|
|
506
|
+
"complexType": {
|
|
507
|
+
"original": "FieldSize",
|
|
508
|
+
"resolved": "\"md\" | \"sm\"",
|
|
509
|
+
"references": {
|
|
510
|
+
"FieldSize": {
|
|
511
|
+
"location": "import",
|
|
512
|
+
"path": "../sd-field/sd-field.config",
|
|
513
|
+
"id": "src/components/sd-field/sd-field.config.ts::FieldSize",
|
|
514
|
+
"referenceLocation": "FieldSize"
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
"required": false,
|
|
519
|
+
"optional": false,
|
|
520
|
+
"docs": {
|
|
521
|
+
"tags": [],
|
|
522
|
+
"text": "\uD544\uB4DC \uD06C\uAE30"
|
|
523
|
+
},
|
|
524
|
+
"getter": false,
|
|
525
|
+
"setter": false,
|
|
526
|
+
"reflect": true,
|
|
527
|
+
"attribute": "size",
|
|
528
|
+
"defaultValue": "'sm'"
|
|
529
|
+
},
|
|
500
530
|
"name": {
|
|
501
531
|
"type": "string",
|
|
502
532
|
"mutable": false,
|
|
@@ -173,7 +173,7 @@ export class SdFloatingPopover {
|
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
render() {
|
|
176
|
-
return h("slot", { key: '
|
|
176
|
+
return h("slot", { key: 'f45790ba4fc45aef991a54b409acc2791342fcdf' });
|
|
177
177
|
}
|
|
178
178
|
static get is() { return "sd-floating-portal"; }
|
|
179
179
|
static get originalStyleUrls() {
|
|
@@ -9,6 +9,11 @@ export class SdGhostButton {
|
|
|
9
9
|
intent = 'default';
|
|
10
10
|
/** 스크린리더용 접근성 레이블 */
|
|
11
11
|
ariaLabel = '';
|
|
12
|
+
/**
|
|
13
|
+
* 토글 버튼일 때 눌림 상태 → `aria-pressed`로 반영. 미지정 시 속성 자체를 내보내지 않는다.
|
|
14
|
+
* (DOM `Element.ariaPressed`(문자열 예약 속성)와 충돌하므로 prop 이름은 `pressed`)
|
|
15
|
+
*/
|
|
16
|
+
pressed;
|
|
12
17
|
/** 호버 시 표시할 툴팁 텍스트 */
|
|
13
18
|
tooltipText;
|
|
14
19
|
/** 비활성 상태 여부 */
|
|
@@ -66,16 +71,16 @@ export class SdGhostButton {
|
|
|
66
71
|
const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
|
|
67
72
|
const tooltipText = (this.tooltipText ?? '').trim();
|
|
68
73
|
const hasTooltip = tooltipText.length > 0;
|
|
69
|
-
return (h("button", { key: '
|
|
74
|
+
return (h("button", { key: '921a2e6e54aa3cbb0e6c14ad117d6ddcfc753618', class: {
|
|
70
75
|
'sd-ghost-button': true,
|
|
71
76
|
'sd-ghost-button--disabled': this.disabled,
|
|
72
|
-
}, type: "button", "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : undefined, "aria-label": accessibleName, style: {
|
|
77
|
+
}, type: "button", "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : undefined, "aria-label": accessibleName, "aria-pressed": this.pressed, style: {
|
|
73
78
|
'--sd-ghost-button-size': `${sizeConfig.size}px`,
|
|
74
79
|
'--sd-ghost-button-radius': `${GHOST_BUTTON_RADIUS[size]}px`,
|
|
75
80
|
'--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
|
|
76
81
|
'--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
|
|
77
82
|
'--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
|
|
78
|
-
}, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && (h("sd-portal", { key: '
|
|
83
|
+
}, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && (h("sd-portal", { key: '90817207f1b8b5c1d55ce510dfb5ea90cf614bfd', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, h("div", { key: '75379a80a230eb197d56df9eb3a79f4536c425d5', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, h("sd-tag", { key: 'b7cc000adb2aaa3e9f65635d7e9cab7fceff62c3', name: "square_xs_grey", label: tooltipText })))), h("sd-icon", { key: '0df3fd325eb7e82b3da6427e22c05819f35d307e', name: this.icon, size: sizeConfig.icon, color: contentColor })));
|
|
79
84
|
}
|
|
80
85
|
static get is() { return "sd-ghost-button"; }
|
|
81
86
|
static get originalStyleUrls() {
|
|
@@ -188,6 +193,25 @@ export class SdGhostButton {
|
|
|
188
193
|
"attribute": "aria-label",
|
|
189
194
|
"defaultValue": "''"
|
|
190
195
|
},
|
|
196
|
+
"pressed": {
|
|
197
|
+
"type": "boolean",
|
|
198
|
+
"mutable": false,
|
|
199
|
+
"complexType": {
|
|
200
|
+
"original": "boolean",
|
|
201
|
+
"resolved": "boolean | undefined",
|
|
202
|
+
"references": {}
|
|
203
|
+
},
|
|
204
|
+
"required": false,
|
|
205
|
+
"optional": true,
|
|
206
|
+
"docs": {
|
|
207
|
+
"tags": [],
|
|
208
|
+
"text": "\uD1A0\uAE00 \uBC84\uD2BC\uC77C \uB54C \uB20C\uB9BC \uC0C1\uD0DC \u2192 `aria-pressed`\uB85C \uBC18\uC601. \uBBF8\uC9C0\uC815 \uC2DC \uC18D\uC131 \uC790\uCCB4\uB97C \uB0B4\uBCF4\uB0B4\uC9C0 \uC54A\uB294\uB2E4.\n(DOM `Element.ariaPressed`(\uBB38\uC790\uC5F4 \uC608\uC57D \uC18D\uC131)\uC640 \uCDA9\uB3CC\uD558\uBBC0\uB85C prop \uC774\uB984\uC740 `pressed`)"
|
|
209
|
+
},
|
|
210
|
+
"getter": false,
|
|
211
|
+
"setter": false,
|
|
212
|
+
"reflect": false,
|
|
213
|
+
"attribute": "aria-pressed"
|
|
214
|
+
},
|
|
191
215
|
"tooltipText": {
|
|
192
216
|
"type": "string",
|
|
193
217
|
"mutable": false,
|
|
@@ -152,12 +152,12 @@ export class SdInput {
|
|
|
152
152
|
'--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
|
|
153
153
|
'--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
|
|
154
154
|
};
|
|
155
|
-
return (h("sd-field", { key: '
|
|
155
|
+
return (h("sd-field", { key: '66c7d6a9292bf8129fea6a33d2288733c264a39f', 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: 'b429ae6e521440eb917b17b10525ff3d3767a50d', class: "sd-input__content" }, h("slot", { key: 'dc1cd825ff1bea6484eada71d5aff621f82522c2', name: "prefix" }), h("input", { key: '93bd923644ac7660c2c9be28e4c64d39d93365c3', 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: 'ec2f67a7ae01ebbaaa1f48f1e231f6fe2cfb413c', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (h("sd-ghost-button", { key: 'de33f6902ab5560e151ef13e01ef84eea14da17d', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
|
|
156
156
|
if (this.disabled || this.readonly)
|
|
157
157
|
return;
|
|
158
158
|
this.internalValue = '';
|
|
159
159
|
await this.formField?.sdValidate();
|
|
160
|
-
} })), this.type === 'password' && (h("sd-ghost-button", { key: '
|
|
160
|
+
} })), this.type === 'password' && (h("sd-ghost-button", { key: 'db07c28cede67dbec93454b5ea90e94f72c5f313', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
|
|
161
161
|
if (this.disabled || this.readonly)
|
|
162
162
|
return;
|
|
163
163
|
this.passwordVisible = !this.passwordVisible;
|
|
@@ -200,8 +200,8 @@ export class SdInput {
|
|
|
200
200
|
"type": "string",
|
|
201
201
|
"mutable": false,
|
|
202
202
|
"complexType": {
|
|
203
|
-
"original": "'text' | 'password' | 'email'",
|
|
204
|
-
"resolved": "\"email\" | \"password\" | \"text\"",
|
|
203
|
+
"original": "'text' | 'password' | 'email' | 'number' | 'tel' | 'search' | 'url'",
|
|
204
|
+
"resolved": "\"email\" | \"number\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"url\"",
|
|
205
205
|
"references": {}
|
|
206
206
|
},
|
|
207
207
|
"required": false,
|
|
@@ -31,7 +31,7 @@ export class SdLinearProgress {
|
|
|
31
31
|
clipPath: `inset(0 ${100 - this.clampedValue}% 0 0)`,
|
|
32
32
|
};
|
|
33
33
|
const valueText = `${Math.round(this.clampedValue)}%`;
|
|
34
|
-
return (h(Host, { key: '
|
|
34
|
+
return (h(Host, { key: 'bb8b4b933b609a42d1c342b7b480d32a48527321', style: hostStyle }, h("div", { key: 'd127baf4c4cf49d5c6e04ada72636c9d3fd81733', class: "sd-linear-progress__track" }, h("div", { key: '6251da38b070cf9f064b22ed1ecb694da41f63ec', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (h("span", { key: '7b15d0383e4cc391a22e4fc7e2a85bc6cd076f80', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (h("span", { key: '8755f23a83aede79a141a14b73337eacca0fc10d', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && h("span", { key: 'c874dd1ca0cb86c90a84c318790639c0f4283255', class: "sd-linear-progress__label" }, this.label)));
|
|
35
35
|
}
|
|
36
36
|
static get is() { return "sd-linear-progress"; }
|
|
37
37
|
static get originalStyleUrls() {
|
|
@@ -32,10 +32,10 @@ export class SdLoadingContainer {
|
|
|
32
32
|
this.prevBodyOverflow = null;
|
|
33
33
|
}
|
|
34
34
|
render() {
|
|
35
|
-
return (h("div", { key: '
|
|
35
|
+
return (h("div", { key: 'c7821d4c50651217e48f424cbdfb9a32006afda4', class: {
|
|
36
36
|
'sd-loading-container': true,
|
|
37
37
|
'sd-loading-container--visible': this.visible,
|
|
38
|
-
}, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: '
|
|
38
|
+
}, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: 'f7674699f3dd15edd74fc3224203b59ad2a96735', class: "sd-loading-container__backdrop" }), h("div", { key: 'cd361e1a1f470109298459cc2872be104e382015', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: 'c856a1e9ab203040dd8bf0d01dbdf151718aaa3e', indeterminate: true, type: "inverse" }), this.message && h("p", { key: '8af15dba086fb024b652db5f776d384f00fd9cf7', class: "sd-loading-container__message" }, this.message))));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "sd-loading-container"; }
|
|
41
41
|
static get originalStyleUrls() {
|
|
@@ -60,7 +60,7 @@ export class SdLoadingModal {
|
|
|
60
60
|
'--sd-loading-modal-width': this.toCssSize(this.width) ?? `${LOADING_MODAL_LAYOUT.minWidth}px`,
|
|
61
61
|
'--sd-loading-modal-height': this.toCssSize(this.height) ?? `${LOADING_MODAL_LAYOUT.minHeight}px`,
|
|
62
62
|
};
|
|
63
|
-
return (h(Host, { key: '
|
|
63
|
+
return (h(Host, { key: 'c6b6406cc751cfc007f6fbff72580a22b2975c03', style: hostStyle }, h("div", { key: '139b7397598768e526275dc8b508a333ba1e6058', class: "sd-loading-modal" }, this.resolvedState === 'error' && (h("sd-ghost-button", { key: '098c693d5da0c333fb06309be5371a5e8a6c3016', class: "sd-loading-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), h("div", { key: 'f072a17c4c8e47e296cbf52d34414a32efa6aaa1', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (h("sd-circle-progress", { value: this.progress })) : (h("sd-circle-progress", { indeterminate: true }))) : (h("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), h("div", { key: 'a2c501cfee2181b2a7dda2544e03bf1a709baaf3', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (h("p", { class: "sd-loading-modal__message" }, message)))) : (h("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.showButton && (h("div", { key: 'e9d1beef80bf8fa4a0647802ce4a6e023e74bc12', class: "sd-loading-modal__button" }, h("sd-button", { key: '63a64f356fc09cbaf56ff715d04c97b208f63945', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
|
|
64
64
|
}
|
|
65
65
|
static get is() { return "sd-loading-modal"; }
|
|
66
66
|
static get originalStyleUrls() {
|
|
@@ -15,6 +15,8 @@ export class SdNumberInput {
|
|
|
15
15
|
useButton = false;
|
|
16
16
|
/** 소수점 입력 허용 여부 */
|
|
17
17
|
useDecimal = false;
|
|
18
|
+
/** 소수점 이하 최대 자리수 (useDecimal일 때만 적용, 초과 입력한 소수부는 잘라냄) */
|
|
19
|
+
maxDecimalLength;
|
|
18
20
|
/** 입력 값 */
|
|
19
21
|
value = null;
|
|
20
22
|
/** 레이블 텍스트 */
|
|
@@ -95,6 +97,31 @@ export class SdNumberInput {
|
|
|
95
97
|
const result = isNegative ? '-' + formatted : formatted;
|
|
96
98
|
return decPart !== undefined && decPart !== '' ? result + '.' + decPart : String(result);
|
|
97
99
|
}
|
|
100
|
+
/** useDecimal이면서 유효한 maxDecimalLength가 있을 때만 소수점 이하 제한 자리수를 반환합니다. */
|
|
101
|
+
getDecimalLimit() {
|
|
102
|
+
if (!this.useDecimal ||
|
|
103
|
+
this.maxDecimalLength === undefined ||
|
|
104
|
+
!Number.isFinite(this.maxDecimalLength)) {
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
return Math.max(0, Math.floor(this.maxDecimalLength));
|
|
108
|
+
}
|
|
109
|
+
/** 소수부를 제한 자리수로 잘라낸 문자열을 반환합니다(반올림하지 않고 잘라냄). */
|
|
110
|
+
truncateToDecimalLimit(cleaned, limit) {
|
|
111
|
+
if (!cleaned.includes('.'))
|
|
112
|
+
return cleaned;
|
|
113
|
+
const [intPart, fractionPart = ''] = cleaned.split('.');
|
|
114
|
+
const truncatedFraction = fractionPart.slice(0, limit);
|
|
115
|
+
return truncatedFraction === '' ? intPart : `${intPart}.${truncatedFraction}`;
|
|
116
|
+
}
|
|
117
|
+
/** 숫자값의 소수부를 제한 자리수로 잘라냅니다(제한이 없으면 원본 그대로). */
|
|
118
|
+
applyDecimalLimit(value) {
|
|
119
|
+
const decimalLimit = this.getDecimalLimit();
|
|
120
|
+
if (decimalLimit === undefined)
|
|
121
|
+
return value;
|
|
122
|
+
const parsed = parseFloat(this.truncateToDecimalLimit(value.toString(), decimalLimit));
|
|
123
|
+
return isNaN(parsed) ? value : parsed;
|
|
124
|
+
}
|
|
98
125
|
parseInput(input) {
|
|
99
126
|
if (input.trim() === '')
|
|
100
127
|
return null;
|
|
@@ -102,12 +129,15 @@ export class SdNumberInput {
|
|
|
102
129
|
if (!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(cleaned)) {
|
|
103
130
|
return null;
|
|
104
131
|
}
|
|
105
|
-
const parsed = parseFloat(cleaned);
|
|
106
|
-
if (isNaN(parsed))
|
|
107
|
-
return null;
|
|
108
132
|
if (!this.useDecimal && cleaned.includes('.')) {
|
|
109
133
|
return null;
|
|
110
134
|
}
|
|
135
|
+
// useDecimal이면서 maxDecimalLength가 설정된 경우 소수부를 제한 자리수로 잘라냄(반올림 아님)
|
|
136
|
+
const decimalLimit = this.getDecimalLimit();
|
|
137
|
+
const normalized = decimalLimit !== undefined ? this.truncateToDecimalLimit(cleaned, decimalLimit) : cleaned;
|
|
138
|
+
const parsed = parseFloat(normalized);
|
|
139
|
+
if (isNaN(parsed))
|
|
140
|
+
return null;
|
|
111
141
|
return parsed;
|
|
112
142
|
}
|
|
113
143
|
clampMinMax(value) {
|
|
@@ -262,6 +292,7 @@ export class SdNumberInput {
|
|
|
262
292
|
if (nextVal > this.max) {
|
|
263
293
|
nextVal = this.max;
|
|
264
294
|
}
|
|
295
|
+
nextVal = this.applyDecimalLimit(nextVal);
|
|
265
296
|
if (nextVal === currentVal)
|
|
266
297
|
return;
|
|
267
298
|
this.internalValue = nextVal;
|
|
@@ -274,6 +305,7 @@ export class SdNumberInput {
|
|
|
274
305
|
if (nextVal < this.min) {
|
|
275
306
|
nextVal = this.min;
|
|
276
307
|
}
|
|
308
|
+
nextVal = this.applyDecimalLimit(nextVal);
|
|
277
309
|
if (nextVal === currentVal)
|
|
278
310
|
return;
|
|
279
311
|
this.internalValue = nextVal;
|
|
@@ -314,15 +346,15 @@ export class SdNumberInput {
|
|
|
314
346
|
'--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
|
|
315
347
|
'--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
|
|
316
348
|
};
|
|
317
|
-
return (h("sd-field", { key: '
|
|
349
|
+
return (h("sd-field", { key: 'ffa6befb9565a33e762fce231c29d7a2f663eb08', 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("div", { key: '2fb1686b071fd69c65fc0c908807c029edc3b253', class: {
|
|
318
350
|
'sd-number-input__content': true,
|
|
319
351
|
'sd-number-input__content--no-stepper': !this.useButton,
|
|
320
|
-
} }, this.useButton && (h("button", { key: '
|
|
352
|
+
} }, this.useButton && (h("button", { key: '6b2464867bb0224f4fbcb50ea4e4bfc5386474ba', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'f65e9144ad93f4ba8d293b5af1bf9fd1286e7520', name: "minus", size: iconSize, color: this.isDecrementDisabled()
|
|
321
353
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
322
|
-
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '
|
|
354
|
+
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '3d89b3557f961f36b429e3cf4ae247098a412b30', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: 'c5c503b634aee3b0c8d81f855b5de1d0abe35eac', 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: {
|
|
323
355
|
textAlign: this.useButton ? 'center' : 'right',
|
|
324
356
|
...this.inputStyle,
|
|
325
|
-
} }), this.inputSuffix && h("span", { key: '
|
|
357
|
+
} }), this.inputSuffix && h("span", { key: '15177064a4daab2ede3af4f8758912da266f1c29', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: 'dcc1fbfe7c4e7eaa6db95fe7dc9a34f4b82ade8b', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '58eee48f37c0e942a3734a9275a9d459bc9bc420', name: "add", size: iconSize, color: this.isIncrementDisabled()
|
|
326
358
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
327
359
|
: NUMBER_INPUT_STEPPER.icon.default }))))));
|
|
328
360
|
}
|
|
@@ -466,6 +498,25 @@ export class SdNumberInput {
|
|
|
466
498
|
"attribute": "use-decimal",
|
|
467
499
|
"defaultValue": "false"
|
|
468
500
|
},
|
|
501
|
+
"maxDecimalLength": {
|
|
502
|
+
"type": "number",
|
|
503
|
+
"mutable": false,
|
|
504
|
+
"complexType": {
|
|
505
|
+
"original": "number",
|
|
506
|
+
"resolved": "number | undefined",
|
|
507
|
+
"references": {}
|
|
508
|
+
},
|
|
509
|
+
"required": false,
|
|
510
|
+
"optional": true,
|
|
511
|
+
"docs": {
|
|
512
|
+
"tags": [],
|
|
513
|
+
"text": "\uC18C\uC218\uC810 \uC774\uD558 \uCD5C\uB300 \uC790\uB9AC\uC218 (useDecimal\uC77C \uB54C\uB9CC \uC801\uC6A9, \uCD08\uACFC \uC785\uB825\uD55C \uC18C\uC218\uBD80\uB294 \uC798\uB77C\uB0C4)"
|
|
514
|
+
},
|
|
515
|
+
"getter": false,
|
|
516
|
+
"setter": false,
|
|
517
|
+
"reflect": false,
|
|
518
|
+
"attribute": "max-decimal-length"
|
|
519
|
+
},
|
|
469
520
|
"value": {
|
|
470
521
|
"type": "any",
|
|
471
522
|
"mutable": true,
|
|
@@ -88,13 +88,13 @@ export class SdPagination {
|
|
|
88
88
|
'--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
|
|
89
89
|
'--sd-pagination-item-width': `${this.buttonWidth}px`,
|
|
90
90
|
};
|
|
91
|
-
return (h("div", { key: '
|
|
91
|
+
return (h("div", { key: '0b5a2e9aec83e6f6a8de3426e57b3f9a53623652', class: {
|
|
92
92
|
'sd-pagination': true,
|
|
93
93
|
'sd-pagination--simple': this.simple,
|
|
94
|
-
}, style: cssVars }, h("div", { key: '
|
|
94
|
+
}, style: cssVars }, h("div", { key: 'aa53d0366ae4678950ecd3917fd0d7011dd9608d', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "sd-pagination__info" }, h("span", { class: "sd-pagination__current" }, this.currentPage), h("span", { class: "sd-pagination__divider" }, "/"), h("span", { class: "sd-pagination__last" }, this.lastPage))) : (h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
|
|
95
95
|
'sd-pagination__item': true,
|
|
96
96
|
'sd-pagination__item--selected': this.currentPage === n,
|
|
97
|
-
}, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: '
|
|
97
|
+
}, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: '1aa72933c849af4fc886cc4e5f8962710c6c40bf', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
|
|
98
98
|
}
|
|
99
99
|
static get is() { return "sd-pagination"; }
|
|
100
100
|
static get originalStyleUrls() {
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import popoverTokens from "../../tokens/generated/component.popover.json";
|
|
2
|
+
const t = popoverTokens.popover;
|
|
3
|
+
/** 제목-아이콘 간격 */
|
|
4
|
+
export const POPOVER_TITLE_GAP = t.title.gap;
|
|
5
|
+
/** 제목 좌측 아이콘 크기 */
|
|
6
|
+
export const POPOVER_TITLE_ICON_SIZE = t.title.leadingIcon;
|
|
7
|
+
/**
|
|
8
|
+
* popoverType별 색상·버튼 매핑.
|
|
9
|
+
* - default·accent: 하단 버튼 primary(solid) / danger: danger outline / warning: neutral outline
|
|
10
|
+
* - default: 다크 배경 + 흰색 텍스트 / danger·warning·accent: 라이트 배경 + 타입 색상 제목 + light 계열 본문·링크 색상
|
|
11
|
+
*/
|
|
12
|
+
export const POPOVER_TYPE_CONFIG = {
|
|
13
|
+
default: {
|
|
14
|
+
bg: t.default.bg,
|
|
15
|
+
title: t.default.title,
|
|
16
|
+
description: t.default.description,
|
|
17
|
+
subAction: t.default.subAction,
|
|
18
|
+
buttonName: 'primary_xs',
|
|
19
|
+
},
|
|
20
|
+
danger: {
|
|
21
|
+
bg: t.danger.bg,
|
|
22
|
+
title: t.danger.title,
|
|
23
|
+
description: t.light.description,
|
|
24
|
+
subAction: t.light.subAction,
|
|
25
|
+
buttonName: 'danger_outline_xs',
|
|
26
|
+
},
|
|
27
|
+
warning: {
|
|
28
|
+
bg: t.warning.bg,
|
|
29
|
+
title: t.warning.title,
|
|
30
|
+
description: t.light.description,
|
|
31
|
+
subAction: t.light.subAction,
|
|
32
|
+
buttonName: 'neutral_outline_xs',
|
|
33
|
+
},
|
|
34
|
+
accent: {
|
|
35
|
+
bg: t.accent.bg,
|
|
36
|
+
title: t.accent.title,
|
|
37
|
+
description: t.light.description,
|
|
38
|
+
subAction: t.light.subAction,
|
|
39
|
+
buttonName: 'primary_xs',
|
|
40
|
+
},
|
|
41
|
+
};
|