@baloise/ds-core 20.0.0-next.7 → 20.0.0-next.9
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/components/ds-accordion.js +1 -1
- package/components/ds-alert-container.js +1 -1
- package/components/ds-app.js +1 -1
- package/components/ds-badge.js +1 -1
- package/components/ds-button-group.js +1 -1
- package/components/ds-button.js +1 -1
- package/components/ds-card-actions.js +1 -1
- package/components/ds-card-content.js +1 -1
- package/components/ds-card-subtitle.js +1 -1
- package/components/ds-card-title.js +1 -1
- package/components/ds-card.js +1 -1
- package/components/ds-carousel.js +1 -1
- package/components/ds-checkbox-group.js +1 -1
- package/components/ds-close.js +1 -1
- package/components/ds-content.js +1 -1
- package/components/ds-data-item.js +1 -1
- package/components/ds-date.js +1 -1
- package/components/ds-drawer.js +1 -1
- package/components/ds-file-upload.js +1 -1
- package/components/ds-footer.js +1 -1
- package/components/ds-heading.js +1 -1
- package/components/ds-hint.js +1 -1
- package/components/ds-icon.js +1 -1
- package/components/ds-input-slider.js +1 -1
- package/components/ds-input.js +1 -1
- package/components/ds-item.js +1 -1
- package/components/ds-modal.js +1 -1
- package/components/ds-navbar.js +1 -1
- package/components/ds-notification.js +1 -1
- package/components/ds-number-input.js +1 -1
- package/components/ds-pagination.js +1 -1
- package/components/ds-popup.js +1 -1
- package/components/ds-radio-group.js +1 -1
- package/components/ds-segment.js +1 -1
- package/components/ds-select.js +1 -1
- package/components/ds-snackbar.js +1 -1
- package/components/ds-spinner.js +1 -1
- package/components/ds-stack.js +1 -1
- package/components/ds-step.js +1 -1
- package/components/ds-steps.js +1 -1
- package/components/ds-tabs.js +1 -1
- package/components/ds-tag.js +1 -1
- package/components/ds-textarea.js +1 -1
- package/components/ds-toast.js +1 -1
- package/components/index.js +1 -1
- package/components/{p-DenZRIeA.js → p-BXJT6RzI.js} +1 -1
- package/components/p-BdLq-Ecc.js +4 -0
- package/components/{p-DSeYzuO7.js → p-BmKEBYP4.js} +1 -1
- package/components/p-BoWAkGY5.js +4 -0
- package/components/{p-DYTOWDAA.js → p-CTbJFS-e.js} +1 -1
- package/components/{p-VsWv65bD.js → p-CaMOovXn.js} +1 -1
- package/components/p-Ce8PV2ZO.js +4 -0
- package/components/p-CmBtAxar.js +4 -0
- package/components/p-D8gpyiFZ.js +4 -0
- package/components/{p-ng5ZzTOj.js → p-DBX_haol.js} +1 -1
- package/components/{p-ABj0eATe.js → p-DPbhygsR.js} +1 -1
- package/components/{p-BwwAKEvn.js → p-DZzsZ_YH.js} +1 -1
- package/components/p-DbUsvqrz.js +4 -0
- package/components/p-Dbqy6lZU.js +5 -0
- package/components/{p-D9YYP2SG.js → p-fS80bKHo.js} +1 -1
- package/components/{p-D5zw5ezD.js → p-hPpcXLRP.js} +1 -1
- package/components/p-o0H7eIVX.js +5 -0
- package/components/p-std0LSH2.js +4 -0
- package/components/p-u5aa74vh.js +2 -1
- package/components/p-wud2RGEy.js +4 -0
- package/dist/cjs/{breakpoints.decorator-DY5iYsA5.js → breakpoints.decorator-DbttiLa9.js} +1 -1
- package/dist/cjs/{breakpoints.subject-CzhLlIwN.js → breakpoints.subject-CNyiZaBe.js} +3 -3
- package/dist/cjs/{button.interfaces-CqlUGR-N.js → button.interfaces-BKyK0H_f.js} +0 -1
- package/dist/cjs/{config.decorator-C64wi-MA.js → config.decorator-bU7c6ybP.js} +1 -1
- package/dist/cjs/{config.utils-BhWbrVRz.js → config.utils-BhJig3l5.js} +1 -1
- package/dist/cjs/{create-validator-decorator-Ctd288ve.js → create-validator-decorator-CiRieHJL.js} +1 -1
- package/dist/cjs/design-system.cjs.js +2 -2
- package/dist/cjs/{device-CIliLOe9.js → device-DM1GXL99.js} +1 -1
- package/dist/cjs/ds-accordion.cjs.entry.js +9 -9
- package/dist/cjs/ds-alert-container.cjs.entry.js +13 -17
- package/dist/cjs/ds-app.cjs.entry.js +35 -8
- package/dist/cjs/ds-badge.cjs.entry.js +20 -39
- package/dist/cjs/ds-button-group.cjs.entry.js +7 -7
- package/dist/cjs/ds-button_2.cjs.entry.js +20 -20
- package/dist/cjs/ds-card-actions.cjs.entry.js +4 -4
- package/dist/cjs/ds-card-content.cjs.entry.js +3 -3
- package/dist/cjs/ds-card-header.cjs.entry.js +5 -5
- package/dist/cjs/ds-card-subtitle.cjs.entry.js +10 -14
- package/dist/cjs/ds-card-title.cjs.entry.js +8 -14
- package/dist/cjs/ds-card.cjs.entry.js +7 -7
- package/dist/cjs/ds-carousel-item.cjs.entry.js +6 -6
- package/dist/cjs/ds-carousel.cjs.entry.js +8 -8
- package/dist/cjs/ds-checkbox-group.cjs.entry.js +22 -15
- package/dist/cjs/ds-checkbox.cjs.entry.js +7 -7
- package/dist/cjs/ds-content_2.cjs.entry.js +18 -68
- package/dist/cjs/ds-data-item.cjs.entry.js +6 -6
- package/dist/cjs/ds-data-label.cjs.entry.js +4 -4
- package/dist/cjs/ds-data-value.cjs.entry.js +2 -2
- package/dist/cjs/ds-data.cjs.entry.js +4 -4
- package/dist/cjs/ds-date.cjs.entry.js +18 -12
- package/dist/cjs/ds-divider_2.cjs.entry.js +12 -12
- package/dist/cjs/ds-drawer_2.cjs.entry.js +9 -9
- package/dist/cjs/ds-file-upload.cjs.entry.js +18 -11
- package/dist/cjs/ds-footer.cjs.entry.js +7 -7
- package/dist/cjs/ds-heading.cjs.entry.js +21 -37
- package/dist/cjs/ds-hint-text.cjs.entry.js +2 -2
- package/dist/cjs/ds-hint-title.cjs.entry.js +2 -2
- package/dist/cjs/ds-hint.cjs.entry.js +11 -11
- package/dist/cjs/ds-icon_2.cjs.entry.js +19 -23
- package/dist/cjs/ds-input-slider.cjs.entry.js +21 -14
- package/dist/cjs/ds-input.cjs.entry.js +20 -11
- package/dist/cjs/ds-item.cjs.entry.js +7 -7
- package/dist/cjs/ds-label.cjs.entry.js +8 -8
- package/dist/cjs/ds-list.cjs.entry.js +4 -4
- package/dist/cjs/ds-modal-body.cjs.entry.js +2 -2
- package/dist/cjs/ds-modal-header.cjs.entry.js +2 -2
- package/dist/cjs/ds-modal.cjs.entry.js +7 -7
- package/dist/cjs/ds-navbar.cjs.entry.js +14 -14
- package/dist/cjs/ds-notification.cjs.entry.js +16 -22
- package/dist/cjs/ds-number-input.cjs.entry.js +20 -11
- package/dist/cjs/ds-pagination.cjs.entry.js +12 -12
- package/dist/cjs/ds-progress-bar.cjs.entry.js +12 -12
- package/dist/cjs/ds-radio-group.cjs.entry.js +21 -14
- package/dist/cjs/ds-radio.cjs.entry.js +7 -7
- package/dist/cjs/ds-segment-item.cjs.entry.js +4 -4
- package/dist/cjs/ds-segment.cjs.entry.js +21 -15
- package/dist/cjs/ds-select-optgroup.cjs.entry.js +4 -4
- package/dist/cjs/ds-select-option.cjs.entry.js +4 -4
- package/dist/cjs/ds-select.cjs.entry.js +18 -13
- package/dist/cjs/ds-shape.cjs.entry.js +4 -4
- package/dist/cjs/ds-snackbar.cjs.entry.js +36 -24
- package/dist/cjs/ds-step-panel.cjs.entry.js +5 -5
- package/dist/cjs/ds-step.cjs.entry.js +5 -5
- package/dist/cjs/ds-steps.cjs.entry.js +7 -14
- package/dist/cjs/ds-tab-panel.cjs.entry.js +5 -5
- package/dist/cjs/ds-tab.cjs.entry.js +5 -5
- package/dist/cjs/ds-tabs.cjs.entry.js +8 -8
- package/dist/cjs/ds-tag-group.cjs.entry.js +2 -2
- package/dist/cjs/ds-tag.cjs.entry.js +7 -7
- package/dist/cjs/ds-text.cjs.entry.js +6 -6
- package/dist/cjs/ds-textarea.cjs.entry.js +19 -10
- package/dist/cjs/ds-toast.cjs.entry.js +32 -20
- package/dist/cjs/ds-toggle.cjs.entry.js +5 -5
- package/dist/cjs/ds-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/{field.util-g9nhtuZH.js → field.util-C7hgA41e.js} +32 -2
- package/dist/cjs/{focus-BUszBnbl.js → focus-CHzvkERd.js} +1 -1
- package/dist/cjs/{form-control-B4Qf8fg-.js → form-control-CmRONWa7.js} +1 -1
- package/dist/cjs/{has-value-rj502MLA.js → has-value-3s9rhB3K.js} +1 -1
- package/dist/cjs/{heading.interfaces-B5NJ2yjL.js → heading.interfaces-CAc5LNKb.js} +2 -3
- package/dist/cjs/{index-CqInh7Vc.js → index-DD7qcaNz.js} +75 -1
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{listener-1PZJDuOW.js → listener-CAzIWSXQ.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{one-of-BotLfpAZ.js → one-of-xdIxH9e7.js} +1 -1
- package/dist/cjs/{required-BAhZ8oRM.js → required-Dh6TQNa1.js} +1 -1
- package/dist/cjs/{resize.decorator-Sqefy8ta.js → resize.decorator-C53-TjuS.js} +2 -2
- package/dist/cjs/{scroll--5tnvpG1.js → scroll-BOeiw1-E.js} +1 -1
- package/dist/cjs/{svg-D9RbiR8R.js → svg-B9eUbG7a.js} +96 -33
- package/dist/cjs/{tslib.es6-BIB10hMZ.js → tslib.es6-DMgN1vwG.js} +1 -1
- package/dist/cjs/{type-Br_NbeTX.js → type-BcP2cAG-.js} +1 -1
- package/dist/collection/components/accordion/accordion.host.css +1 -1
- package/dist/collection/components/alert/alert-container.interfaces.js +1 -1
- package/dist/collection/components/alert/alert-container.js +9 -14
- package/dist/collection/components/alert/snackbar/snackbar.host.css +1 -1
- package/dist/collection/components/alert/snackbar/snackbar.js +22 -10
- package/dist/collection/components/alert/toast/toast.host.css +1 -1
- package/dist/collection/components/alert/toast/toast.js +20 -8
- package/dist/collection/components/app/app.js +30 -3
- package/dist/collection/components/badge/badge.host.css +1 -1
- package/dist/collection/components/badge/badge.interfaces.js +3 -3
- package/dist/collection/components/badge/badge.js +20 -42
- package/dist/collection/components/button/button.interfaces.js +0 -1
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/card/card-content/card-content.host.css +1 -1
- package/dist/collection/components/card/card-subtitle/card-subtitle.js +6 -11
- package/dist/collection/components/card/card-title/card-title.js +4 -11
- package/dist/collection/components/card/card.host.css +1 -1
- package/dist/collection/components/checkbox/checkbox-group/checkbox-group.js +16 -7
- package/dist/collection/components/checkbox/test/checkbox.visual.play.js +1 -0
- package/dist/collection/components/close/close.host.css +1 -1
- package/dist/collection/components/close/close.interfaces.js +1 -1
- package/dist/collection/components/close/close.js +14 -16
- package/dist/collection/components/content/content.host.css +1 -1
- package/dist/collection/components/content/content.interfaces.js +2 -3
- package/dist/collection/components/content/content.js +21 -60
- package/dist/collection/components/date/date.js +12 -4
- package/dist/collection/components/date/test/date.visual.play.js +1 -0
- package/dist/collection/components/file-upload/file-upload.js +13 -4
- package/dist/collection/components/file-upload/test/file-upload.visual.play.js +10 -1
- package/dist/collection/components/heading/heading.host.css +1 -1
- package/dist/collection/components/heading/heading.interfaces.js +2 -3
- package/dist/collection/components/heading/heading.js +25 -45
- package/dist/collection/components/input/field.util.js +1 -1
- package/dist/collection/components/input/input.js +14 -3
- package/dist/collection/components/input/test/input.visual.play.js +2 -1
- package/dist/collection/components/input-slider/input-slider.js +17 -8
- package/dist/collection/components/input-slider/test/input-slider.visual.play.js +1 -0
- package/dist/collection/components/list/item/item.host.css +1 -1
- package/dist/collection/components/notification/notification.host.css +1 -1
- package/dist/collection/components/notification/notification.interfaces.js +1 -2
- package/dist/collection/components/notification/notification.js +11 -17
- package/dist/collection/components/number-input/number-input.js +13 -2
- package/dist/collection/components/number-input/test/number-input.visual.play.js +1 -1
- package/dist/collection/components/radio/radio-group/radio-group.js +16 -7
- package/dist/collection/components/radio/test/radio.visual.play.js +1 -0
- package/dist/collection/components/segment/segment/segment.js +15 -7
- package/dist/collection/components/segment/test/segment.visual.play.js +1 -0
- package/dist/collection/components/select/select.host.css +1 -1
- package/dist/collection/components/select/select.js +11 -4
- package/dist/collection/components/select/test/select.visual.play.js +2 -2
- package/dist/collection/components/spinner/spinner.host.css +1 -1
- package/dist/collection/components/spinner/spinner.interfaces.js +1 -1
- package/dist/collection/components/spinner/spinner.js +12 -16
- package/dist/collection/components/stack/stack.host.css +1 -1
- package/dist/collection/components/stack/stack.interfaces.js +1 -2
- package/dist/collection/components/stack/stack.js +13 -33
- package/dist/collection/components/steps/steps/steps.js +1 -8
- package/dist/collection/components/steps/test/steps.component.play.js +29 -1
- package/dist/collection/components/tag/tag.host.css +1 -1
- package/dist/collection/components/textarea/test/textarea.visual.play.js +2 -2
- package/dist/collection/components/textarea/textarea.js +13 -2
- package/dist/collection/global/constants/version.constant.js +1 -1
- package/dist/collection/global/global.js +2 -0
- package/dist/collection/global/token-preview.js +75 -0
- package/dist/collection/global/token-preview.types.js +1 -0
- package/dist/collection/utils/index.js +1 -0
- package/dist/collection/utils/invalid-text-slot.js +31 -0
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/index.esm.js +1 -1
- package/dist/design-system/{p-b4738dc266.entry.js → p-001b20140b.entry.js} +1 -1
- package/dist/design-system/p-0c031d8d90.entry.js +4 -0
- package/dist/design-system/p-0c18812daa.entry.js +4 -0
- package/dist/design-system/p-14e27a87da.entry.js +4 -0
- package/dist/design-system/{p-564ee4d78f.entry.js → p-19e0638e5c.entry.js} +1 -1
- package/dist/design-system/{p-ee76bf354e.entry.js → p-1dc3406415.entry.js} +1 -1
- package/dist/design-system/{p-3d2539929c.entry.js → p-200a0ea72c.entry.js} +1 -1
- package/dist/design-system/{p-ce67cbbed5.entry.js → p-2516721737.entry.js} +1 -1
- package/dist/design-system/{p-24c85e99f5.entry.js → p-2a67e9b4eb.entry.js} +1 -1
- package/dist/design-system/p-2cc9740eb6.entry.js +4 -0
- package/dist/design-system/p-37295c3a5d.entry.js +4 -0
- package/dist/design-system/{p-b44641ec28.entry.js → p-3d1f15112e.entry.js} +1 -1
- package/dist/design-system/p-3de8e2b6c9.entry.js +4 -0
- package/dist/design-system/{p-0bf3d4d939.entry.js → p-4042b35fee.entry.js} +1 -1
- package/dist/design-system/{p-00e6b1b780.entry.js → p-40b3d4d0f9.entry.js} +1 -1
- package/dist/design-system/{p-5f1a8be21c.entry.js → p-45af50a69f.entry.js} +1 -1
- package/dist/design-system/p-4df80c06f8.entry.js +4 -0
- package/dist/design-system/p-4f12c6449d.entry.js +4 -0
- package/dist/design-system/p-4f95f06b86.entry.js +4 -0
- package/dist/design-system/p-573457cd4b.entry.js +4 -0
- package/dist/design-system/{p-2eb6067210.entry.js → p-662983c8bd.entry.js} +1 -1
- package/dist/design-system/{p-32e156bc72.entry.js → p-68693c06a1.entry.js} +1 -1
- package/dist/design-system/{p-9f9364d7df.entry.js → p-69784a200e.entry.js} +1 -1
- package/dist/design-system/{p-ChSKXFK5.js → p-6Iq8BM7N.js} +1 -1
- package/dist/design-system/{p-a42ecb68a0.entry.js → p-6ba71ce374.entry.js} +1 -1
- package/dist/design-system/{p-5ded2b6438.entry.js → p-72c08ce551.entry.js} +1 -1
- package/dist/design-system/p-72fe1ab876.entry.js +4 -0
- package/dist/design-system/p-73b26207bf.entry.js +4 -0
- package/dist/design-system/{p-b8669a617c.entry.js → p-7576fb01bf.entry.js} +1 -1
- package/dist/design-system/p-819d71abe1.entry.js +4 -0
- package/dist/design-system/{p-6c60833550.entry.js → p-88682a66d5.entry.js} +1 -1
- package/dist/design-system/{p-ab8bee7022.entry.js → p-8a7c2f5b0a.entry.js} +1 -1
- package/dist/design-system/{p-5d4a5d0b61.entry.js → p-8bfcfd7b07.entry.js} +1 -1
- package/dist/design-system/p-936673f9f9.entry.js +4 -0
- package/dist/design-system/{p-f7be5b6114.entry.js → p-9537ebc880.entry.js} +1 -1
- package/dist/design-system/{p-3e3a6799d6.entry.js → p-96d37205c9.entry.js} +1 -1
- package/dist/design-system/{p-4bfc094a03.entry.js → p-97ad0e648a.entry.js} +1 -1
- package/dist/design-system/p-9e0f190f06.entry.js +4 -0
- package/dist/design-system/{p-adc58b2821.entry.js → p-9f746ea4e3.entry.js} +1 -1
- package/dist/design-system/{p-DJBD4skP.js → p-B2dqoehY.js} +2 -2
- package/dist/design-system/p-B9ddSbbe.js +4 -0
- package/dist/design-system/p-BDcIydUK.js +4 -0
- package/dist/design-system/p-BdLq-Ecc.js +4 -0
- package/dist/design-system/{p-Dk0GEN2t.js → p-BjaiDrCD.js} +1 -1
- package/dist/design-system/{p-DoHCSvjl.js → p-BnJgNfen.js} +1 -1
- package/dist/design-system/{p-DOvdnojj.js → p-Bnpwi9iD.js} +1 -1
- package/dist/design-system/p-C6AmBSV7.js +4 -0
- package/dist/design-system/{p-Chgme2NJ.js → p-CBGYLNZZ.js} +1 -1
- package/dist/design-system/{p-1A9jKraP.js → p-CR2JnhVY.js} +1 -1
- package/dist/design-system/{p-CfgwSore.js → p-ClSAXeZN.js} +1 -1
- package/dist/design-system/p-D-_px2sY.js +5 -0
- package/dist/design-system/p-DNQg2PVW.js +4 -0
- package/dist/design-system/p-DQGbRzw_.js +4 -0
- package/dist/design-system/{p-x2KazRjl.js → p-DWdcUUdS.js} +1 -1
- package/dist/design-system/{p-C5Rtikeh.js → p-DuKlHFAK.js} +1 -1
- package/dist/design-system/{p-B-v2Wm-V.js → p-MUUOiuTm.js} +2 -2
- package/dist/design-system/p-_Ywzmi-B.js +4 -0
- package/dist/design-system/{p-Y0rKqVvm.js → p-_rk5qARQ.js} +1 -1
- package/dist/design-system/{p-44981aaf8d.entry.js → p-a343b84e8a.entry.js} +1 -1
- package/dist/design-system/p-a3ed278181.entry.js +4 -0
- package/dist/design-system/{p-CrYAd3JT.js → p-aPnyJLhr.js} +1 -1
- package/dist/design-system/{p-fa613cd0d1.entry.js → p-abcc8edf7e.entry.js} +1 -1
- package/dist/design-system/{p-3d675c6507.entry.js → p-ac55e3783c.entry.js} +1 -1
- package/dist/design-system/{p-3e43fa2bc6.entry.js → p-ac7f3f89be.entry.js} +1 -1
- package/dist/design-system/{p-1b1e3ad99c.entry.js → p-ae8753bf2a.entry.js} +1 -1
- package/dist/design-system/{p-d3a80b8422.entry.js → p-afea3755c2.entry.js} +1 -1
- package/dist/design-system/{p-0ea6cdd218.entry.js → p-bd31b396d8.entry.js} +1 -1
- package/dist/design-system/p-bd740897a1.entry.js +4 -0
- package/dist/design-system/p-bec54c38fc.entry.js +4 -0
- package/dist/design-system/{p-1750b3c4f1.entry.js → p-bf03129378.entry.js} +1 -1
- package/dist/design-system/{p-85bf3794f9.entry.js → p-bfd0557b47.entry.js} +1 -1
- package/dist/design-system/{p-7246bfb9a0.entry.js → p-c07aa25e4d.entry.js} +1 -1
- package/dist/design-system/p-c19c74c2b1.entry.js +4 -0
- package/dist/design-system/p-c8f95bd01a.entry.js +4 -0
- package/dist/design-system/{p-a782c877ea.entry.js → p-d5d7700fd3.entry.js} +1 -1
- package/dist/design-system/p-d727654ec3.entry.js +4 -0
- package/dist/design-system/{p-aa3aee2591.entry.js → p-dadd7a84bc.entry.js} +1 -1
- package/dist/design-system/p-dd5e815ef3.entry.js +4 -0
- package/dist/design-system/p-e16572468e.entry.js +4 -0
- package/dist/design-system/{p-8a9d617f75.entry.js → p-e23b6d59c0.entry.js} +1 -1
- package/dist/design-system/p-e94b66c13e.entry.js +4 -0
- package/dist/design-system/{p-78112e7b35.entry.js → p-ec3f2ded29.entry.js} +1 -1
- package/dist/design-system/{p-2b038255c5.entry.js → p-ed3f364d1f.entry.js} +1 -1
- package/dist/design-system/{p-599a693db3.entry.js → p-eedaf7fe85.entry.js} +1 -1
- package/dist/design-system/p-ef1bf78788.entry.js +4 -0
- package/dist/design-system/p-f7787fca37.entry.js +4 -0
- package/dist/design-system/{p-dbd3d3b3d3.entry.js → p-fd868dc1f5.entry.js} +1 -1
- package/dist/esm/{breakpoints.decorator-D9M4v98c.js → breakpoints.decorator-CIweMjJQ.js} +1 -1
- package/dist/esm/{breakpoints.subject-DHZ7TzYV.js → breakpoints.subject-CUVOWezN.js} +3 -3
- package/dist/esm/{button.interfaces-BPGfTrrM.js → button.interfaces-C6AmBSV7.js} +0 -1
- package/dist/esm/{config.decorator-CRYVBTkX.js → config.decorator-CyvsD1EY.js} +1 -1
- package/dist/esm/{config.utils-CR4Xudpz.js → config.utils-Db2OSTX3.js} +1 -1
- package/dist/esm/{create-validator-decorator-fUav5byo.js → create-validator-decorator-g9TfAa1g.js} +1 -1
- package/dist/esm/design-system.js +3 -3
- package/dist/esm/{device-CapioAfe.js → device-CtidwsPr.js} +1 -1
- package/dist/esm/ds-accordion.entry.js +9 -9
- package/dist/esm/ds-alert-container.entry.js +13 -17
- package/dist/esm/ds-app.entry.js +35 -8
- package/dist/esm/ds-badge.entry.js +20 -39
- package/dist/esm/ds-button-group.entry.js +7 -7
- package/dist/esm/ds-button_2.entry.js +20 -20
- package/dist/esm/ds-card-actions.entry.js +4 -4
- package/dist/esm/ds-card-content.entry.js +3 -3
- package/dist/esm/ds-card-header.entry.js +5 -5
- package/dist/esm/ds-card-subtitle.entry.js +10 -14
- package/dist/esm/ds-card-title.entry.js +8 -14
- package/dist/esm/ds-card.entry.js +7 -7
- package/dist/esm/ds-carousel-item.entry.js +6 -6
- package/dist/esm/ds-carousel.entry.js +8 -8
- package/dist/esm/ds-checkbox-group.entry.js +22 -15
- package/dist/esm/ds-checkbox.entry.js +7 -7
- package/dist/esm/ds-content_2.entry.js +18 -68
- package/dist/esm/ds-data-item.entry.js +6 -6
- package/dist/esm/ds-data-label.entry.js +4 -4
- package/dist/esm/ds-data-value.entry.js +2 -2
- package/dist/esm/ds-data.entry.js +4 -4
- package/dist/esm/ds-date.entry.js +18 -12
- package/dist/esm/ds-divider_2.entry.js +12 -12
- package/dist/esm/ds-drawer_2.entry.js +9 -9
- package/dist/esm/ds-file-upload.entry.js +18 -11
- package/dist/esm/ds-footer.entry.js +7 -7
- package/dist/esm/ds-heading.entry.js +21 -37
- package/dist/esm/ds-hint-text.entry.js +2 -2
- package/dist/esm/ds-hint-title.entry.js +2 -2
- package/dist/esm/ds-hint.entry.js +11 -11
- package/dist/esm/ds-icon_2.entry.js +19 -23
- package/dist/esm/ds-input-slider.entry.js +21 -14
- package/dist/esm/ds-input.entry.js +20 -11
- package/dist/esm/ds-item.entry.js +7 -7
- package/dist/esm/ds-label.entry.js +8 -8
- package/dist/esm/ds-list.entry.js +4 -4
- package/dist/esm/ds-modal-body.entry.js +2 -2
- package/dist/esm/ds-modal-header.entry.js +2 -2
- package/dist/esm/ds-modal.entry.js +7 -7
- package/dist/esm/ds-navbar.entry.js +14 -14
- package/dist/esm/ds-notification.entry.js +16 -22
- package/dist/esm/ds-number-input.entry.js +20 -11
- package/dist/esm/ds-pagination.entry.js +12 -12
- package/dist/esm/ds-progress-bar.entry.js +12 -12
- package/dist/esm/ds-radio-group.entry.js +21 -14
- package/dist/esm/ds-radio.entry.js +7 -7
- package/dist/esm/ds-segment-item.entry.js +4 -4
- package/dist/esm/ds-segment.entry.js +21 -15
- package/dist/esm/ds-select-optgroup.entry.js +4 -4
- package/dist/esm/ds-select-option.entry.js +4 -4
- package/dist/esm/ds-select.entry.js +18 -13
- package/dist/esm/ds-shape.entry.js +4 -4
- package/dist/esm/ds-snackbar.entry.js +36 -24
- package/dist/esm/ds-step-panel.entry.js +5 -5
- package/dist/esm/ds-step.entry.js +5 -5
- package/dist/esm/ds-steps.entry.js +7 -14
- package/dist/esm/ds-tab-panel.entry.js +5 -5
- package/dist/esm/ds-tab.entry.js +5 -5
- package/dist/esm/ds-tabs.entry.js +8 -8
- package/dist/esm/ds-tag-group.entry.js +2 -2
- package/dist/esm/ds-tag.entry.js +7 -7
- package/dist/esm/ds-text.entry.js +6 -6
- package/dist/esm/ds-textarea.entry.js +19 -10
- package/dist/esm/ds-toast.entry.js +32 -20
- package/dist/esm/ds-toggle.entry.js +5 -5
- package/dist/esm/ds-tooltip.entry.js +4 -4
- package/dist/esm/{field.util-neIQBS-h.js → field.util-Dl02gvlr.js} +32 -3
- package/dist/esm/{focus-6OAqvfus.js → focus-C1_jVoAm.js} +1 -1
- package/dist/esm/{form-control-DhinyMa9.js → form-control-BAP86QSm.js} +1 -1
- package/dist/esm/{has-value-Dmsj8ZQw.js → has-value-CADjf9QZ.js} +1 -1
- package/dist/esm/{heading.interfaces-Ceu7FIWM.js → heading.interfaces-BdLq-Ecc.js} +2 -3
- package/dist/esm/{index-B-v2Wm-V.js → index-MUUOiuTm.js} +75 -1
- package/dist/esm/index.js +10 -10
- package/dist/esm/{listener-DIZDQOuO.js → listener-DiVrGAqj.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{one-of-CjRvS2Tk.js → one-of-rLykP5eX.js} +1 -1
- package/dist/esm/{required-Dtml5IID.js → required-BsfIY-qW.js} +1 -1
- package/dist/esm/{resize.decorator-eogZBBk6.js → resize.decorator-BNy5tJCt.js} +2 -2
- package/dist/esm/{scroll-v2MaEkiZ.js → scroll-D4cC-Fsr.js} +1 -1
- package/dist/esm/{svg-B8KVoKrH.js → svg-D-_px2sY.js} +96 -33
- package/dist/esm/{tslib.es6-n47B6oUi.js → tslib.es6-C7vR-gMn.js} +1 -1
- package/dist/esm/{type-7qEQcw90.js → type-Bqge296W.js} +1 -1
- package/dist/types/components/alert/alert-container.d.ts +5 -6
- package/dist/types/components/alert/alert-container.interfaces.d.ts +1 -1
- package/dist/types/components/alert/snackbar/snackbar.d.ts +10 -6
- package/dist/types/components/alert/toast/toast.d.ts +8 -4
- package/dist/types/components/app/app.d.ts +23 -0
- package/dist/types/components/badge/badge.d.ts +12 -4
- package/dist/types/components/badge/badge.interfaces.d.ts +3 -3
- package/dist/types/components/button/button.interfaces.d.ts +1 -1
- package/dist/types/components/card/card-subtitle/card-subtitle.d.ts +1 -1
- package/dist/types/components/card/card-title/card-title.d.ts +1 -1
- package/dist/types/components/checkbox/checkbox-group/checkbox-group.d.ts +4 -0
- package/dist/types/components/close/close.d.ts +14 -2
- package/dist/types/components/close/close.interfaces.d.ts +1 -1
- package/dist/types/components/content/content.d.ts +6 -6
- package/dist/types/components/content/content.interfaces.d.ts +3 -3
- package/dist/types/components/date/date.d.ts +3 -0
- package/dist/types/components/file-upload/file-upload.d.ts +3 -0
- package/dist/types/components/heading/heading.d.ts +10 -10
- package/dist/types/components/heading/heading.interfaces.d.ts +3 -3
- package/dist/types/components/input/input.d.ts +4 -0
- package/dist/types/components/input-slider/input-slider.d.ts +4 -1
- package/dist/types/components/notification/notification.d.ts +5 -5
- package/dist/types/components/notification/notification.interfaces.d.ts +2 -2
- package/dist/types/components/number-input/number-input.d.ts +4 -0
- package/dist/types/components/radio/radio-group/radio-group.d.ts +4 -0
- package/dist/types/components/segment/segment/segment.d.ts +3 -0
- package/dist/types/components/select/select.d.ts +3 -0
- package/dist/types/components/spinner/spinner.d.ts +8 -7
- package/dist/types/components/spinner/spinner.interfaces.d.ts +1 -1
- package/dist/types/components/stack/stack.d.ts +3 -3
- package/dist/types/components/stack/stack.interfaces.d.ts +2 -2
- package/dist/types/components/textarea/textarea.d.ts +4 -0
- package/dist/types/components.d.ts +29 -74
- package/dist/types/global/token-preview.d.ts +8 -0
- package/dist/types/global/token-preview.types.d.ts +20 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/invalid-text-slot.d.ts +9 -0
- package/docs/cem.json +100 -92
- package/docs/components.json +1246 -1409
- package/docs/html.html-data.json +1 -1
- package/docs/visual-pages.json +51 -0
- package/package.json +29 -6
- package/sbom.cdx.json +35379 -17251
- package/components/p--EKmxaBS.js +0 -4
- package/components/p-CA7G72wZ.js +0 -4
- package/components/p-CWDuQL1i.js +0 -4
- package/components/p-Ceu7FIWM.js +0 -4
- package/components/p-DQBzmbR6.js +0 -4
- package/components/p-DY0y8uLL.js +0 -4
- package/components/p-Du7QOHtz.js +0 -5
- package/components/p-FBQaJyH0.js +0 -4
- package/components/p-gz0Nxl39.js +0 -4
- package/components/p-qaSW94OG.js +0 -4
- package/dist/design-system/p-0f2a87fa39.entry.js +0 -4
- package/dist/design-system/p-138be1f0cc.entry.js +0 -4
- package/dist/design-system/p-16b03e0b02.entry.js +0 -4
- package/dist/design-system/p-2bb98dfa2f.entry.js +0 -4
- package/dist/design-system/p-3824068ae7.entry.js +0 -4
- package/dist/design-system/p-3aa3841834.entry.js +0 -4
- package/dist/design-system/p-4284d6d646.entry.js +0 -4
- package/dist/design-system/p-4b2a59576c.entry.js +0 -4
- package/dist/design-system/p-53d9a40010.entry.js +0 -4
- package/dist/design-system/p-5a6c6959fa.entry.js +0 -4
- package/dist/design-system/p-5f28436626.entry.js +0 -4
- package/dist/design-system/p-77e7a6a068.entry.js +0 -4
- package/dist/design-system/p-7ebdd14afc.entry.js +0 -4
- package/dist/design-system/p-7f42c18249.entry.js +0 -4
- package/dist/design-system/p-908e7b073a.entry.js +0 -4
- package/dist/design-system/p-B8KVoKrH.js +0 -5
- package/dist/design-system/p-BPGfTrrM.js +0 -4
- package/dist/design-system/p-Ceu7FIWM.js +0 -4
- package/dist/design-system/p-DYPX3A8m.js +0 -4
- package/dist/design-system/p-DiUgZKWs.js +0 -4
- package/dist/design-system/p-DkhJaoXg.js +0 -4
- package/dist/design-system/p-DypNSUAh.js +0 -4
- package/dist/design-system/p-Z0zrglhd.js +0 -4
- package/dist/design-system/p-a8df8f067b.entry.js +0 -4
- package/dist/design-system/p-aa3c0ff536.entry.js +0 -4
- package/dist/design-system/p-b390490b0d.entry.js +0 -4
- package/dist/design-system/p-b851a43fff.entry.js +0 -4
- package/dist/design-system/p-b8f626bf28.entry.js +0 -4
- package/dist/design-system/p-bd543e1baf.entry.js +0 -4
- package/dist/design-system/p-d4d9205dda.entry.js +0 -4
- package/dist/design-system/p-e0b2d6e296.entry.js +0 -4
- package/dist/design-system/p-e94ee7391c.entry.js +0 -4
- package/dist/design-system/p-faf75173db.entry.js +0 -4
- package/dist/design-system/p-fff38e1ca7.entry.js +0 -4
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { __decorate, __metadata } from "tslib";
|
|
5
5
|
import { h } from "@stencil/core";
|
|
6
|
-
import { Logger, stopEventBubbling, areArraysEqual, OneOf, Type } from "../../utils/index";
|
|
6
|
+
import { Logger, stopEventBubbling, areArraysEqual, OneOf, Type, watchInvalidTextSlot } from "../../utils/index";
|
|
7
7
|
import { defaultConfig, ListenToConfig } from "../../global/index";
|
|
8
8
|
import { Field } from "../input/field.util";
|
|
9
9
|
import { INPUT_COLORS } from "../input/input.interfaces";
|
|
@@ -14,6 +14,7 @@ import { i18nDsFileUpload } from "./file-upload.i18n";
|
|
|
14
14
|
/**
|
|
15
15
|
* FileUpload renders a drag-drop file upload area with optional file list, validation, and form field integration.
|
|
16
16
|
*
|
|
17
|
+
* @slot invalid-text - Overrides the `invalidText` prop with custom markup, shown instead of the description when `invalid` is `true`.
|
|
17
18
|
* @part drop-zone - The main drop area where users drag files or click to select.
|
|
18
19
|
* @part file-list - The list of selected files below the drop zone.
|
|
19
20
|
*/
|
|
@@ -26,6 +27,7 @@ export class FileUpload {
|
|
|
26
27
|
this.isDragOver = false;
|
|
27
28
|
this.language = defaultConfig.language;
|
|
28
29
|
this.region = defaultConfig.region;
|
|
30
|
+
this.hasInvalidTextSlotContent = false;
|
|
29
31
|
/**
|
|
30
32
|
* PUBLIC PROPERTY API
|
|
31
33
|
* ------------------------------------------------------
|
|
@@ -216,12 +218,17 @@ export class FileUpload {
|
|
|
216
218
|
}
|
|
217
219
|
connectedCallback() {
|
|
218
220
|
this.initialValue = [...(this.value || [])];
|
|
221
|
+
this.disconnectInvalidTextSlotWatcher = watchInvalidTextSlot(this.el, hasContent => {
|
|
222
|
+
this.hasInvalidTextSlotContent = hasContent;
|
|
223
|
+
});
|
|
219
224
|
}
|
|
220
225
|
componentDidLoad() {
|
|
221
226
|
this.addDragListeners();
|
|
222
227
|
}
|
|
223
228
|
disconnectedCallback() {
|
|
229
|
+
var _a;
|
|
224
230
|
this.removeDragListeners();
|
|
231
|
+
(_a = this.disconnectInvalidTextSlotWatcher) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
225
232
|
}
|
|
226
233
|
/**
|
|
227
234
|
* LISTENERS
|
|
@@ -269,11 +276,12 @@ export class FileUpload {
|
|
|
269
276
|
const dropZoneLabel = this.dropZoneLabel || i18nDsFileUpload[this.language].dropZoneLabel;
|
|
270
277
|
const selectedFilesLabel = i18nDsFileUpload[this.language].selectedFilesLabel;
|
|
271
278
|
const removeFileLabel = i18nDsFileUpload[this.language].removeFileLabel;
|
|
272
|
-
|
|
279
|
+
const isInvalid = this.invalid || this.hasInvalidTextSlotContent;
|
|
280
|
+
return (h(Field, { key: '264facee2060dc2a63d529c762384c93539994d3', color: this.color, disabled: this.disabled, invalid: isInvalid, label: this.label, description: this.description, invalidText: this.invalidText, required: this.required, language: this.language, inputId: this.fileUploadId }, h("div", { key: '16930c2a8604287d7d4514b0faabb7afabc213f6', id: "drop-zone", part: "drop-zone", ref: el => (this.dropZoneEl = el), class: {
|
|
273
281
|
'file-upload-drop-zone': true,
|
|
274
282
|
'is-dragover': this.isDragOver,
|
|
275
283
|
'is-disabled': isDisabled,
|
|
276
|
-
}, onClick: () => { var _a; return !isDisabled && ((_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.click()); } }, h("span", { key: '
|
|
284
|
+
}, onClick: () => { var _a; return !isDisabled && ((_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.click()); } }, h("span", { key: 'daf3fe680737e74fadd0304123b567fb29ddb677', id: "drop-zone-status", role: "status", "aria-live": "polite" }, this.isDragOver ? 'Drop files here' : ''), h("input", { key: 'b47ca36b002f49964c5dbacd01fba6726ac5d1ec', part: "input", ref: el => (this.nativeInput = el), id: this.fileUploadId, type: "file", name: this.name, multiple: this.multiple, disabled: isDisabled, required: this.required, accept: this.accept || undefined, "aria-invalid": isInvalid ? 'true' : 'false', "aria-describedby": "description", onClick: this.handleInputClick, onChange: this.handleInputChange, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, "data-testid": "ds-file-upload-input" }), h("div", { key: '26354b7f63a925ad4a9d9bf55636a16a53a14d97', id: "drop-zone-content", class: { 'is-disabled': isDisabled } }, h("slot", { key: '56d73b20cbf45122db3dbed32a3fc97b7e622fc1' }, h("div", { key: 'd295ffa0e196e8bd99a743b648c443fe8414f413', id: "drop-zone-placeholder", class: { 'is-disabled': isDisabled } }, !this.loading && h("ds-icon", { key: '6cb31c32f06b44142ff48a0f9a9bb9b088af26e6', name: "upload", size: "lg" }), this.loading && h("ds-spinner", { key: 'c7b165be814544ac85a80c34d260c03a7e416d5e', variation: "circle" }), h("span", { key: 'd9b6c717c0fc6891d53e76e53686ef3e402b3257' }, dropZoneLabel))))), this.hasFileList && this.files.length > 0 && (h("ul", { key: 'a9669c46401067ba400c9080f2907f43e66e7419', id: "file-list", part: "file-list", role: "list", "aria-label": selectedFilesLabel, class: {
|
|
277
285
|
'file-list': true,
|
|
278
286
|
'is-disabled': isDisabled,
|
|
279
287
|
} }, this.files.map((file, index) => (h("li", { id: `file-list-item-${index}`, key: file.name, class: "file-list-item" }, h("ds-stack", { direction: "row", align: "center" }, h("ds-icon", { name: "document", size: "md" }), h("ds-content", { space: "none" }, h("span", { class: "file-name", title: file.name }, file.name), h("span", { class: "file-size" }, formatFileSize(file.size))), h("ds-button", { size: "sm", icon: "trash", square: true, color: "secondary", a11yLabel: `${removeFileLabel} ${file.name}`, disabled: isDisabled, onKeyDown: (ev) => {
|
|
@@ -691,7 +699,8 @@ export class FileUpload {
|
|
|
691
699
|
"focused": {},
|
|
692
700
|
"isDragOver": {},
|
|
693
701
|
"language": {},
|
|
694
|
-
"region": {}
|
|
702
|
+
"region": {},
|
|
703
|
+
"hasInvalidTextSlotContent": {}
|
|
695
704
|
};
|
|
696
705
|
}
|
|
697
706
|
static get events() {
|
|
@@ -3,7 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { expectScreenshot, screenshot, test } from "../../../../../../playwright/src/index";
|
|
5
5
|
const TAG = 'file-upload';
|
|
6
|
-
const VARIANTS = [
|
|
6
|
+
const VARIANTS = [
|
|
7
|
+
'basic',
|
|
8
|
+
'disabled',
|
|
9
|
+
'invalid',
|
|
10
|
+
'invalid-slot',
|
|
11
|
+
'valid',
|
|
12
|
+
'warning',
|
|
13
|
+
'loading',
|
|
14
|
+
'no-file-list',
|
|
15
|
+
];
|
|
7
16
|
const image = screenshot(TAG);
|
|
8
17
|
test.describe('host', () => {
|
|
9
18
|
test.beforeEach('Setup', async ({ page }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{--_heading-position: var(--heading-position, var(--mod-heading-position, static));--_heading-top: var(--heading-top, var(--mod-heading-top));--_heading-right: var(--heading-right, var(--mod-heading-right));--_heading-bottom: var(--heading-bottom, var(--mod-heading-bottom));--_heading-left: var(--heading-left, var(--mod-heading-left));position:var(--_heading-position);top:var(--_heading-top);right:var(--_heading-right);bottom:var(--_heading-bottom);left:var(--_heading-left);--_heading-m: var(--heading-m, var(--mod-heading-m, 0));--_heading-my: var(--heading-my, var(--mod-heading-my));--_heading-mx: var(--heading-mx, var(--mod-heading-mx));--_heading-ml: var(--heading-ml, var(--mod-heading-ml));--_heading-mr: var(--heading-mr, var(--mod-heading-mr));--_heading-mt: var(--heading-mt, var(--mod-heading-mt));--_heading-mb: var(--heading-mb, var(--mod-heading-mb));margin:var(--_heading-m);margin-inline:var(--_heading-mx);margin-block:var(--_heading-my);margin-left:var(--_heading-ml);margin-right:var(--_heading-mr);margin-top:var(--_heading-mt);margin-bottom:var(--_heading-mb);--_heading-color: var(--heading-color, var(--mod-heading-color, inherit));--_heading-family: var(--heading-family, var(--mod-heading-family, var(--ds-heading-family)));--_heading-weight: var(--heading-weight, var(--mod-heading-weight, var(--ds-heading-weight)));--_heading-line-height: var(--heading-line-height, var(--mod-heading-line-height, var(--ds-heading-line-height)));--_heading-font-size: var(--heading-font-size, var(--mod-heading-font-size, var(--ds-heading-1-size-device)));--_heading-space: var(--heading-space, var(--mod-heading-space, var(--ds-heading-1-space)));--_heading-shadow: var(--heading-shadow, var(--mod-heading-shadow, none));--_heading-text-align: var(--heading-text-align, var(--mod-heading-text-align, inherit))}
|
|
1
|
+
:host{--_heading-position: var(--heading-position, var(--mod-heading-position, static));--_heading-top: var(--heading-top, var(--mod-heading-top));--_heading-right: var(--heading-right, var(--mod-heading-right));--_heading-bottom: var(--heading-bottom, var(--mod-heading-bottom));--_heading-left: var(--heading-left, var(--mod-heading-left));position:var(--_heading-position);top:var(--_heading-top);right:var(--_heading-right);bottom:var(--_heading-bottom);left:var(--_heading-left);--_heading-m: var(--heading-m, var(--mod-heading-m, 0));--_heading-my: var(--heading-my, var(--mod-heading-my));--_heading-mx: var(--heading-mx, var(--mod-heading-mx));--_heading-ml: var(--heading-ml, var(--mod-heading-ml));--_heading-mr: var(--heading-mr, var(--mod-heading-mr));--_heading-mt: var(--heading-mt, var(--mod-heading-mt));--_heading-mb: var(--heading-mb, var(--mod-heading-mb));margin:var(--_heading-m);margin-inline:var(--_heading-mx);margin-block:var(--_heading-my);margin-left:var(--_heading-ml);margin-right:var(--_heading-mr);margin-top:var(--_heading-mt);margin-bottom:var(--_heading-mb);--_heading-color: var(--heading-color, var(--mod-heading-color, inherit));--_heading-family: var(--heading-family, var(--mod-heading-family, var(--ds-heading-font-family)));--_heading-weight: var(--heading-weight, var(--mod-heading-weight, var(--ds-heading-font-weight)));--_heading-line-height: var(--heading-line-height, var(--mod-heading-line-height, var(--ds-heading-line-height)));--_heading-font-size: var(--heading-font-size, var(--mod-heading-font-size, var(--ds-heading-1-size-device)));--_heading-space: var(--heading-space, var(--mod-heading-space, var(--ds-heading-1-space)));--_heading-shadow: var(--heading-shadow, var(--mod-heading-shadow, none));--_heading-text-align: var(--heading-text-align, var(--mod-heading-text-align, inherit))}#heading{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;box-sizing:content-box;hyphens:auto;overflow-wrap:break-word;text-wrap:balance;color:var(--_heading-color);font-family:var(--_heading-family);font-weight:var(--_heading-weight);font-size:var(--_heading-font-size);line-height:var(--_heading-line-height);text-align:var(--_heading-text-align);text-shadow:var(--_heading-shadow)}#heading em:not(.text),#heading span:not(.text){font-weight:inherit}#heading b,#heading strong,#heading .is-bold{font-weight:var(--ds-alias-text-weight-bold)}:host(.has-no-wrap) #heading{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host(.has-shadow){--mod-heading-shadow: var(--ds-heading-shadow)}:host(.is-subtitle){--mod-heading-family: var(--ds-heading-subtitle-font-family);--mod-heading-weight: var(--ds-heading-subtitle-font-weight);--mod-heading-line-height: var(--ds-heading-subtitle-line-height)}:host(.is-primary){--mod-heading-color: var(--ds-heading-primary-color-base)}:host(.is-success){--mod-heading-color: var(--ds-heading-success-color-base)}:host(.is-warning){--mod-heading-color: var(--ds-heading-warning-color-base)}:host(.is-danger){--mod-heading-color: var(--ds-heading-danger-color-base)}:host(.is-white){--mod-heading-color: var(--ds-heading-white-color-base)}:host(.is-black){--mod-heading-color: var(--ds-heading-black-color-base)}:host(.is-3xl){--mod-heading-font-size: var(--ds-heading-1-size-device);--mod-heading-space: var(--ds-heading-1-space)}:host(.is-2xl){--mod-heading-font-size: var(--ds-heading-2-size-device);--mod-heading-space: var(--ds-heading-2-space)}:host(.is-xl){--mod-heading-font-size: var(--ds-heading-3-size-device);--mod-heading-space: var(--ds-heading-3-space)}:host(.is-lg){--mod-heading-font-size: var(--ds-heading-4-size-device);--mod-heading-space: var(--ds-heading-4-space)}:host(.is-base){--mod-heading-font-size: var(--ds-heading-5-size-device);--mod-heading-space: var(--ds-heading-5-space)}:host(.is-5xl){--mod-heading-font-size: var(--ds-heading-display-1-size-device);--mod-heading-space: var(--ds-heading-display-1-space)}:host(.is-4xl){--mod-heading-font-size: var(--ds-heading-display-2-size-device);--mod-heading-space: var(--ds-heading-display-2-space)}:host(.has-space-all){--heading-mt: var(--_heading-space);--heading-mb: var(--_heading-space)}:host(.has-space-top){--heading-mt: var(--_heading-space);--heading-mb: 0}:host(.has-space-bottom){--heading-mt: 0;--heading-mb: var(--_heading-space)}:host(.has-space-none){--heading-mt: 0;--heading-mb: 0}:host{display:block}
|
|
@@ -17,9 +17,8 @@ export const HEADING_VISUAL_LEVELS = [
|
|
|
17
17
|
'lg',
|
|
18
18
|
'md',
|
|
19
19
|
'base',
|
|
20
|
-
'',
|
|
21
20
|
];
|
|
22
|
-
export const HEADING_COLORS = ['primary', 'info', 'success', 'warning', 'danger', 'blue', 'white'
|
|
21
|
+
export const HEADING_COLORS = ['primary', 'info', 'success', 'warning', 'danger', 'blue', 'white'];
|
|
23
22
|
export const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'span', 'p'];
|
|
24
23
|
export const HEADING_LEVELS = ['display', 'display-2', 'h1', 'h2', 'h3', 'h4', 'h5', 'span', 'p', ''];
|
|
25
|
-
export const HEADING_SPACES = ['none', 'bottom', 'top', 'all'
|
|
24
|
+
export const HEADING_SPACES = ['none', 'bottom', 'top', 'all'];
|
|
@@ -16,22 +16,12 @@ export class Heading {
|
|
|
16
16
|
constructor() {
|
|
17
17
|
/**
|
|
18
18
|
* PUBLIC PROPERTY API
|
|
19
|
-
*
|
|
19
|
+
* ─────────────────────────────────────────────────────
|
|
20
20
|
*/
|
|
21
21
|
/**
|
|
22
22
|
* The actual heading level used in the HTML markup.
|
|
23
23
|
*/
|
|
24
24
|
this.level = 'h1';
|
|
25
|
-
/**
|
|
26
|
-
* Make the visual style mimic a specific heading level.
|
|
27
|
-
* This option allows you to make e.g. h1 visually look like h3,
|
|
28
|
-
* but still keep it h1 in the markup.
|
|
29
|
-
*/
|
|
30
|
-
this.visualLevel = '';
|
|
31
|
-
/**
|
|
32
|
-
* The actual heading level used in the HTML markup.
|
|
33
|
-
*/
|
|
34
|
-
this.autoLevel = '';
|
|
35
25
|
/**
|
|
36
26
|
* When true, the text will be truncated with a text overflow ellipsis instead of wrapping.
|
|
37
27
|
* Please note that text overflow can only occur in block or inline-block level elements,
|
|
@@ -42,14 +32,6 @@ export class Heading {
|
|
|
42
32
|
* If `true` the heading gets displayed slimmer.
|
|
43
33
|
*/
|
|
44
34
|
this.subtitle = false;
|
|
45
|
-
/**
|
|
46
|
-
* Defines at which position the heading has spacing.
|
|
47
|
-
*/
|
|
48
|
-
this.space = '';
|
|
49
|
-
/**
|
|
50
|
-
* The theme type of the toast.
|
|
51
|
-
*/
|
|
52
|
-
this.color = '';
|
|
53
35
|
/**
|
|
54
36
|
* If `true` the color gets inverted for dark backgrounds
|
|
55
37
|
*/
|
|
@@ -73,16 +55,17 @@ export class Heading {
|
|
|
73
55
|
}
|
|
74
56
|
/**
|
|
75
57
|
* LIFECYCLE
|
|
76
|
-
*
|
|
58
|
+
* ─────────────────────────────────────────────────────
|
|
77
59
|
*/
|
|
78
|
-
|
|
60
|
+
componentWillLoad() {
|
|
79
61
|
this.updateAutoFontSize();
|
|
80
62
|
}
|
|
81
63
|
componentDidRender() {
|
|
82
|
-
|
|
64
|
+
const autoLevel = this.autoLevel;
|
|
65
|
+
if (autoLevel && this.autoFontSize) {
|
|
83
66
|
const rows = this.rows;
|
|
84
67
|
if (rows > 1) {
|
|
85
|
-
const minSize = HEADING_SIZES[
|
|
68
|
+
const minSize = HEADING_SIZES[autoLevel];
|
|
86
69
|
if (minSize !== this.autoFontSize) {
|
|
87
70
|
const nextIndex = HEADING_ORDER.indexOf(this.autoFontSize) + 1;
|
|
88
71
|
this.autoFontSize = HEADING_ORDER[nextIndex];
|
|
@@ -94,8 +77,8 @@ export class Heading {
|
|
|
94
77
|
this.autoFontSize = this.fontSize;
|
|
95
78
|
}
|
|
96
79
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
80
|
+
* PRIVATE METHODS
|
|
81
|
+
* ─────────────────────────────────────────────────────
|
|
99
82
|
*/
|
|
100
83
|
get rows() {
|
|
101
84
|
if (this.headingEl && dsBrowser.hasWindow) {
|
|
@@ -110,7 +93,8 @@ export class Heading {
|
|
|
110
93
|
if (this.inverted) {
|
|
111
94
|
return 'white';
|
|
112
95
|
}
|
|
113
|
-
|
|
96
|
+
const color = this.color;
|
|
97
|
+
return color ? HEADING_COLOR_MAP[color] : undefined;
|
|
114
98
|
}
|
|
115
99
|
get fontSize() {
|
|
116
100
|
return HEADING_SIZES[this.visualLevel ? this.visualLevel : this.level];
|
|
@@ -120,18 +104,18 @@ export class Heading {
|
|
|
120
104
|
}
|
|
121
105
|
/**
|
|
122
106
|
* RENDER
|
|
123
|
-
*
|
|
107
|
+
* ─────────────────────────────────────────────────────
|
|
124
108
|
*/
|
|
125
109
|
render() {
|
|
126
110
|
const Heading = this.tag;
|
|
127
|
-
return (h(Host, { key: '
|
|
111
|
+
return (h(Host, { key: 'dd934a29bc764a7970f7c59a356d67f570631036', class: {
|
|
128
112
|
[`is-${this.autoFontSize}`]: this.autoFontSize !== undefined,
|
|
129
113
|
[`is-${this.fontColor}`]: hasValue(this.fontColor),
|
|
130
114
|
'is-subtitle': this.subtitle,
|
|
131
115
|
'has-no-wrap': this.noWrap,
|
|
132
116
|
'has-shadow': this.shadow,
|
|
133
117
|
[`has-space-${this.space}`]: hasValue(this.space),
|
|
134
|
-
} }, h(Heading, { key: '
|
|
118
|
+
} }, h(Heading, { key: 'b468e6437329a02b4878120e06d102abb8732cd3', id: "heading", part: "heading", ref: (headingEl) => (this.headingEl = headingEl) }, h("slot", { key: '594a1766c31537f993ae8af98b402f097834750b' }))));
|
|
135
119
|
}
|
|
136
120
|
static get is() { return "ds-heading"; }
|
|
137
121
|
static get encapsulation() { return "shadow"; }
|
|
@@ -179,7 +163,7 @@ export class Heading {
|
|
|
179
163
|
"mutable": false,
|
|
180
164
|
"complexType": {
|
|
181
165
|
"original": "HeadingVisualLevel",
|
|
182
|
-
"resolved": "\"
|
|
166
|
+
"resolved": "\"2xl\" | \"3xl\" | \"4xl\" | \"5xl\" | \"base\" | \"display\" | \"display-2\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"lg\" | \"md\" | \"xl\" | undefined",
|
|
183
167
|
"references": {
|
|
184
168
|
"HeadingVisualLevel": {
|
|
185
169
|
"location": "import",
|
|
@@ -190,7 +174,7 @@ export class Heading {
|
|
|
190
174
|
}
|
|
191
175
|
},
|
|
192
176
|
"required": false,
|
|
193
|
-
"optional":
|
|
177
|
+
"optional": true,
|
|
194
178
|
"docs": {
|
|
195
179
|
"tags": [],
|
|
196
180
|
"text": "Make the visual style mimic a specific heading level.\nThis option allows you to make e.g. h1 visually look like h3,\nbut still keep it h1 in the markup."
|
|
@@ -198,15 +182,14 @@ export class Heading {
|
|
|
198
182
|
"getter": false,
|
|
199
183
|
"setter": false,
|
|
200
184
|
"reflect": true,
|
|
201
|
-
"attribute": "visual-level"
|
|
202
|
-
"defaultValue": "''"
|
|
185
|
+
"attribute": "visual-level"
|
|
203
186
|
},
|
|
204
187
|
"autoLevel": {
|
|
205
188
|
"type": "string",
|
|
206
189
|
"mutable": false,
|
|
207
190
|
"complexType": {
|
|
208
191
|
"original": "HeadingVisualLevel",
|
|
209
|
-
"resolved": "\"
|
|
192
|
+
"resolved": "\"2xl\" | \"3xl\" | \"4xl\" | \"5xl\" | \"base\" | \"display\" | \"display-2\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"lg\" | \"md\" | \"xl\" | undefined",
|
|
210
193
|
"references": {
|
|
211
194
|
"HeadingVisualLevel": {
|
|
212
195
|
"location": "import",
|
|
@@ -217,7 +200,7 @@ export class Heading {
|
|
|
217
200
|
}
|
|
218
201
|
},
|
|
219
202
|
"required": false,
|
|
220
|
-
"optional":
|
|
203
|
+
"optional": true,
|
|
221
204
|
"docs": {
|
|
222
205
|
"tags": [],
|
|
223
206
|
"text": "The actual heading level used in the HTML markup."
|
|
@@ -225,8 +208,7 @@ export class Heading {
|
|
|
225
208
|
"getter": false,
|
|
226
209
|
"setter": false,
|
|
227
210
|
"reflect": true,
|
|
228
|
-
"attribute": "auto-level"
|
|
229
|
-
"defaultValue": "''"
|
|
211
|
+
"attribute": "auto-level"
|
|
230
212
|
},
|
|
231
213
|
"noWrap": {
|
|
232
214
|
"type": "boolean",
|
|
@@ -273,7 +255,7 @@ export class Heading {
|
|
|
273
255
|
"mutable": false,
|
|
274
256
|
"complexType": {
|
|
275
257
|
"original": "HeadingSpace",
|
|
276
|
-
"resolved": "\"
|
|
258
|
+
"resolved": "\"all\" | \"bottom\" | \"none\" | \"top\" | undefined",
|
|
277
259
|
"references": {
|
|
278
260
|
"HeadingSpace": {
|
|
279
261
|
"location": "import",
|
|
@@ -284,7 +266,7 @@ export class Heading {
|
|
|
284
266
|
}
|
|
285
267
|
},
|
|
286
268
|
"required": false,
|
|
287
|
-
"optional":
|
|
269
|
+
"optional": true,
|
|
288
270
|
"docs": {
|
|
289
271
|
"tags": [],
|
|
290
272
|
"text": "Defines at which position the heading has spacing."
|
|
@@ -292,15 +274,14 @@ export class Heading {
|
|
|
292
274
|
"getter": false,
|
|
293
275
|
"setter": false,
|
|
294
276
|
"reflect": true,
|
|
295
|
-
"attribute": "space"
|
|
296
|
-
"defaultValue": "''"
|
|
277
|
+
"attribute": "space"
|
|
297
278
|
},
|
|
298
279
|
"color": {
|
|
299
280
|
"type": "string",
|
|
300
281
|
"mutable": false,
|
|
301
282
|
"complexType": {
|
|
302
283
|
"original": "HeadingColor",
|
|
303
|
-
"resolved": "\"
|
|
284
|
+
"resolved": "\"blue\" | \"danger\" | \"info\" | \"primary\" | \"success\" | \"warning\" | \"white\" | undefined",
|
|
304
285
|
"references": {
|
|
305
286
|
"HeadingColor": {
|
|
306
287
|
"location": "import",
|
|
@@ -311,7 +292,7 @@ export class Heading {
|
|
|
311
292
|
}
|
|
312
293
|
},
|
|
313
294
|
"required": false,
|
|
314
|
-
"optional":
|
|
295
|
+
"optional": true,
|
|
315
296
|
"docs": {
|
|
316
297
|
"tags": [],
|
|
317
298
|
"text": "The theme type of the toast."
|
|
@@ -319,8 +300,7 @@ export class Heading {
|
|
|
319
300
|
"getter": false,
|
|
320
301
|
"setter": false,
|
|
321
302
|
"reflect": true,
|
|
322
|
-
"attribute": "color"
|
|
323
|
-
"defaultValue": "''"
|
|
303
|
+
"attribute": "color"
|
|
324
304
|
},
|
|
325
305
|
"inverted": {
|
|
326
306
|
"type": "boolean",
|
|
@@ -10,5 +10,5 @@ export const Field = (props, children) => {
|
|
|
10
10
|
const role = props.role === 'fieldset' ? 'group' : undefined;
|
|
11
11
|
const RoleTag = props.role === 'fieldset' ? 'fieldset' : 'div';
|
|
12
12
|
return (h(Host, { class: Object.assign({ 'ds-field ': true, 'is-disabled': !!props.disabled, 'is-danger': props.color === 'danger' || !!props.invalid, 'is-success': props.color === 'success' && !props.invalid, 'is-warning': props.color === 'warning' && !props.invalid }, props.cssClasses) }, h(RoleTag, { id: "inner", part: "inner", role: role, "aria-disabled": ariaBooleanToString(props.disabled), "aria-invalid": ariaBooleanToString(props.invalid), "aria-labelledby": "label", "aria-describedby": "description", onClick: (ev) => { var _a; return (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, ev); } }, props.label &&
|
|
13
|
-
(props.role === 'fieldset' ? (h("legend", { part: "label", id: "label" }, h("slot", { name: "label" }, props.label), !props.required && h("span", null, I18nDsLabel[props.language].optional || ''))) : (h("label", { htmlFor: inputId, part: "label", id: "label" }, h("slot", { name: "label" }, props.label), !props.required && h("span", null, I18nDsLabel[props.language].optional || '')))), h("div", { id: "container", part: "control" }, h("slot", { name: "start" }), children, h("slot", { name: "end" }), props.loading === true && (h("ds-spinner", { small: true, variation: "circle", color: props.disabled ? 'white' : 'blue' }))), props.label && (h("span", { id: "description", part: "description", role: props.invalid && props.invalidText ? 'alert' : undefined }, props.invalid && props.invalidText && h("ds-icon", { name: "alert" }), h("slot", { name: "
|
|
13
|
+
(props.role === 'fieldset' ? (h("legend", { part: "label", id: "label" }, h("slot", { name: "label" }, props.label), !props.required && h("span", null, I18nDsLabel[props.language].optional || ''))) : (h("label", { htmlFor: inputId, part: "label", id: "label" }, h("slot", { name: "label" }, props.label), !props.required && h("span", null, I18nDsLabel[props.language].optional || '')))), h("div", { id: "container", part: "control" }, h("slot", { name: "start" }), children, h("slot", { name: "end" }), props.loading === true && (h("ds-spinner", { small: true, variation: "circle", color: props.disabled ? 'white' : 'blue' }))), props.label && (h("span", { id: "description", part: "description", role: props.invalid && props.invalidText ? 'alert' : undefined }, props.invalid && props.invalidText && h("ds-icon", { name: "alert" }), props.invalid ? (h("slot", { name: "invalid-text" }, props.invalidText || props.description)) : (h("slot", { name: "description" }, props.description)))))));
|
|
14
14
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { __decorate, __metadata } from "tslib";
|
|
5
5
|
import { h } from "@stencil/core";
|
|
6
6
|
import isNil from "lodash/isNil";
|
|
7
|
-
import { inheritAttributes, FormControl, stopEventBubbling, debounceEvent, Logger, hasValue, OneOf, Type, } from "../../utils/index";
|
|
7
|
+
import { inheritAttributes, FormControl, stopEventBubbling, debounceEvent, Logger, hasValue, OneOf, Type, watchInvalidTextSlot, } from "../../utils/index";
|
|
8
8
|
import { ACTION_KEYS, isCtrlOrCommandKey } from "../../global/index";
|
|
9
9
|
import { InputMaskUtil } from "./input.mask";
|
|
10
10
|
import { getMask } from "./masks";
|
|
@@ -14,6 +14,7 @@ import { INPUT_COLORS, INPUT_AUTOCORRECTS, INPUT_INPUT_MODES, INPUT_INPUT_TYPES,
|
|
|
14
14
|
/**
|
|
15
15
|
* Input renders a text input field with validation, masking, autocomplete, and optional help/error messaging.
|
|
16
16
|
*
|
|
17
|
+
* @slot invalid-text - Overrides the `invalidText` prop with custom markup, shown instead of the description when `invalid` is `true`.
|
|
17
18
|
* @part input - The native HTML input element.
|
|
18
19
|
* @part prefix - The prefix wrapper (if used).
|
|
19
20
|
* @part suffix - The suffix wrapper (if used).
|
|
@@ -27,6 +28,7 @@ export class Input {
|
|
|
27
28
|
this.focused = false;
|
|
28
29
|
this.language = defaultConfig.language;
|
|
29
30
|
this.region = defaultConfig.region;
|
|
31
|
+
this.hasInvalidTextSlotContent = false;
|
|
30
32
|
/**
|
|
31
33
|
* PUBLIC PROPERTY API
|
|
32
34
|
* ------------------------------------------------------
|
|
@@ -205,6 +207,13 @@ export class Input {
|
|
|
205
207
|
this.debounceChanged();
|
|
206
208
|
this.maskChanged();
|
|
207
209
|
this.control.connectedCallback();
|
|
210
|
+
this.disconnectInvalidTextSlotWatcher = watchInvalidTextSlot(this.el, hasContent => {
|
|
211
|
+
this.hasInvalidTextSlotContent = hasContent;
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
disconnectedCallback() {
|
|
215
|
+
var _a;
|
|
216
|
+
(_a = this.disconnectInvalidTextSlotWatcher) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
208
217
|
}
|
|
209
218
|
componentWillLoad() {
|
|
210
219
|
this.inheritedAttributes = inheritAttributes(this.el, ['aria-label', 'tabindex', 'title', 'data-hj-allow']);
|
|
@@ -267,7 +276,8 @@ export class Input {
|
|
|
267
276
|
if (hasValue(this.pattern)) {
|
|
268
277
|
inputProps = { pattern: this.pattern };
|
|
269
278
|
}
|
|
270
|
-
|
|
279
|
+
const isInvalid = this.invalid || this.hasInvalidTextSlotContent;
|
|
280
|
+
return (h(Field, { key: '60462d9ab4b551b6ea128c4bae45f729cf939eed', disabled: this.disabled, color: this.color, invalid: isInvalid, loading: this.loading, label: this.label, description: this.description, invalidText: this.invalidText, required: this.required, language: this.language }, h("input", Object.assign({ key: '2557655b7d70ffc1605f20dd3b2887bee85db005', id: "input", part: "input", name: this.name, ref: inputEl => (this.control.nativeEl = inputEl), "aria-describedby": "description", "aria-invalid": isInvalid ? 'true' : 'false', disabled: this.disabled, accept: this.accept, inputMode: this.inputmode, autoCapitalize: this.autocapitalize, autocomplete: this.autocomplete, autocorrect: this.autocorrect, autofocus: this.autofocus, min: this.min, max: this.max, minLength: this.minLength, maxLength: this.maxLength, multiple: this.multiple, placeholder: this.placeholder || '', readonly: this.readonly, required: this.required, spellcheck: this.spellcheck, type: this.type, value: value, onClick: ev => this.handleClick(ev), onFocus: ev => this.handleFocus(ev), onBlur: ev => this.handleBlur(ev), onInput: ev => this.handleInput(ev), onKeyDown: ev => this.handleKeydown(ev), onKeyPress: ev => this.dsKeyPress.emit(ev) }, inputProps, this.inheritedAttributes))));
|
|
271
281
|
}
|
|
272
282
|
static get is() { return "ds-input"; }
|
|
273
283
|
static get encapsulation() { return "shadow"; }
|
|
@@ -948,7 +958,8 @@ export class Input {
|
|
|
948
958
|
return {
|
|
949
959
|
"focused": {},
|
|
950
960
|
"language": {},
|
|
951
|
-
"region": {}
|
|
961
|
+
"region": {},
|
|
962
|
+
"hasInvalidTextSlotContent": {}
|
|
952
963
|
};
|
|
953
964
|
}
|
|
954
965
|
static get events() {
|
|
@@ -7,6 +7,7 @@ const VARIANTS = [
|
|
|
7
7
|
'basic',
|
|
8
8
|
'disabled',
|
|
9
9
|
'invalid',
|
|
10
|
+
'invalid-slot',
|
|
10
11
|
'valid',
|
|
11
12
|
'warning',
|
|
12
13
|
'loading',
|
|
@@ -23,7 +24,7 @@ test.describe('style', () => {
|
|
|
23
24
|
test.beforeEach('Setup', async ({ page }) => {
|
|
24
25
|
await page.setupVisualTest(`/components/${TAG}/test/${TAG}.style.html`);
|
|
25
26
|
});
|
|
26
|
-
VARIANTS.filter(v => !['slots', 'formatter'].includes(v)).forEach(variant => {
|
|
27
|
+
VARIANTS.filter(v => !['slots', 'formatter', 'invalid-slot'].includes(v)).forEach(variant => {
|
|
27
28
|
test(variant, async ({ page }) => {
|
|
28
29
|
const el = page.getByTestId(variant);
|
|
29
30
|
await expectScreenshot(el, image(`style-${variant}`));
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { __decorate, __metadata } from "tslib";
|
|
5
5
|
import { h, } from "@stencil/core";
|
|
6
6
|
import isNaN from "lodash/isNaN";
|
|
7
|
-
import { inheritAttributes, debounceEvent, hasValue, Logger, OneOf, Type } from "../../utils/index";
|
|
7
|
+
import { inheritAttributes, debounceEvent, hasValue, Logger, OneOf, Type, watchInvalidTextSlot, } from "../../utils/index";
|
|
8
8
|
import { defaultConfig, ListenToConfig } from "../../global/index";
|
|
9
9
|
import { Field } from "../input/field.util";
|
|
10
10
|
import { INPUT_COLORS } from "../input/input.interfaces";
|
|
@@ -14,6 +14,7 @@ import { InputSliderPickerController } from "./input-slider.picker";
|
|
|
14
14
|
/**
|
|
15
15
|
* Input slider renders a noUiSlider-backed slider with validation and label/description messaging.
|
|
16
16
|
*
|
|
17
|
+
* @slot invalid-text - Overrides the `invalidText` prop with custom markup, shown instead of the description when `invalid` is `true`.
|
|
17
18
|
* @part slider - The noUiSlider target element.
|
|
18
19
|
*/
|
|
19
20
|
export class InputSlider {
|
|
@@ -24,6 +25,7 @@ export class InputSlider {
|
|
|
24
25
|
this.focused = false;
|
|
25
26
|
this.language = defaultConfig.language;
|
|
26
27
|
this.region = defaultConfig.region;
|
|
28
|
+
this.hasInvalidTextSlotContent = false;
|
|
27
29
|
/**
|
|
28
30
|
* PUBLIC PROPERTY API
|
|
29
31
|
* ------------------------------------------------------
|
|
@@ -132,7 +134,7 @@ export class InputSlider {
|
|
|
132
134
|
}
|
|
133
135
|
invalidChanged() {
|
|
134
136
|
var _a;
|
|
135
|
-
(_a = this.picker) === null || _a === void 0 ? void 0 : _a.setInvalid(this.invalid);
|
|
137
|
+
(_a = this.picker) === null || _a === void 0 ? void 0 : _a.setInvalid(this.invalid || this.hasInvalidTextSlotContent);
|
|
136
138
|
}
|
|
137
139
|
minChanged() {
|
|
138
140
|
var _a;
|
|
@@ -163,6 +165,11 @@ export class InputSlider {
|
|
|
163
165
|
this.value = clampValue(resolveInitialValue(this.value, this.min), this.min, this.max);
|
|
164
166
|
this.initialValue = this.value;
|
|
165
167
|
this.syncFormValue(this.value);
|
|
168
|
+
this.disconnectInvalidTextSlotWatcher = watchInvalidTextSlot(this.el, hasContent => {
|
|
169
|
+
var _a;
|
|
170
|
+
this.hasInvalidTextSlotContent = hasContent;
|
|
171
|
+
(_a = this.picker) === null || _a === void 0 ? void 0 : _a.setInvalid(this.invalid || hasContent);
|
|
172
|
+
});
|
|
166
173
|
}
|
|
167
174
|
componentWillLoad() {
|
|
168
175
|
this.inheritedAttributes = inheritAttributes(this.el, ['aria-label', 'tabindex', 'title']);
|
|
@@ -179,7 +186,7 @@ export class InputSlider {
|
|
|
179
186
|
step: this.step,
|
|
180
187
|
value: this.value,
|
|
181
188
|
disabled: this.disabled || this.readonly,
|
|
182
|
-
invalid: this.invalid,
|
|
189
|
+
invalid: this.invalid || this.hasInvalidTextSlotContent,
|
|
183
190
|
onInput: value => {
|
|
184
191
|
this.dsInput.emit(value);
|
|
185
192
|
},
|
|
@@ -191,9 +198,10 @@ export class InputSlider {
|
|
|
191
198
|
(_b = this.picker.handleEl) === null || _b === void 0 ? void 0 : _b.addEventListener('blur', this.handleBlur);
|
|
192
199
|
}
|
|
193
200
|
disconnectedCallback() {
|
|
194
|
-
var _a;
|
|
201
|
+
var _a, _b;
|
|
195
202
|
(_a = this.picker) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
196
203
|
this.picker = undefined;
|
|
204
|
+
(_b = this.disconnectInvalidTextSlotWatcher) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
197
205
|
}
|
|
198
206
|
/**
|
|
199
207
|
* PUBLIC LISTENERS
|
|
@@ -268,12 +276,12 @@ export class InputSlider {
|
|
|
268
276
|
* ------------------------------------------------------
|
|
269
277
|
*/
|
|
270
278
|
render() {
|
|
271
|
-
return (h(Field, { key: '
|
|
279
|
+
return (h(Field, { key: '69b0dc7ea5f958598cee12e42879d5e4f025bd2e', disabled: this.disabled || this.readonly, color: this.color, invalid: this.invalid, label: this.label, description: this.description, invalidText: this.invalidText, required: this.required, language: this.language, cssClasses: {
|
|
272
280
|
'is-brand-yellow': hasValue(this.brandColor) && this.brandColor === 'yellow',
|
|
273
281
|
'is-brand-purple': hasValue(this.brandColor) && this.brandColor === 'purple',
|
|
274
282
|
'is-brand-red': hasValue(this.brandColor) && this.brandColor === 'red',
|
|
275
283
|
'is-brand-green': hasValue(this.brandColor) && this.brandColor === 'green',
|
|
276
|
-
} }, h("div", Object.assign({ key: '
|
|
284
|
+
} }, h("div", Object.assign({ key: 'b89ecd4c3ac4f8c11c05b3de1e79215d4c076766', id: "slider", part: "slider", ref: el => (this.sliderEl = el), onClick: this.handleClick }, this.inheritedAttributes))));
|
|
277
285
|
}
|
|
278
286
|
static get is() { return "ds-input-slider"; }
|
|
279
287
|
static get encapsulation() { return "shadow"; }
|
|
@@ -629,7 +637,8 @@ export class InputSlider {
|
|
|
629
637
|
static get states() {
|
|
630
638
|
return {
|
|
631
639
|
"language": {},
|
|
632
|
-
"region": {}
|
|
640
|
+
"region": {},
|
|
641
|
+
"hasInvalidTextSlotContent": {}
|
|
633
642
|
};
|
|
634
643
|
}
|
|
635
644
|
static get events() {
|
|
@@ -729,7 +738,7 @@ export class InputSlider {
|
|
|
729
738
|
"composed": true,
|
|
730
739
|
"docs": {
|
|
731
740
|
"tags": [],
|
|
732
|
-
"text": "Emitted when the value is committed (noUiSlider `change`, not `blur` \u2014 see\nADR-
|
|
741
|
+
"text": "Emitted when the value is committed (noUiSlider `change`, not `blur` \u2014 see\nADR-0010/ADR-0007). Fires once per discrete drag/step, independent of focus."
|
|
733
742
|
},
|
|
734
743
|
"complexType": {
|
|
735
744
|
"original": "InputSliderChangeDetail",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{--_list-item-focus: var(--list-item-focus, var(--mod-list-item-focus, var(--ds-alias-interaction-focus-color-base)));--_list-item-grid-template-columns: var(--list-item-grid-template-columns, var(--mod-list-item-grid-template-columns, 1fr));--_list-item-min-height: var(--list-item-min-height, var(--mod-list-item-min-height, 3.5rem));--_list-item-gap: var(--list-item-gap, var(--mod-list-item-gap, 1rem));--_list-item-space: var(--list-item-space, var(--mod-list-item-space, 0.5rem));--_list-item-content-gap: var(--list-item-content-gap, var(--mod-list-item-content-gap, 1px));--_list-item-color: var(--list-item-color, var(--mod-list-item-color, inherit));--_list-item-border-color-base: var(--list-item-border-color-base, var(--mod-list-item-border-color-base, var(--ds-list-item-border-color)));--_list-item-border-color-hover: var(--list-item-border-color-hover, var(--mod-list-item-border-color-hover, var(--ds-link-color-base)));--_list-item-border-color-active: var(--list-item-border-color-active, var(--mod-list-item-border-color-active, var(--ds-link-color-base-active)));--_list-item-border-width: var(--list-item-border-width, var(--mod-list-item-border-width, var(--ds-list-item-border-width, 2px)));--_list-item-border-radius: var(--list-item-border-radius, var(--mod-list-item-border-radius, 12px));--_list-item-background-base: var(--list-item-background-base, var(--mod-list-item-background-base, transparent));--_list-item-background-hover: var(--list-item-background-hover, var(--mod-list-item-background-hover, var(--ds-alias-background-color-primary-lighter)));--_list-item-background-active: var(--list-item-background-active, var(--mod-list-item-background-active, var(--ds-alias-background-color-primary-lighter)));--_list-item-accordion-py: var(--list-item-accordion-py, var(--mod-list-item-accordion-py, var(--ds-alias-space-base-device)));--_list-item-action-icon-size: var(--list-item-action-icon-size, var(--mod-list-item-action-icon-size, var(--ds-icon-size-xs)));--_list-item-title-size: var(--list-item-title-size, var(--mod-list-item-title-size, var(--ds-heading-5-size-device)));--_list-item-title-weight: var(--list-item-title-weight, var(--mod-list-item-title-weight, var(--ds-alias-text-weight-bold)));--_list-item-title-family: var(--list-item-title-family, var(--mod-list-item-title-family, var(--ds-global-font-family-heading)));--_list-item-text-family: var(--list-item-text-family, var(--mod-list-item-text-family, var(--ds-global-font-family-body)));--_list-item-text-weight: var(--list-item-text-weight, var(--mod-list-item-text-weight, var(--ds-alias-text-weight-regular)));--_list-item-text-size: var(--list-item-text-size, var(--mod-list-item-text-size, var(--ds-alias-text-size-sm-device)))}:host{position:relative;display:grid;box-sizing:border-box;grid-template-columns:var(--_list-item-grid-template-columns)}:host ::slotted([slot=content]){min-height:46px}:host #item{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--_list-item-gap);width:100%;color:var(--_list-item-color);background:inherit;border:none;align-self:stretch;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--_list-item-title-family);padding:var(--_list-item-space) .25rem;padding-bottom:calc(var(--_list-item-space) + 2px);min-height:var(--_list-item-min-height)}:host #item ds-icon{flex-shrink:0}:host #item #content+ds-icon{--icon-size: var(--_list-item-action-icon-size);--icon-inner-size: var(--_list-item-action-icon-size)}:host #item #content{flex:1;display:flex;flex-direction:column;gap:var(--_list-item-content-gap);font-family:var(--_list-item-text-family);font-weight:var(--_list-item-text-weight)}:host #item #label{font-family:var(--_list-item-title-family);font-weight:var(--_list-item-title-weight);font-size:var(--_list-item-title-size);margin:0}:host #item #description{font-family:var(--_list-item-text-family);font-weight:var(--_list-item-text-weight);font-size:var(--_list-item-text-size);margin:0}:host #item:after{content:"";border-radius:var(--_list-item-border-radius);width:100%;position:absolute;bottom:0;left:0;right:0;height:var(--_list-item-border-width);background:var(--_list-item-border-color-base)}:host(.has-label-h1){--mod-list-item-title-size: var(--ds-heading-1-size-device)}:host(.has-label-3xl){--mod-list-item-title-size: var(--ds-heading-1-size-device)}:host(.has-label-h2){--mod-list-item-title-size: var(--ds-heading-2-size-device)}:host(.has-label-2xl){--mod-list-item-title-size: var(--ds-heading-2-size-device)}:host(.has-label-h3){--mod-list-item-title-size: var(--ds-heading-3-size-device)}:host(.has-label-xl){--mod-list-item-title-size: var(--ds-heading-3-size-device)}:host(.has-label-h4){--mod-list-item-title-size: var(--ds-heading-4-size-device)}:host(.has-label-lg){--mod-list-item-title-size: var(--ds-heading-4-size-device)}:host(.has-label-h5){--mod-list-item-title-size: var(--ds-heading-5-size-device)}:host(.has-label-base){--mod-list-item-title-size: var(--ds-heading-5-size-device)}:host(.is-link) #item,:host(.is-button) #item{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;user-drag:none;text-decoration:none;outline:none;cursor:pointer;background:var(--_list-item-background-base)}:host(.is-link) #item::-moz-focus-inner,:host(.is-button) #item::-moz-focus-inner{border:0}:host(.is-link) #item #content,:host(.is-button) #item #content{hyphens:auto;overflow-wrap:break-word;font-family:var(--_list-item-title-family);font-weight:var(--_list-item-title-weight);font-size:var(--_list-item-title-size);color:var(--ds-link-color-base)}@media(hover: hover)and (pointer: fine){:host(.is-link) #item:hover,:host(.is-link) #item.is-hovered,:host(.is-button) #item:hover,:host(.is-button) #item.is-hovered{background:var(--_list-item-background-hover)}}:host(.is-link) #item:active,:host(.is-link) #item.is-pressed,:host(.is-button) #item:active,:host(.is-button) #item.is-pressed{background:var(--_list-item-background-active);color:var(--ds-link-color-base-active)}:host(.is-link) #item:active #content,:host(.is-link) #item.is-pressed #content,:host(.is-button) #item:active #content,:host(.is-button) #item.is-pressed #content{color:var(--ds-link-color-base-active)}:host(.is-link) #item:active ds-icon,:host(.is-link) #item:active ::slotted(ds-icon),:host(.is-link) #item:active ::slotted(ds-badge),:host(.is-link) #item.is-pressed ds-icon,:host(.is-link) #item.is-pressed ::slotted(ds-icon),:host(.is-link) #item.is-pressed ::slotted(ds-badge),:host(.is-button) #item:active ds-icon,:host(.is-button) #item:active ::slotted(ds-icon),:host(.is-button) #item:active ::slotted(ds-badge),:host(.is-button) #item.is-pressed ds-icon,:host(.is-button) #item.is-pressed ::slotted(ds-icon),:host(.is-button) #item.is-pressed ::slotted(ds-badge){--icon-color: var(--ds-link-color-base-active)}:host(.is-link) #item:before,:host(.is-button) #item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;border-radius:var(--ds-alias-radius-base);touch-action:manipulation;transition-property:box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}:host(.is-link) #item:focus-visible:not(:active):before,:host(.is-link) #item.is-focused:not(:active):before,:host(.is-button) #item:focus-visible:not(:active):before,:host(.is-button) #item.is-focused:not(:active):before{box-shadow:var(--ds-alias-interaction-focus-color-border) 0 0 0 2px,var(--_list-item-focus) 0 0 0 5px !important}@media(hover: hover)and (pointer: fine){:host(.is-link) #item:hover:after,:host(.is-link) #item.is-hovered:after,:host(.is-button) #item:hover:after,:host(.is-button) #item.is-hovered:after,:host(.is-accordion) #item:hover:after,:host(.is-accordion) #item.is-hovered:after{background:var(--_list-item-border-color-hover)}}:host(.is-link) #item:active:after,:host(.is-link) #item.is-pressed:after,:host(.is-button) #item:active:after,:host(.is-button) #item.is-pressed:after,:host(.is-accordion) #item:active:after,:host(.is-accordion) #item.is-pressed:after{background:var(--_list-item-border-color-active)}:host(.is-accordion) ::slotted(p){padding-block:var(--_list-item-accordion-py)}:host(.is-accordion) ds-accordion{--accordion-summary-color-hover: var(--ds-link-color-base)}:host(.is-accordion) ds-accordion::part(header){background:var(--_list-item-background-base)}:host(.is-accordion) ds-accordion::part(summary){padding-right:.25rem}:host(.is-accordion) ds-accordion::part(summary):hover{background:var(--_list-item-background-hover)}:host(.is-accordion) ds-accordion::part(summary):active{background:var(--_list-item-background-active)}:host(.is-accordion) #accordion-content:after{content:"";border-radius:var(--_list-item-border-radius);width:100%;position:absolute;bottom:0;left:0;right:0;height:var(--_list-item-border-width);background:var(--_list-item-border-color-base)}:host(.is-disabled) #item{pointer-events:none !important;cursor:default !important;color:var(--ds-list-item-disabled)}:host(.is-disabled) #item #content{color:var(--ds-list-item-disabled)}:host(.is-disabled) #item ds-icon,:host(.is-disabled) #item ds-badge,:host(.is-disabled) #item ::slotted(ds-icon),:host(.is-disabled) #item ::slotted(ds-badge){--icon-color: var(--ds-list-item-disabled)}:host(.is-disabled) #item ds-badge,:host(.is-disabled) #item ::slotted(ds-badge){--badge-color-background: var(--ds-badge-color-
|
|
1
|
+
:host{--_list-item-focus: var(--list-item-focus, var(--mod-list-item-focus, var(--ds-alias-interaction-focus-color-base)));--_list-item-grid-template-columns: var(--list-item-grid-template-columns, var(--mod-list-item-grid-template-columns, 1fr));--_list-item-min-height: var(--list-item-min-height, var(--mod-list-item-min-height, 3.5rem));--_list-item-gap: var(--list-item-gap, var(--mod-list-item-gap, 1rem));--_list-item-space: var(--list-item-space, var(--mod-list-item-space, 0.5rem));--_list-item-content-gap: var(--list-item-content-gap, var(--mod-list-item-content-gap, 1px));--_list-item-color: var(--list-item-color, var(--mod-list-item-color, inherit));--_list-item-border-color-base: var(--list-item-border-color-base, var(--mod-list-item-border-color-base, var(--ds-list-item-border-color)));--_list-item-border-color-hover: var(--list-item-border-color-hover, var(--mod-list-item-border-color-hover, var(--ds-link-color-base)));--_list-item-border-color-active: var(--list-item-border-color-active, var(--mod-list-item-border-color-active, var(--ds-link-color-base-active)));--_list-item-border-width: var(--list-item-border-width, var(--mod-list-item-border-width, var(--ds-list-item-border-width, 2px)));--_list-item-border-radius: var(--list-item-border-radius, var(--mod-list-item-border-radius, 12px));--_list-item-background-base: var(--list-item-background-base, var(--mod-list-item-background-base, transparent));--_list-item-background-hover: var(--list-item-background-hover, var(--mod-list-item-background-hover, var(--ds-alias-background-color-primary-lighter)));--_list-item-background-active: var(--list-item-background-active, var(--mod-list-item-background-active, var(--ds-alias-background-color-primary-lighter)));--_list-item-accordion-py: var(--list-item-accordion-py, var(--mod-list-item-accordion-py, var(--ds-alias-space-base-device)));--_list-item-action-icon-size: var(--list-item-action-icon-size, var(--mod-list-item-action-icon-size, var(--ds-icon-size-xs)));--_list-item-title-size: var(--list-item-title-size, var(--mod-list-item-title-size, var(--ds-heading-5-size-device)));--_list-item-title-weight: var(--list-item-title-weight, var(--mod-list-item-title-weight, var(--ds-alias-text-weight-bold)));--_list-item-title-family: var(--list-item-title-family, var(--mod-list-item-title-family, var(--ds-global-font-family-heading)));--_list-item-text-family: var(--list-item-text-family, var(--mod-list-item-text-family, var(--ds-global-font-family-body)));--_list-item-text-weight: var(--list-item-text-weight, var(--mod-list-item-text-weight, var(--ds-alias-text-weight-regular)));--_list-item-text-size: var(--list-item-text-size, var(--mod-list-item-text-size, var(--ds-alias-text-size-sm-device)))}:host{position:relative;display:grid;box-sizing:border-box;grid-template-columns:var(--_list-item-grid-template-columns)}:host ::slotted([slot=content]){min-height:46px}:host #item{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--_list-item-gap);width:100%;color:var(--_list-item-color);background:inherit;border:none;align-self:stretch;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--_list-item-title-family);padding:var(--_list-item-space) .25rem;padding-bottom:calc(var(--_list-item-space) + 2px);min-height:var(--_list-item-min-height)}:host #item ds-icon{flex-shrink:0}:host #item #content+ds-icon{--icon-size: var(--_list-item-action-icon-size);--icon-inner-size: var(--_list-item-action-icon-size)}:host #item #content{flex:1;display:flex;flex-direction:column;gap:var(--_list-item-content-gap);font-family:var(--_list-item-text-family);font-weight:var(--_list-item-text-weight)}:host #item #label{font-family:var(--_list-item-title-family);font-weight:var(--_list-item-title-weight);font-size:var(--_list-item-title-size);margin:0}:host #item #description{font-family:var(--_list-item-text-family);font-weight:var(--_list-item-text-weight);font-size:var(--_list-item-text-size);margin:0}:host #item:after{content:"";border-radius:var(--_list-item-border-radius);width:100%;position:absolute;bottom:0;left:0;right:0;height:var(--_list-item-border-width);background:var(--_list-item-border-color-base)}:host(.has-label-h1){--mod-list-item-title-size: var(--ds-heading-1-size-device)}:host(.has-label-3xl){--mod-list-item-title-size: var(--ds-heading-1-size-device)}:host(.has-label-h2){--mod-list-item-title-size: var(--ds-heading-2-size-device)}:host(.has-label-2xl){--mod-list-item-title-size: var(--ds-heading-2-size-device)}:host(.has-label-h3){--mod-list-item-title-size: var(--ds-heading-3-size-device)}:host(.has-label-xl){--mod-list-item-title-size: var(--ds-heading-3-size-device)}:host(.has-label-h4){--mod-list-item-title-size: var(--ds-heading-4-size-device)}:host(.has-label-lg){--mod-list-item-title-size: var(--ds-heading-4-size-device)}:host(.has-label-h5){--mod-list-item-title-size: var(--ds-heading-5-size-device)}:host(.has-label-base){--mod-list-item-title-size: var(--ds-heading-5-size-device)}:host(.is-link) #item,:host(.is-button) #item{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;user-drag:none;text-decoration:none;outline:none;cursor:pointer;background:var(--_list-item-background-base)}:host(.is-link) #item::-moz-focus-inner,:host(.is-button) #item::-moz-focus-inner{border:0}:host(.is-link) #item #content,:host(.is-button) #item #content{hyphens:auto;overflow-wrap:break-word;font-family:var(--_list-item-title-family);font-weight:var(--_list-item-title-weight);font-size:var(--_list-item-title-size);color:var(--ds-link-color-base)}@media(hover: hover)and (pointer: fine){:host(.is-link) #item:hover,:host(.is-link) #item.is-hovered,:host(.is-button) #item:hover,:host(.is-button) #item.is-hovered{background:var(--_list-item-background-hover)}}:host(.is-link) #item:active,:host(.is-link) #item.is-pressed,:host(.is-button) #item:active,:host(.is-button) #item.is-pressed{background:var(--_list-item-background-active);color:var(--ds-link-color-base-active)}:host(.is-link) #item:active #content,:host(.is-link) #item.is-pressed #content,:host(.is-button) #item:active #content,:host(.is-button) #item.is-pressed #content{color:var(--ds-link-color-base-active)}:host(.is-link) #item:active ds-icon,:host(.is-link) #item:active ::slotted(ds-icon),:host(.is-link) #item:active ::slotted(ds-badge),:host(.is-link) #item.is-pressed ds-icon,:host(.is-link) #item.is-pressed ::slotted(ds-icon),:host(.is-link) #item.is-pressed ::slotted(ds-badge),:host(.is-button) #item:active ds-icon,:host(.is-button) #item:active ::slotted(ds-icon),:host(.is-button) #item:active ::slotted(ds-badge),:host(.is-button) #item.is-pressed ds-icon,:host(.is-button) #item.is-pressed ::slotted(ds-icon),:host(.is-button) #item.is-pressed ::slotted(ds-badge){--icon-color: var(--ds-link-color-base-active)}:host(.is-link) #item:before,:host(.is-button) #item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;border-radius:var(--ds-alias-radius-base);touch-action:manipulation;transition-property:box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}:host(.is-link) #item:focus-visible:not(:active):before,:host(.is-link) #item.is-focused:not(:active):before,:host(.is-button) #item:focus-visible:not(:active):before,:host(.is-button) #item.is-focused:not(:active):before{box-shadow:var(--ds-alias-interaction-focus-color-border) 0 0 0 2px,var(--_list-item-focus) 0 0 0 5px !important}@media(hover: hover)and (pointer: fine){:host(.is-link) #item:hover:after,:host(.is-link) #item.is-hovered:after,:host(.is-button) #item:hover:after,:host(.is-button) #item.is-hovered:after,:host(.is-accordion) #item:hover:after,:host(.is-accordion) #item.is-hovered:after{background:var(--_list-item-border-color-hover)}}:host(.is-link) #item:active:after,:host(.is-link) #item.is-pressed:after,:host(.is-button) #item:active:after,:host(.is-button) #item.is-pressed:after,:host(.is-accordion) #item:active:after,:host(.is-accordion) #item.is-pressed:after{background:var(--_list-item-border-color-active)}:host(.is-accordion) ::slotted(p){padding-block:var(--_list-item-accordion-py)}:host(.is-accordion) ds-accordion{--accordion-summary-color-hover: var(--ds-link-color-base)}:host(.is-accordion) ds-accordion::part(header){background:var(--_list-item-background-base)}:host(.is-accordion) ds-accordion::part(summary){padding-right:.25rem}:host(.is-accordion) ds-accordion::part(summary):hover{background:var(--_list-item-background-hover)}:host(.is-accordion) ds-accordion::part(summary):active{background:var(--_list-item-background-active)}:host(.is-accordion) #accordion-content:after{content:"";border-radius:var(--_list-item-border-radius);width:100%;position:absolute;bottom:0;left:0;right:0;height:var(--_list-item-border-width);background:var(--_list-item-border-color-base)}:host(.is-disabled) #item{pointer-events:none !important;cursor:default !important;color:var(--ds-list-item-disabled)}:host(.is-disabled) #item #content{color:var(--ds-list-item-disabled)}:host(.is-disabled) #item ds-icon,:host(.is-disabled) #item ds-badge,:host(.is-disabled) #item ::slotted(ds-icon),:host(.is-disabled) #item ::slotted(ds-badge){--icon-color: var(--ds-list-item-disabled)}:host(.is-disabled) #item ds-badge,:host(.is-disabled) #item ::slotted(ds-badge){--badge-color-background: var(--ds-badge-grey-color-background);--badge-color-text: var(--ds-badge-grey-color-text)}
|