@sellmate/design-system 1.7.3 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{component.datepicker-Cw_-oidk.js → component.datepicker-CUQbDSku.js} +0 -1
- package/dist/cjs/component.field-YIQ9TAhV.js +61 -0
- package/dist/cjs/{component.textinput-BpXDeZPD.js → component.textinput-Bb-nU5xI.js} +3 -2
- package/dist/cjs/design-system.cjs.js +2 -2
- package/dist/cjs/{index-BGwB03Tk.js → index-C63F8C0_.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{sanitize-inline-html-BZCCwH_U.js → sanitize-inline-html-CRCAeQ46.js} +28 -2
- package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
- package/dist/cjs/sd-badge.cjs.entry.js +1 -1
- package/dist/cjs/sd-barcode-input.cjs.entry.js +2 -2
- package/dist/cjs/{sd-button.config-BSHkfgdC.js → sd-button.config-WeoddlTQ.js} +2 -3
- package/dist/cjs/sd-button_2.cjs.entry.js +2 -2
- package/dist/cjs/sd-calendar_2.cjs.entry.js +5 -4
- package/dist/cjs/sd-callout.cjs.entry.js +3 -3
- package/dist/cjs/sd-card.cjs.entry.js +1 -1
- package/dist/cjs/sd-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/sd-chip.cjs.entry.js +4 -6
- package/dist/cjs/sd-circle-progress.cjs.entry.js +1 -1
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +2 -2
- package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
- package/dist/cjs/{sd-date-picker.config-D3lTpa6W.js → sd-date-picker.config-CtXmufyj.js} +6 -2
- package/dist/cjs/sd-date-picker_7.cjs.entry.js +26 -40
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +3 -3
- package/dist/cjs/sd-divider.cjs.entry.js +1 -1
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +3 -3
- package/dist/cjs/sd-field_3.cjs.entry.js +8 -50
- package/dist/cjs/sd-form.cjs.entry.js +1 -1
- package/dist/cjs/sd-ghost-button.cjs.entry.js +1 -1
- package/dist/cjs/sd-guide.cjs.entry.js +2 -2
- package/dist/cjs/sd-key-value-table.cjs.entry.js +1 -1
- package/dist/cjs/sd-linear-progress.cjs.entry.js +1 -1
- package/dist/cjs/sd-loading-container.cjs.entry.js +1 -1
- package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
- package/dist/cjs/sd-pagination_4.cjs.entry.js +6 -8
- package/dist/cjs/sd-popover.cjs.entry.js +8 -7
- package/dist/cjs/sd-popup.cjs.entry.js +1 -1
- package/dist/cjs/sd-portal.cjs.entry.js +1 -1
- package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
- package/dist/cjs/sd-radio.cjs.entry.js +1 -1
- package/dist/cjs/sd-select-list-item_2.cjs.entry.js +9 -8
- package/dist/cjs/{sd-select.config-B19ptCT2.js → sd-select.config-DrJ4LNVz.js} +24 -13
- package/dist/cjs/sd-select_3.cjs.entry.js +16 -13
- package/dist/cjs/sd-switch.cjs.entry.js +2 -2
- package/dist/cjs/sd-table.cjs.entry.js +15 -13
- package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
- package/dist/cjs/sd-tag.cjs.entry.js +1 -1
- package/dist/cjs/sd-td.cjs.entry.js +2 -2
- package/dist/cjs/sd-text-link.cjs.entry.js +20 -20
- package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
- package/dist/cjs/sd-toast.cjs.entry.js +3 -3
- package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
- package/dist/cjs/{tooltipArrow-COD-SNZL.js → tooltipArrow-DONQ8MML.js} +1 -1
- package/dist/cjs/{useDatePicker-dCuEgvjX.js → useDatePicker-iMd6WToc.js} +1 -1
- package/dist/collection/components/sd-button/sd-button.config.js +1 -1
- package/dist/collection/components/sd-callout/sd-callout.css +2 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker.config.js +5 -1
- package/dist/collection/components/sd-file-picker/sd-file-picker.config.js +11 -10
- package/dist/collection/components/sd-number-input/sd-number-input.config.js +4 -3
- package/dist/collection/components/sd-popover/sd-popover.js +5 -5
- package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +4 -3
- package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
- package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +7 -4
- package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +4 -3
- package/dist/collection/components/sd-select/sd-select.config.js +17 -10
- package/dist/collection/components/sd-select/sd-select.js +5 -6
- package/dist/collection/components/sd-switch/sd-switch.js +1 -1
- package/dist/collection/components/sd-table/sd-table.css +3 -2
- package/dist/collection/components/sd-table/sd-table.js +13 -11
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
- package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +3 -3
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +0 -2
- package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
- package/dist/collection/components/sd-text-link/sd-text-link.config.js +4 -4
- package/dist/collection/components/sd-text-link/sd-text-link.js +11 -11
- package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
- package/dist/collection/components/sd-toast/sd-toast.js +2 -2
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
- package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
- package/dist/collection/utils/html/sanitize-inline-html.js +28 -2
- package/dist/components/index.js +1 -1
- package/dist/components/{p-lOVBaLB7.js → p-7TYtYYrb.js} +1 -1
- package/dist/components/{p-p4bNikji.js → p-B3vmDhWb.js} +1 -1
- package/dist/components/p-B5XCkCeg.js +1 -0
- package/dist/components/{p-2z2c2umH.js → p-B8QZRiYH.js} +1 -1
- package/dist/components/{p-DKwnEkHE.js → p-B8Z5qc_1.js} +1 -1
- package/dist/components/p-BDUIw6As.js +1 -0
- package/dist/components/p-BE4tnQ2Z.js +1 -0
- package/dist/components/{p-DQj-S8AC.js → p-BNkExhYB.js} +1 -1
- package/dist/components/p-BOJJ_sQS.js +1 -0
- package/dist/components/{p-CwQTEZWO.js → p-BS1cT5dG.js} +1 -1
- package/dist/components/{p-I9SoAcVO.js → p-BYgOJUk0.js} +1 -1
- package/dist/components/p-B_FQcRtk.js +1 -0
- package/dist/components/{p-wLoP3KMv.js → p-BaOCZ7B6.js} +1 -1
- package/dist/components/{p-DMrXwfmf.js → p-BmmIQQlT.js} +1 -1
- package/dist/components/{p-BWJtQGYo.js → p-BnJJAhY6.js} +1 -1
- package/dist/components/{p-DnW8EAqd.js → p-BysikR_g.js} +1 -1
- package/dist/components/{p-uVZjhyvS.js → p-C2LhOf89.js} +1 -1
- package/dist/components/p-C5wgHjtx.js +1 -0
- package/dist/components/p-C79Cowjq.js +1 -0
- package/dist/components/{p-y_6iWhDy.js → p-C8MKSPNX.js} +1 -1
- package/dist/components/{p-Cye8r1MG.js → p-CFL9Rfh8.js} +1 -1
- package/dist/components/{p-B6G64i5a.js → p-CMUpMkva.js} +1 -1
- package/dist/components/p-C_RL1gZR.js +1 -0
- package/dist/components/p-CeoBnd3w.js +1 -0
- package/dist/components/p-CnCH_nnG.js +1 -0
- package/dist/components/p-CpdFMy8s.js +1 -0
- package/dist/components/{p-B6JOxZKP.js → p-CqcGVHzJ.js} +1 -1
- package/dist/components/{p-DhtKHJ7-.js → p-CtxH9xQc.js} +1 -1
- package/dist/components/{p-CwRItc2J.js → p-CwUPCrDk.js} +1 -1
- package/dist/components/{p-f10Mw7qM.js → p-DEfG8t7h.js} +1 -1
- package/dist/components/p-DGCbSjhn.js +1 -0
- package/dist/components/p-DLNwV8Wa.js +1 -0
- package/dist/components/{p-cX2DD74L.js → p-DLeITJ-j.js} +1 -1
- package/dist/components/{p-BasCjDiE.js → p-DjS-dtF5.js} +1 -1
- package/dist/components/{p-B6L3bPm2.js → p-DqXt80Qn.js} +1 -1
- package/dist/components/{p-DCFqtVBm.js → p-Due8URWT.js} +1 -1
- package/dist/components/{p-DhmsCQrB.js → p-J57vnHhu.js} +1 -1
- package/dist/components/{p-D6cUtm8p.js → p-PDLDFsH7.js} +1 -1
- package/dist/components/{p-ByhWX2NK.js → p-e0ABNkP6.js} +1 -1
- package/dist/components/{p-B45aOf4I.js → p-ipduET5U.js} +1 -1
- package/dist/components/p-laVsm9VM.js +1 -0
- package/dist/components/{p-CTuKWVTh.js → p-pfGv13eX.js} +1 -1
- package/dist/components/p-siTDlOb6.js +1 -0
- package/dist/components/{p-EcuI_UmK.js → p-yTY5CmAx.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.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-18d3ae55.entry.js → p-06344171.entry.js} +1 -1
- package/dist/design-system/{p-95bbba4f.entry.js → p-0a225a4a.entry.js} +1 -1
- package/dist/design-system/{p-ff33d019.entry.js → p-11e99ac5.entry.js} +1 -1
- package/dist/design-system/{p-9d34518e.entry.js → p-17d8457d.entry.js} +1 -1
- package/dist/design-system/p-19d47ac2.entry.js +1 -0
- package/dist/design-system/{p-cffa6da7.entry.js → p-1dd139cb.entry.js} +1 -1
- package/dist/design-system/{p-e6bd8ab1.entry.js → p-21f654e3.entry.js} +1 -1
- package/dist/design-system/{p-ea586c5e.entry.js → p-27f61c1f.entry.js} +1 -1
- package/dist/design-system/{p-18057222.entry.js → p-2bd09b2f.entry.js} +1 -1
- package/dist/design-system/{p-78c2fd6d.entry.js → p-2ef3cd00.entry.js} +1 -1
- package/dist/design-system/p-362ac234.entry.js +1 -0
- package/dist/design-system/{p-1219699a.entry.js → p-39a2bf05.entry.js} +1 -1
- package/dist/design-system/{p-78b0b759.entry.js → p-3eb72b33.entry.js} +1 -1
- package/dist/design-system/{p-c73cadc7.entry.js → p-4ca63a2d.entry.js} +1 -1
- package/dist/design-system/{p-74b3e95b.entry.js → p-515e837b.entry.js} +1 -1
- package/dist/design-system/p-5b7ea330.entry.js +1 -0
- package/dist/design-system/{p-f3dff8b8.entry.js → p-5ee1e5e6.entry.js} +1 -1
- package/dist/design-system/{p-e81cb8c9.entry.js → p-6716691b.entry.js} +1 -1
- package/dist/design-system/{p-f14962bd.entry.js → p-7440fbe7.entry.js} +1 -1
- package/dist/design-system/{p-54086285.entry.js → p-79e73305.entry.js} +1 -1
- package/dist/design-system/{p-cce38339.entry.js → p-7b01d78b.entry.js} +1 -1
- package/dist/design-system/{p-2d3d25bd.entry.js → p-86db28ce.entry.js} +1 -1
- package/dist/design-system/{p-5d5d8220.entry.js → p-8926c5ec.entry.js} +1 -1
- package/dist/design-system/p-90cc9785.entry.js +1 -0
- package/dist/design-system/p-95cce55d.entry.js +1 -0
- package/dist/design-system/{p-8674d868.entry.js → p-97b16b63.entry.js} +1 -1
- package/dist/design-system/p-BE4tnQ2Z.js +1 -0
- package/dist/design-system/p-BOJJ_sQS.js +1 -0
- package/dist/design-system/p-BpO2YWvq.js +2 -0
- package/dist/design-system/{p-BGtUaScP.js → p-BqWuC4-J.js} +1 -1
- package/dist/design-system/{p-LIf7YMBN.js → p-CcVraVK0.js} +1 -1
- package/dist/design-system/p-CdRvJ-Uc.js +1 -0
- package/dist/design-system/p-DtrsLG0Z.js +1 -0
- package/dist/design-system/{p-2c0a8333.entry.js → p-a0607a9f.entry.js} +1 -1
- package/dist/design-system/{p-1aafbc7b.entry.js → p-a0daadc8.entry.js} +1 -1
- package/dist/design-system/{p-46faa7ed.entry.js → p-a39016ac.entry.js} +1 -1
- package/dist/design-system/{p-9e75a5dc.entry.js → p-a4fff652.entry.js} +1 -1
- package/dist/design-system/{p-969665c0.entry.js → p-acfe5585.entry.js} +1 -1
- package/dist/design-system/{p-bd4e5141.entry.js → p-b3b46576.entry.js} +1 -1
- package/dist/design-system/{p-d8292621.entry.js → p-b456b9ac.entry.js} +1 -1
- package/dist/design-system/{p-8fc49d2d.entry.js → p-cad22f63.entry.js} +1 -1
- package/dist/design-system/p-d24F7UcR.js +1 -0
- package/dist/design-system/{p-5c4fd9c1.entry.js → p-d9c1ec16.entry.js} +1 -1
- package/dist/design-system/p-de565b9f.entry.js +1 -0
- package/dist/design-system/{p-07b0d118.entry.js → p-de743615.entry.js} +1 -1
- package/dist/design-system/{p-ByhWX2NK.js → p-e0ABNkP6.js} +1 -1
- package/dist/design-system/{p-a5930cbd.entry.js → p-e1ef1eb8.entry.js} +1 -1
- package/dist/design-system/p-f4597b6e.entry.js +1 -0
- package/dist/design-system/{p-4b43648c.entry.js → p-f5eb4e2f.entry.js} +1 -1
- package/dist/design-system/{p-25fad267.entry.js → p-ff24fcb2.entry.js} +1 -1
- package/dist/design-system/p-laVsm9VM.js +1 -0
- package/dist/esm/{component.datepicker-BQn6le_Y.js → component.datepicker-laVsm9VM.js} +0 -1
- package/dist/esm/component.field-BOJJ_sQS.js +59 -0
- package/dist/esm/{component.textinput-ByhWX2NK.js → component.textinput-e0ABNkP6.js} +3 -2
- package/dist/esm/design-system.js +3 -3
- package/dist/esm/{index-DNWwGHho.js → index-BpO2YWvq.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{sanitize-inline-html-DopVneZA.js → sanitize-inline-html-BE4tnQ2Z.js} +28 -2
- package/dist/esm/sd-action-modal.entry.js +1 -1
- package/dist/esm/sd-badge.entry.js +1 -1
- package/dist/esm/sd-barcode-input.entry.js +2 -2
- package/dist/esm/{sd-button.config-C7p6g_sM.js → sd-button.config-CdRvJ-Uc.js} +2 -3
- package/dist/esm/sd-button_2.entry.js +2 -2
- package/dist/esm/sd-calendar_2.entry.js +5 -4
- package/dist/esm/sd-callout.entry.js +3 -3
- package/dist/esm/sd-card.entry.js +1 -1
- package/dist/esm/sd-checkbox.entry.js +1 -1
- package/dist/esm/sd-chip.entry.js +4 -6
- package/dist/esm/sd-circle-progress.entry.js +1 -1
- package/dist/esm/sd-confirm-modal_2.entry.js +2 -2
- package/dist/esm/sd-date-box.entry.js +1 -1
- package/dist/esm/{sd-date-picker.config-CGEE3DkI.js → sd-date-picker.config-6dvDZPGx.js} +6 -2
- package/dist/esm/sd-date-picker_7.entry.js +26 -40
- package/dist/esm/sd-date-range-picker-calendar.entry.js +3 -3
- package/dist/esm/sd-divider.entry.js +1 -1
- package/dist/esm/sd-dropdown-button.entry.js +3 -3
- package/dist/esm/sd-field_3.entry.js +5 -47
- package/dist/esm/sd-form.entry.js +1 -1
- package/dist/esm/sd-ghost-button.entry.js +1 -1
- package/dist/esm/sd-guide.entry.js +2 -2
- package/dist/esm/sd-key-value-table.entry.js +1 -1
- package/dist/esm/sd-linear-progress.entry.js +1 -1
- package/dist/esm/sd-loading-container.entry.js +1 -1
- package/dist/esm/sd-modal-container.entry.js +1 -1
- package/dist/esm/sd-pagination_4.entry.js +6 -8
- package/dist/esm/sd-popover.entry.js +8 -7
- package/dist/esm/sd-popup.entry.js +1 -1
- package/dist/esm/sd-portal.entry.js +1 -1
- package/dist/esm/sd-radio-button.entry.js +1 -1
- package/dist/esm/sd-radio.entry.js +1 -1
- package/dist/esm/sd-select-list-item_2.entry.js +9 -8
- package/dist/esm/{sd-select.config-CxOCk_ge.js → sd-select.config-DtrsLG0Z.js} +23 -14
- package/dist/esm/sd-select_3.entry.js +16 -13
- package/dist/esm/sd-switch.entry.js +2 -2
- package/dist/esm/sd-table.entry.js +15 -13
- package/dist/esm/sd-tabs.entry.js +2 -2
- package/dist/esm/sd-tag.entry.js +1 -1
- package/dist/esm/sd-td.entry.js +2 -2
- package/dist/esm/sd-text-link.entry.js +20 -20
- package/dist/esm/sd-toast-container.entry.js +2 -2
- package/dist/esm/sd-toast.entry.js +3 -3
- package/dist/esm/sd-toggle.entry.js +2 -2
- package/dist/esm/{tooltipArrow-Cj3AqWK0.js → tooltipArrow-DrrY_fPj.js} +1 -1
- package/dist/esm/{useDatePicker-D5RmWGOp.js → useDatePicker-DoUg--aq.js} +1 -1
- package/dist/types/components/sd-barcode-input/sd-barcode-input.config.d.ts +0 -2
- package/dist/types/components/sd-date-picker/sd-date-picker.config.d.ts +1 -1
- package/dist/types/components/sd-input/sd-input.config.d.ts +0 -2
- package/dist/types/components/sd-number-input/sd-number-input.config.d.ts +2 -2
- package/dist/types/components/sd-popover/sd-popover.d.ts +1 -1
- package/dist/types/components/sd-select/sd-select.config.d.ts +2 -0
- package/dist/types/components/sd-text-link/sd-text-link.d.ts +1 -1
- package/dist/types/components/sd-textarea/sd-textarea.config.d.ts +0 -2
- package/dist/types/components.d.ts +7 -7
- package/hydrate/index.js +217 -179
- package/hydrate/index.mjs +217 -179
- package/package.json +1 -1
- package/dist/components/p-BQn6le_Y.js +0 -1
- package/dist/components/p-Bhh7ig9Q.js +0 -1
- package/dist/components/p-C4uWhzoG.js +0 -1
- package/dist/components/p-C8c6MuKQ.js +0 -1
- package/dist/components/p-CkR5oiLy.js +0 -1
- package/dist/components/p-CvfW21oo.js +0 -1
- package/dist/components/p-D7g33VZR.js +0 -1
- package/dist/components/p-DISZkQqT.js +0 -1
- package/dist/components/p-DP0Dp12H.js +0 -1
- package/dist/components/p-DmDGMDzt.js +0 -1
- package/dist/components/p-DoREs-rv.js +0 -1
- package/dist/components/p-DopVneZA.js +0 -1
- package/dist/components/p-_zllPZMm.js +0 -1
- package/dist/components/p-pwNG5WaX.js +0 -1
- package/dist/design-system/p-0de5a53b.entry.js +0 -1
- package/dist/design-system/p-25204798.entry.js +0 -1
- package/dist/design-system/p-3e2b5e01.entry.js +0 -1
- package/dist/design-system/p-4c3ead1b.entry.js +0 -1
- package/dist/design-system/p-60b80bf3.entry.js +0 -1
- package/dist/design-system/p-BQn6le_Y.js +0 -1
- package/dist/design-system/p-C7p6g_sM.js +0 -1
- package/dist/design-system/p-CxOCk_ge.js +0 -1
- package/dist/design-system/p-DNWwGHho.js +0 -2
- package/dist/design-system/p-DopVneZA.js +0 -1
- package/dist/design-system/p-TF8_Lyhq.js +0 -1
- package/dist/design-system/p-c1bac61e.entry.js +0 -1
- package/dist/design-system/p-deec1ef0.entry.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
var constants = require('./constants-DJRV1upE.js');
|
|
5
5
|
var sdTable_config = require('./sd-table.config-BjJW74Zx.js');
|
|
6
6
|
require('./component.table-DIxmbGBT.js');
|
|
@@ -19,7 +19,7 @@ let nanoid = (size = 21) => {
|
|
|
19
19
|
return id
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const sdTableCss = () => `sd-table,:host{display:block;width:100%;max-width:100%;min-width:0}sd-table *,:host *{box-sizing:border-box}.sd-table__container{height:
|
|
22
|
+
const sdTableCss = () => `sd-table,:host{display:block;width:100%;height:var(--table-host-height);max-width:100%;min-width:0}sd-table *,:host *{box-sizing:border-box}.sd-table__container{height:100%;width:var(--table-width, 100%);max-width:100%;min-width:0;color:#222222;display:flex;flex-direction:column}.sd-table__wrapper{width:100%;min-width:0;height:calc(100% - var(--pagination-height, 0px));border:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);border-radius:var(--table-radius, 8px);overflow:hidden}.sd-table__wrapper--use-top{border-radius:0 0 var(--table-radius, 8px) var(--table-radius, 8px)}.sd-table__scroll-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;font-family:var(--table-body-font-family, inherit);font-weight:var(--table-body-font-weight, 400);font-size:var(--table-body-font-size, 12px);line-height:var(--table-body-line-height, 20px);text-decoration:var(--table-body-text-decoration, none);overflow:auto;background:#FFFFFF}.sd-table__scroll-container--loading{overflow:hidden !important;pointer-events:none}.sd-table__scroll-container--no-data{overflow:hidden;pointer-events:none}.sd-table__no-data{position:absolute;top:36px;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:var(--table-body-font-size, 12px);color:#888888;pointer-events:none;z-index:200;background:rgba(255, 255, 255, 0.6)}.sd-table__no-data-header-overlay{position:absolute;top:0;left:0;right:0;height:36px;background:rgba(255, 255, 255, 0.6);z-index:210;pointer-events:none}.sd-table__no-data-content{pointer-events:auto;min-height:60px;width:100%;display:flex;align-items:center;justify-content:center}.sd-table__loading{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255, 255, 255, 0.6);z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none}.sd-table{background-color:white;display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.sd-table--selectable sd-thead,.sd-table--selectable sd-tbody{--selectable:true}.sd-table--sticky-header sd-thead thead{position:sticky;top:0;z-index:120}.sd-table--sticky-column sd-thead,.sd-table--sticky-column sd-tbody{--sticky-column:true}.sd-table--scrolled-left sd-thead,.sd-table--scrolled-left sd-tbody{--scrolled-left:true}.sd-table--scrolled-right sd-thead,.sd-table--scrolled-right sd-tbody{--scrolled-right:true}.sd-table--resizable sd-thead{--resizable:true}.sd-table--no-data sd-thead{opacity:0.4}.sd-table__pagination{position:relative;background:#F9F9F9;height:48px;display:flex;align-items:center;justify-content:center;border:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);margin-top:-1px;border-radius:var(--table-radius, 8px)}.sd-table__pagination sd-select{position:absolute;right:10px;top:50%;transform:translateY(-50%)}`;
|
|
23
23
|
|
|
24
24
|
const SdTable = class {
|
|
25
25
|
constructor(hostRef) {
|
|
@@ -828,9 +828,11 @@ const SdTable = class {
|
|
|
828
828
|
const isNoData = this.rowCount === 0 && !this.isLoading;
|
|
829
829
|
const paginationHeight = this.pagination && this.rowCount > 0 && !this.useVirtualScroll ? 48 : 0;
|
|
830
830
|
const noDataTotalHeight = 36 + this.noDataBodyHeight;
|
|
831
|
-
const
|
|
832
|
-
?
|
|
833
|
-
|
|
831
|
+
const hostHeight = isNoData
|
|
832
|
+
? this.height !== undefined
|
|
833
|
+
? `max(${this.height}, ${noDataTotalHeight}px)`
|
|
834
|
+
: `max(${noDataTotalHeight}px, 100%)`
|
|
835
|
+
: (this.height ?? '100%');
|
|
834
836
|
const hostStyle = {
|
|
835
837
|
'--table-radius': `${sdTable_config.TABLE_RADIUS}px`,
|
|
836
838
|
'--table-border-color': sdTable_config.TABLE_BORDER.color,
|
|
@@ -841,26 +843,26 @@ const SdTable = class {
|
|
|
841
843
|
'--table-body-line-height': `${sdTable_config.TABLE_BODY_TYPOGRAPHY.lineHeight}px`,
|
|
842
844
|
'--table-body-text-decoration': sdTable_config.TABLE_BODY_TYPOGRAPHY.textDecoration,
|
|
843
845
|
'--table-selectable-width': `${sdTable_config.TABLE_SELECTABLE_COLUMN_WIDTH}px`,
|
|
846
|
+
'--table-host-height': hostHeight,
|
|
844
847
|
};
|
|
845
|
-
return (index.h(index.Host, { key: '
|
|
848
|
+
return (index.h(index.Host, { key: '4ff57911317dc62deffef856f33388973fa4daa7', style: hostStyle }, index.h("div", { key: '10ace7494c9c7af101c8409b0c2156b3cc2a289f', class: "sd-table__container", style: {
|
|
846
849
|
'--table-width': this.width,
|
|
847
|
-
'--
|
|
848
|
-
|
|
849
|
-
} }, index.h("div", { key: 'f4f3acf584dc4eacdae25b11aa2b62b73ffab949', class: {
|
|
850
|
+
'--pagination-height': `${paginationHeight}px`,
|
|
851
|
+
} }, index.h("div", { key: '97d0d9e3ad3184fcd10eb2850c66570ac0f2d3cf', class: {
|
|
850
852
|
'sd-table__wrapper': true,
|
|
851
853
|
'sd-table__wrapper--use-top': this.useTop,
|
|
852
|
-
} }, index.h("div", { key: '
|
|
854
|
+
} }, index.h("div", { key: '5317351ccca4e10af0ed6ecb5b077b4f22b95f27', class: {
|
|
853
855
|
'sd-table__scroll-container': true,
|
|
854
856
|
'sd-table__scroll-container--loading': this.isLoading,
|
|
855
857
|
'sd-table__scroll-container--no-data': isNoData,
|
|
856
|
-
} }, this.isLoading && (index.h("div", { key: '
|
|
858
|
+
} }, this.isLoading && (index.h("div", { key: 'bb34b1fce3210ea7245bb282818dee6d35be0dac', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, index.h("sd-circle-progress", { key: '5a6103e03854583ef16ab45f442c2b0e9ea635f3', indeterminate: true }))), isNoData && (index.h(index.h.Fragment, null, index.h("div", { key: 'f2c3836bd2c69980603f93a4b241533a18a10d2c', class: "sd-table__no-data-header-overlay" }), index.h("div", { key: '7b44240dcd92522bd5b02da01a8868c5ba91f3bc', class: "sd-table__no-data" }, index.h("div", { key: '3ea50fc748f6ace4941d6d28f80acb458b07d206', class: "sd-table__no-data-content", ref: el => {
|
|
857
859
|
this.noDataContentEl = el;
|
|
858
860
|
if (el)
|
|
859
861
|
this.syncNoDataContentObserver();
|
|
860
|
-
} }, index.h("slot", { key: '
|
|
862
|
+
} }, index.h("slot", { key: 'f3d20d973c6e4e416bfbecefd55e373425949602', name: "no-data" }, index.h("span", { key: '5fe8b1fe2a358a393e18587a3bf2a5c37294ff6b' }, this.resolvedNoDataLabel)))))), index.h("table", { key: 'c8b5304b4ae1828f7a3c0aaedb5b37d40c071378', class: this.tableClasses }, this.autoThead ? (index.h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, index.h("sd-thead", { rows: this.rows ?? [] }))) : (index.h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (index.h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, index.h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (index.h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
|
|
861
863
|
this.pagination.rowsPerPage > 0 &&
|
|
862
864
|
this.rowCount > 0 &&
|
|
863
|
-
!this.useVirtualScroll && (index.h("div", { key: '
|
|
865
|
+
!this.useVirtualScroll && (index.h("div", { key: '462bd9e4eab9ea45ec6ebf1c510c652c47659b1a', class: "sd-table__pagination" }, index.h("sd-pagination", { key: 'b934539ab253b1ca7ec2ffd7dfccc576762e0455', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (index.h("sd-select", { key: '4c636cbf4f04c189018ae32dff24444aab0d480a', value: this.useInternalPagination
|
|
864
866
|
? this.innerRowsPerPage
|
|
865
867
|
: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
|
|
866
868
|
if (!this.isRowsPerPageValue(e.detail))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
|
|
5
5
|
const tab = {
|
|
6
6
|
main: {
|
|
@@ -188,7 +188,7 @@ const SdTabs = class {
|
|
|
188
188
|
};
|
|
189
189
|
}
|
|
190
190
|
render() {
|
|
191
|
-
return (index.h("div", { key: '
|
|
191
|
+
return (index.h("div", { key: '543ca85d1e1edf809688da0636094478966f4fff', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index$1) => {
|
|
192
192
|
const badgeName = this.getBadgeName(tab);
|
|
193
193
|
return (index.h("div", { key: `tab-${index$1}`, 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 => {
|
|
194
194
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
var constants = require('./constants-DJRV1upE.js');
|
|
5
5
|
|
|
6
6
|
const sdTdCss = () => `sd-td *{box-sizing:border-box}sd-td{display:contents}sd-td.align-left{text-align:left}sd-td.align-center{text-align:center}sd-td.align-right{text-align:right}`;
|
|
@@ -158,7 +158,7 @@ const SdTd = class {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
render() {
|
|
161
|
-
return (index.h(index.Host, { key: '
|
|
161
|
+
return (index.h(index.Host, { key: 'e033a5018da4dd82db1707d339fb0c78e86b017e', class: { [`align-${this.align}`]: Boolean(this.align) } }, index.h("slot", { key: 'd9a303a00702f867d621f142d61ded542bb1d34f' })));
|
|
162
162
|
}
|
|
163
163
|
static get watchers() { return {
|
|
164
164
|
"field": [{
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
|
|
5
5
|
const textLink = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
icon: "16"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
sm: {
|
|
7
|
+
gap: "4",
|
|
8
|
+
icon: "16",
|
|
9
|
+
typography: {
|
|
10
|
+
"default": {
|
|
11
|
+
fontSize: "12",
|
|
12
|
+
textDecoration: "none"},
|
|
13
|
+
underline: {
|
|
14
|
+
fontSize: "12",
|
|
15
|
+
textDecoration: "underline"}
|
|
16
|
+
}
|
|
17
17
|
},
|
|
18
18
|
content: {
|
|
19
19
|
disabled: "#888888"
|
|
@@ -28,15 +28,15 @@ var textLinkTokens = {
|
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const TEXT_LINK_LAYOUT = {
|
|
31
|
-
gap: textLinkTokens.textLink.gap,
|
|
32
|
-
iconSize: Number(textLinkTokens.textLink.
|
|
31
|
+
gap: textLinkTokens.textLink.sm.gap,
|
|
32
|
+
iconSize: Number(textLinkTokens.textLink.sm.icon),
|
|
33
33
|
arrowFrame: 16, // TODO: 토큰 반영 후 교체
|
|
34
34
|
arrowIconSize: 12, // TODO: 토큰 반영 후 교체
|
|
35
35
|
arrowColor: '#888888', // TODO: 토큰 반영 후 교체 (grey_65)
|
|
36
36
|
};
|
|
37
37
|
const TEXT_LINK_TYPOGRAPHY = {
|
|
38
|
-
default: textLinkTokens.textLink.typography.default,
|
|
39
|
-
underline: textLinkTokens.textLink.typography.underline,
|
|
38
|
+
default: textLinkTokens.textLink.sm.typography.default,
|
|
39
|
+
underline: textLinkTokens.textLink.sm.typography.underline,
|
|
40
40
|
};
|
|
41
41
|
const TEXT_LINK_COLORS = {
|
|
42
42
|
content: textLinkTokens.textLink.content,
|
|
@@ -54,7 +54,7 @@ const SdTextLink = class {
|
|
|
54
54
|
icon = '';
|
|
55
55
|
iconColor = '';
|
|
56
56
|
labelClass = '';
|
|
57
|
-
|
|
57
|
+
rightArrow = 'none';
|
|
58
58
|
underline = false;
|
|
59
59
|
disabled = false;
|
|
60
60
|
click;
|
|
@@ -76,7 +76,7 @@ const SdTextLink = class {
|
|
|
76
76
|
'--sd-text-link-text-decoration': typo.textDecoration,
|
|
77
77
|
...(this.disabled ? { '--sd-text-link-color': TEXT_LINK_COLORS.content.disabled } : {}),
|
|
78
78
|
};
|
|
79
|
-
return (index.h("span", { key: '
|
|
79
|
+
return (index.h("span", { key: '26955b1626c09a6712b42454c6fb057e3a28a5b5', role: "button", tabindex: this.disabled ? -1 : 0, class: {
|
|
80
80
|
'sd-text-link': true,
|
|
81
81
|
'sd-text-link--disabled': this.disabled,
|
|
82
82
|
}, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
|
|
@@ -84,13 +84,13 @@ const SdTextLink = class {
|
|
|
84
84
|
e.preventDefault();
|
|
85
85
|
this.handleClick();
|
|
86
86
|
}
|
|
87
|
-
} }, this.icon && (index.h("sd-icon", { key: '
|
|
87
|
+
} }, this.icon && (index.h("sd-icon", { key: 'caa180d6b2cdc054c4c2becc486ac0bb5f1abdf7', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), index.h("span", { key: '65940e935169cfc2fabe1b52ec8a70111f726519', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (index.h("span", { key: 'e7c988784da2b38087f35a209f9bd912b742a688', class: "sd-text-link__arrow", style: {
|
|
88
88
|
width: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
|
|
89
89
|
height: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
|
|
90
90
|
display: 'inline-flex',
|
|
91
91
|
alignItems: 'center',
|
|
92
92
|
justifyContent: 'center',
|
|
93
|
-
} }, index.h("sd-icon", { key: '
|
|
93
|
+
} }, index.h("sd-icon", { key: '29da741e45513a6d33876c4ed4316cb6d6418266', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
|
|
94
94
|
}
|
|
95
95
|
};
|
|
96
96
|
SdTextLink.style = sdTextLinkCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
|
|
5
5
|
const DEFAULT_DURATION = 4000;
|
|
6
6
|
const DEFAULT_MAX_VISIBLE = 3;
|
|
@@ -234,7 +234,7 @@ const SdToastContainer = class {
|
|
|
234
234
|
const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
|
|
235
235
|
const indexMap = new Map();
|
|
236
236
|
activeToasts.forEach((t, i) => indexMap.set(t.id, i));
|
|
237
|
-
return (index.h("div", { key: '
|
|
237
|
+
return (index.h("div", { key: 'b5847f65c728fb5f31bda0f6756118fa975e4987', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
|
|
238
238
|
this.expanded = true;
|
|
239
239
|
this.pauseTimers();
|
|
240
240
|
}, onMouseLeave: () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
|
|
5
5
|
const toast = {
|
|
6
6
|
icon: "16",
|
|
@@ -84,12 +84,12 @@ const SdToast = class {
|
|
|
84
84
|
const linkColor = typeConfig.linkColor ?? typeConfig.content;
|
|
85
85
|
const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
|
|
86
86
|
const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
|
|
87
|
-
return (index.h("div", { key: '
|
|
87
|
+
return (index.h("div", { key: '0073ea37731ad1d8a54cb45f0eee8103159cbd65', style: {
|
|
88
88
|
'--sd-toast-bg': typeConfig.bg,
|
|
89
89
|
'--sd-toast-text': typeConfig.content,
|
|
90
90
|
'--sd-toast-icon': iconColor,
|
|
91
91
|
'--sd-toast-link': linkColor,
|
|
92
|
-
} }, index.h("div", { key: '
|
|
92
|
+
} }, index.h("div", { key: 'e14f7d2d5e15630989c4cb19ed375a704a8a783a', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (index.h("div", { key: '72b20a3e5920cd173ea2fa05393d991d477e948b', class: "sd-toast__icon" }, index.h("sd-icon", { key: 'ac2c30b63ae84da53066ba0ddc2fb211ef6b8bbf', name: this.icon, size: iconSize, color: iconColor }))), index.h("div", { key: '605dca0bcf05059e325f0c05800c11adc55d5da5', class: "sd-toast__content" }, index.h("span", { key: 'ba8d91256c01bd897b177a69372f813131bd4b03', class: "sd-toast__message" }, this.message)), this.link && (index.h("a", { key: 'a9283bacb928dc5d92ddc2e554967928035a5fab', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (index.h("sd-button", { key: '87b7d6bae7f0321e9557967f856e1b5e17697d17', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (index.h("sd-ghost-button", { key: 'e89b2cdd29115e366bb5665a483433393eb1b420', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
95
|
SdToast.style = sdToastCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
|
|
5
5
|
const toggle = {
|
|
6
6
|
height: "28",
|
|
@@ -120,7 +120,7 @@ const SdToggle = class {
|
|
|
120
120
|
'--sd-toggle-content-select': TOGGLE_COLORS.content.select,
|
|
121
121
|
'--sd-toggle-content-disabled': TOGGLE_COLORS.content.disabled,
|
|
122
122
|
};
|
|
123
|
-
return (index.h("label", { key: '
|
|
123
|
+
return (index.h("label", { key: '83b94f28bd8364edefcbfbadccb258b10d01df92', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, index.h("input", { key: '9becc0c6a5337c6d16301e998a9a5bbd92b198a6', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
126
|
SdToggle.style = sdToggleCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-C63F8C0_.js');
|
|
4
4
|
|
|
5
5
|
const TooltipArrow = (props) => (index.h("svg", { width: "16", height: "12", viewBox: "0 0 16 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, index.h("path", { d: "M8.83205 10.7519C8.43623 11.3457 7.56377 11.3457 7.16795 10.7519L1.04907e-06 -1.39876e-06L16 0L8.83205 10.7519Z", fill: "currentColor" })));
|
|
6
6
|
|
|
@@ -148,7 +148,7 @@ export const PRESET_CONTENT_COLORS = {
|
|
|
148
148
|
primary: buttonTokens.button.brand.strong.content,
|
|
149
149
|
secondary: buttonTokens.button.brand.subtle.content,
|
|
150
150
|
primary_outline: buttonTokens.button.brand.outline.content,
|
|
151
|
-
neutral_outline: buttonTokens.button.neutral.outline.
|
|
151
|
+
neutral_outline: buttonTokens.button.neutral.outline.text,
|
|
152
152
|
danger: buttonTokens.button.danger.strong.content,
|
|
153
153
|
danger_outline: buttonTokens.button.danger.outline.content,
|
|
154
154
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
2
|
sd-callout {
|
|
3
3
|
display: block;
|
|
4
|
-
width:
|
|
4
|
+
width: 100%;
|
|
5
5
|
}
|
|
6
6
|
sd-callout .sd-callout {
|
|
7
7
|
display: inline-flex;
|
|
8
8
|
align-items: stretch;
|
|
9
|
-
width:
|
|
9
|
+
width: inherit;
|
|
10
10
|
border: var(--sd-callout-border-width) solid var(--sd-callout-border);
|
|
11
11
|
border-radius: var(--sd-callout-radius);
|
|
12
12
|
background-color: var(--sd-callout-bg);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import datepickerTokens from "../../tokens/generated/component.datepicker.json";
|
|
2
|
+
import fieldTokens from "../../tokens/generated/component.field.json";
|
|
2
3
|
const sm = datepickerTokens.datepicker.sm;
|
|
3
4
|
const md = datepickerTokens.datepicker.md;
|
|
4
5
|
export const DATEPICKER_SIZE_MAP = {
|
|
@@ -27,5 +28,8 @@ export const DATEPICKER_COLORS = {
|
|
|
27
28
|
border: datepickerTokens.datepicker.border,
|
|
28
29
|
bg: datepickerTokens.datepicker.bg,
|
|
29
30
|
icon: datepickerTokens.datepicker.icon,
|
|
30
|
-
text:
|
|
31
|
+
text: {
|
|
32
|
+
...datepickerTokens.datepicker.text,
|
|
33
|
+
hint: fieldTokens.field.hint.color,
|
|
34
|
+
},
|
|
31
35
|
};
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import filePickerTokens from "../../tokens/generated/component.filepicker.json";
|
|
2
|
+
import fieldTokens from "../../tokens/generated/component.field.json";
|
|
2
3
|
const fp = filePickerTokens.filepicker;
|
|
3
4
|
export const FILE_PICKER_LAYOUT = {
|
|
4
|
-
height: fp.height,
|
|
5
|
-
paddingX: fp.paddingX,
|
|
6
|
-
gap: fp.gap,
|
|
7
|
-
radius: fp.radius,
|
|
8
|
-
borderWidth: fp.borderWidth,
|
|
9
|
-
fontSize: fp.typography.fontSize,
|
|
10
|
-
lineHeight: fp.typography.lineHeight,
|
|
11
|
-
fontWeight: fp.typography.fontWeight,
|
|
12
|
-
iconSize: fp.
|
|
13
|
-
contentsGap:
|
|
5
|
+
height: fp.sm.height,
|
|
6
|
+
paddingX: fp.sm.paddingX,
|
|
7
|
+
gap: fp.sm.gap,
|
|
8
|
+
radius: fp.sm.radius,
|
|
9
|
+
borderWidth: fp.sm.borderWidth,
|
|
10
|
+
fontSize: fp.sm.typography.fontSize,
|
|
11
|
+
lineHeight: fp.sm.typography.lineHeight,
|
|
12
|
+
fontWeight: fp.sm.typography.fontWeight,
|
|
13
|
+
iconSize: fp.sm.icon,
|
|
14
|
+
contentsGap: fieldTokens.field.contents.gap,
|
|
14
15
|
};
|
|
15
16
|
export const FILE_PICKER_COLORS = {
|
|
16
17
|
border: fp.border,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import numberInputTokens from "../../tokens/generated/component.numberInput.json";
|
|
2
|
+
import fieldTokens from "../../tokens/generated/component.field.json";
|
|
2
3
|
const sm = numberInputTokens.numberInput.sm;
|
|
3
4
|
const md = numberInputTokens.numberInput.md;
|
|
4
5
|
export const NUMBER_INPUT_SIZE_MAP = {
|
|
@@ -31,7 +32,7 @@ export const NUMBER_INPUT_STEPPER = {
|
|
|
31
32
|
bg: numberInputTokens.numberInput.stepper.bg,
|
|
32
33
|
icon: numberInputTokens.numberInput.stepper.icon,
|
|
33
34
|
};
|
|
34
|
-
export const NUMBER_INPUT_HINT =
|
|
35
|
-
export const NUMBER_INPUT_ERROR_MESSAGE =
|
|
36
|
-
export const NUMBER_INPUT_CONTENTS_GAP =
|
|
35
|
+
export const NUMBER_INPUT_HINT = fieldTokens.field.hint;
|
|
36
|
+
export const NUMBER_INPUT_ERROR_MESSAGE = fieldTokens.field.errorMessage;
|
|
37
|
+
export const NUMBER_INPUT_CONTENTS_GAP = fieldTokens.field.contents.gap;
|
|
37
38
|
export const NUMBER_INPUT_BORDER_WIDTH = numberInputTokens.numberInput.borderWidth;
|
|
@@ -53,17 +53,17 @@ export class SdPopover {
|
|
|
53
53
|
const leftLink = this.leftLink;
|
|
54
54
|
const button = this.button;
|
|
55
55
|
const hasFooter = !!leftLink || !!button;
|
|
56
|
-
return (h(Fragment, { key: '
|
|
56
|
+
return (h(Fragment, { key: '649e07ee45d3e7e5f72a438ef2939bfe6d3c56e4' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: '486d1859387b0c8cc82646ab5e7b6800792ca2be', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '4418e064c76478a5b4dfd2fb69d11e1603a22530', class: {
|
|
57
57
|
'sd-floating-menu': true,
|
|
58
58
|
'sd-floating-menu--popover': true,
|
|
59
59
|
[`sd-floating-menu--${placement}`]: true,
|
|
60
60
|
[menuClass]: menuClass !== '',
|
|
61
61
|
}, style: {
|
|
62
|
-
'--sd-floating-bg': popoverTokens.popover.bg,
|
|
63
|
-
} }, h("i", { key: '
|
|
62
|
+
'--sd-floating-bg': popoverTokens.popover.default.bg,
|
|
63
|
+
} }, h("i", { key: 'a181ce40ae957e77be7c8f9b10e6f1fe8190cd52', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '323bca17c3c245063cbd1ac55ed64bf6f6df9e3e' })), h("div", { key: '06e98cf6e888dc66a6a700710669c61ac9d9c494', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '831ca9893ccafcad8e0858fb28269428ebac6a07', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (h("div", { key: 'cdd2eafe18d5b0b44f10dbebbb68ed9d010173b1', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (h("div", { key: '8149044a08de968ef38f432ee3303d969b49eace', class: {
|
|
64
64
|
'sd-floating-menu__buttons': true,
|
|
65
65
|
'sd-floating-menu__buttons--with-link': !!leftLink,
|
|
66
|
-
} }, leftLink && (h("sd-text-link", { key: '
|
|
66
|
+
} }, leftLink && (h("sd-text-link", { key: '4c7e9c2b4fe8664b3af375a3c89b1cd50d64a9c3', 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 && (h("sd-button", { key: '730d867339257f168c11d7d1417c9d28a408f462', 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 }))))), h("sd-ghost-button", { key: '7a1f2edf0a601c0dfa91b4a02405c815d3257214', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
|
|
67
67
|
}
|
|
68
68
|
static get is() { return "sd-popover"; }
|
|
69
69
|
static get originalStyleUrls() {
|
|
@@ -345,7 +345,7 @@ export class SdPopover {
|
|
|
345
345
|
"mutable": false,
|
|
346
346
|
"complexType": {
|
|
347
347
|
"original": "PopoverLink",
|
|
348
|
-
"resolved": "(Partial<Pick<SdTextLink, \"disabled\" | \"underline\" | \"icon\" | \"iconColor\" | \"
|
|
348
|
+
"resolved": "(Partial<Pick<SdTextLink, \"disabled\" | \"underline\" | \"icon\" | \"iconColor\" | \"rightArrow\">> & { label: string; onClick?: ((e: Event) => void) | undefined; }) | undefined",
|
|
349
349
|
"references": {
|
|
350
350
|
"PopoverLink": {
|
|
351
351
|
"location": "local",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { LIST_ITEM_LAYOUT, LIST_ITEM_TYPOGRAPHY, LIST_ITEM_COLORS, } from "../sd-select.config";
|
|
2
|
+
import { LIST_ITEM_LAYOUT, LIST_ITEM_TYPOGRAPHY, LIST_ITEM_COLORS, isHtmlLabel, } from "../sd-select.config";
|
|
3
|
+
import { sanitizeInlineHtml } from "../../../utils/html/sanitize-inline-html";
|
|
3
4
|
export class SdSelectListItem {
|
|
4
5
|
option;
|
|
5
6
|
depth = 1;
|
|
@@ -70,7 +71,7 @@ export class SdSelectListItem {
|
|
|
70
71
|
return (
|
|
71
72
|
// 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
|
|
72
73
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events
|
|
73
|
-
h("div", { key: '
|
|
74
|
+
h("div", { key: 'f85ad121abc818e1a46d4a8d69621b62d4d42197', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
|
|
74
75
|
'sd-select-list-item': true,
|
|
75
76
|
'sd-select-list-item--group': isGroup,
|
|
76
77
|
'sd-select-list-item--depth1-group': isDepth1Group,
|
|
@@ -80,7 +81,7 @@ export class SdSelectListItem {
|
|
|
80
81
|
'sd-select-list-item--focused': this.isFocused,
|
|
81
82
|
'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
|
|
82
83
|
'sd-select-list-item--disabled': !!this.option.disabled,
|
|
83
|
-
}, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: '
|
|
84
|
+
}, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: '1ba65cfb53d1f41b71081608a331171e30763213', 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) ? (h("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.option.label)) })) : (h("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (h("span", { key: '22b1552a6fc6c60e3c985b38bf6874067efc5ec0', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
|
|
84
85
|
}
|
|
85
86
|
static get is() { return "sd-select-list-item"; }
|
|
86
87
|
static get originalStyleUrls() {
|
|
@@ -41,15 +41,15 @@ export class SdSelectListItemSearch {
|
|
|
41
41
|
clearTimeout(this.debounceTimer);
|
|
42
42
|
}
|
|
43
43
|
render() {
|
|
44
|
-
return (h("div", { key: '
|
|
44
|
+
return (h("div", { key: 'fed22be7a3156cd526c006a256434c93cbb34b78', class: {
|
|
45
45
|
'sd-select-list-item-search': true,
|
|
46
46
|
'sd-select-list-item-search--scrolled': this.isScrolled,
|
|
47
|
-
} }, h("div", { key: '
|
|
47
|
+
} }, h("div", { key: '27dd47fc17ad02da989febef2c05f32e0310f8cf', class: "sd-select-list-item-search__inner" }, h("sd-icon", { key: 'd6cda28af6d9100f03c7378ca3e435bb0d7813eb', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), h("input", { key: 'fc3a77a9dd1171b4ef6a66c4cc27f7dfd00ac611', ref: el => {
|
|
48
48
|
this.inputEl = el;
|
|
49
|
-
}, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: '
|
|
49
|
+
}, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: '3173d3ab47f961bc2277f729089d26656bdbdf19', type: "button", class: {
|
|
50
50
|
'sd-select-list-item-search__clear': true,
|
|
51
51
|
'sd-select-list-item-search__clear--hidden': this.searchText === '',
|
|
52
|
-
}, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: '
|
|
52
|
+
}, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: '18285bbf608ea53a44f35a608d1c2bb7abc11697', name: "close", size: 12, color: "#888888" })))));
|
|
53
53
|
}
|
|
54
54
|
static get is() { return "sd-select-list-item-search"; }
|
|
55
55
|
static get originalStyleUrls() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { LIST_BOX_LAYOUT, SEARCH_THRESHOLD, EMPTY_MESSAGE, countLeaves, filterTree, } from "../sd-select.config";
|
|
2
|
+
import { LIST_BOX_LAYOUT, SEARCH_THRESHOLD, EMPTY_MESSAGE, countLeaves, filterTree, isHtmlLabel, extractText, } from "../sd-select.config";
|
|
3
3
|
export class SdSelectListbox {
|
|
4
4
|
type = 'default';
|
|
5
5
|
options = [];
|
|
@@ -67,7 +67,10 @@ export class SdSelectListbox {
|
|
|
67
67
|
if (this.isDepth)
|
|
68
68
|
return filterTree(this.options, this.searchKeyword);
|
|
69
69
|
const keyword = this.searchKeyword.toLowerCase();
|
|
70
|
-
return this.options.filter(o =>
|
|
70
|
+
return this.options.filter(o => {
|
|
71
|
+
const labelText = isHtmlLabel(o.label) ? extractText(o.label) : o.label;
|
|
72
|
+
return labelText.toLowerCase().includes(keyword);
|
|
73
|
+
});
|
|
71
74
|
}
|
|
72
75
|
get isEmpty() {
|
|
73
76
|
if (this.isDepth)
|
|
@@ -348,9 +351,9 @@ export class SdSelectListbox {
|
|
|
348
351
|
'--listbox-max-height': this.maxHeight ?? '260px',
|
|
349
352
|
'--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
|
|
350
353
|
};
|
|
351
|
-
return (h("div", { key: '
|
|
354
|
+
return (h("div", { key: 'e0547836378ca809ba48bad194a9ff307af5e23f', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: 'e561d5f372f1fcbf31c3bde8042e9bcd06bac0e1', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: '851fb60b4063da678bcf1c3ae127f248be0c0bfe', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
|
|
352
355
|
this.listEl = el;
|
|
353
|
-
} }, this.showSelectAll && (h("sd-select-list-item", { key: '
|
|
356
|
+
} }, this.showSelectAll && (h("sd-select-list-item", { key: 'a88151c3f15a35de5b9bc7b7dd4e9e7658fb18de', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
|
|
354
357
|
}
|
|
355
358
|
static get is() { return "sd-select-listbox"; }
|
|
356
359
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { SELECT_LAYOUT, SELECT_TYPOGRAPHY, SELECT_COLORS } from "../sd-select.config";
|
|
2
|
+
import { SELECT_LAYOUT, SELECT_TYPOGRAPHY, SELECT_COLORS, isHtmlLabel } from "../sd-select.config";
|
|
3
|
+
import { sanitizeInlineHtml } from "../../../utils/html/sanitize-inline-html";
|
|
3
4
|
export class SdSelectTrigger {
|
|
4
5
|
displayText = '';
|
|
5
6
|
placeholder = '선택';
|
|
@@ -42,7 +43,7 @@ export class SdSelectTrigger {
|
|
|
42
43
|
? SELECT_COLORS.icon.disabled
|
|
43
44
|
: SELECT_COLORS.icon.default,
|
|
44
45
|
};
|
|
45
|
-
return (h("div", { key: '
|
|
46
|
+
return (h("div", { key: '463a86e25dbed4aaa8a785f26c5441828e9265d4', ref: el => {
|
|
46
47
|
this.triggerEl = el;
|
|
47
48
|
}, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
|
|
48
49
|
'sd-select-trigger': true,
|
|
@@ -53,7 +54,7 @@ export class SdSelectTrigger {
|
|
|
53
54
|
e.preventDefault();
|
|
54
55
|
this.handleClick();
|
|
55
56
|
}
|
|
56
|
-
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '
|
|
57
|
+
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '0067809554f428497ee1324307cf613f03ce7f6a', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (h("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (h("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), h("sd-icon", { key: '425163158c134c003f75165f1af0b2a5add62bb6', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
|
|
57
58
|
'sd-select-trigger__icon': true,
|
|
58
59
|
'sd-select-trigger__icon--open': this.isOpen,
|
|
59
60
|
} }))));
|
|
@@ -3,17 +3,17 @@ import listItemTokens from "../../tokens/generated/component.listItem.json";
|
|
|
3
3
|
import listBoxTokens from "../../tokens/generated/component.listBox.json";
|
|
4
4
|
// ── Select Trigger Tokens ──
|
|
5
5
|
export const SELECT_LAYOUT = {
|
|
6
|
-
height: selectTokens.select.height,
|
|
7
|
-
radius: selectTokens.select.radius,
|
|
8
|
-
borderWidth: selectTokens.select.borderWidth,
|
|
9
|
-
paddingX: selectTokens.select.paddingX,
|
|
10
|
-
gap: selectTokens.select.gap,
|
|
11
|
-
iconSize: selectTokens.select.
|
|
6
|
+
height: selectTokens.select.sm.height,
|
|
7
|
+
radius: selectTokens.select.sm.radius,
|
|
8
|
+
borderWidth: selectTokens.select.sm.borderWidth,
|
|
9
|
+
paddingX: selectTokens.select.sm.paddingX,
|
|
10
|
+
gap: selectTokens.select.sm.gap,
|
|
11
|
+
iconSize: selectTokens.select.sm.icon,
|
|
12
12
|
};
|
|
13
13
|
export const SELECT_TYPOGRAPHY = {
|
|
14
|
-
fontSize: selectTokens.select.typography.fontSize,
|
|
15
|
-
lineHeight: selectTokens.select.typography.lineHeight,
|
|
16
|
-
fontWeight: selectTokens.select.typography.fontWeight,
|
|
14
|
+
fontSize: selectTokens.select.sm.typography.fontSize,
|
|
15
|
+
lineHeight: selectTokens.select.sm.typography.lineHeight,
|
|
16
|
+
fontWeight: selectTokens.select.sm.typography.fontWeight,
|
|
17
17
|
};
|
|
18
18
|
export const SELECT_COLORS = {
|
|
19
19
|
icon: {
|
|
@@ -85,6 +85,12 @@ export const SEARCH_DEBOUNCE_MS = 1000;
|
|
|
85
85
|
export const MAX_DROPDOWN_WIDTH = '640px';
|
|
86
86
|
export const EMPTY_MESSAGE = '표시할 항목이 없습니다.';
|
|
87
87
|
// ── Utilities ──
|
|
88
|
+
export function isHtmlLabel(label) {
|
|
89
|
+
return /<[a-z][\s\S]*>/i.test(label);
|
|
90
|
+
}
|
|
91
|
+
export function extractText(html) {
|
|
92
|
+
return html.replace(/<[^>]*>/g, '');
|
|
93
|
+
}
|
|
88
94
|
export function countLeaves(options) {
|
|
89
95
|
return options.reduce((sum, option) => {
|
|
90
96
|
if (option.children) {
|
|
@@ -96,7 +102,8 @@ export function countLeaves(options) {
|
|
|
96
102
|
export function filterTree(options, keyword) {
|
|
97
103
|
const lowerKeyword = keyword.toLowerCase();
|
|
98
104
|
return options.reduce((acc, option) => {
|
|
99
|
-
const
|
|
105
|
+
const labelText = isHtmlLabel(option.label) ? extractText(option.label) : option.label;
|
|
106
|
+
const selfMatch = labelText.toLowerCase().includes(lowerKeyword);
|
|
100
107
|
if (option.children) {
|
|
101
108
|
// 그룹: 자식은 항상 추가로 필터링한다.
|
|
102
109
|
// - 자식 중 일치하는 게 있으면 그 자식들만 노출
|