@sellmate/design-system 1.29.0 → 1.32.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-Cg7X15Hq.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 +22 -17
- package/dist/cjs/sd-chip.cjs.entry.js +7 -7
- package/dist/cjs/sd-circle-progress.cjs.entry.js +3 -3
- 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 +3 -3
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/sd-key-value-table.cjs.entry.js +2 -2
- package/dist/cjs/sd-linear-progress.cjs.entry.js +3 -3
- 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 +4 -4
- 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-scroll-area.cjs.entry.js +44 -0
- package/dist/cjs/sd-select-list-item_4.cjs.entry.js +12 -12
- package/dist/cjs/sd-stepper.cjs.entry.js +190 -0
- 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/{system-B4KkVpu2.js → system-BGCBFBcM.js} +3 -1
- package/dist/cjs/{tooltipArrow-DOOcBlLp.js → tooltipArrow-CZff77W-.js} +1 -1
- package/dist/cjs/useDatePicker-j06ymWZ_.js +103 -0
- package/dist/collection/collection-manifest.json +10 -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.css +40 -0
- 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-scroll-area/sd-scroll-area.config.js +8 -0
- package/dist/collection/components/sd-scroll-area/sd-scroll-area.css +61 -0
- package/dist/collection/components/sd-scroll-area/sd-scroll-area.js +151 -0
- 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.css +33 -9
- 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-stepper/sd-stepper.config.js +35 -0
- package/dist/collection/components/sd-stepper/sd-stepper.css +50 -0
- package/dist/collection/components/sd-stepper/sd-stepper.js +186 -0
- 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--BJuy06e.js +1 -0
- package/dist/components/p-22hyxPno.js +1 -0
- package/dist/components/p-7lGaExLM.js +1 -0
- package/dist/components/{p-oYbVr-z0.js → p-B6BgOB_-.js} +1 -1
- package/dist/components/{p-R-Sdglj0.js → p-BBAwMOGx.js} +1 -1
- package/dist/components/{p-CbS69IvC.js → p-BDULNyBw.js} +1 -1
- package/dist/components/p-BI1iKxNN.js +1 -0
- package/dist/components/{p-Bpv90tfa.js → p-BPzs63D8.js} +1 -1
- package/dist/components/{p-DMoFncVl.js → p-BU1DclrU.js} +1 -1
- package/dist/components/{p-OO7xxhkC.js → p-BhLF3gGb.js} +1 -1
- package/dist/components/p-Bk6mL1Ml.js +1 -0
- package/dist/components/p-BkyM9ded.js +1 -0
- package/dist/components/{p-CFTyEfB9.js → p-BoJ_gLp7.js} +1 -1
- package/dist/components/{p-Di1q4f5E.js → p-BpTKv3vN.js} +1 -1
- package/dist/components/p-C0IFrSzM.js +1 -0
- package/dist/components/p-C1KeTx0Z.js +1 -0
- package/dist/components/p-C8x8VEb8.js +1 -0
- package/dist/components/p-CBx8KWmu.js +1 -0
- package/dist/components/p-CNNjhHTA.js +1 -0
- package/dist/components/{p-CErFctrV.js → p-CRDS2TOy.js} +1 -1
- package/dist/components/p-CdeywvU6.js +1 -0
- package/dist/components/{p-BOxGhKKP.js → p-CghFB91T.js} +1 -1
- package/dist/components/p-CikPzSw-.js +1 -0
- package/dist/components/{p-9Ap2W-Mi.js → p-D0IDp-M3.js} +1 -1
- package/dist/components/p-D2oNz1s-.js +1 -0
- package/dist/components/p-DApl37Qw.js +1 -0
- package/dist/components/{p-BIEPMPWA.js → p-DGAzuK5C.js} +1 -1
- package/dist/components/p-DMm_GeZC.js +1 -0
- package/dist/components/{p-C_in6AVN.js → p-DONA7SlO.js} +1 -1
- package/dist/components/{p-C7mC7a1z.js → p-DVdDYnTl.js} +1 -1
- package/dist/components/{p-Dg1UrMqI.js → p-DdYWQ4Z5.js} +1 -1
- package/dist/components/p-DtadjLky.js +1 -0
- package/dist/components/p-DvlLDBO7.js +1 -0
- package/dist/components/p-ETWwVYq6.js +1 -0
- package/dist/components/{p-idG6CMO0.js → p-ISXxxDfX.js} +1 -1
- package/dist/components/p-UFNg7rhE.js +1 -0
- package/dist/{design-system/p-B91K50wC.js → components/p-bXzpfkfN.js} +1 -1
- package/dist/components/{p-BHjezpAC.js → p-irA7XFIS.js} +1 -1
- package/dist/components/{p-Bth2l1cy.js → p-rayWyWtG.js} +1 -1
- package/dist/components/{p-CSr33M9s.js → p-sLMSwbXi.js} +1 -1
- package/dist/components/p-vj3gimgB.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-scroll-area.d.ts +11 -0
- package/dist/components/sd-scroll-area.js +1 -0
- 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-stepper.d.ts +11 -0
- package/dist/components/sd-stepper.js +1 -0
- 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-840006b1.entry.js → p-0cdd05eb.entry.js} +1 -1
- package/dist/design-system/p-1c4ba7ae.entry.js +1 -0
- package/dist/design-system/{p-c7d2c195.entry.js → p-2a36028d.entry.js} +1 -1
- package/dist/design-system/{p-be54fd3a.entry.js → p-2e76157e.entry.js} +1 -1
- package/dist/design-system/p-336cb0c1.entry.js +1 -0
- package/dist/design-system/{p-26a27312.entry.js → p-34e8dda6.entry.js} +1 -1
- package/dist/design-system/p-370b820e.entry.js +1 -0
- package/dist/design-system/{p-c5cffcc6.entry.js → p-39db3098.entry.js} +1 -1
- package/dist/design-system/p-3a2be559.entry.js +1 -0
- package/dist/design-system/p-405cb160.entry.js +1 -0
- package/dist/design-system/{p-246aafb9.entry.js → p-456479cc.entry.js} +1 -1
- package/dist/design-system/{p-86329ae3.entry.js → p-4d845113.entry.js} +1 -1
- package/dist/design-system/p-5761352f.entry.js +1 -0
- package/dist/design-system/{p-3cd2751a.entry.js → p-5b725381.entry.js} +1 -1
- package/dist/design-system/p-5d7820f7.entry.js +1 -0
- package/dist/design-system/p-5dd631fe.entry.js +1 -0
- package/dist/design-system/p-66e3fba3.entry.js +1 -0
- package/dist/design-system/{p-c1066f40.entry.js → p-6a5540d8.entry.js} +1 -1
- package/dist/design-system/{p-55c0be7d.entry.js → p-703bb49a.entry.js} +1 -1
- package/dist/design-system/{p-0c1d1a15.entry.js → p-71e7031e.entry.js} +1 -1
- package/dist/design-system/p-7837f8f8.entry.js +1 -0
- package/dist/design-system/{p-5a257ed9.entry.js → p-814ae5f1.entry.js} +1 -1
- package/dist/design-system/p-8804e3f3.entry.js +1 -0
- package/dist/design-system/p-8ea038d7.entry.js +1 -0
- package/dist/design-system/{p-b585f94b.entry.js → p-937a30af.entry.js} +1 -1
- package/dist/design-system/{p-1ed1bfa1.entry.js → p-94d4c093.entry.js} +1 -1
- package/dist/design-system/p-97a059b0.entry.js +1 -0
- package/dist/design-system/{p-53fe2741.entry.js → p-9afada52.entry.js} +1 -1
- package/dist/design-system/{p-d2ce01ac.entry.js → p-9df0dd32.entry.js} +1 -1
- package/dist/design-system/{p-BPKiBSGr.js → p-BnUjeY2n.js} +1 -1
- package/dist/design-system/p-CHijmX_D.js +1 -0
- package/dist/design-system/p-CdvQqvIe.js +2 -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-3595cafb.entry.js → p-a05f4888.entry.js} +1 -1
- package/dist/design-system/p-a81e4ae0.entry.js +1 -0
- package/dist/design-system/p-aaa551fa.entry.js +1 -0
- package/dist/design-system/p-adc218f5.entry.js +1 -0
- package/dist/design-system/{p-8ed1d470.entry.js → p-b7e913e7.entry.js} +1 -1
- package/dist/design-system/p-b90eaebd.entry.js +1 -0
- package/dist/design-system/{p-d9f33192.entry.js → p-c5263a22.entry.js} +1 -1
- package/dist/design-system/{p-ec4ad48c.entry.js → p-c5eea64c.entry.js} +1 -1
- package/dist/design-system/{p-02f0b906.entry.js → p-c906d22d.entry.js} +1 -1
- package/dist/design-system/{p-d204cac5.entry.js → p-defe65db.entry.js} +1 -1
- package/dist/design-system/{p-4c85f6f6.entry.js → p-e16725f7.entry.js} +1 -1
- package/dist/design-system/p-e4096b72.entry.js +1 -0
- package/dist/design-system/{p-8de3b502.entry.js → p-e72706ea.entry.js} +1 -1
- package/dist/design-system/p-fb01f963.entry.js +1 -0
- package/dist/design-system/{p-adf2f398.entry.js → p-fc9577d9.entry.js} +1 -1
- package/dist/design-system/{p-Bth2l1cy.js → p-rayWyWtG.js} +1 -1
- package/dist/esm/design-system.js +3 -3
- package/dist/esm/{index-Dz490Ukt.js → index-CdvQqvIe.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 +22 -17
- package/dist/esm/sd-chip.entry.js +7 -7
- package/dist/esm/sd-circle-progress.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/sd-dropdown-button.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/sd-key-value-table.entry.js +2 -2
- package/dist/esm/sd-linear-progress.entry.js +3 -3
- 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 +4 -4
- package/dist/esm/sd-radio-button.entry.js +3 -3
- package/dist/esm/sd-radio.entry.js +4 -2
- package/dist/esm/sd-scroll-area.entry.js +42 -0
- package/dist/esm/sd-select-list-item_4.entry.js +12 -12
- package/dist/esm/sd-stepper.entry.js +188 -0
- 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/{system-Bth2l1cy.js → system-rayWyWtG.js} +3 -1
- package/dist/esm/{tooltipArrow-CEHVt90h.js → tooltipArrow-BsQ__AbZ.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-scroll-area/sd-scroll-area.config.d.ts +5 -0
- package/dist/types/components/sd-scroll-area/sd-scroll-area.d.ts +14 -0
- package/dist/types/components/sd-stepper/sd-stepper.config.d.ts +43 -0
- package/dist/types/components/sd-stepper/sd-stepper.d.ts +18 -0
- 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 +2630 -1611
- package/hydrate/index.js +2163 -436
- package/hydrate/index.mjs +2163 -436
- 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-a631cd78.entry.js +0 -1
- 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,14 +1,42 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var useDatePicker = require('./useDatePicker-
|
|
5
|
-
var
|
|
3
|
+
var index = require('./index-Cg7X15Hq.js');
|
|
4
|
+
var useDatePicker = require('./useDatePicker-j06ymWZ_.js');
|
|
5
|
+
var sdDatePicker_config = require('./sd-date-picker.config-CgyNxY03.js');
|
|
6
|
+
require('./component.field-C7it8cZm.js');
|
|
6
7
|
|
|
7
8
|
const RANGE_LAYOUT = {
|
|
8
|
-
bg:
|
|
9
|
-
height:
|
|
10
|
-
panelGap:
|
|
11
|
-
divider:
|
|
9
|
+
bg: sdDatePicker_config.datepickerTokens.datepicker.calendar.range.bg,
|
|
10
|
+
height: sdDatePicker_config.datepickerTokens.datepicker.calendar.range.height,
|
|
11
|
+
panelGap: sdDatePicker_config.datepickerTokens.datepicker.calendar.range.panelGap,
|
|
12
|
+
divider: sdDatePicker_config.datepickerTokens.datepicker.calendar.range.divider,
|
|
13
|
+
};
|
|
14
|
+
const timeTokens = sdDatePicker_config.datepickerTokens.datepicker.calendar.time;
|
|
15
|
+
/** 시간(시:분) 선택 푸터 레이아웃 토큰 */
|
|
16
|
+
const TIME_LAYOUT = {
|
|
17
|
+
bgDefault: timeTokens.bg.default,
|
|
18
|
+
bgSelected: timeTokens.bg.selected,
|
|
19
|
+
dateLabel: timeTokens.date.label,
|
|
20
|
+
dateUnit: timeTokens.date.unit,
|
|
21
|
+
dateGap: timeTokens.date.gap,
|
|
22
|
+
radius: timeTokens.radius,
|
|
23
|
+
paddingX: timeTokens.paddingX,
|
|
24
|
+
paddingY: timeTokens.paddingY,
|
|
25
|
+
gap: timeTokens.gap,
|
|
26
|
+
sectionGap: timeTokens.section.gap,
|
|
27
|
+
unitGap: timeTokens.unit.gap,
|
|
28
|
+
fontSize: timeTokens.typography.fontSize,
|
|
29
|
+
lineHeight: timeTokens.typography.lineHeight,
|
|
30
|
+
fontWeight: timeTokens.typography.fontWeight,
|
|
31
|
+
// 시:분 입력 박스는 datepicker 필드(sm) 토큰을 재사용한다
|
|
32
|
+
input: {
|
|
33
|
+
height: sdDatePicker_config.DATEPICKER_SIZE_MAP.sm.height,
|
|
34
|
+
radius: sdDatePicker_config.DATEPICKER_SIZE_MAP.sm.radius,
|
|
35
|
+
border: sdDatePicker_config.DATEPICKER_COLORS.border.default,
|
|
36
|
+
borderFocus: sdDatePicker_config.DATEPICKER_COLORS.border.focus,
|
|
37
|
+
text: sdDatePicker_config.DATEPICKER_COLORS.text.default,
|
|
38
|
+
placeholder: sdDatePicker_config.DATEPICKER_COLORS.text.disabled,
|
|
39
|
+
},
|
|
12
40
|
};
|
|
13
41
|
|
|
14
42
|
const addDays = (inputDate, days) => {
|
|
@@ -23,7 +51,7 @@ const addDays = (inputDate, days) => {
|
|
|
23
51
|
return `${resultYear}-${resultMonth}-${resultDay}`;
|
|
24
52
|
};
|
|
25
53
|
|
|
26
|
-
const sdDateRangePickerCalendarCss = () => `sd-date-range-picker-calendar{display:block}sd-date-range-picker-calendar .sd-date-range-picker-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);height:364px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2);user-select:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__top-bar{position:relative;display:flex;align-items:center;justify-content:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__year-nav{display:flex;align-items:center;justify-content:center;gap:var(--calendar-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button{position:absolute;right:0;background:transparent;cursor:pointer;font-size:var(--calendar-week-font-size);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text);min-width:37px;height:24px;line-height:24px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button:hover{text-decoration:underline}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panels{display:flex;flex-direction:row;gap:var(--range-panel-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__divider{flex-shrink:0;width:1px;background:var(--range-divider)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panel{display:flex;flex-direction:column;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__header{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group-month{display:flex;width:100%;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label-month{flex:1}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-placeholder{visibility:hidden;pointer-events:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-size);height:var(--range-height);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day-circle{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--today .sd-date-range-picker-calendar__day-circle{font-weight:700}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--in-range{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-start{background:linear-gradient(to right, transparent 50%, var(--range-bg) 50%)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-startsd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:transparent}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected .sd-date-range-picker-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled{color:var(--calendar-day-disabled-text);cursor:not-allowed}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled:not(.sd-date-range-picker-calendar__day--in-range):not(.sd-date-range-picker-calendar__day--range-start):not(.sd-date-range-picker-calendar__day--range-end){background:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--empty{visibility:hidden;pointer-events:none;background:transparent}`;
|
|
54
|
+
const sdDateRangePickerCalendarCss = () => `sd-date-range-picker-calendar{display:block}sd-date-range-picker-calendar .sd-date-range-picker-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);height:364px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2);user-select:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar--with-time{height:auto}sd-date-range-picker-calendar .sd-date-range-picker-calendar__top-bar{position:relative;display:flex;align-items:center;justify-content:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__year-nav{display:flex;align-items:center;justify-content:center;gap:var(--calendar-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button{position:absolute;right:0;background:transparent;cursor:pointer;font-size:var(--calendar-week-font-size);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text);min-width:37px;height:24px;line-height:24px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button:hover{text-decoration:underline}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panels{display:flex;flex-direction:row;gap:var(--range-panel-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__divider{flex-shrink:0;width:1px;background:var(--range-divider)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panel{display:flex;flex-direction:column;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__header{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group-month{display:flex;width:100%;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label-month{flex:1}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-placeholder{visibility:hidden;pointer-events:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-size);height:var(--range-height);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day-circle{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--today .sd-date-range-picker-calendar__day-circle{font-weight:700}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--in-range{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-start{background:linear-gradient(to right, transparent 50%, var(--range-bg) 50%)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-startsd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:transparent}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected .sd-date-range-picker-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled{color:var(--calendar-day-disabled-text);cursor:not-allowed}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled:not(.sd-date-range-picker-calendar__day--in-range):not(.sd-date-range-picker-calendar__day--range-start):not(.sd-date-range-picker-calendar__day--range-end){background:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--empty{visibility:hidden;pointer-events:none;background:transparent}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-divider{width:100%;height:1px;background:var(--range-divider)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time{display:flex;flex-direction:row;gap:var(--time-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-section{display:flex;flex:1;align-items:center;justify-content:center;gap:var(--time-section-gap);padding:var(--time-padding-y) var(--time-padding-x);border-radius:var(--time-radius);background:var(--time-bg-default);font-size:var(--time-font-size);line-height:var(--time-line-height);font-weight:var(--time-font-weight)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-section--active{background:var(--time-bg-selected)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-date{display:inline-flex;align-items:center;gap:var(--time-date-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-num{color:var(--time-date-label)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-unit{color:var(--time-date-unit)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-input-group{display:inline-flex;align-items:center;gap:var(--time-unit-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-input{width:40px;height:var(--time-input-height);padding:0;border:1px solid var(--time-input-border);border-radius:var(--time-input-radius);background:var(--calendar-bg);text-align:center;font-size:var(--time-font-size);line-height:var(--time-line-height);font-weight:var(--time-font-weight);color:var(--time-input-text);box-sizing:border-box;outline:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-input::placeholder{color:var(--time-input-placeholder)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-input:focus{border-color:var(--time-input-border-focus)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-input:disabled{cursor:not-allowed}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-colon{color:var(--time-date-label)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__time-suffix{color:var(--time-date-unit)}`;
|
|
27
55
|
|
|
28
56
|
const SdDateRangePickerCalendar = class {
|
|
29
57
|
constructor(hostRef) {
|
|
@@ -37,11 +65,20 @@ const SdDateRangePickerCalendar = class {
|
|
|
37
65
|
selectable;
|
|
38
66
|
/** 최대 선택 가능 일 수 */
|
|
39
67
|
maxRange;
|
|
68
|
+
/** 시간(시:분) 선택 푸터 사용 여부 */
|
|
69
|
+
useTimePicker = false;
|
|
40
70
|
currentYear;
|
|
41
71
|
currentMonth;
|
|
42
72
|
pendingStart = '';
|
|
43
73
|
hoverDate = '';
|
|
44
74
|
displayValue = null;
|
|
75
|
+
// 시:분은 2자리 미만도 허용하기 위해 문자열로 관리하고 emit/blur 시 패딩한다
|
|
76
|
+
startHour = '00';
|
|
77
|
+
startMinute = '00';
|
|
78
|
+
endHour = '00';
|
|
79
|
+
endMinute = '00';
|
|
80
|
+
/** 직접 emit한 값이 value prop으로 되돌아오는 에코를 구분해 시간 입력 clobber를 막는다 */
|
|
81
|
+
lastEmitted = '';
|
|
45
82
|
/** 날짜 범위 선택 시 발생합니다. */
|
|
46
83
|
select;
|
|
47
84
|
/** 달력 뷰가 변경될 때 발생합니다. */
|
|
@@ -54,13 +91,31 @@ const SdDateRangePickerCalendar = class {
|
|
|
54
91
|
this.syncFromValue();
|
|
55
92
|
}
|
|
56
93
|
syncFromValue() {
|
|
57
|
-
|
|
94
|
+
// 자신이 emit한 값이 그대로 돌아온 경우(에코)에는 시간 입력 상태를 건드리지 않는다
|
|
95
|
+
if (this.useTimePicker && JSON.stringify(this.value) === this.lastEmitted)
|
|
96
|
+
return;
|
|
97
|
+
const start = this.splitDateTime(this.value?.[0]);
|
|
98
|
+
const end = this.splitDateTime(this.value?.[1]);
|
|
99
|
+
const base = start.date || useDatePicker.today;
|
|
58
100
|
const [year, month] = base.split('-').map(Number);
|
|
59
101
|
this.currentYear = year;
|
|
60
102
|
this.currentMonth = month;
|
|
61
103
|
this.pendingStart = '';
|
|
62
104
|
this.hoverDate = '';
|
|
63
|
-
|
|
105
|
+
// displayValue는 날짜 부분만 보관 — 캘린더 그리드 로직은 시간과 무관하게 동작한다
|
|
106
|
+
this.displayValue = this.value ? [start.date, end.date] : null;
|
|
107
|
+
this.startHour = start.hour;
|
|
108
|
+
this.startMinute = start.minute;
|
|
109
|
+
this.endHour = end.hour;
|
|
110
|
+
this.endMinute = end.minute;
|
|
111
|
+
}
|
|
112
|
+
/** "YYYY-MM-DD HH:mm" 또는 "YYYY-MM-DD"를 날짜/시/분으로 분리한다 */
|
|
113
|
+
splitDateTime(v) {
|
|
114
|
+
if (v == null || v === '')
|
|
115
|
+
return { date: '', hour: '00', minute: '00' };
|
|
116
|
+
const [date = '', time = ''] = v.split(' ');
|
|
117
|
+
const [hour = '00', minute = '00'] = time.split(':');
|
|
118
|
+
return { date, hour, minute };
|
|
64
119
|
}
|
|
65
120
|
get rightYear() {
|
|
66
121
|
return this.currentMonth === 12 ? this.currentYear + 1 : this.currentYear;
|
|
@@ -167,13 +222,69 @@ const SdDateRangePickerCalendar = class {
|
|
|
167
222
|
this.pendingStart = cell.date;
|
|
168
223
|
this.displayValue = null;
|
|
169
224
|
this.hoverDate = '';
|
|
225
|
+
// 새 범위 선택을 시작하면 시작=00:00, 종료=23:59(하루 전체)로 초기화한다
|
|
226
|
+
if (this.useTimePicker) {
|
|
227
|
+
this.startHour = '00';
|
|
228
|
+
this.startMinute = '00';
|
|
229
|
+
this.endHour = '23';
|
|
230
|
+
this.endMinute = '59';
|
|
231
|
+
}
|
|
170
232
|
return;
|
|
171
233
|
}
|
|
172
234
|
const newRange = [this.pendingStart, cell.date];
|
|
173
235
|
this.pendingStart = '';
|
|
174
236
|
this.hoverDate = '';
|
|
175
237
|
this.displayValue = newRange;
|
|
176
|
-
this.
|
|
238
|
+
this.emitRange(newRange[0], newRange[1]);
|
|
239
|
+
}
|
|
240
|
+
/** 날짜 범위(+ useTimePicker면 시:분)를 결합해 sdSelect로 emit한다 */
|
|
241
|
+
emitRange(startDate, endDate) {
|
|
242
|
+
const range = this.useTimePicker
|
|
243
|
+
? [
|
|
244
|
+
`${startDate} ${this.pad(this.startHour)}:${this.pad(this.startMinute)}`,
|
|
245
|
+
`${endDate} ${this.pad(this.endHour)}:${this.pad(this.endMinute)}`,
|
|
246
|
+
]
|
|
247
|
+
: [startDate, endDate];
|
|
248
|
+
this.lastEmitted = JSON.stringify(range);
|
|
249
|
+
this.select.emit(range);
|
|
250
|
+
}
|
|
251
|
+
pad(v) {
|
|
252
|
+
return String(Number(v) || 0).padStart(2, '0');
|
|
253
|
+
}
|
|
254
|
+
/** 시:분 입력 — 숫자만/2자리로 제한하고 범위(시 0~23, 분 0~59)로 클램프한다 */
|
|
255
|
+
handleTimeInput(which, part, event) {
|
|
256
|
+
const input = event.target;
|
|
257
|
+
const digits = input.value.replace(/\D/g, '').slice(0, 2);
|
|
258
|
+
const max = part === 'h' ? 23 : 59;
|
|
259
|
+
const next = digits !== '' && Number(digits) > max ? String(max) : digits;
|
|
260
|
+
input.value = next;
|
|
261
|
+
this.setTimePart(which, part, next);
|
|
262
|
+
// 범위가 확정된 상태면 실시간으로 재emit한다
|
|
263
|
+
if (this.displayValue != null && this.displayValue[0] !== '' && this.displayValue[1] !== '') {
|
|
264
|
+
this.emitRange(this.displayValue[0], this.displayValue[1]);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
handleTimeBlur(which, part) {
|
|
268
|
+
this.setTimePart(which, part, this.pad(this.getTimePart(which, part)));
|
|
269
|
+
}
|
|
270
|
+
getTimePart(which, part) {
|
|
271
|
+
if (which === 'start')
|
|
272
|
+
return part === 'h' ? this.startHour : this.startMinute;
|
|
273
|
+
return part === 'h' ? this.endHour : this.endMinute;
|
|
274
|
+
}
|
|
275
|
+
setTimePart(which, part, value) {
|
|
276
|
+
if (which === 'start') {
|
|
277
|
+
if (part === 'h')
|
|
278
|
+
this.startHour = value;
|
|
279
|
+
else
|
|
280
|
+
this.startMinute = value;
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
if (part === 'h')
|
|
284
|
+
this.endHour = value;
|
|
285
|
+
else
|
|
286
|
+
this.endMinute = value;
|
|
287
|
+
}
|
|
177
288
|
}
|
|
178
289
|
handleDayHover(cell) {
|
|
179
290
|
if (!cell.inCurrentMonth)
|
|
@@ -239,6 +350,22 @@ const SdDateRangePickerCalendar = class {
|
|
|
239
350
|
}, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => this.handleDayClick(cell), onMouseEnter: () => this.handleDayHover(cell) }, index.h("span", { class: "sd-date-range-picker-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : '')));
|
|
240
351
|
}))));
|
|
241
352
|
}
|
|
353
|
+
renderTimeSection(which, date, suffix) {
|
|
354
|
+
const active = date !== '';
|
|
355
|
+
const [year = '', month = '', day = ''] = active ? date.split('-') : [];
|
|
356
|
+
const hour = which === 'start' ? this.startHour : this.endHour;
|
|
357
|
+
const minute = which === 'start' ? this.startMinute : this.endMinute;
|
|
358
|
+
const renderNum = (n, strip) => (index.h("span", { class: "sd-date-range-picker-calendar__time-num" }, active && n !== '' ? (strip ? String(Number(n)) : n) : '-'));
|
|
359
|
+
return (index.h("div", { class: {
|
|
360
|
+
'sd-date-range-picker-calendar__time-section': true,
|
|
361
|
+
'sd-date-range-picker-calendar__time-section--active': active,
|
|
362
|
+
} }, index.h("div", { class: "sd-date-range-picker-calendar__time-date" }, renderNum(year, false), index.h("span", { class: "sd-date-range-picker-calendar__time-unit" }, "\uB144"), renderNum(month, true), index.h("span", { class: "sd-date-range-picker-calendar__time-unit" }, "\uC6D4"), renderNum(day, true), index.h("span", { class: "sd-date-range-picker-calendar__time-unit" }, "\uC77C")), index.h("div", { class: "sd-date-range-picker-calendar__time-input-group" }, index.h("input", { type: "text", inputMode: "numeric", maxLength: 2, class: "sd-date-range-picker-calendar__time-input", placeholder: "--", "aria-label": `${suffix} 시`, disabled: !active, value: active ? hour : '', onInput: e => this.handleTimeInput(which, 'h', e), onBlur: () => this.handleTimeBlur(which, 'h') }), index.h("span", { class: "sd-date-range-picker-calendar__time-colon" }, ":"), index.h("input", { type: "text", inputMode: "numeric", maxLength: 2, class: "sd-date-range-picker-calendar__time-input", placeholder: "--", "aria-label": `${suffix} 분`, disabled: !active, value: active ? minute : '', onInput: e => this.handleTimeInput(which, 'm', e), onBlur: () => this.handleTimeBlur(which, 'm') })), index.h("span", { class: "sd-date-range-picker-calendar__time-suffix" }, suffix)));
|
|
363
|
+
}
|
|
364
|
+
renderTimeFooter() {
|
|
365
|
+
const startDate = this.pendingStart || this.displayValue?.[0] || '';
|
|
366
|
+
const endDate = this.displayValue?.[1] || '';
|
|
367
|
+
return (index.h(index.Fragment, null, index.h("span", { class: "sd-date-range-picker-calendar__time-divider", "aria-hidden": "true" }), index.h("div", { class: "sd-date-range-picker-calendar__time" }, this.renderTimeSection('start', startDate, '부터'), this.renderTimeSection('end', endDate, '까지'))));
|
|
368
|
+
}
|
|
242
369
|
render() {
|
|
243
370
|
const cssVars = {
|
|
244
371
|
'--calendar-bg': useDatePicker.CALENDAR_LAYOUT.bg,
|
|
@@ -271,8 +398,31 @@ const SdDateRangePickerCalendar = class {
|
|
|
271
398
|
'--range-height': `${RANGE_LAYOUT.height}px`,
|
|
272
399
|
'--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
|
|
273
400
|
'--range-divider': RANGE_LAYOUT.divider,
|
|
401
|
+
'--time-bg-default': TIME_LAYOUT.bgDefault,
|
|
402
|
+
'--time-bg-selected': TIME_LAYOUT.bgSelected,
|
|
403
|
+
'--time-date-label': TIME_LAYOUT.dateLabel,
|
|
404
|
+
'--time-date-unit': TIME_LAYOUT.dateUnit,
|
|
405
|
+
'--time-date-gap': `${TIME_LAYOUT.dateGap}px`,
|
|
406
|
+
'--time-radius': `${TIME_LAYOUT.radius}px`,
|
|
407
|
+
'--time-padding-x': `${TIME_LAYOUT.paddingX}px`,
|
|
408
|
+
'--time-padding-y': `${TIME_LAYOUT.paddingY}px`,
|
|
409
|
+
'--time-gap': `${TIME_LAYOUT.gap}px`,
|
|
410
|
+
'--time-section-gap': `${TIME_LAYOUT.sectionGap}px`,
|
|
411
|
+
'--time-unit-gap': `${TIME_LAYOUT.unitGap}px`,
|
|
412
|
+
'--time-font-size': `${TIME_LAYOUT.fontSize}px`,
|
|
413
|
+
'--time-line-height': `${TIME_LAYOUT.lineHeight}px`,
|
|
414
|
+
'--time-font-weight': TIME_LAYOUT.fontWeight,
|
|
415
|
+
'--time-input-height': `${TIME_LAYOUT.input.height}px`,
|
|
416
|
+
'--time-input-radius': `${TIME_LAYOUT.input.radius}px`,
|
|
417
|
+
'--time-input-border': TIME_LAYOUT.input.border,
|
|
418
|
+
'--time-input-border-focus': TIME_LAYOUT.input.borderFocus,
|
|
419
|
+
'--time-input-text': TIME_LAYOUT.input.text,
|
|
420
|
+
'--time-input-placeholder': TIME_LAYOUT.input.placeholder,
|
|
274
421
|
};
|
|
275
|
-
return (index.h(index.Fragment, { key: '
|
|
422
|
+
return (index.h(index.Fragment, { key: '7d368d23f2c9d2b28c847a7fee5de474edc350f0' }, index.h("div", { key: '6d97bfa728eb65c46d21f53c3b046b1a0c7d2ff6', class: {
|
|
423
|
+
'sd-date-range-picker-calendar': true,
|
|
424
|
+
'sd-date-range-picker-calendar--with-time': this.useTimePicker,
|
|
425
|
+
}, style: cssVars }, this.renderYearNav(), index.h("div", { key: '45b4a2488f6e73814d3a6be9710d7c14fd2e8130', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), index.h("span", { key: 'f1d741f8684ca213d30f559e7f6fc5a4388bbac1', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)), this.useTimePicker && this.renderTimeFooter())));
|
|
276
426
|
}
|
|
277
427
|
static get watchers() { return {
|
|
278
428
|
"value": [{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var system = require('./system-
|
|
3
|
+
var index = require('./index-Cg7X15Hq.js');
|
|
4
|
+
var system = require('./system-BGCBFBcM.js');
|
|
5
5
|
|
|
6
6
|
const DIVIDER_COLORS = {
|
|
7
7
|
default: system.systemTokens.color.divider.default,
|
|
@@ -19,7 +19,7 @@ const SdDivider = class {
|
|
|
19
19
|
const hostStyle = {
|
|
20
20
|
'--sd-divider-color': DIVIDER_COLORS.default,
|
|
21
21
|
};
|
|
22
|
-
return (index.h(index.Host, { key: '
|
|
22
|
+
return (index.h(index.Host, { key: '5e25f94dbe34f19280f6952e0a1bfbf4e4816264', style: hostStyle }, index.h("hr", { key: 'a47f51ba0dfc15819cd5cda169554433b978eb15', "aria-orientation": this.vertical ? 'vertical' : 'horizontal' })));
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
SdDivider.style = sdDividerCss();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Cg7X15Hq.js');
|
|
4
4
|
var sanitizeInlineHtml = require('./sanitize-inline-html-CRCAeQ46.js');
|
|
5
5
|
var sdButton_config = require('./sd-button.config-BH7gFPmM.js');
|
|
6
|
-
var system = require('./system-
|
|
6
|
+
var system = require('./system-BGCBFBcM.js');
|
|
7
7
|
|
|
8
8
|
class DropdownManager {
|
|
9
9
|
static instance;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Cg7X15Hq.js');
|
|
4
4
|
var component_field = require('./component.field-C7it8cZm.js');
|
|
5
|
-
var tooltipArrow = require('./tooltipArrow-
|
|
5
|
+
var tooltipArrow = require('./tooltipArrow-CZff77W-.js');
|
|
6
6
|
|
|
7
7
|
const FIELD_ADDON_ALIGN_MAP = {
|
|
8
8
|
start: 'flex-start',
|
|
@@ -30,7 +30,7 @@ const FIELD_LABEL_SIZE_MAP = {
|
|
|
30
30
|
},
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
const sdFieldCss = () => `sd-field{display:inline-flex;flex-flow:column nowrap;height:fit-content;width:100%}sd-field .sd-field *:focus,sd-field .sd-field *:focus-visible,sd-field .sd-field *:focus-within{outline:none !important}sd-field .sd-field.sd-field--disabled{cursor:not-allowed}sd-field .sd-field.sd-field--disabled .sd-field__wrapper{cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__label-inside{border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__control{background-color:#E1E1E1;border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--readonly .sd-field__wrapper .sd-field__control{background-color:var(--sd-system-color-field-bg-read-only);color:var(--sd-system-color-field-text-read-only)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label{display:flex;align-items:center;flex-shrink:0;width:var(--sd-field-label-width, auto);height:var(--sd-field-label-height);margin-right:var(--sd-field-label-margin-right)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__icon{margin-right:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__text{font-size:var(--sd-field-label-font-size);line-height:var(--sd-field-label-line-height);font-weight:var(--sd-field-label-font-weight);color:var(--sd-system-color-field-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__tooltip{margin-left:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-addon .sd-field__control .sd-field__addon{display:flex;gap:var(--sd-field-addon-gap);align-items:center;justify-content:var(--sd-field-addon-justify, flex-start);white-space:nowrap;box-sizing:border-box;flex-shrink:0;width:var(--sd-field-addon-width, auto);padding:0 var(--sd-field-addon-padding-x);font-size:var(--sd-field-addon-font-size);line-height:var(--sd-field-addon-line-height);font-weight:var(--sd-field-addon-font-weight);background:var(--sd-field-addon-bg);border-right:var(--sd-field-addon-border-width) solid var(--sd-field-addon-border-color);border-radius:calc(var(--sd-field-control-radius) - 1px) 0 0 calc(var(--sd-field-control-radius) - 1px)}sd-field .sd-field__wrapper{width:100%;display:flex;align-items:flex-start;flex-flow:row nowrap;position:relative;color:var(--sd-system-color-field-text-default);-webkit-user-select:none;user-select:none}sd-field .sd-field__wrapper .sd-field__main{flex:1;min-width:0;display:flex;flex-direction:column}sd-field .sd-field__wrapper .sd-field__control{position:relative;height:var(--sd-field-wrapper-height);display:flex;min-width:0;border:1px solid var(--sd-system-color-field-border-default);border-radius:var(--sd-field-control-radius);background:var(--sd-system-color-field-bg-default)}sd-field .sd-field--error .sd-field__wrapper .sd-field__control:not(:hover){border:1px solid var(--sd-system-color-field-border-danger) !important}sd-field .sd-field.sd-field--pass .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-success) !important}sd-field .sd-field:not(.sd-field--disabled):not(.sd-field--readonly) .sd-field__wrapper .sd-field__control:hover{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--focus:not(.sd-field--readonly) .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--borderless .sd-field__wrapper .sd-field__control,sd-field .sd-field.sd-field--borderless.sd-field--error .sd-field__wrapper .sd-field__control:not(:hover),sd-field .sd-field.sd-field--borderless.sd-field--pass .sd-field__wrapper .sd-field__control,sd-field .sd-field.sd-field--borderless:not(.sd-field--disabled):not(.sd-field--readonly) .sd-field__wrapper .sd-field__control:hover,sd-field .sd-field.sd-field--borderless.sd-field--focus:not(.sd-field--readonly) .sd-field__wrapper .sd-field__control{border-color:transparent !important;background:transparent !important;box-shadow:none !important}sd-field .sd-field .sd-field__error-message{color:var(--sd-field-error-message-color);font-size:var(--sd-field-error-message-font-size);line-height:var(--sd-field-error-message-line-height);margin-top:var(--sd-field-message-gap)}sd-field .sd-field .sd-field__hint{color:var(--sd-field-hint-color);font-size:var(--sd-field-hint-font-size);line-height:var(--sd-field-hint-line-height);margin-top:var(--sd-field-message-gap)}`;
|
|
33
|
+
const sdFieldCss = () => `sd-field{display:inline-flex;flex-flow:column nowrap;height:fit-content;width:100%}sd-field .sd-field *:focus,sd-field .sd-field *:focus-visible,sd-field .sd-field *:focus-within{outline:none !important}sd-field .sd-field.sd-field--disabled{cursor:not-allowed}sd-field .sd-field.sd-field--disabled .sd-field__wrapper{cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__label-inside{border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__control{background-color:#E1E1E1;border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--readonly .sd-field__wrapper .sd-field__control{background-color:var(--sd-system-color-field-bg-read-only);color:var(--sd-system-color-field-text-read-only)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label{display:flex;align-items:center;flex-shrink:0;width:var(--sd-field-label-width, auto);height:var(--sd-field-label-height);margin-right:var(--sd-field-label-margin-right)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__icon{margin-right:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__text{font-size:var(--sd-field-label-font-size);line-height:var(--sd-field-label-line-height);font-weight:var(--sd-field-label-font-weight);color:var(--sd-system-color-field-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__tooltip{margin-left:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-addon .sd-field__control .sd-field__addon{display:flex;gap:var(--sd-field-addon-gap);align-items:center;justify-content:var(--sd-field-addon-justify, flex-start);white-space:nowrap;box-sizing:border-box;flex-shrink:0;width:var(--sd-field-addon-width, auto);padding:0 var(--sd-field-addon-padding-x);font-size:var(--sd-field-addon-font-size);line-height:var(--sd-field-addon-line-height);font-weight:var(--sd-field-addon-font-weight);background:var(--sd-field-addon-bg);border-right:var(--sd-field-addon-border-width) solid var(--sd-field-addon-border-color);border-radius:calc(var(--sd-field-control-radius) - 1px) 0 0 calc(var(--sd-field-control-radius) - 1px)}sd-field .sd-field--multiline .sd-field__wrapper .sd-field__control{height:auto;min-height:var(--sd-field-wrapper-height)}sd-field .sd-field__wrapper{width:100%;display:flex;align-items:flex-start;flex-flow:row nowrap;position:relative;color:var(--sd-system-color-field-text-default);-webkit-user-select:none;user-select:none}sd-field .sd-field__wrapper .sd-field__main{flex:1;min-width:0;display:flex;flex-direction:column}sd-field .sd-field__wrapper .sd-field__control{position:relative;height:var(--sd-field-wrapper-height);display:flex;min-width:0;border:1px solid var(--sd-system-color-field-border-default);border-radius:var(--sd-field-control-radius);background:var(--sd-system-color-field-bg-default)}sd-field .sd-field--error .sd-field__wrapper .sd-field__control:not(:hover){border:1px solid var(--sd-system-color-field-border-danger) !important}sd-field .sd-field.sd-field--pass .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-success) !important}sd-field .sd-field:not(.sd-field--disabled):not(.sd-field--readonly) .sd-field__wrapper .sd-field__control:hover{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--focus:not(.sd-field--readonly) .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--borderless .sd-field__wrapper .sd-field__control,sd-field .sd-field.sd-field--borderless.sd-field--error .sd-field__wrapper .sd-field__control:not(:hover),sd-field .sd-field.sd-field--borderless.sd-field--pass .sd-field__wrapper .sd-field__control,sd-field .sd-field.sd-field--borderless:not(.sd-field--disabled):not(.sd-field--readonly) .sd-field__wrapper .sd-field__control:hover,sd-field .sd-field.sd-field--borderless.sd-field--focus:not(.sd-field--readonly) .sd-field__wrapper .sd-field__control{border-color:transparent !important;background:transparent !important;box-shadow:none !important}sd-field .sd-field .sd-field__error-message{color:var(--sd-field-error-message-color);font-size:var(--sd-field-error-message-font-size);line-height:var(--sd-field-error-message-line-height);margin-top:var(--sd-field-message-gap)}sd-field .sd-field .sd-field__hint{color:var(--sd-field-hint-color);font-size:var(--sd-field-hint-font-size);line-height:var(--sd-field-hint-line-height);margin-top:var(--sd-field-message-gap)}`;
|
|
34
34
|
|
|
35
35
|
const FORM_PARENT_TAGS = [
|
|
36
36
|
'sd-input',
|
|
@@ -41,6 +41,8 @@ const FORM_PARENT_TAGS = [
|
|
|
41
41
|
'sd-file-picker',
|
|
42
42
|
'sd-date-picker',
|
|
43
43
|
'sd-date-range-picker',
|
|
44
|
+
'sd-time-picker',
|
|
45
|
+
'sd-time-range-picker',
|
|
44
46
|
'sd-chip-input',
|
|
45
47
|
];
|
|
46
48
|
const SdField = class {
|
|
@@ -82,6 +84,13 @@ const SdField = class {
|
|
|
82
84
|
label = '';
|
|
83
85
|
/** 레이블 너비 */
|
|
84
86
|
labelWidth = '';
|
|
87
|
+
/**
|
|
88
|
+
* 레이블 박스 높이 (숫자면 px). 미지정 시 size별 기본값 사용.
|
|
89
|
+
* multiline 등 컨트롤 박스가 커질 때 레이블을 첫 행에 맞추기 위해 사용한다.
|
|
90
|
+
*/
|
|
91
|
+
labelHeight;
|
|
92
|
+
/** 멀티라인 컨트롤 — 컨트롤 높이를 고정하지 않고 min-height만 적용한다. */
|
|
93
|
+
multiline = false;
|
|
85
94
|
/** 필드 우측 어드온 레이블 */
|
|
86
95
|
addonLabel = '';
|
|
87
96
|
/** 어드온 정렬 방향 */
|
|
@@ -212,7 +221,11 @@ const SdField = class {
|
|
|
212
221
|
};
|
|
213
222
|
const labelCssVars = this.label !== ''
|
|
214
223
|
? {
|
|
215
|
-
'--sd-field-label-height':
|
|
224
|
+
'--sd-field-label-height': this.labelHeight !== undefined && this.labelHeight !== '' && this.labelHeight !== 0
|
|
225
|
+
? typeof this.labelHeight === 'number'
|
|
226
|
+
? `${this.labelHeight}px`
|
|
227
|
+
: this.labelHeight
|
|
228
|
+
: `${labelTokens.height}px`,
|
|
216
229
|
'--sd-field-label-gap': `${labelTokens.gap}px`,
|
|
217
230
|
'--sd-field-label-font-size': `${labelTokens.fontSize}px`,
|
|
218
231
|
'--sd-field-label-line-height': `${labelTokens.lineHeight}px`,
|
|
@@ -244,19 +257,20 @@ const SdField = class {
|
|
|
244
257
|
: {}),
|
|
245
258
|
}
|
|
246
259
|
: {};
|
|
247
|
-
return (index.h("div", { key: '
|
|
260
|
+
return (index.h("div", { key: 'd29e49fe9ecf467f0c1ed443524fac2648dc9da4', class: {
|
|
248
261
|
'sd-field': true,
|
|
249
262
|
'sd-field--has-label': this.label !== '',
|
|
250
263
|
'sd-field--has-addon': addon !== '',
|
|
264
|
+
'sd-field--multiline': this.multiline,
|
|
251
265
|
'sd-field--borderless': this.borderless,
|
|
252
266
|
[this.fieldStatus]: this.fieldStatus !== '',
|
|
253
|
-
}, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, index.h("div", { key: '
|
|
267
|
+
}, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, index.h("div", { key: '396173067f4a8ce38ea8ea9f5a6b9d76303b16fa', class: "sd-field__wrapper" }, this.renderLabel(this.label), index.h("div", { key: '3e4aab5e10cf52f116aabfe1a8d36a806eb03af4', class: "sd-field__main" }, index.h("div", { key: 'edbe4443387935e2b51469339284024429f1f0d3', class: {
|
|
254
268
|
'sd-field__control': true,
|
|
255
269
|
'sd-field__control--has-addon': addon !== '',
|
|
256
270
|
}, style: this.width !== '' && this.width !== 0
|
|
257
271
|
? { width: typeof this.width === 'number' ? `${this.width}px` : this.width }
|
|
258
|
-
: {} }, addon && (index.h("div", { key: '
|
|
259
|
-
Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate })), addon)), index.h("slot", { key: '
|
|
272
|
+
: {} }, addon && (index.h("div", { key: '7ac28abf5f37b7ada42b16f81227afb5c7f8d656', class: "sd-field__addon" }, this.icon && (index.h("sd-icon", { key: 'd995424c6f620b090006cdbcf8645d2ff822e802', name: this.icon.name, size: this.icon.size ??
|
|
273
|
+
Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate })), addon)), index.h("slot", { key: 'd105a65b5c926b5db9dd1d68239c0a2015739aba' })), this.errorMsg !== '' || this.errorMessage !== '' ? (index.h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && index.h("div", { class: "sd-field__hint" }, this.hint))))));
|
|
260
274
|
}
|
|
261
275
|
renderLabel(label) {
|
|
262
276
|
if (label == null || label === '')
|
|
@@ -447,7 +461,7 @@ const SdFloatingPopover = class {
|
|
|
447
461
|
}
|
|
448
462
|
}
|
|
449
463
|
render() {
|
|
450
|
-
return index.h("slot", { key: '
|
|
464
|
+
return index.h("slot", { key: 'f45790ba4fc45aef991a54b409acc2791342fcdf' });
|
|
451
465
|
}
|
|
452
466
|
};
|
|
453
467
|
SdFloatingPopover.style = sdFloatingPortalCss();
|
|
@@ -488,42 +502,29 @@ const SdTooltip = class {
|
|
|
488
502
|
trigger = 'hover';
|
|
489
503
|
/** 툴팁 표시 방향 */
|
|
490
504
|
placement = 'top';
|
|
491
|
-
/** 아이콘 트리거 색상 */
|
|
505
|
+
/** 기본(아이콘) 트리거 색상 */
|
|
492
506
|
color = '#01BB4B';
|
|
493
507
|
/** 툴팁 배경/텍스트 색상 타입 */
|
|
494
508
|
tooltipType = 'default';
|
|
495
|
-
/** 아이콘 트리거
|
|
509
|
+
/** 기본(아이콘) 트리거 아이콘명. slot="anchor" 가 있으면 무시 */
|
|
496
510
|
icon = 'helpOutline';
|
|
497
|
-
/** 아이콘 트리거 크기 */
|
|
511
|
+
/** 기본(아이콘) 트리거 크기 */
|
|
498
512
|
iconSize = 12;
|
|
499
|
-
/** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
|
|
500
|
-
label = '';
|
|
501
|
-
/** 버튼 트리거 프리셋 */
|
|
502
|
-
name = 'primary_sm';
|
|
503
|
-
/** 버튼 트리거 우측 아이콘 */
|
|
504
|
-
rightIcon;
|
|
505
513
|
/** 스크린리더용 접근성 레이블 */
|
|
506
514
|
ariaLabel = '';
|
|
507
|
-
/** 비활성
|
|
515
|
+
/** 비활성 — 트리거만 렌더하고 툴팁을 열지 않음 */
|
|
508
516
|
disabled = false;
|
|
509
|
-
/** 버튼 type 속성 */
|
|
510
|
-
type = 'button';
|
|
511
517
|
/** 툴팁 우측 상단 닫기 버튼 표시 여부 */
|
|
512
518
|
useClose = false;
|
|
513
|
-
/** 트리거 래퍼(.sd-tooltip-trigger)에 추가할 클래스 */
|
|
514
|
-
sdClass = '';
|
|
515
519
|
/**
|
|
516
520
|
* 툴팁 본문에 표시할 메시지. 각 항목이 한 줄로 innerHTML 렌더링됩니다.
|
|
517
|
-
* (HTML 문자열 허용) 지정하지 않으면 slot 으로 전달한 내용을 본문으로 사용합니다.
|
|
521
|
+
* (HTML 문자열 허용) 지정하지 않으면 default slot 으로 전달한 내용을 본문으로 사용합니다.
|
|
518
522
|
*/
|
|
519
523
|
message = [];
|
|
520
|
-
/**
|
|
521
|
-
|
|
522
|
-
/** anchor 트리거 래퍼에 적용할 인라인 스타일(CSS 문자열). (예: `width:100%`) */
|
|
523
|
-
triggerStyle = '';
|
|
524
|
+
/** 트리거 래퍼(.sd-tooltip-trigger)에 추가할 클래스. (예: Tailwind `block w-full`) */
|
|
525
|
+
triggerClassName = '';
|
|
524
526
|
showTooltip = false;
|
|
525
527
|
slotContentHTML = '';
|
|
526
|
-
buttonEl;
|
|
527
528
|
triggerEl;
|
|
528
529
|
isAnchorMode = false;
|
|
529
530
|
menuEl;
|
|
@@ -531,6 +532,8 @@ const SdTooltip = class {
|
|
|
531
532
|
closeTimeout;
|
|
532
533
|
static CLOSE_ANIM_MS = 150;
|
|
533
534
|
openTooltip = () => {
|
|
535
|
+
if (this.disabled)
|
|
536
|
+
return;
|
|
534
537
|
this.cancelHideTimer();
|
|
535
538
|
this.showTooltip = true;
|
|
536
539
|
if (this.menuEl) {
|
|
@@ -580,22 +583,16 @@ const SdTooltip = class {
|
|
|
580
583
|
this.closeTooltip();
|
|
581
584
|
}
|
|
582
585
|
componentWillLoad() {
|
|
583
|
-
// slot="anchor" 자식이 있으면 anchor 모드(다른
|
|
586
|
+
// slot="anchor" 자식이 있으면 anchor 모드(다른 요소를 트리거로 사용)
|
|
584
587
|
this.isAnchorMode = Array.from(this.el.children).some(child => child.getAttribute('slot') === 'anchor');
|
|
585
588
|
if (!this.isAnchorMode) {
|
|
586
|
-
//
|
|
589
|
+
// 기본 모드: default slot 내용을 본문으로 캡처하고 자식을 비웁니다.
|
|
587
590
|
this.slotContentHTML = this.el.innerHTML;
|
|
588
591
|
this.el.replaceChildren();
|
|
589
592
|
}
|
|
590
593
|
// anchor 모드: 자식(slot="anchor")은 그대로 두어 Stencil 슬롯으로 투영합니다.
|
|
591
594
|
this.el.classList.toggle('visible', true);
|
|
592
595
|
}
|
|
593
|
-
componentDidRender() {
|
|
594
|
-
// CSS 문자열 스타일은 ref로 직접 적용 (속성/프로퍼티 전달 모두 호환)
|
|
595
|
-
if (this.triggerEl && this.triggerStyle !== '') {
|
|
596
|
-
this.triggerEl.setAttribute('style', this.triggerStyle);
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
596
|
render() {
|
|
600
597
|
const trigger = this.trigger ?? 'hover';
|
|
601
598
|
const placement = this.placement ?? 'top';
|
|
@@ -603,27 +600,29 @@ const SdTooltip = class {
|
|
|
603
600
|
const icon = this.icon ?? 'helpOutline';
|
|
604
601
|
const color = this.color ?? '#01BB4B';
|
|
605
602
|
const typeConfig = TOOLTIP_TYPE_CONFIG[tooltipType] ?? TOOLTIP_TYPE_CONFIG.default;
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
603
|
+
// 클릭 토글: 열림은 openTooltip(타이머 정리), 닫힘은 즉시(애니메이션 없이)
|
|
604
|
+
const toggleTooltip = () => {
|
|
605
|
+
if (this.showTooltip) {
|
|
606
|
+
this.showTooltip = false;
|
|
607
|
+
}
|
|
608
|
+
else {
|
|
609
|
+
this.openTooltip();
|
|
610
|
+
}
|
|
609
611
|
};
|
|
610
|
-
const toggleTooltip = () => (this.showTooltip = !this.showTooltip);
|
|
611
|
-
const hasLabel = this.label !== undefined && this.label !== '';
|
|
612
|
-
const anchorMode = this.isAnchorMode;
|
|
613
612
|
const divTrigger = trigger === 'hover'
|
|
614
|
-
?
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
const triggerClasses = ['sd-tooltip-trigger', this.
|
|
613
|
+
? {
|
|
614
|
+
onMouseEnter: () => this.openTooltip(),
|
|
615
|
+
onMouseLeave: () => !this.useClose && this.startHideTimer(),
|
|
616
|
+
}
|
|
617
|
+
: { onClick: toggleTooltip };
|
|
618
|
+
const triggerClasses = ['sd-tooltip-trigger', this.triggerClassName]
|
|
620
619
|
.filter(c => c !== undefined && c !== '')
|
|
621
620
|
.join(' ');
|
|
622
|
-
//
|
|
621
|
+
// 본문: message 가 있으면 각 줄을 innerHTML 로, 없으면 default slot 캡처 내용 사용
|
|
623
622
|
const bodyHTML = this.message && this.message.length > 0
|
|
624
623
|
? this.message.map(line => `<div>${line}</div>`).join('')
|
|
625
624
|
: this.slotContentHTML;
|
|
626
|
-
return (index.h(index.Fragment, { key: '
|
|
625
|
+
return (index.h(index.Fragment, { key: 'd5854a26d23173e2c3493d301b0befefccd25cac' }, index.h("div", { key: '996d9ca989e7032f86ea3744b878b596e5947d15', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, this.isAnchorMode ? (index.h("slot", { name: "anchor" })) : (index.h("sd-icon", { name: icon, size: this.iconSize ?? 12, color: color, "aria-label": this.ariaLabel || undefined, class: "sd-tooltip" }))), this.showTooltip && (index.h("sd-floating-portal", { key: '5583e344bac78edbd353c759f187c387823a4304', parentRef: this.triggerEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, index.h("div", { key: '446e2fbf5e0e26901e635081a1e1100c7bfb8106', ref: el => (this.menuEl = el), class: {
|
|
627
626
|
'sd-floating-menu': true,
|
|
628
627
|
[`sd-floating-menu--${tooltipType}`]: true,
|
|
629
628
|
[`sd-floating-menu--${placement}`]: true,
|
|
@@ -631,7 +630,7 @@ const SdTooltip = class {
|
|
|
631
630
|
}, style: {
|
|
632
631
|
'--sd-floating-bg': typeConfig.bg,
|
|
633
632
|
'--sd-floating-content': typeConfig.content,
|
|
634
|
-
}, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, index.h("i", { key: '
|
|
633
|
+
}, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, index.h("i", { key: '0ccae56e8e88cf2ca33eeb4780fbfabd9fa33a99', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, index.h(tooltipArrow.TooltipArrow, { key: 'e10701628f3cb708f89fad5f910475edc30e0e50' })), index.h("div", { key: '3cbedf1225e4cc5bf3fad45754b7ab663e9ab5f2', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (index.h("sd-ghost-button", { key: '90198241c12483bb8db4d13d5ba73ea6d3765574', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
|
|
635
634
|
}
|
|
636
635
|
};
|
|
637
636
|
SdTooltip.style = sdTooltipCss();
|