@sellmate/design-system 1.20.1 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/design-system.cjs.js +2 -2
- package/dist/cjs/{index-DXm0PH2A.js → index-C-F-JEv_.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sd-action-modal.cjs.entry.js +8 -2
- package/dist/cjs/sd-badge.cjs.entry.js +3 -2
- package/dist/cjs/sd-barcode-input.cjs.entry.js +35 -2
- package/dist/cjs/sd-button_2.cjs.entry.js +16 -7
- package/dist/cjs/sd-calendar_2.cjs.entry.js +17 -6
- package/dist/cjs/sd-callout.cjs.entry.js +4 -2
- package/dist/cjs/sd-card.cjs.entry.js +4 -2
- package/dist/cjs/sd-checkbox.cjs.entry.js +21 -12
- package/dist/cjs/sd-chip-input.cjs.entry.js +76 -18
- package/dist/cjs/sd-chip.cjs.entry.js +19 -2
- package/dist/cjs/sd-circle-progress.cjs.entry.js +6 -2
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +27 -4
- package/dist/cjs/sd-date-box.cjs.entry.js +13 -3
- package/dist/cjs/sd-date-picker_7.cjs.entry.js +209 -13
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +7 -2
- package/dist/cjs/sd-divider.cjs.entry.js +1 -1
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +11 -1
- package/dist/cjs/sd-field_3.cjs.entry.js +70 -12
- package/dist/cjs/sd-form.cjs.entry.js +10 -2
- package/dist/cjs/sd-ghost-button_3.cjs.entry.js +54 -15
- package/dist/cjs/sd-guide.cjs.entry.js +9 -3
- package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -1
- package/dist/cjs/sd-linear-progress.cjs.entry.js +7 -4
- package/dist/cjs/sd-loading-container.cjs.entry.js +5 -3
- package/dist/cjs/sd-modal-container.cjs.entry.js +7 -1
- package/dist/cjs/sd-pagination_4.cjs.entry.js +121 -13
- package/dist/cjs/sd-popover.cjs.entry.js +21 -5
- package/dist/cjs/sd-popup.cjs.entry.js +7 -3
- package/dist/cjs/sd-radio-button.cjs.entry.js +8 -2
- package/dist/cjs/sd-radio.cjs.entry.js +7 -2
- package/dist/cjs/sd-select-list-item_2.cjs.entry.js +18 -7
- package/dist/cjs/sd-select_3.cjs.entry.js +56 -9
- package/dist/cjs/sd-switch.cjs.entry.js +6 -2
- package/dist/cjs/sd-table.cjs.entry.js +42 -7
- package/dist/cjs/sd-tabs.cjs.entry.js +8 -2
- package/dist/cjs/sd-td.cjs.entry.js +11 -2
- package/dist/cjs/sd-text-link.cjs.entry.js +13 -4
- package/dist/cjs/sd-toast-container.cjs.entry.js +11 -2
- package/dist/cjs/sd-toast.cjs.entry.js +12 -3
- package/dist/cjs/sd-toggle.cjs.entry.js +6 -2
- package/dist/cjs/{tooltipArrow-D3P3JC08.js → tooltipArrow-26hYtSrD.js} +1 -1
- package/dist/collection/components/assets/CaretDown.js +1 -1
- package/dist/collection/components/assets/CaretLeft.js +1 -1
- package/dist/collection/components/assets/CaretRight.js +1 -1
- package/dist/collection/components/assets/CaretUp.js +1 -1
- package/dist/collection/components/sd-action-modal/sd-action-modal.js +13 -7
- package/dist/collection/components/sd-badge/sd-badge.js +3 -2
- package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
- package/dist/collection/components/sd-button/sd-button.js +18 -10
- package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
- package/dist/collection/components/sd-callout/sd-callout.js +5 -3
- package/dist/collection/components/sd-card/sd-card.js +5 -3
- package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
- package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
- package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
- package/dist/collection/components/sd-chip/sd-chip.js +35 -18
- package/dist/collection/components/sd-chip-input/sd-chip-input.css +6 -0
- package/dist/collection/components/sd-chip-input/sd-chip-input.js +107 -49
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
- package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
- package/dist/collection/components/sd-field/sd-field.js +51 -28
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
- package/dist/collection/components/sd-form/sd-form.js +17 -9
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
- package/dist/collection/components/sd-guide/sd-guide.js +14 -8
- package/dist/collection/components/sd-icon/sd-icon.js +2 -1
- package/dist/collection/components/sd-input/sd-input.js +82 -42
- package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
- package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
- package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
- package/dist/collection/components/sd-modal-container/sd-modal-container.js +12 -6
- package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
- package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
- package/dist/collection/components/sd-popover/sd-popover.js +35 -19
- package/dist/collection/components/sd-popup/sd-popup.js +11 -7
- package/dist/collection/components/sd-portal/sd-portal.js +35 -14
- package/dist/collection/components/sd-radio/sd-radio.js +11 -6
- package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
- package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
- package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
- package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
- package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
- package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
- package/dist/collection/components/sd-select/sd-select.js +62 -33
- package/dist/collection/components/sd-switch/sd-switch.js +9 -5
- package/dist/collection/components/sd-table/sd-table.js +76 -41
- package/dist/collection/components/sd-table/sd-table.stories.helpers.js +97 -0
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
- package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
- package/dist/collection/components/sd-table/sd-thead/sd-thead.css +21 -0
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +113 -20
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
- package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
- package/dist/collection/components/sd-tag/sd-tag.js +10 -7
- package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
- package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
- package/dist/collection/components/sd-toast/sd-toast.js +20 -11
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
- package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
- package/dist/components/index.js +1 -1
- package/dist/components/{p-CUR9smP5.js → p-58DLP3IW.js} +1 -1
- package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
- package/dist/components/{p-BZfVV3gu.js → p-B0myARGe.js} +1 -1
- package/dist/components/{p-CTPImLDQ.js → p-B12iH3Zk.js} +1 -1
- package/dist/components/{p-CoqA9KgU.js → p-B2bF2KlS.js} +1 -1
- package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
- package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
- package/dist/components/{p-Dl89_4C3.js → p-BXRgi3NZ.js} +1 -1
- package/dist/components/{p-BjcGzaFR.js → p-Bm3NWPaP.js} +1 -1
- package/dist/components/p-BpQwjSB8.js +1 -0
- package/dist/components/{p-CRwvv7YM.js → p-BpjmheLG.js} +1 -1
- package/dist/components/{p-5imde6N9.js → p-Bric-SEs.js} +1 -1
- package/dist/components/{p-CB2A3pJ5.js → p-BwTsP0Ak.js} +1 -1
- package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
- package/dist/components/p-CCCwPJ5p.js +1 -0
- package/dist/components/p-CCO1WtEj.js +1 -0
- package/dist/components/p-CEKu7cxA.js +1 -0
- package/dist/components/{p-CrT06Uwc.js → p-CHxVi6l1.js} +1 -1
- package/dist/components/{p-DNnI3Nru.js → p-Cdzn78dP.js} +1 -1
- package/dist/components/p-Cj_1bYZF.js +1 -0
- package/dist/components/{p-ZvI5A-_t.js → p-Cjf8PHEl.js} +1 -1
- package/dist/components/{p-CJ69QmR3.js → p-Co2ThnbG.js} +1 -1
- package/dist/components/{p-gOIeNT-Z.js → p-CwSlRPMm.js} +1 -1
- package/dist/components/p-D7StBSjK.js +1 -0
- package/dist/components/{p-Bz93hWXV.js → p-DFbj6d3L.js} +1 -1
- package/dist/components/{p-B5bya7Gp.js → p-DlXBFtBO.js} +1 -1
- package/dist/components/{p-Rwc_ltPn.js → p-Du_qPqW-.js} +1 -1
- package/dist/components/{p-DIlNesBH.js → p-DzAvlr8W.js} +1 -1
- package/dist/components/{p-D99vy8Ip.js → p-FrqOl9KZ.js} +1 -1
- package/dist/components/{p-uSEbiD29.js → p-JMuxVcTW.js} +1 -1
- package/dist/components/{p-DertIGhs.js → p-OjchKJGr.js} +1 -1
- package/dist/components/p-S2-XqY2R.js +1 -0
- package/dist/components/{p-DDAA-zcg.js → p-YCGkwgiM.js} +1 -1
- package/dist/components/{p-DZTxHJlP.js → p-ZvP2Ce6J.js} +1 -1
- package/dist/components/p-kRH2GOb0.js +1 -0
- package/dist/components/{p-FTvXz0-a.js → p-mcMbSkii.js} +1 -1
- package/dist/components/{p-BiBLp9_a.js → p-vPS2GNz3.js} +1 -1
- package/dist/components/sd-action-modal.js +1 -1
- package/dist/components/sd-badge.js +1 -1
- package/dist/components/sd-barcode-input.js +1 -1
- package/dist/components/sd-button.js +1 -1
- package/dist/components/sd-calendar.js +1 -1
- package/dist/components/sd-callout.js +1 -1
- package/dist/components/sd-card.js +1 -1
- package/dist/components/sd-checkbox.js +1 -1
- package/dist/components/sd-chip-input.js +1 -1
- package/dist/components/sd-chip.js +1 -1
- package/dist/components/sd-circle-progress.js +1 -1
- package/dist/components/sd-confirm-modal.js +1 -1
- package/dist/components/sd-date-box.js +1 -1
- package/dist/components/sd-date-picker-trigger.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker-calendar.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-divider.js +1 -1
- package/dist/components/sd-dropdown-button.js +1 -1
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-floating-portal.js +1 -1
- package/dist/components/sd-form.js +1 -1
- package/dist/components/sd-ghost-button.js +1 -1
- package/dist/components/sd-guide.js +1 -1
- package/dist/components/sd-icon.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-key-value-table.js +1 -1
- package/dist/components/sd-linear-progress.js +1 -1
- package/dist/components/sd-loading-container.js +1 -1
- package/dist/components/sd-loading-modal.js +1 -1
- package/dist/components/sd-modal-container.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-pagination.js +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-popup.js +1 -1
- package/dist/components/sd-portal.js +1 -1
- package/dist/components/sd-radio-button.js +1 -1
- package/dist/components/sd-radio-group.js +1 -1
- package/dist/components/sd-radio.js +1 -1
- package/dist/components/sd-select-list-item-search.js +1 -1
- package/dist/components/sd-select-list-item.js +1 -1
- package/dist/components/sd-select-listbox.js +1 -1
- package/dist/components/sd-select-trigger.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-switch.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-tabs.js +1 -1
- package/dist/components/sd-tag.js +1 -1
- package/dist/components/sd-tbody.js +1 -1
- package/dist/components/sd-td.js +1 -1
- package/dist/components/sd-text-link.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-thead.js +1 -1
- package/dist/components/sd-toast-container.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-toggle.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/components/sd-tr.js +1 -1
- package/dist/design-system/design-system.css +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/p-14447dd5.entry.js +1 -0
- package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
- package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
- package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
- package/dist/design-system/p-2df32f8c.entry.js +1 -0
- package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
- package/dist/design-system/p-35e1e2fa.entry.js +1 -0
- package/dist/design-system/p-4bbc894b.entry.js +1 -0
- package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
- package/dist/design-system/p-4c1559c8.entry.js +1 -0
- package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
- package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
- package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
- package/dist/design-system/p-52e88677.entry.js +1 -0
- package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
- package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
- package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
- package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
- package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
- package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
- package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
- package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
- package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
- package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
- package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
- package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
- package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
- package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
- package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
- package/dist/design-system/p-ac81b46e.entry.js +1 -0
- package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
- package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
- package/dist/design-system/p-c684cd96.entry.js +1 -0
- package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
- package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
- package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
- package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
- package/dist/design-system/{p-7ed8c8f1.entry.js → p-d5b535ad.entry.js} +1 -1
- package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
- package/dist/design-system/p-e7d4b78e.entry.js +1 -0
- package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
- package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
- package/dist/esm/design-system.js +3 -3
- package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/sd-action-modal.entry.js +8 -2
- package/dist/esm/sd-badge.entry.js +3 -2
- package/dist/esm/sd-barcode-input.entry.js +35 -2
- package/dist/esm/sd-button_2.entry.js +16 -7
- package/dist/esm/sd-calendar_2.entry.js +17 -6
- package/dist/esm/sd-callout.entry.js +4 -2
- package/dist/esm/sd-card.entry.js +4 -2
- package/dist/esm/sd-checkbox.entry.js +21 -12
- package/dist/esm/sd-chip-input.entry.js +76 -18
- package/dist/esm/sd-chip.entry.js +19 -2
- package/dist/esm/sd-circle-progress.entry.js +6 -2
- package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
- package/dist/esm/sd-date-box.entry.js +13 -3
- package/dist/esm/sd-date-picker_7.entry.js +209 -13
- package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
- package/dist/esm/sd-divider.entry.js +1 -1
- package/dist/esm/sd-dropdown-button.entry.js +11 -1
- package/dist/esm/sd-field_3.entry.js +70 -12
- package/dist/esm/sd-form.entry.js +10 -2
- package/dist/esm/sd-ghost-button_3.entry.js +54 -15
- package/dist/esm/sd-guide.entry.js +9 -3
- package/dist/esm/sd-key-value-table.entry.js +3 -1
- package/dist/esm/sd-linear-progress.entry.js +7 -4
- package/dist/esm/sd-loading-container.entry.js +5 -3
- package/dist/esm/sd-modal-container.entry.js +7 -1
- package/dist/esm/sd-pagination_4.entry.js +121 -13
- package/dist/esm/sd-popover.entry.js +21 -5
- package/dist/esm/sd-popup.entry.js +7 -3
- package/dist/esm/sd-radio-button.entry.js +8 -2
- package/dist/esm/sd-radio.entry.js +7 -2
- package/dist/esm/sd-select-list-item_2.entry.js +18 -7
- package/dist/esm/sd-select_3.entry.js +56 -9
- package/dist/esm/sd-switch.entry.js +6 -2
- package/dist/esm/sd-table.entry.js +42 -7
- package/dist/esm/sd-tabs.entry.js +8 -2
- package/dist/esm/sd-td.entry.js +11 -2
- package/dist/esm/sd-text-link.entry.js +13 -4
- package/dist/esm/sd-toast-container.entry.js +11 -2
- package/dist/esm/sd-toast.entry.js +12 -3
- package/dist/esm/sd-toggle.entry.js +6 -2
- package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
- package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
- package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
- package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
- package/dist/types/components/sd-button/sd-button.d.ts +8 -0
- package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
- package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
- package/dist/types/components/sd-card/sd-card.d.ts +2 -0
- package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
- package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
- package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
- package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
- package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
- package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
- package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
- package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
- package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
- package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
- package/dist/types/components/sd-field/sd-field.d.ts +23 -0
- package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
- package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
- package/dist/types/components/sd-form/sd-form.d.ts +8 -0
- package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
- package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
- package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
- package/dist/types/components/sd-input/sd-input.d.ts +40 -0
- package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
- package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
- package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
- package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
- package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -0
- package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
- package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
- package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
- package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
- package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
- package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
- package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
- package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
- package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
- package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
- package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
- package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
- package/dist/types/components/sd-select/sd-select.d.ts +29 -0
- package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
- package/dist/types/components/sd-table/constants.d.ts +1 -0
- package/dist/types/components/sd-table/sd-table.d.ts +35 -0
- package/dist/types/components/sd-table/sd-table.stories.helpers.d.ts +10 -0
- package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
- package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
- package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +21 -0
- package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
- package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
- package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
- package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
- package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
- package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
- package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
- package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
- package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
- package/dist/types/components.d.ts +1827 -7
- package/hydrate/index.js +949 -146
- package/hydrate/index.mjs +949 -146
- package/package.json +1 -1
- package/dist/components/p-B7PHGGFH.js +0 -1
- package/dist/components/p-CLlAhEDc.js +0 -1
- package/dist/components/p-CXeOxSQ-.js +0 -1
- package/dist/components/p-CZfsknba.js +0 -1
- package/dist/components/p-CvSqieCH.js +0 -1
- package/dist/components/p-P2jWtk8J.js +0 -1
- package/dist/components/p-xkRWGISE.js +0 -1
- package/dist/design-system/p-17dcf0e4.entry.js +0 -1
- package/dist/design-system/p-316b8a08.entry.js +0 -1
- package/dist/design-system/p-5039241c.entry.js +0 -1
- package/dist/design-system/p-5eaa12af.entry.js +0 -1
- package/dist/design-system/p-9c38ee79.entry.js +0 -1
- package/dist/design-system/p-CAxodB5I.js +0 -2
- package/dist/design-system/p-c995e6c3.entry.js +0 -1
- package/dist/design-system/p-eef6d4a3.entry.js +0 -1
- package/dist/design-system/p-faf7b64c.entry.js +0 -1
- package/dist/design-system/p-fd7abbfa.entry.js +0 -1
package/hydrate/index.js
CHANGED
|
@@ -136,7 +136,7 @@ var node_crypto = require('node:crypto');
|
|
|
136
136
|
const NAMESPACE = 'design-system';
|
|
137
137
|
const BUILD = /* design-system */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
|
|
138
138
|
|
|
139
|
-
const globalStyles = ":root{--color-primary:#051D36;--sd-primary:#051D36;--color-secondary:#555555;--sd-secondary:#555555;--color-accent:#9C27B0;--sd-accent:#9C27B0;--color-positive:#0075FF;--sd-positive:#0075FF;--color-negative:#E30000;--sd-negative:#E30000;--color-info:#00CD52;--sd-info:#00CD52;--color-warning:#F2C037;--sd-warning:#F2C037;--color-caution_bg:#FEF1F1;--sd-caution_bg:#FEF1F1;--color-caution_icon:#FD9595;--sd-caution_icon:#FD9595;--color-header_alert:#FF7A00;--sd-header_alert:#FF7A00;--color-white:#FFFFFF;--sd-white:#FFFFFF;--color-black:#000000;--sd-black:#000000;--color-grey_10:#F6F6F6;--sd-grey_10:#F6F6F6;--color-grey_20:#EEEEEE;--sd-grey_20:#EEEEEE;--color-grey_25:#E5E5E5;--sd-grey_25:#E5E5E5;--color-grey_30:#E1E1E1;--sd-grey_30:#E1E1E1;--color-grey_35:#D8D8D8;--sd-grey_35:#D8D8D8;--color-grey_45:#CCCCCC;--sd-grey_45:#CCCCCC;--color-grey_50:#BBBBBB;--sd-grey_50:#BBBBBB;--color-grey_55:#AAAAAA;--sd-grey_55:#AAAAAA;--color-grey_60:#999999;--sd-grey_60:#999999;--color-grey_65:#888888;--sd-grey_65:#888888;--color-grey_70:#737373;--sd-grey_70:#737373;--color-grey_80:#555555;--sd-grey_80:#555555;--color-grey_85:#444444;--sd-grey_85:#444444;--color-grey_90:#333333;--sd-grey_90:#333333;--color-grey_95:#222222;--sd-grey_95:#222222;--color-grey_05:#F9F9F9;--sd-grey_05:#F9F9F9;--color-red_15:#FCEFEF;--sd-red_15:#FCEFEF;--color-red_20:#FCE6E6;--sd-red_20:#FCE6E6;--color-red_30:#FFD3D3;--sd-red_30:#FFD3D3;--color-red_45:#FFB5B5;--sd-red_45:#FFB5B5;--color-red_60:#FF7C7C;--sd-red_60:#FF7C7C;--color-red_70:#FB4444;--sd-red_70:#FB4444;--color-red_75:#E30000;--sd-red_75:#E30000;--color-red_75_006:#E30000;--sd-red_75_006:#E30000;--color-red_80:#AD0000;--sd-red_80:#AD0000;--color-red_85:#820000;--sd-red_85:#820000;--color-red_90:#5E0000;--sd-red_90:#5E0000;--color-red_95:#440000;--sd-red_95:#440000;--color-red_99:#220000;--sd-red_99:#220000;--color-orange_10:#FEF1EA;--sd-orange_10:#FEF1EA;--color-orange_20:#FFEAD7;--sd-orange_20:#FFEAD7;--color-orange_35:#FFD5AF;--sd-orange_35:#FFD5AF;--color-orange_45:#FFBC81;--sd-orange_45:#FFBC81;--color-orange_55:#FFA452;--sd-orange_55:#FFA452;--color-orange_60:#FF7F22;--sd-orange_60:#FF7F22;--color-orange_65:#FF6B00;--sd-orange_65:#FF6B00;--color-orange_75:#CE4900;--sd-orange_75:#CE4900;--color-orange_85:#9B3700;--sd-orange_85:#9B3700;--color-orange_90:#752A00;--sd-orange_90:#752A00;--color-orange_95:#4D1B00;--sd-orange_95:#4D1B00;--color-orange_99:#2F1100;--sd-orange_99:#2F1100;--color-yellow_10:#FFF7DD;--sd-yellow_10:#FFF7DD;--color-yellow_20:#FEF1C4;--sd-yellow_20:#FEF1C4;--color-yellow_25:#FFE99E;--sd-yellow_25:#FFE99E;--color-yellow_30:#FEE17C;--sd-yellow_30:#FEE17C;--color-yellow_40:#FFD643;--sd-yellow_40:#FFD643;--color-yellow_45:#FFC700;--sd-yellow_45:#FFC700;--color-yellow_50:#EBB110;--sd-yellow_50:#EBB110;--color-yellow_60:#CA9612;--sd-yellow_60:#CA9612;--color-yellow_70:#916C0D;--sd-yellow_70:#916C0D;--color-yellow_80:#6C5002;--sd-yellow_80:#6C5002;--color-yellow_90:#453602;--sd-yellow_90:#453602;--color-yellow_95:#322700;--sd-yellow_95:#322700;--color-olive_10:#FBFBBF;--sd-olive_10:#FBFBBF;--color-olive_15:#FAFAA1;--sd-olive_15:#FAFAA1;--color-olive_20:#F6F65F;--sd-olive_20:#F6F65F;--color-olive_30:#EEEE37;--sd-olive_30:#EEEE37;--color-olive_45:#DDDD12;--sd-olive_45:#DDDD12;--color-olive_55:#C7C700;--sd-olive_55:#C7C700;--color-olive_65:#A5A500;--sd-olive_65:#A5A500;--color-olive_70:#838300;--sd-olive_70:#838300;--color-olive_80:#636300;--sd-olive_80:#636300;--color-olive_90:#454500;--sd-olive_90:#454500;--color-olive_95:#2C2C00;--sd-olive_95:#2C2C00;--color-olive_05:#FEFED9;--sd-olive_05:#FEFED9;--color-green_15:#E8F9EF;--sd-green_15:#E8F9EF;--color-green_25:#D4FAE3;--sd-green_25:#D4FAE3;--color-green_45:#ACF4C9;--sd-green_45:#ACF4C9;--color-green_55:#6DE39C;--sd-green_55:#6DE39C;--color-green_65:#2BCE6C;--sd-green_65:#2BCE6C;--color-green_70:#12B553;--sd-green_70:#12B553;--color-green_75:#00973C;--sd-green_75:#00973C;--color-green_80:#007B31;--sd-green_80:#007B31;--color-green_85:#006629;--sd-green_85:#006629;--color-green_90:#00461C;--sd-green_90:#00461C;--color-green_95:#003013;--sd-green_95:#003013;--color-green_99:#001D0B;--sd-green_99:#001D0B;--color-steelblue_10:#ECF8FD;--sd-steelblue_10:#ECF8FD;--color-steelblue_25:#D9F2FD;--sd-steelblue_25:#D9F2FD;--color-steelblue_45:#A4E2FD;--sd-steelblue_45:#A4E2FD;--color-steelblue_60:#50BFF0;--sd-steelblue_60:#50BFF0;--color-steelblue_65:#229FD7;--sd-steelblue_65:#229FD7;--color-steelblue_70:#128FC7;--sd-steelblue_70:#128FC7;--color-steelblue_75:#066D9B;--sd-steelblue_75:#066D9B;--color-steelblue_80:#06587D;--sd-steelblue_80:#06587D;--color-steelblue_85:#033F59;--sd-steelblue_85:#033F59;--color-steelblue_90:#032D40;--sd-steelblue_90:#032D40;--color-steelblue_95:#02212F;--sd-steelblue_95:#02212F;--color-steelblue_99:#021A25;--sd-steelblue_99:#021A25;--color-oceanblue_15:#EAF5FE;--sd-oceanblue_15:#EAF5FE;--color-oceanblue_25:#D5EBFE;--sd-oceanblue_25:#D5EBFE;--color-oceanblue_50:#9CD1FC;--sd-oceanblue_50:#9CD1FC;--color-oceanblue_60:#5CB0F3;--sd-oceanblue_60:#5CB0F3;--color-oceanblue_65:#1F8AE1;--sd-oceanblue_65:#1F8AE1;--color-oceanblue_70:#006AC1;--sd-oceanblue_70:#006AC1;--color-oceanblue_75:#025497;--sd-oceanblue_75:#025497;--color-oceanblue_80:#004177;--sd-oceanblue_80:#004177;--color-oceanblue_85:#07284A;--sd-oceanblue_85:#07284A;--color-oceanblue_90:#051D36;--sd-oceanblue_90:#051D36;--color-oceanblue_95:#03172D;--sd-oceanblue_95:#03172D;--color-oceanblue_99:#011428;--sd-oceanblue_99:#011428;--color-brilliantblue_10:#EFF6FF;--sd-brilliantblue_10:#EFF6FF;--color-brilliantblue_20:#E6F1FF;--sd-brilliantblue_20:#E6F1FF;--color-brilliantblue_25:#D9EAFF;--sd-brilliantblue_25:#D9EAFF;--color-brilliantblue_40:#BBDAFF;--sd-brilliantblue_40:#BBDAFF;--color-brilliantblue_50:#93C4FF;--sd-brilliantblue_50:#93C4FF;--color-brilliantblue_60:#64ABFF;--sd-brilliantblue_60:#64ABFF;--color-brilliantblue_70:#2D8DFF;--sd-brilliantblue_70:#2D8DFF;--color-brilliantblue_75:#0075FF;--sd-brilliantblue_75:#0075FF;--color-brilliantblue_80:#005CC9;--sd-brilliantblue_80:#005CC9;--color-brilliantblue_85:#004290;--sd-brilliantblue_85:#004290;--color-brilliantblue_90:#002B5E;--sd-brilliantblue_90:#002B5E;--color-brilliantblue_95:#001B39;--sd-brilliantblue_95:#001B39;--color-brilliantblue_99:#001226;--sd-brilliantblue_99:#001226;--color-brilliantblue_05:#F5FAFF;--sd-brilliantblue_05:#F5FAFF;--sd-system-typography-control-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-default-font-size:12px;--sd-system-typography-control-xs-default-font-weight:400;--sd-system-typography-control-xs-default-text-decoration:none;--sd-system-typography-control-xs-default-line-height:20px;--sd-system-typography-control-xs-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-medium-font-size:12px;--sd-system-typography-control-xs-medium-font-weight:500;--sd-system-typography-control-xs-medium-text-decoration:none;--sd-system-typography-control-xs-medium-line-height:20px;--sd-system-typography-control-xs-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-underline-font-size:12px;--sd-system-typography-control-xs-underline-font-weight:500;--sd-system-typography-control-xs-underline-text-decoration:underline;--sd-system-typography-control-xs-underline-line-height:20px;--sd-system-typography-control-xs-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-bold-font-weight:700;--sd-system-typography-control-xs-bold-font-size:12px;--sd-system-typography-control-xs-bold-line-height:20px;--sd-system-typography-control-xs-bold-text-decoration:none;--sd-system-typography-control-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-default-font-size:14px;--sd-system-typography-control-sm-default-font-weight:500;--sd-system-typography-control-sm-default-text-decoration:none;--sd-system-typography-control-sm-default-line-height:24px;--sd-system-typography-control-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-underline-font-size:14px;--sd-system-typography-control-sm-underline-font-weight:500;--sd-system-typography-control-sm-underline-text-decoration:underline;--sd-system-typography-control-sm-underline-line-height:24px;--sd-system-typography-control-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-default-font-size:16px;--sd-system-typography-control-md-default-font-weight:500;--sd-system-typography-control-md-default-text-decoration:none;--sd-system-typography-control-md-default-line-height:26px;--sd-system-typography-control-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-underline-font-size:16px;--sd-system-typography-control-md-underline-font-weight:500;--sd-system-typography-control-md-underline-text-decoration:underline;--sd-system-typography-control-md-underline-line-height:26px;--sd-system-typography-control-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-lg-font-size:18px;--sd-system-typography-control-lg-font-weight:500;--sd-system-typography-control-lg-text-decoration:none;--sd-system-typography-control-lg-line-height:30px;--sd-system-typography-feedback-xs-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-xs-font-size:11px;--sd-system-typography-feedback-xs-font-weight:500;--sd-system-typography-feedback-xs-line-height:18px;--sd-system-typography-feedback-xs-text-decoration:none;--sd-system-typography-feedback-sm-regular-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-regular-font-size:12px;--sd-system-typography-feedback-sm-regular-font-weight:400;--sd-system-typography-feedback-sm-regular-line-height:20px;--sd-system-typography-feedback-sm-regular-text-decoration:none;--sd-system-typography-feedback-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-medium-font-size:12px;--sd-system-typography-feedback-sm-medium-font-weight:500;--sd-system-typography-feedback-sm-medium-line-height:20px;--sd-system-typography-feedback-sm-medium-text-decoration:none;--sd-system-typography-feedback-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-bold-font-size:12px;--sd-system-typography-feedback-sm-bold-font-weight:700;--sd-system-typography-feedback-sm-bold-text-decoration:none;--sd-system-typography-feedback-sm-bold-line-height:20px;--sd-system-typography-feedback-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-underline-font-size:12px;--sd-system-typography-feedback-sm-underline-font-weight:500;--sd-system-typography-feedback-sm-underline-line-height:20px;--sd-system-typography-feedback-sm-underline-text-decoration:underline;--sd-system-typography-feedback-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-bold-font-size:14px;--sd-system-typography-feedback-md-bold-font-weight:700;--sd-system-typography-feedback-md-bold-line-height:24px;--sd-system-typography-feedback-md-bold-text-decoration:none;--sd-system-typography-feedback-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-medium-font-size:14px;--sd-system-typography-feedback-md-medium-font-weight:500;--sd-system-typography-feedback-md-medium-line-height:24px;--sd-system-typography-feedback-md-medium-text-decoration:none;--sd-system-typography-feedback-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-underline-font-size:14px;--sd-system-typography-feedback-md-underline-font-weight:700;--sd-system-typography-feedback-md-underline-line-height:24px;--sd-system-typography-feedback-md-underline-text-decoration:underline;--sd-system-typography-heading-sm-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-sm-font-weight:700;--sd-system-typography-heading-sm-font-size:14px;--sd-system-typography-heading-sm-line-height:24px;--sd-system-typography-heading-sm-text-decoration:none;--sd-system-typography-heading-md-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-md-font-weight:700;--sd-system-typography-heading-md-font-size:16px;--sd-system-typography-heading-md-text-decoration:none;--sd-system-typography-heading-md-line-height:26px;--sd-system-typography-heading-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-lg-font-weight:700;--sd-system-typography-heading-lg-font-size:18px;--sd-system-typography-heading-lg-line-height:30px;--sd-system-typography-heading-lg-text-decoration:none;--sd-system-typography-field-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-xs-default-font-weight:400;--sd-system-typography-field-xs-default-font-size:11px;--sd-system-typography-field-xs-default-line-height:18px;--sd-system-typography-field-xs-default-text-decoration:none;--sd-system-typography-field-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-default-font-weight:400;--sd-system-typography-field-sm-default-font-size:12px;--sd-system-typography-field-sm-default-line-height:20px;--sd-system-typography-field-sm-default-text-decoration:none;--sd-system-typography-field-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-medium-font-weight:500;--sd-system-typography-field-sm-medium-font-size:12px;--sd-system-typography-field-sm-medium-text-decoration:none;--sd-system-typography-field-sm-medium-line-height:20px;--sd-system-typography-field-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-bold-font-weight:700;--sd-system-typography-field-sm-bold-font-size:12px;--sd-system-typography-field-sm-bold-text-decoration:none;--sd-system-typography-field-sm-bold-line-height:20px;--sd-system-typography-field-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-default-font-weight:400;--sd-system-typography-field-md-default-font-size:14px;--sd-system-typography-field-md-default-text-decoration:none;--sd-system-typography-field-md-default-line-height:24px;--sd-system-typography-field-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-medium-font-weight:500;--sd-system-typography-field-md-medium-font-size:14px;--sd-system-typography-field-md-medium-text-decoration:none;--sd-system-typography-field-md-medium-line-height:24px;--sd-system-typography-field-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-bold-font-weight:700;--sd-system-typography-field-md-bold-font-size:14px;--sd-system-typography-field-md-bold-text-decoration:none;--sd-system-typography-field-md-bold-line-height:24px;--sd-system-typography-field-lg-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-default-font-weight:400;--sd-system-typography-field-lg-default-font-size:16px;--sd-system-typography-field-lg-default-line-height:26px;--sd-system-typography-field-lg-default-text-decoration:none;--sd-system-typography-field-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-medium-font-weight:500;--sd-system-typography-field-lg-medium-font-size:16px;--sd-system-typography-field-lg-medium-line-height:26px;--sd-system-typography-field-lg-medium-text-decoration:none;--sd-system-typography-field-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-bold-font-weight:700;--sd-system-typography-field-lg-bold-font-size:16px;--sd-system-typography-field-lg-bold-line-height:26px;--sd-system-typography-field-lg-bold-text-decoration:none;--sd-system-typography-navigation-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-default-font-weight:400;--sd-system-typography-navigation-sm-default-font-size:12px;--sd-system-typography-navigation-sm-default-line-height:20px;--sd-system-typography-navigation-sm-default-text-decoration:none;--sd-system-typography-navigation-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-medium-font-weight:500;--sd-system-typography-navigation-sm-medium-font-size:12px;--sd-system-typography-navigation-sm-medium-line-height:20px;--sd-system-typography-navigation-sm-medium-text-decoration:none;--sd-system-typography-navigation-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-bold-font-weight:700;--sd-system-typography-navigation-sm-bold-font-size:12px;--sd-system-typography-navigation-sm-bold-line-height:20px;--sd-system-typography-navigation-sm-bold-text-decoration:none;--sd-system-typography-navigation-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-md-bold-font-weight:700;--sd-system-typography-navigation-md-bold-font-size:13px;--sd-system-typography-navigation-md-bold-line-height:22px;--sd-system-typography-navigation-md-bold-text-decoration:none;--sd-system-typography-navigation-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-medium-font-weight:500;--sd-system-typography-navigation-lg-medium-font-size:14px;--sd-system-typography-navigation-lg-medium-line-height:24px;--sd-system-typography-navigation-lg-medium-text-decoration:none;--sd-system-typography-navigation-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-bold-font-weight:700;--sd-system-typography-navigation-lg-bold-font-size:14px;--sd-system-typography-navigation-lg-bold-line-height:24px;--sd-system-typography-navigation-lg-bold-text-decoration:none;--sd-system-typography-table-header-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-header-font-weight:500;--sd-system-typography-table-header-font-size:12px;--sd-system-typography-table-header-line-height:20px;--sd-system-typography-table-header-text-decoration:none;--sd-system-typography-table-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-body-font-weight:400;--sd-system-typography-table-body-font-size:12px;--sd-system-typography-table-body-line-height:20px;--sd-system-typography-table-body-text-decoration:none;--sd-system-typography-table-accent-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-accent-font-weight:700;--sd-system-typography-table-accent-font-size:12px;--sd-system-typography-table-accent-line-height:20px;--sd-system-typography-table-accent-text-decoration:none;--sd-system-size-control-xs-height:24px;--sd-system-size-control-sm-height:28px;--sd-system-size-control-md-height:36px;--sd-system-size-control-lg-height:62px;--sd-system-size-icon-xxxs:8px;--sd-system-size-icon-xxs:10px;--sd-system-size-icon-xs:12px;--sd-system-size-icon-sm:16px;--sd-system-size-icon-md:20px;--sd-system-size-icon-lg:24px;--sd-system-size-icon-xl:32px;--sd-system-size-feedback-arrow-width:16px;--sd-system-size-feedback-arrow-height:12px;--sd-system-size-feedback-xs-height:20px;--sd-system-size-feedback-sm-height:24px;--sd-system-size-feedback-md-height:28px;--sd-system-size-field-control:16px;--sd-system-size-field-icon:12px;--sd-system-size-field-sm-height:28px;--sd-system-size-field-md-height:36px;--sd-system-size-navigation-lg-height:44px;--sd-system-size-navigation-md-height:36px;--sd-system-size-navigation-gnb-topbar-height:56px;--sd-system-size-table-height-xs:32px;--sd-system-size-table-height-sm:36px;--sd-system-size-table-height-md:44px;--sd-system-space-control-xs-padding-x:8px;--sd-system-space-control-xs-gap:4px;--sd-system-space-control-sm-padding-x:12px;--sd-system-space-control-sm-gap:6px;--sd-system-space-control-md-padding-x:20px;--sd-system-space-control-md-gap:8px;--sd-system-space-control-lg-padding-x:28px;--sd-system-space-control-lg-gap:12px;--sd-system-space-feedback-xs-padding-x:6px;--sd-system-space-feedback-xs-gap:4px;--sd-system-space-feedback-sm-padding-x:8px;--sd-system-space-feedback-sm-gap:6px;--sd-system-space-feedback-md-padding-x:12px;--sd-system-space-feedback-md-gap:8px;--sd-system-space-feedback-lg-padding-x:16px;--sd-system-space-feedback-lg-gap:12px;--sd-system-space-stack-gap-tight:2px;--sd-system-space-stack-gap-normal:4px;--sd-system-space-stack-gap-relaxed:8px;--sd-system-space-field-sm-padding-x:12px;--sd-system-space-field-sm-padding-y:4px;--sd-system-space-field-sm-container-gap:8px;--sd-system-space-field-sm-gap:12px;--sd-system-space-field-md-padding-x:16px;--sd-system-space-field-md-padding-y:8px;--sd-system-space-field-md-container-gap:12px;--sd-system-space-field-md-gap:16px;--sd-system-space-navigation-lg-padding-x:32px;--sd-system-space-navigation-md-padding-x:24px;--sd-system-space-table-padding-sm:8px;--sd-system-space-table-padding-md:16px;--sd-system-space-action-gap:16px;--sd-system-space-overlay-padding-x-sm:20px;--sd-system-space-overlay-padding-x-md:24px;--sd-system-space-overlay-padding-y-sm:8px;--sd-system-space-panel-gap:12px;--sd-system-radius-control-sm:4px;--sd-system-radius-control-md:6px;--sd-system-radius-feedback-xs-square:6px;--sd-system-radius-feedback-sm-square:8px;--sd-system-radius-feedback-pill:9999px;--sd-system-radius-field-sm:4px;--sd-system-radius-field-md:6px;--sd-system-radius-navigation:6px;--sd-system-border-width-control-default:1px;--sd-system-border-width-field-default:1px;--sd-system-border-width-navigation-default:1px;--sd-system-color-bg-screen:#EEEEEE;--sd-system-color-bg-frame:#FFFFFF;--sd-system-color-bg-brand:#025497;--sd-system-color-bg-subtle:#1F8AE1;--sd-system-color-bg-accent-default:#0075FF;--sd-system-color-bg-accent-light:#F5FAFF;--sd-system-color-bg-accent-light-default:#2D8DFF;--sd-system-color-bg-accent-light-light:#F5FAFF;--sd-system-color-bg-accent-bright-default:#D9EAFF;--sd-system-color-bg-accent-bright-light:#F5FAFF;--sd-system-color-bg-deep:#07284A;--sd-system-color-bg-danger-default:#E30000;--sd-system-color-bg-danger-light:#FCEFEF;--sd-system-color-bg-danger-light-default:#FB4444;--sd-system-color-bg-danger-light-light:#FCEFEF;--sd-system-color-bg-warning:#FF6B00;--sd-system-color-bg-caution:#FFC700;--sd-system-color-bg-progress:#0075FF;--sd-system-color-bg-success-default:#00973C;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-neutral-light:#F6F6F6;--sd-system-color-bg-table-header:#F5FAFF;--sd-system-color-fg-primary:#222222;--sd-system-color-fg-secondary:#555555;--sd-system-color-fg-tertiary:#888888;--sd-system-color-fg-quaternary:#AAAAAA;--sd-system-color-fg-brand:#005CC9;--sd-system-color-fg-subtle-warm:#066D9B;--sd-system-color-fg-subtle-cool:#025497;--sd-system-color-fg-deep:#004290;--sd-system-color-fg-success:#00973C;--sd-system-color-fg-danger-light:#FB4444;--sd-system-color-fg-accent:#0075FF;--sd-system-color-fg-danger:#E30000;--sd-system-color-fg-warning:#FF6B00;--sd-system-color-fg-inverse:#FFFFFF;--sd-system-color-disabled-bg:#E1E1E1;--sd-system-color-disabled-text:#888888;--sd-system-color-disabled-icon:#BBBBBB;--sd-system-color-disabled-border:#CCCCCC;--sd-system-color-link-accent:#006AC1;--sd-system-color-divider-default:#E1E1E1;--sd-system-color-border-default:#E1E1E1;--sd-system-color-border-accent:#0075FF;--sd-system-color-border-accent-light:#93C4FF;--sd-system-color-border-danger:#FB4444;--sd-system-color-border-success:#12B553;--sd-system-color-red-strong:#FB4444;--sd-system-color-red-subtle:#FCEFEF;--sd-system-color-orange-strong:#FF6B00;--sd-system-color-orange-subtle:#FEF1EA;--sd-system-color-yellow-strong:#916C0D;--sd-system-color-yellow-moderate:#FFC700;--sd-system-color-yellow-subtle:#FFF7DD;--sd-system-color-green-strong:#00973C;--sd-system-color-green-subtle:#E8F9EF;--sd-system-color-blue-strong:#0075FF;--sd-system-color-blue-subtle:#E6F1FF;--sd-system-color-darkblue-strong:#006AC1;--sd-system-color-darkblue-subtle:#EAF5FE;--sd-system-color-indigo-strong:#004290;--sd-system-color-indigo-subtle:#EFF6FF;--sd-system-color-grey-strong:#737373;--sd-system-color-grey-subtle:#EEEEEE;--sd-system-color-field-bg-default:#FFFFFF;--sd-system-color-field-bg-hover:#0075FF;--sd-system-color-field-bg-read-only:#EEEEEE;--sd-system-color-field-border-default:#AAAAAA;--sd-system-color-field-border-focus:#0075FF;--sd-system-color-field-border-hover:#0075FF;--sd-system-color-field-border-danger:#FB4444;--sd-system-color-field-border-success:#12B553;--sd-system-color-field-text-default:#222222;--sd-system-color-field-text-placeholder:#AAAAAA;--sd-system-color-field-text-read-only:#555555;--sd-system-color-field-icon-default:#888888;--sd-system-color-control-bg-inverse-hover:#0075FF;--sd-system-color-navigation-gnb-bg-dark:#001B39;--sd-system-shadow-spread-sm-x:0px;--sd-system-shadow-spread-sm-y:0px;--sd-system-shadow-spread-sm-blur:8px;--sd-system-shadow-spread-sm-spread:0px;--sd-system-shadow-spread-sm-color:rgba(34,34,34,0.1);--sd-system-shadow-spread-sm-type:dropShadow;--sd-system-shadow-spread-md-x:0px;--sd-system-shadow-spread-md-y:0px;--sd-system-shadow-spread-md-blur:24px;--sd-system-shadow-spread-md-spread:0px;--sd-system-shadow-spread-md-color:rgba(34,34,34,0.2);--sd-system-shadow-spread-md-type:dropShadow;--sd-system-shadow-focus-x:0px;--sd-system-shadow-focus-y:0px;--sd-system-shadow-focus-blur:8px;--sd-system-shadow-focus-spread:0px;--sd-system-shadow-focus-color:rgba(0,117,255,0.25);--sd-system-shadow-focus-type:dropShadow;--sd-button-button-xs-height:24px;--sd-button-button-xs-padding-x:8px;--sd-button-button-xs-gap:4px;--sd-button-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-xs-typography-font-size:12px;--sd-button-button-xs-typography-font-weight:500;--sd-button-button-xs-typography-text-decoration:none;--sd-button-button-xs-typography-line-height:20px;--sd-button-button-xs-icon:12px;--sd-button-button-sm-height:28px;--sd-button-button-sm-padding-x:12px;--sd-button-button-sm-gap:6px;--sd-button-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-sm-typography-font-size:12px;--sd-button-button-sm-typography-font-weight:500;--sd-button-button-sm-typography-text-decoration:none;--sd-button-button-sm-typography-line-height:20px;--sd-button-button-sm-icon:16px;--sd-button-button-md-height:36px;--sd-button-button-md-padding-x:20px;--sd-button-button-md-gap:8px;--sd-button-button-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-md-typography-font-size:16px;--sd-button-button-md-typography-font-weight:500;--sd-button-button-md-typography-text-decoration:none;--sd-button-button-md-typography-line-height:26px;--sd-button-button-md-icon:20px;--sd-button-button-lg-height:62px;--sd-button-button-lg-padding-x:28px;--sd-button-button-lg-gap:12px;--sd-button-button-lg-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-lg-typography-font-size:18px;--sd-button-button-lg-typography-font-weight:500;--sd-button-button-lg-typography-text-decoration:none;--sd-button-button-lg-typography-line-height:30px;--sd-button-button-lg-icon:24px;--sd-button-button-radius-sm:4px;--sd-button-button-radius-md:6px;--sd-button-button-border-width-default:1px;--sd-button-button-border-disabled:#CCCCCC;--sd-button-button-icon-only-xs-width:24px;--sd-button-button-icon-only-sm-width:28px;--sd-button-button-icon-only-md-width:36px;--sd-button-button-icon-only-lg-width:62px;--sd-button-button-bg-disabled:#E1E1E1;--sd-button-button-text-disabled:#888888;--sd-button-button-icon-disabled:#BBBBBB;--sd-button-button-brand-strong-bg-default:#025497;--sd-button-button-brand-strong-bg-hover:#004177;--sd-button-button-brand-strong-content:#FFFFFF;--sd-button-button-brand-subtle-bg-default:#1F8AE1;--sd-button-button-brand-subtle-bg-hover:#006AC1;--sd-button-button-brand-subtle-content:#FFFFFF;--sd-button-button-brand-outline-bg-default:#FFFFFF;--sd-button-button-brand-outline-bg-hover:#EAF5FE;--sd-button-button-brand-outline-border:#025497;--sd-button-button-brand-outline-content:#025497;--sd-button-button-dropdown-brand-strong-split:#006AC1;--sd-button-button-dropdown-brand-subtle-split:#5CB0F3;--sd-button-button-dropdown-danger-strong-split:#FF7C7C;--sd-button-button-dropdown-xs-arrow:12px;--sd-button-button-dropdown-xs-gap:6px;--sd-button-button-dropdown-sm-arrow:12px;--sd-button-button-dropdown-sm-gap:8px;--sd-button-button-dropdown-md-arrow:16px;--sd-button-button-dropdown-md-gap:16px;--sd-button-button-neutral-outline-bg-default:#FFFFFF;--sd-button-button-neutral-outline-bg-hover:#EEEEEE;--sd-button-button-neutral-outline-border:#888888;--sd-button-button-neutral-outline-text:#222222;--sd-button-button-neutral-outline-icon:#555555;--sd-button-button-danger-strong-bg-default:#E30000;--sd-button-button-danger-strong-bg-hover:#AD0000;--sd-button-button-danger-strong-content:#FFFFFF;--sd-button-button-danger-outline-bg-default:#FFFFFF;--sd-button-button-danger-outline-bg-hover:#FCEFEF;--sd-button-button-danger-outline-border:#E30000;--sd-button-button-danger-outline-content:#E30000;--sd-ghost-button-ghost-button-xxs-size:16px;--sd-ghost-button-ghost-button-xxs-icon:12px;--sd-ghost-button-ghost-button-xs-size:24px;--sd-ghost-button-ghost-button-xs-icon:16px;--sd-ghost-button-ghost-button-sm-size:28px;--sd-ghost-button-ghost-button-sm-icon:20px;--sd-ghost-button-ghost-button-md-size:36px;--sd-ghost-button-ghost-button-md-icon:24px;--sd-ghost-button-ghost-button-lg-size:62px;--sd-ghost-button-ghost-button-lg-icon:32px;--sd-ghost-button-ghost-button-radius-sm:4px;--sd-ghost-button-ghost-button-radius-md:6px;--sd-ghost-button-ghost-button-hover-opacity:5%;--sd-ghost-button-ghost-button-icon-disabled:#BBBBBB;--sd-ghost-button-ghost-button-default-content:#888888;--sd-ghost-button-ghost-button-default-hover-bg:#222222;--sd-ghost-button-ghost-button-danger-content:#E30000;--sd-ghost-button-ghost-button-danger-hover-bg:#E30000;--sd-ghost-button-ghost-button-action-content:#025497;--sd-ghost-button-ghost-button-action-hover-bg:#0075FF;--sd-ghost-button-ghost-button-inverse-content:#FFFFFF;--sd-ghost-button-ghost-button-inverse-disabled:#E1E1E1;--sd-ghost-button-ghost-button-inverse-hover-bg:#FFFFFF;--sd-text-link-text-link-sm-gap:4px;--sd-text-link-text-link-sm-icon:16px;--sd-text-link-text-link-sm-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-default-font-size:12px;--sd-text-link-text-link-sm-typography-default-font-weight:500;--sd-text-link-text-link-sm-typography-default-text-decoration:none;--sd-text-link-text-link-sm-typography-default-line-height:20px;--sd-text-link-text-link-sm-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-underline-font-size:12px;--sd-text-link-text-link-sm-typography-underline-font-weight:500;--sd-text-link-text-link-sm-typography-underline-text-decoration:underline;--sd-text-link-text-link-sm-typography-underline-line-height:20px;--sd-text-link-text-link-md-gap:8px;--sd-text-link-text-link-md-icon:16px;--sd-text-link-text-link-md-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-default-font-size:14px;--sd-text-link-text-link-md-typography-default-font-weight:500;--sd-text-link-text-link-md-typography-default-text-decoration:none;--sd-text-link-text-link-md-typography-default-line-height:24px;--sd-text-link-text-link-md-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-underline-font-size:14px;--sd-text-link-text-link-md-typography-underline-font-weight:500;--sd-text-link-text-link-md-typography-underline-text-decoration:underline;--sd-text-link-text-link-md-typography-underline-line-height:24px;--sd-text-link-text-link-content-default:#222222;--sd-text-link-text-link-content-disabled:#888888;--sd-text-link-text-link-icon-default:#006AC1;--sd-text-link-text-link-icon-disabled:#BBBBBB;--sd-text-link-text-link-lg-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-default-font-size:16px;--sd-text-link-text-link-lg-typography-default-font-weight:500;--sd-text-link-text-link-lg-typography-default-text-decoration:none;--sd-text-link-text-link-lg-typography-default-line-height:26px;--sd-text-link-text-link-lg-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-underline-font-size:16px;--sd-text-link-text-link-lg-typography-underline-font-weight:500;--sd-text-link-text-link-lg-typography-underline-text-decoration:underline;--sd-text-link-text-link-lg-typography-underline-line-height:26px;--sd-text-link-text-link-lg-gap:8px;--sd-text-link-text-link-lg-icon:20px;--sd-switch-switch-width:32px;--sd-switch-switch-height:20px;--sd-switch-switch-padding-x-y:2px;--sd-switch-switch-radius:9999px;--sd-switch-switch-knob-size:16px;--sd-switch-switch-knob-default:#FFFFFF;--sd-switch-switch-knob-disabled:#EEEEEE;--sd-switch-switch-bg-on:#0075FF;--sd-switch-switch-bg-off:#CCCCCC;--sd-switch-switch-bg-disabled-on:#BBDAFF;--sd-switch-switch-bg-disabled-off:#E1E1E1;--sd-switch-switch-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-switch-switch-label-typography-font-weight:500;--sd-switch-switch-label-typography-font-size:12px;--sd-switch-switch-label-typography-text-decoration:none;--sd-switch-switch-label-typography-line-height:20px;--sd-switch-switch-gap:6px;--sd-toggle-toggle-height:28px;--sd-toggle-toggle-padding-x:12px;--sd-toggle-toggle-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toggle-toggle-typography-font-size:14px;--sd-toggle-toggle-typography-font-weight:500;--sd-toggle-toggle-typography-text-decoration:none;--sd-toggle-toggle-typography-line-height:24px;--sd-toggle-toggle-radius:9999px;--sd-toggle-toggle-border-width:1px;--sd-toggle-toggle-border-default:#CCCCCC;--sd-toggle-toggle-border-select:#0075FF;--sd-toggle-toggle-border-disabled:#CCCCCC;--sd-toggle-toggle-bg-default:#FFFFFF;--sd-toggle-toggle-bg-hover:#0075FF;--sd-toggle-toggle-bg-select:#FFFFFF;--sd-toggle-toggle-bg-disabled:#E1E1E1;--sd-toggle-toggle-content-default:#555555;--sd-toggle-toggle-content-hover:#FFFFFF;--sd-toggle-toggle-content-select:#0075FF;--sd-toggle-toggle-content-disabled:#888888;--sd-checkbox-checkbox-size:16px;--sd-checkbox-checkbox-radius:2px;--sd-checkbox-checkbox-border-width:1px;--sd-checkbox-checkbox-gap:8px;--sd-checkbox-checkbox-icon:12px;--sd-checkbox-checkbox-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-checkbox-checkbox-typography-font-weight:400;--sd-checkbox-checkbox-typography-font-size:12px;--sd-checkbox-checkbox-typography-line-height:20px;--sd-checkbox-checkbox-typography-text-decoration:none;--sd-checkbox-checkbox-unchecked-bg-default:#FFFFFF;--sd-checkbox-checkbox-unchecked-bg-hover:#D9EAFF;--sd-checkbox-checkbox-unchecked-border-default:#AAAAAA;--sd-checkbox-checkbox-unchecked-border-hover:#0075FF;--sd-checkbox-checkbox-checked-bg-default:#0075FF;--sd-checkbox-checkbox-checked-icon-default:#FFFFFF;--sd-checkbox-checkbox-checked-icon-disabled:#BBBBBB;--sd-checkbox-checkbox-checked-icon-inverse:#FFFFFF;--sd-checkbox-checkbox-checked-border-inverse:#FFFFFF;--sd-checkbox-checkbox-label-default:#222222;--sd-checkbox-checkbox-label-inverse:#FFFFFF;--sd-checkbox-checkbox-bg-disabled:#E1E1E1;--sd-checkbox-checkbox-border-disabled:#CCCCCC;--sd-radio-radio-size:16px;--sd-radio-radio-radius:9999px;--sd-radio-radio-border-width:1px;--sd-radio-radio-gap:8px;--sd-radio-radio-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-default-font-weight:400;--sd-radio-radio-typography-default-font-size:12px;--sd-radio-radio-typography-default-line-height:20px;--sd-radio-radio-typography-default-text-decoration:none;--sd-radio-radio-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-selected-font-weight:500;--sd-radio-radio-typography-selected-font-size:12px;--sd-radio-radio-typography-selected-text-decoration:none;--sd-radio-radio-typography-selected-line-height:20px;--sd-radio-radio-bg-default:#FFFFFF;--sd-radio-radio-bg-disabled:#E1E1E1;--sd-radio-radio-bg-hover:#D9EAFF;--sd-radio-radio-border-default:#AAAAAA;--sd-radio-radio-border-hover:#0075FF;--sd-radio-radio-border-active:#0075FF;--sd-radio-radio-border-disabled:#CCCCCC;--sd-radio-radio-dot-default:#0075FF;--sd-radio-radio-dot-disabled:#CCCCCC;--sd-radio-radio-dot-size:10px;--sd-radio-radio-label-default:#222222;--sd-radio-radio-label-disabled:#888888;--sd-radio-button-radio-button-xs-height:24px;--sd-radio-button-radio-button-xs-padding-x:8px;--sd-radio-button-radio-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-xs-typography-font-size:12px;--sd-radio-button-radio-button-xs-typography-font-weight:500;--sd-radio-button-radio-button-xs-typography-text-decoration:none;--sd-radio-button-radio-button-xs-typography-line-height:20px;--sd-radio-button-radio-button-sm-height:28px;--sd-radio-button-radio-button-sm-padding-x:12px;--sd-radio-button-radio-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-sm-typography-font-size:12px;--sd-radio-button-radio-button-sm-typography-font-weight:500;--sd-radio-button-radio-button-sm-typography-text-decoration:none;--sd-radio-button-radio-button-sm-typography-line-height:20px;--sd-radio-button-radio-button-radius:4px;--sd-radio-button-radio-button-border-width:1px;--sd-radio-button-radio-button-border-default:#CCCCCC;--sd-radio-button-radio-button-border-select:#0075FF;--sd-radio-button-radio-button-border-disabled:#CCCCCC;--sd-radio-button-radio-button-bg-default:#FFFFFF;--sd-radio-button-radio-button-bg-hover:#0075FF;--sd-radio-button-radio-button-bg-select:#FFFFFF;--sd-radio-button-radio-button-bg-disabled:#E1E1E1;--sd-radio-button-radio-button-content-default:#555555;--sd-radio-button-radio-button-content-hover:#FFFFFF;--sd-radio-button-radio-button-content-select:#0075FF;--sd-radio-button-radio-button-content-disabled:#888888;--sd-radio-button-radio-button-group-gap:-1px;--sd-list-item-list-item-padding-y:4px;--sd-list-item-list-item-padding-right:12px;--sd-list-item-list-item-gap:8px;--sd-list-item-list-item-padding-left-depth1:12px;--sd-list-item-list-item-padding-left-depth2:20px;--sd-list-item-list-item-padding-left-depth3:28px;--sd-list-item-list-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-default-font-weight:400;--sd-list-item-list-item-typography-default-font-size:12px;--sd-list-item-list-item-typography-default-line-height:20px;--sd-list-item-list-item-typography-default-text-decoration:none;--sd-list-item-list-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-selected-font-weight:700;--sd-list-item-list-item-typography-selected-font-size:12px;--sd-list-item-list-item-typography-selected-text-decoration:none;--sd-list-item-list-item-typography-selected-line-height:20px;--sd-list-item-list-item-bg-default:#FFFFFF;--sd-list-item-list-item-bg-hover:#0075FF;--sd-list-item-list-item-content-default:#222222;--sd-list-item-list-item-content-hover:#FFFFFF;--sd-list-item-list-item-content-disabled:#888888;--sd-list-item-list-item-content-selected:#0075FF;--sd-list-item-list-item-indeterminate-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-indeterminate-typography-font-weight:700;--sd-list-item-list-item-indeterminate-typography-font-size:12px;--sd-list-item-list-item-indeterminate-typography-text-decoration:none;--sd-list-item-list-item-indeterminate-typography-line-height:20px;--sd-list-item-list-item-depth1-bg-default:#EFF6FF;--sd-list-item-list-item-depth1-bg-disabled:#EEEEEE;--sd-list-item-list-item-depth1-border-color:#E1E1E1;--sd-list-item-list-item-depth1-border-width:1px;--sd-list-item-list-item-depth1-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth1-title-typography-font-weight:700;--sd-list-item-list-item-depth1-title-typography-font-size:12px;--sd-list-item-list-item-depth1-title-typography-text-decoration:none;--sd-list-item-list-item-depth1-title-typography-line-height:20px;--sd-list-item-list-item-depth2-middle-bg:#F6F6F6;--sd-list-item-list-item-depth2-middle-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth2-middle-title-typography-font-weight:500;--sd-list-item-list-item-depth2-middle-title-typography-font-size:12px;--sd-list-item-list-item-depth2-middle-title-typography-text-decoration:none;--sd-list-item-list-item-depth2-middle-title-typography-line-height:20px;--sd-list-item-list-item-count-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-count-typography-font-weight:500;--sd-list-item-list-item-count-typography-font-size:12px;--sd-list-item-list-item-count-typography-text-decoration:none;--sd-list-item-list-item-count-typography-line-height:20px;--sd-list-item-list-item-count-color:#888888;--sd-list-box-list-box-radius:4px;--sd-list-box-list-box-bg:#FFFFFF;--sd-list-box-list-box-chip-padding-x-y:8px;--sd-list-box-list-box-chip-gap:8px;--sd-select-select-sm-height:28px;--sd-select-select-sm-radius:4px;--sd-select-select-sm-border-width:1px;--sd-select-select-sm-padding-x:12px;--sd-select-select-sm-gap:8px;--sd-select-select-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-sm-typography-font-weight:400;--sd-select-select-sm-typography-font-size:12px;--sd-select-select-sm-typography-line-height:20px;--sd-select-select-sm-typography-text-decoration:none;--sd-select-select-sm-icon:16px;--sd-select-select-md-height:36px;--sd-select-select-md-radius:6px;--sd-select-select-md-border-width:1px;--sd-select-select-md-padding-x:16px;--sd-select-select-md-gap:12px;--sd-select-select-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-md-typography-font-weight:400;--sd-select-select-md-typography-font-size:14px;--sd-select-select-md-typography-text-decoration:none;--sd-select-select-md-typography-line-height:24px;--sd-select-select-md-icon:16px;--sd-select-select-icon-default:#888888;--sd-select-select-icon-disabled:#BBBBBB;--sd-select-select-border-default:#AAAAAA;--sd-select-select-border-hover:#0075FF;--sd-select-select-border-danger:#FB4444;--sd-select-select-border-disabled:#CCCCCC;--sd-select-select-bg-default:#FFFFFF;--sd-select-select-bg-disabled:#E1E1E1;--sd-select-select-text-default:#222222;--sd-select-select-text-disabled:#888888;--sd-field-field-label-sm-height:28px;--sd-field-field-label-sm-gap:6px;--sd-field-field-label-sm-icon:12px;--sd-field-field-label-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-sm-typography-font-weight:700;--sd-field-field-label-sm-typography-font-size:12px;--sd-field-field-label-sm-typography-text-decoration:none;--sd-field-field-label-sm-typography-line-height:20px;--sd-field-field-label-md-height:36px;--sd-field-field-label-md-gap:8px;--sd-field-field-label-md-icon:12px;--sd-field-field-label-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-md-typography-font-weight:700;--sd-field-field-label-md-typography-font-size:14px;--sd-field-field-label-md-typography-text-decoration:none;--sd-field-field-label-md-typography-line-height:24px;--sd-field-field-addon-label-height:28px;--sd-field-field-addon-label-gap:6px;--sd-field-field-addon-label-padding-x:12px;--sd-field-field-addon-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-addon-label-typography-font-weight:500;--sd-field-field-addon-label-typography-font-size:12px;--sd-field-field-addon-label-typography-text-decoration:none;--sd-field-field-addon-label-typography-line-height:20px;--sd-field-field-addon-label-bg:#F6F6F6;--sd-field-field-addon-label-border-default:#AAAAAA;--sd-field-field-addon-label-border-disabled:#CCCCCC;--sd-field-field-addon-label-border-width:1px;--sd-field-field-hint-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-hint-typography-font-weight:400;--sd-field-field-hint-typography-font-size:12px;--sd-field-field-hint-typography-line-height:20px;--sd-field-field-hint-typography-text-decoration:none;--sd-field-field-hint-color:#555555;--sd-field-field-error-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-error-message-typography-font-weight:400;--sd-field-field-error-message-typography-font-size:12px;--sd-field-field-error-message-typography-line-height:20px;--sd-field-field-error-message-typography-text-decoration:none;--sd-field-field-error-message-color:#E30000;--sd-field-field-contents-gap:4px;--sd-textinput-textinput-sm-height:28px;--sd-textinput-textinput-sm-padding-x:12px;--sd-textinput-textinput-sm-padding-y:4px;--sd-textinput-textinput-sm-gap:8px;--sd-textinput-textinput-sm-radius:4px;--sd-textinput-textinput-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-sm-typography-font-weight:400;--sd-textinput-textinput-sm-typography-font-size:12px;--sd-textinput-textinput-sm-typography-line-height:20px;--sd-textinput-textinput-sm-typography-text-decoration:none;--sd-textinput-textinput-md-padding-x:16px;--sd-textinput-textinput-md-padding-y:8px;--sd-textinput-textinput-md-height:36px;--sd-textinput-textinput-md-gap:12px;--sd-textinput-textinput-md-radius:6px;--sd-textinput-textinput-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-md-typography-font-weight:400;--sd-textinput-textinput-md-typography-font-size:14px;--sd-textinput-textinput-md-typography-text-decoration:none;--sd-textinput-textinput-md-typography-line-height:24px;--sd-textinput-textinput-border-width:1px;--sd-textinput-textinput-border-default:#AAAAAA;--sd-textinput-textinput-border-focus:#0075FF;--sd-textinput-textinput-border-danger:#FB4444;--sd-textinput-textinput-border-success:#12B553;--sd-textinput-textinput-border-disabled:#CCCCCC;--sd-textinput-textinput-bg-default:#FFFFFF;--sd-textinput-textinput-bg-disabled:#E1E1E1;--sd-textinput-textinput-bg-barcode:#FAFAA1;--sd-textinput-textinput-text-default:#222222;--sd-textinput-textinput-text-placeholder:#AAAAAA;--sd-textinput-textinput-text-disabled:#888888;--sd-textinput-textinput-size-icon:16px;--sd-textinput-textinput-icon-default:#888888;--sd-textinput-textinput-unit-color:#888888;--sd-textinput-textinput-resizer-size:12px;--sd-textinput-textinput-resizer-color:#AAAAAA;--sd-number-input-number-input-sm-height:28px;--sd-number-input-number-input-sm-padding-x:6px;--sd-number-input-number-input-sm-radius:4px;--sd-number-input-number-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-sm-typography-font-weight:400;--sd-number-input-number-input-sm-typography-font-size:12px;--sd-number-input-number-input-sm-typography-line-height:20px;--sd-number-input-number-input-sm-typography-text-decoration:none;--sd-number-input-number-input-sm-gap:4px;--sd-number-input-number-input-md-height:36px;--sd-number-input-number-input-md-padding-x:8px;--sd-number-input-number-input-md-radius:6px;--sd-number-input-number-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-md-typography-font-weight:400;--sd-number-input-number-input-md-typography-font-size:14px;--sd-number-input-number-input-md-typography-text-decoration:none;--sd-number-input-number-input-md-typography-line-height:24px;--sd-number-input-number-input-md-gap:6px;--sd-number-input-number-input-border-width:1px;--sd-number-input-number-input-border-default:#AAAAAA;--sd-number-input-number-input-border-focus:#0075FF;--sd-number-input-number-input-border-danger:#FB4444;--sd-number-input-number-input-border-success:#12B553;--sd-number-input-number-input-border-disabled:#CCCCCC;--sd-number-input-number-input-bg-default:#FFFFFF;--sd-number-input-number-input-bg-disabled:#E1E1E1;--sd-number-input-number-input-text-default:#222222;--sd-number-input-number-input-text-placeholder:#AAAAAA;--sd-number-input-number-input-text-disabled:#888888;--sd-number-input-number-input-stepper-sm-size:20px;--sd-number-input-number-input-stepper-md-size:24px;--sd-number-input-number-input-stepper-radius:4px;--sd-number-input-number-input-stepper-bg-default:#EFF6FF;--sd-number-input-number-input-stepper-bg-disabled:#EEEEEE;--sd-number-input-number-input-stepper-icon-default:#0075FF;--sd-number-input-number-input-stepper-icon-disabled:#BBBBBB;--sd-chip-input-chip-input-sm-min-height:36px;--sd-chip-input-chip-input-sm-padding-x:12px;--sd-chip-input-chip-input-sm-padding-y:6px;--sd-chip-input-chip-input-sm-radius:4px;--sd-chip-input-chip-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-sm-typography-font-weight:400;--sd-chip-input-chip-input-sm-typography-font-size:12px;--sd-chip-input-chip-input-sm-typography-line-height:20px;--sd-chip-input-chip-input-sm-typography-text-decoration:none;--sd-chip-input-chip-input-md-min-height:40px;--sd-chip-input-chip-input-md-padding-x:16px;--sd-chip-input-chip-input-md-padding-y:8px;--sd-chip-input-chip-input-md-radius:6px;--sd-chip-input-chip-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-md-typography-font-weight:400;--sd-chip-input-chip-input-md-typography-font-size:14px;--sd-chip-input-chip-input-md-typography-text-decoration:none;--sd-chip-input-chip-input-md-typography-line-height:24px;--sd-chip-input-chip-input-chip-gap:8px;--sd-chip-input-chip-input-border-width:1px;--sd-chip-input-chip-input-border-default:#AAAAAA;--sd-chip-input-chip-input-border-focus:#0075FF;--sd-chip-input-chip-input-border-disabled:#CCCCCC;--sd-chip-input-chip-input-bg-default:#FFFFFF;--sd-chip-input-chip-input-bg-disabled:#E1E1E1;--sd-chip-input-chip-input-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-sm-height:28px;--sd-filepicker-filepicker-sm-padding-x:12px;--sd-filepicker-filepicker-sm-gap:8px;--sd-filepicker-filepicker-sm-radius:4px;--sd-filepicker-filepicker-sm-border-width:1px;--sd-filepicker-filepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-sm-typography-font-weight:400;--sd-filepicker-filepicker-sm-typography-font-size:12px;--sd-filepicker-filepicker-sm-typography-line-height:20px;--sd-filepicker-filepicker-sm-typography-text-decoration:none;--sd-filepicker-filepicker-sm-icon:16px;--sd-filepicker-filepicker-md-height:36px;--sd-filepicker-filepicker-md-padding-x:16px;--sd-filepicker-filepicker-md-gap:12px;--sd-filepicker-filepicker-md-radius:6px;--sd-filepicker-filepicker-md-border-width:1px;--sd-filepicker-filepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-md-typography-font-weight:400;--sd-filepicker-filepicker-md-typography-font-size:14px;--sd-filepicker-filepicker-md-typography-text-decoration:none;--sd-filepicker-filepicker-md-typography-line-height:24px;--sd-filepicker-filepicker-md-icon:20px;--sd-filepicker-filepicker-border-default:#AAAAAA;--sd-filepicker-filepicker-border-disabled:#CCCCCC;--sd-filepicker-filepicker-bg-default:#FFFFFF;--sd-filepicker-filepicker-bg-disabled:#E1E1E1;--sd-filepicker-filepicker-text-default:#222222;--sd-filepicker-filepicker-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-text-disabled:#888888;--sd-filepicker-filepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-sm-height:28px;--sd-datepicker-datepicker-sm-padding-x:12px;--sd-datepicker-datepicker-sm-gap:8px;--sd-datepicker-datepicker-sm-icon:16px;--sd-datepicker-datepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-sm-typography-font-weight:400;--sd-datepicker-datepicker-sm-typography-font-size:12px;--sd-datepicker-datepicker-sm-typography-line-height:20px;--sd-datepicker-datepicker-sm-typography-text-decoration:none;--sd-datepicker-datepicker-sm-radius:4px;--sd-datepicker-datepicker-md-height:36px;--sd-datepicker-datepicker-md-padding-x:16px;--sd-datepicker-datepicker-md-gap:12px;--sd-datepicker-datepicker-md-icon:20px;--sd-datepicker-datepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-md-typography-font-weight:400;--sd-datepicker-datepicker-md-typography-font-size:14px;--sd-datepicker-datepicker-md-typography-text-decoration:none;--sd-datepicker-datepicker-md-typography-line-height:24px;--sd-datepicker-datepicker-md-radius:6px;--sd-datepicker-datepicker-border-width:1px;--sd-datepicker-datepicker-border-default:#AAAAAA;--sd-datepicker-datepicker-border-focus:#0075FF;--sd-datepicker-datepicker-border-disabled:#CCCCCC;--sd-datepicker-datepicker-bg-default:#FFFFFF;--sd-datepicker-datepicker-bg-disabled:#E1E1E1;--sd-datepicker-datepicker-icon-default:#888888;--sd-datepicker-datepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-text-default:#222222;--sd-datepicker-datepicker-text-disabled:#888888;--sd-datepicker-datepicker-calendar-bg:#FFFFFF;--sd-datepicker-datepicker-calendar-padding-x-y:24px;--sd-datepicker-datepicker-calendar-gap:12px;--sd-datepicker-datepicker-calendar-radius:8px;--sd-datepicker-datepicker-calendar-header-gap:8px;--sd-datepicker-datepicker-calendar-header-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-header-typography-font-weight:500;--sd-datepicker-datepicker-calendar-header-typography-font-size:14px;--sd-datepicker-datepicker-calendar-header-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-header-typography-line-height:24px;--sd-datepicker-datepicker-calendar-week-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-week-typography-font-weight:400;--sd-datepicker-datepicker-calendar-week-typography-font-size:12px;--sd-datepicker-datepicker-calendar-week-typography-line-height:20px;--sd-datepicker-datepicker-calendar-week-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-week-color:#888888;--sd-datepicker-datepicker-calendar-grid-row-gap:4px;--sd-datepicker-datepicker-calendar-day-width:40px;--sd-datepicker-datepicker-calendar-day-circle-size:32px;--sd-datepicker-datepicker-calendar-day-circle-radius:9999px;--sd-datepicker-datepicker-calendar-day-default-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-border:#0075FF;--sd-datepicker-datepicker-calendar-day-select-bg:#0075FF;--sd-datepicker-datepicker-calendar-day-select-text:#FFFFFF;--sd-datepicker-datepicker-calendar-day-disabled-text:#BBBBBB;--sd-datepicker-datepicker-calendar-day-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-default-font-weight:400;--sd-datepicker-datepicker-calendar-day-typography-default-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-default-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-default-line-height:24px;--sd-datepicker-datepicker-calendar-day-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-bold-font-weight:700;--sd-datepicker-datepicker-calendar-day-typography-bold-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-bold-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-bold-line-height:24px;--sd-datepicker-datepicker-calendar-day-dot-size:6px;--sd-datepicker-datepicker-calendar-day-dot-gap:2px;--sd-datepicker-datepicker-calendar-day-dot-padding-y:4px;--sd-datepicker-datepicker-calendar-range-bg:#D9EAFF;--sd-datepicker-datepicker-calendar-range-height:32px;--sd-datepicker-datepicker-calendar-range-panel-gap:24px;--sd-datepicker-datepicker-calendar-range-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-range-width:20px;--sd-datepicker-datepicker-calendar-legend-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-legend-typography-font-weight:400;--sd-datepicker-datepicker-calendar-legend-typography-font-size:11px;--sd-datepicker-datepicker-calendar-legend-typography-line-height:18px;--sd-datepicker-datepicker-calendar-legend-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-legend-gap:4px;--sd-datepicker-datepicker-calendar-legend-group-gap:12px;--sd-chip-chip-height:24px;--sd-chip-chip-padding-x:8px;--sd-chip-chip-gap:4px;--sd-chip-chip-radius:9999px;--sd-chip-chip-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-default-font-size:12px;--sd-chip-chip-typography-default-font-weight:500;--sd-chip-chip-typography-default-text-decoration:none;--sd-chip-chip-typography-default-line-height:20px;--sd-chip-chip-typography-focus-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-focus-font-size:12px;--sd-chip-chip-typography-focus-font-weight:400;--sd-chip-chip-typography-focus-text-decoration:none;--sd-chip-chip-typography-focus-line-height:20px;--sd-chip-chip-bg-default:#F6F6F6;--sd-chip-chip-bg-error:#FCEFEF;--sd-chip-chip-bg-focus:#FFFFFF;--sd-chip-chip-bg-disabled:#F6F6F6;--sd-chip-chip-content-default:#555555;--sd-chip-chip-content-error:#E30000;--sd-chip-chip-content-focus:#222222;--sd-chip-chip-content-disabled:#888888;--sd-chip-chip-border-focus:#E1E1E1;--sd-chip-chip-border-width:1px;--sd-tag-tag-xs-height:20px;--sd-tag-tag-xs-padding-x:8px;--sd-tag-tag-xs-gap:4px;--sd-tag-tag-xs-icon:12px;--sd-tag-tag-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-xs-typography-font-size:11px;--sd-tag-tag-xs-typography-font-weight:500;--sd-tag-tag-xs-typography-line-height:18px;--sd-tag-tag-xs-typography-text-decoration:none;--sd-tag-tag-xs-radius:6px;--sd-tag-tag-sm-height:24px;--sd-tag-tag-sm-padding-x:8px;--sd-tag-tag-sm-gap:4px;--sd-tag-tag-sm-icon:16px;--sd-tag-tag-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-sm-typography-font-size:12px;--sd-tag-tag-sm-typography-font-weight:700;--sd-tag-tag-sm-typography-text-decoration:none;--sd-tag-tag-sm-typography-line-height:20px;--sd-tag-tag-sm-radius:6px;--sd-tag-tag-md-height:28px;--sd-tag-tag-md-padding-x:12px;--sd-tag-tag-md-gap:6px;--sd-tag-tag-md-icon:16px;--sd-tag-tag-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-md-typography-font-size:14px;--sd-tag-tag-md-typography-font-weight:700;--sd-tag-tag-md-typography-line-height:24px;--sd-tag-tag-md-typography-text-decoration:none;--sd-tag-tag-md-radius:8px;--sd-tag-tag-red-content:#FB4444;--sd-tag-tag-red-bg:#FCEFEF;--sd-tag-tag-orange-content:#FF6B00;--sd-tag-tag-orange-bg:#FEF1EA;--sd-tag-tag-yellow-content:#916C0D;--sd-tag-tag-yellow-bg:#FFF7DD;--sd-tag-tag-green-content:#00973C;--sd-tag-tag-green-bg:#E8F9EF;--sd-tag-tag-blue-content:#0075FF;--sd-tag-tag-blue-bg:#E6F1FF;--sd-tag-tag-darkblue-content:#006AC1;--sd-tag-tag-darkblue-bg:#EAF5FE;--sd-tag-tag-indigo-content:#004290;--sd-tag-tag-indigo-bg:#EFF6FF;--sd-tag-tag-grey-content:#737373;--sd-tag-tag-grey-bg:#EEEEEE;--sd-badge-badge-size:6px;--sd-badge-badge-radius:9999px;--sd-badge-badge-red:#FB4444;--sd-badge-badge-orange:#FF6B00;--sd-badge-badge-yellow:#FFC700;--sd-badge-badge-green:#00973C;--sd-badge-badge-blue:#0075FF;--sd-badge-badge-darkblue:#006AC1;--sd-badge-badge-indigo:#004290;--sd-badge-badge-grey:#737373;--sd-tooltip-tooltip-radius:6px;--sd-tooltip-tooltip-padding-y:12px;--sd-tooltip-tooltip-padding-x:16px;--sd-tooltip-tooltip-gap:12px;--sd-tooltip-tooltip-arrow-width:16px;--sd-tooltip-tooltip-arrow-height:12px;--sd-tooltip-tooltip-default-bg:#07284A;--sd-tooltip-tooltip-default-content:#FFFFFF;--sd-tooltip-tooltip-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-default-typography-font-size:12px;--sd-tooltip-tooltip-default-typography-font-weight:500;--sd-tooltip-tooltip-default-typography-line-height:20px;--sd-tooltip-tooltip-default-typography-text-decoration:none;--sd-tooltip-tooltip-danger-bg:#FCEFEF;--sd-tooltip-tooltip-danger-content:#FB4444;--sd-tooltip-tooltip-danger-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-danger-typography-font-size:12px;--sd-tooltip-tooltip-danger-typography-font-weight:700;--sd-tooltip-tooltip-danger-typography-text-decoration:none;--sd-tooltip-tooltip-danger-typography-line-height:20px;--sd-tooltip-tooltip-warning-bg:#FEF1EA;--sd-tooltip-tooltip-warning-content:#FF6B00;--sd-tooltip-tooltip-warning-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-warning-typography-font-size:12px;--sd-tooltip-tooltip-warning-typography-font-weight:700;--sd-tooltip-tooltip-warning-typography-text-decoration:none;--sd-tooltip-tooltip-warning-typography-line-height:20px;--sd-tooltip-tooltip-accent-bg:#E6F1FF;--sd-tooltip-tooltip-accent-content:#0075FF;--sd-tooltip-tooltip-accent-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-accent-typography-font-size:12px;--sd-tooltip-tooltip-accent-typography-font-weight:700;--sd-tooltip-tooltip-accent-typography-text-decoration:none;--sd-tooltip-tooltip-accent-typography-line-height:20px;--sd-popover-popover-radius:6px;--sd-popover-popover-padding-x:20px;--sd-popover-popover-padding-y:16px;--sd-popover-popover-gap:12px;--sd-popover-popover-contents-gap:4px;--sd-popover-popover-arrow-width:16px;--sd-popover-popover-arrow-height:12px;--sd-popover-popover-default-bg:#07284A;--sd-popover-popover-default-title:#FFFFFF;--sd-popover-popover-default-description:#FFFFFF;--sd-popover-popover-default-sub-action:#D8D8D8;--sd-popover-popover-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-title-typography-font-size:14px;--sd-popover-popover-title-typography-font-weight:700;--sd-popover-popover-title-typography-line-height:24px;--sd-popover-popover-title-typography-text-decoration:none;--sd-popover-popover-title-leading-icon:16px;--sd-popover-popover-title-gap:8px;--sd-popover-popover-description-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-description-typography-font-size:12px;--sd-popover-popover-description-typography-font-weight:500;--sd-popover-popover-description-typography-line-height:20px;--sd-popover-popover-description-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-sub-action-typography-font-size:12px;--sd-popover-popover-sub-action-typography-font-weight:700;--sd-popover-popover-sub-action-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-line-height:20px;--sd-popover-popover-danger-bg:#FCEFEF;--sd-popover-popover-danger-title:#FB4444;--sd-popover-popover-warning-bg:#FEF1EA;--sd-popover-popover-warning-title:#FF6B00;--sd-popover-popover-accent-bg:#E6F1FF;--sd-popover-popover-accent-title:#0075FF;--sd-popover-popover-light-description:#555555;--sd-popover-popover-light-sub-action:#888888;--sd-toast-toast-radius:8px;--sd-toast-toast-padding-x:24px;--sd-toast-toast-padding-y:12px;--sd-toast-toast-gap:16px;--sd-toast-toast-icon:16px;--sd-toast-toast-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-default-font-size:14px;--sd-toast-toast-typography-default-font-weight:500;--sd-toast-toast-typography-default-line-height:24px;--sd-toast-toast-typography-default-text-decoration:none;--sd-toast-toast-typography-link-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-link-font-size:14px;--sd-toast-toast-typography-link-font-weight:700;--sd-toast-toast-typography-link-line-height:24px;--sd-toast-toast-typography-link-text-decoration:underline;--sd-toast-toast-default-bg:#07284A;--sd-toast-toast-default-content:#FFFFFF;--sd-toast-toast-danger-bg:#FB4444;--sd-toast-toast-danger-content:#FFFFFF;--sd-toast-toast-caution-bg:#FFC700;--sd-toast-toast-caution-content:#222222;--sd-toast-toast-complete-bg:#00973C;--sd-toast-toast-complete-content:#FFFFFF;--sd-toast-toast-accent-bg:#005CC9;--sd-toast-toast-accent-content:#FFFFFF;--sd-toast-toast-info-bg:#E6F1FF;--sd-toast-toast-info-icon:#0075FF;--sd-toast-toast-info-text:#222222;--sd-toast-toast-info-text-link:#555555;--sd-modal-modal-radius:8px;--sd-modal-modal-confirm-padding-x:32px;--sd-modal-modal-confirm-padding-y:40px;--sd-modal-modal-confirm-gap:40px;--sd-modal-modal-confirm-body-gap:20px;--sd-modal-modal-confirm-title-gap:12px;--sd-modal-modal-confirm-title-color:#222222;--sd-modal-modal-confirm-title-icon:32px;--sd-modal-modal-confirm-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-title-typography-font-weight:700;--sd-modal-modal-confirm-title-typography-font-size:18px;--sd-modal-modal-confirm-title-typography-line-height:30px;--sd-modal-modal-confirm-title-typography-text-decoration:none;--sd-modal-modal-confirm-button-gap:8px;--sd-modal-modal-confirm-message-color:#222222;--sd-modal-modal-confirm-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-message-typography-font-size:12px;--sd-modal-modal-confirm-message-typography-font-weight:400;--sd-modal-modal-confirm-message-typography-line-height:20px;--sd-modal-modal-confirm-message-typography-text-decoration:none;--sd-modal-modal-confirm-positive-icon:#0075FF;--sd-modal-modal-confirm-negative-icon:#E30000;--sd-modal-modal-bg:#FFFFFF;--sd-modal-modal-action-header-padding-x:24px;--sd-modal-modal-action-header-padding-y:20px;--sd-modal-modal-action-header-gap:12px;--sd-modal-modal-action-title-color:#033F59;--sd-modal-modal-action-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-action-title-typography-font-weight:700;--sd-modal-modal-action-title-typography-font-size:16px;--sd-modal-modal-action-title-typography-text-decoration:none;--sd-modal-modal-action-title-typography-line-height:26px;--sd-modal-modal-action-body-padding-x:20px;--sd-modal-modal-action-body-padding-bottom:20px;--sd-modal-modal-action-footer-padding-x:20px;--sd-modal-modal-action-footer-padding-y:8px;--sd-modal-modal-action-footer-gap:16px;--sd-modal-modal-action-footer-bg:#F6F6F6;--sd-modal-modal-action-footer-border:#E1E1E1;--sd-modal-modal-loading-width:520px;--sd-modal-modal-loading-height:320px;--sd-modal-modal-loading-gap:20px;--sd-modal-modal-loading-content:80px;--sd-modal-modal-loading-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-loading-message-typography-font-size:12px;--sd-modal-modal-loading-message-typography-font-weight:400;--sd-modal-modal-loading-message-typography-line-height:20px;--sd-modal-modal-loading-message-typography-text-decoration:none;--sd-modal-modal-loading-message-color:#888888;--sd-popup-popup-header-bg-default:#07284A;--sd-popup-popup-header-bg-inverse:#FFFFFF;--sd-popup-popup-header-title-default:#FFFFFF;--sd-popup-popup-header-title-inverse:#004290;--sd-popup-popup-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popup-popup-header-typography-font-weight:700;--sd-popup-popup-header-typography-font-size:18px;--sd-popup-popup-header-typography-line-height:30px;--sd-popup-popup-header-typography-text-decoration:none;--sd-popup-popup-footer-bg:#FFFFFF;--sd-popup-popup-footer-padding-x:20px;--sd-popup-popup-footer-padding-y:8px;--sd-popup-popup-footer-gap:16px;--sd-popup-popup-bg:#EEEEEE;--sd-spinner-spinner-size:80px;--sd-spinner-spinner-color-track:#EEEEEE;--sd-spinner-spinner-color-arc:#2D8DFF;--sd-guide-guide-gap:4px;--sd-guide-guide-button-height:28px;--sd-guide-guide-button-padding-x:12px;--sd-guide-guide-button-radius:9999px;--sd-guide-guide-button-gap:6px;--sd-guide-guide-button-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-button-typography-font-size:12px;--sd-guide-guide-button-typography-font-weight:500;--sd-guide-guide-button-typography-text-decoration:none;--sd-guide-guide-button-typography-line-height:20px;--sd-guide-guide-button-icon-size:16px;--sd-guide-guide-button-icon-default:#00973C;--sd-guide-guide-button-icon-active:#FFFFFF;--sd-guide-guide-button-border-width:1px;--sd-guide-guide-button-border-default:#E1E1E1;--sd-guide-guide-button-bg-default:#FFFFFF;--sd-guide-guide-button-bg-tip:#00973C;--sd-guide-guide-button-bg-notion:#1F8AE1;--sd-guide-guide-button-text-default:#222222;--sd-guide-guide-button-text-active:#FFFFFF;--sd-guide-guide-contents-padding-x:24px;--sd-guide-guide-contents-padding-y:20px;--sd-guide-guide-contents-gap:12px;--sd-guide-guide-contents-title-gap:8px;--sd-guide-guide-contents-row-gap:8px;--sd-guide-guide-contents-body-gap:2px;--sd-guide-guide-contents-typography-title-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-title-font-weight:700;--sd-guide-guide-contents-typography-title-font-size:16px;--sd-guide-guide-contents-typography-title-text-decoration:none;--sd-guide-guide-contents-typography-title-line-height:26px;--sd-guide-guide-contents-typography-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-body-font-weight:400;--sd-guide-guide-contents-typography-body-font-size:12px;--sd-guide-guide-contents-typography-body-line-height:20px;--sd-guide-guide-contents-typography-body-text-decoration:none;--sd-guide-guide-contents-typography-color:#222222;--sd-guide-guide-contents-icon:#00973C;--sd-guide-guide-contents-radius:8px;--sd-guide-guide-contents-depth-padding-left:32px;--sd-progress-progress-linear-height:20px;--sd-progress-progress-linear-radius:9999px;--sd-progress-progress-linear-gap:12px;--sd-progress-progress-linear-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-linear-typography-font-size:12px;--sd-progress-progress-linear-typography-font-weight:700;--sd-progress-progress-linear-typography-text-decoration:none;--sd-progress-progress-linear-typography-line-height:20px;--sd-progress-progress-circular-size:80px;--sd-progress-progress-circular-gap:8px;--sd-progress-progress-circular-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-circular-typography-font-weight:700;--sd-progress-progress-circular-typography-font-size:16px;--sd-progress-progress-circular-typography-text-decoration:none;--sd-progress-progress-circular-typography-line-height:26px;--sd-progress-progress-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-label-typography-font-size:12px;--sd-progress-progress-label-typography-font-weight:400;--sd-progress-progress-label-typography-line-height:20px;--sd-progress-progress-label-typography-text-decoration:none;--sd-progress-progress-color-track:#EEEEEE;--sd-progress-progress-color-label:#555555;--sd-progress-progress-active-color:#2D8DFF;--sd-progress-progress-success-color:#12B553;--sd-progress-progress-error-color:#FB4444;--sd-progress-progress-bar-text:#FFFFFF;--sd-table-table-header-height:36px;--sd-table-table-header-padding-x:16px;--sd-table-table-header-gap:4px;--sd-table-table-header-bg:#F5FAFF;--sd-table-table-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-header-typography-font-weight:500;--sd-table-table-header-typography-font-size:12px;--sd-table-table-header-typography-line-height:20px;--sd-table-table-header-typography-text-decoration:none;--sd-table-table-header-resizing-bar-color:#CCCCCC;--sd-table-table-header-resizing-bar-height:16px;--sd-table-table-body-default-height:44px;--sd-table-table-body-default-padding-y:8px;--sd-table-table-body-dense-height:32px;--sd-table-table-body-dense-padding-y:6px;--sd-table-table-body-padding-x:16px;--sd-table-table-body-frame-padding:8px;--sd-table-table-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-body-typography-font-weight:400;--sd-table-table-body-typography-font-size:12px;--sd-table-table-body-typography-line-height:20px;--sd-table-table-body-typography-text-decoration:none;--sd-table-table-border-color:#E1E1E1;--sd-table-table-border-width:1px;--sd-table-table-content-gap:8px;--sd-table-table-bar-section-gap:12px;--sd-table-table-bar-divider-height:20px;--sd-table-table-bar-height:44px;--sd-table-table-bar-count-total:#066D9B;--sd-table-table-bar-count-null:#888888;--sd-table-table-radius:8px;--sd-table-table-key-value-body-padding:8px;--sd-table-table-key-value-height:44px;--sd-table-table-key-value-search-padding-x:32px;--sd-table-table-key-value-search-bg:#F9F9F9;--sd-table-table-separator-color:#EEEEEE;--sd-table-table-separator-width-default:6px;--sd-table-table-separator-width-dense:4px;--sd-pagination-pagination-height:24px;--sd-pagination-pagination-padding-x:6px;--sd-pagination-pagination-radius:6px;--sd-pagination-pagination-gap:12px;--sd-pagination-pagination-move-gap:4px;--sd-pagination-pagination-icon:12px;--sd-pagination-pagination-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-font-size:12px;--sd-pagination-pagination-typography-default-font-weight:500;--sd-pagination-pagination-typography-default-text-decoration:none;--sd-pagination-pagination-typography-default-line-height:20px;--sd-pagination-pagination-typography-default-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-selected-font-weight:700;--sd-pagination-pagination-typography-default-selected-font-size:12px;--sd-pagination-pagination-typography-default-selected-line-height:20px;--sd-pagination-pagination-typography-default-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-font-weight:700;--sd-pagination-pagination-typography-selected-font-size:12px;--sd-pagination-pagination-typography-selected-line-height:20px;--sd-pagination-pagination-typography-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-selected-font-weight:700;--sd-pagination-pagination-typography-selected-selected-font-size:12px;--sd-pagination-pagination-typography-selected-selected-line-height:20px;--sd-pagination-pagination-typography-selected-selected-text-decoration:none;--sd-pagination-pagination-item-bg-hover:#EEEEEE;--sd-pagination-pagination-item-bg-selected:#E6F1FF;--sd-pagination-pagination-item-content-default:#555555;--sd-pagination-pagination-item-content-hover:#004290;--sd-pagination-pagination-item-content-selected:#004290;--sd-tab-tab-main-lg-height:44px;--sd-tab-tab-main-lg-padding-x:32px;--sd-tab-tab-main-md-height:36px;--sd-tab-tab-main-md-padding-x:24px;--sd-tab-tab-main-gap:8px;--sd-tab-tab-main-container-gap:4px;--sd-tab-tab-main-radius:6px;--sd-tab-tab-main-border-width:1px;--sd-tab-tab-main-selected-bg:#FFFFFF;--sd-tab-tab-main-selected-text:#0075FF;--sd-tab-tab-main-selected-border:#0075FF;--sd-tab-tab-main-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-selected-typography-font-weight:700;--sd-tab-tab-main-selected-typography-font-size:12px;--sd-tab-tab-main-selected-typography-line-height:20px;--sd-tab-tab-main-selected-typography-text-decoration:none;--sd-tab-tab-main-default-bg:#F6F6F6;--sd-tab-tab-main-default-text:#888888;--sd-tab-tab-main-default-border:#CCCCCC;--sd-tab-tab-main-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-default-typography-font-weight:400;--sd-tab-tab-main-default-typography-font-size:12px;--sd-tab-tab-main-default-typography-line-height:20px;--sd-tab-tab-main-default-typography-text-decoration:none;--sd-tab-tab-sub-selected-text:#0075FF;--sd-tab-tab-sub-selected-line:#0075FF;--sd-tab-tab-sub-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-selected-typography-font-weight:700;--sd-tab-tab-sub-selected-typography-font-size:12px;--sd-tab-tab-sub-selected-typography-line-height:20px;--sd-tab-tab-sub-selected-typography-text-decoration:none;--sd-tab-tab-sub-default-text:#222222;--sd-tab-tab-sub-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-default-typography-font-weight:400;--sd-tab-tab-sub-default-typography-font-size:12px;--sd-tab-tab-sub-default-typography-line-height:20px;--sd-tab-tab-sub-default-typography-text-decoration:none;--sd-tab-tab-sub-border-width:1px;--sd-tab-tab-sub-gap-horizontal:24px;--sd-tab-tab-sub-gap-vertical:16px;--sd-tab-tab-sub-content-gap:4px;--sd-tab-tab-sub-item-height:20px;--sd-gnb-belt-gnb-belt-bg:#001B39;--sd-gnb-belt-gnb-belt-top-height:56px;--sd-gnb-belt-gnb-belt-top-padding-x:12px;--sd-gnb-belt-gnb-belt-top-gap:8px;--sd-gnb-belt-gnb-belt-top-border:#004177;--sd-gnb-belt-gnb-belt-logo-height:32px;--sd-gnb-belt-gnb-belt-body-padding-y:12px;--sd-gnb-belt-gnb-belt-item-padding-y:6px;--sd-gnb-belt-gnb-belt-item-padding-right:20px;--sd-gnb-belt-gnb-belt-item-gap:12px;--sd-gnb-belt-gnb-belt-item-icon:12px;--sd-gnb-belt-gnb-belt-item-bg-default:#001B39;--sd-gnb-belt-gnb-belt-item-bg-selected:#002B5E;--sd-gnb-belt-gnb-belt-item-color-default:#FFFFFF;--sd-gnb-belt-gnb-belt-item-color-active:#93C4FF;--sd-gnb-belt-gnb-belt-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-default-font-weight:500;--sd-gnb-belt-gnb-belt-item-typography-default-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-default-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-default-text-decoration:none;--sd-gnb-belt-gnb-belt-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-selected-font-weight:700;--sd-gnb-belt-gnb-belt-item-typography-selected-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-selected-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-selected-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth1-padding-left:20px;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-weight:700;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-size:13px;--sd-gnb-belt-gnb-belt-item-depth1-typography-line-height:22px;--sd-gnb-belt-gnb-belt-item-depth1-typography-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth2-padding-left:32px;--sd-gnb-belt-gnb-belt-item-depth3-padding-left:44px;--sd-gnb-belt-gnb-belt-fold-width:48px;--sd-gnb-box-gnb-box-top-height:56px;--sd-gnb-box-gnb-box-padding-x:16px;--sd-gnb-box-gnb-box-gap:16px;--sd-gnb-box-gnb-box-bg:#FFFFFF;--sd-gnb-box-gnb-box-border:#E1E1E1;--sd-gnb-box-gnb-box-button-gap:8px;--sd-gnb-box-gnb-box-logo-height:32px;--sd-gnb-box-gnb-box-menu-body-padding:12px;--sd-gnb-box-gnb-box-item-padding-y:6px;--sd-gnb-box-gnb-box-item-padding-right:12px;--sd-gnb-box-gnb-box-item-gap:8px;--sd-gnb-box-gnb-box-item-radius:8px;--sd-gnb-box-gnb-box-item-arrow:12px;--sd-gnb-box-gnb-box-item-bg-default:#FFFFFF;--sd-gnb-box-gnb-box-item-bg-hover:#F6F6F6;--sd-gnb-box-gnb-box-item-bg-selected:#EFF6FF;--sd-gnb-box-gnb-box-item-color-default:#222222;--sd-gnb-box-gnb-box-item-color-selected:#0075FF;--sd-gnb-box-gnb-box-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-default-font-weight:500;--sd-gnb-box-gnb-box-item-typography-default-font-size:14px;--sd-gnb-box-gnb-box-item-typography-default-line-height:24px;--sd-gnb-box-gnb-box-item-typography-default-text-decoration:none;--sd-gnb-box-gnb-box-item-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-bold-font-weight:700;--sd-gnb-box-gnb-box-item-typography-bold-font-size:14px;--sd-gnb-box-gnb-box-item-typography-bold-line-height:24px;--sd-gnb-box-gnb-box-item-typography-bold-text-decoration:none;--sd-gnb-box-gnb-box-item-depth1-padding-left:12px;--sd-gnb-box-gnb-box-item-depth1-icon:20px;--sd-gnb-box-gnb-box-item-depth2-padding-left:24px;--sd-gnb-box-gnb-box-item-depth3-padding-left:36px;--sd-callout-callout-radius:8px;--sd-callout-callout-border-width:1px;--sd-callout-callout-body-gap:2px;--sd-callout-callout-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-body-typography-font-size:12px;--sd-callout-callout-body-typography-font-weight:400;--sd-callout-callout-body-typography-line-height:20px;--sd-callout-callout-body-typography-text-decoration:none;--sd-callout-callout-body-padding-x:12px;--sd-callout-callout-body-padding-y:8px;--sd-callout-callout-default-bg:#F9F9F9;--sd-callout-callout-default-border:#E1E1E1;--sd-callout-callout-default-content:#555555;--sd-callout-callout-danger-bg:#FCEFEF;--sd-callout-callout-danger-border:#FFB5B5;--sd-callout-callout-danger-content:#222222;--sd-callout-callout-danger-title-bg:#FB4444;--sd-callout-callout-danger-title-padding-x:24px;--sd-callout-callout-danger-title-gap:2px;--sd-callout-callout-danger-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-danger-title-typography-font-weight:700;--sd-callout-callout-danger-title-typography-font-size:16px;--sd-callout-callout-danger-title-typography-text-decoration:none;--sd-callout-callout-danger-title-typography-line-height:26px;--sd-callout-callout-danger-title-color:#FFFFFF;--sd-callout-callout-danger-title-icon:24px}.bg-primary{background-color:var(--color-primary, #051d36)}.bg-secondary{background-color:var(--color-secondary, #555555)}.bg-accent{background-color:var(--color-accent, #9c27b0)}.bg-positive{background-color:var(--color-positive, #0075ff)}.bg-negative{background-color:var(--color-negative, #e30000)}.bg-info{background-color:var(--color-info, #00cd52)}.bg-warning{background-color:var(--color-warning, #f2c037)}.bg-red_99{background-color:var(--color-red_99, #220000)}.bg-red_95{background-color:var(--color-red_95, #440000)}.bg-red_90{background-color:var(--color-red_90, #5e0000)}.bg-red_85{background-color:var(--color-red_85, #820000)}.bg-red_80{background-color:var(--color-red_80, #ad0000)}.bg-red_75{background-color:var(--color-red_75, #e30000)}.bg-red_70{background-color:var(--color-red_70, #fb4444)}.bg-red_60{background-color:var(--color-red_60, #ff7c7c)}.bg-red_45{background-color:var(--color-red_45, #ffb5b5)}.bg-red_30{background-color:var(--color-red_30, #ffd3d3)}.bg-red_20{background-color:var(--color-red_20, #fce6e6)}.bg-red_15{background-color:var(--color-red_15, #fcefef)}.bg-caution_bg{background-color:var(--color-caution_bg, #fef1f1)}.bg-caution_icon{background-color:var(--color-caution_icon, #fd9595)}.bg-orange_99{background-color:var(--color-orange_99, #2f1100)}.bg-orange_95{background-color:var(--color-orange_95, #4d1b00)}.bg-orange_90{background-color:var(--color-orange_90, #752a00)}.bg-orange_85{background-color:var(--color-orange_85, #9b3700)}.bg-orange_75{background-color:var(--color-orange_75, #ce4900)}.bg-orange_65{background-color:var(--color-orange_65, #ff6b00)}.bg-orange_60{background-color:var(--color-orange_60, #ff7f22)}.bg-orange_55{background-color:var(--color-orange_55, #ffa452)}.bg-orange_45{background-color:var(--color-orange_45, #ffbc81)}.bg-orange_35{background-color:var(--color-orange_35, #ffd5af)}.bg-orange_20{background-color:var(--color-orange_20, #ffead7)}.bg-orange_10{background-color:var(--color-orange_10, #fef1ea)}.bg-header_alert{background-color:var(--color-header_alert, #ff7a00)}.bg-yellow_95{background-color:var(--color-yellow_95, #322700)}.bg-yellow_90{background-color:var(--color-yellow_90, #453702)}.bg-yellow_80{background-color:var(--color-yellow_80, #6c5602)}.bg-yellow_70{background-color:var(--color-yellow_70, #9c7a00)}.bg-yellow_60{background-color:var(--color-yellow_60, #c49900)}.bg-yellow_50{background-color:var(--color-yellow_50, #ebb800)}.bg-yellow_45{background-color:var(--color-yellow_45, #ffc700)}.bg-yellow_40{background-color:var(--color-yellow_40, #ffd643)}.bg-yellow_30{background-color:var(--color-yellow_30, #fee17c)}.bg-yellow_25{background-color:var(--color-yellow_25, #ffe99e)}.bg-yellow_20{background-color:var(--color-yellow_20, #fef1c4)}.bg-yellow_10{background-color:var(--color-yellow_10, #fff7dd)}.bg-olive_95{background-color:var(--color-olive_95, #2c2c00)}.bg-olive_90{background-color:var(--color-olive_90, #454500)}.bg-olive_80{background-color:var(--color-olive_80, #636300)}.bg-olive_70{background-color:var(--color-olive_70, #838300)}.bg-olive_65{background-color:var(--color-olive_65, #a5a500)}.bg-olive_55{background-color:var(--color-olive_55, #c7c700)}.bg-olive_45{background-color:var(--color-olive_45, #dddd12)}.bg-olive_30{background-color:var(--color-olive_30, #eeee37)}.bg-olive_20{background-color:var(--color-olive_20, #f6f65f)}.bg-olive_15{background-color:var(--color-olive_15, #fafaa1)}.bg-olive_10{background-color:var(--color-olive_10, #fbfbbf)}.bg-olive_05{background-color:var(--color-olive_05, #fefed9)}.bg-green_99{background-color:var(--color-green_99, #001d0b)}.bg-green_95{background-color:var(--color-green_95, #003013)}.bg-green_90{background-color:var(--color-green_90, #00461c)}.bg-green_85{background-color:var(--color-green_85, #006629)}.bg-green_80{background-color:var(--color-green_80, #007b31)}.bg-green_75{background-color:var(--color-green_75, #00973c)}.bg-green_70{background-color:var(--color-green_70, #12b553)}.bg-green_65{background-color:var(--color-green_65, #2bce6c)}.bg-green_55{background-color:var(--color-green_55, #6de39c)}.bg-green_45{background-color:var(--color-green_45, #acf4c9)}.bg-green_25{background-color:var(--color-green_25, #d4fae3)}.bg-green_15{background-color:var(--color-green_15, #e8f9ef)}.bg-steelblue_99{background-color:var(--color-steelblue_99, #021a25)}.bg-steelblue_95{background-color:var(--color-steelblue_95, #02212f)}.bg-steelblue_90{background-color:var(--color-steelblue_90, #032d40)}.bg-steelblue_85{background-color:var(--color-steelblue_85, #033f59)}.bg-steelblue_80{background-color:var(--color-steelblue_80, #06587d)}.bg-steelblue_75{background-color:var(--color-steelblue_75, #066d9b)}.bg-steelblue_70{background-color:var(--color-steelblue_70, #128fc7)}.bg-steelblue_65{background-color:var(--color-steelblue_65, #229fd7)}.bg-steelblue_60{background-color:var(--color-steelblue_60, #50bff0)}.bg-steelblue_45{background-color:var(--color-steelblue_45, #a4e2fd)}.bg-steelblue_25{background-color:var(--color-steelblue_25, #d9f2fd)}.bg-steelblue_10{background-color:var(--color-steelblue_10, #ecf8fd)}.bg-oceanblue_99{background-color:var(--color-oceanblue_99, #011428)}.bg-oceanblue_95{background-color:var(--color-oceanblue_95, #03172d)}.bg-oceanblue_90{background-color:var(--color-oceanblue_90, #051d36)}.bg-oceanblue_85{background-color:var(--color-oceanblue_85, #07284a)}.bg-oceanblue_80{background-color:var(--color-oceanblue_80, #004177)}.bg-oceanblue_75{background-color:var(--color-oceanblue_75, #025497)}.bg-oceanblue_70{background-color:var(--color-oceanblue_70, #006ac1)}.bg-oceanblue_65{background-color:var(--color-oceanblue_65, #1f8ae1)}.bg-oceanblue_60{background-color:var(--color-oceanblue_60, #5cb0f3)}.bg-oceanblue_50{background-color:var(--color-oceanblue_50, #9cd1fc)}.bg-oceanblue_25{background-color:var(--color-oceanblue_25, #d5ebfe)}.bg-oceanblue_15{background-color:var(--color-oceanblue_15, #eaf5fe)}.bg-brilliantblue_99{background-color:var(--color-brilliantblue_99, #001226)}.bg-brilliantblue_95{background-color:var(--color-brilliantblue_95, #001b39)}.bg-brilliantblue_90{background-color:var(--color-brilliantblue_90, #002b5e)}.bg-brilliantblue_85{background-color:var(--color-brilliantblue_85, #004290)}.bg-brilliantblue_80{background-color:var(--color-brilliantblue_80, #005cc9)}.bg-brilliantblue_75{background-color:var(--color-brilliantblue_75, #0075ff)}.bg-brilliantblue_70{background-color:var(--color-brilliantblue_70, #2d8dff)}.bg-brilliantblue_60{background-color:var(--color-brilliantblue_60, #64abff)}.bg-brilliantblue_50{background-color:var(--color-brilliantblue_50, #93c4ff)}.bg-brilliantblue_40{background-color:var(--color-brilliantblue_40, #bbdaff)}.bg-brilliantblue_25{background-color:var(--color-brilliantblue_25, #d9eaff)}.bg-brilliantblue_20{background-color:var(--color-brilliantblue_20, #e6f1ff)}.bg-brilliantblue_10{background-color:var(--color-brilliantblue_10, #eff6ff)}.bg-brilliantblue_05{background-color:var(--color-brilliantblue_05, #f5faff)}.bg-grey_95{background-color:var(--color-grey_95, #222222)}.bg-grey_90{background-color:var(--color-grey_90, #333333)}.bg-grey_85{background-color:var(--color-grey_85, #444444)}.bg-grey_80{background-color:var(--color-grey_80, #555555)}.bg-grey_70{background-color:var(--color-grey_70, #737373)}.bg-grey_65{background-color:var(--color-grey_65, #888888)}.bg-grey_60{background-color:var(--color-grey_60, #999999)}.bg-grey_55{background-color:var(--color-grey_55, #aaaaaa)}.bg-grey_50{background-color:var(--color-grey_50, #bbbbbb)}.bg-grey_45{background-color:var(--color-grey_45, #cccccc)}.bg-grey_35{background-color:var(--color-grey_35, #d8d8d8)}.bg-grey_30{background-color:var(--color-grey_30, #e1e1e1)}.bg-grey_25{background-color:var(--color-grey_25, #e5e5e5)}.bg-grey_20{background-color:var(--color-grey_20, #eeeeee)}.bg-grey_10{background-color:var(--color-grey_10, #f6f6f6)}.bg-grey_05{background-color:var(--color-grey_05, #f9f9f9)}.bg-white{background-color:var(--color-white, #ffffff)}.bg-black{background-color:var(--color-black, #000000)}.text-primary{color:var(--color-primary, #051d36)}.text-secondary{color:var(--color-secondary, #555555)}.text-accent{color:var(--color-accent, #9c27b0)}.text-positive{color:var(--color-positive, #0075ff)}.text-negative{color:var(--color-negative, #e30000)}.text-info{color:var(--color-info, #00cd52)}.text-warning{color:var(--color-warning, #f2c037)}.text-red_99{color:var(--color-red_99, #220000)}.text-red_95{color:var(--color-red_95, #440000)}.text-red_90{color:var(--color-red_90, #5e0000)}.text-red_85{color:var(--color-red_85, #820000)}.text-red_80{color:var(--color-red_80, #ad0000)}.text-red_75{color:var(--color-red_75, #e30000)}.text-red_70{color:var(--color-red_70, #fb4444)}.text-red_60{color:var(--color-red_60, #ff7c7c)}.text-red_45{color:var(--color-red_45, #ffb5b5)}.text-red_30{color:var(--color-red_30, #ffd3d3)}.text-red_20{color:var(--color-red_20, #fce6e6)}.text-red_15{color:var(--color-red_15, #fcefef)}.text-caution_bg{color:var(--color-caution_bg, #fef1f1)}.text-caution_icon{color:var(--color-caution_icon, #fd9595)}.text-orange_99{color:var(--color-orange_99, #2f1100)}.text-orange_95{color:var(--color-orange_95, #4d1b00)}.text-orange_90{color:var(--color-orange_90, #752a00)}.text-orange_85{color:var(--color-orange_85, #9b3700)}.text-orange_75{color:var(--color-orange_75, #ce4900)}.text-orange_65{color:var(--color-orange_65, #ff6b00)}.text-orange_60{color:var(--color-orange_60, #ff7f22)}.text-orange_55{color:var(--color-orange_55, #ffa452)}.text-orange_45{color:var(--color-orange_45, #ffbc81)}.text-orange_35{color:var(--color-orange_35, #ffd5af)}.text-orange_20{color:var(--color-orange_20, #ffead7)}.text-orange_10{color:var(--color-orange_10, #fef1ea)}.text-header_alert{color:var(--color-header_alert, #ff7a00)}.text-yellow_95{color:var(--color-yellow_95, #322700)}.text-yellow_90{color:var(--color-yellow_90, #453702)}.text-yellow_80{color:var(--color-yellow_80, #6c5602)}.text-yellow_70{color:var(--color-yellow_70, #9c7a00)}.text-yellow_60{color:var(--color-yellow_60, #c49900)}.text-yellow_50{color:var(--color-yellow_50, #ebb800)}.text-yellow_45{color:var(--color-yellow_45, #ffc700)}.text-yellow_40{color:var(--color-yellow_40, #ffd643)}.text-yellow_30{color:var(--color-yellow_30, #fee17c)}.text-yellow_25{color:var(--color-yellow_25, #ffe99e)}.text-yellow_20{color:var(--color-yellow_20, #fef1c4)}.text-yellow_10{color:var(--color-yellow_10, #fff7dd)}.text-olive_95{color:var(--color-olive_95, #2c2c00)}.text-olive_90{color:var(--color-olive_90, #454500)}.text-olive_80{color:var(--color-olive_80, #636300)}.text-olive_70{color:var(--color-olive_70, #838300)}.text-olive_65{color:var(--color-olive_65, #a5a500)}.text-olive_55{color:var(--color-olive_55, #c7c700)}.text-olive_45{color:var(--color-olive_45, #dddd12)}.text-olive_30{color:var(--color-olive_30, #eeee37)}.text-olive_20{color:var(--color-olive_20, #f6f65f)}.text-olive_15{color:var(--color-olive_15, #fafaa1)}.text-olive_10{color:var(--color-olive_10, #fbfbbf)}.text-olive_05{color:var(--color-olive_05, #fefed9)}.text-green_99{color:var(--color-green_99, #001d0b)}.text-green_95{color:var(--color-green_95, #003013)}.text-green_90{color:var(--color-green_90, #00461c)}.text-green_85{color:var(--color-green_85, #006629)}.text-green_80{color:var(--color-green_80, #007b31)}.text-green_75{color:var(--color-green_75, #00973c)}.text-green_70{color:var(--color-green_70, #12b553)}.text-green_65{color:var(--color-green_65, #2bce6c)}.text-green_55{color:var(--color-green_55, #6de39c)}.text-green_45{color:var(--color-green_45, #acf4c9)}.text-green_25{color:var(--color-green_25, #d4fae3)}.text-green_15{color:var(--color-green_15, #e8f9ef)}.text-steelblue_99{color:var(--color-steelblue_99, #021a25)}.text-steelblue_95{color:var(--color-steelblue_95, #02212f)}.text-steelblue_90{color:var(--color-steelblue_90, #032d40)}.text-steelblue_85{color:var(--color-steelblue_85, #033f59)}.text-steelblue_80{color:var(--color-steelblue_80, #06587d)}.text-steelblue_75{color:var(--color-steelblue_75, #066d9b)}.text-steelblue_70{color:var(--color-steelblue_70, #128fc7)}.text-steelblue_65{color:var(--color-steelblue_65, #229fd7)}.text-steelblue_60{color:var(--color-steelblue_60, #50bff0)}.text-steelblue_45{color:var(--color-steelblue_45, #a4e2fd)}.text-steelblue_25{color:var(--color-steelblue_25, #d9f2fd)}.text-steelblue_10{color:var(--color-steelblue_10, #ecf8fd)}.text-oceanblue_99{color:var(--color-oceanblue_99, #011428)}.text-oceanblue_95{color:var(--color-oceanblue_95, #03172d)}.text-oceanblue_90{color:var(--color-oceanblue_90, #051d36)}.text-oceanblue_85{color:var(--color-oceanblue_85, #07284a)}.text-oceanblue_80{color:var(--color-oceanblue_80, #004177)}.text-oceanblue_75{color:var(--color-oceanblue_75, #025497)}.text-oceanblue_70{color:var(--color-oceanblue_70, #006ac1)}.text-oceanblue_65{color:var(--color-oceanblue_65, #1f8ae1)}.text-oceanblue_60{color:var(--color-oceanblue_60, #5cb0f3)}.text-oceanblue_50{color:var(--color-oceanblue_50, #9cd1fc)}.text-oceanblue_25{color:var(--color-oceanblue_25, #d5ebfe)}.text-oceanblue_15{color:var(--color-oceanblue_15, #eaf5fe)}.text-brilliantblue_99{color:var(--color-brilliantblue_99, #001226)}.text-brilliantblue_95{color:var(--color-brilliantblue_95, #001b39)}.text-brilliantblue_90{color:var(--color-brilliantblue_90, #002b5e)}.text-brilliantblue_85{color:var(--color-brilliantblue_85, #004290)}.text-brilliantblue_80{color:var(--color-brilliantblue_80, #005cc9)}.text-brilliantblue_75{color:var(--color-brilliantblue_75, #0075ff)}.text-brilliantblue_70{color:var(--color-brilliantblue_70, #2d8dff)}.text-brilliantblue_60{color:var(--color-brilliantblue_60, #64abff)}.text-brilliantblue_50{color:var(--color-brilliantblue_50, #93c4ff)}.text-brilliantblue_40{color:var(--color-brilliantblue_40, #bbdaff)}.text-brilliantblue_25{color:var(--color-brilliantblue_25, #d9eaff)}.text-brilliantblue_20{color:var(--color-brilliantblue_20, #e6f1ff)}.text-brilliantblue_10{color:var(--color-brilliantblue_10, #eff6ff)}.text-brilliantblue_05{color:var(--color-brilliantblue_05, #f5faff)}.text-grey_95{color:var(--color-grey_95, #222222)}.text-grey_90{color:var(--color-grey_90, #333333)}.text-grey_85{color:var(--color-grey_85, #444444)}.text-grey_80{color:var(--color-grey_80, #555555)}.text-grey_70{color:var(--color-grey_70, #737373)}.text-grey_65{color:var(--color-grey_65, #888888)}.text-grey_60{color:var(--color-grey_60, #999999)}.text-grey_55{color:var(--color-grey_55, #aaaaaa)}.text-grey_50{color:var(--color-grey_50, #bbbbbb)}.text-grey_45{color:var(--color-grey_45, #cccccc)}.text-grey_35{color:var(--color-grey_35, #d8d8d8)}.text-grey_30{color:var(--color-grey_30, #e1e1e1)}.text-grey_25{color:var(--color-grey_25, #e5e5e5)}.text-grey_20{color:var(--color-grey_20, #eeeeee)}.text-grey_10{color:var(--color-grey_10, #f6f6f6)}.text-grey_05{color:var(--color-grey_05, #f9f9f9)}.text-white{color:var(--color-white, #ffffff)}.text-black{color:var(--color-black, #000000)}*,*::before,*::after{box-sizing:border-box}*{scroll-behavior:smooth}*::-webkit-scrollbar{opacity:0;width:8px;background:#E5E5E5}*::-webkit-scrollbar:horizontal{height:8px}*::-webkit-scrollbar-thumb{height:80px;background-color:#CCCCCC;border-radius:4px}*::-webkit-scrollbar-track{background-color:#E5E5E5}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-size:inherit}:target{scroll-margin-block:5ex}button{background:none;border:none;cursor:pointer;padding:0;outline:0}button:focus{outline:0 !important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}input:autofill,input:autofill:hover,input:autofill:focus,input:autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}input[type=text],input[type=number],input[type=password],input[type=email],input[type=tel],textarea{padding-block:0px;padding-inline:0px}.sd-hoverable:hover>.sd-focus-helper{background:currentColor;opacity:0.15}.sd-hoverable:hover>.sd-focus-helper:before{opacity:0.1}.sd-hoverable:hover>.sd-focus-helper:after{opacity:0.4}.sd-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:0;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before,.sd-focus-helper:after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.6s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before{background:#000000}.sd-focus-helper:after{background:#ffffff}";
|
|
139
|
+
const globalStyles = ":root{--color-primary:#051D36;--sd-primary:#051D36;--color-secondary:#555555;--sd-secondary:#555555;--color-accent:#9C27B0;--sd-accent:#9C27B0;--color-positive:#0075FF;--sd-positive:#0075FF;--color-negative:#E30000;--sd-negative:#E30000;--color-info:#00CD52;--sd-info:#00CD52;--color-warning:#F2C037;--sd-warning:#F2C037;--color-caution_bg:#FEF1F1;--sd-caution_bg:#FEF1F1;--color-caution_icon:#FD9595;--sd-caution_icon:#FD9595;--color-header_alert:#FF7A00;--sd-header_alert:#FF7A00;--color-white:#FFFFFF;--sd-white:#FFFFFF;--color-black:#000000;--sd-black:#000000;--color-grey_10:#F6F6F6;--sd-grey_10:#F6F6F6;--color-grey_20:#EEEEEE;--sd-grey_20:#EEEEEE;--color-grey_25:#E5E5E5;--sd-grey_25:#E5E5E5;--color-grey_30:#E1E1E1;--sd-grey_30:#E1E1E1;--color-grey_35:#D8D8D8;--sd-grey_35:#D8D8D8;--color-grey_45:#CCCCCC;--sd-grey_45:#CCCCCC;--color-grey_50:#BBBBBB;--sd-grey_50:#BBBBBB;--color-grey_55:#AAAAAA;--sd-grey_55:#AAAAAA;--color-grey_60:#999999;--sd-grey_60:#999999;--color-grey_65:#888888;--sd-grey_65:#888888;--color-grey_70:#737373;--sd-grey_70:#737373;--color-grey_80:#555555;--sd-grey_80:#555555;--color-grey_85:#444444;--sd-grey_85:#444444;--color-grey_90:#333333;--sd-grey_90:#333333;--color-grey_95:#222222;--sd-grey_95:#222222;--color-grey_05:#F9F9F9;--sd-grey_05:#F9F9F9;--color-red_15:#FCEFEF;--sd-red_15:#FCEFEF;--color-red_20:#FCE6E6;--sd-red_20:#FCE6E6;--color-red_30:#FFD3D3;--sd-red_30:#FFD3D3;--color-red_45:#FFB5B5;--sd-red_45:#FFB5B5;--color-red_60:#FF7C7C;--sd-red_60:#FF7C7C;--color-red_70:#FB4444;--sd-red_70:#FB4444;--color-red_75:#E30000;--sd-red_75:#E30000;--color-red_75_006:#E30000;--sd-red_75_006:#E30000;--color-red_80:#AD0000;--sd-red_80:#AD0000;--color-red_85:#820000;--sd-red_85:#820000;--color-red_90:#5E0000;--sd-red_90:#5E0000;--color-red_95:#440000;--sd-red_95:#440000;--color-red_99:#220000;--sd-red_99:#220000;--color-orange_10:#FEF1EA;--sd-orange_10:#FEF1EA;--color-orange_20:#FFEAD7;--sd-orange_20:#FFEAD7;--color-orange_35:#FFD5AF;--sd-orange_35:#FFD5AF;--color-orange_45:#FFBC81;--sd-orange_45:#FFBC81;--color-orange_55:#FFA452;--sd-orange_55:#FFA452;--color-orange_60:#FF7F22;--sd-orange_60:#FF7F22;--color-orange_65:#FF6B00;--sd-orange_65:#FF6B00;--color-orange_75:#CE4900;--sd-orange_75:#CE4900;--color-orange_85:#9B3700;--sd-orange_85:#9B3700;--color-orange_90:#752A00;--sd-orange_90:#752A00;--color-orange_95:#4D1B00;--sd-orange_95:#4D1B00;--color-orange_99:#2F1100;--sd-orange_99:#2F1100;--color-yellow_10:#FFF7DD;--sd-yellow_10:#FFF7DD;--color-yellow_20:#FEF1C4;--sd-yellow_20:#FEF1C4;--color-yellow_25:#FFE99E;--sd-yellow_25:#FFE99E;--color-yellow_30:#FEE17C;--sd-yellow_30:#FEE17C;--color-yellow_40:#FFD643;--sd-yellow_40:#FFD643;--color-yellow_45:#FFC700;--sd-yellow_45:#FFC700;--color-yellow_50:#EBB110;--sd-yellow_50:#EBB110;--color-yellow_60:#CA9612;--sd-yellow_60:#CA9612;--color-yellow_70:#916C0D;--sd-yellow_70:#916C0D;--color-yellow_80:#6C5002;--sd-yellow_80:#6C5002;--color-yellow_90:#453602;--sd-yellow_90:#453602;--color-yellow_95:#322700;--sd-yellow_95:#322700;--color-olive_10:#FBFBBF;--sd-olive_10:#FBFBBF;--color-olive_15:#FAFAA1;--sd-olive_15:#FAFAA1;--color-olive_20:#F6F65F;--sd-olive_20:#F6F65F;--color-olive_30:#EEEE37;--sd-olive_30:#EEEE37;--color-olive_45:#DDDD12;--sd-olive_45:#DDDD12;--color-olive_55:#C7C700;--sd-olive_55:#C7C700;--color-olive_65:#A5A500;--sd-olive_65:#A5A500;--color-olive_70:#838300;--sd-olive_70:#838300;--color-olive_80:#636300;--sd-olive_80:#636300;--color-olive_90:#454500;--sd-olive_90:#454500;--color-olive_95:#2C2C00;--sd-olive_95:#2C2C00;--color-olive_05:#FEFED9;--sd-olive_05:#FEFED9;--color-green_15:#E8F9EF;--sd-green_15:#E8F9EF;--color-green_25:#D4FAE3;--sd-green_25:#D4FAE3;--color-green_45:#ACF4C9;--sd-green_45:#ACF4C9;--color-green_55:#6DE39C;--sd-green_55:#6DE39C;--color-green_65:#2BCE6C;--sd-green_65:#2BCE6C;--color-green_70:#12B553;--sd-green_70:#12B553;--color-green_75:#00973C;--sd-green_75:#00973C;--color-green_80:#007B31;--sd-green_80:#007B31;--color-green_85:#006629;--sd-green_85:#006629;--color-green_90:#00461C;--sd-green_90:#00461C;--color-green_95:#003013;--sd-green_95:#003013;--color-green_99:#001D0B;--sd-green_99:#001D0B;--color-steelblue_10:#ECF8FD;--sd-steelblue_10:#ECF8FD;--color-steelblue_25:#D9F2FD;--sd-steelblue_25:#D9F2FD;--color-steelblue_45:#A4E2FD;--sd-steelblue_45:#A4E2FD;--color-steelblue_60:#50BFF0;--sd-steelblue_60:#50BFF0;--color-steelblue_65:#229FD7;--sd-steelblue_65:#229FD7;--color-steelblue_70:#128FC7;--sd-steelblue_70:#128FC7;--color-steelblue_75:#066D9B;--sd-steelblue_75:#066D9B;--color-steelblue_80:#06587D;--sd-steelblue_80:#06587D;--color-steelblue_85:#033F59;--sd-steelblue_85:#033F59;--color-steelblue_90:#032D40;--sd-steelblue_90:#032D40;--color-steelblue_95:#02212F;--sd-steelblue_95:#02212F;--color-steelblue_99:#021A25;--sd-steelblue_99:#021A25;--color-oceanblue_15:#EAF5FE;--sd-oceanblue_15:#EAF5FE;--color-oceanblue_25:#D5EBFE;--sd-oceanblue_25:#D5EBFE;--color-oceanblue_50:#9CD1FC;--sd-oceanblue_50:#9CD1FC;--color-oceanblue_60:#5CB0F3;--sd-oceanblue_60:#5CB0F3;--color-oceanblue_65:#1F8AE1;--sd-oceanblue_65:#1F8AE1;--color-oceanblue_70:#006AC1;--sd-oceanblue_70:#006AC1;--color-oceanblue_75:#025497;--sd-oceanblue_75:#025497;--color-oceanblue_80:#004177;--sd-oceanblue_80:#004177;--color-oceanblue_85:#07284A;--sd-oceanblue_85:#07284A;--color-oceanblue_90:#051D36;--sd-oceanblue_90:#051D36;--color-oceanblue_95:#03172D;--sd-oceanblue_95:#03172D;--color-oceanblue_99:#011428;--sd-oceanblue_99:#011428;--color-brilliantblue_10:#EFF6FF;--sd-brilliantblue_10:#EFF6FF;--color-brilliantblue_20:#E6F1FF;--sd-brilliantblue_20:#E6F1FF;--color-brilliantblue_25:#D9EAFF;--sd-brilliantblue_25:#D9EAFF;--color-brilliantblue_40:#BBDAFF;--sd-brilliantblue_40:#BBDAFF;--color-brilliantblue_50:#93C4FF;--sd-brilliantblue_50:#93C4FF;--color-brilliantblue_60:#64ABFF;--sd-brilliantblue_60:#64ABFF;--color-brilliantblue_70:#2D8DFF;--sd-brilliantblue_70:#2D8DFF;--color-brilliantblue_75:#0075FF;--sd-brilliantblue_75:#0075FF;--color-brilliantblue_80:#005CC9;--sd-brilliantblue_80:#005CC9;--color-brilliantblue_85:#004290;--sd-brilliantblue_85:#004290;--color-brilliantblue_90:#002B5E;--sd-brilliantblue_90:#002B5E;--color-brilliantblue_95:#001B39;--sd-brilliantblue_95:#001B39;--color-brilliantblue_99:#001226;--sd-brilliantblue_99:#001226;--color-brilliantblue_05:#F5FAFF;--sd-brilliantblue_05:#F5FAFF;--sd-system-typography-control-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-default-font-size:12px;--sd-system-typography-control-xs-default-font-weight:400;--sd-system-typography-control-xs-default-text-decoration:none;--sd-system-typography-control-xs-default-line-height:20px;--sd-system-typography-control-xs-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-medium-font-size:12px;--sd-system-typography-control-xs-medium-font-weight:500;--sd-system-typography-control-xs-medium-text-decoration:none;--sd-system-typography-control-xs-medium-line-height:20px;--sd-system-typography-control-xs-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-underline-font-size:12px;--sd-system-typography-control-xs-underline-font-weight:500;--sd-system-typography-control-xs-underline-text-decoration:underline;--sd-system-typography-control-xs-underline-line-height:20px;--sd-system-typography-control-xs-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-bold-font-weight:700;--sd-system-typography-control-xs-bold-font-size:12px;--sd-system-typography-control-xs-bold-line-height:20px;--sd-system-typography-control-xs-bold-text-decoration:none;--sd-system-typography-control-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-default-font-size:14px;--sd-system-typography-control-sm-default-font-weight:500;--sd-system-typography-control-sm-default-text-decoration:none;--sd-system-typography-control-sm-default-line-height:24px;--sd-system-typography-control-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-underline-font-size:14px;--sd-system-typography-control-sm-underline-font-weight:500;--sd-system-typography-control-sm-underline-text-decoration:underline;--sd-system-typography-control-sm-underline-line-height:24px;--sd-system-typography-control-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-default-font-size:16px;--sd-system-typography-control-md-default-font-weight:500;--sd-system-typography-control-md-default-text-decoration:none;--sd-system-typography-control-md-default-line-height:26px;--sd-system-typography-control-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-underline-font-size:16px;--sd-system-typography-control-md-underline-font-weight:500;--sd-system-typography-control-md-underline-text-decoration:underline;--sd-system-typography-control-md-underline-line-height:26px;--sd-system-typography-control-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-lg-font-size:18px;--sd-system-typography-control-lg-font-weight:500;--sd-system-typography-control-lg-text-decoration:none;--sd-system-typography-control-lg-line-height:30px;--sd-system-typography-feedback-xs-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-xs-font-size:11px;--sd-system-typography-feedback-xs-font-weight:500;--sd-system-typography-feedback-xs-line-height:18px;--sd-system-typography-feedback-xs-text-decoration:none;--sd-system-typography-feedback-sm-regular-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-regular-font-size:12px;--sd-system-typography-feedback-sm-regular-font-weight:400;--sd-system-typography-feedback-sm-regular-line-height:20px;--sd-system-typography-feedback-sm-regular-text-decoration:none;--sd-system-typography-feedback-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-medium-font-size:12px;--sd-system-typography-feedback-sm-medium-font-weight:500;--sd-system-typography-feedback-sm-medium-line-height:20px;--sd-system-typography-feedback-sm-medium-text-decoration:none;--sd-system-typography-feedback-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-bold-font-size:12px;--sd-system-typography-feedback-sm-bold-font-weight:700;--sd-system-typography-feedback-sm-bold-text-decoration:none;--sd-system-typography-feedback-sm-bold-line-height:20px;--sd-system-typography-feedback-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-underline-font-size:12px;--sd-system-typography-feedback-sm-underline-font-weight:500;--sd-system-typography-feedback-sm-underline-line-height:20px;--sd-system-typography-feedback-sm-underline-text-decoration:underline;--sd-system-typography-feedback-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-bold-font-size:14px;--sd-system-typography-feedback-md-bold-font-weight:700;--sd-system-typography-feedback-md-bold-line-height:24px;--sd-system-typography-feedback-md-bold-text-decoration:none;--sd-system-typography-feedback-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-medium-font-size:14px;--sd-system-typography-feedback-md-medium-font-weight:500;--sd-system-typography-feedback-md-medium-line-height:24px;--sd-system-typography-feedback-md-medium-text-decoration:none;--sd-system-typography-feedback-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-underline-font-size:14px;--sd-system-typography-feedback-md-underline-font-weight:700;--sd-system-typography-feedback-md-underline-line-height:24px;--sd-system-typography-feedback-md-underline-text-decoration:underline;--sd-system-typography-heading-sm-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-sm-font-weight:700;--sd-system-typography-heading-sm-font-size:14px;--sd-system-typography-heading-sm-line-height:24px;--sd-system-typography-heading-sm-text-decoration:none;--sd-system-typography-heading-md-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-md-font-weight:700;--sd-system-typography-heading-md-font-size:16px;--sd-system-typography-heading-md-text-decoration:none;--sd-system-typography-heading-md-line-height:26px;--sd-system-typography-heading-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-lg-font-weight:700;--sd-system-typography-heading-lg-font-size:18px;--sd-system-typography-heading-lg-line-height:30px;--sd-system-typography-heading-lg-text-decoration:none;--sd-system-typography-field-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-xs-default-font-weight:400;--sd-system-typography-field-xs-default-font-size:11px;--sd-system-typography-field-xs-default-line-height:18px;--sd-system-typography-field-xs-default-text-decoration:none;--sd-system-typography-field-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-default-font-weight:400;--sd-system-typography-field-sm-default-font-size:12px;--sd-system-typography-field-sm-default-line-height:20px;--sd-system-typography-field-sm-default-text-decoration:none;--sd-system-typography-field-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-medium-font-weight:500;--sd-system-typography-field-sm-medium-font-size:12px;--sd-system-typography-field-sm-medium-text-decoration:none;--sd-system-typography-field-sm-medium-line-height:20px;--sd-system-typography-field-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-bold-font-weight:700;--sd-system-typography-field-sm-bold-font-size:12px;--sd-system-typography-field-sm-bold-text-decoration:none;--sd-system-typography-field-sm-bold-line-height:20px;--sd-system-typography-field-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-default-font-weight:400;--sd-system-typography-field-md-default-font-size:14px;--sd-system-typography-field-md-default-text-decoration:none;--sd-system-typography-field-md-default-line-height:24px;--sd-system-typography-field-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-medium-font-weight:500;--sd-system-typography-field-md-medium-font-size:14px;--sd-system-typography-field-md-medium-text-decoration:none;--sd-system-typography-field-md-medium-line-height:24px;--sd-system-typography-field-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-bold-font-weight:700;--sd-system-typography-field-md-bold-font-size:14px;--sd-system-typography-field-md-bold-text-decoration:none;--sd-system-typography-field-md-bold-line-height:24px;--sd-system-typography-field-lg-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-default-font-weight:400;--sd-system-typography-field-lg-default-font-size:16px;--sd-system-typography-field-lg-default-line-height:26px;--sd-system-typography-field-lg-default-text-decoration:none;--sd-system-typography-field-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-medium-font-weight:500;--sd-system-typography-field-lg-medium-font-size:16px;--sd-system-typography-field-lg-medium-line-height:26px;--sd-system-typography-field-lg-medium-text-decoration:none;--sd-system-typography-field-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-bold-font-weight:700;--sd-system-typography-field-lg-bold-font-size:16px;--sd-system-typography-field-lg-bold-line-height:26px;--sd-system-typography-field-lg-bold-text-decoration:none;--sd-system-typography-navigation-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-default-font-weight:400;--sd-system-typography-navigation-sm-default-font-size:12px;--sd-system-typography-navigation-sm-default-line-height:20px;--sd-system-typography-navigation-sm-default-text-decoration:none;--sd-system-typography-navigation-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-medium-font-weight:500;--sd-system-typography-navigation-sm-medium-font-size:12px;--sd-system-typography-navigation-sm-medium-line-height:20px;--sd-system-typography-navigation-sm-medium-text-decoration:none;--sd-system-typography-navigation-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-bold-font-weight:700;--sd-system-typography-navigation-sm-bold-font-size:12px;--sd-system-typography-navigation-sm-bold-line-height:20px;--sd-system-typography-navigation-sm-bold-text-decoration:none;--sd-system-typography-navigation-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-md-bold-font-weight:700;--sd-system-typography-navigation-md-bold-font-size:13px;--sd-system-typography-navigation-md-bold-line-height:22px;--sd-system-typography-navigation-md-bold-text-decoration:none;--sd-system-typography-navigation-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-medium-font-weight:500;--sd-system-typography-navigation-lg-medium-font-size:14px;--sd-system-typography-navigation-lg-medium-line-height:24px;--sd-system-typography-navigation-lg-medium-text-decoration:none;--sd-system-typography-navigation-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-bold-font-weight:700;--sd-system-typography-navigation-lg-bold-font-size:14px;--sd-system-typography-navigation-lg-bold-line-height:24px;--sd-system-typography-navigation-lg-bold-text-decoration:none;--sd-system-typography-table-header-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-header-font-weight:500;--sd-system-typography-table-header-font-size:12px;--sd-system-typography-table-header-line-height:20px;--sd-system-typography-table-header-text-decoration:none;--sd-system-typography-table-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-body-font-weight:400;--sd-system-typography-table-body-font-size:12px;--sd-system-typography-table-body-line-height:20px;--sd-system-typography-table-body-text-decoration:none;--sd-system-typography-table-accent-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-accent-font-weight:700;--sd-system-typography-table-accent-font-size:12px;--sd-system-typography-table-accent-line-height:20px;--sd-system-typography-table-accent-text-decoration:none;--sd-system-size-control-xs-height:24px;--sd-system-size-control-sm-height:28px;--sd-system-size-control-md-height:36px;--sd-system-size-control-lg-height:62px;--sd-system-size-icon-xxxs:8px;--sd-system-size-icon-xxs:10px;--sd-system-size-icon-xs:12px;--sd-system-size-icon-sm:16px;--sd-system-size-icon-md:20px;--sd-system-size-icon-lg:24px;--sd-system-size-icon-xl:32px;--sd-system-size-feedback-arrow-width:16px;--sd-system-size-feedback-arrow-height:12px;--sd-system-size-feedback-xs-height:20px;--sd-system-size-feedback-sm-height:24px;--sd-system-size-feedback-md-height:28px;--sd-system-size-field-control:16px;--sd-system-size-field-icon:12px;--sd-system-size-field-sm-height:28px;--sd-system-size-field-md-height:36px;--sd-system-size-navigation-lg-height:44px;--sd-system-size-navigation-md-height:36px;--sd-system-size-navigation-gnb-topbar-height:56px;--sd-system-size-table-height-xs:32px;--sd-system-size-table-height-sm:36px;--sd-system-size-table-height-md:44px;--sd-system-space-control-xs-padding-x:8px;--sd-system-space-control-xs-gap:4px;--sd-system-space-control-sm-padding-x:12px;--sd-system-space-control-sm-gap:6px;--sd-system-space-control-md-padding-x:20px;--sd-system-space-control-md-gap:8px;--sd-system-space-control-lg-padding-x:28px;--sd-system-space-control-lg-gap:12px;--sd-system-space-feedback-xs-padding-x:6px;--sd-system-space-feedback-xs-gap:4px;--sd-system-space-feedback-sm-padding-x:8px;--sd-system-space-feedback-sm-gap:6px;--sd-system-space-feedback-md-padding-x:12px;--sd-system-space-feedback-md-gap:8px;--sd-system-space-feedback-lg-padding-x:16px;--sd-system-space-feedback-lg-gap:12px;--sd-system-space-stack-gap-tight:2px;--sd-system-space-stack-gap-normal:4px;--sd-system-space-stack-gap-relaxed:8px;--sd-system-space-field-sm-padding-x:12px;--sd-system-space-field-sm-padding-y:4px;--sd-system-space-field-sm-container-gap:8px;--sd-system-space-field-sm-gap:12px;--sd-system-space-field-md-padding-x:16px;--sd-system-space-field-md-padding-y:8px;--sd-system-space-field-md-container-gap:12px;--sd-system-space-field-md-gap:16px;--sd-system-space-navigation-lg-padding-x:32px;--sd-system-space-navigation-md-padding-x:24px;--sd-system-space-table-padding-sm:8px;--sd-system-space-table-padding-md:16px;--sd-system-space-action-gap:16px;--sd-system-space-overlay-padding-x-sm:20px;--sd-system-space-overlay-padding-x-md:24px;--sd-system-space-overlay-padding-y-sm:8px;--sd-system-space-panel-gap:12px;--sd-system-radius-control-sm:4px;--sd-system-radius-control-md:6px;--sd-system-radius-feedback-xs-square:6px;--sd-system-radius-feedback-sm-square:8px;--sd-system-radius-feedback-pill:9999px;--sd-system-radius-field-sm:4px;--sd-system-radius-field-md:6px;--sd-system-radius-navigation:6px;--sd-system-border-width-control-default:1px;--sd-system-border-width-field-default:1px;--sd-system-border-width-navigation-default:1px;--sd-system-color-bg-screen:#EEEEEE;--sd-system-color-bg-frame:#FFFFFF;--sd-system-color-bg-brand:#025497;--sd-system-color-bg-subtle:#1F8AE1;--sd-system-color-bg-accent-default:#0075FF;--sd-system-color-bg-accent-light:#F5FAFF;--sd-system-color-bg-accent-light-default:#2D8DFF;--sd-system-color-bg-accent-light-light:#F5FAFF;--sd-system-color-bg-accent-bright-default:#D9EAFF;--sd-system-color-bg-accent-bright-light:#F5FAFF;--sd-system-color-bg-deep:#07284A;--sd-system-color-bg-danger-default:#E30000;--sd-system-color-bg-danger-light:#FCEFEF;--sd-system-color-bg-danger-light-default:#FB4444;--sd-system-color-bg-danger-light-light:#FCEFEF;--sd-system-color-bg-warning:#FF6B00;--sd-system-color-bg-caution:#FFC700;--sd-system-color-bg-progress:#0075FF;--sd-system-color-bg-success-default:#00973C;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-neutral-light:#F6F6F6;--sd-system-color-bg-table-header:#F5FAFF;--sd-system-color-fg-primary:#222222;--sd-system-color-fg-secondary:#555555;--sd-system-color-fg-tertiary:#888888;--sd-system-color-fg-quaternary:#AAAAAA;--sd-system-color-fg-brand:#005CC9;--sd-system-color-fg-subtle-warm:#066D9B;--sd-system-color-fg-subtle-cool:#025497;--sd-system-color-fg-deep:#004290;--sd-system-color-fg-success:#00973C;--sd-system-color-fg-danger-light:#FB4444;--sd-system-color-fg-accent:#0075FF;--sd-system-color-fg-danger:#E30000;--sd-system-color-fg-warning:#FF6B00;--sd-system-color-fg-inverse:#FFFFFF;--sd-system-color-disabled-bg:#E1E1E1;--sd-system-color-disabled-text:#888888;--sd-system-color-disabled-icon:#BBBBBB;--sd-system-color-disabled-border:#CCCCCC;--sd-system-color-link-accent:#006AC1;--sd-system-color-divider-default:#E1E1E1;--sd-system-color-border-default:#E1E1E1;--sd-system-color-border-accent:#0075FF;--sd-system-color-border-accent-light:#93C4FF;--sd-system-color-border-danger:#FB4444;--sd-system-color-border-success:#12B553;--sd-system-color-red-strong:#FB4444;--sd-system-color-red-subtle:#FCEFEF;--sd-system-color-orange-strong:#FF6B00;--sd-system-color-orange-subtle:#FEF1EA;--sd-system-color-yellow-strong:#916C0D;--sd-system-color-yellow-moderate:#FFC700;--sd-system-color-yellow-subtle:#FFF7DD;--sd-system-color-green-strong:#00973C;--sd-system-color-green-subtle:#E8F9EF;--sd-system-color-blue-strong:#0075FF;--sd-system-color-blue-subtle:#E6F1FF;--sd-system-color-darkblue-strong:#006AC1;--sd-system-color-darkblue-subtle:#EAF5FE;--sd-system-color-indigo-strong:#004290;--sd-system-color-indigo-subtle:#EFF6FF;--sd-system-color-grey-strong:#737373;--sd-system-color-grey-subtle:#EEEEEE;--sd-system-color-field-bg-default:#FFFFFF;--sd-system-color-field-bg-hover:#0075FF;--sd-system-color-field-bg-read-only:#EEEEEE;--sd-system-color-field-border-default:#AAAAAA;--sd-system-color-field-border-focus:#0075FF;--sd-system-color-field-border-hover:#0075FF;--sd-system-color-field-border-danger:#FB4444;--sd-system-color-field-border-success:#12B553;--sd-system-color-field-text-default:#222222;--sd-system-color-field-text-placeholder:#AAAAAA;--sd-system-color-field-text-read-only:#555555;--sd-system-color-field-icon-default:#888888;--sd-system-color-control-bg-inverse-hover:#0075FF;--sd-system-color-navigation-gnb-bg-dark:#001B39;--sd-system-shadow-spread-sm-x:0px;--sd-system-shadow-spread-sm-y:0px;--sd-system-shadow-spread-sm-blur:8px;--sd-system-shadow-spread-sm-spread:0px;--sd-system-shadow-spread-sm-color:rgba(34,34,34,0.1);--sd-system-shadow-spread-sm-type:dropShadow;--sd-system-shadow-spread-md-x:0px;--sd-system-shadow-spread-md-y:0px;--sd-system-shadow-spread-md-blur:24px;--sd-system-shadow-spread-md-spread:0px;--sd-system-shadow-spread-md-color:rgba(34,34,34,0.2);--sd-system-shadow-spread-md-type:dropShadow;--sd-system-shadow-focus-x:0px;--sd-system-shadow-focus-y:0px;--sd-system-shadow-focus-blur:8px;--sd-system-shadow-focus-spread:0px;--sd-system-shadow-focus-color:rgba(0,117,255,0.25);--sd-system-shadow-focus-type:dropShadow;--sd-button-button-xs-height:24px;--sd-button-button-xs-padding-x:8px;--sd-button-button-xs-gap:4px;--sd-button-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-xs-typography-font-size:12px;--sd-button-button-xs-typography-font-weight:500;--sd-button-button-xs-typography-text-decoration:none;--sd-button-button-xs-typography-line-height:20px;--sd-button-button-xs-icon:12px;--sd-button-button-sm-height:28px;--sd-button-button-sm-padding-x:12px;--sd-button-button-sm-gap:6px;--sd-button-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-sm-typography-font-size:12px;--sd-button-button-sm-typography-font-weight:500;--sd-button-button-sm-typography-text-decoration:none;--sd-button-button-sm-typography-line-height:20px;--sd-button-button-sm-icon:16px;--sd-button-button-md-height:36px;--sd-button-button-md-padding-x:20px;--sd-button-button-md-gap:8px;--sd-button-button-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-md-typography-font-size:16px;--sd-button-button-md-typography-font-weight:500;--sd-button-button-md-typography-text-decoration:none;--sd-button-button-md-typography-line-height:26px;--sd-button-button-md-icon:20px;--sd-button-button-lg-height:62px;--sd-button-button-lg-padding-x:28px;--sd-button-button-lg-gap:12px;--sd-button-button-lg-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-lg-typography-font-size:18px;--sd-button-button-lg-typography-font-weight:500;--sd-button-button-lg-typography-text-decoration:none;--sd-button-button-lg-typography-line-height:30px;--sd-button-button-lg-icon:24px;--sd-button-button-radius-sm:4px;--sd-button-button-radius-md:6px;--sd-button-button-border-width-default:1px;--sd-button-button-border-disabled:#CCCCCC;--sd-button-button-icon-only-xs-width:24px;--sd-button-button-icon-only-sm-width:28px;--sd-button-button-icon-only-md-width:36px;--sd-button-button-icon-only-lg-width:62px;--sd-button-button-bg-disabled:#E1E1E1;--sd-button-button-text-disabled:#888888;--sd-button-button-icon-disabled:#BBBBBB;--sd-button-button-brand-strong-bg-default:#025497;--sd-button-button-brand-strong-bg-hover:#004177;--sd-button-button-brand-strong-content:#FFFFFF;--sd-button-button-brand-subtle-bg-default:#1F8AE1;--sd-button-button-brand-subtle-bg-hover:#006AC1;--sd-button-button-brand-subtle-content:#FFFFFF;--sd-button-button-brand-outline-bg-default:#FFFFFF;--sd-button-button-brand-outline-bg-hover:#EAF5FE;--sd-button-button-brand-outline-border:#025497;--sd-button-button-brand-outline-content:#025497;--sd-button-button-dropdown-brand-strong-split:#006AC1;--sd-button-button-dropdown-brand-subtle-split:#5CB0F3;--sd-button-button-dropdown-danger-strong-split:#FF7C7C;--sd-button-button-dropdown-xs-arrow:12px;--sd-button-button-dropdown-xs-gap:6px;--sd-button-button-dropdown-sm-arrow:12px;--sd-button-button-dropdown-sm-gap:8px;--sd-button-button-dropdown-md-arrow:16px;--sd-button-button-dropdown-md-gap:16px;--sd-button-button-neutral-outline-bg-default:#FFFFFF;--sd-button-button-neutral-outline-bg-hover:#EEEEEE;--sd-button-button-neutral-outline-border:#888888;--sd-button-button-neutral-outline-text:#222222;--sd-button-button-neutral-outline-icon:#555555;--sd-button-button-danger-strong-bg-default:#E30000;--sd-button-button-danger-strong-bg-hover:#AD0000;--sd-button-button-danger-strong-content:#FFFFFF;--sd-button-button-danger-outline-bg-default:#FFFFFF;--sd-button-button-danger-outline-bg-hover:#FCEFEF;--sd-button-button-danger-outline-border:#E30000;--sd-button-button-danger-outline-content:#E30000;--sd-ghost-button-ghost-button-xxs-size:16px;--sd-ghost-button-ghost-button-xxs-icon:12px;--sd-ghost-button-ghost-button-xs-size:24px;--sd-ghost-button-ghost-button-xs-icon:16px;--sd-ghost-button-ghost-button-sm-size:28px;--sd-ghost-button-ghost-button-sm-icon:20px;--sd-ghost-button-ghost-button-md-size:36px;--sd-ghost-button-ghost-button-md-icon:24px;--sd-ghost-button-ghost-button-lg-size:62px;--sd-ghost-button-ghost-button-lg-icon:32px;--sd-ghost-button-ghost-button-radius-sm:4px;--sd-ghost-button-ghost-button-radius-md:6px;--sd-ghost-button-ghost-button-hover-opacity:5%;--sd-ghost-button-ghost-button-icon-disabled:#BBBBBB;--sd-ghost-button-ghost-button-default-content:#888888;--sd-ghost-button-ghost-button-default-hover-bg:#222222;--sd-ghost-button-ghost-button-danger-content:#E30000;--sd-ghost-button-ghost-button-danger-hover-bg:#E30000;--sd-ghost-button-ghost-button-action-content:#025497;--sd-ghost-button-ghost-button-action-hover-bg:#0075FF;--sd-ghost-button-ghost-button-inverse-content:#FFFFFF;--sd-ghost-button-ghost-button-inverse-disabled:#E1E1E1;--sd-ghost-button-ghost-button-inverse-hover-bg:#FFFFFF;--sd-text-link-text-link-sm-gap:4px;--sd-text-link-text-link-sm-icon:16px;--sd-text-link-text-link-sm-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-default-font-size:12px;--sd-text-link-text-link-sm-typography-default-font-weight:500;--sd-text-link-text-link-sm-typography-default-text-decoration:none;--sd-text-link-text-link-sm-typography-default-line-height:20px;--sd-text-link-text-link-sm-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-underline-font-size:12px;--sd-text-link-text-link-sm-typography-underline-font-weight:500;--sd-text-link-text-link-sm-typography-underline-text-decoration:underline;--sd-text-link-text-link-sm-typography-underline-line-height:20px;--sd-text-link-text-link-md-gap:8px;--sd-text-link-text-link-md-icon:16px;--sd-text-link-text-link-md-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-default-font-size:14px;--sd-text-link-text-link-md-typography-default-font-weight:500;--sd-text-link-text-link-md-typography-default-text-decoration:none;--sd-text-link-text-link-md-typography-default-line-height:24px;--sd-text-link-text-link-md-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-underline-font-size:14px;--sd-text-link-text-link-md-typography-underline-font-weight:500;--sd-text-link-text-link-md-typography-underline-text-decoration:underline;--sd-text-link-text-link-md-typography-underline-line-height:24px;--sd-text-link-text-link-content-default:#222222;--sd-text-link-text-link-content-disabled:#888888;--sd-text-link-text-link-icon-default:#006AC1;--sd-text-link-text-link-icon-disabled:#BBBBBB;--sd-text-link-text-link-lg-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-default-font-size:16px;--sd-text-link-text-link-lg-typography-default-font-weight:500;--sd-text-link-text-link-lg-typography-default-text-decoration:none;--sd-text-link-text-link-lg-typography-default-line-height:26px;--sd-text-link-text-link-lg-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-underline-font-size:16px;--sd-text-link-text-link-lg-typography-underline-font-weight:500;--sd-text-link-text-link-lg-typography-underline-text-decoration:underline;--sd-text-link-text-link-lg-typography-underline-line-height:26px;--sd-text-link-text-link-lg-gap:8px;--sd-text-link-text-link-lg-icon:20px;--sd-switch-switch-width:32px;--sd-switch-switch-height:20px;--sd-switch-switch-padding-x-y:2px;--sd-switch-switch-radius:9999px;--sd-switch-switch-knob-size:16px;--sd-switch-switch-knob-default:#FFFFFF;--sd-switch-switch-knob-disabled:#EEEEEE;--sd-switch-switch-bg-on:#0075FF;--sd-switch-switch-bg-off:#CCCCCC;--sd-switch-switch-bg-disabled-on:#BBDAFF;--sd-switch-switch-bg-disabled-off:#E1E1E1;--sd-switch-switch-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-switch-switch-label-typography-font-weight:500;--sd-switch-switch-label-typography-font-size:12px;--sd-switch-switch-label-typography-text-decoration:none;--sd-switch-switch-label-typography-line-height:20px;--sd-switch-switch-gap:6px;--sd-toggle-toggle-height:28px;--sd-toggle-toggle-padding-x:12px;--sd-toggle-toggle-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toggle-toggle-typography-font-size:14px;--sd-toggle-toggle-typography-font-weight:500;--sd-toggle-toggle-typography-text-decoration:none;--sd-toggle-toggle-typography-line-height:24px;--sd-toggle-toggle-radius:9999px;--sd-toggle-toggle-border-width:1px;--sd-toggle-toggle-border-default:#CCCCCC;--sd-toggle-toggle-border-select:#0075FF;--sd-toggle-toggle-border-disabled:#CCCCCC;--sd-toggle-toggle-bg-default:#FFFFFF;--sd-toggle-toggle-bg-hover:#0075FF;--sd-toggle-toggle-bg-select:#FFFFFF;--sd-toggle-toggle-bg-disabled:#E1E1E1;--sd-toggle-toggle-content-default:#555555;--sd-toggle-toggle-content-hover:#FFFFFF;--sd-toggle-toggle-content-select:#0075FF;--sd-toggle-toggle-content-disabled:#888888;--sd-checkbox-checkbox-size:16px;--sd-checkbox-checkbox-radius:2px;--sd-checkbox-checkbox-border-width:1px;--sd-checkbox-checkbox-gap:8px;--sd-checkbox-checkbox-icon:12px;--sd-checkbox-checkbox-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-checkbox-checkbox-typography-default-font-weight:400;--sd-checkbox-checkbox-typography-default-font-size:12px;--sd-checkbox-checkbox-typography-default-line-height:20px;--sd-checkbox-checkbox-typography-default-text-decoration:none;--sd-checkbox-checkbox-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-checkbox-checkbox-typography-selected-font-weight:500;--sd-checkbox-checkbox-typography-selected-font-size:12px;--sd-checkbox-checkbox-typography-selected-text-decoration:none;--sd-checkbox-checkbox-typography-selected-line-height:20px;--sd-checkbox-checkbox-unchecked-bg-default:#FFFFFF;--sd-checkbox-checkbox-unchecked-bg-hover:#D9EAFF;--sd-checkbox-checkbox-unchecked-border-default:#AAAAAA;--sd-checkbox-checkbox-unchecked-border-hover:#0075FF;--sd-checkbox-checkbox-checked-bg-default:#0075FF;--sd-checkbox-checkbox-checked-icon-default:#FFFFFF;--sd-checkbox-checkbox-checked-icon-disabled:#BBBBBB;--sd-checkbox-checkbox-checked-icon-inverse:#FFFFFF;--sd-checkbox-checkbox-checked-border-inverse:#FFFFFF;--sd-checkbox-checkbox-label-default:#222222;--sd-checkbox-checkbox-label-inverse:#FFFFFF;--sd-checkbox-checkbox-label-disabled:#888888;--sd-checkbox-checkbox-bg-disabled:#E1E1E1;--sd-checkbox-checkbox-border-disabled:#CCCCCC;--sd-radio-radio-size:16px;--sd-radio-radio-radius:9999px;--sd-radio-radio-border-width:1px;--sd-radio-radio-gap:8px;--sd-radio-radio-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-default-font-weight:400;--sd-radio-radio-typography-default-font-size:12px;--sd-radio-radio-typography-default-line-height:20px;--sd-radio-radio-typography-default-text-decoration:none;--sd-radio-radio-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-selected-font-weight:500;--sd-radio-radio-typography-selected-font-size:12px;--sd-radio-radio-typography-selected-text-decoration:none;--sd-radio-radio-typography-selected-line-height:20px;--sd-radio-radio-bg-default:#FFFFFF;--sd-radio-radio-bg-disabled:#E1E1E1;--sd-radio-radio-bg-hover:#D9EAFF;--sd-radio-radio-border-default:#AAAAAA;--sd-radio-radio-border-hover:#0075FF;--sd-radio-radio-border-active:#0075FF;--sd-radio-radio-border-disabled:#CCCCCC;--sd-radio-radio-dot-default:#0075FF;--sd-radio-radio-dot-disabled:#CCCCCC;--sd-radio-radio-dot-size:10px;--sd-radio-radio-label-default:#222222;--sd-radio-radio-label-disabled:#888888;--sd-radio-button-radio-button-xs-height:24px;--sd-radio-button-radio-button-xs-padding-x:8px;--sd-radio-button-radio-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-xs-typography-font-size:12px;--sd-radio-button-radio-button-xs-typography-font-weight:500;--sd-radio-button-radio-button-xs-typography-text-decoration:none;--sd-radio-button-radio-button-xs-typography-line-height:20px;--sd-radio-button-radio-button-sm-height:28px;--sd-radio-button-radio-button-sm-padding-x:12px;--sd-radio-button-radio-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-sm-typography-font-size:12px;--sd-radio-button-radio-button-sm-typography-font-weight:500;--sd-radio-button-radio-button-sm-typography-text-decoration:none;--sd-radio-button-radio-button-sm-typography-line-height:20px;--sd-radio-button-radio-button-radius:4px;--sd-radio-button-radio-button-border-width:1px;--sd-radio-button-radio-button-border-default:#CCCCCC;--sd-radio-button-radio-button-border-select:#0075FF;--sd-radio-button-radio-button-border-disabled:#CCCCCC;--sd-radio-button-radio-button-bg-default:#FFFFFF;--sd-radio-button-radio-button-bg-hover:#0075FF;--sd-radio-button-radio-button-bg-select:#FFFFFF;--sd-radio-button-radio-button-bg-disabled:#E1E1E1;--sd-radio-button-radio-button-content-default:#555555;--sd-radio-button-radio-button-content-hover:#FFFFFF;--sd-radio-button-radio-button-content-select:#0075FF;--sd-radio-button-radio-button-content-disabled:#888888;--sd-radio-button-radio-button-group-gap:-1px;--sd-list-item-list-item-padding-y:4px;--sd-list-item-list-item-padding-right:12px;--sd-list-item-list-item-gap:8px;--sd-list-item-list-item-padding-left-depth1:12px;--sd-list-item-list-item-padding-left-depth2:20px;--sd-list-item-list-item-padding-left-depth3:28px;--sd-list-item-list-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-default-font-weight:400;--sd-list-item-list-item-typography-default-font-size:12px;--sd-list-item-list-item-typography-default-line-height:20px;--sd-list-item-list-item-typography-default-text-decoration:none;--sd-list-item-list-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-selected-font-weight:700;--sd-list-item-list-item-typography-selected-font-size:12px;--sd-list-item-list-item-typography-selected-text-decoration:none;--sd-list-item-list-item-typography-selected-line-height:20px;--sd-list-item-list-item-bg-default:#FFFFFF;--sd-list-item-list-item-bg-hover:#0075FF;--sd-list-item-list-item-content-default:#222222;--sd-list-item-list-item-content-hover:#FFFFFF;--sd-list-item-list-item-content-disabled:#888888;--sd-list-item-list-item-content-selected:#0075FF;--sd-list-item-list-item-indeterminate-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-indeterminate-typography-font-weight:700;--sd-list-item-list-item-indeterminate-typography-font-size:12px;--sd-list-item-list-item-indeterminate-typography-text-decoration:none;--sd-list-item-list-item-indeterminate-typography-line-height:20px;--sd-list-item-list-item-depth1-bg-default:#EFF6FF;--sd-list-item-list-item-depth1-bg-disabled:#EEEEEE;--sd-list-item-list-item-depth1-border-color:#E1E1E1;--sd-list-item-list-item-depth1-border-width:1px;--sd-list-item-list-item-depth1-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth1-title-typography-font-weight:700;--sd-list-item-list-item-depth1-title-typography-font-size:12px;--sd-list-item-list-item-depth1-title-typography-text-decoration:none;--sd-list-item-list-item-depth1-title-typography-line-height:20px;--sd-list-item-list-item-depth2-middle-bg:#F6F6F6;--sd-list-item-list-item-depth2-middle-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth2-middle-title-typography-font-weight:500;--sd-list-item-list-item-depth2-middle-title-typography-font-size:12px;--sd-list-item-list-item-depth2-middle-title-typography-text-decoration:none;--sd-list-item-list-item-depth2-middle-title-typography-line-height:20px;--sd-list-item-list-item-count-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-count-typography-font-weight:500;--sd-list-item-list-item-count-typography-font-size:12px;--sd-list-item-list-item-count-typography-text-decoration:none;--sd-list-item-list-item-count-typography-line-height:20px;--sd-list-item-list-item-count-color:#888888;--sd-list-box-list-box-radius:4px;--sd-list-box-list-box-bg:#FFFFFF;--sd-list-box-list-box-chip-padding-x-y:8px;--sd-list-box-list-box-chip-gap:8px;--sd-select-select-sm-height:28px;--sd-select-select-sm-radius:4px;--sd-select-select-sm-border-width:1px;--sd-select-select-sm-padding-x:12px;--sd-select-select-sm-gap:8px;--sd-select-select-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-sm-typography-font-weight:400;--sd-select-select-sm-typography-font-size:12px;--sd-select-select-sm-typography-line-height:20px;--sd-select-select-sm-typography-text-decoration:none;--sd-select-select-sm-icon:16px;--sd-select-select-md-height:36px;--sd-select-select-md-radius:6px;--sd-select-select-md-border-width:1px;--sd-select-select-md-padding-x:16px;--sd-select-select-md-gap:12px;--sd-select-select-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-md-typography-font-weight:400;--sd-select-select-md-typography-font-size:14px;--sd-select-select-md-typography-text-decoration:none;--sd-select-select-md-typography-line-height:24px;--sd-select-select-md-icon:16px;--sd-select-select-icon-default:#888888;--sd-select-select-icon-disabled:#BBBBBB;--sd-select-select-border-default:#AAAAAA;--sd-select-select-border-hover:#0075FF;--sd-select-select-border-danger:#FB4444;--sd-select-select-border-disabled:#CCCCCC;--sd-select-select-bg-default:#FFFFFF;--sd-select-select-bg-disabled:#E1E1E1;--sd-select-select-text-default:#222222;--sd-select-select-text-disabled:#888888;--sd-field-field-label-sm-height:28px;--sd-field-field-label-sm-gap:6px;--sd-field-field-label-sm-icon:12px;--sd-field-field-label-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-sm-typography-font-weight:700;--sd-field-field-label-sm-typography-font-size:12px;--sd-field-field-label-sm-typography-text-decoration:none;--sd-field-field-label-sm-typography-line-height:20px;--sd-field-field-label-md-height:36px;--sd-field-field-label-md-gap:8px;--sd-field-field-label-md-icon:12px;--sd-field-field-label-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-md-typography-font-weight:700;--sd-field-field-label-md-typography-font-size:14px;--sd-field-field-label-md-typography-text-decoration:none;--sd-field-field-label-md-typography-line-height:24px;--sd-field-field-addon-label-height:28px;--sd-field-field-addon-label-gap:6px;--sd-field-field-addon-label-padding-x:12px;--sd-field-field-addon-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-addon-label-typography-font-weight:500;--sd-field-field-addon-label-typography-font-size:12px;--sd-field-field-addon-label-typography-text-decoration:none;--sd-field-field-addon-label-typography-line-height:20px;--sd-field-field-addon-label-bg:#F6F6F6;--sd-field-field-addon-label-border-default:#AAAAAA;--sd-field-field-addon-label-border-disabled:#CCCCCC;--sd-field-field-addon-label-border-width:1px;--sd-field-field-hint-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-hint-typography-font-weight:400;--sd-field-field-hint-typography-font-size:12px;--sd-field-field-hint-typography-line-height:20px;--sd-field-field-hint-typography-text-decoration:none;--sd-field-field-hint-color:#555555;--sd-field-field-error-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-error-message-typography-font-weight:400;--sd-field-field-error-message-typography-font-size:12px;--sd-field-field-error-message-typography-line-height:20px;--sd-field-field-error-message-typography-text-decoration:none;--sd-field-field-error-message-color:#E30000;--sd-field-field-contents-gap:4px;--sd-textinput-textinput-sm-height:28px;--sd-textinput-textinput-sm-padding-x:12px;--sd-textinput-textinput-sm-padding-y:4px;--sd-textinput-textinput-sm-gap:8px;--sd-textinput-textinput-sm-radius:4px;--sd-textinput-textinput-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-sm-typography-font-weight:400;--sd-textinput-textinput-sm-typography-font-size:12px;--sd-textinput-textinput-sm-typography-line-height:20px;--sd-textinput-textinput-sm-typography-text-decoration:none;--sd-textinput-textinput-md-padding-x:16px;--sd-textinput-textinput-md-padding-y:8px;--sd-textinput-textinput-md-height:36px;--sd-textinput-textinput-md-gap:12px;--sd-textinput-textinput-md-radius:6px;--sd-textinput-textinput-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-md-typography-font-weight:400;--sd-textinput-textinput-md-typography-font-size:14px;--sd-textinput-textinput-md-typography-text-decoration:none;--sd-textinput-textinput-md-typography-line-height:24px;--sd-textinput-textinput-border-width:1px;--sd-textinput-textinput-border-default:#AAAAAA;--sd-textinput-textinput-border-focus:#0075FF;--sd-textinput-textinput-border-danger:#FB4444;--sd-textinput-textinput-border-success:#12B553;--sd-textinput-textinput-border-disabled:#CCCCCC;--sd-textinput-textinput-bg-default:#FFFFFF;--sd-textinput-textinput-bg-disabled:#E1E1E1;--sd-textinput-textinput-bg-barcode:#FAFAA1;--sd-textinput-textinput-text-default:#222222;--sd-textinput-textinput-text-placeholder:#AAAAAA;--sd-textinput-textinput-text-disabled:#888888;--sd-textinput-textinput-size-icon:16px;--sd-textinput-textinput-icon-default:#888888;--sd-textinput-textinput-unit-color:#888888;--sd-textinput-textinput-resizer-size:12px;--sd-textinput-textinput-resizer-color:#AAAAAA;--sd-number-input-number-input-sm-height:28px;--sd-number-input-number-input-sm-padding-x:6px;--sd-number-input-number-input-sm-radius:4px;--sd-number-input-number-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-sm-typography-font-weight:400;--sd-number-input-number-input-sm-typography-font-size:12px;--sd-number-input-number-input-sm-typography-line-height:20px;--sd-number-input-number-input-sm-typography-text-decoration:none;--sd-number-input-number-input-sm-gap:4px;--sd-number-input-number-input-md-height:36px;--sd-number-input-number-input-md-padding-x:8px;--sd-number-input-number-input-md-radius:6px;--sd-number-input-number-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-md-typography-font-weight:400;--sd-number-input-number-input-md-typography-font-size:14px;--sd-number-input-number-input-md-typography-text-decoration:none;--sd-number-input-number-input-md-typography-line-height:24px;--sd-number-input-number-input-md-gap:6px;--sd-number-input-number-input-border-width:1px;--sd-number-input-number-input-border-default:#AAAAAA;--sd-number-input-number-input-border-focus:#0075FF;--sd-number-input-number-input-border-danger:#FB4444;--sd-number-input-number-input-border-success:#12B553;--sd-number-input-number-input-border-disabled:#CCCCCC;--sd-number-input-number-input-bg-default:#FFFFFF;--sd-number-input-number-input-bg-disabled:#E1E1E1;--sd-number-input-number-input-text-default:#222222;--sd-number-input-number-input-text-placeholder:#AAAAAA;--sd-number-input-number-input-text-disabled:#888888;--sd-number-input-number-input-stepper-sm-size:20px;--sd-number-input-number-input-stepper-md-size:24px;--sd-number-input-number-input-stepper-radius:4px;--sd-number-input-number-input-stepper-bg-default:#EFF6FF;--sd-number-input-number-input-stepper-bg-disabled:#EEEEEE;--sd-number-input-number-input-stepper-icon-default:#0075FF;--sd-number-input-number-input-stepper-icon-disabled:#BBBBBB;--sd-chip-input-chip-input-sm-min-height:36px;--sd-chip-input-chip-input-sm-padding-x:12px;--sd-chip-input-chip-input-sm-padding-y:6px;--sd-chip-input-chip-input-sm-radius:4px;--sd-chip-input-chip-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-sm-typography-font-weight:400;--sd-chip-input-chip-input-sm-typography-font-size:12px;--sd-chip-input-chip-input-sm-typography-line-height:20px;--sd-chip-input-chip-input-sm-typography-text-decoration:none;--sd-chip-input-chip-input-md-min-height:40px;--sd-chip-input-chip-input-md-padding-x:16px;--sd-chip-input-chip-input-md-padding-y:8px;--sd-chip-input-chip-input-md-radius:6px;--sd-chip-input-chip-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-md-typography-font-weight:400;--sd-chip-input-chip-input-md-typography-font-size:14px;--sd-chip-input-chip-input-md-typography-text-decoration:none;--sd-chip-input-chip-input-md-typography-line-height:24px;--sd-chip-input-chip-input-chip-gap:8px;--sd-chip-input-chip-input-border-width:1px;--sd-chip-input-chip-input-border-default:#AAAAAA;--sd-chip-input-chip-input-border-focus:#0075FF;--sd-chip-input-chip-input-border-disabled:#CCCCCC;--sd-chip-input-chip-input-bg-default:#FFFFFF;--sd-chip-input-chip-input-bg-disabled:#E1E1E1;--sd-chip-input-chip-input-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-sm-height:28px;--sd-filepicker-filepicker-sm-padding-x:12px;--sd-filepicker-filepicker-sm-gap:8px;--sd-filepicker-filepicker-sm-radius:4px;--sd-filepicker-filepicker-sm-border-width:1px;--sd-filepicker-filepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-sm-typography-font-weight:400;--sd-filepicker-filepicker-sm-typography-font-size:12px;--sd-filepicker-filepicker-sm-typography-line-height:20px;--sd-filepicker-filepicker-sm-typography-text-decoration:none;--sd-filepicker-filepicker-sm-icon:16px;--sd-filepicker-filepicker-md-height:36px;--sd-filepicker-filepicker-md-padding-x:16px;--sd-filepicker-filepicker-md-gap:12px;--sd-filepicker-filepicker-md-radius:6px;--sd-filepicker-filepicker-md-border-width:1px;--sd-filepicker-filepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-md-typography-font-weight:400;--sd-filepicker-filepicker-md-typography-font-size:14px;--sd-filepicker-filepicker-md-typography-text-decoration:none;--sd-filepicker-filepicker-md-typography-line-height:24px;--sd-filepicker-filepicker-md-icon:20px;--sd-filepicker-filepicker-border-default:#AAAAAA;--sd-filepicker-filepicker-border-disabled:#CCCCCC;--sd-filepicker-filepicker-bg-default:#FFFFFF;--sd-filepicker-filepicker-bg-disabled:#E1E1E1;--sd-filepicker-filepicker-text-default:#222222;--sd-filepicker-filepicker-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-text-disabled:#888888;--sd-filepicker-filepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-sm-height:28px;--sd-datepicker-datepicker-sm-padding-x:12px;--sd-datepicker-datepicker-sm-gap:8px;--sd-datepicker-datepicker-sm-icon:16px;--sd-datepicker-datepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-sm-typography-font-weight:400;--sd-datepicker-datepicker-sm-typography-font-size:12px;--sd-datepicker-datepicker-sm-typography-line-height:20px;--sd-datepicker-datepicker-sm-typography-text-decoration:none;--sd-datepicker-datepicker-sm-radius:4px;--sd-datepicker-datepicker-md-height:36px;--sd-datepicker-datepicker-md-padding-x:16px;--sd-datepicker-datepicker-md-gap:12px;--sd-datepicker-datepicker-md-icon:20px;--sd-datepicker-datepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-md-typography-font-weight:400;--sd-datepicker-datepicker-md-typography-font-size:14px;--sd-datepicker-datepicker-md-typography-text-decoration:none;--sd-datepicker-datepicker-md-typography-line-height:24px;--sd-datepicker-datepicker-md-radius:6px;--sd-datepicker-datepicker-border-width:1px;--sd-datepicker-datepicker-border-default:#AAAAAA;--sd-datepicker-datepicker-border-focus:#0075FF;--sd-datepicker-datepicker-border-disabled:#CCCCCC;--sd-datepicker-datepicker-bg-default:#FFFFFF;--sd-datepicker-datepicker-bg-disabled:#E1E1E1;--sd-datepicker-datepicker-icon-default:#888888;--sd-datepicker-datepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-text-default:#222222;--sd-datepicker-datepicker-text-disabled:#888888;--sd-datepicker-datepicker-calendar-bg:#FFFFFF;--sd-datepicker-datepicker-calendar-padding-x-y:24px;--sd-datepicker-datepicker-calendar-gap:12px;--sd-datepicker-datepicker-calendar-radius:8px;--sd-datepicker-datepicker-calendar-header-gap:8px;--sd-datepicker-datepicker-calendar-header-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-header-typography-font-weight:500;--sd-datepicker-datepicker-calendar-header-typography-font-size:14px;--sd-datepicker-datepicker-calendar-header-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-header-typography-line-height:24px;--sd-datepicker-datepicker-calendar-week-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-week-typography-font-weight:400;--sd-datepicker-datepicker-calendar-week-typography-font-size:12px;--sd-datepicker-datepicker-calendar-week-typography-line-height:20px;--sd-datepicker-datepicker-calendar-week-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-week-color:#888888;--sd-datepicker-datepicker-calendar-grid-row-gap:4px;--sd-datepicker-datepicker-calendar-day-width:40px;--sd-datepicker-datepicker-calendar-day-circle-size:32px;--sd-datepicker-datepicker-calendar-day-circle-radius:9999px;--sd-datepicker-datepicker-calendar-day-default-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-border:#0075FF;--sd-datepicker-datepicker-calendar-day-select-bg:#0075FF;--sd-datepicker-datepicker-calendar-day-select-text:#FFFFFF;--sd-datepicker-datepicker-calendar-day-disabled-text:#BBBBBB;--sd-datepicker-datepicker-calendar-day-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-default-font-weight:400;--sd-datepicker-datepicker-calendar-day-typography-default-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-default-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-default-line-height:24px;--sd-datepicker-datepicker-calendar-day-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-bold-font-weight:700;--sd-datepicker-datepicker-calendar-day-typography-bold-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-bold-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-bold-line-height:24px;--sd-datepicker-datepicker-calendar-day-dot-size:6px;--sd-datepicker-datepicker-calendar-day-dot-gap:2px;--sd-datepicker-datepicker-calendar-day-dot-padding-y:4px;--sd-datepicker-datepicker-calendar-range-bg:#D9EAFF;--sd-datepicker-datepicker-calendar-range-height:32px;--sd-datepicker-datepicker-calendar-range-panel-gap:24px;--sd-datepicker-datepicker-calendar-range-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-range-width:20px;--sd-datepicker-datepicker-calendar-legend-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-legend-typography-font-weight:400;--sd-datepicker-datepicker-calendar-legend-typography-font-size:11px;--sd-datepicker-datepicker-calendar-legend-typography-line-height:18px;--sd-datepicker-datepicker-calendar-legend-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-legend-gap:4px;--sd-datepicker-datepicker-calendar-legend-group-gap:12px;--sd-chip-chip-height:24px;--sd-chip-chip-padding-x:8px;--sd-chip-chip-gap:4px;--sd-chip-chip-radius:9999px;--sd-chip-chip-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-default-font-size:12px;--sd-chip-chip-typography-default-font-weight:500;--sd-chip-chip-typography-default-text-decoration:none;--sd-chip-chip-typography-default-line-height:20px;--sd-chip-chip-typography-focus-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-focus-font-size:12px;--sd-chip-chip-typography-focus-font-weight:400;--sd-chip-chip-typography-focus-text-decoration:none;--sd-chip-chip-typography-focus-line-height:20px;--sd-chip-chip-bg-default:#F6F6F6;--sd-chip-chip-bg-error:#FCEFEF;--sd-chip-chip-bg-focus:#FFFFFF;--sd-chip-chip-bg-disabled:#F6F6F6;--sd-chip-chip-content-default:#555555;--sd-chip-chip-content-error:#E30000;--sd-chip-chip-content-focus:#222222;--sd-chip-chip-content-disabled:#888888;--sd-chip-chip-border-focus:#E1E1E1;--sd-chip-chip-border-width:1px;--sd-tag-tag-xs-height:20px;--sd-tag-tag-xs-padding-x:8px;--sd-tag-tag-xs-gap:4px;--sd-tag-tag-xs-icon:12px;--sd-tag-tag-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-xs-typography-font-size:11px;--sd-tag-tag-xs-typography-font-weight:500;--sd-tag-tag-xs-typography-line-height:18px;--sd-tag-tag-xs-typography-text-decoration:none;--sd-tag-tag-xs-radius:6px;--sd-tag-tag-sm-height:24px;--sd-tag-tag-sm-padding-x:8px;--sd-tag-tag-sm-gap:4px;--sd-tag-tag-sm-icon:16px;--sd-tag-tag-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-sm-typography-font-size:12px;--sd-tag-tag-sm-typography-font-weight:700;--sd-tag-tag-sm-typography-text-decoration:none;--sd-tag-tag-sm-typography-line-height:20px;--sd-tag-tag-sm-radius:6px;--sd-tag-tag-md-height:28px;--sd-tag-tag-md-padding-x:12px;--sd-tag-tag-md-gap:6px;--sd-tag-tag-md-icon:16px;--sd-tag-tag-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-md-typography-font-size:14px;--sd-tag-tag-md-typography-font-weight:700;--sd-tag-tag-md-typography-line-height:24px;--sd-tag-tag-md-typography-text-decoration:none;--sd-tag-tag-md-radius:8px;--sd-tag-tag-red-content:#FB4444;--sd-tag-tag-red-bg:#FCEFEF;--sd-tag-tag-orange-content:#FF6B00;--sd-tag-tag-orange-bg:#FEF1EA;--sd-tag-tag-yellow-content:#916C0D;--sd-tag-tag-yellow-bg:#FFF7DD;--sd-tag-tag-green-content:#00973C;--sd-tag-tag-green-bg:#E8F9EF;--sd-tag-tag-blue-content:#0075FF;--sd-tag-tag-blue-bg:#E6F1FF;--sd-tag-tag-darkblue-content:#006AC1;--sd-tag-tag-darkblue-bg:#EAF5FE;--sd-tag-tag-indigo-content:#004290;--sd-tag-tag-indigo-bg:#EFF6FF;--sd-tag-tag-grey-content:#737373;--sd-tag-tag-grey-bg:#EEEEEE;--sd-badge-badge-size:6px;--sd-badge-badge-radius:9999px;--sd-badge-badge-red:#FB4444;--sd-badge-badge-orange:#FF6B00;--sd-badge-badge-yellow:#FFC700;--sd-badge-badge-green:#00973C;--sd-badge-badge-blue:#0075FF;--sd-badge-badge-darkblue:#006AC1;--sd-badge-badge-indigo:#004290;--sd-badge-badge-grey:#737373;--sd-tooltip-tooltip-radius:6px;--sd-tooltip-tooltip-padding-y:12px;--sd-tooltip-tooltip-padding-x:16px;--sd-tooltip-tooltip-gap:12px;--sd-tooltip-tooltip-arrow-width:16px;--sd-tooltip-tooltip-arrow-height:12px;--sd-tooltip-tooltip-default-bg:#07284A;--sd-tooltip-tooltip-default-content:#FFFFFF;--sd-tooltip-tooltip-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-default-typography-font-size:12px;--sd-tooltip-tooltip-default-typography-font-weight:500;--sd-tooltip-tooltip-default-typography-line-height:20px;--sd-tooltip-tooltip-default-typography-text-decoration:none;--sd-tooltip-tooltip-danger-bg:#FCEFEF;--sd-tooltip-tooltip-danger-content:#FB4444;--sd-tooltip-tooltip-danger-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-danger-typography-font-size:12px;--sd-tooltip-tooltip-danger-typography-font-weight:700;--sd-tooltip-tooltip-danger-typography-text-decoration:none;--sd-tooltip-tooltip-danger-typography-line-height:20px;--sd-tooltip-tooltip-warning-bg:#FEF1EA;--sd-tooltip-tooltip-warning-content:#FF6B00;--sd-tooltip-tooltip-warning-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-warning-typography-font-size:12px;--sd-tooltip-tooltip-warning-typography-font-weight:700;--sd-tooltip-tooltip-warning-typography-text-decoration:none;--sd-tooltip-tooltip-warning-typography-line-height:20px;--sd-tooltip-tooltip-accent-bg:#E6F1FF;--sd-tooltip-tooltip-accent-content:#0075FF;--sd-tooltip-tooltip-accent-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-accent-typography-font-size:12px;--sd-tooltip-tooltip-accent-typography-font-weight:700;--sd-tooltip-tooltip-accent-typography-text-decoration:none;--sd-tooltip-tooltip-accent-typography-line-height:20px;--sd-popover-popover-radius:6px;--sd-popover-popover-padding-x:20px;--sd-popover-popover-padding-y:16px;--sd-popover-popover-gap:12px;--sd-popover-popover-contents-gap:4px;--sd-popover-popover-arrow-width:16px;--sd-popover-popover-arrow-height:12px;--sd-popover-popover-default-bg:#07284A;--sd-popover-popover-default-title:#FFFFFF;--sd-popover-popover-default-description:#FFFFFF;--sd-popover-popover-default-sub-action:#D8D8D8;--sd-popover-popover-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-title-typography-font-size:14px;--sd-popover-popover-title-typography-font-weight:700;--sd-popover-popover-title-typography-line-height:24px;--sd-popover-popover-title-typography-text-decoration:none;--sd-popover-popover-title-leading-icon:16px;--sd-popover-popover-title-gap:8px;--sd-popover-popover-description-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-description-typography-font-size:12px;--sd-popover-popover-description-typography-font-weight:500;--sd-popover-popover-description-typography-line-height:20px;--sd-popover-popover-description-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-sub-action-typography-font-size:12px;--sd-popover-popover-sub-action-typography-font-weight:700;--sd-popover-popover-sub-action-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-line-height:20px;--sd-popover-popover-danger-bg:#FCEFEF;--sd-popover-popover-danger-title:#FB4444;--sd-popover-popover-warning-bg:#FEF1EA;--sd-popover-popover-warning-title:#FF6B00;--sd-popover-popover-accent-bg:#E6F1FF;--sd-popover-popover-accent-title:#0075FF;--sd-popover-popover-light-description:#555555;--sd-popover-popover-light-sub-action:#888888;--sd-toast-toast-radius:8px;--sd-toast-toast-padding-x:24px;--sd-toast-toast-padding-y:12px;--sd-toast-toast-gap:16px;--sd-toast-toast-icon:16px;--sd-toast-toast-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-default-font-size:14px;--sd-toast-toast-typography-default-font-weight:500;--sd-toast-toast-typography-default-line-height:24px;--sd-toast-toast-typography-default-text-decoration:none;--sd-toast-toast-typography-link-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-link-font-size:14px;--sd-toast-toast-typography-link-font-weight:700;--sd-toast-toast-typography-link-line-height:24px;--sd-toast-toast-typography-link-text-decoration:underline;--sd-toast-toast-default-bg:#07284A;--sd-toast-toast-default-content:#FFFFFF;--sd-toast-toast-danger-bg:#FB4444;--sd-toast-toast-danger-content:#FFFFFF;--sd-toast-toast-caution-bg:#FFC700;--sd-toast-toast-caution-content:#222222;--sd-toast-toast-complete-bg:#00973C;--sd-toast-toast-complete-content:#FFFFFF;--sd-toast-toast-accent-bg:#005CC9;--sd-toast-toast-accent-content:#FFFFFF;--sd-toast-toast-info-bg:#E6F1FF;--sd-toast-toast-info-icon:#0075FF;--sd-toast-toast-info-text:#222222;--sd-toast-toast-info-text-link:#555555;--sd-modal-modal-radius:8px;--sd-modal-modal-confirm-padding-x:32px;--sd-modal-modal-confirm-padding-y:40px;--sd-modal-modal-confirm-gap:40px;--sd-modal-modal-confirm-body-gap:20px;--sd-modal-modal-confirm-title-gap:12px;--sd-modal-modal-confirm-title-color:#222222;--sd-modal-modal-confirm-title-icon:32px;--sd-modal-modal-confirm-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-title-typography-font-weight:700;--sd-modal-modal-confirm-title-typography-font-size:18px;--sd-modal-modal-confirm-title-typography-line-height:30px;--sd-modal-modal-confirm-title-typography-text-decoration:none;--sd-modal-modal-confirm-button-gap:8px;--sd-modal-modal-confirm-message-color:#222222;--sd-modal-modal-confirm-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-message-typography-font-size:12px;--sd-modal-modal-confirm-message-typography-font-weight:400;--sd-modal-modal-confirm-message-typography-line-height:20px;--sd-modal-modal-confirm-message-typography-text-decoration:none;--sd-modal-modal-confirm-positive-icon:#0075FF;--sd-modal-modal-confirm-negative-icon:#E30000;--sd-modal-modal-bg:#FFFFFF;--sd-modal-modal-action-header-padding-x:24px;--sd-modal-modal-action-header-padding-y:20px;--sd-modal-modal-action-header-gap:12px;--sd-modal-modal-action-title-color:#033F59;--sd-modal-modal-action-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-action-title-typography-font-weight:700;--sd-modal-modal-action-title-typography-font-size:16px;--sd-modal-modal-action-title-typography-text-decoration:none;--sd-modal-modal-action-title-typography-line-height:26px;--sd-modal-modal-action-body-padding-x:20px;--sd-modal-modal-action-body-padding-bottom:20px;--sd-modal-modal-action-footer-padding-x:20px;--sd-modal-modal-action-footer-padding-y:8px;--sd-modal-modal-action-footer-gap:16px;--sd-modal-modal-action-footer-bg:#F6F6F6;--sd-modal-modal-action-footer-border:#E1E1E1;--sd-modal-modal-loading-width:520px;--sd-modal-modal-loading-height:320px;--sd-modal-modal-loading-gap:20px;--sd-modal-modal-loading-content:80px;--sd-modal-modal-loading-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-loading-message-typography-font-size:12px;--sd-modal-modal-loading-message-typography-font-weight:400;--sd-modal-modal-loading-message-typography-line-height:20px;--sd-modal-modal-loading-message-typography-text-decoration:none;--sd-modal-modal-loading-message-color:#888888;--sd-popup-popup-header-bg-default:#07284A;--sd-popup-popup-header-bg-inverse:#FFFFFF;--sd-popup-popup-header-title-default:#FFFFFF;--sd-popup-popup-header-title-inverse:#004290;--sd-popup-popup-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popup-popup-header-typography-font-weight:700;--sd-popup-popup-header-typography-font-size:18px;--sd-popup-popup-header-typography-line-height:30px;--sd-popup-popup-header-typography-text-decoration:none;--sd-popup-popup-footer-bg:#FFFFFF;--sd-popup-popup-footer-padding-x:20px;--sd-popup-popup-footer-padding-y:8px;--sd-popup-popup-footer-gap:16px;--sd-popup-popup-bg:#EEEEEE;--sd-spinner-spinner-size:80px;--sd-spinner-spinner-color-track:#EEEEEE;--sd-spinner-spinner-color-arc:#2D8DFF;--sd-guide-guide-gap:4px;--sd-guide-guide-button-height:28px;--sd-guide-guide-button-padding-x:12px;--sd-guide-guide-button-radius:9999px;--sd-guide-guide-button-gap:6px;--sd-guide-guide-button-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-button-typography-font-size:12px;--sd-guide-guide-button-typography-font-weight:500;--sd-guide-guide-button-typography-text-decoration:none;--sd-guide-guide-button-typography-line-height:20px;--sd-guide-guide-button-icon-size:16px;--sd-guide-guide-button-icon-default:#00973C;--sd-guide-guide-button-icon-active:#FFFFFF;--sd-guide-guide-button-border-width:1px;--sd-guide-guide-button-border-default:#E1E1E1;--sd-guide-guide-button-bg-default:#FFFFFF;--sd-guide-guide-button-bg-tip:#00973C;--sd-guide-guide-button-bg-notion:#1F8AE1;--sd-guide-guide-button-text-default:#222222;--sd-guide-guide-button-text-active:#FFFFFF;--sd-guide-guide-contents-padding-x:24px;--sd-guide-guide-contents-padding-y:20px;--sd-guide-guide-contents-gap:12px;--sd-guide-guide-contents-title-gap:8px;--sd-guide-guide-contents-row-gap:8px;--sd-guide-guide-contents-body-gap:2px;--sd-guide-guide-contents-typography-title-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-title-font-weight:700;--sd-guide-guide-contents-typography-title-font-size:16px;--sd-guide-guide-contents-typography-title-text-decoration:none;--sd-guide-guide-contents-typography-title-line-height:26px;--sd-guide-guide-contents-typography-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-body-font-weight:400;--sd-guide-guide-contents-typography-body-font-size:12px;--sd-guide-guide-contents-typography-body-line-height:20px;--sd-guide-guide-contents-typography-body-text-decoration:none;--sd-guide-guide-contents-typography-color:#222222;--sd-guide-guide-contents-icon:#00973C;--sd-guide-guide-contents-radius:8px;--sd-guide-guide-contents-depth-padding-left:32px;--sd-progress-progress-linear-height:20px;--sd-progress-progress-linear-radius:9999px;--sd-progress-progress-linear-gap:12px;--sd-progress-progress-linear-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-linear-typography-font-size:12px;--sd-progress-progress-linear-typography-font-weight:700;--sd-progress-progress-linear-typography-text-decoration:none;--sd-progress-progress-linear-typography-line-height:20px;--sd-progress-progress-circular-size:80px;--sd-progress-progress-circular-gap:8px;--sd-progress-progress-circular-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-circular-typography-font-weight:700;--sd-progress-progress-circular-typography-font-size:16px;--sd-progress-progress-circular-typography-text-decoration:none;--sd-progress-progress-circular-typography-line-height:26px;--sd-progress-progress-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-label-typography-font-size:12px;--sd-progress-progress-label-typography-font-weight:400;--sd-progress-progress-label-typography-line-height:20px;--sd-progress-progress-label-typography-text-decoration:none;--sd-progress-progress-color-track:#EEEEEE;--sd-progress-progress-color-label:#555555;--sd-progress-progress-active-color:#2D8DFF;--sd-progress-progress-success-color:#12B553;--sd-progress-progress-error-color:#FB4444;--sd-progress-progress-bar-text:#FFFFFF;--sd-table-table-header-height:36px;--sd-table-table-header-padding-x:16px;--sd-table-table-header-gap:4px;--sd-table-table-header-bg:#F5FAFF;--sd-table-table-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-header-typography-font-weight:500;--sd-table-table-header-typography-font-size:12px;--sd-table-table-header-typography-line-height:20px;--sd-table-table-header-typography-text-decoration:none;--sd-table-table-header-resizing-bar-color:#CCCCCC;--sd-table-table-header-resizing-bar-height:16px;--sd-table-table-body-default-height:44px;--sd-table-table-body-default-padding-y:8px;--sd-table-table-body-dense-height:32px;--sd-table-table-body-dense-padding-y:6px;--sd-table-table-body-padding-x:16px;--sd-table-table-body-frame-padding:8px;--sd-table-table-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-body-typography-font-weight:400;--sd-table-table-body-typography-font-size:12px;--sd-table-table-body-typography-line-height:20px;--sd-table-table-body-typography-text-decoration:none;--sd-table-table-border-color:#E1E1E1;--sd-table-table-border-width:1px;--sd-table-table-content-gap:8px;--sd-table-table-bar-section-gap:12px;--sd-table-table-bar-divider-height:20px;--sd-table-table-bar-height:44px;--sd-table-table-bar-count-total:#066D9B;--sd-table-table-bar-count-null:#888888;--sd-table-table-radius:8px;--sd-table-table-key-value-body-padding:8px;--sd-table-table-key-value-height:44px;--sd-table-table-key-value-search-padding-x:32px;--sd-table-table-key-value-search-bg:#F9F9F9;--sd-table-table-separator-color:#EEEEEE;--sd-table-table-separator-width-default:6px;--sd-table-table-separator-width-dense:4px;--sd-pagination-pagination-height:24px;--sd-pagination-pagination-padding-x:6px;--sd-pagination-pagination-radius:6px;--sd-pagination-pagination-gap:12px;--sd-pagination-pagination-move-gap:4px;--sd-pagination-pagination-icon:12px;--sd-pagination-pagination-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-font-size:12px;--sd-pagination-pagination-typography-default-font-weight:500;--sd-pagination-pagination-typography-default-text-decoration:none;--sd-pagination-pagination-typography-default-line-height:20px;--sd-pagination-pagination-typography-default-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-selected-font-weight:700;--sd-pagination-pagination-typography-default-selected-font-size:12px;--sd-pagination-pagination-typography-default-selected-line-height:20px;--sd-pagination-pagination-typography-default-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-font-weight:700;--sd-pagination-pagination-typography-selected-font-size:12px;--sd-pagination-pagination-typography-selected-line-height:20px;--sd-pagination-pagination-typography-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-selected-font-weight:700;--sd-pagination-pagination-typography-selected-selected-font-size:12px;--sd-pagination-pagination-typography-selected-selected-line-height:20px;--sd-pagination-pagination-typography-selected-selected-text-decoration:none;--sd-pagination-pagination-item-bg-hover:#EEEEEE;--sd-pagination-pagination-item-bg-selected:#E6F1FF;--sd-pagination-pagination-item-content-default:#555555;--sd-pagination-pagination-item-content-hover:#004290;--sd-pagination-pagination-item-content-selected:#004290;--sd-tab-tab-main-lg-height:44px;--sd-tab-tab-main-lg-padding-x:32px;--sd-tab-tab-main-md-height:36px;--sd-tab-tab-main-md-padding-x:24px;--sd-tab-tab-main-gap:8px;--sd-tab-tab-main-container-gap:4px;--sd-tab-tab-main-radius:6px;--sd-tab-tab-main-border-width:1px;--sd-tab-tab-main-selected-bg:#FFFFFF;--sd-tab-tab-main-selected-text:#0075FF;--sd-tab-tab-main-selected-border:#0075FF;--sd-tab-tab-main-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-selected-typography-font-weight:700;--sd-tab-tab-main-selected-typography-font-size:12px;--sd-tab-tab-main-selected-typography-line-height:20px;--sd-tab-tab-main-selected-typography-text-decoration:none;--sd-tab-tab-main-default-bg:#F6F6F6;--sd-tab-tab-main-default-text:#888888;--sd-tab-tab-main-default-border:#CCCCCC;--sd-tab-tab-main-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-default-typography-font-weight:400;--sd-tab-tab-main-default-typography-font-size:12px;--sd-tab-tab-main-default-typography-line-height:20px;--sd-tab-tab-main-default-typography-text-decoration:none;--sd-tab-tab-sub-selected-text:#0075FF;--sd-tab-tab-sub-selected-line:#0075FF;--sd-tab-tab-sub-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-selected-typography-font-weight:700;--sd-tab-tab-sub-selected-typography-font-size:12px;--sd-tab-tab-sub-selected-typography-line-height:20px;--sd-tab-tab-sub-selected-typography-text-decoration:none;--sd-tab-tab-sub-default-text:#222222;--sd-tab-tab-sub-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-default-typography-font-weight:400;--sd-tab-tab-sub-default-typography-font-size:12px;--sd-tab-tab-sub-default-typography-line-height:20px;--sd-tab-tab-sub-default-typography-text-decoration:none;--sd-tab-tab-sub-border-width:1px;--sd-tab-tab-sub-gap-horizontal:24px;--sd-tab-tab-sub-gap-vertical:16px;--sd-tab-tab-sub-content-gap:4px;--sd-tab-tab-sub-item-height:20px;--sd-gnb-belt-gnb-belt-bg:#001B39;--sd-gnb-belt-gnb-belt-top-height:56px;--sd-gnb-belt-gnb-belt-top-padding-x:12px;--sd-gnb-belt-gnb-belt-top-gap:8px;--sd-gnb-belt-gnb-belt-top-border:#004177;--sd-gnb-belt-gnb-belt-logo-height:32px;--sd-gnb-belt-gnb-belt-body-padding-y:12px;--sd-gnb-belt-gnb-belt-item-padding-y:6px;--sd-gnb-belt-gnb-belt-item-padding-right:20px;--sd-gnb-belt-gnb-belt-item-gap:12px;--sd-gnb-belt-gnb-belt-item-icon:12px;--sd-gnb-belt-gnb-belt-item-bg-default:#001B39;--sd-gnb-belt-gnb-belt-item-bg-selected:#002B5E;--sd-gnb-belt-gnb-belt-item-color-default:#FFFFFF;--sd-gnb-belt-gnb-belt-item-color-active:#93C4FF;--sd-gnb-belt-gnb-belt-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-default-font-weight:500;--sd-gnb-belt-gnb-belt-item-typography-default-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-default-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-default-text-decoration:none;--sd-gnb-belt-gnb-belt-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-selected-font-weight:700;--sd-gnb-belt-gnb-belt-item-typography-selected-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-selected-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-selected-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth1-padding-left:20px;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-weight:700;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-size:13px;--sd-gnb-belt-gnb-belt-item-depth1-typography-line-height:22px;--sd-gnb-belt-gnb-belt-item-depth1-typography-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth2-padding-left:32px;--sd-gnb-belt-gnb-belt-item-depth3-padding-left:44px;--sd-gnb-belt-gnb-belt-fold-width:48px;--sd-gnb-box-gnb-box-top-height:56px;--sd-gnb-box-gnb-box-padding-x:16px;--sd-gnb-box-gnb-box-gap:16px;--sd-gnb-box-gnb-box-bg:#FFFFFF;--sd-gnb-box-gnb-box-border:#E1E1E1;--sd-gnb-box-gnb-box-button-gap:8px;--sd-gnb-box-gnb-box-logo-height:32px;--sd-gnb-box-gnb-box-menu-body-padding:12px;--sd-gnb-box-gnb-box-item-padding-y:6px;--sd-gnb-box-gnb-box-item-padding-right:12px;--sd-gnb-box-gnb-box-item-gap:8px;--sd-gnb-box-gnb-box-item-radius:8px;--sd-gnb-box-gnb-box-item-arrow:12px;--sd-gnb-box-gnb-box-item-bg-default:#FFFFFF;--sd-gnb-box-gnb-box-item-bg-hover:#F6F6F6;--sd-gnb-box-gnb-box-item-bg-selected:#EFF6FF;--sd-gnb-box-gnb-box-item-color-default:#222222;--sd-gnb-box-gnb-box-item-color-selected:#0075FF;--sd-gnb-box-gnb-box-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-default-font-weight:500;--sd-gnb-box-gnb-box-item-typography-default-font-size:14px;--sd-gnb-box-gnb-box-item-typography-default-line-height:24px;--sd-gnb-box-gnb-box-item-typography-default-text-decoration:none;--sd-gnb-box-gnb-box-item-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-bold-font-weight:700;--sd-gnb-box-gnb-box-item-typography-bold-font-size:14px;--sd-gnb-box-gnb-box-item-typography-bold-line-height:24px;--sd-gnb-box-gnb-box-item-typography-bold-text-decoration:none;--sd-gnb-box-gnb-box-item-depth1-padding-left:12px;--sd-gnb-box-gnb-box-item-depth1-icon:20px;--sd-gnb-box-gnb-box-item-depth2-padding-left:24px;--sd-gnb-box-gnb-box-item-depth3-padding-left:36px;--sd-callout-callout-radius:8px;--sd-callout-callout-border-width:1px;--sd-callout-callout-body-gap:2px;--sd-callout-callout-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-body-typography-font-size:12px;--sd-callout-callout-body-typography-font-weight:400;--sd-callout-callout-body-typography-line-height:20px;--sd-callout-callout-body-typography-text-decoration:none;--sd-callout-callout-body-padding-x:12px;--sd-callout-callout-body-padding-y:8px;--sd-callout-callout-default-bg:#F9F9F9;--sd-callout-callout-default-border:#E1E1E1;--sd-callout-callout-default-content:#555555;--sd-callout-callout-danger-bg:#FCEFEF;--sd-callout-callout-danger-border:#FFB5B5;--sd-callout-callout-danger-content:#222222;--sd-callout-callout-danger-title-bg:#FB4444;--sd-callout-callout-danger-title-padding-x:24px;--sd-callout-callout-danger-title-gap:2px;--sd-callout-callout-danger-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-danger-title-typography-font-weight:700;--sd-callout-callout-danger-title-typography-font-size:16px;--sd-callout-callout-danger-title-typography-text-decoration:none;--sd-callout-callout-danger-title-typography-line-height:26px;--sd-callout-callout-danger-title-color:#FFFFFF;--sd-callout-callout-danger-title-icon:24px}.bg-primary{background-color:var(--color-primary, #051d36)}.bg-secondary{background-color:var(--color-secondary, #555555)}.bg-accent{background-color:var(--color-accent, #9c27b0)}.bg-positive{background-color:var(--color-positive, #0075ff)}.bg-negative{background-color:var(--color-negative, #e30000)}.bg-info{background-color:var(--color-info, #00cd52)}.bg-warning{background-color:var(--color-warning, #f2c037)}.bg-red_99{background-color:var(--color-red_99, #220000)}.bg-red_95{background-color:var(--color-red_95, #440000)}.bg-red_90{background-color:var(--color-red_90, #5e0000)}.bg-red_85{background-color:var(--color-red_85, #820000)}.bg-red_80{background-color:var(--color-red_80, #ad0000)}.bg-red_75{background-color:var(--color-red_75, #e30000)}.bg-red_70{background-color:var(--color-red_70, #fb4444)}.bg-red_60{background-color:var(--color-red_60, #ff7c7c)}.bg-red_45{background-color:var(--color-red_45, #ffb5b5)}.bg-red_30{background-color:var(--color-red_30, #ffd3d3)}.bg-red_20{background-color:var(--color-red_20, #fce6e6)}.bg-red_15{background-color:var(--color-red_15, #fcefef)}.bg-caution_bg{background-color:var(--color-caution_bg, #fef1f1)}.bg-caution_icon{background-color:var(--color-caution_icon, #fd9595)}.bg-orange_99{background-color:var(--color-orange_99, #2f1100)}.bg-orange_95{background-color:var(--color-orange_95, #4d1b00)}.bg-orange_90{background-color:var(--color-orange_90, #752a00)}.bg-orange_85{background-color:var(--color-orange_85, #9b3700)}.bg-orange_75{background-color:var(--color-orange_75, #ce4900)}.bg-orange_65{background-color:var(--color-orange_65, #ff6b00)}.bg-orange_60{background-color:var(--color-orange_60, #ff7f22)}.bg-orange_55{background-color:var(--color-orange_55, #ffa452)}.bg-orange_45{background-color:var(--color-orange_45, #ffbc81)}.bg-orange_35{background-color:var(--color-orange_35, #ffd5af)}.bg-orange_20{background-color:var(--color-orange_20, #ffead7)}.bg-orange_10{background-color:var(--color-orange_10, #fef1ea)}.bg-header_alert{background-color:var(--color-header_alert, #ff7a00)}.bg-yellow_95{background-color:var(--color-yellow_95, #322700)}.bg-yellow_90{background-color:var(--color-yellow_90, #453702)}.bg-yellow_80{background-color:var(--color-yellow_80, #6c5602)}.bg-yellow_70{background-color:var(--color-yellow_70, #9c7a00)}.bg-yellow_60{background-color:var(--color-yellow_60, #c49900)}.bg-yellow_50{background-color:var(--color-yellow_50, #ebb800)}.bg-yellow_45{background-color:var(--color-yellow_45, #ffc700)}.bg-yellow_40{background-color:var(--color-yellow_40, #ffd643)}.bg-yellow_30{background-color:var(--color-yellow_30, #fee17c)}.bg-yellow_25{background-color:var(--color-yellow_25, #ffe99e)}.bg-yellow_20{background-color:var(--color-yellow_20, #fef1c4)}.bg-yellow_10{background-color:var(--color-yellow_10, #fff7dd)}.bg-olive_95{background-color:var(--color-olive_95, #2c2c00)}.bg-olive_90{background-color:var(--color-olive_90, #454500)}.bg-olive_80{background-color:var(--color-olive_80, #636300)}.bg-olive_70{background-color:var(--color-olive_70, #838300)}.bg-olive_65{background-color:var(--color-olive_65, #a5a500)}.bg-olive_55{background-color:var(--color-olive_55, #c7c700)}.bg-olive_45{background-color:var(--color-olive_45, #dddd12)}.bg-olive_30{background-color:var(--color-olive_30, #eeee37)}.bg-olive_20{background-color:var(--color-olive_20, #f6f65f)}.bg-olive_15{background-color:var(--color-olive_15, #fafaa1)}.bg-olive_10{background-color:var(--color-olive_10, #fbfbbf)}.bg-olive_05{background-color:var(--color-olive_05, #fefed9)}.bg-green_99{background-color:var(--color-green_99, #001d0b)}.bg-green_95{background-color:var(--color-green_95, #003013)}.bg-green_90{background-color:var(--color-green_90, #00461c)}.bg-green_85{background-color:var(--color-green_85, #006629)}.bg-green_80{background-color:var(--color-green_80, #007b31)}.bg-green_75{background-color:var(--color-green_75, #00973c)}.bg-green_70{background-color:var(--color-green_70, #12b553)}.bg-green_65{background-color:var(--color-green_65, #2bce6c)}.bg-green_55{background-color:var(--color-green_55, #6de39c)}.bg-green_45{background-color:var(--color-green_45, #acf4c9)}.bg-green_25{background-color:var(--color-green_25, #d4fae3)}.bg-green_15{background-color:var(--color-green_15, #e8f9ef)}.bg-steelblue_99{background-color:var(--color-steelblue_99, #021a25)}.bg-steelblue_95{background-color:var(--color-steelblue_95, #02212f)}.bg-steelblue_90{background-color:var(--color-steelblue_90, #032d40)}.bg-steelblue_85{background-color:var(--color-steelblue_85, #033f59)}.bg-steelblue_80{background-color:var(--color-steelblue_80, #06587d)}.bg-steelblue_75{background-color:var(--color-steelblue_75, #066d9b)}.bg-steelblue_70{background-color:var(--color-steelblue_70, #128fc7)}.bg-steelblue_65{background-color:var(--color-steelblue_65, #229fd7)}.bg-steelblue_60{background-color:var(--color-steelblue_60, #50bff0)}.bg-steelblue_45{background-color:var(--color-steelblue_45, #a4e2fd)}.bg-steelblue_25{background-color:var(--color-steelblue_25, #d9f2fd)}.bg-steelblue_10{background-color:var(--color-steelblue_10, #ecf8fd)}.bg-oceanblue_99{background-color:var(--color-oceanblue_99, #011428)}.bg-oceanblue_95{background-color:var(--color-oceanblue_95, #03172d)}.bg-oceanblue_90{background-color:var(--color-oceanblue_90, #051d36)}.bg-oceanblue_85{background-color:var(--color-oceanblue_85, #07284a)}.bg-oceanblue_80{background-color:var(--color-oceanblue_80, #004177)}.bg-oceanblue_75{background-color:var(--color-oceanblue_75, #025497)}.bg-oceanblue_70{background-color:var(--color-oceanblue_70, #006ac1)}.bg-oceanblue_65{background-color:var(--color-oceanblue_65, #1f8ae1)}.bg-oceanblue_60{background-color:var(--color-oceanblue_60, #5cb0f3)}.bg-oceanblue_50{background-color:var(--color-oceanblue_50, #9cd1fc)}.bg-oceanblue_25{background-color:var(--color-oceanblue_25, #d5ebfe)}.bg-oceanblue_15{background-color:var(--color-oceanblue_15, #eaf5fe)}.bg-brilliantblue_99{background-color:var(--color-brilliantblue_99, #001226)}.bg-brilliantblue_95{background-color:var(--color-brilliantblue_95, #001b39)}.bg-brilliantblue_90{background-color:var(--color-brilliantblue_90, #002b5e)}.bg-brilliantblue_85{background-color:var(--color-brilliantblue_85, #004290)}.bg-brilliantblue_80{background-color:var(--color-brilliantblue_80, #005cc9)}.bg-brilliantblue_75{background-color:var(--color-brilliantblue_75, #0075ff)}.bg-brilliantblue_70{background-color:var(--color-brilliantblue_70, #2d8dff)}.bg-brilliantblue_60{background-color:var(--color-brilliantblue_60, #64abff)}.bg-brilliantblue_50{background-color:var(--color-brilliantblue_50, #93c4ff)}.bg-brilliantblue_40{background-color:var(--color-brilliantblue_40, #bbdaff)}.bg-brilliantblue_25{background-color:var(--color-brilliantblue_25, #d9eaff)}.bg-brilliantblue_20{background-color:var(--color-brilliantblue_20, #e6f1ff)}.bg-brilliantblue_10{background-color:var(--color-brilliantblue_10, #eff6ff)}.bg-brilliantblue_05{background-color:var(--color-brilliantblue_05, #f5faff)}.bg-grey_95{background-color:var(--color-grey_95, #222222)}.bg-grey_90{background-color:var(--color-grey_90, #333333)}.bg-grey_85{background-color:var(--color-grey_85, #444444)}.bg-grey_80{background-color:var(--color-grey_80, #555555)}.bg-grey_70{background-color:var(--color-grey_70, #737373)}.bg-grey_65{background-color:var(--color-grey_65, #888888)}.bg-grey_60{background-color:var(--color-grey_60, #999999)}.bg-grey_55{background-color:var(--color-grey_55, #aaaaaa)}.bg-grey_50{background-color:var(--color-grey_50, #bbbbbb)}.bg-grey_45{background-color:var(--color-grey_45, #cccccc)}.bg-grey_35{background-color:var(--color-grey_35, #d8d8d8)}.bg-grey_30{background-color:var(--color-grey_30, #e1e1e1)}.bg-grey_25{background-color:var(--color-grey_25, #e5e5e5)}.bg-grey_20{background-color:var(--color-grey_20, #eeeeee)}.bg-grey_10{background-color:var(--color-grey_10, #f6f6f6)}.bg-grey_05{background-color:var(--color-grey_05, #f9f9f9)}.bg-white{background-color:var(--color-white, #ffffff)}.bg-black{background-color:var(--color-black, #000000)}.text-primary{color:var(--color-primary, #051d36)}.text-secondary{color:var(--color-secondary, #555555)}.text-accent{color:var(--color-accent, #9c27b0)}.text-positive{color:var(--color-positive, #0075ff)}.text-negative{color:var(--color-negative, #e30000)}.text-info{color:var(--color-info, #00cd52)}.text-warning{color:var(--color-warning, #f2c037)}.text-red_99{color:var(--color-red_99, #220000)}.text-red_95{color:var(--color-red_95, #440000)}.text-red_90{color:var(--color-red_90, #5e0000)}.text-red_85{color:var(--color-red_85, #820000)}.text-red_80{color:var(--color-red_80, #ad0000)}.text-red_75{color:var(--color-red_75, #e30000)}.text-red_70{color:var(--color-red_70, #fb4444)}.text-red_60{color:var(--color-red_60, #ff7c7c)}.text-red_45{color:var(--color-red_45, #ffb5b5)}.text-red_30{color:var(--color-red_30, #ffd3d3)}.text-red_20{color:var(--color-red_20, #fce6e6)}.text-red_15{color:var(--color-red_15, #fcefef)}.text-caution_bg{color:var(--color-caution_bg, #fef1f1)}.text-caution_icon{color:var(--color-caution_icon, #fd9595)}.text-orange_99{color:var(--color-orange_99, #2f1100)}.text-orange_95{color:var(--color-orange_95, #4d1b00)}.text-orange_90{color:var(--color-orange_90, #752a00)}.text-orange_85{color:var(--color-orange_85, #9b3700)}.text-orange_75{color:var(--color-orange_75, #ce4900)}.text-orange_65{color:var(--color-orange_65, #ff6b00)}.text-orange_60{color:var(--color-orange_60, #ff7f22)}.text-orange_55{color:var(--color-orange_55, #ffa452)}.text-orange_45{color:var(--color-orange_45, #ffbc81)}.text-orange_35{color:var(--color-orange_35, #ffd5af)}.text-orange_20{color:var(--color-orange_20, #ffead7)}.text-orange_10{color:var(--color-orange_10, #fef1ea)}.text-header_alert{color:var(--color-header_alert, #ff7a00)}.text-yellow_95{color:var(--color-yellow_95, #322700)}.text-yellow_90{color:var(--color-yellow_90, #453702)}.text-yellow_80{color:var(--color-yellow_80, #6c5602)}.text-yellow_70{color:var(--color-yellow_70, #9c7a00)}.text-yellow_60{color:var(--color-yellow_60, #c49900)}.text-yellow_50{color:var(--color-yellow_50, #ebb800)}.text-yellow_45{color:var(--color-yellow_45, #ffc700)}.text-yellow_40{color:var(--color-yellow_40, #ffd643)}.text-yellow_30{color:var(--color-yellow_30, #fee17c)}.text-yellow_25{color:var(--color-yellow_25, #ffe99e)}.text-yellow_20{color:var(--color-yellow_20, #fef1c4)}.text-yellow_10{color:var(--color-yellow_10, #fff7dd)}.text-olive_95{color:var(--color-olive_95, #2c2c00)}.text-olive_90{color:var(--color-olive_90, #454500)}.text-olive_80{color:var(--color-olive_80, #636300)}.text-olive_70{color:var(--color-olive_70, #838300)}.text-olive_65{color:var(--color-olive_65, #a5a500)}.text-olive_55{color:var(--color-olive_55, #c7c700)}.text-olive_45{color:var(--color-olive_45, #dddd12)}.text-olive_30{color:var(--color-olive_30, #eeee37)}.text-olive_20{color:var(--color-olive_20, #f6f65f)}.text-olive_15{color:var(--color-olive_15, #fafaa1)}.text-olive_10{color:var(--color-olive_10, #fbfbbf)}.text-olive_05{color:var(--color-olive_05, #fefed9)}.text-green_99{color:var(--color-green_99, #001d0b)}.text-green_95{color:var(--color-green_95, #003013)}.text-green_90{color:var(--color-green_90, #00461c)}.text-green_85{color:var(--color-green_85, #006629)}.text-green_80{color:var(--color-green_80, #007b31)}.text-green_75{color:var(--color-green_75, #00973c)}.text-green_70{color:var(--color-green_70, #12b553)}.text-green_65{color:var(--color-green_65, #2bce6c)}.text-green_55{color:var(--color-green_55, #6de39c)}.text-green_45{color:var(--color-green_45, #acf4c9)}.text-green_25{color:var(--color-green_25, #d4fae3)}.text-green_15{color:var(--color-green_15, #e8f9ef)}.text-steelblue_99{color:var(--color-steelblue_99, #021a25)}.text-steelblue_95{color:var(--color-steelblue_95, #02212f)}.text-steelblue_90{color:var(--color-steelblue_90, #032d40)}.text-steelblue_85{color:var(--color-steelblue_85, #033f59)}.text-steelblue_80{color:var(--color-steelblue_80, #06587d)}.text-steelblue_75{color:var(--color-steelblue_75, #066d9b)}.text-steelblue_70{color:var(--color-steelblue_70, #128fc7)}.text-steelblue_65{color:var(--color-steelblue_65, #229fd7)}.text-steelblue_60{color:var(--color-steelblue_60, #50bff0)}.text-steelblue_45{color:var(--color-steelblue_45, #a4e2fd)}.text-steelblue_25{color:var(--color-steelblue_25, #d9f2fd)}.text-steelblue_10{color:var(--color-steelblue_10, #ecf8fd)}.text-oceanblue_99{color:var(--color-oceanblue_99, #011428)}.text-oceanblue_95{color:var(--color-oceanblue_95, #03172d)}.text-oceanblue_90{color:var(--color-oceanblue_90, #051d36)}.text-oceanblue_85{color:var(--color-oceanblue_85, #07284a)}.text-oceanblue_80{color:var(--color-oceanblue_80, #004177)}.text-oceanblue_75{color:var(--color-oceanblue_75, #025497)}.text-oceanblue_70{color:var(--color-oceanblue_70, #006ac1)}.text-oceanblue_65{color:var(--color-oceanblue_65, #1f8ae1)}.text-oceanblue_60{color:var(--color-oceanblue_60, #5cb0f3)}.text-oceanblue_50{color:var(--color-oceanblue_50, #9cd1fc)}.text-oceanblue_25{color:var(--color-oceanblue_25, #d5ebfe)}.text-oceanblue_15{color:var(--color-oceanblue_15, #eaf5fe)}.text-brilliantblue_99{color:var(--color-brilliantblue_99, #001226)}.text-brilliantblue_95{color:var(--color-brilliantblue_95, #001b39)}.text-brilliantblue_90{color:var(--color-brilliantblue_90, #002b5e)}.text-brilliantblue_85{color:var(--color-brilliantblue_85, #004290)}.text-brilliantblue_80{color:var(--color-brilliantblue_80, #005cc9)}.text-brilliantblue_75{color:var(--color-brilliantblue_75, #0075ff)}.text-brilliantblue_70{color:var(--color-brilliantblue_70, #2d8dff)}.text-brilliantblue_60{color:var(--color-brilliantblue_60, #64abff)}.text-brilliantblue_50{color:var(--color-brilliantblue_50, #93c4ff)}.text-brilliantblue_40{color:var(--color-brilliantblue_40, #bbdaff)}.text-brilliantblue_25{color:var(--color-brilliantblue_25, #d9eaff)}.text-brilliantblue_20{color:var(--color-brilliantblue_20, #e6f1ff)}.text-brilliantblue_10{color:var(--color-brilliantblue_10, #eff6ff)}.text-brilliantblue_05{color:var(--color-brilliantblue_05, #f5faff)}.text-grey_95{color:var(--color-grey_95, #222222)}.text-grey_90{color:var(--color-grey_90, #333333)}.text-grey_85{color:var(--color-grey_85, #444444)}.text-grey_80{color:var(--color-grey_80, #555555)}.text-grey_70{color:var(--color-grey_70, #737373)}.text-grey_65{color:var(--color-grey_65, #888888)}.text-grey_60{color:var(--color-grey_60, #999999)}.text-grey_55{color:var(--color-grey_55, #aaaaaa)}.text-grey_50{color:var(--color-grey_50, #bbbbbb)}.text-grey_45{color:var(--color-grey_45, #cccccc)}.text-grey_35{color:var(--color-grey_35, #d8d8d8)}.text-grey_30{color:var(--color-grey_30, #e1e1e1)}.text-grey_25{color:var(--color-grey_25, #e5e5e5)}.text-grey_20{color:var(--color-grey_20, #eeeeee)}.text-grey_10{color:var(--color-grey_10, #f6f6f6)}.text-grey_05{color:var(--color-grey_05, #f9f9f9)}.text-white{color:var(--color-white, #ffffff)}.text-black{color:var(--color-black, #000000)}*,*::before,*::after{box-sizing:border-box}*{scroll-behavior:smooth}*::-webkit-scrollbar{opacity:0;width:8px;background:#E5E5E5}*::-webkit-scrollbar:horizontal{height:8px}*::-webkit-scrollbar-thumb{height:80px;background-color:#CCCCCC;border-radius:4px}*::-webkit-scrollbar-track{background-color:#E5E5E5}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-size:inherit}:target{scroll-margin-block:5ex}button{background:none;border:none;cursor:pointer;padding:0;outline:0}button:focus{outline:0 !important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}input:autofill,input:autofill:hover,input:autofill:focus,input:autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}input[type=text],input[type=number],input[type=password],input[type=email],input[type=tel],textarea{padding-block:0px;padding-inline:0px}.sd-hoverable:hover>.sd-focus-helper{background:currentColor;opacity:0.15}.sd-hoverable:hover>.sd-focus-helper:before{opacity:0.1}.sd-hoverable:hover>.sd-focus-helper:after{opacity:0.4}.sd-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:0;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before,.sd-focus-helper:after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.6s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before{background:#000000}.sd-focus-helper:after{background:#ffffff}";
|
|
140
140
|
|
|
141
141
|
/*
|
|
142
142
|
Stencil Hydrate Platform v4.43.2 | MIT Licensed | https://stenciljs.com
|
|
@@ -5304,11 +5304,17 @@ class SdActionModal {
|
|
|
5304
5304
|
this.close = createEvent(this, "sdClose", 7);
|
|
5305
5305
|
this.ok = createEvent(this, "sdOk", 7);
|
|
5306
5306
|
}
|
|
5307
|
+
/** 모달 헤더에 표시할 제목 */
|
|
5307
5308
|
modalTitle = '';
|
|
5309
|
+
/** 하단 확인 버튼의 props (없으면 footer 미표시) */
|
|
5308
5310
|
buttonProps;
|
|
5311
|
+
/** 모달 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
5309
5312
|
width;
|
|
5313
|
+
/** 모달 높이 (숫자면 px, 문자열이면 그대로 적용) */
|
|
5310
5314
|
height;
|
|
5315
|
+
/** 닫기 버튼 클릭 시 발생 */
|
|
5311
5316
|
close;
|
|
5317
|
+
/** 확인 버튼 클릭 시 발생 */
|
|
5312
5318
|
ok;
|
|
5313
5319
|
render() {
|
|
5314
5320
|
const cssVars = {
|
|
@@ -5338,7 +5344,7 @@ class SdActionModal {
|
|
|
5338
5344
|
if (this.height != null && this.height !== '') {
|
|
5339
5345
|
sizeStyle.height = typeof this.height === 'number' ? `${this.height}px` : this.height;
|
|
5340
5346
|
}
|
|
5341
|
-
return (hAsync("div", { key: '
|
|
5347
|
+
return (hAsync("div", { key: '1bed831bf4534b5936d151d9cf085dda4657295f', class: "sd-action-modal", style: { ...cssVars, ...sizeStyle } }, hAsync("header", { key: '2e5855be8128695e85e397acc91432d573572a12', class: "sd-action-modal__header" }, hAsync("h2", { key: '1551d022b29288f38c1288c595d66acffb7cd81a', class: "sd-action-modal__title" }, this.modalTitle), hAsync("div", { key: '8d4ec549ebebc6b2d61ad3c9dc4808d0275d3c55', class: "sd-action-modal__header-sub" }, hAsync("slot", { key: 'aac69288e31316de16c6cdd8a5b5641b5afc2f5a', name: "header-sub-title" })), hAsync("sd-ghost-button", { key: 'd48d05b60cdc53e5d71e7694149b2e2e77c0cde8', class: "sd-action-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), hAsync("div", { key: 'abd5db2432dea9639bfa91fb3f3019105a47e409', class: "sd-action-modal__body" }, hAsync("slot", { key: 'debfb64dd617e6d027b9acdea2081141ad78ff5d', name: "body" })), (this.buttonProps != null || this.buttonProps != undefined) && (hAsync("footer", { key: '9cf1510e0ce5aea2e5b4e504e832073f533e166e', class: "sd-action-modal__footer" }, hAsync("div", { key: '677d0e26fe8d416419fd247c808206955df82b16', class: "sd-action-modal__footer-sub" }, hAsync("slot", { key: '24e400c96a0fec93ea76d2a037432901e3050618', name: "bottom-sub-content" })), hAsync("sd-button", { key: 'b52c5c7837a06f25738533dc769f5daff1169696', ...DEFAULT_BUTTON_PROPS, ...this.buttonProps, onSdClick: () => this.ok.emit() })))));
|
|
5342
5348
|
}
|
|
5343
5349
|
static get style() { return sdActionModalCss(); }
|
|
5344
5350
|
static get cmpMeta() { return {
|
|
@@ -5387,10 +5393,11 @@ class SdBadge {
|
|
|
5387
5393
|
constructor(hostRef) {
|
|
5388
5394
|
registerInstance(this, hostRef);
|
|
5389
5395
|
}
|
|
5396
|
+
/** 뱃지 색상 */
|
|
5390
5397
|
color = 'blue';
|
|
5391
5398
|
render() {
|
|
5392
5399
|
const resolvedColor = BADGE_COLOR_MAP[this.color] ?? BADGE_COLOR_MAP.blue;
|
|
5393
|
-
return (hAsync("div", { key: '
|
|
5400
|
+
return (hAsync("div", { key: '72a1ff1775b431b12a0765416d50256a91e34180', class: "sd-badge", style: { '--sd-badge-color': resolvedColor } }, hAsync("div", { key: '427bc1c523aff73dc52edf729a414b26f52faf68', class: "sd-badge__dot" })));
|
|
5394
5401
|
}
|
|
5395
5402
|
static get style() { return sdBadgeCss(); }
|
|
5396
5403
|
static get cmpMeta() { return {
|
|
@@ -5501,38 +5508,66 @@ class SdBarcodeInput {
|
|
|
5501
5508
|
this.blur = createEvent(this, "sdBlur", 7);
|
|
5502
5509
|
}
|
|
5503
5510
|
get host() { return getElement(this); }
|
|
5511
|
+
/** 입력값 */
|
|
5504
5512
|
value = null;
|
|
5513
|
+
/** 입력 필드 크기 */
|
|
5505
5514
|
size = 'sm';
|
|
5515
|
+
/** 필드 우측 어드온 레이블 */
|
|
5506
5516
|
addonLabel = '';
|
|
5517
|
+
/** 어드온 정렬 방향 */
|
|
5507
5518
|
addonAlign = 'start';
|
|
5519
|
+
/** 입력 placeholder */
|
|
5508
5520
|
placeholder = '입력해 주세요.';
|
|
5521
|
+
/** 비활성 상태 여부 */
|
|
5509
5522
|
disabled = false;
|
|
5523
|
+
/** 입력값 지우기 버튼 표시 여부 */
|
|
5510
5524
|
clearable = false;
|
|
5525
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
5511
5526
|
width = '';
|
|
5527
|
+
/** 유효성 검사 규칙 목록 */
|
|
5512
5528
|
rules = [];
|
|
5529
|
+
/** 마운트 시 자동 포커스 여부 */
|
|
5513
5530
|
autoFocus = false;
|
|
5531
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
5514
5532
|
status;
|
|
5533
|
+
/** 필드 하단 힌트 텍스트 */
|
|
5515
5534
|
hint = '';
|
|
5535
|
+
/** 에러 메시지 */
|
|
5516
5536
|
errorMessage = '';
|
|
5537
|
+
/** 네이티브 input에 추가할 클래스 */
|
|
5517
5538
|
inputClass = '';
|
|
5539
|
+
/** 읽기 전용 여부 */
|
|
5518
5540
|
readonly = false;
|
|
5541
|
+
/** 에러 상태 여부 */
|
|
5519
5542
|
error = false;
|
|
5543
|
+
/** 포커스 상태 여부 */
|
|
5520
5544
|
focused = false;
|
|
5545
|
+
/** 호버 상태 여부 */
|
|
5521
5546
|
hovered = false;
|
|
5522
5547
|
// props - label
|
|
5548
|
+
/** 레이블 텍스트 */
|
|
5523
5549
|
label = '';
|
|
5550
|
+
/** 레이블 너비 */
|
|
5524
5551
|
labelWidth = '';
|
|
5552
|
+
/** 레이블 영역 아이콘 */
|
|
5525
5553
|
icon = undefined;
|
|
5554
|
+
/** 레이블 툴팁 텍스트 */
|
|
5526
5555
|
labelTooltip = '';
|
|
5556
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
5527
5557
|
labelTooltipProps = null;
|
|
5528
5558
|
// props - custom styles
|
|
5559
|
+
/** 네이티브 input에 적용할 인라인 스타일 */
|
|
5529
5560
|
inputStyle = {};
|
|
5530
5561
|
internalValue = null;
|
|
5531
5562
|
nativeEl = undefined;
|
|
5532
5563
|
formField;
|
|
5564
|
+
/** 폼 연동용 name 속성 */
|
|
5533
5565
|
name = nanoid$1();
|
|
5566
|
+
/** 입력값 변경 시 발생합니다. */
|
|
5534
5567
|
input;
|
|
5568
|
+
/** 포커스 진입 시 발생합니다. */
|
|
5535
5569
|
focus;
|
|
5570
|
+
/** 포커스 이탈 시 발생합니다. */
|
|
5536
5571
|
blur;
|
|
5537
5572
|
valueChanged(newValue) {
|
|
5538
5573
|
this.internalValue = newValue;
|
|
@@ -5543,18 +5578,23 @@ class SdBarcodeInput {
|
|
|
5543
5578
|
this.input?.emit(this.value);
|
|
5544
5579
|
}
|
|
5545
5580
|
}
|
|
5581
|
+
/** 네이티브 input 엘리먼트를 반환합니다. */
|
|
5546
5582
|
async sdGetNativeElement() {
|
|
5547
5583
|
return this.nativeEl || null;
|
|
5548
5584
|
}
|
|
5585
|
+
/** 유효성 검사를 실행합니다. */
|
|
5549
5586
|
async sdValidate() {
|
|
5550
5587
|
this.formField?.sdValidate();
|
|
5551
5588
|
}
|
|
5589
|
+
/** 입력값과 유효성 상태를 초기화합니다. */
|
|
5552
5590
|
async sdReset() {
|
|
5553
5591
|
this.formField?.sdReset();
|
|
5554
5592
|
}
|
|
5593
|
+
/** 유효성 상태만 초기화합니다. */
|
|
5555
5594
|
async sdResetValidate() {
|
|
5556
5595
|
this.formField?.sdResetValidation();
|
|
5557
5596
|
}
|
|
5597
|
+
/** 입력 필드에 포커스를 이동합니다. */
|
|
5558
5598
|
async sdFocus() {
|
|
5559
5599
|
this.formField?.sdFocus();
|
|
5560
5600
|
}
|
|
@@ -5600,7 +5640,7 @@ class SdBarcodeInput {
|
|
|
5600
5640
|
'--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
|
|
5601
5641
|
'--sd-system-color-field-bg-default': BARCODE_INPUT_COLORS.bg.barcode,
|
|
5602
5642
|
};
|
|
5603
|
-
return (hAsync("sd-field", { key: '
|
|
5643
|
+
return (hAsync("sd-field", { key: '9f9831c9f39e4723cad6567b22155ab89856c9be', 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, 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 }, hAsync("label", { key: '1da8ce2ef66e48f269b79f22e6751ccf18ca9cc0', class: "sd-barcode-input__content" }, hAsync("slot", { key: '06850214ee5118ff3d13266c1ade37902c19f379', name: "prefix" }), hAsync("input", { key: '0384b010946b635cc6b19ddb1a83be593ba5806b', name: this.name, ref: el => (this.nativeEl = el), class: `sd-barcode-input__native ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), hAsync("slot", { key: '2bb5baed7b300014e52795d3a7665a580b7ff5a2', name: "suffix" }), this.clearable && this.internalValue && (hAsync("sd-ghost-button", { key: 'fc586fdb39a1dc25eeba32c76aa86a653416c38e', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-barcode-input__clear-icon", onClick: async () => {
|
|
5604
5644
|
if (this.disabled)
|
|
5605
5645
|
return;
|
|
5606
5646
|
this.internalValue = '';
|
|
@@ -5745,22 +5785,22 @@ const CancelOutline = (props) => {
|
|
|
5745
5785
|
|
|
5746
5786
|
const CaretDown = (props) => {
|
|
5747
5787
|
const { size = 24, ...rest } = props;
|
|
5748
|
-
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "
|
|
5788
|
+
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M19.2188 8.25C19.9555 8.25 20.2813 9.44246 19.7061 10.0342L12.4874 17.46C12.2028 17.7526 11.7974 17.7526 11.5127 17.46L4.294 10.0342C3.71879 9.44247 4.04461 8.25 4.7813 8.25H19.2188Z", fill: "currentColor" })));
|
|
5749
5789
|
};
|
|
5750
5790
|
|
|
5751
5791
|
const CaretLeft = (props) => {
|
|
5752
5792
|
const { size = 24, ...rest } = props;
|
|
5753
|
-
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "
|
|
5793
|
+
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M14.1423 4.29416C14.7698 3.71888 16.0358 4.04475 16.0358 4.78146V19.219C16.0358 19.9557 14.7698 20.2815 14.1423 19.7063L6.26827 12.4865C5.95813 12.2019 5.95791 11.7975 6.26827 11.5129L14.1423 4.29416Z", fill: "currentColor" })));
|
|
5754
5794
|
};
|
|
5755
5795
|
|
|
5756
5796
|
const CaretRight = (props) => {
|
|
5757
5797
|
const { size = 24, ...rest } = props;
|
|
5758
|
-
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "
|
|
5798
|
+
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M8.25 4.78127C8.25 4.04456 9.44248 3.71871 10.0342 4.29397L17.46 11.5127C17.7526 11.7973 17.7526 12.2027 17.46 12.4873L10.0342 19.7061C9.44249 20.2814 8.25 19.9555 8.25 19.2188V4.78127Z", fill: "currentColor" })));
|
|
5759
5799
|
};
|
|
5760
5800
|
|
|
5761
5801
|
const CaretUp = (props) => {
|
|
5762
5802
|
const { size = 24, ...rest } = props;
|
|
5763
|
-
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M11.
|
|
5803
|
+
return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M11.6252 6.44362C11.8583 6.27919 12.1422 6.27906 12.3752 6.44362L12.4865 6.5403L19.7063 13.9651C20.2815 14.5568 19.9557 15.7503 19.219 15.7503H4.78146C4.04475 15.7503 3.71888 14.5568 4.29416 13.9651L11.5129 6.5403L11.6252 6.44362Z", fill: "currentColor" })));
|
|
5764
5804
|
};
|
|
5765
5805
|
|
|
5766
5806
|
const Check = (props) => {
|
|
@@ -6472,13 +6512,21 @@ class SdButton {
|
|
|
6472
6512
|
registerInstance(this, hostRef);
|
|
6473
6513
|
this.click = createEvent(this, "sdClick", 7);
|
|
6474
6514
|
}
|
|
6515
|
+
/** 버튼 프리셋 이름 (크기와 색상 조합) */
|
|
6475
6516
|
name = 'primary_sm';
|
|
6517
|
+
/** 버튼 텍스트 레이블 */
|
|
6476
6518
|
label = '';
|
|
6519
|
+
/** 레이블 왼쪽에 표시할 아이콘 */
|
|
6477
6520
|
icon;
|
|
6521
|
+
/** 레이블 오른쪽에 표시할 아이콘 */
|
|
6478
6522
|
rightIcon;
|
|
6523
|
+
/** 아이콘 전용 버튼일 때 스크린리더용 레이블 */
|
|
6479
6524
|
ariaLabel = '';
|
|
6525
|
+
/** 비활성 상태 여부 */
|
|
6480
6526
|
disabled = false;
|
|
6527
|
+
/** 네이티브 button type 속성 */
|
|
6481
6528
|
type = 'button';
|
|
6529
|
+
/** 클릭 시 발생합니다. */
|
|
6482
6530
|
click;
|
|
6483
6531
|
hasWarnedMissingAriaLabel = false;
|
|
6484
6532
|
handleClick = (event) => {
|
|
@@ -6538,14 +6586,14 @@ class SdButton {
|
|
|
6538
6586
|
const validRightIcon = isValidIcon(this.rightIcon) ? this.rightIcon : undefined;
|
|
6539
6587
|
const iconOnly = !hasLabel && Boolean(validIcon) !== Boolean(validRightIcon);
|
|
6540
6588
|
const accessibleName = iconOnly && this.ariaLabel.trim() !== '' ? this.ariaLabel : undefined;
|
|
6541
|
-
return (hAsync("button", { key: '
|
|
6589
|
+
return (hAsync("button", { key: 'ea6482b86f91b26cd20ab635c357b655e92c2ec1', class: this.getButtonClasses(preset, config.size, hasLabel, iconOnly), type: this.type ?? 'button', disabled: this.disabled, "aria-label": accessibleName, style: {
|
|
6542
6590
|
'--sd-button-bg': config.color,
|
|
6543
6591
|
'--sd-button-bg-hover': PRESET_HOVER_BACKGROUNDS$1[preset],
|
|
6544
6592
|
'--sd-button-border': PRESET_BORDER_COLORS$1[preset],
|
|
6545
6593
|
'--sd-button-text': PRESET_TEXT_COLORS$1[preset],
|
|
6546
6594
|
'--sd-button-icon': PRESET_ICON_COLORS$1[preset],
|
|
6547
6595
|
'--sd-button-accent': BUTTON_FOCUS_RING_COLOR,
|
|
6548
|
-
}, onClick: this.handleClick }, hAsync("span", { key: '
|
|
6596
|
+
}, onClick: this.handleClick }, hAsync("span", { key: 'fd0cbd15e1edf4dc599e7eb3df3dcb1ddbd4732e', class: "sd-button__content" }, validIcon && (hAsync("sd-icon", { key: '5ace6d85974e1c2ecb0fcf55b0330801f78f094f', class: "sd-button__icon", name: validIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })), this.label && hAsync("span", { key: 'ef1240a6acee55def8244149b0af4e0252be558c', class: "sd-button__label" }, this.label), validRightIcon && (hAsync("sd-icon", { key: '127de568676734d75dd801b9ea46aa35e09b558c', class: "sd-button__icon sd-button__icon--right", name: validRightIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })))));
|
|
6549
6597
|
}
|
|
6550
6598
|
static get style() { return sdButtonCss(); }
|
|
6551
6599
|
static get cmpMeta() { return {
|
|
@@ -6798,13 +6846,19 @@ class SdCalendar {
|
|
|
6798
6846
|
this.update = createEvent(this, "sdUpdate", 7);
|
|
6799
6847
|
this.viewChange = createEvent(this, "sdViewChange", 7);
|
|
6800
6848
|
}
|
|
6849
|
+
/** 선택된 날짜 (YYYY-MM-DD) */
|
|
6801
6850
|
value = null;
|
|
6851
|
+
/** 선택 가능한 날짜 범위 [시작일, 종료일] (YYYY-MM-DD, 빈 문자열이면 제한 없음) */
|
|
6802
6852
|
selectable;
|
|
6853
|
+
/** 캘린더에 표시할 이벤트 그룹 목록 */
|
|
6803
6854
|
events;
|
|
6855
|
+
/** 카드 형태의 그림자 여부 */
|
|
6804
6856
|
elevated = false;
|
|
6805
6857
|
currentYear;
|
|
6806
6858
|
currentMonth;
|
|
6859
|
+
/** 날짜 선택 시 선택된 날짜(YYYY-MM-DD)를 전달합니다. */
|
|
6807
6860
|
update;
|
|
6861
|
+
/** 월/년 네비게이션 변경 시 현재 보여지는 연·월을 전달합니다. */
|
|
6808
6862
|
viewChange;
|
|
6809
6863
|
dateUtil = useDatePicker();
|
|
6810
6864
|
_eventMapCache;
|
|
@@ -6968,7 +7022,7 @@ class SdCalendar {
|
|
|
6968
7022
|
const eventMap = this.eventMap;
|
|
6969
7023
|
const legend = this.legendItems;
|
|
6970
7024
|
const hasEvents = (this.events?.length ?? 0) > 0;
|
|
6971
|
-
return (hAsync("div", { key: '
|
|
7025
|
+
return (hAsync("div", { key: '1ff9f894078f4b24d52c738509878ee504e02c6b', class: { 'sd-calendar': true, 'sd-calendar--elevated': this.elevated }, style: cssVars }, hAsync("div", { key: 'a4e894dbf3c808ba1a2a6711997c956c8b4525c0', class: "sd-calendar__header" }, hAsync("div", { key: 'd559c861937fd51cab7e4cc39cfece49bed20037', class: "sd-calendar__nav-group" }, hAsync("sd-ghost-button", { key: '6b793f2a07cc9c26a8b517d7a4d0cc065305a19f', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), hAsync("span", { key: '324fa08a3583543a75cfd6a3cfeb8450586c9265', class: "sd-calendar__label" }, this.currentYear), hAsync("sd-ghost-button", { key: 'd0951fe7bf84f58348e0ad2ed9e89531daa68242', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), hAsync("span", { key: '953a382082f5be65a1df7dab23faae8be1975bfa', class: "sd-calendar__divider", "aria-hidden": "true" }), hAsync("div", { key: 'aa751f69f3864875d4e6f16a816660cb8636281f', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, hAsync("sd-ghost-button", { key: '7fe05970e9385cf8b744b16abce6a536ba639d8d', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), hAsync("span", { key: '0f528c7bde86f64f482a5a6b433beef2456e5832', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), hAsync("sd-ghost-button", { key: '3ddbb8f64f86fda85e5f8c6963cc4e11a95e8a37', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), hAsync("div", { key: 'de37bc97970b23c49757ff103f62a5ef8c3deb2a', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (hAsync("span", { key: label, class: "sd-calendar__week-cell" }, label)))), hAsync("div", { key: '218d4ff90b67bfcea0fb52984338b5bf486ec6b1', class: "sd-calendar__grid" }, this.cells.map(cell => {
|
|
6972
7026
|
const isSelected = cell.inCurrentMonth && this.value !== '' && this.value === cell.date;
|
|
6973
7027
|
const isToday = cell.inCurrentMonth && today === cell.date;
|
|
6974
7028
|
const isDisabled = cell.inCurrentMonth && this.isDisabled(cell.date);
|
|
@@ -6981,8 +7035,8 @@ class SdCalendar {
|
|
|
6981
7035
|
'sd-calendar__day--disabled': isDisabled,
|
|
6982
7036
|
}, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => cell.inCurrentMonth && this.handleDayClick(cell) }, hAsync("span", { class: "sd-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : ''), hasEvents && (hAsync("span", { class: "sd-calendar__dot-row", "aria-hidden": "true" }, dayEvents?.map((ev, i) => (hAsync("span", { key: `${ev.color}|${ev.label}|${i}`, class: "sd-calendar__dot", style: { backgroundColor: ev.color } })))))));
|
|
6983
7037
|
})), legend.length > 0 && [
|
|
6984
|
-
hAsync("span", { key: '
|
|
6985
|
-
hAsync("div", { key: '
|
|
7038
|
+
hAsync("span", { key: '713522194a9052e28b970f5eb6ad34941f7b6459', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
|
|
7039
|
+
hAsync("div", { key: 'fffe4cf9c14362c14e04be5cab0172c73490137f', class: "sd-calendar__legend" }, legend.map(item => (hAsync("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, hAsync("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), hAsync("span", { class: "sd-calendar__legend-label" }, item.label))))),
|
|
6986
7040
|
]));
|
|
6987
7041
|
}
|
|
6988
7042
|
static get watchers() { return {
|
|
@@ -7190,7 +7244,9 @@ class SdCallout {
|
|
|
7190
7244
|
constructor(hostRef) {
|
|
7191
7245
|
registerInstance(this, hostRef);
|
|
7192
7246
|
}
|
|
7247
|
+
/** 콜아웃 타입 (색상·아이콘 조합 결정) */
|
|
7193
7248
|
type = 'default';
|
|
7249
|
+
/** 표시할 메시지 목록 (문자열 배열로 중첩 리스트 표현 가능) */
|
|
7194
7250
|
message = [];
|
|
7195
7251
|
get calloutStyle() {
|
|
7196
7252
|
const typeConfig = CALLOUT_TYPE_CONFIG[this.type] ?? CALLOUT_TYPE_CONFIG.default;
|
|
@@ -7237,7 +7293,7 @@ class SdCallout {
|
|
|
7237
7293
|
}
|
|
7238
7294
|
render() {
|
|
7239
7295
|
const showTitle = this.type === 'danger';
|
|
7240
|
-
return (hAsync("div", { key: '
|
|
7296
|
+
return (hAsync("div", { key: 'd608e8393a52dec8074ae6e8c4c80f59eb88891f', class: "sd-callout", style: this.calloutStyle, role: "note" }, showTitle && this.renderTitle(), hAsync("div", { key: '9950ae86dab1f76b7009b89b3dcb91ebfcff978b', class: "sd-callout__body" }, this.renderBody())));
|
|
7241
7297
|
}
|
|
7242
7298
|
static get style() { return sdCalloutCss(); }
|
|
7243
7299
|
static get cmpMeta() { return {
|
|
@@ -7259,10 +7315,12 @@ class SdCard {
|
|
|
7259
7315
|
constructor(hostRef) {
|
|
7260
7316
|
registerInstance(this, hostRef);
|
|
7261
7317
|
}
|
|
7318
|
+
/** 테두리 표시 여부 */
|
|
7262
7319
|
bordered = false;
|
|
7320
|
+
/** 카드 루트 엘리먼트에 추가할 클래스 */
|
|
7263
7321
|
sdClass = '';
|
|
7264
7322
|
render() {
|
|
7265
|
-
return (hAsync(Fragment, { key: '
|
|
7323
|
+
return (hAsync(Fragment, { key: '1f40edfdae15a66922336229ebe49c570efa2059' }, hAsync("div", { key: '365233f8ee792e36b6b6f1084ed1adc79787029b', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.sdClass}` }, hAsync("slot", { key: 'd015ddda7cfb610e1def605d7077d710312514d1' }))));
|
|
7266
7324
|
}
|
|
7267
7325
|
static get style() { return sdCardCss(); }
|
|
7268
7326
|
static get cmpMeta() { return {
|
|
@@ -7285,9 +7343,13 @@ const checkbox = {
|
|
|
7285
7343
|
gap: "8",
|
|
7286
7344
|
icon: "12",
|
|
7287
7345
|
typography: {
|
|
7288
|
-
|
|
7289
|
-
|
|
7290
|
-
|
|
7346
|
+
"default": {
|
|
7347
|
+
fontWeight: "400",
|
|
7348
|
+
fontSize: "12",
|
|
7349
|
+
lineHeight: "20"},
|
|
7350
|
+
selected: {
|
|
7351
|
+
fontWeight: "500"}
|
|
7352
|
+
},
|
|
7291
7353
|
unchecked: {
|
|
7292
7354
|
bg: {
|
|
7293
7355
|
"default": "#FFFFFF",
|
|
@@ -7313,7 +7375,8 @@ const checkbox = {
|
|
|
7313
7375
|
},
|
|
7314
7376
|
label: {
|
|
7315
7377
|
"default": "#222222",
|
|
7316
|
-
inverse: "#FFFFFF"
|
|
7378
|
+
inverse: "#FFFFFF",
|
|
7379
|
+
disabled: "#888888"
|
|
7317
7380
|
},
|
|
7318
7381
|
bg: {
|
|
7319
7382
|
disabled: "#E1E1E1"
|
|
@@ -7334,9 +7397,10 @@ const CHECKBOX_LAYOUT = {
|
|
|
7334
7397
|
iconSize: checkboxTokens.checkbox.icon,
|
|
7335
7398
|
};
|
|
7336
7399
|
const CHECKBOX_TYPOGRAPHY = {
|
|
7337
|
-
fontSize: checkboxTokens.checkbox.typography.fontSize,
|
|
7338
|
-
lineHeight: checkboxTokens.checkbox.typography.lineHeight,
|
|
7339
|
-
fontWeight: checkboxTokens.checkbox.typography.fontWeight,
|
|
7400
|
+
fontSize: checkboxTokens.checkbox.typography.default.fontSize,
|
|
7401
|
+
lineHeight: checkboxTokens.checkbox.typography.default.lineHeight,
|
|
7402
|
+
fontWeight: checkboxTokens.checkbox.typography.default.fontWeight,
|
|
7403
|
+
selectedFontWeight: checkboxTokens.checkbox.typography.selected.fontWeight,
|
|
7340
7404
|
};
|
|
7341
7405
|
const CHECKBOX_COLORS = {
|
|
7342
7406
|
unchecked: {
|
|
@@ -7354,13 +7418,14 @@ const CHECKBOX_COLORS = {
|
|
|
7354
7418
|
},
|
|
7355
7419
|
label: checkboxTokens.checkbox.label.default,
|
|
7356
7420
|
labelInverse: checkboxTokens.checkbox.label.inverse,
|
|
7421
|
+
labelDisabled: checkboxTokens.checkbox.label.disabled,
|
|
7357
7422
|
disabled: {
|
|
7358
7423
|
bg: checkboxTokens.checkbox.bg.disabled,
|
|
7359
7424
|
border: checkboxTokens.checkbox.border.disabled,
|
|
7360
7425
|
},
|
|
7361
7426
|
};
|
|
7362
7427
|
|
|
7363
|
-
const sdCheckboxCss = () => `sd-checkbox{display:block;height:var(--sd-checkbox-line-height);line-height:0}sd-checkbox .sd-checkbox{cursor:pointer;display:inline-flex;align-items:center;gap:var(--sd-checkbox-gap);height:var(--sd-checkbox-line-height);max-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox>input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}sd-checkbox .sd-checkbox>input:focus-visible+.sd-checkbox__bg{box-shadow:0 0 0 2px white, 0 0 0 4px var(--sd-checkbox-checked-bg);outline:none}sd-checkbox .sd-checkbox:hover.sd-checkbox--unchecked .sd-checkbox__bg{border-color:var(--sd-checkbox-unchecked-border-hover);background:var(--sd-checkbox-unchecked-bg-hover)}sd-checkbox .sd-checkbox:hover.sd-checkbox--disabled .sd-checkbox__bg{border-color:transparent;background:var(--sd-checkbox-disabled-bg)}sd-checkbox .sd-checkbox__bg{width:var(--sd-checkbox-size);height:var(--sd-checkbox-size);border-radius:var(--sd-checkbox-radius);border:var(--sd-checkbox-border-width) solid var(--sd-checkbox-unchecked-border);box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;line-height:0}sd-checkbox .sd-checkbox__label{font-size:var(--sd-checkbox-font-size);font-weight:var(--sd-checkbox-font-weight);color:var(--sd-checkbox-label-color);line-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__bg{border-color:var(--sd-checkbox-checked-bg);background:var(--sd-checkbox-checked-bg)}sd-checkbox .sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate.sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--unchecked .sd-checkbox__bg{background:var(--sd-checkbox-unchecked-bg)}sd-checkbox .sd-checkbox--disabled{cursor:not-allowed}sd-checkbox .sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--inverse .sd-checkbox__label{color:var(--sd-checkbox-inverse-label)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--unchecked .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--inverse.sd-checkbox--indeterminate .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse:hover.sd-checkbox--unchecked .sd-checkbox__bg{background:rgba(255, 255, 255, 0.12);border-color:var(--sd-checkbox-inverse-border)}`;
|
|
7428
|
+
const sdCheckboxCss = () => `sd-checkbox{display:block;height:var(--sd-checkbox-line-height);line-height:0}sd-checkbox .sd-checkbox{cursor:pointer;display:inline-flex;align-items:center;gap:var(--sd-checkbox-gap);height:var(--sd-checkbox-line-height);max-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox>input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}sd-checkbox .sd-checkbox>input:focus-visible+.sd-checkbox__bg{box-shadow:0 0 0 2px white, 0 0 0 4px var(--sd-checkbox-checked-bg);outline:none}sd-checkbox .sd-checkbox:hover.sd-checkbox--unchecked .sd-checkbox__bg{border-color:var(--sd-checkbox-unchecked-border-hover);background:var(--sd-checkbox-unchecked-bg-hover)}sd-checkbox .sd-checkbox:hover.sd-checkbox--disabled .sd-checkbox__bg{border-color:transparent;background:var(--sd-checkbox-disabled-bg)}sd-checkbox .sd-checkbox__bg{width:var(--sd-checkbox-size);height:var(--sd-checkbox-size);border-radius:var(--sd-checkbox-radius);border:var(--sd-checkbox-border-width) solid var(--sd-checkbox-unchecked-border);box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;line-height:0}sd-checkbox .sd-checkbox__label{display:inline-flex;flex-direction:column;font-size:var(--sd-checkbox-font-size);font-weight:var(--sd-checkbox-font-weight);color:var(--sd-checkbox-label-color);line-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox__label::after{content:attr(data-text);height:0;font-weight:var(--sd-checkbox-font-weight-selected);overflow:hidden;visibility:hidden;pointer-events:none}sd-checkbox .sd-checkbox--checked .sd-checkbox__label,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__label{font-weight:var(--sd-checkbox-font-weight-selected)}sd-checkbox .sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__bg{border-color:var(--sd-checkbox-checked-bg);background:var(--sd-checkbox-checked-bg)}sd-checkbox .sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate.sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--unchecked .sd-checkbox__bg{background:var(--sd-checkbox-unchecked-bg)}sd-checkbox .sd-checkbox--disabled{cursor:not-allowed}sd-checkbox .sd-checkbox--disabled .sd-checkbox__label{color:var(--sd-checkbox-label-disabled)}sd-checkbox .sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--inverse .sd-checkbox__label{color:var(--sd-checkbox-inverse-label)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--unchecked .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--inverse.sd-checkbox--indeterminate .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse:hover.sd-checkbox--unchecked .sd-checkbox__bg{background:rgba(255, 255, 255, 0.12);border-color:var(--sd-checkbox-inverse-border)}`;
|
|
7364
7429
|
|
|
7365
7430
|
class SdCheckbox {
|
|
7366
7431
|
constructor(hostRef) {
|
|
@@ -7459,25 +7524,27 @@ class SdCheckbox {
|
|
|
7459
7524
|
'--sd-checkbox-font-size': `${CHECKBOX_TYPOGRAPHY.fontSize}px`,
|
|
7460
7525
|
'--sd-checkbox-line-height': `${CHECKBOX_TYPOGRAPHY.lineHeight}px`,
|
|
7461
7526
|
'--sd-checkbox-font-weight': CHECKBOX_TYPOGRAPHY.fontWeight,
|
|
7527
|
+
'--sd-checkbox-font-weight-selected': CHECKBOX_TYPOGRAPHY.selectedFontWeight,
|
|
7462
7528
|
'--sd-checkbox-unchecked-bg': CHECKBOX_COLORS.unchecked.bg,
|
|
7463
7529
|
'--sd-checkbox-unchecked-bg-hover': CHECKBOX_COLORS.unchecked.bgHover,
|
|
7464
7530
|
'--sd-checkbox-unchecked-border': CHECKBOX_COLORS.unchecked.border,
|
|
7465
7531
|
'--sd-checkbox-unchecked-border-hover': CHECKBOX_COLORS.unchecked.borderHover,
|
|
7466
7532
|
'--sd-checkbox-checked-bg': CHECKBOX_COLORS.checked.bg,
|
|
7467
7533
|
'--sd-checkbox-label-color': CHECKBOX_COLORS.label,
|
|
7534
|
+
'--sd-checkbox-label-disabled': CHECKBOX_COLORS.labelDisabled,
|
|
7468
7535
|
'--sd-checkbox-disabled-bg': CHECKBOX_COLORS.disabled.bg,
|
|
7469
7536
|
'--sd-checkbox-disabled-border': CHECKBOX_COLORS.disabled.border,
|
|
7470
7537
|
'--sd-checkbox-inverse-border': CHECKBOX_COLORS.checked.borderInverse,
|
|
7471
7538
|
'--sd-checkbox-inverse-icon': CHECKBOX_COLORS.checked.iconInverse,
|
|
7472
7539
|
'--sd-checkbox-inverse-label': CHECKBOX_COLORS.labelInverse,
|
|
7473
7540
|
};
|
|
7474
|
-
return (hAsync("label", { key: '
|
|
7541
|
+
return (hAsync("label", { key: '3fa9a68790e4a777904d1c8ec1fc18b646a2e41b', class: this.checkboxClasses, style: cssVars }, hAsync("input", { key: 'ecbabd8967c8c73e0b9216157d96b5d5f07777bd', type: "checkbox", ref: el => {
|
|
7475
7542
|
this.inputEl = el;
|
|
7476
|
-
}, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), hAsync("div", { key: '
|
|
7543
|
+
}, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), hAsync("div", { key: '633c38ae79790aa5745240f68253613705f804cf', class: "sd-checkbox__bg" }, this.isChecked !== false ? (hAsync("sd-icon", { name: this.isChecked === true ? 'checkboxCheck' : 'checkboxIndeterminate', size: Number(CHECKBOX_LAYOUT.iconSize), color: this.disabled
|
|
7477
7544
|
? CHECKBOX_COLORS.checked.iconDisabled
|
|
7478
7545
|
: this.inverse
|
|
7479
7546
|
? CHECKBOX_COLORS.checked.iconInverse
|
|
7480
|
-
: CHECKBOX_COLORS.checked.icon })) : null), this.label && hAsync("span", { key: '
|
|
7547
|
+
: CHECKBOX_COLORS.checked.icon })) : null), this.label && (hAsync("span", { key: '6e46c09aa41d4d1b0dbad75b825513d6e4e08f11', class: "sd-checkbox__label", "data-text": this.label }, this.label))));
|
|
7481
7548
|
}
|
|
7482
7549
|
static get watchers() { return {
|
|
7483
7550
|
"value": [{
|
|
@@ -7579,18 +7646,29 @@ class SdChip {
|
|
|
7579
7646
|
this.blur = createEvent(this, "sdBlur", 7);
|
|
7580
7647
|
}
|
|
7581
7648
|
get el() { return getElement(this); }
|
|
7649
|
+
/** 폼 연동용 name 속성 */
|
|
7582
7650
|
name = '';
|
|
7651
|
+
/** 칩 텍스트 값 */
|
|
7583
7652
|
value = '';
|
|
7653
|
+
/** 에러 상태 여부 */
|
|
7584
7654
|
error = false;
|
|
7655
|
+
/** 비활성 상태 여부 */
|
|
7585
7656
|
disabled = false;
|
|
7657
|
+
/** 인라인 편집 가능 여부 */
|
|
7586
7658
|
editable = true;
|
|
7659
|
+
/** 편집 중 표시할 placeholder */
|
|
7587
7660
|
placeholder = '';
|
|
7661
|
+
/** 유효성 검사 규칙 목록 */
|
|
7588
7662
|
rules = [];
|
|
7589
7663
|
internalValue = '';
|
|
7590
7664
|
isEditing = false;
|
|
7665
|
+
/** 편집 완료 시 새 값을 전달합니다. */
|
|
7591
7666
|
update;
|
|
7667
|
+
/** 삭제 버튼 클릭 시 발생합니다. */
|
|
7592
7668
|
delete;
|
|
7669
|
+
/** 편집 모드 진입 시 발생합니다. */
|
|
7593
7670
|
focus;
|
|
7671
|
+
/** 편집 모드 이탈 시 발생합니다. */
|
|
7594
7672
|
blur;
|
|
7595
7673
|
inputEl;
|
|
7596
7674
|
draftValue = '';
|
|
@@ -7616,6 +7694,7 @@ class SdChip {
|
|
|
7616
7694
|
disconnectedCallback() {
|
|
7617
7695
|
this.unregisterFromForm();
|
|
7618
7696
|
}
|
|
7697
|
+
/** 유효성 검사를 실행합니다. */
|
|
7619
7698
|
async sdValidate() {
|
|
7620
7699
|
if (!this.rules || this.rules.length === 0) {
|
|
7621
7700
|
this.error = false;
|
|
@@ -7631,6 +7710,7 @@ class SdChip {
|
|
|
7631
7710
|
this.error = false;
|
|
7632
7711
|
return true;
|
|
7633
7712
|
}
|
|
7713
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
7634
7714
|
async sdReset() {
|
|
7635
7715
|
this.internalValue = '';
|
|
7636
7716
|
this.value = '';
|
|
@@ -7639,17 +7719,21 @@ class SdChip {
|
|
|
7639
7719
|
this.isEditing = false;
|
|
7640
7720
|
this.shouldInitInput = false;
|
|
7641
7721
|
}
|
|
7722
|
+
/** 유효성 상태만 초기화합니다. */
|
|
7642
7723
|
async sdResetValidate() {
|
|
7643
7724
|
this.error = false;
|
|
7644
7725
|
}
|
|
7726
|
+
/** 유효성 상태만 초기화합니다. */
|
|
7645
7727
|
async sdResetValidation() {
|
|
7646
7728
|
this.error = false;
|
|
7647
7729
|
}
|
|
7730
|
+
/** 편집 모드로 전환하여 포커스를 이동합니다. */
|
|
7648
7731
|
async sdFocus() {
|
|
7649
7732
|
if (this.disabled)
|
|
7650
7733
|
return;
|
|
7651
7734
|
this.enterEditMode();
|
|
7652
7735
|
}
|
|
7736
|
+
/** 네이티브 input 엘리먼트를 반환합니다. */
|
|
7653
7737
|
async sdGetNativeElement() {
|
|
7654
7738
|
return this.inputEl ?? null;
|
|
7655
7739
|
}
|
|
@@ -7792,7 +7876,7 @@ class SdChip {
|
|
|
7792
7876
|
'--sd-chip-font-weight': typography.fontWeight,
|
|
7793
7877
|
'--sd-chip-line-height': typography.lineHeight,
|
|
7794
7878
|
};
|
|
7795
|
-
return (hAsync("span", { key: '
|
|
7879
|
+
return (hAsync("span", { key: '03dca835a12de78ae3c72cf50a8f1ed16b19cf00', class: {
|
|
7796
7880
|
'sd-chip': true,
|
|
7797
7881
|
[`sd-chip--${state}`]: true,
|
|
7798
7882
|
'sd-chip--disabled': this.disabled,
|
|
@@ -8025,7 +8109,7 @@ const CHIP_INPUT_SUGGESTIONS = {
|
|
|
8025
8109
|
emptyLineHeight: '20px',
|
|
8026
8110
|
};
|
|
8027
8111
|
|
|
8028
|
-
const sdChipInputCss = () => `sd-chip-input{display:inline-flex}sd-chip-input .sd-chip-input{position:relative;width:100%;isolation:isolate;min-height:var(--sd-chip-input-min-height);display:flex;flex-flow:row wrap;align-items:center;gap:var(--sd-chip-input-chip-gap);padding:var(--sd-chip-input-padding-y) var(--sd-chip-input-padding-x);cursor:text}sd-chip-input .sd-chip-input__reset{display:inline-flex;align-items:center;gap:var(--sd-chip-input-reset-gap);flex-shrink:0}sd-chip-input .sd-chip-input__divider{display:inline-block;width:1px;height:12px;background-color:var(--sd-chip-input-divider-color);flex-shrink:0}sd-chip-input .sd-chip-input__max-count{font-size:var(--sd-chip-input-max-count-font-size);font-weight:var(--sd-chip-input-max-count-font-weight);color:var(--sd-chip-input-max-count-color);white-space:nowrap;flex-shrink:0}sd-chip-input .sd-chip-input__field{flex:0 0 auto;display:inline-grid;grid-template-columns:minmax(0, max-content);align-items:center;min-width:1ch;max-width:100%;height:var(--sd-chip-input-field-height);box-sizing:border-box;padding:0;border:none;border-radius:0;background:transparent;overflow:hidden}sd-chip-input .sd-chip-input__field::after{content:attr(data-value);grid-area:1/1;visibility:hidden;white-space:pre;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family)}sd-chip-input .sd-chip-input__field--filled{padding:0 var(--sd-chip-input-field-padding-x);border:var(--sd-chip-input-field-border-width) solid var(--sd-chip-input-field-border-color);border-radius:var(--sd-chip-input-field-radius);background:var(--sd-chip-input-field-bg)}sd-chip-input .sd-chip-input__field--empty{position:absolute;top:0;left:0;width:0;height:0;min-width:0;overflow:hidden}sd-chip-input .sd-chip-input__input{grid-area:1/1;width:100%;min-width:1ch;height:var(--sd-chip-input-field-height);margin:0;padding:0;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;background:transparent;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family);color:var(--sd-chip-input-field-content)}sd-chip-input .sd-chip-input__input[disabled]{cursor:not-allowed;pointer-events:none}sd-chip-input .sd-chip-input__input::placeholder{color:var(--sd-chip-input-placeholder-color)}sd-chip-input .sd-chip-input__suggestions{display:flex;flex-direction:column;box-sizing:border-box;background:white;border-radius:var(--sd-chip-input-suggestions-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);max-height:var(--sd-chip-input-suggestions-max-height);min-height:0;overflow-y:auto;overflow-x:hidden;outline:none}sd-chip-input .sd-chip-input__suggestion-item{display:flex;align-items:center;gap:var(--sd-chip-input-suggestion-gap);padding:var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-right) var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-x);font-size:var(--sd-chip-input-suggestion-font-size);line-height:var(--sd-chip-input-suggestion-line-height);font-weight:var(--sd-chip-input-suggestion-font-weight);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestion-color);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-chip-input .sd-chip-input__suggestion-item--active{background:var(--sd-chip-input-suggestion-bg-hover);color:var(--sd-chip-input-suggestion-color-hover);font-weight:var(--sd-chip-input-suggestion-font-weight-selected)}sd-chip-input .sd-chip-input__suggestions-empty{padding:12px;text-align:center;font-size:var(--sd-chip-input-suggestions-empty-font-size);line-height:var(--sd-chip-input-suggestions-empty-line-height);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestions-empty-color)}`;
|
|
8112
|
+
const sdChipInputCss = () => `sd-chip-input{display:inline-flex}sd-chip-input .sd-chip-input{position:relative;width:100%;isolation:isolate;min-height:var(--sd-chip-input-min-height);display:flex;flex-flow:row wrap;align-items:center;gap:var(--sd-chip-input-chip-gap);padding:var(--sd-chip-input-padding-y) var(--sd-chip-input-padding-x);cursor:text}sd-chip-input .sd-chip-input__reset{display:inline-flex;align-items:center;gap:var(--sd-chip-input-reset-gap);flex-shrink:0}sd-chip-input .sd-chip-input__divider{display:inline-block;width:1px;height:12px;background-color:var(--sd-chip-input-divider-color);flex-shrink:0}sd-chip-input .sd-chip-input__max-count{font-size:var(--sd-chip-input-max-count-font-size);font-weight:var(--sd-chip-input-max-count-font-weight);color:var(--sd-chip-input-max-count-color);white-space:nowrap;flex-shrink:0}sd-chip-input .sd-chip-input__field{flex:0 0 auto;display:inline-grid;grid-template-columns:minmax(0, max-content);align-items:center;min-width:1ch;max-width:100%;height:var(--sd-chip-input-field-height);box-sizing:border-box;padding:0;border:none;border-radius:0;background:transparent;overflow:hidden}sd-chip-input .sd-chip-input__field::after{content:attr(data-value);grid-area:1/1;visibility:hidden;white-space:pre;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family)}sd-chip-input .sd-chip-input__field--filled{padding:0 var(--sd-chip-input-field-padding-x);border:var(--sd-chip-input-field-border-width) solid var(--sd-chip-input-field-border-color);border-radius:var(--sd-chip-input-field-radius);background:var(--sd-chip-input-field-bg)}sd-chip-input .sd-chip-input__field--empty{position:absolute;top:0;left:0;width:0;height:0;min-width:0;overflow:hidden}sd-chip-input .sd-chip-input__input{grid-area:1/1;width:100%;min-width:1ch;height:var(--sd-chip-input-field-height);margin:0;padding:0;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;background:transparent;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family);color:var(--sd-chip-input-field-content)}sd-chip-input .sd-chip-input__input[disabled]{cursor:not-allowed;pointer-events:none}sd-chip-input .sd-chip-input__input::placeholder{color:var(--sd-chip-input-placeholder-color)}sd-chip-input .sd-chip-input__suggestions{display:flex;flex-direction:column;box-sizing:border-box;background:white;border-radius:var(--sd-chip-input-suggestions-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);max-height:var(--sd-chip-input-suggestions-max-height);min-height:0;overflow-y:auto;overflow-x:hidden;outline:none}sd-chip-input .sd-chip-input__suggestion-item{display:flex;flex-shrink:0;align-items:center;gap:var(--sd-chip-input-suggestion-gap);padding:var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-right) var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-x);font-size:var(--sd-chip-input-suggestion-font-size);line-height:var(--sd-chip-input-suggestion-line-height);font-weight:var(--sd-chip-input-suggestion-font-weight);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestion-color);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-chip-input .sd-chip-input__suggestion-item--active{background:var(--sd-chip-input-suggestion-bg-hover);color:var(--sd-chip-input-suggestion-color-hover);font-weight:var(--sd-chip-input-suggestion-font-weight-selected)}sd-chip-input .sd-chip-input__suggestion-item--selected{cursor:default;overflow:visible;text-overflow:unset}sd-chip-input .sd-chip-input__suggestions-empty{padding:12px;text-align:center;font-size:var(--sd-chip-input-suggestions-empty-font-size);line-height:var(--sd-chip-input-suggestions-empty-line-height);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestions-empty-color)}`;
|
|
8029
8113
|
|
|
8030
8114
|
class SdChipInput {
|
|
8031
8115
|
constructor(hostRef) {
|
|
@@ -8037,31 +8121,56 @@ class SdChipInput {
|
|
|
8037
8121
|
}
|
|
8038
8122
|
static SUGGESTIONS_VIEWPORT_PADDING = 8;
|
|
8039
8123
|
get host() { return getElement(this); }
|
|
8124
|
+
/** 칩 값 목록 */
|
|
8040
8125
|
values = [];
|
|
8126
|
+
/** 칩별 에러 상태 목록 또는 값으로 에러 여부를 반환하는 함수 */
|
|
8041
8127
|
errors = [];
|
|
8128
|
+
/** 칩별 비활성 상태 목록 또는 값으로 비활성 여부를 반환하는 함수 */
|
|
8042
8129
|
disabledChips = [];
|
|
8130
|
+
/** 입력 필드 크기 */
|
|
8043
8131
|
size = 'sm';
|
|
8132
|
+
/** 비활성 상태 여부 */
|
|
8044
8133
|
disabled = false;
|
|
8134
|
+
/** 입력 placeholder */
|
|
8045
8135
|
placeholder = '입력해 주세요.';
|
|
8136
|
+
/** 폼 연동용 name 속성 */
|
|
8046
8137
|
name = nanoid$1();
|
|
8138
|
+
/** 유효성 검사 규칙 목록 */
|
|
8047
8139
|
rules = [];
|
|
8140
|
+
/** 에러 상태 여부 */
|
|
8048
8141
|
error = false;
|
|
8142
|
+
/** 입력 초기화 버튼 표시 여부 */
|
|
8049
8143
|
useReset = false;
|
|
8144
|
+
/** 최대 입력 가능한 칩 개수 (없으면 제한 없음) */
|
|
8050
8145
|
maxCount;
|
|
8146
|
+
/** 중복 에러 메시지에 표시할 항목 이름 (없으면 기본 메시지 사용) */
|
|
8051
8147
|
duplicateLabel;
|
|
8148
|
+
/** 자동완성 후보 목록 */
|
|
8052
8149
|
suggestions = [];
|
|
8150
|
+
/** 자동완성 목록 로딩 중 여부 */
|
|
8053
8151
|
loadingSuggestions = false;
|
|
8152
|
+
/** 추천 항목 목록 (입력값이 없을 때 표시) */
|
|
8054
8153
|
recommendedItems = [];
|
|
8154
|
+
/** 추천 항목 로딩 중 여부 */
|
|
8055
8155
|
loadingRecommendedItems = false;
|
|
8056
8156
|
// sd-field props
|
|
8157
|
+
/** 레이블 텍스트 */
|
|
8057
8158
|
label = '';
|
|
8159
|
+
/** 레이블 너비 */
|
|
8058
8160
|
labelWidth = '';
|
|
8161
|
+
/** 필드 하단 힌트 텍스트 */
|
|
8059
8162
|
hint = '';
|
|
8163
|
+
/** 에러 메시지 */
|
|
8060
8164
|
errorMessage = '';
|
|
8165
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
8061
8166
|
width = '';
|
|
8167
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
8062
8168
|
status;
|
|
8169
|
+
/** 레이블 영역 아이콘 */
|
|
8063
8170
|
icon = undefined;
|
|
8171
|
+
/** 레이블 툴팁 텍스트 */
|
|
8064
8172
|
labelTooltip = '';
|
|
8173
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
8065
8174
|
labelTooltipProps = null;
|
|
8066
8175
|
internalValues = [];
|
|
8067
8176
|
internalErrors = [];
|
|
@@ -8128,19 +8237,27 @@ class SdChipInput {
|
|
|
8128
8237
|
}
|
|
8129
8238
|
return this.disabledChips?.[index] ?? false;
|
|
8130
8239
|
}
|
|
8240
|
+
/** 칩 목록 변경 시 전체 값 배열을 전달합니다. */
|
|
8131
8241
|
update;
|
|
8242
|
+
/** 입력 필드 포커스 진입 시 발생합니다. */
|
|
8132
8243
|
focusEvent;
|
|
8244
|
+
/** 입력 필드 포커스 이탈 시 발생합니다. */
|
|
8133
8245
|
blurEvent;
|
|
8246
|
+
/** 입력값 변경 시 현재 입력 중인 문자열을 전달합니다. */
|
|
8134
8247
|
inputEvent;
|
|
8248
|
+
/** 유효성 검사를 실행합니다. */
|
|
8135
8249
|
async sdValidate() {
|
|
8136
8250
|
return this.formField?.sdValidate();
|
|
8137
8251
|
}
|
|
8252
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
8138
8253
|
async sdReset() {
|
|
8139
8254
|
return this.formField?.sdReset();
|
|
8140
8255
|
}
|
|
8256
|
+
/** 유효성 상태만 초기화합니다. */
|
|
8141
8257
|
async sdResetValidate() {
|
|
8142
8258
|
return this.formField?.sdResetValidation();
|
|
8143
8259
|
}
|
|
8260
|
+
/** 입력 필드에 포커스를 이동합니다. */
|
|
8144
8261
|
async sdFocus() {
|
|
8145
8262
|
return this.formField?.sdFocus();
|
|
8146
8263
|
}
|
|
@@ -8221,7 +8338,9 @@ class SdChipInput {
|
|
|
8221
8338
|
}
|
|
8222
8339
|
if (event.key === 'Enter' && this.activeSuggestionIndex >= 0) {
|
|
8223
8340
|
event.preventDefault();
|
|
8224
|
-
|
|
8341
|
+
const selectedItem = activeItems[this.activeSuggestionIndex];
|
|
8342
|
+
if (!(this.internalValues ?? []).includes(selectedItem))
|
|
8343
|
+
this.addChip(selectedItem);
|
|
8225
8344
|
return;
|
|
8226
8345
|
}
|
|
8227
8346
|
}
|
|
@@ -8281,6 +8400,10 @@ class SdChipInput {
|
|
|
8281
8400
|
};
|
|
8282
8401
|
handleContainerClick = () => {
|
|
8283
8402
|
if (!this.disabled) {
|
|
8403
|
+
// 이미 포커스된 상태에서 재클릭 시 handleFocus가 다시 실행되지 않으므로
|
|
8404
|
+
// suppress 플래그를 여기서 직접 해제한다.
|
|
8405
|
+
this.suppressRecommendations = false;
|
|
8406
|
+
this.suppressSuggestions = false;
|
|
8284
8407
|
this.inputEl?.focus();
|
|
8285
8408
|
}
|
|
8286
8409
|
};
|
|
@@ -8401,6 +8524,7 @@ class SdChipInput {
|
|
|
8401
8524
|
};
|
|
8402
8525
|
const suggestionItemStyle = {
|
|
8403
8526
|
display: 'flex',
|
|
8527
|
+
flexShrink: '0',
|
|
8404
8528
|
alignItems: 'center',
|
|
8405
8529
|
gap: CHIP_INPUT_SUGGESTIONS.itemGap,
|
|
8406
8530
|
padding: `${CHIP_INPUT_SUGGESTIONS.itemPaddingY} ${CHIP_INPUT_SUGGESTIONS.itemPaddingRight} ` +
|
|
@@ -8424,7 +8548,7 @@ class SdChipInput {
|
|
|
8424
8548
|
fontFamily: CHIP_INPUT_SUGGESTIONS.itemFontFamily,
|
|
8425
8549
|
color: CHIP_INPUT_SUGGESTIONS.emptyColor,
|
|
8426
8550
|
};
|
|
8427
|
-
return (hAsync("sd-field", { key: '
|
|
8551
|
+
return (hAsync("sd-field", { key: 'b72e33b6f204ebdf6791cc2f20d01bbb74a4203a', name: this.name, label: this.label, labelWidth: this.labelWidth, hint: this.hint, errorMessage: this.errorMessage, rules: [this.duplicateRule, ...(this.rules ?? [])], error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, width: this.width, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: cssVars, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, hAsync("div", { key: '499114d06f4d375fed5575edd394c501f4d72691', class: "sd-chip-input", ref: el => (this.chipInputRef = el), onClick: this.handleContainerClick }, (this.internalValues ?? []).map((value, i) => (hAsync("sd-chip", { key: i, value: value, error: this.getChipError(i), disabled: this.getChipDisabled(i), editable: false, onSdRemove: () => this.handleChipRemove(i) }))), !isMaxReached && (hAsync("div", { key: '5910a2d0e0e9cbc472baa1d9c9c3fa07e89fbdcb', class: {
|
|
8428
8552
|
'sd-chip-input__field': true,
|
|
8429
8553
|
'sd-chip-input__field--filled': this.inputValue !== '',
|
|
8430
8554
|
'sd-chip-input__field--empty': this.inputValue === '' && this.internalValues.length > 0 && !this.focused,
|
|
@@ -8432,20 +8556,38 @@ class SdChipInput {
|
|
|
8432
8556
|
? this.inputValue
|
|
8433
8557
|
: this.internalValues.length === 0
|
|
8434
8558
|
? this.placeholder
|
|
8435
|
-
: '' }, hAsync("input", { key: '
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
|
|
8448
|
-
|
|
8559
|
+
: '' }, hAsync("input", { key: '3c1e75d691332b67a500a2d17030d5db191bdeb9', ref: el => (this.inputEl = el), class: "sd-chip-input__input", placeholder: this.internalValues.length === 0 ? this.placeholder : '', disabled: this.disabled, size: 1, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur }))), showResetArea && (
|
|
8560
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
8561
|
+
hAsync("div", { key: '4aa212280a928b88b85dffa3d453ea8f563e1fe0', class: "sd-chip-input__reset",
|
|
8562
|
+
// 리셋 버튼 클릭 시 input blur → portal unmount → refocus → 새 portal mount로
|
|
8563
|
+
// 두 wrapper가 body에 잠깐 겹치는 타이밍 이슈를 방지한다.
|
|
8564
|
+
onMouseDown: e => e.preventDefault() }, this.inputValue === '' && hAsync("span", { key: 'f7faa45b57d8e38dda8cc98119357f92d914fee4', class: "sd-chip-input__divider" }), this.maxCount != null && (hAsync("span", { key: 'dfde4ea82558414614fb2d817f7bfa1fb5d4bf5f', class: "sd-chip-input__max-count" }, "\uCD5C\uB300 ", this.maxCount, "\uAC1C")), this.useReset && this.internalValues.length > 0 && (hAsync("sd-text-link", { key: '9b43c82c1a5d425e5b187e92b4259e7d919491e3', icon: "reset", iconColor: CHIP_INPUT_RESET.iconColor, label: "\uC785\uB825 \uCD08\uAE30\uD654", underline: true, disabled: this.disabled, style: { '--sd-text-link-color': CHIP_INPUT_RESET.labelColor }, onSdClick: this.handleResetInput })))), showDropdown && (hAsync("sd-portal", { key: 'aa205aacbbafcd8c3d9855268637e6da956d4a74', open: showDropdown, parentRef: this.chipInputRef ?? null, viewportPadding: SdChipInput.SUGGESTIONS_VIEWPORT_PADDING, onSdClose: this.closeSuggestions }, hAsync("div", { key: '26814734f202da3a13e695ae1d0c913ea430b888', class: "sd-chip-input__suggestions", role: "listbox", style: suggestionBoxStyle }, isDropdownLoading && (hAsync("div", { key: 'df80d11b79f67dc6cfe6503b258528efa3752265', class: "sd-chip-input__suggestions-empty", style: suggestionEmptyStyle }, "\uBD88\uB7EC\uC624\uB294 \uC911...")), dropdownItems.map((item, i) => {
|
|
8565
|
+
const isSelected = (this.internalValues ?? []).includes(item);
|
|
8566
|
+
const isActive = i === this.activeSuggestionIndex && !isSelected;
|
|
8567
|
+
return (hAsync("div", { key: item, class: {
|
|
8568
|
+
'sd-chip-input__suggestion-item': true,
|
|
8569
|
+
'sd-chip-input__suggestion-item--active': isActive,
|
|
8570
|
+
'sd-chip-input__suggestion-item--selected': isSelected,
|
|
8571
|
+
}, role: "option", tabIndex: -1, "aria-selected": isSelected || isActive, "aria-disabled": isSelected ? 'true' : undefined, style: isSelected
|
|
8572
|
+
? {
|
|
8573
|
+
...suggestionItemStyle,
|
|
8574
|
+
color: '#0075FF',
|
|
8575
|
+
fontWeight: CHIP_INPUT_SUGGESTIONS.itemFontWeightSelected,
|
|
8576
|
+
cursor: 'default',
|
|
8577
|
+
}
|
|
8578
|
+
: isActive
|
|
8579
|
+
? {
|
|
8580
|
+
...suggestionItemStyle,
|
|
8581
|
+
background: CHIP_INPUT_SUGGESTIONS.itemBgHover,
|
|
8582
|
+
color: CHIP_INPUT_SUGGESTIONS.itemColorHover,
|
|
8583
|
+
fontWeight: CHIP_INPUT_SUGGESTIONS.itemFontWeightSelected,
|
|
8584
|
+
}
|
|
8585
|
+
: suggestionItemStyle, onMouseDown: e => {
|
|
8586
|
+
e.preventDefault();
|
|
8587
|
+
if (!isSelected)
|
|
8588
|
+
this.addChip(item);
|
|
8589
|
+
} }, hAsync("span", { style: { flex: '1' } }, item), isSelected && (hAsync("sd-icon", { name: "check", size: "12", style: { color: '#0075FF', flexShrink: '0' } }))));
|
|
8590
|
+
})))))));
|
|
8449
8591
|
}
|
|
8450
8592
|
static get watchers() { return {
|
|
8451
8593
|
"values": [{
|
|
@@ -8577,9 +8719,13 @@ class SdCircleProgress {
|
|
|
8577
8719
|
constructor(hostRef) {
|
|
8578
8720
|
registerInstance(this, hostRef);
|
|
8579
8721
|
}
|
|
8722
|
+
/** 불확정 상태 여부 (true면 value 무시하고 스피너처럼 애니메이션) */
|
|
8580
8723
|
indeterminate = false;
|
|
8724
|
+
/** 진행률 (0~100) */
|
|
8581
8725
|
value = 0;
|
|
8726
|
+
/** 색상 테마 */
|
|
8582
8727
|
type = 'primary';
|
|
8728
|
+
/** 원 하단에 표시할 레이블 텍스트 */
|
|
8583
8729
|
label;
|
|
8584
8730
|
get clampedValue() {
|
|
8585
8731
|
if (!Number.isFinite(this.value))
|
|
@@ -8603,7 +8749,7 @@ class SdCircleProgress {
|
|
|
8603
8749
|
}
|
|
8604
8750
|
const c = CIRCLE_PROGRESS_VIEWBOX_SIZE / 2;
|
|
8605
8751
|
const showPercent = !this.indeterminate;
|
|
8606
|
-
return (hAsync(Host, { key: '
|
|
8752
|
+
return (hAsync(Host, { key: '1af8807d6ce19c4326e67ae55bd40620b83e9435', style: hostStyle }, hAsync("svg", { key: '21c2c5898ddf6f78b03964f3365e82382f90ce48', class: "sd-circle-progress", viewBox: `0 0 ${CIRCLE_PROGRESS_VIEWBOX_SIZE} ${CIRCLE_PROGRESS_VIEWBOX_SIZE}`, xmlns: "http://www.w3.org/2000/svg" }, hAsync("circle", { key: '1d9b2e95f767008af2a5d836f16e6e47e751677a', class: "sd-circle-progress__track", cx: c, cy: c, r: CIRCLE_PROGRESS_RADIUS, fill: "none", "stroke-width": CIRCLE_PROGRESS_STROKE_WIDTH }), hAsync("circle", { key: '1c8f4a5b1ae8f643debf68452317d0bcc0b4ab36', class: "sd-circle-progress__arc", cx: c, cy: c, r: CIRCLE_PROGRESS_RADIUS, fill: "none", "stroke-width": CIRCLE_PROGRESS_STROKE_WIDTH, "stroke-linecap": "round", style: arcStyle })), showPercent && (hAsync("span", { key: '1b15cdd56b3ac0d254d4a5304f40d3c5b1710b8d', class: "sd-circle-progress__percent" }, Math.round(this.clampedValue), "%")), this.label && hAsync("span", { key: 'e830db48529d87ddf788834d8731a576582662af', class: "sd-circle-progress__label" }, this.label)));
|
|
8607
8753
|
}
|
|
8608
8754
|
static get style() { return sdCircleProgressCss(); }
|
|
8609
8755
|
static get cmpMeta() { return {
|
|
@@ -8652,20 +8798,35 @@ class SdConfirmModal {
|
|
|
8652
8798
|
hasSlottedContent = false;
|
|
8653
8799
|
customContentRef;
|
|
8654
8800
|
slotObserver;
|
|
8801
|
+
/** 모달 타입 (아이콘·버튼 색상 결정) */
|
|
8655
8802
|
type = 'positive';
|
|
8803
|
+
/** 모달 제목 */
|
|
8656
8804
|
modalTitle = '';
|
|
8805
|
+
/** 제목 엘리먼트에 추가할 클래스 */
|
|
8657
8806
|
titleClass = '';
|
|
8807
|
+
/** 콘텐츠 박스 상단 메시지 목록 */
|
|
8658
8808
|
topMessage = [];
|
|
8809
|
+
/** 콘텐츠 박스 하단 메시지 목록 */
|
|
8659
8810
|
bottomMessage = [];
|
|
8811
|
+
/** 확인 버튼 프리셋 (없으면 type에 따라 자동 결정) */
|
|
8660
8812
|
mainButtonName;
|
|
8813
|
+
/** 확인 버튼 레이블 */
|
|
8661
8814
|
mainButtonLabel = '확인';
|
|
8815
|
+
/** 취소 버튼 레이블 (없으면 취소 버튼 미표시) */
|
|
8662
8816
|
subButtonLabel = '';
|
|
8817
|
+
/** 콘텐츠 박스에 표시할 태그 프리셋 */
|
|
8663
8818
|
tagPreset = 'square_sm_grey';
|
|
8819
|
+
/** 콘텐츠 박스에 표시할 태그 레이블 */
|
|
8664
8820
|
tagLabel = '';
|
|
8821
|
+
/** 콘텐츠 박스에 표시할 텍스트 (tagLabel 없을 때 사용) */
|
|
8665
8822
|
slotLabel = '';
|
|
8823
|
+
/** 콘텐츠 박스에 직접 삽입할 HTMLElement */
|
|
8666
8824
|
tagContents;
|
|
8825
|
+
/** 닫기 버튼 클릭 시 발생합니다. */
|
|
8667
8826
|
close;
|
|
8827
|
+
/** 취소 버튼 클릭 시 발생합니다. */
|
|
8668
8828
|
cancel;
|
|
8829
|
+
/** 확인 버튼 클릭 시 발생합니다. */
|
|
8669
8830
|
ok;
|
|
8670
8831
|
componentWillLoad() {
|
|
8671
8832
|
this.syncHasSlottedContent();
|
|
@@ -8719,9 +8880,9 @@ class SdConfirmModal {
|
|
|
8719
8880
|
const type = this.resolvedType;
|
|
8720
8881
|
const iconName = CONFIRM_MODAL_ICON_MAP[type];
|
|
8721
8882
|
const iconColor = CONFIRM_MODAL_ICON_COLOR[type];
|
|
8722
|
-
return (hAsync("div", { key: '
|
|
8883
|
+
return (hAsync("div", { key: '26270c4ca645f0e7e245b4bd40423bcf09029e22', class: "sd-confirm-modal" }, hAsync("sd-ghost-button", { key: '672b73221f8638eff70c3074614fcc90b489702e', class: "sd-confirm-modal__close-button", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() }), iconName && (hAsync("sd-icon", { key: '895dda6ba69d41f33f9465fb9db28739da28d2e6', class: "sd-confirm-modal__icon", name: iconName, size: TITLE_ICON_SIZE, color: iconColor })), hAsync("h2", { key: 'ace6b9da4421c28e2bb828c60cae1c1cc7547f9a', class: `sd-confirm-modal__title ${this.titleClass ?? ''}` }, this.modalTitle), hAsync("div", { key: '3370fe954c33f8ce6a643fcc9b19f299682b43e8', class: "sd-confirm-modal__body" }, (this.topMessage ?? []).length > 0 && (hAsync("div", { key: '6a6bc182c638e909a821353c188d2ef558452e17', class: "sd-confirm-modal__message" }, (this.topMessage ?? []).map(msg => (hAsync("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml(msg) }))))), this.showContentBox && (hAsync("div", { key: 'dba37f4ab114f3641a9f287d123fb7f94e49c00a', class: "sd-confirm-modal__content-box" }, this.tagContents ? (hAsync("div", { class: "sd-confirm-modal__custom-content", ref: el => {
|
|
8723
8884
|
this.customContentRef = el;
|
|
8724
|
-
} })) : (hAsync("slot", { onSlotchange: () => this.syncHasSlottedContent() }, this.tagLabel && (hAsync("sd-tag", { name: this.tagPreset ?? 'square_sm_grey', label: this.tagLabel })), this.slotLabel && (hAsync("span", { class: "sd-confirm-modal__slot-label" }, this.slotLabel)))))), (this.bottomMessage ?? []).length > 0 && (hAsync("div", { key: '
|
|
8885
|
+
} })) : (hAsync("slot", { onSlotchange: () => this.syncHasSlottedContent() }, this.tagLabel && (hAsync("sd-tag", { name: this.tagPreset ?? 'square_sm_grey', label: this.tagLabel })), this.slotLabel && (hAsync("span", { class: "sd-confirm-modal__slot-label" }, this.slotLabel)))))), (this.bottomMessage ?? []).length > 0 && (hAsync("div", { key: 'ed29da73d968017c44cd61540139fac24592ea70', class: "sd-confirm-modal__message" }, (this.bottomMessage ?? []).map(msg => (hAsync("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml(msg) })))))), hAsync("div", { key: '608287c021f4191dcea0a0b5798381cbc8742170', class: "sd-confirm-modal__button" }, this.subButtonLabel && (hAsync("sd-button", { key: 'a67c309617c6e1f30aa9167587e8cbb9fb961482', name: SUB_BUTTON_PRESET, label: this.subButtonLabel, onSdClick: () => this.cancel.emit() })), hAsync("sd-button", { key: '3c1a698a8276e2924f62cf1c7e472bd34ac581a1', name: this.resolvedMainButton, label: this.mainButtonLabel ?? '확인', onSdClick: () => this.ok.emit() }))));
|
|
8725
8886
|
}
|
|
8726
8887
|
static get style() { return sdConfirmModalCss(); }
|
|
8727
8888
|
static get cmpMeta() { return {
|
|
@@ -8756,15 +8917,25 @@ class SdDateBox {
|
|
|
8756
8917
|
this.click = createEvent(this, "sdClick", 7);
|
|
8757
8918
|
this.mouseOver = createEvent(this, "sdMouseOver", 7);
|
|
8758
8919
|
}
|
|
8920
|
+
/** 표시할 날짜 값 */
|
|
8759
8921
|
date = null;
|
|
8922
|
+
/** 비활성 상태 여부 */
|
|
8760
8923
|
disabled = false;
|
|
8924
|
+
/** 선택된 날짜 여부 */
|
|
8761
8925
|
selected = false;
|
|
8926
|
+
/** 범위 시작일 여부 */
|
|
8762
8927
|
isStartDate = false;
|
|
8928
|
+
/** 범위 종료일 여부 */
|
|
8763
8929
|
isEndDate = false;
|
|
8930
|
+
/** 오늘 날짜 여부 */
|
|
8764
8931
|
isToday = false;
|
|
8932
|
+
/** 선택 범위 내 날짜 여부 */
|
|
8765
8933
|
inRange = false;
|
|
8934
|
+
/** 범위 선택에서의 역할 (start | end | 없음) */
|
|
8766
8935
|
type = '';
|
|
8936
|
+
/** 날짜 클릭 시 해당 날짜 값을 전달합니다. */
|
|
8767
8937
|
click;
|
|
8938
|
+
/** 날짜 hover 시 해당 날짜 값을 전달합니다. */
|
|
8768
8939
|
mouseOver;
|
|
8769
8940
|
handleClickDate() {
|
|
8770
8941
|
if (this.disabled || this.date === undefined || this.date === '' || this.date === 0)
|
|
@@ -8779,7 +8950,7 @@ class SdDateBox {
|
|
|
8779
8950
|
this.mouseOver?.emit(this.date);
|
|
8780
8951
|
}
|
|
8781
8952
|
render() {
|
|
8782
|
-
return (hAsync("div", { key: '
|
|
8953
|
+
return (hAsync("div", { key: '8b8bc2facd0f4614a6022c48bbd026390d8599e4', role: "button", tabindex: this.disabled ? -1 : 0, class: {
|
|
8783
8954
|
'sd-date-box': true,
|
|
8784
8955
|
'sd-hoverable': !this.disabled || !this.selected || this.type === '',
|
|
8785
8956
|
'sd-date-box--disabled': this.disabled,
|
|
@@ -8795,7 +8966,7 @@ class SdDateBox {
|
|
|
8795
8966
|
e.preventDefault();
|
|
8796
8967
|
this.handleClickDate();
|
|
8797
8968
|
}
|
|
8798
|
-
}, onMouseOver: () => this.handleHoverDate(), onFocus: () => this.handleHoverDate() }, hAsync("div", { key: '
|
|
8969
|
+
}, onMouseOver: () => this.handleHoverDate(), onFocus: () => this.handleHoverDate() }, hAsync("div", { key: 'acbd57ac0300ca143f1e75780b59b5fc107d537f', class: "sd-date-box__content" }, hAsync("div", { key: 'aeff50640c285cfd75d5592e67c97e5ec55eb00c', class: "sd-date-box__label" }, this.date))));
|
|
8799
8970
|
}
|
|
8800
8971
|
static get style() { return sdDateBoxCss(); }
|
|
8801
8972
|
static get cmpMeta() { return {
|
|
@@ -8919,43 +9090,66 @@ class SdDatePicker {
|
|
|
8919
9090
|
}
|
|
8920
9091
|
static CLOSE_ANIMATION_DURATION = 150;
|
|
8921
9092
|
get el() { return getElement(this); }
|
|
9093
|
+
/** 선택된 날짜 (YYYY-MM-DD) */
|
|
8922
9094
|
value = null;
|
|
9095
|
+
/** 입력 필드 크기 */
|
|
8923
9096
|
size = 'sm';
|
|
9097
|
+
/** 날짜 미선택 시 표시할 placeholder */
|
|
8924
9098
|
placeholder = 'YYYY-MM-DD';
|
|
9099
|
+
/** 선택 가능한 날짜 범위 [시작일, 종료일] */
|
|
8925
9100
|
selectable;
|
|
9101
|
+
/** 비활성 상태 여부 */
|
|
8926
9102
|
disabled = false;
|
|
9103
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
8927
9104
|
width = '';
|
|
8928
9105
|
// sd-field 공통 props
|
|
9106
|
+
/** 레이블 텍스트 */
|
|
8929
9107
|
label = '';
|
|
9108
|
+
/** 레이블 너비 */
|
|
8930
9109
|
labelWidth = '';
|
|
9110
|
+
/** 필드 우측 어드온 레이블 */
|
|
8931
9111
|
addonLabel = '';
|
|
9112
|
+
/** 어드온 정렬 방향 */
|
|
8932
9113
|
addonAlign = 'start';
|
|
9114
|
+
/** 필드 하단 힌트 텍스트 */
|
|
8933
9115
|
hint = '';
|
|
9116
|
+
/** 에러 메시지 */
|
|
8934
9117
|
errorMessage = '';
|
|
9118
|
+
/** 유효성 검사 규칙 목록 */
|
|
8935
9119
|
rules = [];
|
|
9120
|
+
/** 에러 상태 여부 */
|
|
8936
9121
|
error = false;
|
|
9122
|
+
/** 레이블 영역 아이콘 */
|
|
8937
9123
|
icon = undefined;
|
|
9124
|
+
/** 레이블 툴팁 텍스트 */
|
|
8938
9125
|
labelTooltip = '';
|
|
9126
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
8939
9127
|
labelTooltipProps = null;
|
|
8940
9128
|
isOpen = false;
|
|
8941
9129
|
isAnimatingOut = false;
|
|
8942
9130
|
focused = false;
|
|
8943
9131
|
hovered = false;
|
|
9132
|
+
/** 날짜 선택 시 선택된 날짜(YYYY-MM-DD)를 전달합니다. */
|
|
8944
9133
|
update;
|
|
9134
|
+
/** 달력 월/년 이동 시 현재 보여지는 연·월을 전달합니다. */
|
|
8945
9135
|
viewChange;
|
|
8946
9136
|
triggerRef;
|
|
8947
9137
|
formField;
|
|
8948
9138
|
closeAnimationTimer;
|
|
9139
|
+
/** 폼 연동용 name 속성 */
|
|
8949
9140
|
name = nanoid$1();
|
|
8950
9141
|
watchIsOpen(newValue) {
|
|
8951
9142
|
this.focused = newValue;
|
|
8952
9143
|
}
|
|
9144
|
+
/** 유효성 검사를 실행합니다. */
|
|
8953
9145
|
async sdValidate() {
|
|
8954
9146
|
return this.formField?.sdValidate();
|
|
8955
9147
|
}
|
|
9148
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
8956
9149
|
async sdReset() {
|
|
8957
9150
|
return this.formField?.sdReset();
|
|
8958
9151
|
}
|
|
9152
|
+
/** 유효성 상태만 초기화합니다. */
|
|
8959
9153
|
async sdResetValidate() {
|
|
8960
9154
|
return this.formField?.sdResetValidation();
|
|
8961
9155
|
}
|
|
@@ -9008,9 +9202,9 @@ class SdDatePicker {
|
|
|
9008
9202
|
'--sd-system-color-field-border-focus': DATEPICKER_COLORS.border.focus,
|
|
9009
9203
|
'--sd-system-color-field-bg-default': DATEPICKER_COLORS.bg.default,
|
|
9010
9204
|
};
|
|
9011
|
-
return (hAsync("sd-field", { key: '
|
|
9205
|
+
return (hAsync("sd-field", { key: '2fc699a41a6646404e5cbd29688f14c61b466c56', 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, 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 }, hAsync("div", { key: '33c690078e2511657bfe3747d81cc1333b021353', class: "sd-date-picker", ref: el => {
|
|
9012
9206
|
this.triggerRef = el;
|
|
9013
|
-
} }, hAsync("sd-date-picker-trigger", { key: '
|
|
9207
|
+
} }, hAsync("sd-date-picker-trigger", { key: 'b5248eecbf1c4e8eca4e5b23206b7bebe7034280', displayText: this.value ?? '', placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: 'f89b8688a43b9c702d75b8c5587b30626c7fd2db', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, hAsync("sd-calendar", { key: '4b293972c1b860f6d85be57fb72689c94699aeae', elevated: true, value: this.value, selectable: this.selectable, onSdUpdate: this.handleSelect, onSdViewChange: this.handleViewChange })))));
|
|
9014
9208
|
}
|
|
9015
9209
|
static get watchers() { return {
|
|
9016
9210
|
"isOpen": [{
|
|
@@ -9061,10 +9255,15 @@ class SdDatePickerTrigger {
|
|
|
9061
9255
|
registerInstance(this, hostRef);
|
|
9062
9256
|
this.triggerClick = createEvent(this, "sdTriggerClick", 7);
|
|
9063
9257
|
}
|
|
9258
|
+
/** 표시할 날짜 텍스트 */
|
|
9064
9259
|
displayText = '';
|
|
9260
|
+
/** 입력 힌트 텍스트 */
|
|
9065
9261
|
placeholder = 'YYYY-MM-DD';
|
|
9262
|
+
/** 비활성 상태 여부 */
|
|
9066
9263
|
disabled = false;
|
|
9264
|
+
/** 트리거 크기 */
|
|
9067
9265
|
size = 'sm';
|
|
9266
|
+
/** 트리거 클릭 시 발생합니다. */
|
|
9068
9267
|
triggerClick;
|
|
9069
9268
|
handleClick = () => {
|
|
9070
9269
|
if (this.disabled)
|
|
@@ -9093,7 +9292,7 @@ class SdDatePickerTrigger {
|
|
|
9093
9292
|
? DATEPICKER_COLORS.icon.disabled
|
|
9094
9293
|
: DATEPICKER_COLORS.icon.default,
|
|
9095
9294
|
};
|
|
9096
|
-
return (hAsync("div", { key: '
|
|
9295
|
+
return (hAsync("div", { key: 'a8484cc7ca6fd02ea48ab033fec3da69702f4f71', role: "button", tabindex: this.disabled ? -1 : 0, class: {
|
|
9097
9296
|
'sd-date-picker-trigger': true,
|
|
9098
9297
|
'sd-date-picker-trigger--disabled': this.disabled,
|
|
9099
9298
|
}, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
|
|
@@ -9101,7 +9300,7 @@ class SdDatePickerTrigger {
|
|
|
9101
9300
|
e.preventDefault();
|
|
9102
9301
|
this.handleClick();
|
|
9103
9302
|
}
|
|
9104
|
-
} }, hAsync("sd-icon", { key: '
|
|
9303
|
+
} }, hAsync("sd-icon", { key: 'e87c63032774389064c56f3212882727c1091b53', name: "date", size: Number(sizeTokens.iconSize), color: "var(--trigger-icon-color)", class: "sd-date-picker-trigger__icon" }), hAsync("span", { key: '3876d7e9c08771de796ab04106190baf45625f0f', class: "sd-date-picker-trigger__text" }, hasValue ? this.displayText : this.placeholder)));
|
|
9105
9304
|
}
|
|
9106
9305
|
static get style() { return sdDatePickerTriggerCss(); }
|
|
9107
9306
|
static get cmpMeta() { return {
|
|
@@ -9136,44 +9335,68 @@ class SdDateRangePicker {
|
|
|
9136
9335
|
}
|
|
9137
9336
|
static CLOSE_ANIMATION_DURATION = 150;
|
|
9138
9337
|
get el() { return getElement(this); }
|
|
9338
|
+
/** 선택된 날짜 범위 [시작일, 종료일] (YYYY-MM-DD) */
|
|
9139
9339
|
value = null;
|
|
9340
|
+
/** 입력 필드 크기 */
|
|
9140
9341
|
size = 'sm';
|
|
9342
|
+
/** 미선택 시 표시할 placeholder */
|
|
9141
9343
|
placeholder = 'YYYY-MM-DD ~ YYYY-MM-DD';
|
|
9344
|
+
/** 선택 가능한 날짜 범위 [시작일, 종료일] */
|
|
9142
9345
|
selectable;
|
|
9346
|
+
/** 최대 선택 가능한 날짜 범위 (일 단위) */
|
|
9143
9347
|
maxRange;
|
|
9348
|
+
/** 비활성 상태 여부 */
|
|
9144
9349
|
disabled = false;
|
|
9350
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
9145
9351
|
width = '';
|
|
9146
9352
|
// sd-field 공통 props
|
|
9353
|
+
/** 레이블 텍스트 */
|
|
9147
9354
|
label = '';
|
|
9355
|
+
/** 레이블 너비 */
|
|
9148
9356
|
labelWidth = '';
|
|
9357
|
+
/** 필드 우측 어드온 레이블 */
|
|
9149
9358
|
addonLabel = '';
|
|
9359
|
+
/** 어드온 정렬 방향 */
|
|
9150
9360
|
addonAlign = 'start';
|
|
9361
|
+
/** 필드 하단 힌트 텍스트 */
|
|
9151
9362
|
hint = '';
|
|
9363
|
+
/** 에러 메시지 */
|
|
9152
9364
|
errorMessage = '';
|
|
9365
|
+
/** 유효성 검사 규칙 목록 */
|
|
9153
9366
|
rules = [];
|
|
9367
|
+
/** 에러 상태 여부 */
|
|
9154
9368
|
error = false;
|
|
9369
|
+
/** 레이블 영역 아이콘 */
|
|
9155
9370
|
icon = undefined;
|
|
9371
|
+
/** 레이블 툴팁 텍스트 */
|
|
9156
9372
|
labelTooltip = '';
|
|
9373
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
9157
9374
|
labelTooltipProps = null;
|
|
9158
9375
|
isOpen = false;
|
|
9159
9376
|
isAnimatingOut = false;
|
|
9160
9377
|
focused = false;
|
|
9161
9378
|
hovered = false;
|
|
9379
|
+
/** 날짜 범위 선택 완료 시 [시작일, 종료일]을 전달합니다. */
|
|
9162
9380
|
update;
|
|
9381
|
+
/** 달력 월/년 이동 시 현재 보여지는 연·월을 전달합니다. */
|
|
9163
9382
|
viewChange;
|
|
9164
9383
|
triggerRef;
|
|
9165
9384
|
formField;
|
|
9166
9385
|
closeAnimationTimer;
|
|
9386
|
+
/** 폼 연동용 name 속성 */
|
|
9167
9387
|
name = nanoid$1();
|
|
9168
9388
|
watchIsOpen(newValue) {
|
|
9169
9389
|
this.focused = newValue;
|
|
9170
9390
|
}
|
|
9391
|
+
/** 유효성 검사를 실행합니다. */
|
|
9171
9392
|
async sdValidate() {
|
|
9172
9393
|
return this.formField?.sdValidate();
|
|
9173
9394
|
}
|
|
9395
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
9174
9396
|
async sdReset() {
|
|
9175
9397
|
return this.formField?.sdReset();
|
|
9176
9398
|
}
|
|
9399
|
+
/** 유효성 상태만 초기화합니다. */
|
|
9177
9400
|
async sdResetValidate() {
|
|
9178
9401
|
return this.formField?.sdResetValidation();
|
|
9179
9402
|
}
|
|
@@ -9230,9 +9453,9 @@ class SdDateRangePicker {
|
|
|
9230
9453
|
'--sd-system-color-field-border-focus': DATEPICKER_COLORS.border.focus,
|
|
9231
9454
|
'--sd-system-color-field-bg-default': DATEPICKER_COLORS.bg.default,
|
|
9232
9455
|
};
|
|
9233
|
-
return (hAsync("sd-field", { key: '
|
|
9456
|
+
return (hAsync("sd-field", { key: '00e25ab4608b5340b8be9e1dd19050968e34b758', 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, 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 }, hAsync("div", { key: '98179e2ec90e55f83e5deff6e36fc821fc103456', class: "sd-date-range-picker", ref: el => {
|
|
9234
9457
|
this.triggerRef = el;
|
|
9235
|
-
} }, hAsync("sd-date-picker-trigger", { key: '
|
|
9458
|
+
} }, hAsync("sd-date-picker-trigger", { key: 'fe123228a851da602f0a5a8929fc20782742a24b', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: 'ee7eb14cc09fd067a8eeb9f19bd93178378d81b2', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, hAsync("sd-date-range-picker-calendar", { key: '8dc57a29f1ecd6811fb4538a96eea823dfebe080', value: this.value, selectable: this.selectable, maxRange: this.maxRange, onSdSelect: this.handleSelect, onSdViewChange: this.handleViewChange })))));
|
|
9236
9459
|
}
|
|
9237
9460
|
static get watchers() { return {
|
|
9238
9461
|
"isOpen": [{
|
|
@@ -9285,15 +9508,20 @@ class SdDateRangePickerCalendar {
|
|
|
9285
9508
|
this.select = createEvent(this, "sdSelect", 7);
|
|
9286
9509
|
this.viewChange = createEvent(this, "sdViewChange", 7);
|
|
9287
9510
|
}
|
|
9511
|
+
/** 선택된 날짜 범위 [시작일, 종료일] */
|
|
9288
9512
|
value = null;
|
|
9513
|
+
/** 선택 가능한 날짜 범위 제한 */
|
|
9289
9514
|
selectable;
|
|
9515
|
+
/** 최대 선택 가능 일 수 */
|
|
9290
9516
|
maxRange;
|
|
9291
9517
|
currentYear;
|
|
9292
9518
|
currentMonth;
|
|
9293
9519
|
pendingStart = '';
|
|
9294
9520
|
hoverDate = '';
|
|
9295
9521
|
displayValue = null;
|
|
9522
|
+
/** 날짜 범위 선택 시 발생합니다. */
|
|
9296
9523
|
select;
|
|
9524
|
+
/** 달력 뷰가 변경될 때 발생합니다. */
|
|
9297
9525
|
viewChange;
|
|
9298
9526
|
dateUtil = useDatePicker();
|
|
9299
9527
|
componentWillLoad() {
|
|
@@ -9521,7 +9749,7 @@ class SdDateRangePickerCalendar {
|
|
|
9521
9749
|
'--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
|
|
9522
9750
|
'--range-divider': RANGE_LAYOUT.divider,
|
|
9523
9751
|
};
|
|
9524
|
-
return (hAsync(Fragment, { key: '
|
|
9752
|
+
return (hAsync(Fragment, { key: '351cf65dcf32acba409f32c5bfa0681989093f32' }, hAsync("div", { key: '99f29a4e401d2ebaea0ebb55c2a4e55d55f23a7f', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), hAsync("div", { key: '251fe254a39d7093633be176c413608abd3c47c1', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), hAsync("span", { key: 'fb69fea401d17f3862b4a21162747161246c42e2', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
|
|
9525
9753
|
}
|
|
9526
9754
|
static get watchers() { return {
|
|
9527
9755
|
"value": [{
|
|
@@ -9742,10 +9970,15 @@ class SdDropdownButton extends BaseDropdownEvent {
|
|
|
9742
9970
|
this.dropDownShow = createEvent(this, "sdDropDownShow", 7);
|
|
9743
9971
|
}
|
|
9744
9972
|
get el() { return getElement(this); }
|
|
9973
|
+
/** 버튼 프리셋 이름 (크기와 색상 조합) */
|
|
9745
9974
|
name = 'primary_sm';
|
|
9975
|
+
/** 버튼 레이블 */
|
|
9746
9976
|
label = '';
|
|
9977
|
+
/** 드롭다운 메뉴 아이템 목록 */
|
|
9747
9978
|
items = [];
|
|
9979
|
+
/** 비활성 상태 여부 */
|
|
9748
9980
|
disabled = false;
|
|
9981
|
+
/** 레이블 버튼과 드롭다운 토글을 분리하는 split 모드 여부 */
|
|
9749
9982
|
split = false;
|
|
9750
9983
|
static CLOSE_ANIMATION_DURATION = 150;
|
|
9751
9984
|
isOpen = false;
|
|
@@ -9755,8 +9988,11 @@ class SdDropdownButton extends BaseDropdownEvent {
|
|
|
9755
9988
|
splitContainerRef;
|
|
9756
9989
|
menuRef;
|
|
9757
9990
|
closeAnimationTimer;
|
|
9991
|
+
/** 메뉴 아이템 선택 시 해당 아이템의 value를 전달합니다. */
|
|
9758
9992
|
click;
|
|
9993
|
+
/** split 모드에서 레이블 버튼 클릭 시 발생합니다. */
|
|
9759
9994
|
buttonClick;
|
|
9995
|
+
/** 드롭다운 열림/닫힘 상태 변경 시 발생합니다. */
|
|
9760
9996
|
dropDownShow;
|
|
9761
9997
|
handleOpenChange(isOpen) {
|
|
9762
9998
|
this.onDropdownToggle(isOpen);
|
|
@@ -9773,11 +10009,13 @@ class SdDropdownButton extends BaseDropdownEvent {
|
|
|
9773
10009
|
if (this.closeAnimationTimer)
|
|
9774
10010
|
clearTimeout(this.closeAnimationTimer);
|
|
9775
10011
|
}
|
|
10012
|
+
/** 드롭다운 메뉴를 엽니다. */
|
|
9776
10013
|
async sdOpen() {
|
|
9777
10014
|
if (this.disabled || this.items.length === 0)
|
|
9778
10015
|
return;
|
|
9779
10016
|
this.isOpen = true;
|
|
9780
10017
|
}
|
|
10018
|
+
/** 드롭다운 메뉴를 닫습니다. */
|
|
9781
10019
|
async sdClose() {
|
|
9782
10020
|
this.closeDropdown();
|
|
9783
10021
|
}
|
|
@@ -10038,25 +10276,44 @@ class SdField {
|
|
|
10038
10276
|
registerInstance(this, hostRef);
|
|
10039
10277
|
}
|
|
10040
10278
|
get el() { return getElement(this); }
|
|
10279
|
+
/** 폼 연동용 name 속성 */
|
|
10041
10280
|
name = '';
|
|
10281
|
+
/** 유효성 검사 규칙 목록 */
|
|
10042
10282
|
rules = [];
|
|
10283
|
+
/** 에러 상태 여부 */
|
|
10043
10284
|
error = false;
|
|
10285
|
+
/** 비활성 상태 여부 */
|
|
10044
10286
|
disabled = false;
|
|
10287
|
+
/** 읽기 전용 여부 */
|
|
10045
10288
|
readonly = false;
|
|
10289
|
+
/** 호버 상태 여부 */
|
|
10046
10290
|
hovered = false;
|
|
10291
|
+
/** 포커스 상태 여부 */
|
|
10047
10292
|
focused = false;
|
|
10293
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
10048
10294
|
status;
|
|
10295
|
+
/** 필드 하단 힌트 텍스트 */
|
|
10049
10296
|
hint = '';
|
|
10297
|
+
/** 에러 메시지 */
|
|
10050
10298
|
errorMessage = '';
|
|
10299
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
10051
10300
|
width = '';
|
|
10301
|
+
/** 필드 크기 */
|
|
10052
10302
|
size = 'sm';
|
|
10053
10303
|
// props - label
|
|
10304
|
+
/** 레이블 텍스트 */
|
|
10054
10305
|
label = '';
|
|
10306
|
+
/** 레이블 너비 */
|
|
10055
10307
|
labelWidth = '';
|
|
10308
|
+
/** 필드 우측 어드온 레이블 */
|
|
10056
10309
|
addonLabel = '';
|
|
10310
|
+
/** 어드온 정렬 방향 */
|
|
10057
10311
|
addonAlign = 'start';
|
|
10312
|
+
/** 레이블 영역 아이콘 */
|
|
10058
10313
|
icon = undefined;
|
|
10314
|
+
/** 레이블 툴팁 텍스트 */
|
|
10059
10315
|
labelTooltip = '';
|
|
10316
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
10060
10317
|
labelTooltipProps = null;
|
|
10061
10318
|
errorMsg = '';
|
|
10062
10319
|
hostElement = null;
|
|
@@ -10121,6 +10378,7 @@ class SdField {
|
|
|
10121
10378
|
form.sdUnregisterField(this);
|
|
10122
10379
|
});
|
|
10123
10380
|
}
|
|
10381
|
+
/** 유효성 검사를 실행합니다. */
|
|
10124
10382
|
async sdValidate() {
|
|
10125
10383
|
if (!this.rules || this.rules.length === 0)
|
|
10126
10384
|
return true;
|
|
@@ -10134,15 +10392,18 @@ class SdField {
|
|
|
10134
10392
|
this.setError(false, '');
|
|
10135
10393
|
return true;
|
|
10136
10394
|
}
|
|
10395
|
+
/** 필드 값과 유효성 상태를 초기화합니다. */
|
|
10137
10396
|
async sdReset() {
|
|
10138
10397
|
if (this.hostElement) {
|
|
10139
10398
|
this.hostElement.value = null;
|
|
10140
10399
|
}
|
|
10141
10400
|
this.setError(false, '');
|
|
10142
10401
|
}
|
|
10402
|
+
/** 유효성 상태만 초기화합니다. */
|
|
10143
10403
|
async sdResetValidation() {
|
|
10144
10404
|
this.setError(false, '');
|
|
10145
10405
|
}
|
|
10406
|
+
/** 필드에 포커스를 이동하고 스크롤합니다. */
|
|
10146
10407
|
async sdFocus() {
|
|
10147
10408
|
this.hostElement?.focus?.();
|
|
10148
10409
|
this.hostElement?.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
@@ -10206,21 +10467,21 @@ class SdField {
|
|
|
10206
10467
|
: {}),
|
|
10207
10468
|
}
|
|
10208
10469
|
: {};
|
|
10209
|
-
return (hAsync("div", { key: '
|
|
10470
|
+
return (hAsync("div", { key: 'baf943d77385c9c02e2fe1d938f9622bd858129c', class: {
|
|
10210
10471
|
'sd-field': true,
|
|
10211
10472
|
'sd-field--has-label': this.label !== '',
|
|
10212
10473
|
'sd-field--has-addon': addon !== '',
|
|
10213
10474
|
[this.fieldStatus]: this.fieldStatus !== '',
|
|
10214
|
-
}, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, hAsync("div", { key: '
|
|
10475
|
+
}, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, hAsync("div", { key: 'f5f204929ef4a4e1a260d7609bc00d9a1fe998f4', class: "sd-field__wrapper" }, this.renderLabel(this.label), hAsync("div", { key: 'eff02956e5aae08691b2850bb0d1978865a446f9', class: "sd-field__main", style: this.width !== '' && this.width !== 0
|
|
10215
10476
|
? {
|
|
10216
10477
|
width: typeof this.width === 'number' ? `${this.width}px` : this.width,
|
|
10217
10478
|
flex: 'none',
|
|
10218
10479
|
}
|
|
10219
|
-
: {} }, hAsync("div", { key: '
|
|
10480
|
+
: {} }, hAsync("div", { key: 'bf00b81dbb3d36a8a8ddf4919c9ec3383a1f3f14', class: {
|
|
10220
10481
|
'sd-field__control': true,
|
|
10221
10482
|
'sd-field__control--has-addon': addon !== '',
|
|
10222
|
-
} }, addon && (hAsync("div", { key: '
|
|
10223
|
-
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)), hAsync("slot", { key: '
|
|
10483
|
+
} }, addon && (hAsync("div", { key: '4cef1308de0b709d5924ff7a02ee5bd3b78c1502', class: "sd-field__addon" }, this.icon && (hAsync("sd-icon", { key: '7fdfca555d80f5409082c43967224fd8108a6f29', name: this.icon.name, size: this.icon.size ??
|
|
10484
|
+
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)), hAsync("slot", { key: 'c523813390db6f6f4acce3ffb8377820ffb95fad' })), this.errorMsg !== '' || this.errorMessage !== '' ? (hAsync("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && hAsync("div", { class: "sd-field__hint" }, this.hint))))));
|
|
10224
10485
|
}
|
|
10225
10486
|
renderLabel(label) {
|
|
10226
10487
|
if (label == null || label === '')
|
|
@@ -10316,38 +10577,65 @@ class SdFilePicker {
|
|
|
10316
10577
|
this.reject = createEvent(this, "sdReject", 7);
|
|
10317
10578
|
}
|
|
10318
10579
|
get el() { return getElement(this); }
|
|
10580
|
+
/** 선택된 파일 값 */
|
|
10319
10581
|
value = null;
|
|
10582
|
+
/** 파일 미선택 시 표시할 placeholder */
|
|
10320
10583
|
placeholder = 'Click to upload';
|
|
10584
|
+
/** 비활성 상태 여부 */
|
|
10321
10585
|
disabled = false;
|
|
10586
|
+
/** sd-field 없이 인라인으로 표시하는 모드 여부 */
|
|
10322
10587
|
inline = false;
|
|
10588
|
+
/** 다중 파일 선택 여부 */
|
|
10323
10589
|
multiple = false;
|
|
10590
|
+
/** 허용할 파일 타입 (input accept 속성과 동일) */
|
|
10324
10591
|
accept;
|
|
10592
|
+
/** 파일 한 개의 최대 크기 (bytes) */
|
|
10325
10593
|
maxFileSize;
|
|
10594
|
+
/** 전체 파일의 최대 용량 합계 (bytes) */
|
|
10326
10595
|
maxTotalSize;
|
|
10596
|
+
/** 최대 파일 개수 */
|
|
10327
10597
|
maxFiles;
|
|
10328
10598
|
// sd-field 패스스루 props
|
|
10599
|
+
/** 폼 연동용 name 속성 */
|
|
10329
10600
|
name = nanoid$1();
|
|
10601
|
+
/** 레이블 텍스트 */
|
|
10330
10602
|
label = '';
|
|
10603
|
+
/** 레이블 너비 */
|
|
10331
10604
|
labelWidth = '';
|
|
10605
|
+
/** 필드 우측 어드온 레이블 */
|
|
10332
10606
|
addonLabel = '';
|
|
10607
|
+
/** 어드온 정렬 방향 */
|
|
10333
10608
|
addonAlign = 'start';
|
|
10609
|
+
/** 필드 하단 힌트 텍스트 */
|
|
10334
10610
|
hint = '';
|
|
10611
|
+
/** 에러 메시지 */
|
|
10335
10612
|
errorMessage = '';
|
|
10613
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
10336
10614
|
width = '';
|
|
10615
|
+
/** 유효성 검사 규칙 목록 */
|
|
10337
10616
|
rules;
|
|
10617
|
+
/** 에러 상태 여부 */
|
|
10338
10618
|
error = false;
|
|
10619
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
10339
10620
|
status;
|
|
10621
|
+
/** 레이블 영역 아이콘 */
|
|
10340
10622
|
icon = undefined;
|
|
10623
|
+
/** 레이블 툴팁 텍스트 */
|
|
10341
10624
|
labelTooltip = '';
|
|
10625
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
10342
10626
|
labelTooltipProps = null;
|
|
10627
|
+
/** 포커스 상태 여부 */
|
|
10343
10628
|
focused = false;
|
|
10629
|
+
/** 호버 상태 여부 */
|
|
10344
10630
|
hovered = false;
|
|
10345
10631
|
internalValue = null;
|
|
10346
10632
|
showTooltip = false;
|
|
10347
10633
|
fileInputRef;
|
|
10348
10634
|
fileNamesRef;
|
|
10349
10635
|
formField;
|
|
10636
|
+
/** 파일 선택 또는 삭제 시 현재 파일 값을 전달합니다. */
|
|
10350
10637
|
update;
|
|
10638
|
+
/** 파일이 크기·개수 제한을 초과하여 거부됐을 때 발생합니다. */
|
|
10351
10639
|
reject;
|
|
10352
10640
|
valueChanged(newValue) {
|
|
10353
10641
|
this.internalValue = newValue;
|
|
@@ -10358,9 +10646,11 @@ class SdFilePicker {
|
|
|
10358
10646
|
componentDidUpdate() {
|
|
10359
10647
|
this.checkOverflow();
|
|
10360
10648
|
}
|
|
10649
|
+
/** 유효성 검사를 실행합니다. */
|
|
10361
10650
|
async sdValidate() {
|
|
10362
10651
|
return this.formField?.sdValidate() ?? Promise.resolve(true);
|
|
10363
10652
|
}
|
|
10653
|
+
/** 파일 값과 유효성 상태를 초기화합니다. */
|
|
10364
10654
|
async sdReset() {
|
|
10365
10655
|
const clearedValue = this.multiple ? [] : null;
|
|
10366
10656
|
this.value = clearedValue;
|
|
@@ -10370,6 +10660,7 @@ class SdFilePicker {
|
|
|
10370
10660
|
}
|
|
10371
10661
|
await this.formField?.sdResetValidation();
|
|
10372
10662
|
}
|
|
10663
|
+
/** 유효성 상태만 초기화합니다. */
|
|
10373
10664
|
async sdResetValidate() {
|
|
10374
10665
|
await this.formField?.sdResetValidation();
|
|
10375
10666
|
}
|
|
@@ -10582,12 +10873,19 @@ class SdFloatingPopover {
|
|
|
10582
10873
|
this.close = createEvent(this, "sdClose", 7);
|
|
10583
10874
|
}
|
|
10584
10875
|
get el() { return getElement(this); }
|
|
10876
|
+
/** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
|
|
10585
10877
|
to = 'body';
|
|
10878
|
+
/** 위치 기준이 되는 부모 엘리먼트 */
|
|
10586
10879
|
parentRef = null;
|
|
10880
|
+
/** [x, y] 오프셋 (px) */
|
|
10587
10881
|
offset = [0, 0];
|
|
10588
|
-
|
|
10882
|
+
/** z-index */
|
|
10883
|
+
zIndex = 996;
|
|
10884
|
+
/** 콘텐츠를 표시할 방향 */
|
|
10589
10885
|
placement = 'bottom';
|
|
10886
|
+
/** 표시 여부 */
|
|
10590
10887
|
open = false;
|
|
10888
|
+
/** 외부 클릭 등으로 닫힐 때 발생합니다. */
|
|
10591
10889
|
close;
|
|
10592
10890
|
container;
|
|
10593
10891
|
wrapper;
|
|
@@ -10642,11 +10940,25 @@ class SdFloatingPopover {
|
|
|
10642
10940
|
const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
|
|
10643
10941
|
return el instanceof HTMLElement ? el : document.body;
|
|
10644
10942
|
}
|
|
10943
|
+
/**
|
|
10944
|
+
* 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
|
|
10945
|
+
* 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
|
|
10946
|
+
*/
|
|
10947
|
+
resolveZIndex() {
|
|
10948
|
+
const base = this.zIndex ?? 996;
|
|
10949
|
+
const layer = this.parentRef?.closest('.sd-modal-container__layer');
|
|
10950
|
+
if (!layer)
|
|
10951
|
+
return base;
|
|
10952
|
+
const container = layer.closest('.sd-modal-container');
|
|
10953
|
+
const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
|
|
10954
|
+
const modalZIndex = Number.isFinite(z) ? z : 997;
|
|
10955
|
+
return Math.max(base, modalZIndex + 1);
|
|
10956
|
+
}
|
|
10645
10957
|
createWrapper() {
|
|
10646
10958
|
this.wrapper = document.createElement('div');
|
|
10647
10959
|
Object.assign(this.wrapper.style, {
|
|
10648
10960
|
position: 'fixed',
|
|
10649
|
-
zIndex:
|
|
10961
|
+
zIndex: this.resolveZIndex().toString(),
|
|
10650
10962
|
transition: 'opacity 0.4s',
|
|
10651
10963
|
top: '-9999px',
|
|
10652
10964
|
left: '-9999px',
|
|
@@ -10733,7 +11045,7 @@ class SdFloatingPopover {
|
|
|
10733
11045
|
}
|
|
10734
11046
|
}
|
|
10735
11047
|
render() {
|
|
10736
|
-
return hAsync("slot", { key: '
|
|
11048
|
+
return hAsync("slot", { key: 'ee2a502ac1c924abb9be9fae19b4450659515c15' });
|
|
10737
11049
|
}
|
|
10738
11050
|
static get style() { return sdFloatingPortalCss(); }
|
|
10739
11051
|
static get cmpMeta() { return {
|
|
@@ -10759,9 +11071,12 @@ class SdForm {
|
|
|
10759
11071
|
this.sdSubmit = createEvent(this, "sdSubmit", 7);
|
|
10760
11072
|
this.sdValidationError = createEvent(this, "sdValidationError", 7);
|
|
10761
11073
|
}
|
|
11074
|
+
/** form 엘리먼트에 추가할 클래스 */
|
|
10762
11075
|
formClass = '';
|
|
10763
11076
|
fields = [];
|
|
11077
|
+
/** 유효성 검사 통과 후 submit 시 발생합니다. */
|
|
10764
11078
|
sdSubmit;
|
|
11079
|
+
/** 유효성 검사 실패 시 실패한 필드 name 목록을 전달합니다. */
|
|
10765
11080
|
sdValidationError;
|
|
10766
11081
|
sortFieldsByDomOrder() {
|
|
10767
11082
|
this.fields.sort((a, b) => {
|
|
@@ -10779,6 +11094,7 @@ class SdForm {
|
|
|
10779
11094
|
return 0;
|
|
10780
11095
|
});
|
|
10781
11096
|
}
|
|
11097
|
+
/** 폼에 필드를 등록합니다. */
|
|
10782
11098
|
async sdRegisterField(field) {
|
|
10783
11099
|
if (field.name === '') {
|
|
10784
11100
|
console.warn('[sd-form] field.name is required');
|
|
@@ -10789,6 +11105,7 @@ class SdForm {
|
|
|
10789
11105
|
this.fields.push(field);
|
|
10790
11106
|
this.sortFieldsByDomOrder();
|
|
10791
11107
|
}
|
|
11108
|
+
/** 폼에서 필드를 제거합니다. */
|
|
10792
11109
|
async sdUnregisterField(fieldOrName) {
|
|
10793
11110
|
if (typeof fieldOrName === 'string') {
|
|
10794
11111
|
const index = this.fields.findIndex(field => field.name === fieldOrName);
|
|
@@ -10809,13 +11126,16 @@ class SdForm {
|
|
|
10809
11126
|
}
|
|
10810
11127
|
return { valid: invalidFields.length === 0, invalidFields };
|
|
10811
11128
|
}
|
|
11129
|
+
/** 모든 등록된 필드의 유효성 검사를 실행합니다. */
|
|
10812
11130
|
async sdValidate() {
|
|
10813
11131
|
const { valid } = await this.runValidation();
|
|
10814
11132
|
return valid;
|
|
10815
11133
|
}
|
|
11134
|
+
/** 모든 필드의 값과 유효성 상태를 초기화합니다. */
|
|
10816
11135
|
async sdReset() {
|
|
10817
11136
|
this.fields.forEach(f => f.sdReset());
|
|
10818
11137
|
}
|
|
11138
|
+
/** 모든 필드의 유효성 상태만 초기화합니다. */
|
|
10819
11139
|
async sdResetValidation() {
|
|
10820
11140
|
this.fields.forEach(f => f.sdResetValidation());
|
|
10821
11141
|
}
|
|
@@ -10829,7 +11149,7 @@ class SdForm {
|
|
|
10829
11149
|
this.sdSubmit.emit();
|
|
10830
11150
|
}
|
|
10831
11151
|
render() {
|
|
10832
|
-
return (hAsync("form", { key: '
|
|
11152
|
+
return (hAsync("form", { key: 'f533f9dcf3a13e66d37644baa5217b90a67350a2', onSubmit: e => this.onSubmit(e), class: this.formClass }, hAsync("slot", { key: '8a108703faeb2ed7d1e47a72b407b7a7fc88063d' })));
|
|
10833
11153
|
}
|
|
10834
11154
|
static get cmpMeta() { return {
|
|
10835
11155
|
"$flags$": 772,
|
|
@@ -10967,14 +11287,21 @@ class SdGhostButton {
|
|
|
10967
11287
|
registerInstance(this, hostRef);
|
|
10968
11288
|
this.click = createEvent(this, "sdClick", 7);
|
|
10969
11289
|
}
|
|
11290
|
+
/** 버튼에 표시할 아이콘명 */
|
|
10970
11291
|
icon;
|
|
11292
|
+
/** 버튼 크기 */
|
|
10971
11293
|
size = 'sm';
|
|
11294
|
+
/** 버튼 색상 의도 */
|
|
10972
11295
|
intent = 'default';
|
|
11296
|
+
/** 스크린리더용 접근성 레이블 */
|
|
10973
11297
|
ariaLabel = '';
|
|
11298
|
+
/** 호버 시 표시할 툴팁 텍스트 */
|
|
10974
11299
|
tooltipText;
|
|
11300
|
+
/** 비활성 상태 여부 */
|
|
10975
11301
|
disabled = false;
|
|
10976
11302
|
get hostEl() { return getElement(this); }
|
|
10977
11303
|
isTooltipOpen = false;
|
|
11304
|
+
/** 버튼 클릭 시 발생합니다. */
|
|
10978
11305
|
click;
|
|
10979
11306
|
hasWarnedMissingAriaLabel = false;
|
|
10980
11307
|
componentWillLoad() {
|
|
@@ -10989,10 +11316,18 @@ class SdGhostButton {
|
|
|
10989
11316
|
}
|
|
10990
11317
|
this.click.emit(event);
|
|
10991
11318
|
};
|
|
10992
|
-
handleMouseEnter = () => {
|
|
10993
|
-
|
|
10994
|
-
|
|
10995
|
-
|
|
11319
|
+
handleMouseEnter = () => {
|
|
11320
|
+
this.isTooltipOpen = true;
|
|
11321
|
+
};
|
|
11322
|
+
handleMouseLeave = () => {
|
|
11323
|
+
this.isTooltipOpen = false;
|
|
11324
|
+
};
|
|
11325
|
+
handleFocus = () => {
|
|
11326
|
+
this.isTooltipOpen = true;
|
|
11327
|
+
};
|
|
11328
|
+
handleBlur = () => {
|
|
11329
|
+
this.isTooltipOpen = false;
|
|
11330
|
+
};
|
|
10996
11331
|
componentWillRender() {
|
|
10997
11332
|
this.warnIfMissingAriaLabel();
|
|
10998
11333
|
}
|
|
@@ -11017,7 +11352,7 @@ class SdGhostButton {
|
|
|
11017
11352
|
const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
|
|
11018
11353
|
const tooltipText = (this.tooltipText ?? '').trim();
|
|
11019
11354
|
const hasTooltip = tooltipText.length > 0;
|
|
11020
|
-
return (hAsync("button", { key: '
|
|
11355
|
+
return (hAsync("button", { key: 'a49c5b93f4dfcd434c20225acae4c7454e8f8e4f', class: {
|
|
11021
11356
|
'sd-ghost-button': true,
|
|
11022
11357
|
'sd-ghost-button--disabled': this.disabled,
|
|
11023
11358
|
}, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
|
|
@@ -11026,7 +11361,7 @@ class SdGhostButton {
|
|
|
11026
11361
|
'--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
|
|
11027
11362
|
'--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
|
|
11028
11363
|
'--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
|
|
11029
|
-
}, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (hAsync("sd-portal", { key: '
|
|
11364
|
+
}, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (hAsync("sd-portal", { key: '36ef78d79a99da1fd26c282ef68293b9fb9f87b1', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, hAsync("div", { key: 'a0cf8b4e84a79841ab09e6a81ee6bcbfe57e6805', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, hAsync("sd-tag", { key: 'a263167142b891add0a32900504f541dcb3a4959', name: "square_xs_grey", label: tooltipText })))), hAsync("sd-icon", { key: 'ba90e9b489b4f43577313052635db598e3d30037', name: this.icon, size: sizeConfig.icon, color: contentColor })));
|
|
11030
11365
|
}
|
|
11031
11366
|
static get style() { return sdGhostButtonCss(); }
|
|
11032
11367
|
static get cmpMeta() { return {
|
|
@@ -11165,11 +11500,17 @@ class SdGuide {
|
|
|
11165
11500
|
registerInstance(this, hostRef);
|
|
11166
11501
|
}
|
|
11167
11502
|
get el() { return getElement(this); }
|
|
11503
|
+
/** 가이드 타입 (tip: 팝업, notion: 외부 링크) */
|
|
11168
11504
|
type = 'tip';
|
|
11505
|
+
/** 버튼에 표시할 레이블 (없으면 type에 따른 기본값 사용) */
|
|
11169
11506
|
label = '';
|
|
11507
|
+
/** 팝업에 표시할 메시지 (배열이면 리스트로 렌더링) */
|
|
11170
11508
|
message = '';
|
|
11509
|
+
/** notion 타입일 때 클릭 시 이동할 URL */
|
|
11171
11510
|
url = '';
|
|
11511
|
+
/** 팝업 제목 (없으면 type에 따른 기본값 사용) */
|
|
11172
11512
|
popupTitle = '';
|
|
11513
|
+
/** 팝업 너비 (px, 없으면 426px) */
|
|
11173
11514
|
popupWidth;
|
|
11174
11515
|
popupShow = false;
|
|
11175
11516
|
guideRef;
|
|
@@ -11231,10 +11572,10 @@ class SdGuide {
|
|
|
11231
11572
|
const buttonClasses = ['sd-guide__button', `sd-guide__button--type-${this.type ?? 'tip'}`];
|
|
11232
11573
|
if (isActive)
|
|
11233
11574
|
buttonClasses.push('sd-guide__button--active');
|
|
11234
|
-
return (hAsync("div", { key: '
|
|
11575
|
+
return (hAsync("div", { key: 'd89a517d78a8f9624c94d320291e5a4b5bd0715d', class: "sd-guide", style: this.guideStyle }, hAsync("sd-button", { key: '6e959f0f5fd6f816fd1cef4545852b860d30de85', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (hAsync("sd-portal", { key: 'a837cababa5504400293729ad28e4dcd2450eeec', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, hAsync("div", { key: '61dd3c574495f85021495d80865e162999368f9c', class: "sd-guide__popup", style: {
|
|
11235
11576
|
...this.guideStyle,
|
|
11236
11577
|
width: this.popupWidth != null ? this.popupWidth + 'px' : '426px',
|
|
11237
|
-
} }, hAsync("sd-ghost-button", { key: '
|
|
11578
|
+
} }, hAsync("sd-ghost-button", { key: 'dbf8aebd1be4b5286bf726d22e0a5f80c29e867f', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), hAsync("div", { key: '5a08fa823bb8839e654d7bb2ba027df2dc68b85b', class: "sd-guide__popup__header" }, hAsync("sd-icon", { key: '1dda43d100b4f5f3b7fa81115a1ac4bfbd584a51', name: iconName, size: 24, color: popupIconColor }), hAsync("h3", { key: 'cfe6342f44f4e1355397ed94d6db74807f917548', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), hAsync("ul", { key: '9acc2f507ed3d3d6f1fda27a9e5cf66dcc2f619d', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
|
|
11238
11579
|
}
|
|
11239
11580
|
// 현재 2depth까지만 스타일 적용
|
|
11240
11581
|
renderListItem(message, depth = 0) {
|
|
@@ -11553,6 +11894,7 @@ class SdIcon {
|
|
|
11553
11894
|
rotate;
|
|
11554
11895
|
/** 접근성을 위한 라벨 */
|
|
11555
11896
|
label;
|
|
11897
|
+
/** 아이콘 i 엘리먼트에 적용할 인라인 스타일 */
|
|
11556
11898
|
iconStyle = {};
|
|
11557
11899
|
getIconClasses() {
|
|
11558
11900
|
const classes = ['sd-icon'];
|
|
@@ -11626,46 +11968,81 @@ class SdInput {
|
|
|
11626
11968
|
this.blur = createEvent(this, "sdBlur", 7);
|
|
11627
11969
|
}
|
|
11628
11970
|
get host() { return getElement(this); }
|
|
11971
|
+
/** 입력 값 */
|
|
11629
11972
|
value = null;
|
|
11973
|
+
/** 입력 타입 */
|
|
11630
11974
|
type = 'text';
|
|
11975
|
+
/** 입력 크기 */
|
|
11631
11976
|
size = 'sm';
|
|
11977
|
+
/** 필드 우측 어드온 레이블 */
|
|
11632
11978
|
addonLabel = '';
|
|
11979
|
+
/** 어드온 정렬 방향 */
|
|
11633
11980
|
addonAlign = 'start';
|
|
11981
|
+
/** 플레이스홀더 텍스트 */
|
|
11634
11982
|
placeholder = '입력해 주세요.';
|
|
11983
|
+
/** 비활성 상태 여부 */
|
|
11635
11984
|
disabled = false;
|
|
11985
|
+
/** 값이 있을 때 지우기 버튼 표시 여부 */
|
|
11636
11986
|
clearable = false;
|
|
11987
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
11637
11988
|
width = '';
|
|
11989
|
+
/** 유효성 검사 규칙 목록 */
|
|
11638
11990
|
rules = [];
|
|
11991
|
+
/** 마운트 시 자동 포커스 여부 */
|
|
11639
11992
|
autoFocus = false;
|
|
11993
|
+
/** autocomplete 속성 값 */
|
|
11640
11994
|
autocomplete = '';
|
|
11995
|
+
/** 최대 입력 글자 수 */
|
|
11641
11996
|
maxlength;
|
|
11997
|
+
/** 최소 입력 글자 수 */
|
|
11642
11998
|
minlength;
|
|
11999
|
+
/** 모바일 키보드 타입 */
|
|
11643
12000
|
inputmode;
|
|
12001
|
+
/** 모바일 Enter 키 힌트 */
|
|
11644
12002
|
enterkeyhint;
|
|
12003
|
+
/** 맞춤법 검사 여부 */
|
|
11645
12004
|
spellcheck = false;
|
|
12005
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
11646
12006
|
status;
|
|
12007
|
+
/** 필드 하단 힌트 텍스트 */
|
|
11647
12008
|
hint = '';
|
|
12009
|
+
/** 에러 메시지 */
|
|
11648
12010
|
errorMessage = '';
|
|
12011
|
+
/** 네이티브 input에 추가할 클래스 */
|
|
11649
12012
|
inputClass = '';
|
|
12013
|
+
/** 읽기 전용 여부 */
|
|
11650
12014
|
readonly = false;
|
|
12015
|
+
/** 에러 상태 여부 */
|
|
11651
12016
|
error = false;
|
|
12017
|
+
/** 포커스 상태 여부 */
|
|
11652
12018
|
focused = false;
|
|
12019
|
+
/** 호버 상태 여부 */
|
|
11653
12020
|
hovered = false;
|
|
11654
12021
|
// props - label
|
|
12022
|
+
/** 레이블 텍스트 */
|
|
11655
12023
|
label = '';
|
|
12024
|
+
/** 레이블 너비 */
|
|
11656
12025
|
labelWidth = '';
|
|
12026
|
+
/** 레이블 영역 아이콘 */
|
|
11657
12027
|
icon = undefined;
|
|
12028
|
+
/** 레이블 툴팁 텍스트 */
|
|
11658
12029
|
labelTooltip = '';
|
|
12030
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
11659
12031
|
labelTooltipProps = null;
|
|
11660
12032
|
// props - custom styles
|
|
12033
|
+
/** 네이티브 input에 적용할 인라인 스타일 */
|
|
11661
12034
|
inputStyle = {};
|
|
11662
12035
|
internalValue = null;
|
|
11663
12036
|
passwordVisible = false;
|
|
11664
12037
|
nativeEl = undefined;
|
|
11665
12038
|
formField;
|
|
12039
|
+
/** 폼 연동용 name 속성 */
|
|
11666
12040
|
name = nanoid$1();
|
|
12041
|
+
/** 값이 변경될 때 발생합니다. */
|
|
11667
12042
|
input;
|
|
12043
|
+
/** 포커스될 때 발생합니다. */
|
|
11668
12044
|
focus;
|
|
12045
|
+
/** 포커스를 잃을 때 발생합니다. */
|
|
11669
12046
|
blur;
|
|
11670
12047
|
valueChanged(newValue) {
|
|
11671
12048
|
this.internalValue = newValue;
|
|
@@ -11676,18 +12053,23 @@ class SdInput {
|
|
|
11676
12053
|
this.input?.emit(this.value);
|
|
11677
12054
|
}
|
|
11678
12055
|
}
|
|
12056
|
+
/** 네이티브 input 엘리먼트를 반환합니다. */
|
|
11679
12057
|
async sdGetNativeElement() {
|
|
11680
12058
|
return this.nativeEl || null;
|
|
11681
12059
|
}
|
|
12060
|
+
/** 유효성 검사를 실행합니다. */
|
|
11682
12061
|
async sdValidate() {
|
|
11683
12062
|
this.formField?.sdValidate();
|
|
11684
12063
|
}
|
|
12064
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
11685
12065
|
async sdReset() {
|
|
11686
12066
|
this.formField?.sdReset();
|
|
11687
12067
|
}
|
|
12068
|
+
/** 유효성 상태만 초기화합니다. */
|
|
11688
12069
|
async sdResetValidate() {
|
|
11689
12070
|
this.formField?.sdResetValidation();
|
|
11690
12071
|
}
|
|
12072
|
+
/** 입력 필드에 포커스를 이동합니다. */
|
|
11691
12073
|
async sdFocus() {
|
|
11692
12074
|
this.formField?.sdFocus();
|
|
11693
12075
|
}
|
|
@@ -11735,12 +12117,12 @@ class SdInput {
|
|
|
11735
12117
|
'--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
|
|
11736
12118
|
'--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
|
|
11737
12119
|
};
|
|
11738
|
-
return (hAsync("sd-field", { key: '
|
|
12120
|
+
return (hAsync("sd-field", { key: '7444ee5ebb482fe9c4f837114456cab90de6b3aa', 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 }, hAsync("label", { key: '0dbb6bc35522fb2d0c6d6d147756954ed96d2467', class: "sd-input__content" }, hAsync("slot", { key: 'd5e8488bc3e29bd671bb337051d7b768c3c37c4b', name: "prefix" }), hAsync("input", { key: '9dff73dbc5af19b0e2f19e95a26ad32211761484', 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 }), hAsync("slot", { key: 'f1020b3ab68d5db6f83a2d6ba84722faa76c354e', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (hAsync("sd-ghost-button", { key: '547a309bb4434e558cf8b33fe8bcd51533d36cd5', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
|
|
11739
12121
|
if (this.disabled || this.readonly)
|
|
11740
12122
|
return;
|
|
11741
12123
|
this.internalValue = '';
|
|
11742
12124
|
await this.formField?.sdValidate();
|
|
11743
|
-
} })), this.type === 'password' && (hAsync("sd-ghost-button", { key: '
|
|
12125
|
+
} })), this.type === 'password' && (hAsync("sd-ghost-button", { key: '39c77e164b08d4a0169f76c1b8dc519e0f39d993', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
|
|
11744
12126
|
if (this.disabled || this.readonly)
|
|
11745
12127
|
return;
|
|
11746
12128
|
this.passwordVisible = !this.passwordVisible;
|
|
@@ -11933,7 +12315,9 @@ class SdKeyValueTable {
|
|
|
11933
12315
|
* - 'full': 상하단 모두 radius 0 (요소 사이에 끼워 쓸 때)
|
|
11934
12316
|
*/
|
|
11935
12317
|
radius = 'default';
|
|
12318
|
+
/** 필드 값이 변경될 때 `{ name, value }` 형태로 발생합니다. */
|
|
11936
12319
|
change;
|
|
12320
|
+
/** search 패널의 검색 버튼 클릭 시 발생합니다. */
|
|
11937
12321
|
searchEvent;
|
|
11938
12322
|
emit = (name, value) => {
|
|
11939
12323
|
this.change.emit({ name, value });
|
|
@@ -12169,9 +12553,13 @@ class SdLinearProgress {
|
|
|
12169
12553
|
constructor(hostRef) {
|
|
12170
12554
|
registerInstance(this, hostRef);
|
|
12171
12555
|
}
|
|
12556
|
+
/** true이면 진행률 없이 무한 애니메이션 표시 */
|
|
12172
12557
|
indeterminate = false;
|
|
12558
|
+
/** 진행률 (0–100) */
|
|
12173
12559
|
value = 0;
|
|
12560
|
+
/** 색상 타입 */
|
|
12174
12561
|
type = 'primary';
|
|
12562
|
+
/** 하단에 표시할 레이블 텍스트 */
|
|
12175
12563
|
label;
|
|
12176
12564
|
get clampedValue() {
|
|
12177
12565
|
if (!Number.isFinite(this.value))
|
|
@@ -12179,8 +12567,7 @@ class SdLinearProgress {
|
|
|
12179
12567
|
return Math.max(0, Math.min(100, this.value));
|
|
12180
12568
|
}
|
|
12181
12569
|
render() {
|
|
12182
|
-
const fillColor = LINEAR_PROGRESS_FILL_COLOR_MAP[this.type] ??
|
|
12183
|
-
LINEAR_PROGRESS_FILL_COLOR_MAP.primary;
|
|
12570
|
+
const fillColor = LINEAR_PROGRESS_FILL_COLOR_MAP[this.type] ?? LINEAR_PROGRESS_FILL_COLOR_MAP.primary;
|
|
12184
12571
|
const valueColor = this.clampedValue === 0 ? LINEAR_PROGRESS_COLORS.valueZero : fillColor;
|
|
12185
12572
|
const hostStyle = {
|
|
12186
12573
|
'--sd-linear-progress-track-color': LINEAR_PROGRESS_COLORS.track,
|
|
@@ -12196,7 +12583,7 @@ class SdLinearProgress {
|
|
|
12196
12583
|
clipPath: `inset(0 ${100 - this.clampedValue}% 0 0)`,
|
|
12197
12584
|
};
|
|
12198
12585
|
const valueText = `${Math.round(this.clampedValue)}%`;
|
|
12199
|
-
return (hAsync(Host, { key: '
|
|
12586
|
+
return (hAsync(Host, { key: '232520f9e720d13e28bbac8f61864e943f03c12e', style: hostStyle }, hAsync("div", { key: '6c5659e65da3f6d01c1029d9441f8619c304935c', class: "sd-linear-progress__track" }, hAsync("div", { key: '81f1c5ca5e4422e33f5505eda07fd4a04b24465c', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (hAsync("span", { key: 'd3542eddf302448742a3564c6f48d4d3f71d3733', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (hAsync("span", { key: 'f9c650167b1d9653a6745399226e480f15c19f65', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && hAsync("span", { key: 'fa8759f871902a4c3ebf0d982fe9b63d956a2f24', class: "sd-linear-progress__label" }, this.label)));
|
|
12200
12587
|
}
|
|
12201
12588
|
static get style() { return sdLinearProgressCss(); }
|
|
12202
12589
|
static get cmpMeta() { return {
|
|
@@ -12222,18 +12609,20 @@ class SdLoadingContainer {
|
|
|
12222
12609
|
}
|
|
12223
12610
|
visible = false;
|
|
12224
12611
|
message = '';
|
|
12612
|
+
/** 로딩 오버레이를 표시합니다. */
|
|
12225
12613
|
async show(options = {}) {
|
|
12226
12614
|
this.message = options.message ?? '';
|
|
12227
12615
|
this.visible = true;
|
|
12228
12616
|
}
|
|
12617
|
+
/** 로딩 오버레이를 숨깁니다. */
|
|
12229
12618
|
async hide() {
|
|
12230
12619
|
this.visible = false;
|
|
12231
12620
|
}
|
|
12232
12621
|
render() {
|
|
12233
|
-
return (hAsync("div", { key: '
|
|
12622
|
+
return (hAsync("div", { key: 'b8efbc6422fded2472a6e575c9a7102375f90600', class: {
|
|
12234
12623
|
'sd-loading-container': true,
|
|
12235
12624
|
'sd-loading-container--visible': this.visible,
|
|
12236
|
-
}, "aria-hidden": this.visible ? 'false' : 'true' }, hAsync("div", { key: '
|
|
12625
|
+
}, "aria-hidden": this.visible ? 'false' : 'true' }, hAsync("div", { key: '1ff327157be008e278636d49069945e553c1ecbd', class: "sd-loading-container__backdrop" }), hAsync("div", { key: 'd55d2ab11528e35c04e8dd98f8c10d0f913a536e', class: "sd-loading-container__content" }, hAsync("sd-circle-progress", { key: '29060ee18eb4e5a47bae25462abe11b8d5abfb0c', indeterminate: true, type: "inverse" }), this.message && hAsync("p", { key: 'cf0478da282996ba4f7ecb920d8262181369af8a', class: "sd-loading-container__message" }, this.message))));
|
|
12237
12626
|
}
|
|
12238
12627
|
static get style() { return sdLoadingContainerCss(); }
|
|
12239
12628
|
static get cmpMeta() { return {
|
|
@@ -12285,13 +12674,21 @@ class SdLoadingModal {
|
|
|
12285
12674
|
registerInstance(this, hostRef);
|
|
12286
12675
|
this.click = createEvent(this, "sdClick", 7);
|
|
12287
12676
|
}
|
|
12677
|
+
/** 모달 상태 (loading: 로딩 중, error: 에러) */
|
|
12288
12678
|
state = 'loading';
|
|
12679
|
+
/** 표시할 메시지 (배열이면 여러 줄로 렌더링) */
|
|
12289
12680
|
message = '';
|
|
12681
|
+
/** 하단 버튼 표시 여부 */
|
|
12290
12682
|
useButton = false;
|
|
12683
|
+
/** 버튼 레이블 (없으면 state에 따른 기본값 사용) */
|
|
12291
12684
|
buttonLabel = '';
|
|
12685
|
+
/** 모달 너비 */
|
|
12292
12686
|
width;
|
|
12687
|
+
/** 모달 높이 */
|
|
12293
12688
|
height;
|
|
12689
|
+
/** sd-circle-progress에 전달할 진행률 (0–100) */
|
|
12294
12690
|
progress;
|
|
12691
|
+
/** 버튼 클릭 시 발생합니다. */
|
|
12295
12692
|
click;
|
|
12296
12693
|
get resolvedState() {
|
|
12297
12694
|
return this.state ?? 'loading';
|
|
@@ -12330,7 +12727,7 @@ class SdLoadingModal {
|
|
|
12330
12727
|
'--sd-loading-modal-width': this.toCssSize(this.width) ?? `${LOADING_MODAL_LAYOUT.minWidth}px`,
|
|
12331
12728
|
'--sd-loading-modal-height': this.toCssSize(this.height) ?? `${LOADING_MODAL_LAYOUT.minHeight}px`,
|
|
12332
12729
|
};
|
|
12333
|
-
return (hAsync(Host, { key: '
|
|
12730
|
+
return (hAsync(Host, { key: '0f3719ca22408ff2739f3997e693fe0e17cb32ab', style: hostStyle }, hAsync("div", { key: '25501b81a4514315bd3b408bf958f549b099c5a5', class: "sd-loading-modal" }, hAsync("div", { key: 'f5e6cf6334454a8455f95544a934fc245bddbbe6', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (hAsync("sd-circle-progress", { value: this.progress })) : (hAsync("sd-circle-progress", { indeterminate: true }))) : (hAsync("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), hAsync("div", { key: '7629809572661e28f9564db1d06e882cb64580e8', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (hAsync("p", { class: "sd-loading-modal__message" }, message)))) : (hAsync("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.useButton && (hAsync("div", { key: '36e1b978e1cc4ef56b8072d1d6dab83807eca951', class: "sd-loading-modal__button" }, hAsync("sd-button", { key: '218cb045df7b0dafc49024fc905bd88c7b12fcff', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
|
|
12334
12731
|
}
|
|
12335
12732
|
static get style() { return sdLoadingModalCss(); }
|
|
12336
12733
|
static get cmpMeta() { return {
|
|
@@ -12459,9 +12856,11 @@ class SdModalContainer {
|
|
|
12459
12856
|
registerInstance(this, hostRef);
|
|
12460
12857
|
}
|
|
12461
12858
|
get el() { return getElement(this); }
|
|
12859
|
+
/** 마지막 모달이 닫힐 때 자신을 DOM에서 제거할지 여부 */
|
|
12462
12860
|
autoRemove = false;
|
|
12463
12861
|
entries = [];
|
|
12464
12862
|
layerRefs = new Map();
|
|
12863
|
+
/** 확인 모달을 열고 모달 ID를 반환합니다. */
|
|
12465
12864
|
async open(options, modalRef) {
|
|
12466
12865
|
const id = `modal-${++modalIdCounter}`;
|
|
12467
12866
|
const modalEl = this.createConfirmModal(id, options);
|
|
@@ -12476,6 +12875,7 @@ class SdModalContainer {
|
|
|
12476
12875
|
});
|
|
12477
12876
|
return id;
|
|
12478
12877
|
}
|
|
12878
|
+
/** 로딩 모달을 열고 모달 ID를 반환합니다. */
|
|
12479
12879
|
async openLoading(options, modalRef) {
|
|
12480
12880
|
const id = `modal-${++modalIdCounter}`;
|
|
12481
12881
|
const modalEl = this.createLoadingModal(id, options);
|
|
@@ -12490,6 +12890,7 @@ class SdModalContainer {
|
|
|
12490
12890
|
});
|
|
12491
12891
|
return id;
|
|
12492
12892
|
}
|
|
12893
|
+
/** 커스텀 엘리먼트를 모달로 등록하고 모달 ID를 반환합니다. */
|
|
12493
12894
|
async createCustom(element, options, modalRef) {
|
|
12494
12895
|
const id = `modal-${++modalIdCounter}`;
|
|
12495
12896
|
element.setAttribute('data-modal-id', id);
|
|
@@ -12535,12 +12936,14 @@ class SdModalContainer {
|
|
|
12535
12936
|
unregisterModal(entry.id);
|
|
12536
12937
|
}
|
|
12537
12938
|
}
|
|
12939
|
+
/** 지정한 ID의 모달을 닫습니다. */
|
|
12538
12940
|
async dismissById(id, reason) {
|
|
12539
12941
|
const entry = this.entries.find(e => e.id === id);
|
|
12540
12942
|
if (!entry)
|
|
12541
12943
|
return;
|
|
12542
12944
|
this.requestDismiss(id, reason);
|
|
12543
12945
|
}
|
|
12946
|
+
/** 열려있는 모달의 props를 동적으로 업데이트합니다. */
|
|
12544
12947
|
async update(id, props) {
|
|
12545
12948
|
const entry = this.entries.find(e => e.id === id && !e.closing);
|
|
12546
12949
|
if (!entry)
|
|
@@ -12896,43 +13299,77 @@ class SdNumberInput {
|
|
|
12896
13299
|
this.blur = createEvent(this, "sdBlur", 7);
|
|
12897
13300
|
}
|
|
12898
13301
|
get el() { return getElement(this); }
|
|
13302
|
+
/** 입력 크기 */
|
|
12899
13303
|
size = 'sm';
|
|
13304
|
+
/** 최솟값 */
|
|
12900
13305
|
min = Number.NEGATIVE_INFINITY;
|
|
13306
|
+
/** 최댓값 */
|
|
12901
13307
|
max = Number.POSITIVE_INFINITY;
|
|
13308
|
+
/** 스텝 단위 */
|
|
12902
13309
|
step = 1;
|
|
13310
|
+
/** 증감 버튼 표시 여부 */
|
|
12903
13311
|
useButton = false;
|
|
13312
|
+
/** 소수점 입력 허용 여부 */
|
|
12904
13313
|
useDecimal = false;
|
|
13314
|
+
/** 입력 값 */
|
|
12905
13315
|
value = null;
|
|
13316
|
+
/** 레이블 텍스트 */
|
|
12906
13317
|
label;
|
|
13318
|
+
/** 레이블 너비 */
|
|
12907
13319
|
labelWidth = '';
|
|
13320
|
+
/** 레이블 영역 아이콘 */
|
|
12908
13321
|
icon = undefined;
|
|
13322
|
+
/** 레이블 툴팁 텍스트 */
|
|
12909
13323
|
labelTooltip = '';
|
|
13324
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
12910
13325
|
labelTooltipProps = null;
|
|
13326
|
+
/** 필드 우측 어드온 레이블 */
|
|
12911
13327
|
addonLabel = '';
|
|
13328
|
+
/** 어드온 정렬 방향 */
|
|
12912
13329
|
addonAlign = 'start';
|
|
13330
|
+
/** 플레이스홀더 텍스트 */
|
|
12913
13331
|
placeholder = '입력해 주세요.';
|
|
13332
|
+
/** 비활성 상태 여부 */
|
|
12914
13333
|
disabled = false;
|
|
13334
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
12915
13335
|
width;
|
|
13336
|
+
/** 유효성 검사 규칙 목록 */
|
|
12916
13337
|
rules = [];
|
|
13338
|
+
/** 마운트 시 자동 포커스 여부 */
|
|
12917
13339
|
autoFocus = false;
|
|
13340
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
12918
13341
|
status;
|
|
13342
|
+
/** 필드 하단 힌트 텍스트 */
|
|
12919
13343
|
hint = '';
|
|
13344
|
+
/** 에러 메시지 */
|
|
12920
13345
|
errorMessage = '';
|
|
13346
|
+
/** 입력 앞에 표시할 접두 텍스트 */
|
|
12921
13347
|
inputPrefix = '';
|
|
13348
|
+
/** 입력 뒤에 표시할 접미 텍스트 */
|
|
12922
13349
|
inputSuffix = '';
|
|
13350
|
+
/** 네이티브 input에 추가할 클래스 */
|
|
12923
13351
|
inputClass = '';
|
|
13352
|
+
/** 읽기 전용 여부 */
|
|
12924
13353
|
readonly = false;
|
|
13354
|
+
/** 네이티브 input에 적용할 인라인 스타일 */
|
|
12925
13355
|
inputStyle = {};
|
|
13356
|
+
/** 에러 상태 여부 */
|
|
12926
13357
|
error = false;
|
|
13358
|
+
/** 포커스 상태 여부 */
|
|
12927
13359
|
focused = false;
|
|
13360
|
+
/** 호버 상태 여부 */
|
|
12928
13361
|
hovered = false;
|
|
12929
13362
|
internalValue = null;
|
|
12930
13363
|
displayValue = '';
|
|
12931
13364
|
nativeEl = undefined;
|
|
12932
13365
|
formField;
|
|
13366
|
+
/** 폼 연동용 name 속성 */
|
|
12933
13367
|
name = nanoid$1();
|
|
13368
|
+
/** 값이 변경될 때 발생합니다. */
|
|
12934
13369
|
update;
|
|
13370
|
+
/** 포커스될 때 발생합니다. */
|
|
12935
13371
|
focus;
|
|
13372
|
+
/** 포커스를 잃을 때 발생합니다. */
|
|
12936
13373
|
blur;
|
|
12937
13374
|
toNumber(val) {
|
|
12938
13375
|
if (val === null || val === undefined || val === '')
|
|
@@ -13010,18 +13447,23 @@ class SdNumberInput {
|
|
|
13010
13447
|
this.update?.emit(newValue);
|
|
13011
13448
|
}
|
|
13012
13449
|
}
|
|
13450
|
+
/** 유효성 검사를 실행합니다. */
|
|
13013
13451
|
async sdValidate() {
|
|
13014
13452
|
this.formField?.sdValidate();
|
|
13015
13453
|
}
|
|
13454
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
13016
13455
|
async sdReset() {
|
|
13017
13456
|
this.formField?.sdReset();
|
|
13018
13457
|
}
|
|
13458
|
+
/** 유효성 상태만 초기화합니다. */
|
|
13019
13459
|
async sdResetValidate() {
|
|
13020
13460
|
this.formField?.sdResetValidation();
|
|
13021
13461
|
}
|
|
13462
|
+
/** 입력 필드에 포커스를 이동합니다. */
|
|
13022
13463
|
async sdFocus() {
|
|
13023
13464
|
this.formField?.sdFocus();
|
|
13024
13465
|
}
|
|
13466
|
+
/** 네이티브 input 엘리먼트를 반환합니다. */
|
|
13025
13467
|
async sdGetNativeElement() {
|
|
13026
13468
|
return this.nativeEl || null;
|
|
13027
13469
|
}
|
|
@@ -13168,15 +13610,15 @@ class SdNumberInput {
|
|
|
13168
13610
|
'--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
|
|
13169
13611
|
'--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
|
|
13170
13612
|
};
|
|
13171
|
-
return (hAsync("sd-field", { key: '
|
|
13613
|
+
return (hAsync("sd-field", { key: 'f07710abbe74849369a3d0d6444750f71ed75e7b', 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 }, hAsync("div", { key: 'ad70ff68bb24fe02c25a57dd3de0b5ef38ceef8a', class: {
|
|
13172
13614
|
'sd-number-input__content': true,
|
|
13173
13615
|
'sd-number-input__content--no-stepper': !this.useButton,
|
|
13174
|
-
} }, this.useButton && (hAsync("button", { key: '
|
|
13616
|
+
} }, this.useButton && (hAsync("button", { key: '90305a8863c6b6ba3d3afce695c5f61204424c46', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, hAsync("sd-icon", { key: 'e6440e5b63d4860d05f0573690a4064f7e6729ac', name: "minus", size: iconSize, color: this.isDecrementDisabled()
|
|
13175
13617
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
13176
|
-
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && hAsync("span", { key: '
|
|
13618
|
+
: NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && hAsync("span", { key: 'ae2e8d052471925a5c794dcf1041a7ddbfe66652', class: "sd-number-input__prefix" }, this.inputPrefix), hAsync("input", { key: 'a19917bfbe10b6d121e61e374a134207c9eb7fd7', 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: {
|
|
13177
13619
|
textAlign: this.useButton ? 'center' : 'right',
|
|
13178
13620
|
...this.inputStyle,
|
|
13179
|
-
} }), this.inputSuffix && hAsync("span", { key: '
|
|
13621
|
+
} }), this.inputSuffix && hAsync("span", { key: '352e2a645c8db62c8d887b1a1f490ade187d05f0', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (hAsync("button", { key: '5c4f1153f6488cb95502bfa7f2bcad073bccb593', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, hAsync("sd-icon", { key: 'c9e0924126fb39492e8a696fa2628f367b8e2058', name: "add", size: iconSize, color: this.isIncrementDisabled()
|
|
13180
13622
|
? NUMBER_INPUT_STEPPER.icon.disabled
|
|
13181
13623
|
: NUMBER_INPUT_STEPPER.icon.default }))))));
|
|
13182
13624
|
}
|
|
@@ -13312,9 +13754,13 @@ class SdPagination {
|
|
|
13312
13754
|
registerInstance(this, hostRef);
|
|
13313
13755
|
this.pageChange = createEvent(this, "sdPageChange", 7);
|
|
13314
13756
|
}
|
|
13757
|
+
/** 현재 페이지 번호 */
|
|
13315
13758
|
currentPage = 1;
|
|
13759
|
+
/** 마지막 페이지 번호 */
|
|
13316
13760
|
lastPage = 1;
|
|
13761
|
+
/** true이면 현재/마지막 페이지만 표시하는 단순 모드 */
|
|
13317
13762
|
simple = false;
|
|
13763
|
+
/** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
|
|
13318
13764
|
pageChange;
|
|
13319
13765
|
get pageNumbers() {
|
|
13320
13766
|
const start = Math.floor((this.currentPage - 1) / PER_PAGE) * PER_PAGE + 1;
|
|
@@ -13386,13 +13832,13 @@ class SdPagination {
|
|
|
13386
13832
|
'--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
|
|
13387
13833
|
'--sd-pagination-item-width': `${this.buttonWidth}px`,
|
|
13388
13834
|
};
|
|
13389
|
-
return (hAsync("div", { key: '
|
|
13835
|
+
return (hAsync("div", { key: '733bf7952c4e38a65a1042c6a8784d6502c81667', class: {
|
|
13390
13836
|
'sd-pagination': true,
|
|
13391
13837
|
'sd-pagination--simple': this.simple,
|
|
13392
|
-
}, style: cssVars }, hAsync("div", { key: '
|
|
13838
|
+
}, style: cssVars }, hAsync("div", { key: '4c23bdfb9a58950a04107fc4b4c921bbafa4e601', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (hAsync("div", { class: "sd-pagination__info" }, hAsync("span", { class: "sd-pagination__current" }, this.currentPage), hAsync("span", { class: "sd-pagination__divider" }, "/"), hAsync("span", { class: "sd-pagination__last" }, this.lastPage))) : (hAsync("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (hAsync("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
|
|
13393
13839
|
'sd-pagination__item': true,
|
|
13394
13840
|
'sd-pagination__item--selected': this.currentPage === n,
|
|
13395
|
-
}, onClick: () => this.handlePageChange(n) }, n))))), hAsync("div", { key: '
|
|
13841
|
+
}, onClick: () => this.handlePageChange(n) }, n))))), hAsync("div", { key: 'a0406c1f9cd13970d47f25ed88095ac1c684203c', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
|
|
13396
13842
|
}
|
|
13397
13843
|
static get style() { return sdPaginationCss(); }
|
|
13398
13844
|
static get cmpMeta() { return {
|
|
@@ -13426,22 +13872,38 @@ class SdPopover {
|
|
|
13426
13872
|
this.showChange = createEvent(this, "sdShowChange", 7);
|
|
13427
13873
|
}
|
|
13428
13874
|
get el() { return getElement(this); }
|
|
13875
|
+
/** 팝오버 표시 여부 */
|
|
13429
13876
|
show = false;
|
|
13877
|
+
/** 팝오버를 표시할 방향 */
|
|
13430
13878
|
placement = 'bottom';
|
|
13879
|
+
/** 아이콘 트리거 색상 */
|
|
13431
13880
|
color = '#01BB4B';
|
|
13881
|
+
/** 아이콘 트리거 아이콘명 */
|
|
13432
13882
|
icon = 'helpOutline';
|
|
13883
|
+
/** 아이콘 트리거 크기 */
|
|
13433
13884
|
iconSize = 12;
|
|
13885
|
+
/** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
|
|
13434
13886
|
label = '';
|
|
13887
|
+
/** 버튼 트리거 프리셋 */
|
|
13435
13888
|
name = 'primary_sm';
|
|
13889
|
+
/** 버튼 트리거 우측 아이콘 */
|
|
13436
13890
|
rightIcon;
|
|
13891
|
+
/** 스크린리더용 접근성 레이블 */
|
|
13437
13892
|
ariaLabel = '';
|
|
13893
|
+
/** 비활성 상태 여부 */
|
|
13438
13894
|
disabled = false;
|
|
13895
|
+
/** 버튼 type 속성 */
|
|
13439
13896
|
type = 'button';
|
|
13897
|
+
/** 팝오버 메뉴 제목 */
|
|
13440
13898
|
menuTitle;
|
|
13899
|
+
/** 팝오버 하단 좌측 링크 옵션 */
|
|
13441
13900
|
leftLink;
|
|
13901
|
+
/** 팝오버 하단 버튼 옵션 */
|
|
13442
13902
|
button;
|
|
13903
|
+
/** 팝오버 메뉴에 추가할 클래스 */
|
|
13443
13904
|
menuClass = '';
|
|
13444
13905
|
slotContentHTML = '';
|
|
13906
|
+
/** 팝오버 표시 상태가 바뀔 때 발생합니다. */
|
|
13445
13907
|
showChange;
|
|
13446
13908
|
buttonEl;
|
|
13447
13909
|
setShow = (next) => {
|
|
@@ -13476,17 +13938,17 @@ class SdPopover {
|
|
|
13476
13938
|
const leftLink = this.leftLink;
|
|
13477
13939
|
const button = this.button;
|
|
13478
13940
|
const hasFooter = !!leftLink || !!button;
|
|
13479
|
-
return (hAsync(Fragment, { key: '
|
|
13941
|
+
return (hAsync(Fragment, { key: '94fcf54c8b20ffd1bcf2c7f540de31e1f41154fa' }, this.label !== '' ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (hAsync("sd-floating-portal", { key: '9f1585f2d268452f3d5c713e30ff865c3fc5fbac', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, hAsync("div", { key: '2cd2103f56c45364df5db9b73a2d89447b7c2bcc', class: {
|
|
13480
13942
|
'sd-floating-menu': true,
|
|
13481
13943
|
'sd-floating-menu--popover': true,
|
|
13482
13944
|
[`sd-floating-menu--${placement}`]: true,
|
|
13483
13945
|
[menuClass]: menuClass !== '',
|
|
13484
13946
|
}, style: {
|
|
13485
13947
|
'--sd-floating-bg': popoverTokens.popover.default.bg,
|
|
13486
|
-
} }, hAsync("i", { key: '
|
|
13948
|
+
} }, hAsync("i", { key: '5fd6c333790d3bb45bf4d43391ed1457d5eb54c3', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: '062b11e3b6cee1e87f20064ab62a589a23f3eb26' })), hAsync("div", { key: 'b863abd8e31c8ce0dfddfdb25b6a49be69f34da1', class: "sd-floating-menu__content" }, this.menuTitle && hAsync("div", { key: '1873c595d7ad91b3a7c71d979414820694c23ff5', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (hAsync("div", { key: '7a197b43d34a59ec298ed5e733cae0f3390c87a3', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (hAsync("div", { key: 'be9034b4150421be08c17978beba643e73c5568d', class: {
|
|
13487
13949
|
'sd-floating-menu__buttons': true,
|
|
13488
13950
|
'sd-floating-menu__buttons--with-link': !!leftLink,
|
|
13489
|
-
} }, leftLink && (hAsync("sd-text-link", { key: '
|
|
13951
|
+
} }, leftLink && (hAsync("sd-text-link", { key: '890a163609b8544450ad1b8c009648d73ef0d269', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', rightArrow: leftLink.rightArrow ?? 'none', underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (hAsync("sd-button", { key: '128270add7ea99f7c9f61abe9f2a113f152465d8', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel || button.label || button.icon || 'Open popover', disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), hAsync("sd-ghost-button", { key: 'bc4c4d982da8fe72c85cd4ae7ba6cd2e09154164', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
|
|
13490
13952
|
}
|
|
13491
13953
|
static get style() { return sdPopoverCss(); }
|
|
13492
13954
|
static get cmpMeta() { return {
|
|
@@ -13587,12 +14049,16 @@ class SdPopup {
|
|
|
13587
14049
|
registerInstance(this, hostRef);
|
|
13588
14050
|
this.submit = createEvent(this, "sdSubmit", 7);
|
|
13589
14051
|
}
|
|
14052
|
+
/** 팝업 헤더에 표시할 제목 */
|
|
13590
14053
|
popupTitle = '';
|
|
14054
|
+
/** 팝업 타입 */
|
|
13591
14055
|
type = 'default';
|
|
13592
14056
|
// 기본 footer 표시가 자연스러운 UX. prop 이름 변경(hideFooter 등)은 public API breaking 이라 별도 이슈로 분리.
|
|
13593
|
-
|
|
14057
|
+
/** 하단 footer 영역 표시 여부 */
|
|
13594
14058
|
useFooter = true;
|
|
14059
|
+
/** 확인 버튼 커스텀 props */
|
|
13595
14060
|
submitButtonProps;
|
|
14061
|
+
/** 확인 버튼 클릭 시 발생합니다. */
|
|
13596
14062
|
submit;
|
|
13597
14063
|
render() {
|
|
13598
14064
|
const cssVars = {
|
|
@@ -13618,7 +14084,7 @@ class SdPopup {
|
|
|
13618
14084
|
...DEFAULT_SUBMIT_BUTTON_PROPS,
|
|
13619
14085
|
...this.submitButtonProps,
|
|
13620
14086
|
};
|
|
13621
|
-
return (hAsync("div", { key: '
|
|
14087
|
+
return (hAsync("div", { key: '4455120f02fc1df1b1661062a22f3d82508627c4', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, hAsync("header", { key: '96a5e7cdc21fa239e4275f4b57379f36246048f4', class: "sd-popup__header" }, hAsync("h2", { key: 'cdf8d05561f470fef31c46e6508e1e0c41aa7fa9', class: "sd-popup__title" }, this.popupTitle)), hAsync("div", { key: 'ddb32332f8822634f544f2fa5a246c5f37c7fcc2', class: "sd-popup__body" }, hAsync("slot", { key: '8f36daf8c918da6babcbb4383957e979930bfd73' })), this.useFooter && (hAsync("footer", { key: '2b84ed134a8d53633bb4feb7ab423e58955dfdae', class: "sd-popup__footer" }, hAsync("div", { key: '95e55875b38102ff809e752a3cc647dc830699a9', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, hAsync("slot", { key: 'fbd86c77e1117018793279c9b90fd8e2f6db4934', name: "footer-left" })), hAsync("sd-button", { key: 'e8710c15d20e52d0476e7f656e800cda008187d8', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
|
|
13622
14088
|
}
|
|
13623
14089
|
static get style() { return sdPopupCss(); }
|
|
13624
14090
|
static get cmpMeta() { return {
|
|
@@ -13642,13 +14108,21 @@ class SdPortal {
|
|
|
13642
14108
|
this.close = createEvent(this, "sdClose", 3);
|
|
13643
14109
|
}
|
|
13644
14110
|
get hostEl() { return getElement(this); }
|
|
14111
|
+
/** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
|
|
13645
14112
|
to = 'body';
|
|
14113
|
+
/** 위치 기준이 되는 부모 엘리먼트 */
|
|
13646
14114
|
parentRef = null;
|
|
14115
|
+
/** [x, y] 오프셋 (px) */
|
|
13647
14116
|
offset = [0, 4];
|
|
14117
|
+
/** 뷰포트 경계 여백 (px) */
|
|
13648
14118
|
viewportPadding = 0;
|
|
13649
|
-
|
|
14119
|
+
/** z-index */
|
|
14120
|
+
zIndex = 996;
|
|
14121
|
+
/** 표시 여부 */
|
|
13650
14122
|
open = false;
|
|
14123
|
+
/** 콘텐츠를 표시할 방향 (공간이 부족하면 자동으로 반대 방향으로 전환) */
|
|
13651
14124
|
placement = 'bottom';
|
|
14125
|
+
/** 외부 클릭 등으로 닫힐 때 발생합니다. */
|
|
13652
14126
|
close;
|
|
13653
14127
|
container;
|
|
13654
14128
|
wrapper;
|
|
@@ -13687,13 +14161,27 @@ class SdPortal {
|
|
|
13687
14161
|
const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
|
|
13688
14162
|
return el instanceof HTMLElement ? el : document.body;
|
|
13689
14163
|
}
|
|
14164
|
+
/**
|
|
14165
|
+
* 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
|
|
14166
|
+
* 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
|
|
14167
|
+
*/
|
|
14168
|
+
resolveZIndex() {
|
|
14169
|
+
const base = this.zIndex ?? 996;
|
|
14170
|
+
const layer = this.parentRef?.closest('.sd-modal-container__layer');
|
|
14171
|
+
if (!layer)
|
|
14172
|
+
return base;
|
|
14173
|
+
const container = layer.closest('.sd-modal-container');
|
|
14174
|
+
const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
|
|
14175
|
+
const modalZIndex = Number.isFinite(z) ? z : 997;
|
|
14176
|
+
return Math.max(base, modalZIndex + 1);
|
|
14177
|
+
}
|
|
13690
14178
|
createWrapper() {
|
|
13691
14179
|
this.wrapper = document.createElement('div');
|
|
13692
14180
|
Object.assign(this.wrapper.style, {
|
|
13693
14181
|
position: 'fixed',
|
|
13694
14182
|
top: '0',
|
|
13695
14183
|
left: '0',
|
|
13696
|
-
zIndex:
|
|
14184
|
+
zIndex: this.resolveZIndex().toString(),
|
|
13697
14185
|
opacity: '0',
|
|
13698
14186
|
transition: 'opacity 0.15s ease-out',
|
|
13699
14187
|
boxSizing: 'border-box',
|
|
@@ -13859,8 +14347,7 @@ class SdPortal {
|
|
|
13859
14347
|
return scrollParents;
|
|
13860
14348
|
}
|
|
13861
14349
|
isInsideTarget(target) {
|
|
13862
|
-
return !!(
|
|
13863
|
-
(this.parentRef?.contains(target)));
|
|
14350
|
+
return !!(this.wrapper?.contains(target) || this.parentRef?.contains(target));
|
|
13864
14351
|
}
|
|
13865
14352
|
// 외부 클릭 감지
|
|
13866
14353
|
handleMouseDown(e) {
|
|
@@ -13876,7 +14363,7 @@ class SdPortal {
|
|
|
13876
14363
|
this.close.emit();
|
|
13877
14364
|
}
|
|
13878
14365
|
render() {
|
|
13879
|
-
return hAsync("slot", { key: '
|
|
14366
|
+
return hAsync("slot", { key: 'e4523bbb6fd56072c4f5a4dc241ab8a3ac0ea1bf' });
|
|
13880
14367
|
}
|
|
13881
14368
|
static get watchers() { return {
|
|
13882
14369
|
"open": [{
|
|
@@ -13983,10 +14470,15 @@ class SdRadio {
|
|
|
13983
14470
|
registerInstance(this, hostRef);
|
|
13984
14471
|
this.update = createEvent(this, "sdUpdate", 7);
|
|
13985
14472
|
}
|
|
14473
|
+
/** 라디오 그룹의 현재 선택 값 */
|
|
13986
14474
|
value;
|
|
14475
|
+
/** 이 라디오 아이템의 값 */
|
|
13987
14476
|
val;
|
|
14477
|
+
/** 비활성 상태 여부 */
|
|
13988
14478
|
disabled = false;
|
|
14479
|
+
/** 표시할 라벨 텍스트 */
|
|
13989
14480
|
label;
|
|
14481
|
+
/** 선택 값이 변경될 때 발생합니다. */
|
|
13990
14482
|
update;
|
|
13991
14483
|
valueChanged(newValue) {
|
|
13992
14484
|
this.value = newValue;
|
|
@@ -14029,7 +14521,7 @@ class SdRadio {
|
|
|
14029
14521
|
'--sd-radio-label-color': RADIO_COLORS.label.default,
|
|
14030
14522
|
'--sd-radio-label-disabled-color': RADIO_COLORS.label.disabled,
|
|
14031
14523
|
};
|
|
14032
|
-
return (hAsync("label", { key: '
|
|
14524
|
+
return (hAsync("label", { key: 'f220a45add2be550bc696cd2442b8520ea0143f0', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, hAsync("input", { key: '64692f5bf49783f166be9327877a474816a556ca', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), hAsync("span", { key: '3c30268adcbd735857b4163ecba444b5a57cba08', class: "sd-radio__circle" }), this.label && (hAsync("span", { key: 'b641086ab4ff9161ba4fb733b87c751b6863fe06', class: "sd-radio__label", "data-label": this.label }, this.label))));
|
|
14033
14525
|
}
|
|
14034
14526
|
static get watchers() { return {
|
|
14035
14527
|
"value": [{
|
|
@@ -14154,11 +14646,17 @@ class SdRadioButton {
|
|
|
14154
14646
|
registerInstance(this, hostRef);
|
|
14155
14647
|
this.change = createEvent(this, "sdUpdate", 7);
|
|
14156
14648
|
}
|
|
14649
|
+
/** 현재 선택된 값 */
|
|
14157
14650
|
value;
|
|
14651
|
+
/** 라디오 버튼 옵션 목록 */
|
|
14158
14652
|
options = [];
|
|
14653
|
+
/** 버튼 크기 */
|
|
14159
14654
|
size = 'sm';
|
|
14655
|
+
/** 비활성 상태 여부 */
|
|
14160
14656
|
disabled = false;
|
|
14657
|
+
/** input name 속성 (없으면 자동 생성) */
|
|
14161
14658
|
name;
|
|
14659
|
+
/** 선택 값이 변경될 때 발생합니다. */
|
|
14162
14660
|
change;
|
|
14163
14661
|
componentWillLoad() {
|
|
14164
14662
|
this.size ??= 'sm';
|
|
@@ -14228,7 +14726,7 @@ class SdRadioButton {
|
|
|
14228
14726
|
'--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
|
|
14229
14727
|
'--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
|
|
14230
14728
|
};
|
|
14231
|
-
return (hAsync("div", { key: '
|
|
14729
|
+
return (hAsync("div", { key: 'c0ed4c6927bd32a7335e003856de4b43ead97b1c', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
|
|
14232
14730
|
const isSelected = this.isOptionSelected(option);
|
|
14233
14731
|
const isDisabled = this.isOptionDisabled(option);
|
|
14234
14732
|
return (hAsync("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, hAsync("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && hAsync("span", { class: "sd-radio-button__label" }, option.label)));
|
|
@@ -14258,11 +14756,17 @@ class SdRadioGroup {
|
|
|
14258
14756
|
registerInstance(this, hostRef);
|
|
14259
14757
|
this.change = createEvent(this, "sdUpdate", 7);
|
|
14260
14758
|
}
|
|
14759
|
+
/** 현재 선택된 값 */
|
|
14261
14760
|
value;
|
|
14761
|
+
/** 라디오 옵션 목록 */
|
|
14262
14762
|
options = [];
|
|
14763
|
+
/** 옵션 배치 방향 */
|
|
14263
14764
|
direction = 'vertical';
|
|
14765
|
+
/** 비활성 상태 여부 */
|
|
14264
14766
|
disabled = false;
|
|
14767
|
+
/** input name 속성 */
|
|
14265
14768
|
groupName;
|
|
14769
|
+
/** 선택 값이 변경될 때 발생합니다. */
|
|
14266
14770
|
change;
|
|
14267
14771
|
valueChanged(newValue) {
|
|
14268
14772
|
this.value = newValue;
|
|
@@ -14280,7 +14784,7 @@ class SdRadioGroup {
|
|
|
14280
14784
|
return classes.join(' ');
|
|
14281
14785
|
}
|
|
14282
14786
|
render() {
|
|
14283
|
-
return (hAsync("div", { key: '
|
|
14787
|
+
return (hAsync("div", { key: '3a1694daddf5794a1598838c44bc965de2976770', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
|
|
14284
14788
|
return (hAsync("sd-radio", { key: `radio-${option.value}`, val: String(option.value), value: String(this.value), label: option.label, disabled: this.disabled || !!option.disabled, onSdUpdate: ({ detail }) => this.handleRadioChange(detail) }));
|
|
14285
14789
|
})));
|
|
14286
14790
|
}
|
|
@@ -14318,29 +14822,53 @@ class SdSelect {
|
|
|
14318
14822
|
static PORTAL_OFFSET_Y = 4;
|
|
14319
14823
|
static CLOSE_ANIMATION_DURATION = 150;
|
|
14320
14824
|
get el() { return getElement(this); }
|
|
14825
|
+
/** 셀렉트 타입 (단일/다중/계층) */
|
|
14321
14826
|
type = 'default';
|
|
14827
|
+
/** 현재 선택된 값 */
|
|
14322
14828
|
value = null;
|
|
14829
|
+
/** 선택 옵션 목록 */
|
|
14323
14830
|
options = [];
|
|
14831
|
+
/** 값이 없을 때 표시할 플레이스홀더 */
|
|
14324
14832
|
placeholder = '선택';
|
|
14833
|
+
/** 드롭다운 너비 (없으면 트리거 너비로 자동 맞춤) */
|
|
14325
14834
|
dropdownWidth = '';
|
|
14835
|
+
/** 드롭다운 최대 너비 */
|
|
14326
14836
|
maxDropdownWidth = '640px';
|
|
14837
|
+
/** 드롭다운 최대 높이 */
|
|
14327
14838
|
dropdownHeight = '260px';
|
|
14839
|
+
/** 비활성 상태 여부 */
|
|
14328
14840
|
disabled = false;
|
|
14841
|
+
/** 레이블 텍스트 */
|
|
14329
14842
|
label = '';
|
|
14843
|
+
/** 레이블 너비 */
|
|
14330
14844
|
labelWidth = '';
|
|
14845
|
+
/** 필드 우측 어드온 레이블 */
|
|
14331
14846
|
addonLabel = '';
|
|
14847
|
+
/** 어드온 정렬 방향 */
|
|
14332
14848
|
addonAlign = 'start';
|
|
14849
|
+
/** 에러 상태 여부 */
|
|
14333
14850
|
error = false;
|
|
14851
|
+
/** 필드 하단 힌트 텍스트 */
|
|
14334
14852
|
hint = '';
|
|
14853
|
+
/** 에러 메시지 */
|
|
14335
14854
|
errorMessage = '';
|
|
14855
|
+
/** 유효성 검사 규칙 목록 */
|
|
14336
14856
|
rules = [];
|
|
14857
|
+
/** 레이블 영역 아이콘 */
|
|
14337
14858
|
icon = undefined;
|
|
14859
|
+
/** 레이블 툴팁 텍스트 */
|
|
14338
14860
|
labelTooltip = '';
|
|
14861
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
14339
14862
|
labelTooltipProps = null;
|
|
14863
|
+
/** true이면 value로 SelectOption 대신 원시값(string|number) 방출 */
|
|
14340
14864
|
emitValue = false;
|
|
14865
|
+
/** 필드 너비 */
|
|
14341
14866
|
width = '';
|
|
14867
|
+
/** 드롭다운 내 검색 입력 표시 여부 */
|
|
14342
14868
|
useSearch = false;
|
|
14869
|
+
/** 전체 선택 시 표시할 레이블 */
|
|
14343
14870
|
allSelectedLabel = '전체';
|
|
14871
|
+
/** 전체 선택 체크박스 표시 여부 */
|
|
14344
14872
|
useSelectAll = false;
|
|
14345
14873
|
isOpen = false;
|
|
14346
14874
|
isAnimatingOut = false;
|
|
@@ -14349,13 +14877,17 @@ class SdSelect {
|
|
|
14349
14877
|
resolvedMaxDropdownWidth = '640px';
|
|
14350
14878
|
focused = false;
|
|
14351
14879
|
hovered = false;
|
|
14880
|
+
/** 선택 값이 변경될 때 발생합니다. */
|
|
14352
14881
|
update;
|
|
14882
|
+
/** 드롭다운 열림/닫힘 상태가 바뀔 때 발생합니다. */
|
|
14353
14883
|
dropDownShow;
|
|
14884
|
+
/** 셀렉트 트리거에 포커스를 이동합니다. */
|
|
14354
14885
|
async sdFocus() {
|
|
14355
14886
|
if (this.disabled)
|
|
14356
14887
|
return;
|
|
14357
14888
|
await this.triggerComponentRef?.sdFocus();
|
|
14358
14889
|
}
|
|
14890
|
+
/** 드롭다운을 엽니다. */
|
|
14359
14891
|
async sdOpen() {
|
|
14360
14892
|
// sdFocus 직후 호출 시 트리거 ref/레이아웃이 안정될 때까지 한 틱 대기
|
|
14361
14893
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
@@ -14370,6 +14902,7 @@ class SdSelect {
|
|
|
14370
14902
|
triggerRef;
|
|
14371
14903
|
triggerComponentRef;
|
|
14372
14904
|
closeAnimationTimer;
|
|
14905
|
+
/** 폼 연동용 name 속성 */
|
|
14373
14906
|
name = nanoid$1();
|
|
14374
14907
|
triggerHasFocus = false;
|
|
14375
14908
|
watchIsOpen(newValue) {
|
|
@@ -14567,15 +15100,15 @@ class SdSelect {
|
|
|
14567
15100
|
this.closeDropdown();
|
|
14568
15101
|
},
|
|
14569
15102
|
};
|
|
14570
|
-
return (hAsync("sd-field", { key: '
|
|
15103
|
+
return (hAsync("sd-field", { key: '3387dc16a6f54bfae652338c71c4c0e1553828c9', 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, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
|
|
14571
15104
|
this.hovered = true;
|
|
14572
15105
|
}, onMouseLeave: () => {
|
|
14573
15106
|
this.hovered = false;
|
|
14574
|
-
} }, hAsync("div", { key: '
|
|
15107
|
+
} }, hAsync("div", { key: '124325f8f6882a3c9ee1a1795ee969f13d67dfe2', class: "sd-select", ref: el => {
|
|
14575
15108
|
this.triggerRef = el;
|
|
14576
|
-
} }, hAsync("sd-select-trigger", { key: '
|
|
15109
|
+
} }, hAsync("sd-select-trigger", { key: '2e0e44ae666282d3931f9889650a7999929a312b', ref: el => {
|
|
14577
15110
|
this.triggerComponentRef = el;
|
|
14578
|
-
}, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: '
|
|
15111
|
+
}, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: 'b6e97e43c5ea3a06fbb2976dab52d4f544822ae0', ...portalProps }, hAsync("sd-select-listbox", { key: '3d8a01c54667149507db2757d81813d2f285b32d', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
|
|
14579
15112
|
}
|
|
14580
15113
|
static get watchers() { return {
|
|
14581
15114
|
"isOpen": [{
|
|
@@ -14760,12 +15293,19 @@ class SdSelectListItem {
|
|
|
14760
15293
|
registerInstance(this, hostRef);
|
|
14761
15294
|
this.listItemClick = createEvent(this, "sdListItemClick", 7);
|
|
14762
15295
|
}
|
|
15296
|
+
/** 렌더링할 옵션 데이터 */
|
|
14763
15297
|
option;
|
|
15298
|
+
/** 계층 깊이 (1~3) */
|
|
14764
15299
|
depth = 1;
|
|
15300
|
+
/** 선택 상태 (null=중간) */
|
|
14765
15301
|
isSelected = false;
|
|
15302
|
+
/** 키보드 포커스 상태 여부 */
|
|
14766
15303
|
isFocused = false;
|
|
15304
|
+
/** 체크박스 표시 여부 */
|
|
14767
15305
|
useCheckbox = false;
|
|
15306
|
+
/** 다중 선택 시 (선택/전체) 카운트 */
|
|
14768
15307
|
countInfo;
|
|
15308
|
+
/** 항목 클릭 시 발생합니다. */
|
|
14769
15309
|
listItemClick;
|
|
14770
15310
|
get isGroup() {
|
|
14771
15311
|
return !!this.option.children;
|
|
@@ -14829,7 +15369,7 @@ class SdSelectListItem {
|
|
|
14829
15369
|
return (
|
|
14830
15370
|
// 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
|
|
14831
15371
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events
|
|
14832
|
-
hAsync("div", { key: '
|
|
15372
|
+
hAsync("div", { key: '7717c82ea9f36bd44bf8a19d16ba7df6441f6715', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
|
|
14833
15373
|
'sd-select-list-item': true,
|
|
14834
15374
|
'sd-select-list-item--group': isGroup,
|
|
14835
15375
|
'sd-select-list-item--depth1-group': isDepth1Group,
|
|
@@ -14839,7 +15379,7 @@ class SdSelectListItem {
|
|
|
14839
15379
|
'sd-select-list-item--focused': this.isFocused,
|
|
14840
15380
|
'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
|
|
14841
15381
|
'sd-select-list-item--disabled': !!this.option.disabled,
|
|
14842
|
-
}, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (hAsync("sd-checkbox", { key: '
|
|
15382
|
+
}, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (hAsync("sd-checkbox", { key: '68d8c03d580fc2c411ee4fba917207705f3cf2d2', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), isHtmlLabel(this.option.label) ? (hAsync("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.option.label)) })) : (hAsync("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (hAsync("span", { key: '56ae08c55215a3970df99ecd74549ded5667265c', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
|
|
14843
15383
|
}
|
|
14844
15384
|
static get style() { return sdSelectListItemCss(); }
|
|
14845
15385
|
static get cmpMeta() { return {
|
|
@@ -14867,9 +15407,12 @@ class SdSelectListItemSearch {
|
|
|
14867
15407
|
this.searchFilter = createEvent(this, "sdSearchFilter", 7);
|
|
14868
15408
|
this.searchFocus = createEvent(this, "sdSearchFocus", 7);
|
|
14869
15409
|
}
|
|
15410
|
+
/** 리스트가 스크롤된 상태 여부 (그림자 효과용) */
|
|
14870
15411
|
isScrolled = false;
|
|
14871
15412
|
searchText = '';
|
|
15413
|
+
/** 검색어가 변경될 때 발생합니다. */
|
|
14872
15414
|
searchFilter;
|
|
15415
|
+
/** 검색 입력에 포커스될 때 발생합니다. */
|
|
14873
15416
|
searchFocus;
|
|
14874
15417
|
inputEl;
|
|
14875
15418
|
debounceTimer;
|
|
@@ -14881,6 +15424,7 @@ class SdSelectListItemSearch {
|
|
|
14881
15424
|
});
|
|
14882
15425
|
});
|
|
14883
15426
|
}
|
|
15427
|
+
/** 검색 입력에 포커스를 이동합니다. */
|
|
14884
15428
|
async sdFocus() {
|
|
14885
15429
|
this.inputEl?.focus();
|
|
14886
15430
|
}
|
|
@@ -14907,15 +15451,15 @@ class SdSelectListItemSearch {
|
|
|
14907
15451
|
clearTimeout(this.debounceTimer);
|
|
14908
15452
|
}
|
|
14909
15453
|
render() {
|
|
14910
|
-
return (hAsync("div", { key: '
|
|
15454
|
+
return (hAsync("div", { key: 'fed1a43f1901d23c7c007a4597b95970c0aad4ad', class: {
|
|
14911
15455
|
'sd-select-list-item-search': true,
|
|
14912
15456
|
'sd-select-list-item-search--scrolled': this.isScrolled,
|
|
14913
|
-
} }, hAsync("div", { key: '
|
|
15457
|
+
} }, hAsync("div", { key: '23b278a4b40b7b8506a13f284b3759b96b613b99', class: "sd-select-list-item-search__inner" }, hAsync("sd-icon", { key: '2150f73e1f20f05a28407b984977f7e91131217e', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), hAsync("input", { key: '7dc4470ea57b54ebc5f3313f6e22d100f4cc4591', ref: el => {
|
|
14914
15458
|
this.inputEl = el;
|
|
14915
|
-
}, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), hAsync("button", { key: '
|
|
15459
|
+
}, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), hAsync("button", { key: '60a363380da8689baa1e9e20b075df749846137a', type: "button", class: {
|
|
14916
15460
|
'sd-select-list-item-search__clear': true,
|
|
14917
15461
|
'sd-select-list-item-search__clear--hidden': this.searchText === '',
|
|
14918
|
-
}, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, hAsync("sd-icon", { key: '
|
|
15462
|
+
}, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, hAsync("sd-icon", { key: '7b27eb444864674578f97eaa374d1e9af486f97a', name: "close", size: 12, color: "#888888" })))));
|
|
14919
15463
|
}
|
|
14920
15464
|
static get style() { return sdSelectListItemSearchCss(); }
|
|
14921
15465
|
static get cmpMeta() { return {
|
|
@@ -14939,18 +15483,28 @@ class SdSelectListbox {
|
|
|
14939
15483
|
registerInstance(this, hostRef);
|
|
14940
15484
|
this.optionSelect = createEvent(this, "sdOptionSelect", 7);
|
|
14941
15485
|
}
|
|
15486
|
+
/** 셀렉트 타입 */
|
|
14942
15487
|
type = 'default';
|
|
15488
|
+
/** 옵션 목록 */
|
|
14943
15489
|
options = [];
|
|
15490
|
+
/** 현재 선택 값 */
|
|
14944
15491
|
value = null;
|
|
15492
|
+
/** 값만 emit할지 여부 */
|
|
14945
15493
|
emitValue = false;
|
|
15494
|
+
/** 검색 기능 사용 여부 */
|
|
14946
15495
|
useSearch = false;
|
|
15496
|
+
/** 전체 선택 기능 사용 여부 */
|
|
14947
15497
|
useSelectAll = false;
|
|
15498
|
+
/** 트리거 너비 (드롭다운 최소 너비) */
|
|
14948
15499
|
triggerWidth = '200px';
|
|
15500
|
+
/** 드롭다운 최대 너비 */
|
|
14949
15501
|
maxWidth = '640px';
|
|
15502
|
+
/** 드롭다운 최대 높이 */
|
|
14950
15503
|
maxHeight = '260px';
|
|
14951
15504
|
searchKeyword = '';
|
|
14952
15505
|
isScrolled = false;
|
|
14953
15506
|
focusedIndex = -1;
|
|
15507
|
+
/** 옵션 선택 시 발생합니다. */
|
|
14954
15508
|
optionSelect;
|
|
14955
15509
|
listEl;
|
|
14956
15510
|
lastScrolledIndex = -1;
|
|
@@ -15289,9 +15843,9 @@ class SdSelectListbox {
|
|
|
15289
15843
|
'--listbox-max-height': this.maxHeight ?? '260px',
|
|
15290
15844
|
'--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
|
|
15291
15845
|
};
|
|
15292
|
-
return (hAsync("div", { key: '
|
|
15846
|
+
return (hAsync("div", { key: '6ca1107a8aadc1fbae26f3d8d3385b355981b65e', class: "sd-select-listbox", style: cssVars }, this.showSearch && (hAsync("sd-select-list-item-search", { key: '8612b45a4e9b7d2701b8decd6865ebb50d6fcaa3', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), hAsync("div", { key: 'c02c9c1d96176f94d2f83c66ad3e7cc0946c0270', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
|
|
15293
15847
|
this.listEl = el;
|
|
15294
|
-
} }, this.showSelectAll && (hAsync("sd-select-list-item", { key: '
|
|
15848
|
+
} }, this.showSelectAll && (hAsync("sd-select-list-item", { key: 'f4fe1769d14812ba63fb73ff21ebfdaaf9d76409', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (hAsync("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (hAsync("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
|
|
15295
15849
|
}
|
|
15296
15850
|
static get watchers() { return {
|
|
15297
15851
|
"searchKeyword": [{
|
|
@@ -15331,14 +15885,22 @@ class SdSelectTrigger {
|
|
|
15331
15885
|
this.triggerFocus = createEvent(this, "sdTriggerFocus", 7);
|
|
15332
15886
|
this.triggerBlur = createEvent(this, "sdTriggerBlur", 7);
|
|
15333
15887
|
}
|
|
15888
|
+
/** 표시할 선택된 값 텍스트 */
|
|
15334
15889
|
displayText = '';
|
|
15890
|
+
/** 미선택 상태 플레이스홀더 */
|
|
15335
15891
|
placeholder = '선택';
|
|
15892
|
+
/** 비활성 상태 여부 */
|
|
15336
15893
|
disabled = false;
|
|
15894
|
+
/** 드롭다운 열림 상태 */
|
|
15337
15895
|
isOpen = false;
|
|
15896
|
+
/** 트리거 클릭 시 발생합니다. */
|
|
15338
15897
|
triggerClick;
|
|
15898
|
+
/** 트리거 포커스 시 발생합니다. */
|
|
15339
15899
|
triggerFocus;
|
|
15900
|
+
/** 트리거 블러 시 발생합니다. */
|
|
15340
15901
|
triggerBlur;
|
|
15341
15902
|
triggerEl;
|
|
15903
|
+
/** 트리거 엘리먼트에 포커스를 이동합니다. */
|
|
15342
15904
|
async sdFocus() {
|
|
15343
15905
|
if (this.disabled)
|
|
15344
15906
|
return;
|
|
@@ -15372,7 +15934,7 @@ class SdSelectTrigger {
|
|
|
15372
15934
|
? SELECT_COLORS.icon.disabled
|
|
15373
15935
|
: SELECT_COLORS.icon.default,
|
|
15374
15936
|
};
|
|
15375
|
-
return (hAsync("div", { key: '
|
|
15937
|
+
return (hAsync("div", { key: '7f5940ce19feb2d3ae9b2cbb6b5fdeb6d0151f61', ref: el => {
|
|
15376
15938
|
this.triggerEl = el;
|
|
15377
15939
|
}, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
|
|
15378
15940
|
'sd-select-trigger': true,
|
|
@@ -15383,7 +15945,7 @@ class SdSelectTrigger {
|
|
|
15383
15945
|
e.preventDefault();
|
|
15384
15946
|
this.handleClick();
|
|
15385
15947
|
}
|
|
15386
|
-
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, hAsync("div", { key: '
|
|
15948
|
+
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, hAsync("div", { key: 'b50dea3450ee6fd2bf30811cc33facf00761f0d1', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (hAsync("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (hAsync("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), hAsync("sd-icon", { key: '778b3d1c738951f9a18950b668a34a1bc36006ca', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
|
|
15387
15949
|
'sd-select-trigger__icon': true,
|
|
15388
15950
|
'sd-select-trigger__icon--open': this.isOpen,
|
|
15389
15951
|
} }))));
|
|
@@ -15468,9 +16030,13 @@ class SdSwitch {
|
|
|
15468
16030
|
registerInstance(this, hostRef);
|
|
15469
16031
|
this.change = createEvent(this, "sdUpdate", 7);
|
|
15470
16032
|
}
|
|
16033
|
+
/** 현재 on/off 상태 */
|
|
15471
16034
|
value = false;
|
|
16035
|
+
/** 표시할 라벨 텍스트 */
|
|
15472
16036
|
label = '';
|
|
16037
|
+
/** 비활성 상태 여부 */
|
|
15473
16038
|
disabled = false;
|
|
16039
|
+
/** 상태가 변경될 때 발생합니다. */
|
|
15474
16040
|
change;
|
|
15475
16041
|
get switchClasses() {
|
|
15476
16042
|
const classes = ['sd-switch', this.value ? 'sd-switch--on' : 'sd-switch--off'];
|
|
@@ -15508,7 +16074,7 @@ class SdSwitch {
|
|
|
15508
16074
|
'--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
|
|
15509
16075
|
'--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
|
|
15510
16076
|
};
|
|
15511
|
-
return (hAsync("label", { key: '
|
|
16077
|
+
return (hAsync("label", { key: '2cbee35194a8218f1526ecd26d0ff0cc660ed5fb', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, hAsync("input", { key: '8c9a330a7b69035ace0644f0a2cab8f6f8672bfd', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), hAsync("div", { key: '738a28fb9c26628d6b67f03d0b75f4155ad85966', class: "sd-switch__track" }, hAsync("div", { key: '91b7bac6c4e48d1b5b1331713620a132e9921906', class: "sd-switch__knob" })), this.label && hAsync("span", { key: 'a9cdfb08c240f3d6a15bef3e119c0c02f3fe3462', class: "sd-switch__label" }, this.label)));
|
|
15512
16078
|
}
|
|
15513
16079
|
static get style() { return sdSwitchCss(); }
|
|
15514
16080
|
static get cmpMeta() { return {
|
|
@@ -15631,28 +16197,48 @@ class SdTable {
|
|
|
15631
16197
|
}
|
|
15632
16198
|
static DEFAULT_NO_DATA_LABEL = '데이터가 없습니다.';
|
|
15633
16199
|
get el() { return getElement(this); }
|
|
16200
|
+
/** 테이블 고유 ID (자식 슬롯 매핑에 사용) */
|
|
15634
16201
|
tableId = nanoid(8);
|
|
15635
16202
|
fallbackTableId = nanoid(8);
|
|
16203
|
+
/** 컬럼 정의 목록 */
|
|
15636
16204
|
columns = [];
|
|
16205
|
+
/** 행 데이터 배열 */
|
|
15637
16206
|
rows;
|
|
16207
|
+
/** 현재 선택된 행 목록 */
|
|
15638
16208
|
selected = [];
|
|
16209
|
+
/** 행 고유 식별 필드명 */
|
|
15639
16210
|
rowKey = 'id';
|
|
16211
|
+
/** 행 선택(체크박스) 기능 활성화 여부 */
|
|
15640
16212
|
selectable = false;
|
|
16213
|
+
/** 컬럼 너비 조절 기능 활성화 여부 */
|
|
15641
16214
|
resizable = false;
|
|
16215
|
+
/** 테이블 너비 */
|
|
15642
16216
|
width;
|
|
16217
|
+
/** 테이블 높이 */
|
|
15643
16218
|
height;
|
|
16219
|
+
/** 헤더 고정(sticky) 여부 */
|
|
15644
16220
|
stickyHeader = false;
|
|
16221
|
+
/** 고정할 좌우 컬럼 수 */
|
|
15645
16222
|
stickyColumn = { left: 0, right: 0 };
|
|
16223
|
+
/** border-radius 제어 */
|
|
15646
16224
|
radius = 'default';
|
|
16225
|
+
/** 데이터 없을 때 표시할 메시지 */
|
|
15647
16226
|
noDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
|
|
15648
16227
|
resolvedNoDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
|
|
16228
|
+
/** 로딩 스피너 표시 여부 */
|
|
15649
16229
|
isLoading = false;
|
|
16230
|
+
/** 페이지네이션 옵션 */
|
|
15650
16231
|
pagination;
|
|
16232
|
+
/** 테이블 내부에서 페이지네이션을 직접 관리할지 여부 */
|
|
15651
16233
|
useInternalPagination = false;
|
|
16234
|
+
/** 페이지당 행 수 선택 셀렉트 표시 여부 */
|
|
15652
16235
|
useRowsPerPageSelect = false;
|
|
16236
|
+
/** 행 높이를 줄인 조밀 모드 여부 */
|
|
15653
16237
|
dense = false;
|
|
15654
16238
|
// ─── Virtual Scroll ───────────────────────────────────────────────
|
|
16239
|
+
/** 가상 스크롤 사용 여부 */
|
|
15655
16240
|
useVirtualScroll = false;
|
|
16241
|
+
/** 가상 스크롤 행 높이 (px, 없으면 dense 여부에 따라 자동) */
|
|
15656
16242
|
rowHeight;
|
|
15657
16243
|
get effectiveRowHeight() {
|
|
15658
16244
|
if (this.rowHeight != null)
|
|
@@ -15661,19 +16247,27 @@ class SdTable {
|
|
|
15661
16247
|
? Number(TABLE_BODY_LAYOUT.dense.height)
|
|
15662
16248
|
: Number(TABLE_BODY_LAYOUT.default.height);
|
|
15663
16249
|
}
|
|
16250
|
+
/** 가상 스크롤 상하 버퍼 행 수 */
|
|
15664
16251
|
virtualBuffer = 5;
|
|
16252
|
+
/** 가상 스크롤 끝 도달 감지 임계값 (마지막 N행 이내에 들어오면 이벤트 발생) */
|
|
15665
16253
|
virtualEndThreshold = 10;
|
|
15666
16254
|
// ─────────────────────────────────────────────────────────────────
|
|
16255
|
+
/** 페이지당 행 수 선택 옵션 목록 */
|
|
15667
16256
|
rowsPerPageOption = [
|
|
15668
16257
|
{ label: '10개씩 보기', value: 10 },
|
|
15669
16258
|
{ label: '25개씩 보기', value: 25 },
|
|
15670
16259
|
{ label: '50개씩 보기', value: 50 },
|
|
15671
16260
|
{ label: '100개씩 보기', value: 100 },
|
|
15672
16261
|
];
|
|
16262
|
+
/** 행 선택 상태가 변경될 때 선택된 행 목록을 전달합니다. */
|
|
15673
16263
|
sdSelectChange;
|
|
16264
|
+
/** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
|
|
15674
16265
|
sdPageChange;
|
|
16266
|
+
/** 페이지당 행 수가 변경될 때 발생합니다. */
|
|
15675
16267
|
sdRowsPerPageChange;
|
|
16268
|
+
/** 가상 스크롤 가시 범위가 변경될 때 발생합니다. */
|
|
15676
16269
|
sdVirtualUpdate;
|
|
16270
|
+
/** 가상 스크롤이 끝 임계값에 도달할 때 발생합니다. */
|
|
15677
16271
|
sdVirtualReachEnd;
|
|
15678
16272
|
currentPage = 1;
|
|
15679
16273
|
innerRowsPerPage = 10;
|
|
@@ -16078,6 +16672,7 @@ class SdTable {
|
|
|
16078
16672
|
isRowSelectedSync(row) {
|
|
16079
16673
|
return Array.from(this.innerSelected).some(r => r[this.rowKey ?? 'id'] === row[this.rowKey ?? 'id']);
|
|
16080
16674
|
}
|
|
16675
|
+
/** 행이 선택되어 있는지 확인합니다. */
|
|
16081
16676
|
async isRowSelected(row) {
|
|
16082
16677
|
return this.isRowSelectedSync(row);
|
|
16083
16678
|
}
|
|
@@ -16094,6 +16689,7 @@ class SdTable {
|
|
|
16094
16689
|
this.sdSelectChange.emit(Array.from(this.innerSelected));
|
|
16095
16690
|
this.refreshChildrenSelection();
|
|
16096
16691
|
}
|
|
16692
|
+
/** 행 선택 상태를 토글합니다. */
|
|
16097
16693
|
async updateRowSelect(row) {
|
|
16098
16694
|
this.updateRowSelectSync(row);
|
|
16099
16695
|
}
|
|
@@ -16110,6 +16706,7 @@ class SdTable {
|
|
|
16110
16706
|
this.sdSelectChange.emit(Array.from(this.innerSelected));
|
|
16111
16707
|
this.refreshChildrenSelection();
|
|
16112
16708
|
}
|
|
16709
|
+
/** 전체 행 선택/해제를 처리합니다. */
|
|
16113
16710
|
async toggleSelectAll(checked, rows) {
|
|
16114
16711
|
this.toggleSelectAllSync(checked, rows);
|
|
16115
16712
|
}
|
|
@@ -16122,6 +16719,7 @@ class SdTable {
|
|
|
16122
16719
|
return true;
|
|
16123
16720
|
return null; // indeterminate
|
|
16124
16721
|
}
|
|
16722
|
+
/** 전체 선택 체크 상태를 반환합니다 (true/false/null=indeterminate). */
|
|
16125
16723
|
async getIsAllChecked(rows) {
|
|
16126
16724
|
return this.getIsAllCheckedSync(rows);
|
|
16127
16725
|
}
|
|
@@ -16212,6 +16810,7 @@ class SdTable {
|
|
|
16212
16810
|
}
|
|
16213
16811
|
return base;
|
|
16214
16812
|
}
|
|
16813
|
+
/** 지정한 컬럼 인덱스의 sticky 스타일 객체를 반환합니다. */
|
|
16215
16814
|
async getStickyStyle(colIdx) {
|
|
16216
16815
|
return this.getStickyStyleSync(colIdx);
|
|
16217
16816
|
}
|
|
@@ -16351,6 +16950,7 @@ class SdTable {
|
|
|
16351
16950
|
this.propagateVirtualUpdate(true);
|
|
16352
16951
|
}
|
|
16353
16952
|
}
|
|
16953
|
+
/** 가상 스크롤 총 행 수를 설정합니다. */
|
|
16354
16954
|
async setRowCount(count) {
|
|
16355
16955
|
this.setRowCountSync(count);
|
|
16356
16956
|
}
|
|
@@ -16378,6 +16978,7 @@ class SdTable {
|
|
|
16378
16978
|
rowsPerPage: this.innerRowsPerPage,
|
|
16379
16979
|
};
|
|
16380
16980
|
}
|
|
16981
|
+
/** 현재 페이지네이션 상태(startIndex, endIndex, currentPage, rowsPerPage)를 반환합니다. */
|
|
16381
16982
|
async getPaginationInfo() {
|
|
16382
16983
|
return this.getPaginationInfoSync();
|
|
16383
16984
|
}
|
|
@@ -16441,25 +17042,25 @@ class SdTable {
|
|
|
16441
17042
|
'--table-selectable-width': `${TABLE_SELECTABLE_COLUMN_WIDTH}px`,
|
|
16442
17043
|
'--table-host-height': hostHeight,
|
|
16443
17044
|
};
|
|
16444
|
-
return (hAsync(Host, { key: '
|
|
17045
|
+
return (hAsync(Host, { key: '2606b0d7fc3657a8021a6dfc64672996b756f762', style: hostStyle }, hAsync("div", { key: '4def416edfe630ead35b80cb2f04081a89740f62', class: "sd-table__container", style: {
|
|
16445
17046
|
'--table-width': this.width,
|
|
16446
17047
|
'--pagination-height': `${paginationHeight}px`,
|
|
16447
|
-
} }, hAsync("div", { key: '
|
|
17048
|
+
} }, hAsync("div", { key: '316a359f2be84895719f452e056dcd2f54cd5b56', class: {
|
|
16448
17049
|
'sd-table__wrapper': true,
|
|
16449
17050
|
'sd-table__wrapper--radius-useTop': this.radius === 'useTop',
|
|
16450
17051
|
'sd-table__wrapper--radius-full': this.radius === 'full',
|
|
16451
|
-
} }, hAsync("div", { key: '
|
|
17052
|
+
} }, hAsync("div", { key: 'e798b58104f56b3250a7d74261a8c320a8049f28', class: {
|
|
16452
17053
|
'sd-table__scroll-container': true,
|
|
16453
17054
|
'sd-table__scroll-container--loading': this.isLoading,
|
|
16454
17055
|
'sd-table__scroll-container--no-data': isNoData,
|
|
16455
|
-
} }, this.isLoading && (hAsync("div", { key: '
|
|
17056
|
+
} }, this.isLoading && (hAsync("div", { key: 'af91877075c8d4ed8b608bdfdc7f04bd844f5574', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, hAsync("sd-circle-progress", { key: '2422c7020046fa468dbaaf34220230737cb6b02e', indeterminate: true }))), isNoData && (hAsync(hAsync.Fragment, null, hAsync("div", { key: 'bd5c2237d8c3a34cc4bf12a187f471e22ce02efd', class: "sd-table__no-data-header-overlay" }), hAsync("div", { key: '1e0da67564879a175e89a3482195742b1b4451dc', class: "sd-table__no-data" }, hAsync("div", { key: '391bc76e748d64b84c39de669396b2f5f288e5a1', class: "sd-table__no-data-content", ref: el => {
|
|
16456
17057
|
this.noDataContentEl = el;
|
|
16457
17058
|
if (el)
|
|
16458
17059
|
this.syncNoDataContentObserver();
|
|
16459
|
-
} }, hAsync("slot", { key: '
|
|
17060
|
+
} }, hAsync("slot", { key: '3e2e26f4951d9b834ae811906c137a78067fecab', name: "no-data" }, hAsync("span", { key: '54ed0371d60f5312376d8ffab50efd9ec0947729' }, this.resolvedNoDataLabel)))))), hAsync("table", { key: '46cab11834ca3f5aa9010bd6f603d301b2a54c9c', class: this.tableClasses }, this.autoThead ? (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-thead", { rows: this.rows ?? [] }))) : (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
|
|
16460
17061
|
this.pagination.rowsPerPage > 0 &&
|
|
16461
17062
|
this.rowCount > 0 &&
|
|
16462
|
-
!this.useVirtualScroll && (hAsync("div", { key: '
|
|
17063
|
+
!this.useVirtualScroll && (hAsync("div", { key: 'b9c738172d4e2993f15f6a7e051406d3b7e8d568', class: "sd-table__pagination" }, hAsync("sd-pagination", { key: '62c199e61dd2010f2c19aabb3599d75a561ef83d', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (hAsync("sd-select", { key: '5f305858818e720bf5a53499777d2f5aac843487', value: this.useInternalPagination
|
|
16463
17064
|
? this.innerRowsPerPage
|
|
16464
17065
|
: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
|
|
16465
17066
|
if (!this.isRowsPerPageValue(e.detail))
|
|
@@ -16693,11 +17294,17 @@ class SdTabs {
|
|
|
16693
17294
|
registerInstance(this, hostRef);
|
|
16694
17295
|
this.update = createEvent(this, "sdUpdate", 7);
|
|
16695
17296
|
}
|
|
17297
|
+
/** 현재 선택된 탭 value */
|
|
16696
17298
|
value;
|
|
17299
|
+
/** 탭 옵션 목록 */
|
|
16697
17300
|
tabs = [];
|
|
17301
|
+
/** 탭 크기 */
|
|
16698
17302
|
size = 'md';
|
|
17303
|
+
/** true이면 서브 탭 스타일 적용 */
|
|
16699
17304
|
isSub = false;
|
|
17305
|
+
/** true이면 탭을 세로로 배치 */
|
|
16700
17306
|
vertical = false;
|
|
17307
|
+
/** 탭이 변경될 때 새 value를 전달합니다. */
|
|
16701
17308
|
update;
|
|
16702
17309
|
valueChanged(newValue) {
|
|
16703
17310
|
this.value = newValue;
|
|
@@ -16764,7 +17371,7 @@ class SdTabs {
|
|
|
16764
17371
|
};
|
|
16765
17372
|
}
|
|
16766
17373
|
render() {
|
|
16767
|
-
return (hAsync("div", { key: '
|
|
17374
|
+
return (hAsync("div", { key: 'd8d86075bbf5e13444f99e57cf63c2f5b9ef28fc', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
|
|
16768
17375
|
const badgeName = this.getBadgeName(tab);
|
|
16769
17376
|
return (hAsync("div", { key: `tab-${index}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
|
|
16770
17377
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
@@ -16977,11 +17584,14 @@ class SdTag {
|
|
|
16977
17584
|
constructor(hostRef) {
|
|
16978
17585
|
registerInstance(this, hostRef);
|
|
16979
17586
|
}
|
|
17587
|
+
/** 태그 프리셋 이름 */
|
|
16980
17588
|
name = 'square_sm_grey';
|
|
17589
|
+
/** 표시할 레이블 텍스트 */
|
|
16981
17590
|
label = '';
|
|
17591
|
+
/** 아이콘명 */
|
|
16982
17592
|
icon;
|
|
16983
17593
|
// 아이콘이 좌측 배치되는 게 자연스러운 default. prop 이름 변경(isRight 등)은 public API breaking 이라 별도 이슈로 분리.
|
|
16984
|
-
|
|
17594
|
+
/** true이면 아이콘을 레이블 왼쪽에 배치 */
|
|
16985
17595
|
isLeft = true;
|
|
16986
17596
|
componentWillLoad() {
|
|
16987
17597
|
this.name = this.name ?? 'square_sm_grey';
|
|
@@ -17003,7 +17613,7 @@ class SdTag {
|
|
|
17003
17613
|
render() {
|
|
17004
17614
|
const config = this.resolvedConfig;
|
|
17005
17615
|
const iconNode = this.renderIcon(config.icon, config.iconSize);
|
|
17006
|
-
return (hAsync("span", { key: '
|
|
17616
|
+
return (hAsync("span", { key: '09cc181654983b64dec9860fdf656677ebcfcd15', class: "sd-tag", style: {
|
|
17007
17617
|
'--sd-tag-background': config.background,
|
|
17008
17618
|
'--sd-tag-content': config.content,
|
|
17009
17619
|
'--sd-tag-height': config.height,
|
|
@@ -17013,7 +17623,7 @@ class SdTag {
|
|
|
17013
17623
|
'--sd-tag-font-weight': config.fontWeight,
|
|
17014
17624
|
'--sd-tag-line-height': config.lineHeight,
|
|
17015
17625
|
'--sd-tag-radius': config.radius,
|
|
17016
|
-
}, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, hAsync("span", { key: '
|
|
17626
|
+
}, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, hAsync("span", { key: '044ab51afc474799b400c608fd5531bed9a7ad18', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
|
|
17017
17627
|
}
|
|
17018
17628
|
static get style() { return sdTagCss(); }
|
|
17019
17629
|
static get cmpMeta() { return {
|
|
@@ -17038,6 +17648,7 @@ class SdTbody {
|
|
|
17038
17648
|
registerInstance(this, hostRef);
|
|
17039
17649
|
}
|
|
17040
17650
|
get el() { return getElement(this); }
|
|
17651
|
+
/** 렌더링할 행 데이터 목록 */
|
|
17041
17652
|
rows = [];
|
|
17042
17653
|
tableId = '';
|
|
17043
17654
|
topSpacerHeight = 0;
|
|
@@ -17081,9 +17692,9 @@ class SdTbody {
|
|
|
17081
17692
|
}
|
|
17082
17693
|
}
|
|
17083
17694
|
render() {
|
|
17084
|
-
return (hAsync(Host, { key: '
|
|
17695
|
+
return (hAsync(Host, { key: '0f85168b22221551714f3c75bd12c366538cc5ec', slot: `${this.tableId}-body` }, hAsync("tbody", { key: 'f9a8528d40c51988cfbca2c349905dafdafce8d3', class: { tbody: true } }, [
|
|
17085
17696
|
this.topSpacerHeight > 0 && (hAsync("tr", { key: "spacer-top", class: "tbody__spacer", style: { height: `${this.topSpacerHeight}px`, display: 'block' } })),
|
|
17086
|
-
hAsync("slot", { key: '
|
|
17697
|
+
hAsync("slot", { key: '7ecfe2f730b4c909d394fdee2d9aa015c5410cb4' }),
|
|
17087
17698
|
this.bottomSpacerHeight > 0 && (hAsync("tr", { key: "spacer-bottom", class: "tbody__spacer", style: { height: `${this.bottomSpacerHeight}px`, display: 'block' } })),
|
|
17088
17699
|
])));
|
|
17089
17700
|
}
|
|
@@ -17115,18 +17726,27 @@ class SdTd {
|
|
|
17115
17726
|
registerInstance(this, hostRef);
|
|
17116
17727
|
}
|
|
17117
17728
|
get el() { return getElement(this); }
|
|
17729
|
+
/** 데이터 필드명 (슬롯 이름 생성에 사용) */
|
|
17118
17730
|
field;
|
|
17731
|
+
/** 행 식별 키 */
|
|
17119
17732
|
rowKey;
|
|
17733
|
+
/** 셀 내용 정렬 */
|
|
17120
17734
|
align;
|
|
17735
|
+
/** 행 병합 수 */
|
|
17121
17736
|
rowspan;
|
|
17737
|
+
/** 열 병합 수 */
|
|
17122
17738
|
colspan;
|
|
17123
17739
|
// sd-tr가 그리는 실제 <td>에 머지될 사용자 클래스.
|
|
17124
17740
|
// <sd-td> 호스트는 display:contents라 호스트의 class는 시각 효과가 없기 때문에,
|
|
17125
17741
|
// 이 prop을 통해 sd-table 레지스트리에 등록 → sd-tr가 td 렌더 시 합쳐 사용한다.
|
|
17742
|
+
/** td에 병합할 사용자 클래스 */
|
|
17126
17743
|
sdClass;
|
|
17744
|
+
/** 좌측 구분선 표시 여부 */
|
|
17127
17745
|
dividerLeft = false;
|
|
17746
|
+
/** 우측 구분선 표시 여부 */
|
|
17128
17747
|
dividerRight = false;
|
|
17129
17748
|
// true이면 이 셀이 속한 행 전체가 dense를 무시하고 default 레이아웃으로 동작한다.
|
|
17749
|
+
/** frame 레이아웃 사용 여부 */
|
|
17130
17750
|
useFrame = false;
|
|
17131
17751
|
handleFieldChange(_newField, oldField) {
|
|
17132
17752
|
this.syncSlotName();
|
|
@@ -17258,7 +17878,7 @@ class SdTd {
|
|
|
17258
17878
|
}
|
|
17259
17879
|
}
|
|
17260
17880
|
render() {
|
|
17261
|
-
return (hAsync(Host, { key: '
|
|
17881
|
+
return (hAsync(Host, { key: 'd7cea28b006a4903fab00e7a709252e6009f911f', class: { [`align-${this.align}`]: Boolean(this.align) } }, hAsync("slot", { key: '1d8695ff6c6890838e4b18ec4da1d7ff6a5c8858' })));
|
|
17262
17882
|
}
|
|
17263
17883
|
static get watchers() { return {
|
|
17264
17884
|
"field": [{
|
|
@@ -17423,14 +18043,23 @@ class SdTextLink {
|
|
|
17423
18043
|
registerInstance(this, hostRef);
|
|
17424
18044
|
this.click = createEvent(this, "sdClick", 7);
|
|
17425
18045
|
}
|
|
18046
|
+
/** 표시할 레이블 텍스트 */
|
|
17426
18047
|
label = '';
|
|
18048
|
+
/** 좌측 아이콘명 */
|
|
17427
18049
|
icon = '';
|
|
18050
|
+
/** 좌측 아이콘 색상 */
|
|
17428
18051
|
iconColor = '';
|
|
18052
|
+
/** 레이블 span에 추가할 클래스 */
|
|
17429
18053
|
labelClass = '';
|
|
18054
|
+
/** 우측 화살표 타입 */
|
|
17430
18055
|
rightArrow = 'none';
|
|
18056
|
+
/** 밑줄 스타일 여부 */
|
|
17431
18057
|
underline = false;
|
|
18058
|
+
/** 비활성 상태 여부 */
|
|
17432
18059
|
disabled = false;
|
|
18060
|
+
/** 텍스트 크기 */
|
|
17433
18061
|
size = 'sm';
|
|
18062
|
+
/** 클릭 시 발생합니다. */
|
|
17434
18063
|
click;
|
|
17435
18064
|
handleClick = () => {
|
|
17436
18065
|
if (this.disabled)
|
|
@@ -17452,7 +18081,7 @@ class SdTextLink {
|
|
|
17452
18081
|
'--sd-text-link-text-decoration': typo.textDecoration,
|
|
17453
18082
|
...(this.disabled ? { '--sd-text-link-color': TEXT_LINK_COLORS.content.disabled } : {}),
|
|
17454
18083
|
};
|
|
17455
|
-
return (hAsync("span", { key: '
|
|
18084
|
+
return (hAsync("span", { key: '1b58c27c2754182b1fc6249e7e4bf52f42d1d11d', role: "button", tabindex: this.disabled ? -1 : 0, class: {
|
|
17456
18085
|
'sd-text-link': true,
|
|
17457
18086
|
'sd-text-link--disabled': this.disabled,
|
|
17458
18087
|
}, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
|
|
@@ -17460,13 +18089,13 @@ class SdTextLink {
|
|
|
17460
18089
|
e.preventDefault();
|
|
17461
18090
|
this.handleClick();
|
|
17462
18091
|
}
|
|
17463
|
-
} }, this.icon && (hAsync("sd-icon", { key: '
|
|
18092
|
+
} }, this.icon && (hAsync("sd-icon", { key: '85076e7cf4873b527606aa737c2899233dcc3d9f', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), hAsync("span", { key: '75b16e64155770ccdb889497caea6b4240b2e8c0', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (hAsync("span", { key: '8dd32b1b640a8e81f306b0387f783a4c1435abd6', class: "sd-text-link__arrow", style: {
|
|
17464
18093
|
width: `${TEXT_LINK_ARROW.arrowFrame}px`,
|
|
17465
18094
|
height: `${TEXT_LINK_ARROW.arrowFrame}px`,
|
|
17466
18095
|
display: 'inline-flex',
|
|
17467
18096
|
alignItems: 'center',
|
|
17468
18097
|
justifyContent: 'center',
|
|
17469
|
-
} }, hAsync("sd-icon", { key: '
|
|
18098
|
+
} }, hAsync("sd-icon", { key: '605572568dd4c2b6dcde9c932d5593e5fdb916a4', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
|
|
17470
18099
|
}
|
|
17471
18100
|
static get style() { return sdTextLinkCss(); }
|
|
17472
18101
|
static get cmpMeta() { return {
|
|
@@ -17512,38 +18141,67 @@ class SdTextarea {
|
|
|
17512
18141
|
this.blur = createEvent(this, "sdBlur", 7);
|
|
17513
18142
|
}
|
|
17514
18143
|
get host() { return getElement(this); }
|
|
18144
|
+
/** 입력 값 */
|
|
17515
18145
|
value = null;
|
|
18146
|
+
/** 플레이스홀더 텍스트 */
|
|
17516
18147
|
placeholder = '입력해 주세요.';
|
|
18148
|
+
/** 비활성 상태 여부 */
|
|
17517
18149
|
disabled = false;
|
|
18150
|
+
/** 읽기 전용 여부 */
|
|
17518
18151
|
readonly = false;
|
|
18152
|
+
/** 마운트 시 자동 포커스 여부 */
|
|
17519
18153
|
autoFocus = false;
|
|
18154
|
+
/** 네이티브 textarea에 추가할 클래스 */
|
|
17520
18155
|
textareaClass = '';
|
|
18156
|
+
/** 네이티브 textarea에 적용할 인라인 스타일 */
|
|
17521
18157
|
textareaStyle = {};
|
|
18158
|
+
/** 최대 입력 글자 수 */
|
|
17522
18159
|
maxLength;
|
|
18160
|
+
/** textarea 기본 행 수 */
|
|
17523
18161
|
rows;
|
|
18162
|
+
/** 맞춤법 검사 여부 */
|
|
17524
18163
|
spellcheck = false;
|
|
18164
|
+
/** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
|
|
17525
18165
|
width = '';
|
|
17526
18166
|
// props - sd-field
|
|
18167
|
+
/** 레이블 텍스트 */
|
|
17527
18168
|
label = '';
|
|
18169
|
+
/** 레이블 너비 */
|
|
17528
18170
|
labelWidth = '';
|
|
18171
|
+
/** 필드 우측 어드온 레이블 */
|
|
17529
18172
|
addonLabel = '';
|
|
18173
|
+
/** 어드온 정렬 방향 */
|
|
17530
18174
|
addonAlign = 'start';
|
|
18175
|
+
/** 필드 하단 힌트 텍스트 */
|
|
17531
18176
|
hint = '';
|
|
18177
|
+
/** 에러 메시지 */
|
|
17532
18178
|
errorMessage = '';
|
|
18179
|
+
/** 레이블 영역 아이콘 */
|
|
17533
18180
|
icon = undefined;
|
|
18181
|
+
/** 레이블 툴팁 텍스트 */
|
|
17534
18182
|
labelTooltip = '';
|
|
18183
|
+
/** 레이블 툴팁 상세 옵션 */
|
|
17535
18184
|
labelTooltipProps = null;
|
|
18185
|
+
/** 유효성 검사 규칙 목록 */
|
|
17536
18186
|
rules = [];
|
|
18187
|
+
/** 에러 상태 여부 */
|
|
17537
18188
|
error = false;
|
|
18189
|
+
/** 필드 상태 (없으면 rules 결과로 자동 결정) */
|
|
17538
18190
|
status;
|
|
18191
|
+
/** 포커스 상태 여부 */
|
|
17539
18192
|
focused = false;
|
|
18193
|
+
/** 호버 상태 여부 */
|
|
17540
18194
|
hovered = false;
|
|
17541
18195
|
internalValue = null;
|
|
17542
18196
|
nativeEl = undefined;
|
|
17543
18197
|
formField;
|
|
18198
|
+
/** 폼 연동용 name 속성 */
|
|
17544
18199
|
name = nanoid$1();
|
|
18200
|
+
/** 값이 변경될 때 발생합니다. */
|
|
17545
18201
|
input;
|
|
18202
|
+
/** 포커스될 때 발생합니다. */
|
|
17546
18203
|
focus;
|
|
18204
|
+
/** 포커스를 잃을 때 발생합니다. */
|
|
17547
18205
|
blur;
|
|
17548
18206
|
valueChanged(newValue) {
|
|
17549
18207
|
this.internalValue = newValue;
|
|
@@ -17554,18 +18212,23 @@ class SdTextarea {
|
|
|
17554
18212
|
this.input?.emit(this.value);
|
|
17555
18213
|
}
|
|
17556
18214
|
}
|
|
18215
|
+
/** 네이티브 textarea 엘리먼트를 반환합니다. */
|
|
17557
18216
|
async sdGetNativeElement() {
|
|
17558
18217
|
return this.nativeEl || null;
|
|
17559
18218
|
}
|
|
18219
|
+
/** 유효성 검사를 실행합니다. */
|
|
17560
18220
|
async sdValidate() {
|
|
17561
18221
|
this.formField?.sdValidate();
|
|
17562
18222
|
}
|
|
18223
|
+
/** 값과 유효성 상태를 초기화합니다. */
|
|
17563
18224
|
async sdReset() {
|
|
17564
18225
|
this.formField?.sdReset();
|
|
17565
18226
|
}
|
|
18227
|
+
/** 유효성 상태만 초기화합니다. */
|
|
17566
18228
|
async sdResetValidate() {
|
|
17567
18229
|
this.formField?.sdResetValidation();
|
|
17568
18230
|
}
|
|
18231
|
+
/** 입력 필드에 포커스를 이동합니다. */
|
|
17569
18232
|
async sdFocus() {
|
|
17570
18233
|
this.formField?.sdFocus();
|
|
17571
18234
|
}
|
|
@@ -17614,7 +18277,7 @@ class SdTextarea {
|
|
|
17614
18277
|
'--sd-system-size-field-sm-height': 'auto',
|
|
17615
18278
|
'--sd-system-radius-field-sm': `${TEXTAREA_TOKENS.radius}px`,
|
|
17616
18279
|
};
|
|
17617
|
-
return (hAsync("sd-field", { key: '
|
|
18280
|
+
return (hAsync("sd-field", { key: 'f8fd8949824938bb79f101de2e5eca7980224b09', 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, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: '382441be15dd047888cf876006f1966256a503b7', class: "sd-textarea__content" }, hAsync("textarea", { key: '5f5985ccdcc401f4aff2f47fe40003abeb76e8b3', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
|
|
17618
18281
|
}
|
|
17619
18282
|
static get watchers() { return {
|
|
17620
18283
|
"value": [{
|
|
@@ -17668,7 +18331,7 @@ class SdTextarea {
|
|
|
17668
18331
|
}; }
|
|
17669
18332
|
}
|
|
17670
18333
|
|
|
17671
|
-
const sdTheadCss = () => `sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:var(--table-header-height, 36px)}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:var(--table-header-bg, #F5FAFF);height:var(--table-header-height, 36px);padding:0 var(--table-header-padding-x, 16px);font-family:var(--table-header-font-family, inherit);font-weight:var(--table-header-font-weight, 500);font-size:var(--table-header-font-size, 12px);line-height:var(--table-header-line-height, 20px);text-decoration:var(--table-header-text-decoration, none);vertical-align:middle;border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:var(--table-selectable-width, 48px) !important;max-width:var(--table-selectable-width, 48px) !important;min-width:var(--table-selectable-width, 48px) !important;text-align:center}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--table-header-gap, 4px)}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__bar{position:absolute;top:50%;right:0;transform:translateY(-50%);width:var(--table-border-width, 1px);height:var(--table-header-resizer-height, 16px);z-index:3;background-color:var(--table-header-resizer-color, #CCCCCC)}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:var(--table-header-resizer-height, 16px);cursor:col-resize;z-index:3;border-left:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC);border-right:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC)}.th__resizer--left{right:auto;left:0}`;
|
|
18334
|
+
const sdTheadCss = () => `sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:var(--table-header-height, 36px)}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:var(--table-header-bg, #F5FAFF);height:var(--table-header-height, 36px);padding:0 var(--table-header-padding-x, 16px);font-family:var(--table-header-font-family, inherit);font-weight:var(--table-header-font-weight, 500);font-size:var(--table-header-font-size, 12px);line-height:var(--table-header-line-height, 20px);text-decoration:var(--table-header-text-decoration, none);vertical-align:middle;border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:var(--table-selectable-width, 48px) !important;max-width:var(--table-selectable-width, 48px) !important;min-width:var(--table-selectable-width, 48px) !important;text-align:center}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--table-header-gap, 4px)}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__bar{position:absolute;top:50%;right:0;transform:translateY(-50%);width:var(--table-border-width, 1px);height:var(--table-header-resizer-height, 16px);z-index:3;background-color:var(--table-header-resizer-color, #CCCCCC)}.th__dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;color:inherit;border-radius:2px}.th__dropdown-trigger sd-icon{transition:transform 0.15s ease}.th__dropdown-trigger--open sd-icon{transform:rotate(180deg)}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:var(--table-header-resizer-height, 16px);cursor:col-resize;z-index:3;border-left:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC);border-right:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC)}.th__resizer--left{right:auto;left:0}`;
|
|
17672
18335
|
|
|
17673
18336
|
class SdThead {
|
|
17674
18337
|
constructor(hostRef) {
|
|
@@ -17676,15 +18339,25 @@ class SdThead {
|
|
|
17676
18339
|
this.sdColumnSort = createEvent(this, "sdColumnSort", 7);
|
|
17677
18340
|
}
|
|
17678
18341
|
get el() { return getElement(this); }
|
|
18342
|
+
/** 테이블 컬럼 목록 */
|
|
17679
18343
|
columns;
|
|
18344
|
+
/** 행 선택 기능 사용 여부 */
|
|
17680
18345
|
selectable;
|
|
18346
|
+
/** 컬럼 너비 조절 가능 여부 */
|
|
17681
18347
|
resizable;
|
|
18348
|
+
/** 고정 컬럼 설정 */
|
|
17682
18349
|
stickyColumn;
|
|
18350
|
+
/** 헤더 고정 여부 */
|
|
17683
18351
|
stickyHeader;
|
|
18352
|
+
/** 좌측 스크롤 여부 */
|
|
17684
18353
|
scrolledLeft;
|
|
18354
|
+
/** 우측 스크롤 여부 */
|
|
17685
18355
|
scrolledRight;
|
|
18356
|
+
/** 전체 선택 체크박스용 행 데이터 */
|
|
17686
18357
|
rows = [];
|
|
18358
|
+
/** 컬럼 너비 목록 */
|
|
17687
18359
|
columnWidths = [];
|
|
18360
|
+
/** 컬럼 정렬 버튼 클릭 시 발생합니다. */
|
|
17688
18361
|
sdColumnSort;
|
|
17689
18362
|
tableId = '';
|
|
17690
18363
|
_columns = [];
|
|
@@ -17694,14 +18367,29 @@ class SdThead {
|
|
|
17694
18367
|
_stickyHeader = false;
|
|
17695
18368
|
_scrolledLeft = false;
|
|
17696
18369
|
_scrolledRight = false;
|
|
18370
|
+
dropdownOpenMap = {};
|
|
17697
18371
|
tableEl = null;
|
|
18372
|
+
dropdownRefs = {};
|
|
18373
|
+
dropdownThRefs = {};
|
|
18374
|
+
dropdownPortals = {};
|
|
17698
18375
|
handleColumnsChange(newCols) {
|
|
17699
18376
|
if (Array.isArray(newCols) && (this.columnWidths ?? []).length === 0) {
|
|
17700
18377
|
this.columnWidths = newCols.map(c => (c.autoWidth ? 0 : parseInt(c.width || '120', 10)));
|
|
17701
18378
|
}
|
|
17702
18379
|
}
|
|
18380
|
+
disconnectedCallback() {
|
|
18381
|
+
const portals = this.dropdownPortals ?? {};
|
|
18382
|
+
Object.values(portals).forEach(portal => {
|
|
18383
|
+
if (portal?.parentNode != null)
|
|
18384
|
+
portal.parentNode.removeChild(portal);
|
|
18385
|
+
});
|
|
18386
|
+
}
|
|
17703
18387
|
componentWillLoad() {
|
|
17704
18388
|
this.syncTableContext();
|
|
18389
|
+
this.dropdownOpenMap = this.dropdownOpenMap ?? {};
|
|
18390
|
+
this.dropdownRefs = this.dropdownRefs ?? {};
|
|
18391
|
+
this.dropdownThRefs = this.dropdownThRefs ?? {};
|
|
18392
|
+
this.dropdownPortals = this.dropdownPortals ?? {};
|
|
17705
18393
|
this.columnWidths = Array.isArray(this.columnWidths) ? this.columnWidths : [];
|
|
17706
18394
|
this.resolveConfig();
|
|
17707
18395
|
if ((this.columnWidths ?? []).length === 0) {
|
|
@@ -17711,6 +18399,36 @@ class SdThead {
|
|
|
17711
18399
|
componentDidLoad() {
|
|
17712
18400
|
this.syncTableContext();
|
|
17713
18401
|
this.resolveConfig();
|
|
18402
|
+
this.initDropdownPortals();
|
|
18403
|
+
}
|
|
18404
|
+
// sd-portal을 body에 붙여 CSS transform 영향 없이 정확한 위치에 패널을 표시한다.
|
|
18405
|
+
// <slot>을 render에 두지 않고 직접 DOM 이동(slot 속성 제거)으로 Stencil 슬롯 에뮬레이션 충돌을 피한다.
|
|
18406
|
+
initDropdownPortals() {
|
|
18407
|
+
const cols = this._columns ?? [];
|
|
18408
|
+
const hasDropdownCols = cols.filter(c => c.hasDropdown === true);
|
|
18409
|
+
if (hasDropdownCols.length === 0)
|
|
18410
|
+
return;
|
|
18411
|
+
for (const col of hasDropdownCols) {
|
|
18412
|
+
const colName = col.name;
|
|
18413
|
+
// 이미 포탈이 생성된 컬럼은 건너뜀 (refreshConfig 재호출 대비)
|
|
18414
|
+
if ((this.dropdownPortals ?? {})[colName] != null)
|
|
18415
|
+
continue;
|
|
18416
|
+
const slotContent = this.el.querySelector(`[slot="dropdown-${colName}"]`);
|
|
18417
|
+
if (slotContent == null)
|
|
18418
|
+
continue;
|
|
18419
|
+
// slot 속성 제거: Stencil 슬롯 에뮬레이션이 재배포하지 못하게 한다
|
|
18420
|
+
slotContent.removeAttribute('slot');
|
|
18421
|
+
const portal = document.createElement('sd-portal');
|
|
18422
|
+
portal.parentRef = this.dropdownThRefs[colName] ?? null;
|
|
18423
|
+
portal.open = false;
|
|
18424
|
+
// 첫 open 전까지 포탈 호스트 자체를 숨긴다.
|
|
18425
|
+
// moveSlotContent()가 open=true 시 children을 독립 wrapper div로 이동하므로 이후 동작에 영향 없음.
|
|
18426
|
+
portal.style.display = 'none';
|
|
18427
|
+
portal.addEventListener('sdClose', () => this.closeDropdown(colName));
|
|
18428
|
+
portal.appendChild(slotContent);
|
|
18429
|
+
document.body.appendChild(portal);
|
|
18430
|
+
this.dropdownPortals[colName] = portal;
|
|
18431
|
+
}
|
|
17714
18432
|
}
|
|
17715
18433
|
syncTableContext() {
|
|
17716
18434
|
// sd-table이 shadow:true이므로 fallback content로 렌더되면 closest가 경계를 못 넘는다.
|
|
@@ -17750,12 +18468,16 @@ class SdThead {
|
|
|
17750
18468
|
this.columnWidths = [];
|
|
17751
18469
|
}
|
|
17752
18470
|
}
|
|
18471
|
+
/** 테이블 설정을 다시 불러옵니다. */
|
|
17753
18472
|
async refreshConfig() {
|
|
17754
18473
|
this.resolveConfig();
|
|
18474
|
+
this.initDropdownPortals();
|
|
17755
18475
|
}
|
|
18476
|
+
/** 컬럼 너비를 업데이트합니다. */
|
|
17756
18477
|
async setColumnWidths(widths) {
|
|
17757
18478
|
this.columnWidths = Array.isArray(widths) ? widths : [];
|
|
17758
18479
|
}
|
|
18480
|
+
/** 전체 선택 체크박스 상태를 갱신합니다. */
|
|
17759
18481
|
async refreshSelection() {
|
|
17760
18482
|
const checkbox = this.el.querySelector('sd-checkbox');
|
|
17761
18483
|
if (checkbox) {
|
|
@@ -17794,6 +18516,28 @@ class SdThead {
|
|
|
17794
18516
|
handleColumnSort = (col) => {
|
|
17795
18517
|
this.sdColumnSort.emit({ column: col });
|
|
17796
18518
|
};
|
|
18519
|
+
toggleDropdown(name) {
|
|
18520
|
+
const isOpen = this.dropdownOpenMap[name] !== true;
|
|
18521
|
+
const portals = this.dropdownPortals ?? {};
|
|
18522
|
+
const newMap = { ...this.dropdownOpenMap };
|
|
18523
|
+
// _columns 기준으로 순회: portals가 비어도 dropdownOpenMap은 항상 갱신됨
|
|
18524
|
+
for (const col of (this._columns ?? []).filter(c => c.hasDropdown === true)) {
|
|
18525
|
+
const shouldBeOpen = col.name === name ? isOpen : false;
|
|
18526
|
+
newMap[col.name] = shouldBeOpen;
|
|
18527
|
+
const portal = portals[col.name];
|
|
18528
|
+
if (portal != null)
|
|
18529
|
+
portal.open = shouldBeOpen;
|
|
18530
|
+
}
|
|
18531
|
+
this.dropdownOpenMap = newMap;
|
|
18532
|
+
}
|
|
18533
|
+
closeDropdown(name) {
|
|
18534
|
+
if (this.dropdownOpenMap[name] !== true)
|
|
18535
|
+
return;
|
|
18536
|
+
this.dropdownOpenMap = { ...this.dropdownOpenMap, [name]: false };
|
|
18537
|
+
const portal = (this.dropdownPortals ?? {})[name];
|
|
18538
|
+
if (portal != null)
|
|
18539
|
+
portal.open = false;
|
|
18540
|
+
}
|
|
17797
18541
|
handleSelectAll(checked) {
|
|
17798
18542
|
const nextChecked = !!checked;
|
|
17799
18543
|
const safeRows = Array.isArray(this.rows) ? this.rows : [];
|
|
@@ -17810,6 +18554,8 @@ class SdThead {
|
|
|
17810
18554
|
}
|
|
17811
18555
|
render() {
|
|
17812
18556
|
const safeRows = Array.isArray(this.rows) ? this.rows : [];
|
|
18557
|
+
const dropdownOpenMap = this.dropdownOpenMap ?? {};
|
|
18558
|
+
const dropdownRefs = this.dropdownRefs ?? {};
|
|
17813
18559
|
const stickyLeftCount = this._stickyColumn.left || 0;
|
|
17814
18560
|
const stickyRightCount = this._stickyColumn.right || 0;
|
|
17815
18561
|
const stickyLeftCols = this.visibleColumns.slice(0, stickyLeftCount);
|
|
@@ -17831,22 +18577,25 @@ class SdThead {
|
|
|
17831
18577
|
'--table-border-color': TABLE_BORDER.color,
|
|
17832
18578
|
'--table-border-width': `${TABLE_BORDER.width}px`,
|
|
17833
18579
|
};
|
|
17834
|
-
return (hAsync(Host, { key: '
|
|
18580
|
+
return (hAsync(Host, { key: '947f5e5b0e59e7e6f8a73e4fd44dbfa646cb630a', slot: `${this.tableId}-head`, style: headStyle }, hAsync("thead", { key: '2e0ffbfe9d96528c6e0082d4883fa462a18831d6', class: {
|
|
17835
18581
|
'thead': true,
|
|
17836
18582
|
'thead--sticky': this._stickyHeader,
|
|
17837
|
-
} }, hAsync("tr", { key: '
|
|
18583
|
+
} }, hAsync("tr", { key: '5843a18e1548bc6546e447d4c9213375116af0e9', class: "tr" }, this._selectable && (hAsync("th", { key: '914024ca35874747e39f1819337cd4ad1cbe733d', class: {
|
|
17838
18584
|
'th': true,
|
|
17839
18585
|
'th--selected': true,
|
|
17840
18586
|
'sticky-left': true,
|
|
17841
18587
|
'sticky-left-edge': stickyLeftCount === 0,
|
|
17842
18588
|
'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
|
|
17843
|
-
}, style: { '--sticky-left-offset': '0px' } }, hAsync("sd-checkbox", { key: '
|
|
18589
|
+
}, style: { '--sticky-left-offset': '0px' } }, hAsync("sd-checkbox", { key: 'e07232f1f5fa02589573ddaae53ebdadbdb97674', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), hAsync("div", { key: '08b504cfd4f420e76e91d649eed28c7068517044', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (hAsync("th", { key: col.name, class: {
|
|
17844
18590
|
'th': true,
|
|
17845
18591
|
[`${col.thClass}`]: Boolean(col.thClass),
|
|
17846
18592
|
'sticky-left': true,
|
|
17847
18593
|
'sticky-left-edge': idx === stickyLeftCount - 1,
|
|
17848
18594
|
'is-scrolled-left': idx === stickyLeftCount - 1 && this._scrolledLeft,
|
|
17849
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(idx) } }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text))))))
|
|
18595
|
+
}, style: { ...col.thStyle, ...this.getStickyStyle(idx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text)))))), col.hasDropdown === true && (hAsync("button", { class: {
|
|
18596
|
+
'th__dropdown-trigger': true,
|
|
18597
|
+
'th__dropdown-trigger--open': dropdownOpenMap[col.name] === true,
|
|
18598
|
+
}, ref: el => { dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": dropdownOpenMap[col.name] === true ? 'true' : 'false' }, hAsync("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && idx !== lastColIdx && (
|
|
17850
18599
|
// column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
|
|
17851
18600
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
17852
18601
|
hAsync("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(idx, evt) }))))), middleCols.map((col, relativeIdx) => {
|
|
@@ -17854,7 +18603,10 @@ class SdThead {
|
|
|
17854
18603
|
return (hAsync("th", { key: col.name, class: {
|
|
17855
18604
|
th: true,
|
|
17856
18605
|
[`${col.thClass}`]: Boolean(col.thClass),
|
|
17857
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text))))))
|
|
18606
|
+
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text)))))), col.hasDropdown === true && (hAsync("button", { class: {
|
|
18607
|
+
'th__dropdown-trigger': true,
|
|
18608
|
+
'th__dropdown-trigger--open': this.dropdownOpenMap[col.name] === true,
|
|
18609
|
+
}, ref: el => { this.dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": this.dropdownOpenMap[col.name] === true ? 'true' : 'false' }, hAsync("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && actualColIdx !== lastColIdx && (
|
|
17858
18610
|
// column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
|
|
17859
18611
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
17860
18612
|
hAsync("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(actualColIdx, evt) }))));
|
|
@@ -17866,7 +18618,10 @@ class SdThead {
|
|
|
17866
18618
|
'sticky-right': true,
|
|
17867
18619
|
'sticky-right-edge': relativeIdx === 0,
|
|
17868
18620
|
'is-scrolled-right': relativeIdx === 0 && this._scrolledRight,
|
|
17869
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text))))))
|
|
18621
|
+
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text)))))), col.hasDropdown === true && (hAsync("button", { class: {
|
|
18622
|
+
'th__dropdown-trigger': true,
|
|
18623
|
+
'th__dropdown-trigger--open': this.dropdownOpenMap[col.name] === true,
|
|
18624
|
+
}, ref: el => { this.dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": this.dropdownOpenMap[col.name] === true ? 'true' : 'false' }, hAsync("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && (
|
|
17870
18625
|
// column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
|
|
17871
18626
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
17872
18627
|
hAsync("div", { class: "th__resizer th__resizer--left", onMouseDown: (evt) => this.handleResize(actualColIdx, evt, true) }))));
|
|
@@ -17899,6 +18654,7 @@ class SdThead {
|
|
|
17899
18654
|
"_stickyHeader": [32],
|
|
17900
18655
|
"_scrolledLeft": [32],
|
|
17901
18656
|
"_scrolledRight": [32],
|
|
18657
|
+
"dropdownOpenMap": [32],
|
|
17902
18658
|
"refreshConfig": [64],
|
|
17903
18659
|
"setColumnWidths": [64],
|
|
17904
18660
|
"refreshSelection": [64]
|
|
@@ -17975,14 +18731,23 @@ class SdToast {
|
|
|
17975
18731
|
this.close = createEvent(this, "sdClose", 7);
|
|
17976
18732
|
this.buttonClick = createEvent(this, "sdButtonClick", 7);
|
|
17977
18733
|
}
|
|
18734
|
+
/** 좌측 아이콘명 */
|
|
17978
18735
|
icon;
|
|
18736
|
+
/** 표시할 메시지 */
|
|
17979
18737
|
message;
|
|
18738
|
+
/** 우측 링크 URL */
|
|
17980
18739
|
link;
|
|
18740
|
+
/** 링크 표시 레이블 (없으면 URL 표시) */
|
|
17981
18741
|
linkLabel;
|
|
18742
|
+
/** 우측 버튼 레이블 */
|
|
17982
18743
|
buttonLabel;
|
|
18744
|
+
/** 닫기 버튼 표시 여부 */
|
|
17983
18745
|
useClose = false;
|
|
18746
|
+
/** 토스트 타입 (색상/아이콘 프리셋) */
|
|
17984
18747
|
type = 'default';
|
|
18748
|
+
/** 닫기 버튼 클릭 또는 자동 닫힘 시 발생합니다. */
|
|
17985
18749
|
close;
|
|
18750
|
+
/** 우측 버튼 클릭 시 발생합니다. */
|
|
17986
18751
|
buttonClick;
|
|
17987
18752
|
render() {
|
|
17988
18753
|
const typeConfig = TOAST_TYPE_CONFIG[this.type] ?? TOAST_TYPE_CONFIG.default;
|
|
@@ -17991,12 +18756,12 @@ class SdToast {
|
|
|
17991
18756
|
const linkColor = typeConfig.linkColor ?? typeConfig.content;
|
|
17992
18757
|
const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
|
|
17993
18758
|
const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
|
|
17994
|
-
return (hAsync("div", { key: '
|
|
18759
|
+
return (hAsync("div", { key: 'ee54d9d9821821e0c422725c94d465f1e2df7bc6', style: {
|
|
17995
18760
|
'--sd-toast-bg': typeConfig.bg,
|
|
17996
18761
|
'--sd-toast-text': typeConfig.content,
|
|
17997
18762
|
'--sd-toast-icon': iconColor,
|
|
17998
18763
|
'--sd-toast-link': linkColor,
|
|
17999
|
-
} }, hAsync("div", { key: '
|
|
18764
|
+
} }, hAsync("div", { key: 'b258e4b49fe530c778c0003516a2ad159805158a', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (hAsync("div", { key: '850a02dd996c7d1ca214b887e0d3d9899972e319', class: "sd-toast__icon" }, hAsync("sd-icon", { key: '50d2817b160bd767a509956338347ee09a34a845', name: this.icon, size: iconSize, color: iconColor }))), hAsync("div", { key: '0200da1ef6cfa9fcafa4cacf08998a33847038dc', class: "sd-toast__content" }, hAsync("span", { key: 'af039afb2f457acded350ae2323e0bc59765a09e', class: "sd-toast__message" }, this.message)), this.link && (hAsync("a", { key: '98fdcf360ca632e9f919e01ab0dce8369a1ebe79', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (hAsync("sd-button", { key: '45202c0f969ab64e50265ee81f34fc14def26ce2', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (hAsync("sd-ghost-button", { key: '48f30258527ae7a8a96db9609f096f5d216246ff', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
|
|
18000
18765
|
}
|
|
18001
18766
|
static get style() { return sdToastCss(); }
|
|
18002
18767
|
static get cmpMeta() { return {
|
|
@@ -18036,15 +18801,22 @@ class SdToastContainer {
|
|
|
18036
18801
|
this.toastDismiss = createEvent(this, "sdToastDismiss", 7);
|
|
18037
18802
|
}
|
|
18038
18803
|
get el() { return getElement(this); }
|
|
18804
|
+
/** 토스트 표시 위치 */
|
|
18039
18805
|
position = 'bottom-center';
|
|
18806
|
+
/** 동시에 표시할 최대 토스트 수 */
|
|
18040
18807
|
maxVisible = DEFAULT_MAX_VISIBLE;
|
|
18808
|
+
/** 자동 닫힘 지연 시간 (ms, 0이면 자동 닫힘 없음) */
|
|
18041
18809
|
defaultDuration = DEFAULT_DURATION;
|
|
18810
|
+
/** z-index */
|
|
18042
18811
|
zIndex = DEFAULT_Z_INDEX;
|
|
18043
18812
|
toasts = [];
|
|
18044
18813
|
expanded = false;
|
|
18045
18814
|
toastRefs = new Map();
|
|
18815
|
+
/** 토스트가 표시될 때 발생합니다. */
|
|
18046
18816
|
toastShow;
|
|
18817
|
+
/** 토스트가 제거될 때 발생합니다. */
|
|
18047
18818
|
toastDismiss;
|
|
18819
|
+
/** 토스트를 생성하고 ID를 반환합니다. */
|
|
18048
18820
|
async create(options) {
|
|
18049
18821
|
const id = `toast-${++toastIdCounter}`;
|
|
18050
18822
|
const entry = { id, options, state: 'entering' };
|
|
@@ -18069,9 +18841,11 @@ class SdToastContainer {
|
|
|
18069
18841
|
this.toastShow.emit({ id });
|
|
18070
18842
|
return id;
|
|
18071
18843
|
}
|
|
18844
|
+
/** 지정한 ID의 토스트를 닫습니다. */
|
|
18072
18845
|
async dismiss(id) {
|
|
18073
18846
|
this.startDismiss(id);
|
|
18074
18847
|
}
|
|
18848
|
+
/** 모든 토스트를 닫습니다. */
|
|
18075
18849
|
async dismissAll() {
|
|
18076
18850
|
(this.toasts || []).forEach(t => this.startDismiss(t.id));
|
|
18077
18851
|
}
|
|
@@ -18249,7 +19023,7 @@ class SdToastContainer {
|
|
|
18249
19023
|
const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
|
|
18250
19024
|
const indexMap = new Map();
|
|
18251
19025
|
activeToasts.forEach((t, i) => indexMap.set(t.id, i));
|
|
18252
|
-
return (hAsync("div", { key: '
|
|
19026
|
+
return (hAsync("div", { key: 'b75aeffdddcd16267169ae99305ef5f475f53950', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
|
|
18253
19027
|
this.expanded = true;
|
|
18254
19028
|
this.pauseTimers();
|
|
18255
19029
|
}, onMouseLeave: () => {
|
|
@@ -18363,9 +19137,13 @@ class SdToggle {
|
|
|
18363
19137
|
registerInstance(this, hostRef);
|
|
18364
19138
|
this.change = createEvent(this, "sdUpdate", 7);
|
|
18365
19139
|
}
|
|
19140
|
+
/** 현재 선택 상태 */
|
|
18366
19141
|
value = false;
|
|
19142
|
+
/** 표시할 레이블 텍스트 */
|
|
18367
19143
|
label = '';
|
|
19144
|
+
/** 비활성 상태 여부 */
|
|
18368
19145
|
disabled = false;
|
|
19146
|
+
/** 상태가 변경될 때 발생합니다. */
|
|
18369
19147
|
change;
|
|
18370
19148
|
get toggleClasses() {
|
|
18371
19149
|
const classes = ['sd-toggle'];
|
|
@@ -18407,7 +19185,7 @@ class SdToggle {
|
|
|
18407
19185
|
'--sd-toggle-content-select': TOGGLE_COLORS.content.select,
|
|
18408
19186
|
'--sd-toggle-content-disabled': TOGGLE_COLORS.content.disabled,
|
|
18409
19187
|
};
|
|
18410
|
-
return (hAsync("label", { key: '
|
|
19188
|
+
return (hAsync("label", { key: '1a03763c5cfcb5159b69e62a9db9893297082e2b', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, hAsync("input", { key: '099cbbb02ebf283883ab7fe748f605491ae84808', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
|
|
18411
19189
|
}
|
|
18412
19190
|
static get style() { return sdToggleCss(); }
|
|
18413
19191
|
static get cmpMeta() { return {
|
|
@@ -18456,19 +19234,33 @@ class SdTooltip {
|
|
|
18456
19234
|
registerInstance(this, hostRef);
|
|
18457
19235
|
}
|
|
18458
19236
|
get el() { return getElement(this); }
|
|
19237
|
+
/** 툴팁 트리거 방식 */
|
|
18459
19238
|
trigger = 'hover';
|
|
19239
|
+
/** 툴팁 표시 방향 */
|
|
18460
19240
|
placement = 'top';
|
|
19241
|
+
/** 아이콘 트리거 색상 */
|
|
18461
19242
|
color = '#01BB4B';
|
|
19243
|
+
/** 툴팁 배경/텍스트 색상 타입 */
|
|
18462
19244
|
tooltipType = 'default';
|
|
19245
|
+
/** 아이콘 트리거 아이콘명 */
|
|
18463
19246
|
icon = 'helpOutline';
|
|
19247
|
+
/** 아이콘 트리거 크기 */
|
|
18464
19248
|
iconSize = 12;
|
|
19249
|
+
/** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
|
|
18465
19250
|
label = '';
|
|
19251
|
+
/** 버튼 트리거 프리셋 */
|
|
18466
19252
|
name = 'primary_sm';
|
|
19253
|
+
/** 버튼 트리거 우측 아이콘 */
|
|
18467
19254
|
rightIcon;
|
|
19255
|
+
/** 스크린리더용 접근성 레이블 */
|
|
18468
19256
|
ariaLabel = '';
|
|
19257
|
+
/** 비활성 상태 여부 */
|
|
18469
19258
|
disabled = false;
|
|
19259
|
+
/** 버튼 type 속성 */
|
|
18470
19260
|
type = 'button';
|
|
19261
|
+
/** 툴팁 우측 상단 닫기 버튼 표시 여부 */
|
|
18471
19262
|
useClose = false;
|
|
19263
|
+
/** 트리거 래퍼(.sd-tooltip-trigger)에 추가할 클래스 */
|
|
18472
19264
|
sdClass = '';
|
|
18473
19265
|
/**
|
|
18474
19266
|
* 툴팁 본문에 표시할 메시지. 각 항목이 한 줄로 innerHTML 렌더링됩니다.
|
|
@@ -18581,7 +19373,7 @@ class SdTooltip {
|
|
|
18581
19373
|
const bodyHTML = this.message && this.message.length > 0
|
|
18582
19374
|
? this.message.map(line => `<div>${line}</div>`).join('')
|
|
18583
19375
|
: this.slotContentHTML;
|
|
18584
|
-
return (hAsync(Fragment, { key: '
|
|
19376
|
+
return (hAsync(Fragment, { key: 'c5a5c69267ac8a7d7f06324a63b6410092b84f04' }, hAsync("div", { key: 'f7323385e1b2e6ef4199c6318bdc55984182d3da', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, anchorMode ? (hAsync("slot", { name: "anchor" })) : hasLabel ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-tooltip", ...buttonClickTrigger })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (hAsync("sd-floating-portal", { key: '0ba07ee2a20862df43755264d9390b3229da57e6', parentRef: anchorMode ? this.triggerEl : this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, hAsync("div", { key: 'f92217cb8cca4d1467cbeac7b36f9a00f28babd3', ref: el => (this.menuEl = el), class: {
|
|
18585
19377
|
'sd-floating-menu': true,
|
|
18586
19378
|
[`sd-floating-menu--${tooltipType}`]: true,
|
|
18587
19379
|
[`sd-floating-menu--${placement}`]: true,
|
|
@@ -18589,7 +19381,7 @@ class SdTooltip {
|
|
|
18589
19381
|
}, style: {
|
|
18590
19382
|
'--sd-floating-bg': typeConfig.bg,
|
|
18591
19383
|
'--sd-floating-content': typeConfig.content,
|
|
18592
|
-
}, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, hAsync("i", { key: '
|
|
19384
|
+
}, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, hAsync("i", { key: '6d7671dbac4fa026788f0804df4a97ca86c492c1', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: '31321fbfef392af0fa64111a32c3ecd6c6144d35' })), hAsync("div", { key: '67e54a935c9f684d713ab943e7049737d5a8596a', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (hAsync("sd-ghost-button", { key: '355101a4efed88fbb687e1f972f88b6dfb4be309', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
|
|
18593
19385
|
}
|
|
18594
19386
|
static get style() { return sdTooltipCss(); }
|
|
18595
19387
|
static get cmpMeta() { return {
|
|
@@ -18631,11 +19423,17 @@ class SdTr {
|
|
|
18631
19423
|
registerInstance(this, hostRef);
|
|
18632
19424
|
}
|
|
18633
19425
|
get el() { return getElement(this); }
|
|
19426
|
+
/** 테이블 컬럼 목록 */
|
|
18634
19427
|
columns;
|
|
19428
|
+
/** 행 선택 기능 사용 여부 */
|
|
18635
19429
|
selectable;
|
|
19430
|
+
/** 고정 컬럼 설정 */
|
|
18636
19431
|
stickyColumn;
|
|
19432
|
+
/** 행 식별 키 */
|
|
18637
19433
|
rowKey = '';
|
|
19434
|
+
/** 행 데이터 객체 */
|
|
18638
19435
|
row = {};
|
|
19436
|
+
/** 구분선 높이 (4 또는 6px, null이면 일반 행) */
|
|
18639
19437
|
separator = null;
|
|
18640
19438
|
tableId = '';
|
|
18641
19439
|
columnWidths = [];
|
|
@@ -18688,12 +19486,15 @@ class SdTr {
|
|
|
18688
19486
|
this.columnWidths = [...config.columnWidths];
|
|
18689
19487
|
}
|
|
18690
19488
|
}
|
|
19489
|
+
/** 테이블 설정을 다시 불러옵니다. */
|
|
18691
19490
|
async refreshConfig() {
|
|
18692
19491
|
this.resolveConfig();
|
|
18693
19492
|
}
|
|
19493
|
+
/** 셀 병합 버전을 갱신해 td를 재렌더링합니다. */
|
|
18694
19494
|
async bumpSpansVersion() {
|
|
18695
19495
|
this.spansVersion = this.spansVersion + 1;
|
|
18696
19496
|
}
|
|
19497
|
+
/** 페이지네이션에 따른 행 표시 여부를 갱신합니다. */
|
|
18697
19498
|
async updateVisibility() {
|
|
18698
19499
|
this.updateVisibilitySync();
|
|
18699
19500
|
}
|
|
@@ -18706,9 +19507,11 @@ class SdTr {
|
|
|
18706
19507
|
}
|
|
18707
19508
|
this.isVisible = rowIndex >= pageInfo.startIndex && rowIndex < pageInfo.endIndex;
|
|
18708
19509
|
}
|
|
19510
|
+
/** 컬럼 너비를 업데이트합니다. */
|
|
18709
19511
|
async setColumnWidths(widths) {
|
|
18710
19512
|
this.columnWidths = widths;
|
|
18711
19513
|
}
|
|
19514
|
+
/** 체크박스 선택 상태를 갱신합니다. */
|
|
18712
19515
|
async refreshSelection() {
|
|
18713
19516
|
const checkbox = this.el.querySelector('sd-checkbox');
|
|
18714
19517
|
if (checkbox) {
|