@zanichelli/albe-web-components 20.0.4 → 20.1.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/CHANGELOG.md +32 -0
- package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -3
- package/dist/cjs/breakpoints-B7vFm-3T.js +0 -3
- package/dist/cjs/iconset-BIdMT0Ke.js +0 -3
- package/dist/cjs/index-DppFfqsn.js +0 -3
- package/dist/cjs/{index-CZz7uP-M.js → index-ps8icjTZ.js} +37 -13
- package/dist/cjs/index.cjs.js +0 -3
- package/dist/cjs/loader.cjs.js +2 -5
- package/dist/cjs/{reactive-controller-DJkjAuqS.js → reactive-controller-B7HE6OC5.js} +1 -4
- package/dist/cjs/utils-BnCPu0Si.js +0 -3
- package/dist/cjs/utils-C6lcMaul.js +0 -3
- package/dist/cjs/web-components-library.cjs.js +3 -6
- package/dist/cjs/z-accordion.cjs.entry.js +1 -4
- package/dist/cjs/z-anchor-navigation.cjs.entry.js +1 -4
- package/dist/cjs/z-app-header_12.cjs.entry.js +74 -40
- package/dist/cjs/z-aria-alert.cjs.entry.js +2 -5
- package/dist/cjs/z-avatar.cjs.entry.js +3 -6
- package/dist/cjs/z-book-card-app.cjs.entry.js +2 -5
- package/dist/cjs/z-book-card.cjs.entry.js +2 -5
- package/dist/cjs/z-book-cover.cjs.entry.js +2 -5
- package/dist/cjs/z-breadcrumb.cjs.entry.js +3 -6
- package/dist/cjs/z-button-sort.cjs.entry.js +2 -5
- package/dist/cjs/z-card.cjs.entry.js +1 -4
- package/dist/cjs/z-carousel.cjs.entry.js +2 -5
- package/dist/cjs/z-chip.cjs.entry.js +3 -6
- package/dist/cjs/z-color-picker.cjs.entry.js +2 -5
- package/dist/cjs/z-combobox.cjs.entry.js +4 -7
- package/dist/cjs/z-cover-hero.cjs.entry.js +3 -6
- package/dist/cjs/z-date-picker.cjs.entry.js +1 -4
- package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +6 -9
- package/dist/cjs/z-file-upload.cjs.entry.js +1 -4
- package/dist/cjs/z-file.cjs.entry.js +1 -4
- package/dist/cjs/z-ghost-loading.cjs.entry.js +2 -5
- package/dist/cjs/z-info-box.cjs.entry.js +2 -5
- package/dist/cjs/z-info-reveal.cjs.entry.js +2 -5
- package/dist/cjs/z-input-range.cjs.entry.js +3 -6
- package/dist/cjs/z-logo.cjs.entry.js +2 -5
- package/dist/cjs/z-menu-section.cjs.entry.js +2 -5
- package/dist/cjs/z-menu.cjs.entry.js +1 -4
- package/dist/cjs/z-navigation-tabs.cjs.entry.js +3 -6
- package/dist/cjs/z-notification.cjs.entry.js +2 -5
- package/dist/cjs/z-pagination.cjs.entry.js +1 -4
- package/dist/cjs/z-popover.cjs.entry.js +2 -5
- package/dist/cjs/z-range-picker.cjs.entry.js +1 -4
- package/dist/cjs/z-result-card.cjs.entry.js +1 -4
- package/dist/cjs/z-select.cjs.entry.js +12 -9
- package/dist/cjs/z-skip-to-content.cjs.entry.js +2 -5
- package/dist/cjs/z-stepper-item.cjs.entry.js +3 -6
- package/dist/cjs/z-stepper.cjs.entry.js +2 -5
- package/dist/cjs/z-table.cjs.entry.js +1 -4
- package/dist/cjs/z-tbody.cjs.entry.js +1 -4
- package/dist/cjs/z-td.cjs.entry.js +1 -4
- package/dist/cjs/z-tfoot.cjs.entry.js +1 -4
- package/dist/cjs/z-th.cjs.entry.js +1 -4
- package/dist/cjs/z-thead.cjs.entry.js +1 -4
- package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -5
- package/dist/cjs/z-toast-notification.cjs.entry.js +4 -7
- package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -8
- package/dist/cjs/z-tool.cjs.entry.js +4 -7
- package/dist/cjs/z-toolbar.cjs.entry.js +2 -5
- package/dist/cjs/z-tooltip.cjs.entry.js +2 -5
- package/dist/cjs/z-tr.cjs.entry.js +1 -4
- package/dist/cjs/z-tree-list.cjs.entry.js +1 -4
- package/dist/cjs/z-visually-hidden.cjs.entry.js +2 -5
- package/dist/collection/beans/index.js +0 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/book-card/z-book-card/index.js +0 -1
- package/dist/collection/components/book-card/z-book-card-app/index.js +0 -1
- package/dist/collection/components/css-components/z-label/styles.css +7 -3
- package/dist/collection/components/css-components/z-scrollbar/styles.css +53 -13
- package/dist/collection/components/date-picker/utils.js +0 -1
- package/dist/collection/components/date-picker/z-date-picker/index.js +0 -1
- package/dist/collection/components/date-picker/z-range-picker/index.js +0 -1
- package/dist/collection/components/deprecated/table/cells/z-td/index.js +0 -1
- package/dist/collection/components/deprecated/table/cells/z-th/index.js +0 -1
- package/dist/collection/components/deprecated/table/z-table/index.js +0 -1
- package/dist/collection/components/deprecated/table/z-tbody/index.js +0 -1
- package/dist/collection/components/deprecated/table/z-tfoot/index.js +0 -1
- package/dist/collection/components/deprecated/table/z-thead/index.js +0 -1
- package/dist/collection/components/deprecated/table/z-tr/index.js +0 -1
- package/dist/collection/components/file-upload/z-dragdrop-area/index.js +0 -1
- package/dist/collection/components/file-upload/z-file/index.js +0 -1
- package/dist/collection/components/file-upload/z-file-upload/index.js +0 -1
- package/dist/collection/components/index.js +0 -1
- package/dist/collection/components/list/z-list/index.js +0 -1
- package/dist/collection/components/list/z-list-element/index.js +0 -1
- package/dist/collection/components/list/z-list-group/index.js +0 -1
- package/dist/collection/components/list/z-tree-list/index.js +0 -1
- package/dist/collection/components/z-accordion/index.js +0 -1
- package/dist/collection/components/z-anchor-navigation/index.js +0 -1
- package/dist/collection/components/z-app-header/index.js +9 -15
- package/dist/collection/components/z-app-header/styles.css +12 -15
- package/dist/collection/components/z-aria-alert/index.js +1 -2
- package/dist/collection/components/z-avatar/index.js +2 -3
- package/dist/collection/components/z-book-cover/index.js +1 -2
- package/dist/collection/components/z-breadcrumb/index.js +2 -3
- package/dist/collection/components/z-button/index.js +0 -1
- package/dist/collection/components/z-button-sort/index.js +1 -2
- package/dist/collection/components/z-card/index.js +0 -1
- package/dist/collection/components/z-carousel/index.js +0 -1
- package/dist/collection/components/z-chip/index.js +2 -3
- package/dist/collection/components/z-color-picker/index.js +1 -2
- package/dist/collection/components/z-combobox/index.js +1 -2
- package/dist/collection/components/z-combobox/styles.css +3 -3
- package/dist/collection/components/z-cover-hero/index.js +2 -3
- package/dist/collection/components/z-divider/index.js +1 -2
- package/dist/collection/components/z-ghost-loading/index.js +1 -2
- package/dist/collection/components/z-icon/index.js +1 -2
- package/dist/collection/components/z-info-box/index.js +1 -2
- package/dist/collection/components/z-info-reveal/index.js +1 -2
- package/dist/collection/components/z-input/index.js +50 -8
- package/dist/collection/components/z-input/styles-general.css +74 -23
- package/dist/collection/components/z-input/styles-text.css +13 -16
- package/dist/collection/components/z-input/styles-textarea.css +2 -1
- package/dist/collection/components/z-input-message/index.js +1 -2
- package/dist/collection/components/z-input-message/styles.css +9 -5
- package/dist/collection/components/z-input-range/index.js +1 -2
- package/dist/collection/components/z-logo/index.js +1 -2
- package/dist/collection/components/z-menu/index.js +0 -1
- package/dist/collection/components/z-menu-section/index.js +1 -2
- package/dist/collection/components/z-modal/index.js +4 -5
- package/dist/collection/components/z-navigation-tabs/index.js +2 -3
- package/dist/collection/components/z-notification/index.js +1 -2
- package/dist/collection/components/z-offcanvas/index.js +2 -3
- package/dist/collection/components/z-pagination/index.js +0 -1
- package/dist/collection/components/z-popover/index.js +1 -2
- package/dist/collection/components/z-result-card/index.js +0 -1
- package/dist/collection/components/z-searchbar/index.js +4 -5
- package/dist/collection/components/z-searchbar/styles.css +4 -0
- package/dist/collection/components/z-select/index.js +10 -5
- package/dist/collection/components/z-select/styles.css +4 -2
- package/dist/collection/components/z-skip-to-content/index.js +1 -2
- package/dist/collection/components/z-stepper/index.js +1 -2
- package/dist/collection/components/z-stepper-item/index.js +1 -2
- package/dist/collection/components/z-stepper-item/styles.css +19 -4
- package/dist/collection/components/z-tag/index.js +2 -3
- package/dist/collection/components/z-toast-notification/index.js +3 -4
- package/dist/collection/components/z-toast-notification-list/index.js +1 -2
- package/dist/collection/components/z-toggle-switch/index.js +3 -4
- package/dist/collection/components/z-toggle-switch/styles.css +337 -4
- package/dist/collection/components/z-tool/index.js +2 -3
- package/dist/collection/components/z-toolbar/index.js +1 -2
- package/dist/collection/components/z-tooltip/index.js +1 -2
- package/dist/collection/components/z-visually-hidden/index.js +1 -2
- package/dist/collection/constants/breakpoints.js +0 -1
- package/dist/collection/constants/icons.js +0 -1
- package/dist/collection/constants/iconset.js +0 -1
- package/dist/collection/index.js +0 -1
- package/dist/collection/tokens/typography.css +537 -75
- package/dist/collection/utils/focus-trap-controller.js +0 -1
- package/dist/collection/utils/reactive-controller.js +0 -1
- package/dist/collection/utils/storybook-utils.js +0 -1
- package/dist/collection/utils/utils.js +0 -1
- package/dist/components/_commonjsHelpers.js +1 -2
- package/dist/components/breakpoints.js +1 -2
- package/dist/components/iconset.js +1 -2
- package/dist/components/index.js +1 -2
- package/dist/components/index10.js +1 -2
- package/dist/components/index11.js +1 -2
- package/dist/components/index12.js +1 -2
- package/dist/components/index13.js +1 -2
- package/dist/components/index14.js +1 -2
- package/dist/components/index15.js +1 -2
- package/dist/components/index16.js +1 -2
- package/dist/components/index17.js +1 -2
- package/dist/components/index18.js +1 -2
- package/dist/components/index19.js +1 -2
- package/dist/components/index2.js +1 -2
- package/dist/components/index20.js +1 -2
- package/dist/components/index21.js +1 -2
- package/dist/components/index3.js +1 -2
- package/dist/components/index4.js +1 -2
- package/dist/components/index5.js +1 -2
- package/dist/components/index6.js +1 -2
- package/dist/components/index7.js +1 -2
- package/dist/components/index8.js +1 -2
- package/dist/components/index9.js +1 -2
- package/dist/components/reactive-controller.js +2 -3
- package/dist/components/utils.js +2 -3
- package/dist/components/utils2.js +1 -2
- package/dist/components/z-accordion.js +1 -2
- package/dist/components/z-anchor-navigation.js +1 -2
- package/dist/components/z-app-header.js +1 -2
- package/dist/components/z-aria-alert.js +1 -2
- package/dist/components/z-avatar.js +1 -2
- package/dist/components/z-book-card-app.js +1 -2
- package/dist/components/z-book-card.js +1 -2
- package/dist/components/z-book-cover.js +1 -2
- package/dist/components/z-breadcrumb.js +1 -2
- package/dist/components/z-button-sort.js +1 -2
- package/dist/components/z-button.js +1 -2
- package/dist/components/z-card.js +1 -2
- package/dist/components/z-carousel.js +1 -2
- package/dist/components/z-chip.js +1 -2
- package/dist/components/z-color-picker.js +1 -2
- package/dist/components/z-combobox.js +1 -2
- package/dist/components/z-cover-hero.js +1 -2
- package/dist/components/z-date-picker.js +2 -3
- package/dist/components/z-divider.js +1 -2
- package/dist/components/z-dragdrop-area.js +1 -2
- package/dist/components/z-file-upload.js +1 -2
- package/dist/components/z-file.js +1 -2
- package/dist/components/z-ghost-loading.js +1 -2
- package/dist/components/z-icon.js +1 -2
- package/dist/components/z-info-box.js +1 -2
- package/dist/components/z-info-reveal.js +1 -2
- package/dist/components/z-input-message.js +1 -2
- package/dist/components/z-input-range.js +1 -2
- package/dist/components/z-input.js +1 -2
- package/dist/components/z-list-element.js +1 -2
- package/dist/components/z-list-group.js +1 -2
- package/dist/components/z-list.js +1 -2
- package/dist/components/z-logo.js +1 -2
- package/dist/components/z-menu-section.js +1 -2
- package/dist/components/z-menu.js +1 -2
- package/dist/components/z-modal.js +1 -2
- package/dist/components/z-navigation-tabs.js +1 -2
- package/dist/components/z-notification.js +1 -2
- package/dist/components/z-offcanvas.js +1 -2
- package/dist/components/z-pagination.js +1 -2
- package/dist/components/z-popover.js +1 -2
- package/dist/components/z-range-picker.js +1 -2
- package/dist/components/z-result-card.js +1 -2
- package/dist/components/z-searchbar.js +1 -2
- package/dist/components/z-select.js +1 -2
- package/dist/components/z-skip-to-content.js +1 -2
- package/dist/components/z-stepper-item.js +1 -2
- package/dist/components/z-stepper.js +1 -2
- package/dist/components/z-table.js +1 -2
- package/dist/components/z-tag.js +1 -2
- package/dist/components/z-tbody.js +1 -2
- package/dist/components/z-td.js +1 -2
- package/dist/components/z-tfoot.js +1 -2
- package/dist/components/z-th.js +1 -2
- package/dist/components/z-thead.js +1 -2
- package/dist/components/z-toast-notification-list.js +1 -2
- package/dist/components/z-toast-notification.js +2 -8
- package/dist/components/z-toggle-switch.js +1 -2
- package/dist/components/z-tool.js +1 -2
- package/dist/components/z-toolbar.js +1 -2
- package/dist/components/z-tooltip.js +1 -2
- package/dist/components/z-tr.js +1 -2
- package/dist/components/z-tree-list.js +1 -2
- package/dist/components/z-visually-hidden.js +1 -2
- package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -3
- package/dist/esm/breakpoints-Q-tWjk7P.js +0 -3
- package/dist/esm/iconset-D1c5gR45.js +0 -3
- package/dist/esm/index-DdetsoIY.js +0 -3
- package/dist/esm/{index-BcDWN4F1.js → index-SFwvdS4t.js} +37 -13
- package/dist/esm/index.js +0 -3
- package/dist/esm/loader.js +3 -6
- package/dist/esm/{reactive-controller-CHemhYDp.js → reactive-controller-Bp_OSSRX.js} +1 -4
- package/dist/esm/utils-BO5sSCUY.js +0 -3
- package/dist/esm/utils-CJc3A9NX.js +0 -3
- package/dist/esm/web-components-library.js +4 -7
- package/dist/esm/z-accordion.entry.js +1 -4
- package/dist/esm/z-anchor-navigation.entry.js +1 -4
- package/dist/esm/z-app-header_12.entry.js +74 -40
- package/dist/esm/z-aria-alert.entry.js +2 -5
- package/dist/esm/z-avatar.entry.js +3 -6
- package/dist/esm/z-book-card-app.entry.js +2 -5
- package/dist/esm/z-book-card.entry.js +2 -5
- package/dist/esm/z-book-cover.entry.js +2 -5
- package/dist/esm/z-breadcrumb.entry.js +3 -6
- package/dist/esm/z-button-sort.entry.js +2 -5
- package/dist/esm/z-card.entry.js +1 -4
- package/dist/esm/z-carousel.entry.js +2 -5
- package/dist/esm/z-chip.entry.js +3 -6
- package/dist/esm/z-color-picker.entry.js +2 -5
- package/dist/esm/z-combobox.entry.js +4 -7
- package/dist/esm/z-cover-hero.entry.js +3 -6
- package/dist/esm/z-date-picker.entry.js +1 -4
- package/dist/esm/z-dragdrop-area_2.entry.js +6 -9
- package/dist/esm/z-file-upload.entry.js +1 -4
- package/dist/esm/z-file.entry.js +1 -4
- package/dist/esm/z-ghost-loading.entry.js +2 -5
- package/dist/esm/z-info-box.entry.js +2 -5
- package/dist/esm/z-info-reveal.entry.js +2 -5
- package/dist/esm/z-input-range.entry.js +3 -6
- package/dist/esm/z-logo.entry.js +2 -5
- package/dist/esm/z-menu-section.entry.js +2 -5
- package/dist/esm/z-menu.entry.js +1 -4
- package/dist/esm/z-navigation-tabs.entry.js +3 -6
- package/dist/esm/z-notification.entry.js +2 -5
- package/dist/esm/z-pagination.entry.js +1 -4
- package/dist/esm/z-popover.entry.js +2 -5
- package/dist/esm/z-range-picker.entry.js +1 -4
- package/dist/esm/z-result-card.entry.js +1 -4
- package/dist/esm/z-select.entry.js +12 -9
- package/dist/esm/z-skip-to-content.entry.js +2 -5
- package/dist/esm/z-stepper-item.entry.js +3 -6
- package/dist/esm/z-stepper.entry.js +2 -5
- package/dist/esm/z-table.entry.js +1 -4
- package/dist/esm/z-tbody.entry.js +1 -4
- package/dist/esm/z-td.entry.js +1 -4
- package/dist/esm/z-tfoot.entry.js +1 -4
- package/dist/esm/z-th.entry.js +1 -4
- package/dist/esm/z-thead.entry.js +1 -4
- package/dist/esm/z-toast-notification-list.entry.js +2 -5
- package/dist/esm/z-toast-notification.entry.js +4 -7
- package/dist/esm/z-toggle-switch.entry.js +5 -8
- package/dist/esm/z-tool.entry.js +4 -7
- package/dist/esm/z-toolbar.entry.js +2 -5
- package/dist/esm/z-tooltip.entry.js +2 -5
- package/dist/esm/z-tr.entry.js +1 -4
- package/dist/esm/z-tree-list.entry.js +1 -4
- package/dist/esm/z-visually-hidden.entry.js +2 -5
- package/dist/types/components/z-app-header/index.d.ts +2 -3
- package/dist/types/components/z-input/index.d.ts +7 -0
- package/dist/types/components/z-select/index.d.ts +2 -0
- package/dist/types/components.d.ts +4 -4
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/dist/web-components-library/index.esm.js +1 -2
- package/dist/web-components-library/p-01045d94.entry.js +1 -0
- package/dist/web-components-library/p-029b5462.entry.js +1 -0
- package/dist/web-components-library/p-07ad2d64.entry.js +1 -0
- package/dist/web-components-library/p-12086d02.entry.js +1 -0
- package/dist/web-components-library/p-16d11cd8.entry.js +1 -0
- package/dist/web-components-library/p-18a1ae5c.entry.js +1 -0
- package/dist/web-components-library/p-1b5a788a.entry.js +1 -0
- package/dist/web-components-library/p-1e47d958.entry.js +1 -0
- package/dist/web-components-library/p-265691af.entry.js +1 -0
- package/dist/web-components-library/p-26f6964c.entry.js +1 -0
- package/dist/web-components-library/p-28056b47.entry.js +1 -0
- package/dist/web-components-library/p-282fec35.entry.js +1 -0
- package/dist/web-components-library/p-2a122434.entry.js +1 -0
- package/dist/web-components-library/p-30458bad.entry.js +1 -0
- package/dist/web-components-library/p-33e1ffe6.entry.js +1 -0
- package/dist/web-components-library/p-35f50eb5.entry.js +1 -0
- package/dist/web-components-library/p-3fa6766d.entry.js +1 -0
- package/dist/web-components-library/p-417ff6c3.entry.js +16 -0
- package/dist/web-components-library/p-48da181b.entry.js +1 -0
- package/dist/web-components-library/p-48e6d036.entry.js +1 -0
- package/dist/web-components-library/{p-ea462d53.entry.js → p-4b506603.entry.js} +1 -2
- package/dist/web-components-library/p-566141b5.entry.js +1 -0
- package/dist/web-components-library/p-5684466e.entry.js +1 -0
- package/dist/web-components-library/p-5adb300f.entry.js +1 -0
- package/dist/web-components-library/p-5b2d9cb2.entry.js +1 -0
- package/dist/web-components-library/p-5e1546ca.entry.js +1 -0
- package/dist/web-components-library/p-5e276f04.entry.js +1 -0
- package/dist/web-components-library/p-5fe609c7.entry.js +1 -0
- package/dist/web-components-library/p-6631dd57.entry.js +1 -0
- package/dist/web-components-library/p-74796120.entry.js +1 -0
- package/dist/web-components-library/p-74b66d40.entry.js +1 -0
- package/dist/web-components-library/p-755fbc56.entry.js +1 -0
- package/dist/web-components-library/p-76e5775e.entry.js +1 -0
- package/dist/web-components-library/p-7d7db1de.entry.js +1 -0
- package/dist/web-components-library/p-8247cb21.entry.js +1 -0
- package/dist/web-components-library/p-867029d2.entry.js +1 -0
- package/dist/web-components-library/p-899ef830.entry.js +1 -0
- package/dist/web-components-library/p-8a2dc548.entry.js +1 -0
- package/dist/web-components-library/p-8a99f71b.entry.js +2 -0
- package/dist/web-components-library/p-B6jtvVtV.js +1 -2
- package/dist/web-components-library/p-B85MJLTf.js +1 -2
- package/dist/web-components-library/p-D1c5gR45.js +1 -2
- package/dist/web-components-library/p-DPrEzmhI.js +2 -3
- package/dist/web-components-library/p-DWyY-2H5.js +5 -0
- package/dist/web-components-library/p-DdetsoIY.js +1 -2
- package/dist/web-components-library/p-Q-tWjk7P.js +1 -2
- package/dist/web-components-library/p-SFwvdS4t.js +2 -0
- package/dist/web-components-library/p-b8e25468.entry.js +1 -0
- package/dist/web-components-library/p-c375c57c.entry.js +1 -0
- package/dist/web-components-library/p-c5dded69.entry.js +1 -0
- package/dist/web-components-library/p-c629fdb3.entry.js +1 -0
- package/dist/web-components-library/p-d22f34ac.entry.js +1 -0
- package/dist/web-components-library/p-e0db0935.entry.js +1 -0
- package/dist/web-components-library/p-e17981fe.entry.js +1 -0
- package/dist/web-components-library/p-e18ead24.entry.js +1 -0
- package/dist/web-components-library/p-e69a2a0b.entry.js +1 -0
- package/dist/web-components-library/p-ea40b987.entry.js +1 -0
- package/dist/web-components-library/p-eb0bd443.entry.js +1 -0
- package/dist/web-components-library/p-f5a6cde3.entry.js +1 -0
- package/dist/web-components-library/p-fdb00ffd.entry.js +1 -0
- package/dist/web-components-library/web-components-library.css +1149 -91
- package/dist/web-components-library/web-components-library.esm.js +1 -2
- package/package.json +13 -13
- package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
- package/dist/cjs/breakpoints-B7vFm-3T.js.map +0 -1
- package/dist/cjs/iconset-BIdMT0Ke.js.map +0 -1
- package/dist/cjs/index-CZz7uP-M.js.map +0 -1
- package/dist/cjs/index-DppFfqsn.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/reactive-controller-DJkjAuqS.js.map +0 -1
- package/dist/cjs/utils-BnCPu0Si.js.map +0 -1
- package/dist/cjs/utils-C6lcMaul.js.map +0 -1
- package/dist/cjs/web-components-library.cjs.js.map +0 -1
- package/dist/cjs/z-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +0 -1
- package/dist/cjs/z-app-header_12.cjs.entry.js.map +0 -1
- package/dist/cjs/z-aria-alert.cjs.entry.js.map +0 -1
- package/dist/cjs/z-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/z-book-card-app.cjs.entry.js.map +0 -1
- package/dist/cjs/z-book-card.cjs.entry.js.map +0 -1
- package/dist/cjs/z-book-cover.cjs.entry.js.map +0 -1
- package/dist/cjs/z-breadcrumb.cjs.entry.js.map +0 -1
- package/dist/cjs/z-button-sort.cjs.entry.js.map +0 -1
- package/dist/cjs/z-card.cjs.entry.js.map +0 -1
- package/dist/cjs/z-carousel.cjs.entry.js.map +0 -1
- package/dist/cjs/z-chip.cjs.entry.js.map +0 -1
- package/dist/cjs/z-color-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/z-combobox.cjs.entry.js.map +0 -1
- package/dist/cjs/z-cover-hero.cjs.entry.js.map +0 -1
- package/dist/cjs/z-date-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +0 -1
- package/dist/cjs/z-file-upload.cjs.entry.js.map +0 -1
- package/dist/cjs/z-file.cjs.entry.js.map +0 -1
- package/dist/cjs/z-ghost-loading.cjs.entry.js.map +0 -1
- package/dist/cjs/z-info-box.cjs.entry.js.map +0 -1
- package/dist/cjs/z-info-reveal.cjs.entry.js.map +0 -1
- package/dist/cjs/z-input-range.cjs.entry.js.map +0 -1
- package/dist/cjs/z-logo.cjs.entry.js.map +0 -1
- package/dist/cjs/z-menu-section.cjs.entry.js.map +0 -1
- package/dist/cjs/z-menu.cjs.entry.js.map +0 -1
- package/dist/cjs/z-navigation-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/z-notification.cjs.entry.js.map +0 -1
- package/dist/cjs/z-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/z-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/z-range-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/z-result-card.cjs.entry.js.map +0 -1
- package/dist/cjs/z-select.cjs.entry.js.map +0 -1
- package/dist/cjs/z-skip-to-content.cjs.entry.js.map +0 -1
- package/dist/cjs/z-stepper-item.cjs.entry.js.map +0 -1
- package/dist/cjs/z-stepper.cjs.entry.js.map +0 -1
- package/dist/cjs/z-table.cjs.entry.js.map +0 -1
- package/dist/cjs/z-tbody.cjs.entry.js.map +0 -1
- package/dist/cjs/z-td.cjs.entry.js.map +0 -1
- package/dist/cjs/z-tfoot.cjs.entry.js.map +0 -1
- package/dist/cjs/z-th.cjs.entry.js.map +0 -1
- package/dist/cjs/z-thead.cjs.entry.js.map +0 -1
- package/dist/cjs/z-toast-notification-list.cjs.entry.js.map +0 -1
- package/dist/cjs/z-toast-notification.cjs.entry.js.map +0 -1
- package/dist/cjs/z-toggle-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/z-tool.cjs.entry.js.map +0 -1
- package/dist/cjs/z-toolbar.cjs.entry.js.map +0 -1
- package/dist/cjs/z-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/z-tr.cjs.entry.js.map +0 -1
- package/dist/cjs/z-tree-list.cjs.entry.js.map +0 -1
- package/dist/cjs/z-visually-hidden.cjs.entry.js.map +0 -1
- package/dist/collection/beans/index.js.map +0 -1
- package/dist/collection/components/book-card/z-book-card/index.js.map +0 -1
- package/dist/collection/components/book-card/z-book-card-app/index.js.map +0 -1
- package/dist/collection/components/date-picker/utils.js.map +0 -1
- package/dist/collection/components/date-picker/z-date-picker/index.js.map +0 -1
- package/dist/collection/components/date-picker/z-range-picker/index.js.map +0 -1
- package/dist/collection/components/deprecated/table/cells/z-td/index.js.map +0 -1
- package/dist/collection/components/deprecated/table/cells/z-th/index.js.map +0 -1
- package/dist/collection/components/deprecated/table/z-table/index.js.map +0 -1
- package/dist/collection/components/deprecated/table/z-tbody/index.js.map +0 -1
- package/dist/collection/components/deprecated/table/z-tfoot/index.js.map +0 -1
- package/dist/collection/components/deprecated/table/z-thead/index.js.map +0 -1
- package/dist/collection/components/deprecated/table/z-tr/index.js.map +0 -1
- package/dist/collection/components/file-upload/z-dragdrop-area/index.js.map +0 -1
- package/dist/collection/components/file-upload/z-file/index.js.map +0 -1
- package/dist/collection/components/file-upload/z-file-upload/index.js.map +0 -1
- package/dist/collection/components/index.js.map +0 -1
- package/dist/collection/components/list/z-list/index.js.map +0 -1
- package/dist/collection/components/list/z-list-element/index.js.map +0 -1
- package/dist/collection/components/list/z-list-group/index.js.map +0 -1
- package/dist/collection/components/list/z-tree-list/index.js.map +0 -1
- package/dist/collection/components/z-accordion/index.js.map +0 -1
- package/dist/collection/components/z-anchor-navigation/index.js.map +0 -1
- package/dist/collection/components/z-app-header/index.js.map +0 -1
- package/dist/collection/components/z-aria-alert/index.js.map +0 -1
- package/dist/collection/components/z-avatar/index.js.map +0 -1
- package/dist/collection/components/z-book-cover/index.js.map +0 -1
- package/dist/collection/components/z-breadcrumb/index.js.map +0 -1
- package/dist/collection/components/z-button/index.js.map +0 -1
- package/dist/collection/components/z-button-sort/index.js.map +0 -1
- package/dist/collection/components/z-card/index.js.map +0 -1
- package/dist/collection/components/z-carousel/index.js.map +0 -1
- package/dist/collection/components/z-chip/index.js.map +0 -1
- package/dist/collection/components/z-color-picker/index.js.map +0 -1
- package/dist/collection/components/z-combobox/index.js.map +0 -1
- package/dist/collection/components/z-cover-hero/index.js.map +0 -1
- package/dist/collection/components/z-divider/index.js.map +0 -1
- package/dist/collection/components/z-ghost-loading/index.js.map +0 -1
- package/dist/collection/components/z-icon/index.js.map +0 -1
- package/dist/collection/components/z-info-box/index.js.map +0 -1
- package/dist/collection/components/z-info-reveal/index.js.map +0 -1
- package/dist/collection/components/z-input/index.js.map +0 -1
- package/dist/collection/components/z-input-message/index.js.map +0 -1
- package/dist/collection/components/z-input-range/index.js.map +0 -1
- package/dist/collection/components/z-logo/index.js.map +0 -1
- package/dist/collection/components/z-menu/index.js.map +0 -1
- package/dist/collection/components/z-menu-section/index.js.map +0 -1
- package/dist/collection/components/z-modal/index.js.map +0 -1
- package/dist/collection/components/z-navigation-tabs/index.js.map +0 -1
- package/dist/collection/components/z-notification/index.js.map +0 -1
- package/dist/collection/components/z-offcanvas/index.js.map +0 -1
- package/dist/collection/components/z-pagination/index.js.map +0 -1
- package/dist/collection/components/z-popover/index.js.map +0 -1
- package/dist/collection/components/z-result-card/index.js.map +0 -1
- package/dist/collection/components/z-searchbar/index.js.map +0 -1
- package/dist/collection/components/z-select/index.js.map +0 -1
- package/dist/collection/components/z-skip-to-content/index.js.map +0 -1
- package/dist/collection/components/z-stepper/index.js.map +0 -1
- package/dist/collection/components/z-stepper-item/index.js.map +0 -1
- package/dist/collection/components/z-tag/index.js.map +0 -1
- package/dist/collection/components/z-toast-notification/index.js.map +0 -1
- package/dist/collection/components/z-toast-notification-list/index.js.map +0 -1
- package/dist/collection/components/z-toggle-switch/index.js.map +0 -1
- package/dist/collection/components/z-tool/index.js.map +0 -1
- package/dist/collection/components/z-toolbar/index.js.map +0 -1
- package/dist/collection/components/z-tooltip/index.js.map +0 -1
- package/dist/collection/components/z-visually-hidden/index.js.map +0 -1
- package/dist/collection/constants/breakpoints.js.map +0 -1
- package/dist/collection/constants/icons.js.map +0 -1
- package/dist/collection/constants/iconset.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/utils/focus-trap-controller.js.map +0 -1
- package/dist/collection/utils/reactive-controller.js.map +0 -1
- package/dist/collection/utils/storybook-utils.js.map +0 -1
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/components/_commonjsHelpers.js.map +0 -1
- package/dist/components/breakpoints.js.map +0 -1
- package/dist/components/iconset.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/index10.js.map +0 -1
- package/dist/components/index11.js.map +0 -1
- package/dist/components/index12.js.map +0 -1
- package/dist/components/index13.js.map +0 -1
- package/dist/components/index14.js.map +0 -1
- package/dist/components/index15.js.map +0 -1
- package/dist/components/index16.js.map +0 -1
- package/dist/components/index17.js.map +0 -1
- package/dist/components/index18.js.map +0 -1
- package/dist/components/index19.js.map +0 -1
- package/dist/components/index2.js.map +0 -1
- package/dist/components/index20.js.map +0 -1
- package/dist/components/index21.js.map +0 -1
- package/dist/components/index3.js.map +0 -1
- package/dist/components/index4.js.map +0 -1
- package/dist/components/index5.js.map +0 -1
- package/dist/components/index6.js.map +0 -1
- package/dist/components/index7.js.map +0 -1
- package/dist/components/index8.js.map +0 -1
- package/dist/components/index9.js.map +0 -1
- package/dist/components/reactive-controller.js.map +0 -1
- package/dist/components/utils.js.map +0 -1
- package/dist/components/utils2.js.map +0 -1
- package/dist/components/z-accordion.js.map +0 -1
- package/dist/components/z-anchor-navigation.js.map +0 -1
- package/dist/components/z-app-header.js.map +0 -1
- package/dist/components/z-aria-alert.js.map +0 -1
- package/dist/components/z-avatar.js.map +0 -1
- package/dist/components/z-book-card-app.js.map +0 -1
- package/dist/components/z-book-card.js.map +0 -1
- package/dist/components/z-book-cover.js.map +0 -1
- package/dist/components/z-breadcrumb.js.map +0 -1
- package/dist/components/z-button-sort.js.map +0 -1
- package/dist/components/z-button.js.map +0 -1
- package/dist/components/z-card.js.map +0 -1
- package/dist/components/z-carousel.js.map +0 -1
- package/dist/components/z-chip.js.map +0 -1
- package/dist/components/z-color-picker.js.map +0 -1
- package/dist/components/z-combobox.js.map +0 -1
- package/dist/components/z-cover-hero.js.map +0 -1
- package/dist/components/z-date-picker.js.map +0 -1
- package/dist/components/z-divider.js.map +0 -1
- package/dist/components/z-dragdrop-area.js.map +0 -1
- package/dist/components/z-file-upload.js.map +0 -1
- package/dist/components/z-file.js.map +0 -1
- package/dist/components/z-ghost-loading.js.map +0 -1
- package/dist/components/z-icon.js.map +0 -1
- package/dist/components/z-info-box.js.map +0 -1
- package/dist/components/z-info-reveal.js.map +0 -1
- package/dist/components/z-input-message.js.map +0 -1
- package/dist/components/z-input-range.js.map +0 -1
- package/dist/components/z-input.js.map +0 -1
- package/dist/components/z-list-element.js.map +0 -1
- package/dist/components/z-list-group.js.map +0 -1
- package/dist/components/z-list.js.map +0 -1
- package/dist/components/z-logo.js.map +0 -1
- package/dist/components/z-menu-section.js.map +0 -1
- package/dist/components/z-menu.js.map +0 -1
- package/dist/components/z-modal.js.map +0 -1
- package/dist/components/z-navigation-tabs.js.map +0 -1
- package/dist/components/z-notification.js.map +0 -1
- package/dist/components/z-offcanvas.js.map +0 -1
- package/dist/components/z-pagination.js.map +0 -1
- package/dist/components/z-popover.js.map +0 -1
- package/dist/components/z-range-picker.js.map +0 -1
- package/dist/components/z-result-card.js.map +0 -1
- package/dist/components/z-searchbar.js.map +0 -1
- package/dist/components/z-select.js.map +0 -1
- package/dist/components/z-skip-to-content.js.map +0 -1
- package/dist/components/z-stepper-item.js.map +0 -1
- package/dist/components/z-stepper.js.map +0 -1
- package/dist/components/z-table.js.map +0 -1
- package/dist/components/z-tag.js.map +0 -1
- package/dist/components/z-tbody.js.map +0 -1
- package/dist/components/z-td.js.map +0 -1
- package/dist/components/z-tfoot.js.map +0 -1
- package/dist/components/z-th.js.map +0 -1
- package/dist/components/z-thead.js.map +0 -1
- package/dist/components/z-toast-notification-list.js.map +0 -1
- package/dist/components/z-toast-notification.js.map +0 -1
- package/dist/components/z-toggle-switch.js.map +0 -1
- package/dist/components/z-tool.js.map +0 -1
- package/dist/components/z-toolbar.js.map +0 -1
- package/dist/components/z-tooltip.js.map +0 -1
- package/dist/components/z-tr.js.map +0 -1
- package/dist/components/z-tree-list.js.map +0 -1
- package/dist/components/z-visually-hidden.js.map +0 -1
- package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
- package/dist/esm/breakpoints-Q-tWjk7P.js.map +0 -1
- package/dist/esm/iconset-D1c5gR45.js.map +0 -1
- package/dist/esm/index-BcDWN4F1.js.map +0 -1
- package/dist/esm/index-DdetsoIY.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/reactive-controller-CHemhYDp.js.map +0 -1
- package/dist/esm/utils-BO5sSCUY.js.map +0 -1
- package/dist/esm/utils-CJc3A9NX.js.map +0 -1
- package/dist/esm/web-components-library.js.map +0 -1
- package/dist/esm/z-accordion.entry.js.map +0 -1
- package/dist/esm/z-anchor-navigation.entry.js.map +0 -1
- package/dist/esm/z-app-header_12.entry.js.map +0 -1
- package/dist/esm/z-aria-alert.entry.js.map +0 -1
- package/dist/esm/z-avatar.entry.js.map +0 -1
- package/dist/esm/z-book-card-app.entry.js.map +0 -1
- package/dist/esm/z-book-card.entry.js.map +0 -1
- package/dist/esm/z-book-cover.entry.js.map +0 -1
- package/dist/esm/z-breadcrumb.entry.js.map +0 -1
- package/dist/esm/z-button-sort.entry.js.map +0 -1
- package/dist/esm/z-card.entry.js.map +0 -1
- package/dist/esm/z-carousel.entry.js.map +0 -1
- package/dist/esm/z-chip.entry.js.map +0 -1
- package/dist/esm/z-color-picker.entry.js.map +0 -1
- package/dist/esm/z-combobox.entry.js.map +0 -1
- package/dist/esm/z-cover-hero.entry.js.map +0 -1
- package/dist/esm/z-date-picker.entry.js.map +0 -1
- package/dist/esm/z-dragdrop-area_2.entry.js.map +0 -1
- package/dist/esm/z-file-upload.entry.js.map +0 -1
- package/dist/esm/z-file.entry.js.map +0 -1
- package/dist/esm/z-ghost-loading.entry.js.map +0 -1
- package/dist/esm/z-info-box.entry.js.map +0 -1
- package/dist/esm/z-info-reveal.entry.js.map +0 -1
- package/dist/esm/z-input-range.entry.js.map +0 -1
- package/dist/esm/z-logo.entry.js.map +0 -1
- package/dist/esm/z-menu-section.entry.js.map +0 -1
- package/dist/esm/z-menu.entry.js.map +0 -1
- package/dist/esm/z-navigation-tabs.entry.js.map +0 -1
- package/dist/esm/z-notification.entry.js.map +0 -1
- package/dist/esm/z-pagination.entry.js.map +0 -1
- package/dist/esm/z-popover.entry.js.map +0 -1
- package/dist/esm/z-range-picker.entry.js.map +0 -1
- package/dist/esm/z-result-card.entry.js.map +0 -1
- package/dist/esm/z-select.entry.js.map +0 -1
- package/dist/esm/z-skip-to-content.entry.js.map +0 -1
- package/dist/esm/z-stepper-item.entry.js.map +0 -1
- package/dist/esm/z-stepper.entry.js.map +0 -1
- package/dist/esm/z-table.entry.js.map +0 -1
- package/dist/esm/z-tbody.entry.js.map +0 -1
- package/dist/esm/z-td.entry.js.map +0 -1
- package/dist/esm/z-tfoot.entry.js.map +0 -1
- package/dist/esm/z-th.entry.js.map +0 -1
- package/dist/esm/z-thead.entry.js.map +0 -1
- package/dist/esm/z-toast-notification-list.entry.js.map +0 -1
- package/dist/esm/z-toast-notification.entry.js.map +0 -1
- package/dist/esm/z-toggle-switch.entry.js.map +0 -1
- package/dist/esm/z-tool.entry.js.map +0 -1
- package/dist/esm/z-toolbar.entry.js.map +0 -1
- package/dist/esm/z-tooltip.entry.js.map +0 -1
- package/dist/esm/z-tr.entry.js.map +0 -1
- package/dist/esm/z-tree-list.entry.js.map +0 -1
- package/dist/esm/z-visually-hidden.entry.js.map +0 -1
- package/dist/web-components-library/index.esm.js.map +0 -1
- package/dist/web-components-library/p-04b6a9f8.entry.js +0 -2
- package/dist/web-components-library/p-04b6a9f8.entry.js.map +0 -1
- package/dist/web-components-library/p-09ac8cb2.entry.js +0 -2
- package/dist/web-components-library/p-09ac8cb2.entry.js.map +0 -1
- package/dist/web-components-library/p-10ffee06.entry.js +0 -2
- package/dist/web-components-library/p-10ffee06.entry.js.map +0 -1
- package/dist/web-components-library/p-13bc7433.entry.js +0 -2
- package/dist/web-components-library/p-13bc7433.entry.js.map +0 -1
- package/dist/web-components-library/p-16423e69.entry.js +0 -2
- package/dist/web-components-library/p-16423e69.entry.js.map +0 -1
- package/dist/web-components-library/p-1702efd5.entry.js +0 -2
- package/dist/web-components-library/p-1702efd5.entry.js.map +0 -1
- package/dist/web-components-library/p-1fedbf42.entry.js +0 -2
- package/dist/web-components-library/p-1fedbf42.entry.js.map +0 -1
- package/dist/web-components-library/p-248ff73f.entry.js +0 -2
- package/dist/web-components-library/p-248ff73f.entry.js.map +0 -1
- package/dist/web-components-library/p-2f8bd98f.entry.js +0 -2
- package/dist/web-components-library/p-2f8bd98f.entry.js.map +0 -1
- package/dist/web-components-library/p-315ca31f.entry.js +0 -2
- package/dist/web-components-library/p-315ca31f.entry.js.map +0 -1
- package/dist/web-components-library/p-320b05fc.entry.js +0 -2
- package/dist/web-components-library/p-320b05fc.entry.js.map +0 -1
- package/dist/web-components-library/p-3a9a120f.entry.js +0 -2
- package/dist/web-components-library/p-3a9a120f.entry.js.map +0 -1
- package/dist/web-components-library/p-3e78dc0d.entry.js +0 -2
- package/dist/web-components-library/p-3e78dc0d.entry.js.map +0 -1
- package/dist/web-components-library/p-41a3f231.entry.js +0 -2
- package/dist/web-components-library/p-41a3f231.entry.js.map +0 -1
- package/dist/web-components-library/p-4362efeb.entry.js +0 -2
- package/dist/web-components-library/p-4362efeb.entry.js.map +0 -1
- package/dist/web-components-library/p-484f3064.entry.js +0 -2
- package/dist/web-components-library/p-484f3064.entry.js.map +0 -1
- package/dist/web-components-library/p-4bc9e06a.entry.js +0 -2
- package/dist/web-components-library/p-4bc9e06a.entry.js.map +0 -1
- package/dist/web-components-library/p-4c054dc5.entry.js +0 -2
- package/dist/web-components-library/p-4c054dc5.entry.js.map +0 -1
- package/dist/web-components-library/p-4d6ea6b1.entry.js +0 -2
- package/dist/web-components-library/p-4d6ea6b1.entry.js.map +0 -1
- package/dist/web-components-library/p-57ba851d.entry.js +0 -2
- package/dist/web-components-library/p-57ba851d.entry.js.map +0 -1
- package/dist/web-components-library/p-5ecdc465.entry.js +0 -2
- package/dist/web-components-library/p-5ecdc465.entry.js.map +0 -1
- package/dist/web-components-library/p-6005c944.entry.js +0 -2
- package/dist/web-components-library/p-6005c944.entry.js.map +0 -1
- package/dist/web-components-library/p-61b49075.entry.js +0 -2
- package/dist/web-components-library/p-61b49075.entry.js.map +0 -1
- package/dist/web-components-library/p-67a2f55e.entry.js +0 -2
- package/dist/web-components-library/p-67a2f55e.entry.js.map +0 -1
- package/dist/web-components-library/p-6ce99251.entry.js +0 -2
- package/dist/web-components-library/p-6ce99251.entry.js.map +0 -1
- package/dist/web-components-library/p-6f6cf4eb.entry.js +0 -2
- package/dist/web-components-library/p-6f6cf4eb.entry.js.map +0 -1
- package/dist/web-components-library/p-791a76d6.entry.js +0 -2
- package/dist/web-components-library/p-791a76d6.entry.js.map +0 -1
- package/dist/web-components-library/p-885472aa.entry.js +0 -2
- package/dist/web-components-library/p-885472aa.entry.js.map +0 -1
- package/dist/web-components-library/p-9dc4d290.entry.js +0 -2
- package/dist/web-components-library/p-9dc4d290.entry.js.map +0 -1
- package/dist/web-components-library/p-B6jtvVtV.js.map +0 -1
- package/dist/web-components-library/p-B85MJLTf.js.map +0 -1
- package/dist/web-components-library/p-BcDWN4F1.js +0 -3
- package/dist/web-components-library/p-BcDWN4F1.js.map +0 -1
- package/dist/web-components-library/p-BjrC13Q0.js +0 -6
- package/dist/web-components-library/p-BjrC13Q0.js.map +0 -1
- package/dist/web-components-library/p-D1c5gR45.js.map +0 -1
- package/dist/web-components-library/p-DPrEzmhI.js.map +0 -1
- package/dist/web-components-library/p-DdetsoIY.js.map +0 -1
- package/dist/web-components-library/p-Q-tWjk7P.js.map +0 -1
- package/dist/web-components-library/p-a1f060c0.entry.js +0 -2
- package/dist/web-components-library/p-a1f060c0.entry.js.map +0 -1
- package/dist/web-components-library/p-a30b5538.entry.js +0 -2
- package/dist/web-components-library/p-a30b5538.entry.js.map +0 -1
- package/dist/web-components-library/p-a5e15158.entry.js +0 -2
- package/dist/web-components-library/p-a5e15158.entry.js.map +0 -1
- package/dist/web-components-library/p-acd3b237.entry.js +0 -2
- package/dist/web-components-library/p-acd3b237.entry.js.map +0 -1
- package/dist/web-components-library/p-ae51be93.entry.js +0 -2
- package/dist/web-components-library/p-ae51be93.entry.js.map +0 -1
- package/dist/web-components-library/p-b3d0d75c.entry.js +0 -2
- package/dist/web-components-library/p-b3d0d75c.entry.js.map +0 -1
- package/dist/web-components-library/p-b5d18aae.entry.js +0 -2
- package/dist/web-components-library/p-b5d18aae.entry.js.map +0 -1
- package/dist/web-components-library/p-bd1876f7.entry.js +0 -2
- package/dist/web-components-library/p-bd1876f7.entry.js.map +0 -1
- package/dist/web-components-library/p-bd663d9d.entry.js +0 -2
- package/dist/web-components-library/p-bd663d9d.entry.js.map +0 -1
- package/dist/web-components-library/p-c00b8b6d.entry.js +0 -2
- package/dist/web-components-library/p-c00b8b6d.entry.js.map +0 -1
- package/dist/web-components-library/p-ca2d01fd.entry.js +0 -2
- package/dist/web-components-library/p-ca2d01fd.entry.js.map +0 -1
- package/dist/web-components-library/p-d4ad8db2.entry.js +0 -2
- package/dist/web-components-library/p-d4ad8db2.entry.js.map +0 -1
- package/dist/web-components-library/p-d70ab97a.entry.js +0 -2
- package/dist/web-components-library/p-d70ab97a.entry.js.map +0 -1
- package/dist/web-components-library/p-d76c3418.entry.js +0 -17
- package/dist/web-components-library/p-d76c3418.entry.js.map +0 -1
- package/dist/web-components-library/p-d8c06756.entry.js +0 -2
- package/dist/web-components-library/p-d8c06756.entry.js.map +0 -1
- package/dist/web-components-library/p-de682f93.entry.js +0 -2
- package/dist/web-components-library/p-de682f93.entry.js.map +0 -1
- package/dist/web-components-library/p-ea462d53.entry.js.map +0 -1
- package/dist/web-components-library/p-eb2deba7.entry.js +0 -2
- package/dist/web-components-library/p-eb2deba7.entry.js.map +0 -1
- package/dist/web-components-library/p-f074b98b.entry.js +0 -2
- package/dist/web-components-library/p-f074b98b.entry.js.map +0 -1
- package/dist/web-components-library/p-f8fd6f08.entry.js +0 -2
- package/dist/web-components-library/p-f8fd6f08.entry.js.map +0 -1
- package/dist/web-components-library/p-f95adaa5.entry.js +0 -8
- package/dist/web-components-library/p-f95adaa5.entry.js.map +0 -1
- package/dist/web-components-library/p-fa11fd2d.entry.js +0 -2
- package/dist/web-components-library/p-fa11fd2d.entry.js.map +0 -1
- package/dist/web-components-library/p-ffe7860b.entry.js +0 -2
- package/dist/web-components-library/p-ffe7860b.entry.js.map +0 -1
- package/dist/web-components-library/web-components-library.esm.js.map +0 -1
- package/www/assets/favicon.png +0 -0
- package/www/assets/images/png/arrowDown.png +0 -0
- package/www/assets/images/png/arrowUp.png +0 -0
- package/www/assets/images/png/back-button.png +0 -0
- package/www/assets/images/png/bovolenta-logo.png +0 -0
- package/www/assets/images/png/cart-icon.png +0 -0
- package/www/assets/images/png/cea-logo.png +0 -0
- package/www/assets/images/png/clitt-logo.png +0 -0
- package/www/assets/images/png/down-arrow.png +0 -0
- package/www/assets/images/png/download.png +0 -0
- package/www/assets/images/png/facebook.png +0 -0
- package/www/assets/images/png/gruoss.png +0 -0
- package/www/assets/images/png/instagram.png +0 -0
- package/www/assets/images/png/lucisano-logo.png +0 -0
- package/www/assets/images/png/myzanichelli-logo.png +0 -0
- package/www/assets/images/png/placeholder-cover.png +0 -0
- package/www/assets/images/png/question-mark.png +0 -0
- package/www/assets/images/png/suitcase-icon.png +0 -0
- package/www/assets/images/png/twitter.png +0 -0
- package/www/assets/images/png/up-arrow.png +0 -0
- package/www/assets/images/png/user.png +0 -0
- package/www/assets/images/png/user_transparent.png +0 -0
- package/www/assets/images/png/youtube.png +0 -0
- package/www/assets/images/png/zanichelli-add-book-gray@8x.png +0 -0
- package/www/assets/images/png/zanichelli-book-remove-gray@8x.png +0 -0
- package/www/assets/images/png/zanichelli-error-image.png +0 -0
- package/www/assets/images/png/zanichelli-external-link-2@8x.png +0 -0
- package/www/assets/images/png/zanichelli-external-link-3@8x.png +0 -0
- package/www/assets/images/png/zanichelli-external-link@8x.png +0 -0
- package/www/assets/images/png/zanichelli-logo-2.png +0 -0
- package/www/assets/images/png/zanichelli-logo-footer.png +0 -0
- package/www/assets/images/png/zanichelli-logo.png +0 -0
- package/www/build/index.esm.js +0 -2
- package/www/build/index.esm.js.map +0 -1
- package/www/build/p-04b6a9f8.entry.js +0 -2
- package/www/build/p-04b6a9f8.entry.js.map +0 -1
- package/www/build/p-09ac8cb2.entry.js +0 -2
- package/www/build/p-09ac8cb2.entry.js.map +0 -1
- package/www/build/p-10ffee06.entry.js +0 -2
- package/www/build/p-10ffee06.entry.js.map +0 -1
- package/www/build/p-13bc7433.entry.js +0 -2
- package/www/build/p-13bc7433.entry.js.map +0 -1
- package/www/build/p-16423e69.entry.js +0 -2
- package/www/build/p-16423e69.entry.js.map +0 -1
- package/www/build/p-1702efd5.entry.js +0 -2
- package/www/build/p-1702efd5.entry.js.map +0 -1
- package/www/build/p-188d1101.css +0 -2716
- package/www/build/p-1fedbf42.entry.js +0 -2
- package/www/build/p-1fedbf42.entry.js.map +0 -1
- package/www/build/p-248ff73f.entry.js +0 -2
- package/www/build/p-248ff73f.entry.js.map +0 -1
- package/www/build/p-2f8bd98f.entry.js +0 -2
- package/www/build/p-2f8bd98f.entry.js.map +0 -1
- package/www/build/p-315ca31f.entry.js +0 -2
- package/www/build/p-315ca31f.entry.js.map +0 -1
- package/www/build/p-320b05fc.entry.js +0 -2
- package/www/build/p-320b05fc.entry.js.map +0 -1
- package/www/build/p-3a9a120f.entry.js +0 -2
- package/www/build/p-3a9a120f.entry.js.map +0 -1
- package/www/build/p-3e78dc0d.entry.js +0 -2
- package/www/build/p-3e78dc0d.entry.js.map +0 -1
- package/www/build/p-41a3f231.entry.js +0 -2
- package/www/build/p-41a3f231.entry.js.map +0 -1
- package/www/build/p-4362efeb.entry.js +0 -2
- package/www/build/p-4362efeb.entry.js.map +0 -1
- package/www/build/p-484f3064.entry.js +0 -2
- package/www/build/p-484f3064.entry.js.map +0 -1
- package/www/build/p-4bc9e06a.entry.js +0 -2
- package/www/build/p-4bc9e06a.entry.js.map +0 -1
- package/www/build/p-4c054dc5.entry.js +0 -2
- package/www/build/p-4c054dc5.entry.js.map +0 -1
- package/www/build/p-4d6ea6b1.entry.js +0 -2
- package/www/build/p-4d6ea6b1.entry.js.map +0 -1
- package/www/build/p-57ba851d.entry.js +0 -2
- package/www/build/p-57ba851d.entry.js.map +0 -1
- package/www/build/p-5ecdc465.entry.js +0 -2
- package/www/build/p-5ecdc465.entry.js.map +0 -1
- package/www/build/p-6005c944.entry.js +0 -2
- package/www/build/p-6005c944.entry.js.map +0 -1
- package/www/build/p-61b49075.entry.js +0 -2
- package/www/build/p-61b49075.entry.js.map +0 -1
- package/www/build/p-67a2f55e.entry.js +0 -2
- package/www/build/p-67a2f55e.entry.js.map +0 -1
- package/www/build/p-6ce99251.entry.js +0 -2
- package/www/build/p-6ce99251.entry.js.map +0 -1
- package/www/build/p-6f6cf4eb.entry.js +0 -2
- package/www/build/p-6f6cf4eb.entry.js.map +0 -1
- package/www/build/p-791a76d6.entry.js +0 -2
- package/www/build/p-791a76d6.entry.js.map +0 -1
- package/www/build/p-885472aa.entry.js +0 -2
- package/www/build/p-885472aa.entry.js.map +0 -1
- package/www/build/p-9dc4d290.entry.js +0 -2
- package/www/build/p-9dc4d290.entry.js.map +0 -1
- package/www/build/p-B6jtvVtV.js +0 -2
- package/www/build/p-B6jtvVtV.js.map +0 -1
- package/www/build/p-B85MJLTf.js +0 -2
- package/www/build/p-B85MJLTf.js.map +0 -1
- package/www/build/p-BcDWN4F1.js +0 -3
- package/www/build/p-BcDWN4F1.js.map +0 -1
- package/www/build/p-BjrC13Q0.js +0 -6
- package/www/build/p-BjrC13Q0.js.map +0 -1
- package/www/build/p-D1c5gR45.js +0 -2
- package/www/build/p-D1c5gR45.js.map +0 -1
- package/www/build/p-DPrEzmhI.js +0 -7
- package/www/build/p-DPrEzmhI.js.map +0 -1
- package/www/build/p-DdetsoIY.js +0 -2
- package/www/build/p-DdetsoIY.js.map +0 -1
- package/www/build/p-Q-tWjk7P.js +0 -2
- package/www/build/p-Q-tWjk7P.js.map +0 -1
- package/www/build/p-a1f060c0.entry.js +0 -2
- package/www/build/p-a1f060c0.entry.js.map +0 -1
- package/www/build/p-a30b5538.entry.js +0 -2
- package/www/build/p-a30b5538.entry.js.map +0 -1
- package/www/build/p-a5a93813.js +0 -2
- package/www/build/p-a5e15158.entry.js +0 -2
- package/www/build/p-a5e15158.entry.js.map +0 -1
- package/www/build/p-acd3b237.entry.js +0 -2
- package/www/build/p-acd3b237.entry.js.map +0 -1
- package/www/build/p-ae51be93.entry.js +0 -2
- package/www/build/p-ae51be93.entry.js.map +0 -1
- package/www/build/p-b3d0d75c.entry.js +0 -2
- package/www/build/p-b3d0d75c.entry.js.map +0 -1
- package/www/build/p-b5d18aae.entry.js +0 -2
- package/www/build/p-b5d18aae.entry.js.map +0 -1
- package/www/build/p-bd1876f7.entry.js +0 -2
- package/www/build/p-bd1876f7.entry.js.map +0 -1
- package/www/build/p-bd663d9d.entry.js +0 -2
- package/www/build/p-bd663d9d.entry.js.map +0 -1
- package/www/build/p-c00b8b6d.entry.js +0 -2
- package/www/build/p-c00b8b6d.entry.js.map +0 -1
- package/www/build/p-ca2d01fd.entry.js +0 -2
- package/www/build/p-ca2d01fd.entry.js.map +0 -1
- package/www/build/p-d4ad8db2.entry.js +0 -2
- package/www/build/p-d4ad8db2.entry.js.map +0 -1
- package/www/build/p-d70ab97a.entry.js +0 -2
- package/www/build/p-d70ab97a.entry.js.map +0 -1
- package/www/build/p-d76c3418.entry.js +0 -17
- package/www/build/p-d76c3418.entry.js.map +0 -1
- package/www/build/p-d8c06756.entry.js +0 -2
- package/www/build/p-d8c06756.entry.js.map +0 -1
- package/www/build/p-de682f93.entry.js +0 -2
- package/www/build/p-de682f93.entry.js.map +0 -1
- package/www/build/p-ea462d53.entry.js +0 -2
- package/www/build/p-ea462d53.entry.js.map +0 -1
- package/www/build/p-eb2deba7.entry.js +0 -2
- package/www/build/p-eb2deba7.entry.js.map +0 -1
- package/www/build/p-f074b98b.entry.js +0 -2
- package/www/build/p-f074b98b.entry.js.map +0 -1
- package/www/build/p-f8fd6f08.entry.js +0 -2
- package/www/build/p-f8fd6f08.entry.js.map +0 -1
- package/www/build/p-f95adaa5.entry.js +0 -8
- package/www/build/p-f95adaa5.entry.js.map +0 -1
- package/www/build/p-fa11fd2d.entry.js +0 -2
- package/www/build/p-fa11fd2d.entry.js.map +0 -1
- package/www/build/p-ffe7860b.entry.js +0 -2
- package/www/build/p-ffe7860b.entry.js.map +0 -1
- package/www/build/web-components-library.css +0 -2716
- package/www/build/web-components-library.esm.js +0 -2
- package/www/build/web-components-library.esm.js.map +0 -1
- package/www/build/web-components-library.js +0 -33
- package/www/host.config.json +0 -15
- package/www/index.html +0 -3
- package/www/pages/book-cards.html +0 -345
- package/www/pages/file-upload.html +0 -258
- package/www/pages/notification.html +0 -299
- package/www/pages/stepper/stepper-1.html +0 -127
- package/www/pages/stepper/stepper-2.html +0 -128
- package/www/pages/stepper/stepper-3.html +0 -153
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZSelect","constructor","hostRef","this","htmlid","randomId","disabled","readonly","required","message","autocomplete","noresultslabel","isfixed","size","ControlSize","BIG","isOpen","selectedItem","itemsList","toggleSelectUl","bind","handleSelectFocus","watchItems","getInitialItemsArray","findSelectedItem","getSelectedItem","getValue","getSelectedValue","setValue","value","values","push","length","updateSelection","emitOptionSelect","optionSelect","emit","id","selected","emitResetSelect","resetSelect","componentWillLoad","componentWillRender","filterItems","searchString","items","JSON","parse","mapSelectedItemToItemsArray","initialItemsList","_a","getOptionId","item","encodeString","name","getResetOptionId","getGroupedItems","Object","entries","reduce","group","category","prevList","map","assign","getPlainText","hasTreeItems","filterTree","filter","toUpperCase","includes","getHighlightedText","matchingParent","match","newItem","children","showChildrenOfMatchingParent","text","search","upperText","upperSearch","start","indexOf","end","substring","hasAutocomplete","boolean","handleInputChange","e","detail","selectedId","forEach","found","selectItem","handleResetClick","focusedItemId","handleInputKeyDown","code","KeyboardCode","ENTER","SPACE","find","preventDefault","ARROW_DOWN","ARROW_UP","arrowsSelectNav","arrows","key","stopPropagation","currElem","host","querySelector","options","Array","from","querySelectorAll","currElemIndex","firstElemIndex","lastElemIndex","focusSelectItem","nextElem","optionId","elem","scrollIntoView","block","container","selfFocusOnClose","document","addEventListener","removeEventListener","focus","handleInputClick","target","closest","KeyboardEvent","ESC","TAB","clickedElement","getClickedElement","hasAttribute","getElementTree","nodeName","toLowerCase","zSelect","scrollToLetter","letter","foundItem","charAt","renderInput","undefined","h","class","placeholder","label","htmlAriaLabel","icon","hasclearicon","status","role","onClick","onKeyDown","onInputChange","onKeyPress","renderSelectUl","fixed","tabindex","listSizeType","resetItem","renderResetItem","renderSelectUlItems","hidden","hide","hasGroupItems","clickable","dividerType","ListDividerType","ELEMENT","htmlTabindex","ListSize","MEDIUM","onClickItem","active","renderItem","lastItem","HEADER","innerHTML","NONE","SMALL","X_SMALL","renderNoSearchResults","renderGroupedTree","renderSelectGroupItems","index","array","isLastItem","parentHasSiblings","renderTreeItems","isLastChild","isTopLevel","disabledAncestor","isDisabled","hasDivider","_b","title","child","arr","groupedItems","some","groupItems","slot","i","style","zIndex","height","isLastGroup","subindex","renderMessage","render"],"sources":["src/components/z-select/styles.css?tag=z-select&encapsulation=scoped","src/components/z-select/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: inherit;\n color: var(--color-form-default-text);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n}\n\n:host([size=\"small\"]),\n:host([size=\"x-small\"]) {\n font-size: var(--font-size-2);\n}\n\n.select-wrapper > z-input {\n width: 100%;\n}\n\n.select-wrapper > z-input .input-icon {\n cursor: pointer;\n}\n\n.select-wrapper > div {\n position: relative;\n}\n\n.select-wrapper > div.closed {\n overflow: hidden;\n height: 0;\n}\n\n.select-wrapper .ul-scroll-wrapper {\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n border-top: none;\n background: var(--color-form-background);\n box-shadow: var(--shadow-2);\n outline: none;\n}\n\n.select-wrapper .closed .ul-scroll-wrapper {\n z-index: 10;\n}\n\n.select-wrapper .open .ul-scroll-wrapper {\n z-index: 20;\n}\n\n.select-wrapper .ul-scroll-wrapper.fixed {\n position: static;\n}\n\n.select-wrapper z-list {\n --background-color-list-element: var(--color-form-background);\n --background-hover-color-list-element: var(--color-surface02);\n --background-active-color-list-element: var(--color-surface02);\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: var(--space-unit) calc(var(--space-unit) * 1.5);\n margin: 0;\n outline: none;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element[disabled] {\n color: var(--color-form-disabled03);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container {\n display: flex;\n align-items: center;\n padding: calc(var(--space-unit) / 2) var(--space-unit);\n column-gap: var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container.active {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content {\n margin-right: auto;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon + .list-element-content {\n padding: calc(var(--space-unit) * 0.5) var(--space-unit);\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n .list-element-content {\n padding: 0;\n}\n\n:host([size=\"small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host([size=\"x-small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n > z-icon\n + .list-element-content {\n padding: 0 var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content.selected {\n font-weight: var(--font-sb);\n}\n\n.select-wrapper .ul-scroll-wrapper .no-results z-icon {\n margin-right: var(--space-unit);\n}\n\n.z-list-group-title {\n color: var(--color-form-default-text);\n}\n\n.reset-item {\n color: var(--color-form-active-primary);\n fill: var(--color-form-active-primary);\n}\n\n.reset-item-content {\n display: flex;\n align-items: center;\n}\n\n.reset-item .reset-item-content.active {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.reset-item.reset-item-margin .reset-item-content {\n margin-left: var(--space-unit);\n}\n\n.reset-item .reset-item-content > z-icon {\n margin-right: var(--space-unit);\n}\n\n.reset-item.hide {\n display: none;\n}\n\n.tree-list-reset-item {\n padding: var(--space-unit) 0;\n}\n\nz-list-element {\n position: relative;\n display: block;\n}\n\nz-list z-list-element::before {\n position: absolute;\n z-index: 100;\n top: 3px;\n left: -8px;\n width: 8px;\n height: 1em;\n border-bottom: 1px solid var(--color-form-disabled01-icon);\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element::after {\n position: absolute;\n z-index: 100;\n top: 5px;\n left: -8px;\n width: 8px;\n height: 100%;\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element:last-child::after {\n display: none;\n}\n\nz-list > z-list-element::before,\nz-list > z-list-element::after,\nz-list > z-list-group > z-list-element::before,\nz-list > z-list-group > z-list-element::after {\n display: none;\n}\n\nz-list > div.children-node {\n padding-left: calc(var(--space-unit) * 2);\n}\n\nz-list-element > .list-element {\n display: flex;\n justify-content: space-between;\n padding: calc(var(--space-unit) * 1.5) var(--space-unit);\n cursor: pointer;\n}\n\nz-list-element > .list-element.active {\n box-shadow: var(--shadow-focus-primary);\n}\n\nz-list-element:not([disabled]) > .list-element:hover,\nz-list-element:not([disabled]) > .list-element:hover::after {\n background-color: var(--background-hover-color-list-element, var(--color-background));\n}\n\nz-list-element > .list-element .item.ellipsis {\n overflow: hidden;\n}\n\nz-list-element .list-element::after {\n position: absolute;\n top: 0;\n right: -1px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.tree-search-item {\n padding-top: 0;\n}\n\nz-list-element.tree-search-item .list-element::after {\n position: absolute;\n right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.grouped-tree-parent-node .list-element::after {\n position: absolute;\n right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.item-label.selected {\n font-weight: bold;\n}\n\n.item.ellipsis {\n display: inline-block;\n overflow: hidden;\n max-width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nz-list > z-list-element.grouped-tree-parent-node > .list-element:hover::after,\nz-list-element.tree-search-item .list-element:hover::after,\nz-list > z-list-group > z-list-element.grouped-tree-parent-node > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n right: -18px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.children-node z-list-element::before,\n.children-node z-list-element::after {\n left: -8px;\n}\n\n.children-node .children-node z-list-element::before,\n.children-node .children-node z-list-element::after {\n left: -8px;\n}\n\n.children-node > z-list-element {\n padding: 0;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ControlSize, InputStatus, KeyboardCode, ListDividerType, ListSize, SelectItem} from \"../../beans\";\nimport {boolean, encodeString, getClickedElement, getElementTree, getPlainText, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-select\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSelect implements ComponentInterface {\n @Element() host: HTMLZSelectElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** the input select options */\n @Prop()\n items!: SelectItem[] | string;\n\n /** the input name */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input `aria-label` */\n @Prop()\n htmlAriaLabel?: string;\n\n /** the input is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input is required */\n @Prop()\n required?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional) */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional) - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input has autocomplete option */\n @Prop()\n autocomplete?: boolean = false;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** */\n @Prop()\n hasGroupItems?: boolean;\n\n /** */\n @Prop()\n hasTreeItems?: boolean;\n\n /** If true and an item matches the search string, children of matching item are shown even if they don't match the search string */\n @Prop()\n showChildrenOfMatchingParent?: boolean;\n\n /** When fixed, it occupies space and pushes down next elements. */\n @Prop()\n isfixed?: boolean = false;\n\n /** */\n @Prop()\n resetItem?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isOpen = false;\n\n @State()\n selectedItem: null | SelectItem = null;\n\n @State()\n focusedItemId: string;\n\n @State()\n searchString: null | string;\n\n private itemsList: SelectItem[] = [];\n\n constructor() {\n this.toggleSelectUl = this.toggleSelectUl.bind(this);\n this.handleSelectFocus = this.handleSelectFocus.bind(this);\n }\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = this.getInitialItemsArray();\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n }\n\n /** get the input selected options */\n @Method()\n async getSelectedItem(): Promise<SelectItem> {\n return this.selectedItem;\n }\n\n /** get the input value */\n @Method()\n async getValue(): Promise<string> {\n return this.getSelectedValue();\n }\n\n /** set the input value */\n @Method()\n async setValue(value: string | string[]): Promise<void> {\n let values: string[] = [];\n if (typeof value === \"string\") {\n values.push(value);\n } else {\n values = value;\n }\n\n this.itemsList = this.getInitialItemsArray();\n if (values.length) {\n this.updateSelection(this.itemsList, values[0]);\n }\n this.selectedItem = this.findSelectedItem(this.itemsList);\n }\n\n /** Emitted on select option selection, returns select id, selected item id */\n @Event()\n optionSelect: EventEmitter;\n\n private emitOptionSelect(): void {\n this.optionSelect.emit({\n id: this.htmlid,\n selected: this.getSelectedValue(),\n });\n }\n\n /** Emitted on reset selected item, returns select id, selected item id */\n @Event()\n resetSelect: EventEmitter;\n\n private emitResetSelect(): void {\n this.resetSelect.emit({\n id: this.htmlid,\n });\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.filterItems(this.searchString);\n }\n\n private getInitialItemsArray(): SelectItem[] {\n return typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n }\n\n private mapSelectedItemToItemsArray(): SelectItem[] {\n const initialItemsList = this.getInitialItemsArray();\n\n this.updateSelection(initialItemsList, this.selectedItem?.id);\n\n return initialItemsList;\n }\n\n private getSelectedValue(): string {\n return this.selectedItem?.id;\n }\n\n private getOptionId(item: SelectItem): string {\n return `${this.htmlid}_key_${item.id ? encodeString(`${item.id}`) : encodeString(`${item.name}`)}`;\n }\n\n private getResetOptionId(): string {\n return `${this.htmlid}_key_reset`;\n }\n\n private getGroupedItems(): [string, SelectItem[]][] {\n if (!this.itemsList.length) {\n return [];\n }\n\n return Object.entries(\n this.itemsList.reduce(\n (group, item) => {\n const category = item.category || \"Altra categoria\";\n group[category] = group[category] || [];\n group[category].push(item);\n\n return group;\n },\n {} as Record<string, SelectItem[]>\n )\n );\n }\n\n private filterItems(searchString: string): void {\n let prevList = this.mapSelectedItemToItemsArray();\n\n if (!searchString?.length) {\n this.itemsList = prevList;\n\n return;\n }\n\n prevList = prevList.map((item) => ({...item, name: getPlainText(item.name)}));\n\n if (this.hasTreeItems) {\n this.itemsList = this.filterTree(prevList, searchString, false);\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => item.name.toUpperCase().includes(searchString.toUpperCase()))\n .map((item: SelectItem) => {\n item.name = this.getHighlightedText(item.name, searchString);\n\n return item;\n });\n }\n }\n\n private filterTree(items: SelectItem[], searchString: string, matchingParent: boolean): SelectItem[] {\n if (!items) {\n return [];\n }\n\n return items\n .map((item) => {\n const match = item.name.toUpperCase().includes(searchString.toUpperCase());\n\n const newItem: SelectItem = {...item};\n if (newItem.children && newItem.children.length > 0) {\n newItem.children = this.filterTree(\n newItem.children.map((item) => ({...item, name: getPlainText(item.name)})),\n searchString,\n match\n );\n }\n\n if (match) {\n newItem.name = this.getHighlightedText(newItem.name, searchString);\n }\n if (\n match ||\n (newItem.children && newItem.children.length > 0) ||\n (this.showChildrenOfMatchingParent && matchingParent)\n ) {\n return newItem;\n }\n\n return null;\n })\n .filter((item) => item !== null) as SelectItem[];\n }\n\n private getHighlightedText(text: string, search: string): string {\n const upperText = text.toUpperCase();\n const upperSearch = search.toUpperCase();\n const start = upperText.indexOf(upperSearch);\n\n if (start === -1) {\n return text;\n }\n\n const end = start + search.length;\n\n return text.substring(0, start) + `<strong>${text.substring(start, end)}</strong>` + text.substring(end);\n }\n\n private hasAutocomplete(): boolean {\n return boolean(this.autocomplete) === true;\n }\n\n private handleInputChange(e: CustomEvent): void {\n this.searchString = e.detail.value;\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n\n private updateSelection(items: SelectItem[], selectedId: string): void {\n if (items) {\n items.forEach((item) => {\n item.selected = item.id === selectedId;\n if (item.children && item.children.length > 0) {\n this.updateSelection(item.children, selectedId);\n }\n });\n }\n }\n\n private findSelectedItem(items: SelectItem[]): SelectItem | null {\n if (items) {\n for (const item of items) {\n if (item.selected) {\n return item;\n }\n if (item.children && item.children.length > 0) {\n const found = this.findSelectedItem(item.children);\n if (found) {\n return found;\n }\n }\n }\n }\n\n return null;\n }\n\n private selectItem(selected: null | SelectItem): void {\n if (selected?.disabled) {\n return;\n }\n\n this.itemsList = this.getInitialItemsArray();\n\n if (selected) {\n this.updateSelection(this.itemsList, selected.id);\n }\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n this.emitOptionSelect();\n this.toggleSelectUl();\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private handleResetClick(): void {\n this.selectedItem = null;\n this.searchString = null;\n this.focusedItemId = \"\";\n this.emitResetSelect();\n this.toggleSelectUl();\n }\n\n private handleInputKeyDown(e: KeyboardEvent): void {\n switch (e.code as KeyboardCode) {\n case KeyboardCode.ENTER:\n case KeyboardCode.SPACE:\n if (this.focusedItemId) {\n if (this.focusedItemId === this.getResetOptionId()) {\n this.handleResetClick();\n } else {\n const item = this.itemsList.find((e) => this.getOptionId(e) === this.focusedItemId) || null;\n if (item) {\n this.selectedItem = item;\n this.emitOptionSelect();\n this.toggleSelectUl();\n }\n }\n } else if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.toggleSelectUl();\n }\n break;\n case KeyboardCode.ARROW_DOWN:\n case KeyboardCode.ARROW_UP:\n this.arrowsSelectNav(e);\n break;\n }\n }\n\n private arrowsSelectNav(e: KeyboardEvent): void {\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.focusedItemId ? this.host.querySelector(`#${this.focusedItemId}`) : null;\n const options = Array.from(this.host.querySelectorAll('[role=\"option\"]'));\n\n if (!options.length) {\n return;\n }\n\n const currElemIndex = currElem ? options.indexOf(currElem) : null;\n const firstElemIndex = 0;\n const lastElemIndex = options.length - 1;\n\n if (!this.isOpen) {\n this.toggleSelectUl();\n\n if (this.selectedItem) {\n this.focusSelectItem(this.getOptionId(this.selectedItem));\n\n return;\n }\n }\n\n let nextElem = null;\n if (e.code === KeyboardCode.ARROW_DOWN) {\n nextElem =\n currElemIndex === null ? options[firstElemIndex] : options[currElemIndex + 1] || options[lastElemIndex];\n } else if (e.code === KeyboardCode.ARROW_UP) {\n nextElem =\n currElemIndex === null ? options[lastElemIndex] : options[currElemIndex - 1] || options[firstElemIndex];\n }\n\n this.focusSelectItem(nextElem.id);\n }\n\n private focusSelectItem(optionId: string): void {\n this.focusedItemId = optionId;\n const elem = this.host.querySelector(`#${optionId}`);\n // @ts-expect-error 'container' does not exist in type 'ScrollIntoViewOptions'\n elem.scrollIntoView({block: \"nearest\", container: \"nearest\"});\n }\n\n private toggleSelectUl(selfFocusOnClose = false): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (!this.isOpen) {\n document.addEventListener(\"click\", this.handleSelectFocus);\n document.addEventListener(\"keyup\", this.handleSelectFocus);\n } else {\n document.removeEventListener(\"click\", this.handleSelectFocus);\n document.removeEventListener(\"keyup\", this.handleSelectFocus);\n if (selfFocusOnClose) {\n (this.host.querySelector(`#${this.htmlid}_select_input`) as HTMLInputElement)?.focus();\n }\n\n if (this.selectedItem && this.searchString) {\n this.searchString = null;\n this.filterItems(this.searchString);\n }\n }\n\n this.focusedItemId = \"\";\n this.isOpen = !this.isOpen;\n }\n\n private handleInputClick(e: MouseEvent | KeyboardEvent): void {\n if ((e.target as HTMLElement).closest(\".reset-icon\")) {\n e.stopPropagation();\n\n return;\n }\n\n this.toggleSelectUl();\n }\n\n private handleSelectFocus(e: MouseEvent | KeyboardEvent): void {\n if (e instanceof KeyboardEvent && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n\n return this.toggleSelectUl(true);\n }\n\n if (e instanceof KeyboardEvent && e.key !== KeyboardCode.TAB) {\n return;\n }\n\n const clickedElement = getClickedElement();\n if (clickedElement?.hasAttribute(\"disabled\")) {\n return;\n }\n\n if (\n !getElementTree(clickedElement).find(\n (elem: HTMLElement) => elem.nodeName.toLowerCase() === \"z-input\" && elem.id === `${this.htmlid}_input`\n )\n ) {\n const zSelect = getElementTree(clickedElement).find((e) => e.nodeName === \"Z-SELECT\");\n this.toggleSelectUl(zSelect === this.host);\n }\n }\n\n private scrollToLetter(letter: string): void {\n if (!this.itemsList.length) {\n return;\n }\n\n const foundItem = this.itemsList.find(\n (item: SelectItem) => item.name.toLowerCase().charAt(0) === letter.toLowerCase()\n );\n if (foundItem) {\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n this.focusSelectItem(this.getOptionId(foundItem));\n }\n }\n\n private renderInput(): HTMLElement[] {\n let value = null;\n if (this.selectedItem) {\n value = getPlainText(this.selectedItem.name);\n }\n if (this.isOpen && this.searchString !== undefined) {\n value = this.searchString;\n }\n\n return [\n <z-input\n class={{\n \"active-select\": this.isOpen,\n \"cursor-select\": !this.autocomplete,\n }}\n id={`${this.htmlid}_input`}\n htmlid={`${this.htmlid}_select_input`}\n placeholder={this.placeholder}\n value={value}\n label={this.label}\n autocomplete=\"off\"\n htmlAriaLabel={this.htmlAriaLabel || undefined}\n icon={this.isOpen ? \"caret-up\" : \"caret-down\"}\n hasclearicon={false}\n message={false}\n name={this.name}\n disabled={this.disabled}\n readonly={this.readonly || (!this.hasAutocomplete() && this.isOpen)}\n required={this.required}\n status={this.isOpen ? undefined : this.status}\n size={this.size}\n role=\"combobox\"\n html-aria-expanded={this.isOpen ? \"true\" : \"false\"}\n html-aria-controls={`${this.htmlid}_list`}\n html-aria-activedescendant={this.isOpen ? this.focusedItemId : \"\"}\n html-aria-autocomplete={this.hasAutocomplete() ? \"list\" : undefined}\n onClick={(e: MouseEvent) => this.handleInputClick(e)}\n onKeyDown={(e: KeyboardEvent) => this.handleInputKeyDown(e)}\n onInputChange={(e: CustomEvent) => this.handleInputChange(e)}\n onKeyPress={(e: KeyboardEvent) => {\n if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.scrollToLetter(e.key);\n }\n }}\n />,\n ];\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div class={this.isOpen ? \"open\" : \"closed\"}>\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\n >\n <z-list\n role=\"listbox\"\n aria-label={this.htmlAriaLabel || this.label}\n tabindex={this.disabled || this.readonly || !this.isOpen ? -1 : 0}\n id={`${this.htmlid}_list`}\n aria-multiselectable={false}\n size={this.listSizeType()}\n class={{\n \"disabled\": this.disabled,\n \"readonly\": this.readonly,\n [`input-${this.status}`]: !this.isOpen && !!this.status,\n \"z-scrollbar\": true,\n }}\n >\n {this.resetItem && this.renderResetItem()}\n {this.renderSelectUlItems()}\n </z-list>\n </div>\n </div>\n );\n }\n\n private renderResetItem(): HTMLZListElementElement {\n const hidden = !this.selectedItem || !this.resetItem;\n\n return (\n <z-list-element\n class={{\n \"hide\": hidden,\n \"reset-item\": true,\n \"reset-item-margin\": !this.hasGroupItems,\n }}\n clickable={true}\n disabled={false}\n dividerType={ListDividerType.ELEMENT}\n role={hidden ? \"presentation\" : \"option\"}\n htmlTabindex={this.isOpen ? 0 : null}\n aria-selected=\"false\"\n aria-label={hidden ? undefined : this.resetItem}\n id={this.getResetOptionId()}\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n onClickItem={() => this.handleResetClick()}\n >\n <div\n class={{\n \"reset-item-content\": true,\n \"tree-list-reset-item\": this.hasTreeItems,\n \"active\": this.focusedItemId === this.getResetOptionId(),\n }}\n aria-hidden=\"true\"\n >\n <z-icon name=\"multiply-circled\" />\n <span>{this.resetItem}</span>\n </div>\n </z-list-element>\n );\n }\n\n private renderItem(item: SelectItem, lastItem: boolean): HTMLZListElementElement {\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={item.disabled}\n dividerType={lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT}\n role={item.disabled ? \"presentation\" : \"option\"}\n htmlTabindex={-1}\n aria-selected={item.selected ? \"true\" : \"false\"}\n aria-label={item.disabled ? undefined : getPlainText(item.name)}\n id={this.getOptionId(item)}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item)}\n >\n <div\n class={{\n \"list-element-container\": true,\n \"active\": this.focusedItemId === this.getOptionId(item),\n }}\n aria-hidden=\"true\"\n >\n <div\n class={{\n \"selected\": !!item.selected,\n \"list-element-content\": true,\n }}\n innerHTML={item.name}\n />\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n </z-list-element>\n );\n }\n\n private listSizeType(): ListSize {\n if (this.hasTreeItems) {\n return ListSize.NONE;\n }\n\n if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {\n return ListSize.SMALL;\n }\n\n return ListSize.MEDIUM;\n }\n\n private renderSelectUlItems():\n | HTMLZListElementElement\n | (HTMLZListElementElement | HTMLZListElementElement[])[]\n | HTMLZListGroupElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n if (this.hasTreeItems) {\n return this.renderGroupedTree();\n }\n\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, index, array) => {\n const isLastItem = index === array.length - 1;\n const parentHasSiblings = array.length > 1;\n\n if (this.hasTreeItems) {\n return this.renderTreeItems(item, isLastItem, parentHasSiblings, true, item.disabled);\n }\n\n return this.renderItem(item, isLastItem);\n });\n }\n\n private renderTreeItems(\n item: SelectItem,\n isLastChild: boolean,\n parentHasSiblings: boolean,\n isTopLevel?: boolean,\n disabledAncestor?: boolean\n ): HTMLZListElementElement[] {\n const isDisabled = item.disabled || disabledAncestor;\n\n const hasDivider = this.hasGroupItems\n ? undefined\n : this.hasGroupItems\n ? isLastChild && !parentHasSiblings\n ? ListDividerType.ELEMENT\n : undefined\n : isTopLevel && parentHasSiblings && !isLastChild\n ? ListDividerType.ELEMENT\n : undefined;\n\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={isDisabled}\n class={{\n \"grouped-tree-parent-node\": this.hasGroupItems && !!item.children?.length,\n \"tree-search-item\": this.hasGroupItems && isTopLevel && !item.children?.length && !!this.searchString,\n }}\n size={this.listSizeType()}\n dividerType={hasDivider}\n hasTreeItems={this.hasTreeItems}\n htmlTabindex={null}\n role=\"presentation\"\n >\n <div\n id={this.getOptionId(item)}\n role={isDisabled ? \"presentation\" : \"option\"}\n aria-label={isDisabled ? undefined : getPlainText(item.name)}\n class={{\"list-element\": true, \"active\": this.focusedItemId === this.getOptionId(item)}}\n onClick={() => this.selectItem(item)}\n >\n <span\n class=\"item ellipsis\"\n aria-hidden=\"true\"\n >\n <span\n class={{\n \"item-label\": true,\n \"selected\": !!item.selected,\n }}\n title={item.name}\n innerHTML={item.name}\n />\n </span>\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n {item.children && item.children.length > 0 ? (\n <z-list role=\"presentation\">\n <div class=\"children-node\">\n {item.children.map((child, index, arr) =>\n this.renderTreeItems(\n child,\n index === arr.length - 1,\n arr.length > 1,\n false, // isTopLevel = false for children\n isDisabled\n )\n )}\n </div>\n </z-list>\n ) : null}\n </z-list-element>\n );\n }\n\n private renderGroupedTree(): HTMLZListGroupElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([category, items], index, entries) => {\n const parentHasSiblings = Object.values(groupedItems).some((groupItems) => groupItems.length > 1);\n\n return (\n <z-list-group\n divider-type={index === entries.length - 1 ? undefined : ListDividerType.ELEMENT}\n hasTreeItems={true}\n aria-labelledby={`${this.htmlid}_tree_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.htmlid}_tree_${index}`}\n aria-hidden=\"true\"\n >\n {category}\n </span>\n <z-list role=\"presentation\">\n {items.map((item, i, arr) => [\n this.renderTreeItems(item, i === arr.length - 1, parentHasSiblings, true, item.disabled),\n i < arr.length - 1 ? (\n <z-divider\n key={`divider-${i}`}\n style={{zIndex: \"100\", height: \"var(--border-size-small)\"}}\n />\n ) : null,\n ])}\n </z-list>\n {index !== entries.length - 1 && <z-divider style={{zIndex: \"100\", height: \"var(--border-size-small)\"}} />}\n </z-list-group>\n );\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([key, items], index) => {\n const isLastGroup = groupedItems.length === index + 1;\n\n return (\n <z-list-group\n divider-type={ListDividerType.ELEMENT}\n aria-labelledby={`${this.htmlid}_group_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.htmlid}_group_${index}`}\n aria-hidden=\"true\"\n >\n {key}\n </span>\n {items.map((item, subindex) => {\n const isLastItem = items.length === subindex + 1;\n\n return this.renderItem(item, isLastGroup && isLastItem);\n })}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n class=\"no-results\"\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n htmlTabindex={null}\n role=\"presentation\"\n >\n {this.noresultslabel}\n </z-list-element>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n disabled={this.disabled}\n />\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"select-wrapper\">\n {this.renderInput()}\n {this.renderSelectUl()}\n {this.renderMessage()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as n,d as o}from"./p-BcDWN4F1.js";import{O as a,P as r}from"./p-DdetsoIY.js";import{r as s}from"./p-DPrEzmhI.js";import"./p-Q-tWjk7P.js";const h=()=>`:host,*{box-sizing:border-box}:host{--progress:0%;--progress-ratio:0;--z-input-range-thumb-size:calc(var(--space-unit) * 3);display:flex;width:fit-content;height:fit-content;flex-direction:column;font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host([size="small"]){--z-input-range-thumb-size:calc(var(--space-unit) * 2)}:host([size="x-small"]){--z-input-range-thumb-size:calc(var(--space-unit) * 1.5)}:host([orientation="vertical"]){height:100%;flex-direction:row}.input-container{--z-input-range-track-size:calc(var(--z-input-range-thumb-size) / 3);position:relative;display:flex;width:100%;height:100%}label.z-label{padding:0;margin-bottom:calc(var(--space-unit) * 1.5)}:host([orientation="vertical"]) label.z-label{display:none}input[type="range"]{--main-color:var(--color-primary01);width:100%;height:var(--z-input-range-thumb-size);padding:0;margin:0;appearance:none;background:transparent;writing-mode:horizontal-tb}input[type="range"]:hover,input[type="range"]:hover~z-tooltip{--main-color:var(--color-hover-primary)}input[type="range"]:focus:focus-visible{outline:none}input[type="range"]:disabled,input[type="range"]:disabled~z-tooltip{--main-color:var(--color-form-disabled03);cursor:default}input[type="range"]::-webkit-slider-runnable-track{width:100%;height:var(--z-input-range-track-size);border:none;appearance:none;background:linear-gradient(var(--main-color), var(--main-color)) 0 / var(--progress) 100% no-repeat, var(--color-surface03);border-radius:var(--border-radius)}:host([orientation="vertical"]) input[type="range"]{width:var(--z-input-range-thumb-size);height:100%;direction:rtl;writing-mode:vertical-lr}:host([orientation="vertical"]) input[type="range"]::-webkit-slider-runnable-track{width:var(--z-input-range-track-size);height:100%;background:linear-gradient(var(--main-color), var(--main-color)) 0 100% / 100% var(--progress) no-repeat, var(--color-surface03)}input[type="range"]::-webkit-slider-thumb{width:var(--z-input-range-thumb-size);height:var(--z-input-range-thumb-size);box-sizing:border-box;border:calc(var(--z-input-range-thumb-size) / 4.8) solid var(--main-color);margin-top:calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);appearance:none;background-color:var(--color-surface01);border-radius:50%}:host([orientation="vertical"]) input[type="range"]::-webkit-slider-thumb{margin-top:0;margin-left:calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2)}input[type="range"]:not(:disabled)::-webkit-slider-runnable-track{cursor:pointer}input[type="range"]:not(:disabled)::-webkit-slider-thumb{cursor:grab}input[type="range"]:focus:not(:active)::-webkit-slider-thumb{box-shadow:var(--shadow-focus-primary)}input[type="range"]:active:not(:disabled)::-webkit-slider-thumb{cursor:grabbing}input[type="range"]::-moz-range-track{width:100%;height:var(--z-input-range-track-size);border:none;appearance:none;background:var(--color-surface03);border-radius:var(--border-radius)}:host([orientation="vertical"]) input[type="range"]::-moz-range-track{width:var(--z-input-range-track-size);height:100%}input[type="range"]::-moz-range-progress{height:var(--z-input-range-track-size);border:none;background:var(--main-color);border-radius:var(--border-radius)}:host([orientation="vertical"]) input[type="range"]::-moz-range-progress{width:var(--z-input-range-track-size);height:auto}input[type="range"]::-moz-range-thumb{width:var(--z-input-range-thumb-size);height:var(--z-input-range-thumb-size);box-sizing:border-box;border:calc(var(--z-input-range-thumb-size) / 4.8) solid var(--main-color);margin-top:calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);appearance:none;background-color:var(--color-surface01);border-radius:50%}:host([orientation="vertical"]) input[type="range"]::-moz-range-thumb{margin-top:0;margin-left:calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2)}input[type="range"]:not(:disabled)::-moz-range-track,input[type="range"]:not(:disabled)::-moz-range-progress{cursor:pointer}input[type="range"]:not(:disabled)::-moz-range-thumb{cursor:grab}input[type="range"]:active:not(:disabled)::-moz-range-thumb{cursor:grabbing}input[type="range"]:focus:not(:active)::-moz-range-thumb{box-shadow:var(--shadow-focus-primary)}.tooltip-guide{--progress-position:calc( (var(--progress-ratio) * (100% - var(--z-input-range-thumb-size))) + (var(--z-input-range-thumb-size) / 2) );position:absolute;z-index:-1;top:0;left:var(--progress-position);width:var(--z-input-range-thumb-size);height:var(--z-input-range-thumb-size);background:transparent;pointer-events:none;transform:translateX(-50%)}:host([orientation="vertical"]) .tooltip-guide{top:auto;bottom:var(--progress-position);left:0;transform:translateY(50%)}z-tooltip{--main-color:var(--color-primary01);--z-tooltip-theme--surface:var(--main-color);--z-tooltip-theme--text:var(--color-text-inverse);--z-tooltip-padding:calc(var(--space-unit) / 2)}z-tooltip .current-value{min-width:calc(var(--space-unit) * 3.5)}.edges{display:flex;justify-content:space-between}.edges :is(.min,.max){min-width:var(--z-input-range-thumb-size);text-align:center}:host([orientation="vertical"]) .edges{display:none}`;const g=()=>`:root{--font-family-sans:"IBM Plex Sans", sans-serif;--font-family-serif:"IBM Plex Serif", serif;--font-lt:300;--font-rg:400;--font-sb:600;--font-bd:700;--font-size-1:0.75rem;--font-size-2:0.875rem;--font-size-3:1rem;--font-size-4:1.125rem;--font-size-5:1.25rem;--font-size-6:1.5rem;--font-size-7:1.75rem;--font-size-8:2rem;--font-size-9:2.25rem;--font-size-10:2.625rem;--font-size-11:3rem;--font-size-12:3.375rem;--font-size-13:3.75rem;--font-size-14:4.25rem;--font-size-15:4.75rem;--font-size-16:5.25rem;--font-size-17:5.75rem;--section-title-1:var(--font-sb) var(--font-size-11) / 1.083 var(--font-family-serif);--section-title-2:var(--font-sb) var(--font-size-10) / 1.142 var(--font-family-serif);--section-title-3:var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);--section-title-4:var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);--section-title-5:var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);--section-title-6:var(--font-sb) var(--font-size-6) / 1.333 var(--font-family-serif)}.heading-1,.heading-1-sb,.heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.heading-2,.heading-2-sb,.heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.heading-3,.heading-3-sb,.heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.heading-4,.heading-4-sb,.heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.body-1,.body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.body-2,.body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.body-3,.body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.body-4,.body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.body-5,.body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.interactive-1,.interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.interactive-2,.interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.interactive-3,.interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.helper,.helper-sb{font-size:var(--font-size-1);font-style:italic;font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.section-title-1{font:var(--section-title-1)}.section-title-2{font:var(--section-title-2)}.section-title-3{font:var(--section-title-3)}.section-title-4{font:var(--section-title-4)}.section-title-5{font:var(--section-title-5)}.section-title-6{font:var(--section-title-6)}@media (min-width: 1152px){.heading-1,.heading-1-sb,.heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.heading-2,.heading-2-sb,.heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}}@media (max-width: 767px){.mobile-heading-1,.mobile-heading-1-sb,.mobile-heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.mobile-heading-2,.mobile-heading-2-sb,.mobile-heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.mobile-heading-3,.mobile-heading-3-sb,.mobile-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.mobile-heading-4,.mobile-heading-4-sb,.mobile-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.mobile-body-1,.mobile-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.mobile-body-2,.mobile-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.mobile-body-3,.mobile-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.mobile-body-4,.mobile-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.mobile-body-5,.mobile-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.mobile-interactive-1,.mobile-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.mobile-interactive-2,.mobile-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.mobile-interactive-3,.mobile-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.mobile-section-title-1{font:var(--section-title-1)}.mobile-section-title-2{font:var(--section-title-2)}.mobile-section-title-3{font:var(--section-title-3)}.mobile-section-title-4{font:var(--section-title-4)}.mobile-section-title-5{font:var(--section-title-5)}.mobile-section-title-6{font:var(--section-title-6)}.mobile-heading-1-lt,.mobile-heading-2-lt,.mobile-heading-3-lt,.mobile-heading-4-lt{font-weight:var(--font-lt)}.mobile-heading-1-sb,.mobile-heading-2-sb,.mobile-heading-3-sb,.mobile-heading-4-sb,.mobile-body-1-sb,.mobile-body-2-sb,.mobile-body-3-sb,.mobile-body-4-sb,.mobile-body-5-sb,.mobile-interactive-1-sb,.mobile-interactive-2-sb,.mobile-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 768px) and (max-width: 1151px){.tablet-heading-1,.tablet-heading-1-sb,.tablet-heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.tablet-heading-2,.tablet-heading-2-sb,.tablet-heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.tablet-heading-3,.tablet-heading-3-sb,.tablet-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.tablet-heading-4,.tablet-heading-4-sb,.tablet-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.tablet-body-1,.tablet-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.tablet-body-2,.tablet-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.tablet-body-3,.tablet-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.tablet-body-4,.tablet-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.tablet-body-5,.tablet-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.tablet-interactive-1,.tablet-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.tablet-interactive-2,.tablet-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.tablet-interactive-3,.tablet-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.tablet-section-title-1{font:var(--section-title-1)}.tablet-section-title-2{font:var(--section-title-2)}.tablet-section-title-3{font:var(--section-title-3)}.tablet-section-title-4{font:var(--section-title-4)}.tablet-section-title-5{font:var(--section-title-5)}.tablet-section-title-6{font:var(--section-title-6)}.tablet-heading-1-lt,.tablet-heading-2-lt,.tablet-heading-3-lt,.tablet-heading-4-lt{font-weight:var(--font-lt)}.tablet-heading-1-sb,.tablet-heading-2-sb,.tablet-heading-3-sb,.tablet-heading-4-sb,.tablet-body-1-sb,.tablet-body-2-sb,.tablet-body-3-sb,.tablet-body-4-sb,.tablet-body-5-sb,.tablet-interactive-1-sb,.tablet-interactive-2-sb,.tablet-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 1152px) and (max-width: 1365px){.desktop-heading-1,.desktop-heading-1-sb,.desktop-heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.desktop-heading-2,.desktop-heading-2-sb,.desktop-heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.desktop-heading-3,.desktop-heading-3-sb,.desktop-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.desktop-heading-4,.desktop-heading-4-sb,.desktop-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.desktop-body-1,.desktop-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.desktop-body-2,.desktop-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.desktop-body-3,.desktop-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.desktop-body-4,.desktop-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.desktop-body-5,.desktop-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.desktop-interactive-1,.desktop-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.desktop-interactive-2,.desktop-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.desktop-interactive-3,.desktop-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.desktop-section-title-1{font:var(--section-title-1)}.desktop-section-title-2{font:var(--section-title-2)}.desktop-section-title-3{font:var(--section-title-3)}.desktop-section-title-4{font:var(--section-title-4)}.desktop-section-title-5{font:var(--section-title-5)}.desktop-section-title-6{font:var(--section-title-6)}.desktop-heading-1-lt,.desktop-heading-2-lt,.desktop-heading-3-lt,.desktop-heading-4-lt{font-weight:var(--font-lt)}.desktop-heading-1-sb,.desktop-heading-2-sb,.desktop-heading-3-sb,.desktop-heading-4-sb,.desktop-body-1-sb,.desktop-body-2-sb,.desktop-body-3-sb,.desktop-body-4-sb,.desktop-body-5-sb,.desktop-interactive-1-sb,.desktop-interactive-2-sb,.desktop-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 1366px){.wide-heading-1,.wide-heading-1-sb,.wide-heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.wide-heading-2,.wide-heading-2-sb,.wide-heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.wide-heading-3,.wide-heading-3-sb,.wide-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.wide-heading-4,.wide-heading-4-sb,.wide-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.wide-body-1,.wide-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.wide-body-2,.wide-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.wide-body-3,.wide-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.wide-body-4,.wide-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.wide-body-5,.wide-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.wide-interactive-1,.wide-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.wide-interactive-2,.wide-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.wide-interactive-3,.wide-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.wide-section-title-1{font:var(--section-title-1)}.wide-section-title-2{font:var(--section-title-2)}.wide-section-title-3{font:var(--section-title-3)}.wide-section-title-4{font:var(--section-title-4)}.wide-section-title-5{font:var(--section-title-5)}.wide-section-title-6{font:var(--section-title-6)}.wide-heading-1-lt,.wide-heading-2-lt,.wide-heading-3-lt,.wide-heading-4-lt{font-weight:var(--font-lt)}.wide-heading-1-sb,.wide-heading-2-sb,.wide-heading-3-sb,.wide-heading-4-sb,.wide-body-1-sb,.wide-body-2-sb,.wide-body-3-sb,.wide-body-4-sb,.wide-body-5-sb,.wide-interactive-1-sb,.wide-interactive-2-sb,.wide-interactive-3-sb{font-weight:var(--font-sb)}}.heading-1-lt,.heading-2-lt,.heading-3-lt,.heading-4-lt{font-weight:var(--font-lt)}.heading-1-sb,.heading-2-sb,.heading-3-sb,.heading-4-sb,.body-1-sb,.body-2-sb,.body-3-sb,.body-4-sb,.body-5-sb,.interactive-1-sb,.interactive-2-sb,.interactive-3-sb,.helper-sb{font-weight:var(--font-sb)}`;const l=class{constructor(i){t(this,i);this.rangeInput=e(this,"rangeInput",7);this.rangeChange=e(this,"rangeChange",7);if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.disabled=false;this.htmlId=`z-input-range-${s()}`;this.max=100;this.min=0;this.showEdges=false;this.step=1;this.value=0;this.currentValue=this.value;this.showValueTooltip=false;this.needsNativeValueSync=false}get ariaLabel(){var t;return(t=this.htmlAriaLabel)!==null&&t!==void 0?t:this.orientation===a.VERTICAL?this.label:undefined}get tooltipPosition(){var t;return(t=this.valuePosition)!==null&&t!==void 0?t:this.orientation===a.VERTICAL?r.LEFT:r.TOP}updateCurrentValue(t){if(Number.isNaN(t)||t===this.currentValue){return}this.currentValue=t;this.internals.setFormValue(this.currentValue.toString())}getCurrentRatio(){const t=this.max-this.min;if(t<=0){return 0}const e=(this.currentValue-this.min)/t;return Math.min(1,Math.max(0,e))}updateProgress(){var t,e;const i=this.getCurrentRatio();const n=i*100;(t=this.host)===null||t===void 0?void 0:t.style.setProperty("--progress-ratio",`${i}`);(e=this.host)===null||e===void 0?void 0:e.style.setProperty("--progress",`${n}%`)}syncCurrentValueFromNativeInput(){if(!this.inputRef){return}this.updateCurrentValue(this.inputRef.valueAsNumber);this.updateProgress()}onInput(t){t.stopPropagation();this.syncCurrentValueFromNativeInput();this.rangeInput.emit(this.currentValue)}onChange(t){t.stopPropagation();this.syncCurrentValueFromNativeInput();this.rangeChange.emit(this.currentValue)}onConstraintsChange(){this.needsNativeValueSync=true}componentDidLoad(){this.needsNativeValueSync=true;this.syncCurrentValueFromNativeInput()}componentDidRender(){if(!this.needsNativeValueSync){return}this.syncCurrentValueFromNativeInput();this.needsNativeValueSync=false}render(){return i(n,{key:"3b37077c4ba5f2a04a1d131fe9eac923436c5a91"},this.label&&i("label",{key:"7240d003d1fbed16cd0a1b1557314dfd2bcd9a3f",class:"z-label",htmlFor:this.htmlId},this.label),i("div",{key:"d1920f42f1dc8a03bda038a2d177e57035f4f092",class:"input-container body-3"},i("input",{key:"d6e2c44d55b1a9455b56b375d64e110af9d30057",ref:t=>this.inputRef=t,type:"range","aria-label":this.ariaLabel,id:this.htmlId,disabled:this.disabled,min:this.min,max:this.max,step:this.step,value:this.currentValue,onInput:t=>this.onInput(t),onChange:t=>this.onChange(t),onFocus:()=>this.showValueTooltip=true,onBlur:()=>this.showValueTooltip=false}),i("div",{key:"7bfa033f84290c2cafe4f39a87edd45191a84680",class:"tooltip-guide",ref:t=>this.tooltipGuideRef=t}),i("z-tooltip",{key:"430d53ed9782f4cf0995e3f9233e541843723491",position:this.tooltipPosition,bindTo:this.tooltipGuideRef,open:this.showValueTooltip,closable:false},i("div",{key:"0af7033124469b52197a57ce16fdccd7fd97dbf6",class:"current-value"},this.currentValue))),this.showEdges&&i("div",{key:"d3c1598713da8f390bfceac94429549e974ea9e8",class:"edges body-3"},i("span",{key:"975d41878caf4b3ede7ccf78411657ad8339ad9c",class:"min"},this.min),i("span",{key:"1594cb900aeed07b641bfb836f8bc4fed7b2f99e",class:"max"},this.max)))}static get formAssociated(){return true}get host(){return o(this)}static get watchers(){return{min:[{onConstraintsChange:0}],max:[{onConstraintsChange:0}],step:[{onConstraintsChange:0}],value:[{onConstraintsChange:0}]}}};l.style=h()+g();export{l as z_input_range};
|
|
2
|
-
//# sourceMappingURL=p-1fedbf42.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","typographyCss","ZInputRange","constructor","hostRef","this","disabled","htmlId","randomId","max","min","showEdges","step","value","currentValue","showValueTooltip","needsNativeValueSync","ariaLabel","_a","htmlAriaLabel","orientation","Orientation","VERTICAL","label","undefined","tooltipPosition","valuePosition","PopoverPosition","LEFT","TOP","updateCurrentValue","nextValue","Number","isNaN","internals","setFormValue","toString","getCurrentRatio","range","ratio","Math","updateProgress","progress","host","style","setProperty","_b","syncCurrentValueFromNativeInput","inputRef","valueAsNumber","onInput","event","stopPropagation","rangeInput","emit","onChange","rangeChange","onConstraintsChange","componentDidLoad","componentDidRender","render","h","Host","key","class","htmlFor","ref","el","type","id","onFocus","onBlur","tooltipGuideRef","position","bindTo","open","closable"],"sources":["src/components/z-input-range/styles.css?tag=z-input-range&encapsulation=shadow","src/tokens/typography.css?tag=z-input-range&encapsulation=shadow","src/components/z-input-range/index.tsx"],"sourcesContent":[":host,\n* {\n box-sizing: border-box;\n}\n\n:host {\n /* Internal CSS variable used to store the progress of the input range as a percentage.\n Needed to color the progress in the runnable track of the input (only Firefox natively provides a pseudo-element to do that: `::-moz-range-progress`).\n The value is updated by the component. */\n --progress: 0%;\n\n /* Internal CSS variable used to store the ratio of the current value to the total range, used for positioning the tooltip guide.\n The value is updated by the component. */\n --progress-ratio: 0;\n --z-input-range-thumb-size: calc(var(--space-unit) * 3);\n\n display: flex;\n width: fit-content;\n height: fit-content;\n flex-direction: column;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host([size=\"small\"]) {\n --z-input-range-thumb-size: calc(var(--space-unit) * 2);\n}\n\n:host([size=\"x-small\"]) {\n --z-input-range-thumb-size: calc(var(--space-unit) * 1.5);\n}\n\n:host([orientation=\"vertical\"]) {\n height: 100%;\n flex-direction: row;\n}\n\n.input-container {\n /* Thickness of the track. It is calculated as one-third of the thumb size. */\n --z-input-range-track-size: calc(var(--z-input-range-thumb-size) / 3);\n\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n}\n\nlabel.z-label {\n padding: 0;\n margin-bottom: calc(var(--space-unit) * 1.5);\n}\n\n:host([orientation=\"vertical\"]) label.z-label {\n display: none;\n}\n\ninput[type=\"range\"] {\n --main-color: var(--color-primary01);\n\n width: 100%;\n height: var(--z-input-range-thumb-size);\n padding: 0;\n margin: 0;\n appearance: none;\n background: transparent;\n writing-mode: horizontal-tb;\n}\n\ninput[type=\"range\"]:hover,\ninput[type=\"range\"]:hover ~ z-tooltip {\n --main-color: var(--color-hover-primary);\n}\n\ninput[type=\"range\"]:focus:focus-visible {\n outline: none;\n}\n\ninput[type=\"range\"]:disabled,\ninput[type=\"range\"]:disabled ~ z-tooltip {\n --main-color: var(--color-form-disabled03);\n\n cursor: default;\n}\n\ninput[type=\"range\"]::-webkit-slider-runnable-track {\n width: 100%;\n height: var(--z-input-range-track-size);\n border: none;\n appearance: none;\n background:\n linear-gradient(var(--main-color), var(--main-color)) 0 / var(--progress) 100% no-repeat,\n var(--color-surface03);\n border-radius: var(--border-radius);\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"] {\n width: var(--z-input-range-thumb-size);\n height: 100%;\n direction: rtl;\n writing-mode: vertical-lr;\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-webkit-slider-runnable-track {\n width: var(--z-input-range-track-size);\n height: 100%;\n background:\n linear-gradient(var(--main-color), var(--main-color)) 0 100% / 100% var(--progress) no-repeat,\n var(--color-surface03);\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n width: var(--z-input-range-thumb-size);\n height: var(--z-input-range-thumb-size);\n box-sizing: border-box;\n border: calc(var(--z-input-range-thumb-size) / 4.8) solid var(--main-color);\n margin-top: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n appearance: none;\n background-color: var(--color-surface01);\n border-radius: 50%;\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-webkit-slider-thumb {\n margin-top: 0;\n margin-left: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n}\n\ninput[type=\"range\"]:not(:disabled)::-webkit-slider-runnable-track {\n cursor: pointer;\n}\n\ninput[type=\"range\"]:not(:disabled)::-webkit-slider-thumb {\n cursor: grab;\n}\n\ninput[type=\"range\"]:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: var(--shadow-focus-primary);\n}\n\ninput[type=\"range\"]:active:not(:disabled)::-webkit-slider-thumb {\n cursor: grabbing;\n}\n\n/* --- Firefox styles --- */\n\n/* All styles must be duplicated, because using comma-separated selectors\n(like `input[type=\"range\"]::-webkit-slider-thumb, input[type=\"range\"]::-moz-range-thumb`) would break webkit styles...\n*/\ninput[type=\"range\"]::-moz-range-track {\n width: 100%;\n height: var(--z-input-range-track-size);\n border: none;\n appearance: none;\n background: var(--color-surface03);\n border-radius: var(--border-radius);\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-moz-range-track {\n width: var(--z-input-range-track-size);\n height: 100%;\n}\n\ninput[type=\"range\"]::-moz-range-progress {\n height: var(--z-input-range-track-size);\n border: none;\n background: var(--main-color);\n border-radius: var(--border-radius);\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-moz-range-progress {\n width: var(--z-input-range-track-size);\n height: auto;\n}\n\ninput[type=\"range\"]::-moz-range-thumb {\n width: var(--z-input-range-thumb-size);\n height: var(--z-input-range-thumb-size);\n box-sizing: border-box;\n border: calc(var(--z-input-range-thumb-size) / 4.8) solid var(--main-color);\n margin-top: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n appearance: none;\n background-color: var(--color-surface01);\n border-radius: 50%;\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-moz-range-thumb {\n margin-top: 0;\n margin-left: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n}\n\ninput[type=\"range\"]:not(:disabled)::-moz-range-track,\ninput[type=\"range\"]:not(:disabled)::-moz-range-progress {\n cursor: pointer;\n}\n\ninput[type=\"range\"]:not(:disabled)::-moz-range-thumb {\n cursor: grab;\n}\n\ninput[type=\"range\"]:active:not(:disabled)::-moz-range-thumb {\n cursor: grabbing;\n}\n\ninput[type=\"range\"]:focus:not(:active)::-moz-range-thumb {\n box-shadow: var(--shadow-focus-primary);\n}\n\n/* --- End of Firefox styles --- */\n\n.tooltip-guide {\n --progress-position: calc(\n (var(--progress-ratio) * (100% - var(--z-input-range-thumb-size))) + (var(--z-input-range-thumb-size) / 2)\n );\n\n position: absolute;\n z-index: -1;\n top: 0;\n\n /* `--progress` is good for painting the filled track, but not enough for representing the thumb center.\n * The thumb center cannot go from 0 to 100%:\n * at min it sits at thumbSize/2, and at max it sits at width - thumbSize/2.\n * So we map a normalized ratio (0..1) over the usable travel distance\n * (width - thumbSize), then add thumbSize/2 to get the correct center coordinate.\n */\n left: var(--progress-position);\n width: var(--z-input-range-thumb-size);\n height: var(--z-input-range-thumb-size);\n background: transparent;\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n:host([orientation=\"vertical\"]) .tooltip-guide {\n top: auto;\n bottom: var(--progress-position);\n left: 0;\n transform: translateY(50%);\n}\n\nz-tooltip {\n --main-color: var(--color-primary01);\n --z-tooltip-theme--surface: var(--main-color);\n --z-tooltip-theme--text: var(--color-text-inverse);\n --z-tooltip-padding: calc(var(--space-unit) / 2);\n}\n\nz-tooltip .current-value {\n min-width: calc(var(--space-unit) * 3.5);\n}\n\n.edges {\n display: flex;\n justify-content: space-between;\n}\n\n.edges :is(.min, .max) {\n min-width: var(--z-input-range-thumb-size); /* visually align single digit values to the center of the thumb */\n text-align: center;\n}\n\n:host([orientation=\"vertical\"]) .edges {\n display: none;\n}\n",":root {\n /* font-family */\n --font-family-sans: \"IBM Plex Sans\", sans-serif;\n --font-family-serif: \"IBM Plex Serif\", serif;\n\n /* font-weight */\n --font-lt: 300;\n --font-rg: 400;\n --font-sb: 600;\n --font-bd: 700;\n\n /* font-size type scale */\n --font-size-1: 0.75rem; /* 12px */\n --font-size-2: 0.875rem; /* 14px */\n --font-size-3: 1rem; /* assuming 16px */\n --font-size-4: 1.125rem; /* 18px */\n --font-size-5: 1.25rem; /* 20px */\n --font-size-6: 1.5rem; /* 24px */\n --font-size-7: 1.75rem; /* 28px */\n --font-size-8: 2rem; /* 32px */\n --font-size-9: 2.25rem; /* 36px */\n --font-size-10: 2.625rem; /* 42px */\n --font-size-11: 3rem; /* 48px */\n --font-size-12: 3.375rem; /* 54px */\n --font-size-13: 3.75rem; /* 60px */\n --font-size-14: 4.25rem; /* 68px */\n --font-size-15: 4.75rem; /* 76px */\n --font-size-16: 5.25rem; /* 84px */\n --font-size-17: 5.75rem; /* 92px */\n\n /* cssprops to use with `font` shorthand property */\n --section-title-1: var(--font-sb) var(--font-size-11) / 1.083 var(--font-family-serif);\n --section-title-2: var(--font-sb) var(--font-size-10) / 1.142 var(--font-family-serif);\n --section-title-3: var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);\n --section-title-4: var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);\n --section-title-5: var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);\n --section-title-6: var(--font-sb) var(--font-size-6) / 1.333 var(--font-family-serif);\n}\n\n/* Typography classes */\n.heading-1,\n.heading-1-sb,\n.heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n}\n\n.heading-2,\n.heading-2-sb,\n.heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-3,\n.heading-3-sb,\n.heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-4,\n.heading-4-sb,\n.heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-1,\n.body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-2,\n.body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-3,\n.body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-4,\n.body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.body-5,\n.body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.interactive-1,\n.interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.interactive-2,\n.interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.interactive-3,\n.interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.helper,\n.helper-sb {\n font-size: var(--font-size-1);\n font-style: italic;\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n/* section title */\n.section-title-1 {\n font: var(--section-title-1);\n}\n\n.section-title-2 {\n font: var(--section-title-2);\n}\n\n.section-title-3 {\n font: var(--section-title-3);\n}\n\n.section-title-4 {\n font: var(--section-title-4);\n}\n\n.section-title-5 {\n font: var(--section-title-5);\n}\n\n.section-title-6 {\n font: var(--section-title-6);\n}\n\n/* heading-1/2 for desktop and wide viewports */\n@media (min-width: 1152px) {\n .heading-1,\n .heading-1-sb,\n .heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .heading-2,\n .heading-2-sb,\n .heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n}\n\n/* viewport classes */\n@media (max-width: 767px) {\n .mobile-heading-1,\n .mobile-heading-1-sb,\n .mobile-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .mobile-heading-2,\n .mobile-heading-2-sb,\n .mobile-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-3,\n .mobile-heading-3-sb,\n .mobile-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-4,\n .mobile-heading-4-sb,\n .mobile-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-1,\n .mobile-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-2,\n .mobile-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-3,\n .mobile-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-4,\n .mobile-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-body-5,\n .mobile-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-interactive-1,\n .mobile-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-interactive-2,\n .mobile-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-interactive-3,\n .mobile-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-section-title-1 {\n font: var(--section-title-1);\n }\n\n .mobile-section-title-2 {\n font: var(--section-title-2);\n }\n\n .mobile-section-title-3 {\n font: var(--section-title-3);\n }\n\n .mobile-section-title-4 {\n font: var(--section-title-4);\n }\n\n .mobile-section-title-5 {\n font: var(--section-title-5);\n }\n\n .mobile-section-title-6 {\n font: var(--section-title-6);\n }\n\n .mobile-heading-1-lt,\n .mobile-heading-2-lt,\n .mobile-heading-3-lt,\n .mobile-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .mobile-heading-1-sb,\n .mobile-heading-2-sb,\n .mobile-heading-3-sb,\n .mobile-heading-4-sb,\n .mobile-body-1-sb,\n .mobile-body-2-sb,\n .mobile-body-3-sb,\n .mobile-body-4-sb,\n .mobile-body-5-sb,\n .mobile-interactive-1-sb,\n .mobile-interactive-2-sb,\n .mobile-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 768px) and (max-width: 1151px) {\n .tablet-heading-1,\n .tablet-heading-1-sb,\n .tablet-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .tablet-heading-2,\n .tablet-heading-2-sb,\n .tablet-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-3,\n .tablet-heading-3-sb,\n .tablet-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-4,\n .tablet-heading-4-sb,\n .tablet-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-1,\n .tablet-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-2,\n .tablet-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-3,\n .tablet-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-4,\n .tablet-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-body-5,\n .tablet-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-interactive-1,\n .tablet-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-interactive-2,\n .tablet-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-interactive-3,\n .tablet-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-section-title-1 {\n font: var(--section-title-1);\n }\n\n .tablet-section-title-2 {\n font: var(--section-title-2);\n }\n\n .tablet-section-title-3 {\n font: var(--section-title-3);\n }\n\n .tablet-section-title-4 {\n font: var(--section-title-4);\n }\n\n .tablet-section-title-5 {\n font: var(--section-title-5);\n }\n\n .tablet-section-title-6 {\n font: var(--section-title-6);\n }\n\n .tablet-heading-1-lt,\n .tablet-heading-2-lt,\n .tablet-heading-3-lt,\n .tablet-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .tablet-heading-1-sb,\n .tablet-heading-2-sb,\n .tablet-heading-3-sb,\n .tablet-heading-4-sb,\n .tablet-body-1-sb,\n .tablet-body-2-sb,\n .tablet-body-3-sb,\n .tablet-body-4-sb,\n .tablet-body-5-sb,\n .tablet-interactive-1-sb,\n .tablet-interactive-2-sb,\n .tablet-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1152px) and (max-width: 1365px) {\n .desktop-heading-1,\n .desktop-heading-1-sb,\n .desktop-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .desktop-heading-2,\n .desktop-heading-2-sb,\n .desktop-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .desktop-heading-3,\n .desktop-heading-3-sb,\n .desktop-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .desktop-heading-4,\n .desktop-heading-4-sb,\n .desktop-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-1,\n .desktop-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-2,\n .desktop-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-3,\n .desktop-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-4,\n .desktop-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-body-5,\n .desktop-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-interactive-1,\n .desktop-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-interactive-2,\n .desktop-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-interactive-3,\n .desktop-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-section-title-1 {\n font: var(--section-title-1);\n }\n\n .desktop-section-title-2 {\n font: var(--section-title-2);\n }\n\n .desktop-section-title-3 {\n font: var(--section-title-3);\n }\n\n .desktop-section-title-4 {\n font: var(--section-title-4);\n }\n\n .desktop-section-title-5 {\n font: var(--section-title-5);\n }\n\n .desktop-section-title-6 {\n font: var(--section-title-6);\n }\n\n .desktop-heading-1-lt,\n .desktop-heading-2-lt,\n .desktop-heading-3-lt,\n .desktop-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .desktop-heading-1-sb,\n .desktop-heading-2-sb,\n .desktop-heading-3-sb,\n .desktop-heading-4-sb,\n .desktop-body-1-sb,\n .desktop-body-2-sb,\n .desktop-body-3-sb,\n .desktop-body-4-sb,\n .desktop-body-5-sb,\n .desktop-interactive-1-sb,\n .desktop-interactive-2-sb,\n .desktop-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1366px) {\n .wide-heading-1,\n .wide-heading-1-sb,\n .wide-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .wide-heading-2,\n .wide-heading-2-sb,\n .wide-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .wide-heading-3,\n .wide-heading-3-sb,\n .wide-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .wide-heading-4,\n .wide-heading-4-sb,\n .wide-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-1,\n .wide-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-2,\n .wide-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-3,\n .wide-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-4,\n .wide-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-body-5,\n .wide-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-interactive-1,\n .wide-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-interactive-2,\n .wide-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-interactive-3,\n .wide-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-section-title-1 {\n font: var(--section-title-1);\n }\n\n .wide-section-title-2 {\n font: var(--section-title-2);\n }\n\n .wide-section-title-3 {\n font: var(--section-title-3);\n }\n\n .wide-section-title-4 {\n font: var(--section-title-4);\n }\n\n .wide-section-title-5 {\n font: var(--section-title-5);\n }\n\n .wide-section-title-6 {\n font: var(--section-title-6);\n }\n\n .wide-heading-1-lt,\n .wide-heading-2-lt,\n .wide-heading-3-lt,\n .wide-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .wide-heading-1-sb,\n .wide-heading-2-sb,\n .wide-heading-3-sb,\n .wide-heading-4-sb,\n .wide-body-1-sb,\n .wide-body-2-sb,\n .wide-body-3-sb,\n .wide-body-4-sb,\n .wide-body-5-sb,\n .wide-interactive-1-sb,\n .wide-interactive-2-sb,\n .wide-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n/* font-weight variants */\n.heading-1-lt,\n.heading-2-lt,\n.heading-3-lt,\n.heading-4-lt {\n font-weight: var(--font-lt);\n}\n\n.heading-1-sb,\n.heading-2-sb,\n.heading-3-sb,\n.heading-4-sb,\n.body-1-sb,\n.body-2-sb,\n.body-3-sb,\n.body-4-sb,\n.body-5-sb,\n.interactive-1-sb,\n.interactive-2-sb,\n.interactive-3-sb,\n.helper-sb {\n font-weight: var(--font-sb);\n}\n","import {\n AttachInternals,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ControlSize, Orientation, PopoverPosition} from \"../../beans\";\nimport {randomId} from \"../../utils/utils\";\n\n/**\n * Input range component.\n */\n@Component({\n tag: \"z-input-range\",\n styleUrls: [\"styles.css\", \"../../tokens/typography.css\"],\n shadow: true,\n formAssociated: true,\n})\nexport class ZInputRange implements ComponentInterface {\n @Element() host: HTMLZInputRangeElement;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Whether the input range is disabled. */\n @Prop()\n disabled = false;\n\n /**\n * The aria label of the input range. for accessibility.\n * Not necessary if the `label` prop is set.\n */\n @Prop()\n htmlAriaLabel: string;\n\n /** ID of the input range. */\n @Prop()\n htmlId = `z-input-range-${randomId()}`;\n\n /**\n * The label of the input range.\n * When `orientation` is set to `vertical`, the label is not visible but used as `aria-label`, unless `htmlAriaLabel` is provided.\n */\n @Prop()\n label: string;\n\n /** The greatest value in the range of permitted values. */\n @Prop()\n max = 100;\n\n /** The lowest value in the range of permitted values. */\n @Prop()\n min = 0;\n\n /** The orientation of the input range. */\n @Prop({reflect: true})\n orientation: Orientation;\n\n /** Whether to show `min` and `max` values of the input range. Only visible with the `horizontal` orientation. */\n @Prop()\n showEdges = false;\n\n /** The size of the input range. Default: `ControlSize.BIG` */\n @Prop({reflect: true})\n size: ControlSize.BIG;\n\n /** The step value for the input range. */\n @Prop()\n step = 1;\n\n /** The value of the input range. */\n @Prop()\n value = 0;\n\n /**\n * The position of the tooltip displaying the current value.\n * Defaults to `top` for horizontal orientation and `left` for vertical orientation.\n * May be necessary to adjust this prop when the input range is close to the edges of the screen,\n * to prevent the tooltip from showing out of the screen or in an unintended position due to auto adjustment.\n * For example, for a horizontal input range close to the top of the screen, you may want to set this prop to `bottom`.\n */\n @Prop()\n valuePosition: PopoverPosition.TOP | PopoverPosition.BOTTOM | PopoverPosition.LEFT | PopoverPosition.RIGHT;\n\n /** Emitted when the value of the input range is being changed (`input` native event). */\n @Event()\n rangeInput: EventEmitter<number>;\n\n /** Emitted when the value of the input range has changed (`change` native event). */\n @Event()\n rangeChange: EventEmitter<number>;\n\n /** The current value of the input range synchronized with the native input element. */\n @State()\n currentValue = this.value;\n\n /**\n * Whether to show the tooltip displaying the current value.\n * The tooltip is shown only when the input range is focused or while the user is changing the value.\n */\n @State()\n showValueTooltip = false;\n\n /**\n * Whether the native input value needs to be synced with the component state.\n * This is necessary when the `step` prop changes, as the browser may round the value,\n * so we need to update the component state accordingly.\n */\n private needsNativeValueSync = false;\n\n private inputRef: HTMLInputElement;\n\n private tooltipGuideRef: HTMLSpanElement;\n\n private get ariaLabel(): string | undefined {\n return this.htmlAriaLabel ?? (this.orientation === Orientation.VERTICAL ? this.label : undefined);\n }\n\n private get tooltipPosition(): typeof this.valuePosition {\n return (\n this.valuePosition ?? (this.orientation === Orientation.VERTICAL ? PopoverPosition.LEFT : PopoverPosition.TOP)\n );\n }\n\n private updateCurrentValue(nextValue: number): void {\n if (Number.isNaN(nextValue) || nextValue === this.currentValue) {\n return;\n }\n\n this.currentValue = nextValue;\n this.internals.setFormValue(this.currentValue.toString());\n }\n\n /** Calculates the current ratio of the input range value. */\n private getCurrentRatio(): number {\n const range = this.max - this.min;\n if (range <= 0) {\n return 0;\n }\n\n const ratio = (this.currentValue - this.min) / range;\n\n return Math.min(1, Math.max(0, ratio));\n }\n\n /** Updates the CSS variables used to color the track progress and tooltip guide position. */\n private updateProgress(): void {\n const ratio = this.getCurrentRatio();\n const progress = ratio * 100;\n\n this.host?.style.setProperty(\"--progress-ratio\", `${ratio}`);\n this.host?.style.setProperty(\"--progress\", `${progress}%`);\n }\n\n /**\n * Syncs current value from native input after render-time browser coercions:\n * when `step` changes, the browser may round the value, so we need to update the component state accordingly.\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/range#step\n */\n private syncCurrentValueFromNativeInput(): void {\n if (!this.inputRef) {\n return;\n }\n\n this.updateCurrentValue(this.inputRef.valueAsNumber);\n this.updateProgress();\n }\n\n private onInput(event: InputEvent): void {\n event.stopPropagation();\n this.syncCurrentValueFromNativeInput();\n this.rangeInput.emit(this.currentValue);\n }\n\n private onChange(event: Event): void {\n event.stopPropagation();\n this.syncCurrentValueFromNativeInput();\n this.rangeChange.emit(this.currentValue);\n }\n\n @Watch(\"min\")\n @Watch(\"max\")\n @Watch(\"step\")\n @Watch(\"value\")\n onConstraintsChange(): void {\n this.needsNativeValueSync = true;\n }\n\n componentDidLoad() {\n this.needsNativeValueSync = true;\n this.syncCurrentValueFromNativeInput();\n }\n\n componentDidRender() {\n if (!this.needsNativeValueSync) {\n return;\n }\n\n this.syncCurrentValueFromNativeInput();\n this.needsNativeValueSync = false;\n }\n\n render() {\n return (\n <Host>\n {this.label && (\n <label\n class=\"z-label\"\n htmlFor={this.htmlId}\n >\n {this.label}\n </label>\n )}\n <div class=\"input-container body-3\">\n <input\n ref={(el) => (this.inputRef = el)}\n type=\"range\"\n aria-label={this.ariaLabel}\n id={this.htmlId}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.currentValue}\n onInput={(event) => this.onInput(event)}\n onChange={(event) => this.onChange(event)}\n onFocus={() => (this.showValueTooltip = true)}\n onBlur={() => (this.showValueTooltip = false)}\n />\n <div\n class=\"tooltip-guide\"\n ref={(el) => (this.tooltipGuideRef = el)}\n ></div>\n <z-tooltip\n position={this.tooltipPosition}\n bindTo={this.tooltipGuideRef}\n open={this.showValueTooltip}\n closable={false}\n >\n <div class=\"current-value\">{this.currentValue}</div>\n </z-tooltip>\n </div>\n {this.showEdges && (\n <div class=\"edges body-3\">\n <span class=\"min\">{this.min}</span>\n <span class=\"max\">{this.max}</span>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as i,H as n,d as o}from"./p-BcDWN4F1.js";import{T as s}from"./p-DdetsoIY.js";import{i as e,h as c}from"./p-DPrEzmhI.js";import"./p-Q-tWjk7P.js";const r=()=>`.sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg);text-align:center}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{display:inline-flex;height:100%;align-items:center}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--color-surface05);color:var(--color-surface01)}.light.sc-z-skip-to-content-h{border:var(--border-size-medium) solid var(--color-surface05);background-color:var(--color-surface01);color:var(--color-default-text)}@media (min-width: 768px){.sc-z-skip-to-content-h{text-align:start}}@media (min-width: 1152px){.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{padding:0 calc(var(--space-unit) * 3);border-right:var(--border-size-small) solid var(--color-surface05)}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{border-right:var(--border-size-small) solid var(--color-surface01)}}`;const l=class{constructor(i){t(this,i);this.links=[];this.visible=false;this.visibleLink=""}handleFocusOutSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=false}}handleFocusSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=true}}componentDidLoad(){this.showFirstChild()}componentWillRender(){if(this.links){this.links=typeof this.links==="string"?JSON.parse(this.links):this.links}}isInSkipToContent(t){const i=e(t);const n=i.find((t=>t.nodeName.toLowerCase()==="z-skip-to-content"));return!!n}showFirstChild(){var t;const i=(t=this.hostElement.children)===null||t===void 0?void 0:t[0];if(i){this.visibleLink=i.id}}handleLinkClick(){this.visible=false}render(){return i(n,{key:"b19cbb70b81b7446322876b9308ce475934c2c30",class:{[this.variant]:true,"skip-to-content-visible":this.visible}},this.links.map(((t,n)=>{const o=`skip-to-content-${n}`;return i("div",{class:"link-container"},i("a",{id:o,class:{"body-1-sb":true,"z-link":true,"z-link-underline":true,"z-link-inverse":this.variant===s.DARK,"link-visible":o==this.visibleLink,"link-invisible":o!=this.visibleLink},"aria-label":t.ariaLabel||t.label,href:t.href,onFocus:()=>this.visibleLink=o,onClick:()=>this.handleLinkClick(),onKeyUp:t=>c(t,this.handleLinkClick.bind(this))},t.label))})))}get hostElement(){return o(this)}};l.style=r();export{l as z_skip_to_content};
|
|
2
|
-
//# sourceMappingURL=p-248ff73f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZSkipToContent","constructor","hostRef","this","links","visible","visibleLink","handleFocusOutSkipToContent","e","isInSkipToContent","target","handleFocusSkipToContent","componentDidLoad","showFirstChild","componentWillRender","JSON","parse","elem","tree","getElementTree","menuParent","find","nodeName","toLowerCase","firstChild","_a","hostElement","children","id","handleLinkClick","render","h","Host","key","class","variant","map","link","i","ThemeVariant","DARK","ariaLabel","label","href","onFocus","onClick","onKeyUp","handleKeyboardSubmit","bind"],"sources":["src/components/z-skip-to-content/styles.css?tag=z-skip-to-content&encapsulation=scoped","src/components/z-skip-to-content/index.tsx"],"sourcesContent":[":host {\n position: absolute;\n left: -100%;\n height: 60px;\n box-sizing: border-box;\n padding: calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);\n background-color: #24f4ff;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n text-align: center;\n}\n\n:host > .link-container {\n display: inline-flex;\n height: 100%;\n align-items: center;\n}\n\n:host.skip-to-content-visible,\n:host:focus {\n position: static;\n display: block;\n}\n\n:host > .link-container > a.z-link.link-invisible {\n overflow: hidden;\n width: 0;\n height: 0;\n}\n\n:host > .link-container > a.z-link.link-visible {\n width: initial;\n height: initial;\n}\n\n:host.dark {\n background-color: var(--color-surface05);\n color: var(--color-surface01);\n}\n\n:host.light {\n border: var(--border-size-medium) solid var(--color-surface05);\n background-color: var(--color-surface01);\n color: var(--color-default-text);\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n :host {\n text-align: start;\n }\n}\n\n/* Desktop breakpoint */\n@media (min-width: 1152px) {\n :host > .link-container {\n padding: 0 calc(var(--space-unit) * 3);\n border-right: var(--border-size-small) solid var(--color-surface05);\n }\n\n :host > .link-container > a.z-link.link-invisible {\n overflow: initial;\n width: initial;\n height: initial;\n }\n\n :host > .link-container:first-child {\n padding-left: 0;\n }\n\n :host > .link-container:last-child,\n :host.dark > .link-container:last-child,\n :host.light > .link-container:last-child {\n padding-right: 0;\n border-right: none;\n }\n\n :host.dark > .link-container {\n border-right: var(--border-size-small) solid var(--color-surface01);\n }\n}\n","import {Component, ComponentInterface, Element, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {SkipToContentLink, ThemeVariant} from \"../../beans\";\nimport {getElementTree, handleKeyboardSubmit} from \"../../utils/utils\";\n\n/**\n * Component short description.\n */\n@Component({\n tag: \"z-skip-to-content\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSkipToContent implements ComponentInterface {\n /** Graphical variant: `dark`, `light`. */\n @Prop({reflect: true})\n variant?: ThemeVariant;\n\n /** Array to fill link into skip-content */\n @Prop({mutable: true})\n links: string | SkipToContentLink[] = [];\n\n @State()\n visible = false;\n\n @State()\n visibleLink = \"\";\n\n @Element() hostElement: HTMLZSkipToContentElement;\n\n @Listen(\"focusout\", {target: \"document\"})\n handleFocusOutSkipToContent(e: FocusEvent): void {\n if (this.isInSkipToContent(e.target)) {\n this.visible = false;\n }\n }\n\n @Listen(\"focusin\", {target: \"document\"})\n handleFocusSkipToContent(e: FocusEvent): void {\n if (this.isInSkipToContent(e.target)) {\n this.visible = true;\n }\n }\n\n componentDidLoad(): void {\n this.showFirstChild();\n }\n\n componentWillRender(): void {\n if (this.links) {\n this.links = typeof this.links === \"string\" ? JSON.parse(this.links) : this.links;\n }\n }\n\n private isInSkipToContent(elem): boolean {\n const tree = getElementTree(elem);\n const menuParent = tree.find((elem: Element) => elem.nodeName.toLowerCase() === \"z-skip-to-content\");\n\n return !!menuParent;\n }\n\n private showFirstChild(): void {\n const firstChild = this.hostElement.children?.[0];\n if (firstChild) {\n this.visibleLink = firstChild.id;\n }\n }\n\n private handleLinkClick(): void {\n this.visible = false;\n }\n\n render(): HTMLZSkipToContentElement {\n return (\n <Host\n class={{\n [this.variant]: true,\n \"skip-to-content-visible\": this.visible,\n }}\n >\n {(this.links as SkipToContentLink[]).map((link, i) => {\n const id = `skip-to-content-${i}`;\n\n return (\n <div class=\"link-container\">\n <a\n id={id}\n class={{\n \"body-1-sb\": true,\n \"z-link\": true,\n \"z-link-underline\": true,\n \"z-link-inverse\": this.variant === ThemeVariant.DARK,\n \"link-visible\": id == this.visibleLink,\n \"link-invisible\": id != this.visibleLink,\n }}\n aria-label={link.ariaLabel || link.label}\n href={link.href}\n onFocus={() => (this.visibleLink = id)}\n onClick={() => this.handleLinkClick()}\n onKeyUp={(e) => handleKeyboardSubmit(e, this.handleLinkClick.bind(this))}\n >\n {link.label}\n </a>\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"mappings":"gKAAA,MAAMA,EAAY,IAAM,y3D,MCaXC,EAAc,MAN3B,WAAAC,CAAAC,G,UAaEC,KAAAC,MAAsC,GAGtCD,KAAAE,QAAU,MAGVF,KAAAG,YAAc,EAmFf,CA9EC,2BAAAC,CAA4BC,GAC1B,GAAIL,KAAKM,kBAAkBD,EAAEE,QAAS,CACpCP,KAAKE,QAAU,K,EAKnB,wBAAAM,CAAyBH,GACvB,GAAIL,KAAKM,kBAAkBD,EAAEE,QAAS,CACpCP,KAAKE,QAAU,I,EAInB,gBAAAO,GACET,KAAKU,gB,CAGP,mBAAAC,GACE,GAAIX,KAAKC,MAAO,CACdD,KAAKC,aAAeD,KAAKC,QAAU,SAAWW,KAAKC,MAAMb,KAAKC,OAASD,KAAKC,K,EAIxE,iBAAAK,CAAkBQ,GACxB,MAAMC,EAAOC,EAAeF,GAC5B,MAAMG,EAAaF,EAAKG,MAAMJ,GAAkBA,EAAKK,SAASC,gBAAkB,sBAEhF,QAASH,C,CAGH,cAAAP,G,MACN,MAAMW,GAAaC,EAAAtB,KAAKuB,YAAYC,YAAQ,MAAAF,SAAA,SAAAA,EAAG,GAC/C,GAAID,EAAY,CACdrB,KAAKG,YAAckB,EAAWI,E,EAI1B,eAAAC,GACN1B,KAAKE,QAAU,K,CAGjB,MAAAyB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,CAAC/B,KAAKgC,SAAU,KAChB,0BAA2BhC,KAAKE,UAGhCF,KAAKC,MAA8BgC,KAAI,CAACC,EAAMC,KAC9C,MAAMV,EAAK,mBAAmBU,IAE9B,OACEP,EAAA,OAAKG,MAAM,kBACTH,EAAA,KACEH,GAAIA,EACJM,MAAO,CACL,YAAa,KACb,SAAU,KACV,mBAAoB,KACpB,iBAAkB/B,KAAKgC,UAAYI,EAAaC,KAChD,eAAgBZ,GAAMzB,KAAKG,YAC3B,iBAAkBsB,GAAMzB,KAAKG,aAC9B,aACW+B,EAAKI,WAAaJ,EAAKK,MACnCC,KAAMN,EAAKM,KACXC,QAAS,IAAOzC,KAAKG,YAAcsB,EACnCiB,QAAS,IAAM1C,KAAK0B,kBACpBiB,QAAUtC,GAAMuC,EAAqBvC,EAAGL,KAAK0B,gBAAgBmB,KAAK7C,QAEjEkC,EAAKK,OAEJ,I","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as o,H as r,d as a}from"./p-BcDWN4F1.js";import{r as s}from"./p-DPrEzmhI.js";import"./p-acd3b237.entry.js";import"./p-d70ab97a.entry.js";import"./p-DdetsoIY.js";import"./p-Q-tWjk7P.js";const l=()=>`:host{position:relative;display:grid;width:100%;box-sizing:border-box;grid-auto-flow:column;grid-template-columns:var(--z-table--expand-button-size, 0) repeat(var(--columns), minmax(128px, 1fr));--columns:1}*{box-sizing:border-box}:host([expandable]){--show-expandable-button:visible;cursor:pointer}:host([expandable]) ::slotted(*){grid-row:1}:host([expandable]) ::slotted(:nth-last-child(2)){border-right:none}:host([expandable]) ::slotted(*:last-child){border-top:var(--border-size-small) solid var(--color-surface03);border-left:0;grid-column:1 / span calc(var(--columns) + 1);grid-row:2}:host([expandable]:not([expanded])) ::slotted(*:last-child){display:none}:host([expanded]){margin-bottom:4px;box-shadow:0 4px 4px -2px var(--shadow-color-base)}:host([expanded]) .z-tr--expand-button-container,:host([expanded]) ::slotted(*){border-left:0 !important;background-color:var(--color-background)}:host([tabIndex]:hover) ::slotted(z-td),:host([tabIndex]:hover) ::slotted(z-th),:host([tabIndex]:hover) .z-tr--expand-button-container{background-color:var(--color-surface02)}:host([tabIndex]:hover) .z-tr--focus-overlay{border-top:var(--border-size-small) solid var(--color-surface04);border-bottom:var(--border-size-small) solid var(--color-surface04)}:host(:focus){position:relative;z-index:20;border:none !important;box-shadow:var(--shadow-focus-primary);outline:none}.z-tr--expand-button-container{display:flex;align-items:center;justify-content:center;background-color:var(--z-table--cells-background, var(--color-surface01))}.z-tr--expand-button-container button{display:flex;align-items:center;justify-content:center;padding:0;border:none;margin:auto;appearance:none;background:transparent;cursor:pointer;visibility:var(--show-expandable-button, hidden)}.z-tr--expand-button-container button z-icon{--z-icon-width:16px;--z-icon-height:16px}.z-tr--focus-overlay{position:absolute;z-index:30;top:calc(var(--border-size-small) * -1);bottom:0;left:0;width:100%;height:calc(100% + (var(--border-size-small) * 2));box-shadow:none;outline:none;pointer-events:none;transition:box-shadow 0.2s}:host(:focus) .z-tr--focus-overlay{box-shadow:0 0 0 2px var(--shadow-focus-primary), var(--shadow-focus-primary);outline:none}:host(:focus) ::slotted(*){border-bottom:none}:host(:focus) .z-tr--expand-button-container{border-bottom:none}`;const n=()=>`z-table,table.z-table{background-color:var(--color-surface01);--z-table--cells-padding:calc(var(--space-unit) * 2)}table.z-table{border-collapse:collapse}z-thead,table.z-table thead{background-color:var(--color-background);--z-table--cells-bottom-border-size:var(--border-size-medium)}z-tfoot,table.z-table tfoot{border-top:var(--border-size-medium) solid var(--color-surface03);border-bottom:var(--border-size-medium) solid var(--color-surface03)}z-tfoot z-tr,table.z-table tfoot tr{border-bottom:calc(var(--z-table--cells-bottom-border-size)) solid var(--color-surface03) !important}z-tr,table.z-table tr{border-bottom:var(--z-table--cells-bottom-border-size, var(--border-size-small)) solid var(--color-surface03)}z-td,z-th,table.z-table td,table.z-table th{padding:var(--z-table--cells-padding, calc(var(--space-unit) * 2));text-align:left}z-th:not(:first-child),z-td:not(:first-child),table.z-table th:not(:first-child),table.z-table td:not(:first-child){border-left:var(--z-table--cell-left-border, none)}z-table[bordered],table.z-table.z-table-bordered{--z-table--cell-left-border:1px solid var(--color-surface03)}table.z-table-hover>tbody>tr:hover>td,table.z-table-hover>tfoot>tr:hover>td{position:relative;background-color:var(--color-surface02)}table.z-table-hover>tbody>tr:hover>td::after,table.z-table-hover>tfoot>tr:hover>td::after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:-1px;box-shadow:inset 0 var(--border-size-small) 0 var(--color-surface04), inset 0 calc(var(--border-size-small) * -1) 0 var(--color-surface04);content:""}table.z-table-hover>tbody>tr:hover>td:first-child::after,table.z-table-hover>thead>tr:hover>th:first-child::after,table.z-table-hover>tfoot>tr:hover>td:first-child::after{left:0}`;const d=class{constructor(o){t(this,o);this.expand=e(this,"expand",7);this.expandable=false;this.expanded=false}updateColumns(){const t=Array.from(this.host.querySelectorAll("z-td, z-th"));if(this.expandable){const e=t.pop();e.id=e.id||`z-tr-expandable-content-${s()}`;this.expandableContentId=e.id}const e=t.map((t=>t.colspan||1)).reduce(((t,e)=>t+e),0);this.host.style.setProperty("--columns",`${e}`)}onRowClick(t){const e=t.target.closest(".prevent-expand");if(!this.expandable||e){return}this.expanded=!this.expanded;this.expand.emit({expanded:this.expanded})}onKeyDown(t){if(!this.expandable){return}const e=document.activeElement;if(e!==this.host){return}if(t.key==="Enter"||t.key===" "){t.preventDefault();this.expanded=!this.expanded;this.expand.emit({expanded:this.expanded})}}componentWillLoad(){this.updateColumns()}render(){return o(r,{key:"80423ab104796d4bc50e3dbeafd26a417a41594e",role:"row",tabIndex:this.expandable?0:undefined,expanded:this.expanded,onClick:this.onRowClick.bind(this),onKeyDown:this.onKeyDown.bind(this)},o("div",{key:"d0ec5fa359865b1eb486d21a478f82b61a10bf18",class:"z-tr--focus-overlay","aria-hidden":"true"}),o("div",{key:"e1f4114f91e1ff59c0ff4b4880b74bceb1702cba",class:"z-tr--expand-button-container"},this.expandable&&o("button",{key:"bef3c43e06a20de50f2aacf88b6c80fc4822403a",tabIndex:-1,"aria-expanded":this.expanded?"true":"false","aria-label":this.expanded?"Comprimi riga":"Espandi riga","aria-controls":this.expandableContentId,type:"button"},o("z-icon",{key:"803c8640aacbd34ba3de287f519d934cb9d974ca",name:this.expanded?"minus-circled":"plus-circled"}))),o("slot",{key:"bf8e10753f600ad984a06a710d19680e52507ab2",onSlotchange:this.updateColumns.bind(this)}))}get host(){return a(this)}static get watchers(){return{expandable:[{updateColumns:0}]}}};d.style=l()+n();export{d as z_tr};
|
|
2
|
-
//# sourceMappingURL=p-2f8bd98f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZTr","constructor","hostRef","this","expandable","expanded","updateColumns","cells","Array","from","host","querySelectorAll","expandableContent","pop","id","randomId","expandableContentId","columns","map","cell","colspan","reduce","a","b","style","setProperty","onRowClick","event","preventExpand","target","closest","expand","emit","onKeyDown","active","document","activeElement","key","preventDefault","componentWillLoad","render","h","Host","role","tabIndex","undefined","onClick","bind","class","type","name","onSlotchange"],"sources":["src/components/deprecated/table/z-tr/styles.css?tag=z-tr&encapsulation=shadow","src/components/css-components/z-table/styles.css?tag=z-tr&encapsulation=shadow","src/components/deprecated/table/z-tr/index.tsx"],"sourcesContent":[":host {\n position: relative;\n display: grid;\n width: 100%;\n box-sizing: border-box;\n grid-auto-flow: column;\n grid-template-columns: var(--z-table--expand-button-size, 0) repeat(var(--columns), minmax(128px, 1fr));\n\n --columns: 1;\n}\n\n* {\n box-sizing: border-box;\n}\n\n:host([expandable]) {\n --show-expandable-button: visible;\n\n cursor: pointer;\n}\n\n:host([expandable]) ::slotted(*) {\n grid-row: 1;\n}\n\n:host([expandable]) ::slotted(:nth-last-child(2)) {\n border-right: none;\n}\n\n:host([expandable]) ::slotted(*:last-child) {\n border-top: var(--border-size-small) solid var(--color-surface03);\n border-left: 0;\n grid-column: 1 / span calc(var(--columns) + 1);\n grid-row: 2;\n}\n\n:host([expandable]:not([expanded])) ::slotted(*:last-child) {\n display: none;\n}\n\n:host([expanded]) {\n margin-bottom: 4px; /* prevents shadow to be cut by the next element */\n box-shadow: 0 4px 4px -2px var(--shadow-color-base);\n}\n\n:host([expanded]) .z-tr--expand-button-container,\n:host([expanded]) ::slotted(*) {\n border-left: 0 !important;\n background-color: var(--color-background);\n}\n\n:host([tabIndex]:hover) ::slotted(z-td),\n:host([tabIndex]:hover) ::slotted(z-th),\n:host([tabIndex]:hover) .z-tr--expand-button-container {\n background-color: var(--color-surface02);\n}\n\n:host([tabIndex]:hover) .z-tr--focus-overlay {\n border-top: var(--border-size-small) solid var(--color-surface04);\n border-bottom: var(--border-size-small) solid var(--color-surface04);\n}\n\n:host(:focus) {\n position: relative;\n z-index: 20;\n border: none !important;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.z-tr--expand-button-container {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--z-table--cells-background, var(--color-surface01));\n}\n\n.z-tr--expand-button-container button {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: none;\n margin: auto;\n appearance: none;\n background: transparent;\n cursor: pointer;\n visibility: var(--show-expandable-button, hidden);\n}\n\n.z-tr--expand-button-container button z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n.z-tr--focus-overlay {\n position: absolute;\n z-index: 30;\n top: calc(var(--border-size-small) * -1);\n bottom: 0;\n left: 0;\n width: 100%;\n height: calc(100% + (var(--border-size-small) * 2));\n box-shadow: none;\n outline: none;\n pointer-events: none;\n transition: box-shadow 0.2s;\n}\n\n:host(:focus) .z-tr--focus-overlay {\n box-shadow:\n 0 0 0 2px var(--shadow-focus-primary),\n var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(:focus) ::slotted(*) {\n border-bottom: none;\n}\n\n:host(:focus) .z-tr--expand-button-container {\n border-bottom: none;\n}\n","z-table,\ntable.z-table {\n background-color: var(--color-surface01);\n\n --z-table--cells-padding: calc(var(--space-unit) * 2);\n}\n\ntable.z-table {\n border-collapse: collapse;\n}\n\nz-thead,\ntable.z-table thead {\n background-color: var(--color-background);\n\n --z-table--cells-bottom-border-size: var(--border-size-medium);\n}\n\nz-tfoot,\ntable.z-table tfoot {\n border-top: var(--border-size-medium) solid var(--color-surface03);\n border-bottom: var(--border-size-medium) solid var(--color-surface03);\n}\n\nz-tfoot z-tr,\ntable.z-table tfoot tr {\n border-bottom: calc(var(--z-table--cells-bottom-border-size)) solid var(--color-surface03) !important;\n}\n\nz-tr,\ntable.z-table tr {\n border-bottom: var(--z-table--cells-bottom-border-size, var(--border-size-small)) solid var(--color-surface03);\n}\n\nz-td,\nz-th,\ntable.z-table td,\ntable.z-table th {\n padding: var(--z-table--cells-padding, calc(var(--space-unit) * 2));\n text-align: left;\n}\n\nz-th:not(:first-child),\nz-td:not(:first-child),\ntable.z-table th:not(:first-child),\ntable.z-table td:not(:first-child) {\n border-left: var(--z-table--cell-left-border, none);\n}\n\nz-table[bordered],\ntable.z-table.z-table-bordered {\n --z-table--cell-left-border: 1px solid var(--color-surface03);\n}\n\ntable.z-table-hover > tbody > tr:hover > td,\ntable.z-table-hover > tfoot > tr:hover > td {\n position: relative;\n background-color: var(--color-surface02);\n}\n\ntable.z-table-hover > tbody > tr:hover > td::after,\ntable.z-table-hover > tfoot > tr:hover > td::after {\n position: absolute;\n z-index: 1;\n top: 0;\n right: 0;\n bottom: 0;\n left: -1px;\n box-shadow:\n inset 0 var(--border-size-small) 0 var(--color-surface04),\n inset 0 calc(var(--border-size-small) * -1) 0 var(--color-surface04);\n content: \"\";\n}\n\ntable.z-table-hover > tbody > tr:hover > td:first-child::after,\ntable.z-table-hover > thead > tr:hover > th:first-child::after,\ntable.z-table-hover > tfoot > tr:hover > td:first-child::after {\n left: 0;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {randomId} from \"../../../../utils/utils\";\nimport \"../cells/z-td/index\";\nimport \"../cells/z-th/index\";\n\n/**\n * ZTr component.\n * When the row is `expandable`, you can set the `prevent-expand` css class on an interactive element inside the row\n * to prevent the row from expanding.\n * @slot - ZTr content (`z-td` or `z-th`).\n */\n@Component({\n tag: \"z-tr\",\n styleUrls: [\"styles.css\", \"../../../css-components/z-table/styles.css\"],\n shadow: true,\n})\nexport class ZTr implements ComponentInterface {\n @Element() host: HTMLZTrElement;\n\n /**\n * Whether the row is expandable.\n * Use a `z-td` as the last cell of the row for the additional content.\n * It will show a button to expand/collapse the row.\n * The last cell will be hidden until the button or row is clicked.\n *\n * If some element inside the expandable row contains the `prevent-expand` css class,\n * the row will not expand by clicking that element.\n */\n @Prop({reflect: true})\n expandable = false;\n\n /**\n * Whether the row is currently expanded.\n */\n @State()\n expanded = false;\n\n /**\n * HTML Id of the expandable content.\n * It is used to link the button to the content through the `aria-controls` attribute.\n */\n @State()\n expandableContentId: string;\n\n /** Row has been expanded */\n @Event()\n expand: EventEmitter;\n\n @Watch(\"expandable\")\n @Listen(\"colspanchange\")\n protected updateColumns(): void {\n const cells = Array.from(this.host.querySelectorAll<HTMLZTdElement | HTMLZThElement>(\"z-td, z-th\"));\n\n if (this.expandable) {\n const expandableContent = cells.pop();\n expandableContent.id = expandableContent.id || `z-tr-expandable-content-${randomId()}`;\n this.expandableContentId = expandableContent.id;\n }\n\n const columns = cells.map((cell) => cell.colspan || 1).reduce((a, b) => a + b, 0);\n this.host.style.setProperty(\"--columns\", `${columns}`);\n }\n\n /**\n * Handle click on row.\n * Skip expansion if the click is on a element with `prevent-expand` css class.\n */\n private onRowClick(event: MouseEvent): void {\n const preventExpand = (event.target as HTMLElement).closest(\".prevent-expand\");\n if (!this.expandable || preventExpand) {\n return;\n }\n\n this.expanded = !this.expanded;\n this.expand.emit({expanded: this.expanded});\n }\n\n private onKeyDown(event: KeyboardEvent): void {\n if (!this.expandable) {\n return;\n }\n\n const active = document.activeElement;\n if (active !== this.host) {\n return;\n }\n\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n this.expanded = !this.expanded;\n this.expand.emit({expanded: this.expanded});\n }\n }\n\n componentWillLoad(): void {\n this.updateColumns();\n }\n\n render(): HTMLZTrElement {\n return (\n <Host\n role=\"row\"\n tabIndex={this.expandable ? 0 : undefined}\n expanded={this.expanded}\n onClick={this.onRowClick.bind(this)}\n onKeyDown={this.onKeyDown.bind(this)}\n >\n <div\n class=\"z-tr--focus-overlay\"\n aria-hidden=\"true\"\n ></div>\n <div class=\"z-tr--expand-button-container\">\n {this.expandable && (\n <button\n tabIndex={-1}\n aria-expanded={this.expanded ? \"true\" : \"false\"}\n aria-label={this.expanded ? \"Comprimi riga\" : \"Espandi riga\"}\n aria-controls={this.expandableContentId}\n type=\"button\"\n >\n <z-icon name={this.expanded ? \"minus-circled\" : \"plus-circled\"}></z-icon>\n </button>\n )}\n </div>\n <slot onSlotchange={this.updateColumns.bind(this)}></slot>\n </Host>\n );\n }\n}\n"],"mappings":"gNAAA,MAAMA,EAAY,IAAM,2xECAxB,MAAMA,EAAY,IAAM,6sD,MC4BXC,EAAG,MALhB,WAAAC,CAAAC,G,yCAkBEC,KAAAC,WAAa,MAMbD,KAAAE,SAAW,KA6FZ,CA9EW,aAAAC,GACR,MAAMC,EAAQC,MAAMC,KAAKN,KAAKO,KAAKC,iBAAkD,eAErF,GAAIR,KAAKC,WAAY,CACnB,MAAMQ,EAAoBL,EAAMM,MAChCD,EAAkBE,GAAKF,EAAkBE,IAAM,2BAA2BC,MAC1EZ,KAAKa,oBAAsBJ,EAAkBE,E,CAG/C,MAAMG,EAAUV,EAAMW,KAAKC,GAASA,EAAKC,SAAW,IAAGC,QAAO,CAACC,EAAGC,IAAMD,EAAIC,GAAG,GAC/EpB,KAAKO,KAAKc,MAAMC,YAAY,YAAa,GAAGR,I,CAOtC,UAAAS,CAAWC,GACjB,MAAMC,EAAiBD,EAAME,OAAuBC,QAAQ,mBAC5D,IAAK3B,KAAKC,YAAcwB,EAAe,CACrC,M,CAGFzB,KAAKE,UAAYF,KAAKE,SACtBF,KAAK4B,OAAOC,KAAK,CAAC3B,SAAUF,KAAKE,U,CAG3B,SAAA4B,CAAUN,GAChB,IAAKxB,KAAKC,WAAY,CACpB,M,CAGF,MAAM8B,EAASC,SAASC,cACxB,GAAIF,IAAW/B,KAAKO,KAAM,CACxB,M,CAGF,GAAIiB,EAAMU,MAAQ,SAAWV,EAAMU,MAAQ,IAAK,CAC9CV,EAAMW,iBACNnC,KAAKE,UAAYF,KAAKE,SACtBF,KAAK4B,OAAOC,KAAK,CAAC3B,SAAUF,KAAKE,U,EAIrC,iBAAAkC,GACEpC,KAAKG,e,CAGP,MAAAkC,GACE,OACEC,EAACC,EAAI,CAAAL,IAAA,2CACHM,KAAK,MACLC,SAAUzC,KAAKC,WAAa,EAAIyC,UAChCxC,SAAUF,KAAKE,SACfyC,QAAS3C,KAAKuB,WAAWqB,KAAK5C,MAC9B8B,UAAW9B,KAAK8B,UAAUc,KAAK5C,OAE/BsC,EAAA,OAAAJ,IAAA,2CACEW,MAAM,sBAAqB,cACf,SAEdP,EAAA,OAAAJ,IAAA,2CAAKW,MAAM,iCACR7C,KAAKC,YACJqC,EAAA,UAAAJ,IAAA,2CACEO,UAAU,EAAE,gBACGzC,KAAKE,SAAW,OAAS,QAAO,aACnCF,KAAKE,SAAW,gBAAkB,eAAc,gBAC7CF,KAAKa,oBACpBiC,KAAK,UAELR,EAAA,UAAAJ,IAAA,2CAAQa,KAAM/C,KAAKE,SAAW,gBAAkB,mBAItDoC,EAAA,QAAAJ,IAAA,2CAAMc,aAAchD,KAAKG,cAAcyC,KAAK5C,Q","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,h as e,H as t,d as o}from"./p-BcDWN4F1.js";const r=()=>`:host,*{box-sizing:border-box}:host{display:flex;overflow:hidden;min-width:0;min-height:11.125rem;padding:var(--space-unit);border:var(--border-size-medium) solid var(--color-surface02);background-color:var(--color-surface01);border-radius:var(--border-size-large);cursor:pointer;font-family:var(--font-family-sans);gap:calc(var(--space-unit) * 2)}z-book-cover{--z-book-cover-stack-shift-x:6px;--z-book-cover-stack-shift-y:8px;--z-book-cover-height:158px;--z-book-cover-border-radius:0}.info-container{display:flex;overflow:hidden;min-width:0;flex:1;flex-direction:column}.authors-label{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);text-overflow:ellipsis;white-space:nowrap}.card-title{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:2;line-clamp:2;line-height:1.5;word-break:break-word}.card-subtitle{overflow:hidden;color:var(--color-default-text);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.tags-container{display:flex;max-width:100%;flex-wrap:wrap;margin-top:calc(var(--space-unit) * 2);gap:var(--space-unit)}.volumes-label{display:flex;flex-grow:1;align-items:end;color:var(--color-default-text);font-size:var(--font-size-1)}:host(.info-card){height:5rem;gap:calc(var(--space-unit) * 1.5)}:host(.info-card) .info-icon-container{display:flex;align-items:center;align-self:flex-start;justify-content:center;padding:var(--space-unit);margin-bottom:calc(var(--space-unit) * 3);background-color:var(--gray50);border-radius:var(--border-size-large)}:host(.info-card) .info-icon{--z-icon-width:1.125rem;--z-icon-height:1.125rem;fill:var(--color-default-icon)}:host(.info-card) .card-title{display:-webkit-box;overflow:hidden;min-width:0;max-width:100%;max-height:2.4em;margin-top:0;margin-bottom:calc(var(--space-unit) / 2);-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:1;line-clamp:1;line-height:1.2;word-break:break-word}:host(.info-card) .card-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;white-space:normal;word-break:break-word}@media (max-width: 767px){.card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.4;word-break:break-word}}`;const a=class{constructor(o){i(this,o);this.hasMultipleCovers=false;this.isInfoCard=false;this.resizeHandler=()=>{this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)};this.renderTitle=()=>{const i=this.titleHtmlTag||"div";return e(i,{class:"card-title",ref:i=>this.titleRef=i},this.cardTitle)};this.renderSubtitle=()=>e("span",{class:"card-subtitle",ref:i=>this.subtitleRef=i},this.cardSubtitle);this.renderOperaCard=()=>e(t,null,e("z-book-cover",{cover:this.cover,coverAlt:this.coverAlt,fallbackCover:this.fallbackCover,multiple:this.hasMultipleCovers,bordered:true}),e("div",{class:"info-container"},this.authors&&e("span",{class:"authors-label",ref:i=>this.authorsRef=i},this.authors),this.renderTitle(),this.renderSubtitle(),e("div",{class:"tags-container"},e("slot",{name:"tags"})),e("div",{class:"volumes-label"},e("slot",{name:"volumes"}))));this.renderInfoCard=()=>e(t,{class:"info-card"},e("div",{class:"info-icon-container"},e("z-icon",{class:"info-icon",name:"link"})),e("div",{class:"info-container"},this.renderTitle(),this.renderSubtitle()))}setTooltipTitle(i){if(!i){return}const e=window.getComputedStyle(i);const t=e.getPropertyValue("-webkit-line-clamp")!=="none";let o;if(t){const t=parseInt(e.lineHeight);const r=parseInt(e.getPropertyValue("-webkit-line-clamp"));const a=t*r;o=i.scrollHeight>a}else{o=i.scrollWidth>i.clientWidth||i.scrollHeight>i.clientHeight}if(o){i.setAttribute("title",i.textContent.trim())}else{i.removeAttribute("title")}}componentDidRender(){this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)}componentDidLoad(){window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}render(){return this.isInfoCard?this.renderInfoCard():this.renderOperaCard()}get hostElement(){return o(this)}};a.style=r();export{a as z_result_card};
|
|
2
|
-
//# sourceMappingURL=p-315ca31f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZResultCard","constructor","hostRef","this","hasMultipleCovers","isInfoCard","resizeHandler","setTooltipTitle","authorsRef","titleRef","subtitleRef","renderTitle","TitleTag","titleHtmlTag","h","class","ref","el","cardTitle","renderSubtitle","cardSubtitle","renderOperaCard","Host","cover","coverAlt","fallbackCover","multiple","bordered","authors","name","renderInfoCard","style","window","getComputedStyle","hasLineClamp","getPropertyValue","isTruncated","lineHeight","parseInt","maxLines","maxHeight","scrollHeight","scrollWidth","clientWidth","clientHeight","setAttribute","textContent","trim","removeAttribute","componentDidRender","componentDidLoad","addEventListener","disconnectedCallback","removeEventListener","render"],"sources":["src/components/z-result-card/styles.css?tag=z-result-card&encapsulation=shadow","src/components/z-result-card/index.tsx"],"sourcesContent":[":host,\n* {\n box-sizing: border-box;\n}\n\n:host {\n display: flex;\n overflow: hidden;\n min-width: 0;\n min-height: 11.125rem;\n padding: var(--space-unit);\n border: var(--border-size-medium) solid var(--color-surface02);\n background-color: var(--color-surface01);\n border-radius: var(--border-size-large);\n cursor: pointer;\n font-family: var(--font-family-sans);\n gap: calc(var(--space-unit) * 2);\n}\n\nz-book-cover {\n --z-book-cover-stack-shift-x: 6px;\n --z-book-cover-stack-shift-y: 8px;\n --z-book-cover-height: 158px;\n --z-book-cover-border-radius: 0;\n}\n\n.info-container {\n display: flex;\n overflow: hidden;\n min-width: 0;\n flex: 1;\n flex-direction: column;\n}\n\n.authors-label {\n overflow: hidden;\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-title {\n display: -webkit-box;\n overflow: hidden;\n margin: 0;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.card-subtitle {\n overflow: hidden;\n color: var(--color-default-text);\n line-height: 1.4;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.tags-container {\n display: flex;\n max-width: 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--space-unit) * 2);\n gap: var(--space-unit);\n}\n\n.volumes-label {\n display: flex;\n flex-grow: 1;\n align-items: end;\n color: var(--color-default-text);\n font-size: var(--font-size-1);\n}\n\n/* info-card */\n:host(.info-card) {\n height: 5rem;\n gap: calc(var(--space-unit) * 1.5);\n}\n\n:host(.info-card) .info-icon-container {\n display: flex;\n align-items: center;\n align-self: flex-start;\n justify-content: center;\n padding: var(--space-unit);\n margin-bottom: calc(var(--space-unit) * 3);\n background-color: var(--gray50);\n border-radius: var(--border-size-large);\n}\n\n:host(.info-card) .info-icon {\n --z-icon-width: 1.125rem;\n --z-icon-height: 1.125rem;\n\n fill: var(--color-default-icon);\n}\n\n:host(.info-card) .card-title {\n display: -webkit-box;\n overflow: hidden;\n min-width: 0;\n max-width: 100%;\n max-height: 2.4em;\n margin-top: 0;\n margin-bottom: calc(var(--space-unit) / 2);\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 1;\n line-clamp: 1;\n line-height: 1.2;\n word-break: break-word;\n}\n\n:host(.info-card) .card-subtitle {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.2;\n white-space: normal;\n word-break: break-word;\n}\n\n@media (max-width: 767px) {\n .card-title {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.4;\n word-break: break-word;\n }\n}\n","import {Component, ComponentInterface, Element, Host, Prop, h} from \"@stencil/core\";\n\n/**\n * @slot tags - slot containing the descriptors for the opera variant\n * @slot volumes - slot containing the volume count to be displayed in the opera variant\n */\n@Component({\n tag: \"z-result-card\",\n styleUrls: [\"styles.css\"],\n shadow: true,\n})\nexport class ZResultCard implements ComponentInterface {\n @Element() hostElement: HTMLZResultCardElement;\n\n /** The title of the card. */\n @Prop()\n cardTitle: string;\n\n /** The subtitle of the card. */\n @Prop()\n cardSubtitle: string;\n\n /** The authors of the opera. */\n @Prop()\n authors?: string;\n\n /** The URL of the cover image of the opera. */\n @Prop()\n cover?: string;\n\n /** [optional] Fallback cover URL. */\n @Prop()\n fallbackCover?: string;\n\n /** [optional] Alt text for the cover image. When provided, the image is exposed to assistive technologies. */\n @Prop()\n coverAlt?: string;\n\n /** Whether to show a stack of covers to represent multiple books. */\n @Prop()\n hasMultipleCovers = false;\n\n /** Enables the \"info\" variant of the card. */\n @Prop()\n isInfoCard = false;\n\n /** [optional] Set a specific heading level as html tag for the title. */\n @Prop()\n titleHtmlTag?: string;\n\n private authorsRef: HTMLElement;\n\n private titleRef: HTMLElement;\n\n private subtitleRef: HTMLElement;\n\n private setTooltipTitle(el: HTMLElement): void {\n if (!el) {\n return;\n }\n\n // Check if element uses line-clamp\n const style = window.getComputedStyle(el);\n const hasLineClamp = style.getPropertyValue(\"-webkit-line-clamp\") !== \"none\";\n\n let isTruncated;\n if (hasLineClamp) {\n // For elements with line-clamp, check if content height exceeds line-clamp height\n const lineHeight = parseInt(style.lineHeight);\n const maxLines = parseInt(style.getPropertyValue(\"-webkit-line-clamp\"));\n const maxHeight = lineHeight * maxLines;\n\n isTruncated = el.scrollHeight > maxHeight;\n } else {\n // Original check for elements without line-clamp\n isTruncated = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;\n }\n\n if (isTruncated) {\n el.setAttribute(\"title\", el.textContent.trim());\n } else {\n el.removeAttribute(\"title\");\n }\n }\n\n componentDidRender(): void {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n }\n\n private resizeHandler = (): void => {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n };\n\n componentDidLoad(): void {\n window.addEventListener(\"resize\", this.resizeHandler);\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"resize\", this.resizeHandler);\n }\n\n private renderTitle = (): HTMLElement => {\n const TitleTag = this.titleHtmlTag || \"div\";\n\n return (\n <TitleTag\n class=\"card-title\"\n ref={(el) => (this.titleRef = el as HTMLElement)}\n >\n {this.cardTitle}\n </TitleTag>\n );\n };\n\n private renderSubtitle = (): HTMLSpanElement => {\n return (\n <span\n class=\"card-subtitle\"\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n );\n };\n\n private renderOperaCard = (): HTMLZResultCardElement => {\n return (\n <Host>\n <z-book-cover\n cover={this.cover}\n coverAlt={this.coverAlt}\n fallbackCover={this.fallbackCover}\n multiple={this.hasMultipleCovers}\n bordered={true}\n ></z-book-cover>\n <div class=\"info-container\">\n {this.authors && (\n <span\n class=\"authors-label\"\n ref={(el) => (this.authorsRef = el as HTMLElement)}\n >\n {this.authors}\n </span>\n )}\n {this.renderTitle()}\n {this.renderSubtitle()}\n <div class=\"tags-container\">\n <slot name=\"tags\"></slot>\n </div>\n <div class=\"volumes-label\">\n <slot name=\"volumes\"></slot>\n </div>\n </div>\n </Host>\n );\n };\n\n private renderInfoCard = (): HTMLZResultCardElement => {\n return (\n <Host class=\"info-card\">\n <div class=\"info-icon-container\">\n <z-icon\n class=\"info-icon\"\n name=\"link\"\n />\n </div>\n <div class=\"info-container\">\n {this.renderTitle()}\n {this.renderSubtitle()}\n </div>\n </Host>\n );\n };\n\n render(): HTMLZResultCardElement {\n return this.isInfoCard ? this.renderInfoCard() : this.renderOperaCard();\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAY,IAAM,k3E,MCWXC,EAAW,MALxB,WAAAC,CAAAC,G,UAkCEC,KAAAC,kBAAoB,MAIpBD,KAAAE,WAAa,MA+CLF,KAAAG,cAAgB,KACtBH,KAAKI,gBAAgBJ,KAAKK,YAC1BL,KAAKI,gBAAgBJ,KAAKM,UAC1BN,KAAKI,gBAAgBJ,KAAKO,YAAY,EAWhCP,KAAAQ,YAAc,KACpB,MAAMC,EAAWT,KAAKU,cAAgB,MAEtC,OACEC,EAACF,EAAQ,CACPG,MAAM,aACNC,IAAMC,GAAQd,KAAKM,SAAWQ,GAE7Bd,KAAKe,UACG,EAIPf,KAAAgB,eAAiB,IAErBL,EAAA,QACEC,MAAM,gBACNC,IAAMC,GAAQd,KAAKO,YAAcO,GAEhCd,KAAKiB,cAKJjB,KAAAkB,gBAAkB,IAEtBP,EAACQ,EAAI,KACHR,EAAA,gBACES,MAAOpB,KAAKoB,MACZC,SAAUrB,KAAKqB,SACfC,cAAetB,KAAKsB,cACpBC,SAAUvB,KAAKC,kBACfuB,SAAU,OAEZb,EAAA,OAAKC,MAAM,kBACRZ,KAAKyB,SACJd,EAAA,QACEC,MAAM,gBACNC,IAAMC,GAAQd,KAAKK,WAAaS,GAE/Bd,KAAKyB,SAGTzB,KAAKQ,cACLR,KAAKgB,iBACNL,EAAA,OAAKC,MAAM,kBACTD,EAAA,QAAMe,KAAK,UAEbf,EAAA,OAAKC,MAAM,iBACTD,EAAA,QAAMe,KAAK,eAOb1B,KAAA2B,eAAiB,IAErBhB,EAACQ,EAAI,CAACP,MAAM,aACVD,EAAA,OAAKC,MAAM,uBACTD,EAAA,UACEC,MAAM,YACNc,KAAK,UAGTf,EAAA,OAAKC,MAAM,kBACRZ,KAAKQ,cACLR,KAAKgB,kBASf,CA7HS,eAAAZ,CAAgBU,GACtB,IAAKA,EAAI,CACP,M,CAIF,MAAMc,EAAQC,OAAOC,iBAAiBhB,GACtC,MAAMiB,EAAeH,EAAMI,iBAAiB,wBAA0B,OAEtE,IAAIC,EACJ,GAAIF,EAAc,CAEhB,MAAMG,EAAaC,SAASP,EAAMM,YAClC,MAAME,EAAWD,SAASP,EAAMI,iBAAiB,uBACjD,MAAMK,EAAYH,EAAaE,EAE/BH,EAAcnB,EAAGwB,aAAeD,C,KAC3B,CAELJ,EAAcnB,EAAGyB,YAAczB,EAAG0B,aAAe1B,EAAGwB,aAAexB,EAAG2B,Y,CAGxE,GAAIR,EAAa,CACfnB,EAAG4B,aAAa,QAAS5B,EAAG6B,YAAYC,O,KACnC,CACL9B,EAAG+B,gBAAgB,Q,EAIvB,kBAAAC,GACE9C,KAAKI,gBAAgBJ,KAAKK,YAC1BL,KAAKI,gBAAgBJ,KAAKM,UAC1BN,KAAKI,gBAAgBJ,KAAKO,Y,CAS5B,gBAAAwC,GACElB,OAAOmB,iBAAiB,SAAUhD,KAAKG,c,CAGzC,oBAAA8C,GACEpB,OAAOqB,oBAAoB,SAAUlD,KAAKG,c,CA4E5C,MAAAgD,GACE,OAAOnD,KAAKE,WAAaF,KAAK2B,iBAAmB3B,KAAKkB,iB","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as s,H as o,d as e}from"./p-BcDWN4F1.js";import{g as r}from"./p-DdetsoIY.js";const i=()=>`:host,*{box-sizing:border-box}:host{display:flex;width:fit-content;align-items:center;padding:0;border:var(--border-size-small) solid var(--color-surface03);background-color:var(--color-surface01);border-radius:calc(var(--border-radius) + var(--border-size-small));box-shadow:var(--shadow-4);gap:calc(var(--space-unit) / 2)}::slotted(z-divider){height:calc(var(--space-unit) * 4.5) !important}@media (max-width: 767px){:host{--z-toolbar-columns:6;position:relative;display:grid;max-width:100%;background:repeating-linear-gradient( to bottom, transparent 0, transparent calc(var(--space-unit) * 5.5), var(--color-surface03) calc(var(--space-unit) * 5.5), var(--color-surface03) calc(var(--space-unit) * 5.5 + 1px) ) center / calc(100% - var(--space-unit)) 100% no-repeat var(--color-surface01);gap:var(--border-size-small) calc(var(--space-unit) / 2);grid-template-columns:repeat(var(--z-toolbar-columns, auto-fill), minmax(44px, auto))}::slotted(z-divider){display:none !important}}`;const a=class{constructor(s){t(this,s);this.currentFocusIndex=0;this.toolItems=[]}componentDidLoad(){this.collectToolItems();this.updateTabIndexes();let t=parseInt(getComputedStyle(this.hostElement).getPropertyValue("--z-toolbar-columns")||"6");t=this.toolItems.length<=t?this.toolItems.length:t;this.hostElement.style.setProperty("--z-toolbar-columns",t.toString())}collectToolItems(){this.toolItems=Array.from(this.hostElement.querySelectorAll("z-tool:not(:scope z-tool z-tool)"))}updateTabIndexes(){this.toolItems.forEach(((t,s)=>{t.setTabIndex(s===this.currentFocusIndex?0:-1)}))}focusToolAt(t,s="next"){const o=this.toolItems[t];if(!o){return}this.currentFocusIndex=t;if(!o.disabled){o.setFocus();this.updateTabIndexes();return}if(s==="next"){this.focusNextTool()}else{this.focusPreviousTool()}}focusNextTool(){const t=(this.currentFocusIndex+1)%this.toolItems.length;this.focusToolAt(t)}focusPreviousTool(){const t=(this.currentFocusIndex-1+this.toolItems.length)%this.toolItems.length;this.focusToolAt(t,"previous")}closeSiblingSubmenusOnOpen(t){if(t.detail!==true){return}const s=t.target.closest("z-tool");if(!s||!this.toolItems.includes(s)){return}this.toolItems.forEach((t=>{if(t!==s&&t.open){t.open=false}}))}closeSiblingTooltipsOnOpen(t){if(t.detail!==true){return}const s=t.target;if(!this.toolItems.includes(s)){return}this.toolItems.forEach((t=>{if(t!==s){t.closeTooltip()}}))}handleKeyDown(t){const s=t.target;const o=s.closest("z-tool");if(!o||!this.toolItems.includes(o)){return}const e=this.toolItems.indexOf(o);if(e!==-1){this.currentFocusIndex=e}switch(t.key){case r.ARROW_RIGHT:t.preventDefault();this.focusNextTool();break;case r.ARROW_LEFT:t.preventDefault();this.focusPreviousTool();break}}handleFocusIn(t){const s=t.target;const o=s.closest("z-tool");const e=this.toolItems.indexOf(o);if(e!==-1&&e!==this.currentFocusIndex){this.currentFocusIndex=e;this.updateTabIndexes()}}render(){return s(o,{key:"159c32c5871694f677c1d2693c30c7c1b2ecd17c",role:"toolbar","aria-label":this.htmlAriaLabel},s("slot",{key:"e5c52b5ee6e6d0549b981046fff4d866941b6930",onSlotchange:()=>{this.collectToolItems();this.updateTabIndexes()}}))}get hostElement(){return e(this)}};a.style=i();export{a as z_toolbar};
|
|
2
|
-
//# sourceMappingURL=p-320b05fc.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZToolbar","constructor","hostRef","this","currentFocusIndex","toolItems","componentDidLoad","collectToolItems","updateTabIndexes","mobileColumnCount","parseInt","getComputedStyle","hostElement","getPropertyValue","length","style","setProperty","toString","Array","from","querySelectorAll","forEach","tool","index","setTabIndex","focusToolAt","fallback","disabled","setFocus","focusNextTool","focusPreviousTool","nextIndex","prevIndex","closeSiblingSubmenusOnOpen","event","detail","targetTool","target","closest","includes","open","closeSiblingTooltipsOnOpen","closeTooltip","handleKeyDown","toolElement","focusedIndex","indexOf","key","KeyboardCode","ARROW_RIGHT","preventDefault","ARROW_LEFT","handleFocusIn","render","h","Host","role","htmlAriaLabel","onSlotchange"],"sources":["src/components/z-toolbar/styles.css?tag=z-toolbar&encapsulation=shadow","src/components/z-toolbar/index.tsx"],"sourcesContent":[":host,\n* {\n box-sizing: border-box;\n}\n\n:host {\n /**\n * @prop --z-toolbar-columns: Number of items per row in the toolbar. Only applies on mobile viewport, when the toolbar can be displayed in a multi-row layout. Default: `6`.\n */\n\n display: flex;\n width: fit-content;\n align-items: center;\n padding: 0;\n border: var(--border-size-small) solid var(--color-surface03);\n background-color: var(--color-surface01);\n border-radius: calc(var(--border-radius) + var(--border-size-small)); /* ensure correct radius for nested items */\n box-shadow: var(--shadow-4);\n gap: calc(var(--space-unit) / 2);\n}\n\n::slotted(z-divider) {\n height: calc(var(--space-unit) * 4.5) !important;\n}\n\n@media (max-width: 767px) {\n :host {\n --z-toolbar-columns: 6;\n\n position: relative;\n display: grid;\n max-width: 100%;\n\n /* Draws a horizontal separator line between rows */\n background: repeating-linear-gradient(\n to bottom,\n transparent 0,\n transparent calc(var(--space-unit) * 5.5),\n var(--color-surface03) calc(var(--space-unit) * 5.5),\n var(--color-surface03) calc(var(--space-unit) * 5.5 + 1px)\n )\n center / calc(100% - var(--space-unit)) 100% no-repeat var(--color-surface01);\n gap: var(--border-size-small) calc(var(--space-unit) / 2);\n grid-template-columns: repeat(var(--z-toolbar-columns, auto-fill), minmax(44px, auto));\n }\n\n ::slotted(z-divider) {\n display: none !important;\n }\n}\n","import {Component, ComponentInterface, Element, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\nimport {ZToolCustomEvent} from \"../../components\";\n\n/**\n * ZToolbar component. This component mainly serves as a container for `z-tool` elements, but can also be nested inside a `z-tool` to create submenus.\n * Implements WCAG toolbar pattern with roving tabindex keyboard navigation.\n * Tools can be visually grouped using `z-divider` elements as separators.\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n *\n */\n@Component({\n tag: \"z-toolbar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToolbar implements ComponentInterface {\n @Element() hostElement: HTMLZToolbarElement;\n\n /** Accessible label for the toolbar. */\n @Prop()\n htmlAriaLabel?: string;\n\n /** Index of the currently focusable item (roving tabindex). */\n @State()\n currentFocusIndex = 0;\n\n /** List of focusable tool elements. */\n private toolItems: HTMLZToolElement[] = [];\n\n componentDidLoad(): void {\n this.collectToolItems();\n this.updateTabIndexes();\n // set css variable `--z-toolbar-columns` based on the number of tools in the toolbar, so that the background pattern can adapt to the number of rows\n let mobileColumnCount = parseInt(getComputedStyle(this.hostElement).getPropertyValue(\"--z-toolbar-columns\") || \"6\");\n mobileColumnCount = this.toolItems.length <= mobileColumnCount ? this.toolItems.length : mobileColumnCount;\n this.hostElement.style.setProperty(\"--z-toolbar-columns\", mobileColumnCount.toString());\n }\n\n /** Collect first level children `z-tool` elements in the toolbar (not nested ones). */\n private collectToolItems(): void {\n this.toolItems = Array.from(this.hostElement.querySelectorAll(\"z-tool:not(:scope z-tool z-tool)\"));\n }\n\n /**\n * Update the `tabindex` of all children tools based on the current focus index,\n * so that only the currently focusable tool is in the tab order (tabindex=\"0\") and all others are not focusable via keyboard (tabindex=\"-1\").\n */\n private updateTabIndexes(): void {\n this.toolItems.forEach((tool, index) => {\n tool.setTabIndex(index === this.currentFocusIndex ? 0 : -1);\n });\n }\n\n private focusToolAt(index: number, fallback: \"previous\" | \"next\" = \"next\"): void {\n const tool = this.toolItems[index];\n if (!tool) {\n return;\n }\n\n this.currentFocusIndex = index;\n if (!tool.disabled) {\n tool.setFocus();\n this.updateTabIndexes();\n\n return;\n }\n\n if (fallback === \"next\") {\n this.focusNextTool();\n } else {\n this.focusPreviousTool();\n }\n }\n\n private focusNextTool(): void {\n const nextIndex = (this.currentFocusIndex + 1) % this.toolItems.length;\n this.focusToolAt(nextIndex);\n }\n\n private focusPreviousTool(): void {\n const prevIndex = (this.currentFocusIndex - 1 + this.toolItems.length) % this.toolItems.length;\n this.focusToolAt(prevIndex, \"previous\");\n }\n\n /**\n * Listen for custom \"toggleSubmenu\" events from child tools and close sibling submenus when one is opened,\n * to prevent multiple submenus from being open at the same time.\n */\n @Listen(\"toggleSubmenu\")\n closeSiblingSubmenusOnOpen(event: ZToolCustomEvent<boolean>): void {\n if (event.detail !== true) {\n return;\n }\n\n const targetTool = (event.target as HTMLElement).closest(\"z-tool\") as HTMLZToolElement | null;\n if (!targetTool || !this.toolItems.includes(targetTool)) {\n return;\n }\n\n this.toolItems.forEach((tool) => {\n if (tool !== targetTool && tool.open) {\n tool.open = false;\n }\n });\n }\n\n /**\n * Listen for custom \"toggleTooltip\" events from child tools and close sibling tooltips when one is opened,\n * to prevent multiple tooltips from being open at the same time.\n */\n @Listen(\"toggleTooltip\")\n closeSiblingTooltipsOnOpen(event: ZToolCustomEvent<boolean>): void {\n if (event.detail !== true) {\n return;\n }\n\n const targetTool = event.target;\n if (!this.toolItems.includes(targetTool)) {\n return;\n }\n\n this.toolItems.forEach((tool) => {\n if (tool !== targetTool) {\n tool.closeTooltip();\n }\n });\n }\n\n @Listen(\"keydown\")\n handleKeyDown(event: KeyboardEvent): void {\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n\n if (!toolElement || !this.toolItems.includes(toolElement)) {\n return;\n }\n\n const focusedIndex = this.toolItems.indexOf(toolElement);\n if (focusedIndex !== -1) {\n this.currentFocusIndex = focusedIndex;\n }\n\n switch (event.key) {\n case KeyboardCode.ARROW_RIGHT:\n event.preventDefault();\n this.focusNextTool();\n break;\n case KeyboardCode.ARROW_LEFT:\n event.preventDefault();\n this.focusPreviousTool();\n break;\n }\n }\n\n /**\n * When focus enters the toolbar, update the current focus index to match the focused tool,\n * so that roving tabindex is in sync with actual focus.\n */\n @Listen(\"focusin\")\n handleFocusIn(event: FocusEvent): void {\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n const index = this.toolItems.indexOf(toolElement);\n if (index !== -1 && index !== this.currentFocusIndex) {\n this.currentFocusIndex = index;\n this.updateTabIndexes();\n }\n }\n\n render(): HTMLZToolbarElement {\n return (\n <Host\n role=\"toolbar\"\n aria-label={this.htmlAriaLabel}\n >\n <slot\n onSlotchange={() => {\n this.collectToolItems();\n this.updateTabIndexes();\n }}\n ></slot>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,IAAM,6gC,MCgBXC,EAAQ,MALrB,WAAAC,CAAAC,G,UAcEC,KAAAC,kBAAoB,EAGZD,KAAAE,UAAgC,EA6JzC,CA3JC,gBAAAC,GACEH,KAAKI,mBACLJ,KAAKK,mBAEL,IAAIC,EAAoBC,SAASC,iBAAiBR,KAAKS,aAAaC,iBAAiB,wBAA0B,KAC/GJ,EAAoBN,KAAKE,UAAUS,QAAUL,EAAoBN,KAAKE,UAAUS,OAASL,EACzFN,KAAKS,YAAYG,MAAMC,YAAY,sBAAuBP,EAAkBQ,W,CAItE,gBAAAV,GACNJ,KAAKE,UAAYa,MAAMC,KAAKhB,KAAKS,YAAYQ,iBAAiB,oC,CAOxD,gBAAAZ,GACNL,KAAKE,UAAUgB,SAAQ,CAACC,EAAMC,KAC5BD,EAAKE,YAAYD,IAAUpB,KAAKC,kBAAoB,GAAI,EAAG,G,CAIvD,WAAAqB,CAAYF,EAAeG,EAAgC,QACjE,MAAMJ,EAAOnB,KAAKE,UAAUkB,GAC5B,IAAKD,EAAM,CACT,M,CAGFnB,KAAKC,kBAAoBmB,EACzB,IAAKD,EAAKK,SAAU,CAClBL,EAAKM,WACLzB,KAAKK,mBAEL,M,CAGF,GAAIkB,IAAa,OAAQ,CACvBvB,KAAK0B,e,KACA,CACL1B,KAAK2B,mB,EAID,aAAAD,GACN,MAAME,GAAa5B,KAAKC,kBAAoB,GAAKD,KAAKE,UAAUS,OAChEX,KAAKsB,YAAYM,E,CAGX,iBAAAD,GACN,MAAME,GAAa7B,KAAKC,kBAAoB,EAAID,KAAKE,UAAUS,QAAUX,KAAKE,UAAUS,OACxFX,KAAKsB,YAAYO,EAAW,W,CAQ9B,0BAAAC,CAA2BC,GACzB,GAAIA,EAAMC,SAAW,KAAM,CACzB,M,CAGF,MAAMC,EAAcF,EAAMG,OAAuBC,QAAQ,UACzD,IAAKF,IAAejC,KAAKE,UAAUkC,SAASH,GAAa,CACvD,M,CAGFjC,KAAKE,UAAUgB,SAASC,IACtB,GAAIA,IAASc,GAAcd,EAAKkB,KAAM,CACpClB,EAAKkB,KAAO,K,KAUlB,0BAAAC,CAA2BP,GACzB,GAAIA,EAAMC,SAAW,KAAM,CACzB,M,CAGF,MAAMC,EAAaF,EAAMG,OACzB,IAAKlC,KAAKE,UAAUkC,SAASH,GAAa,CACxC,M,CAGFjC,KAAKE,UAAUgB,SAASC,IACtB,GAAIA,IAASc,EAAY,CACvBd,EAAKoB,c,KAMX,aAAAC,CAAcT,GACZ,MAAMG,EAASH,EAAMG,OACrB,MAAMO,EAAcP,EAAOC,QAAQ,UAEnC,IAAKM,IAAgBzC,KAAKE,UAAUkC,SAASK,GAAc,CACzD,M,CAGF,MAAMC,EAAe1C,KAAKE,UAAUyC,QAAQF,GAC5C,GAAIC,KAAiB,EAAI,CACvB1C,KAAKC,kBAAoByC,C,CAG3B,OAAQX,EAAMa,KACZ,KAAKC,EAAaC,YAChBf,EAAMgB,iBACN/C,KAAK0B,gBACL,MACF,KAAKmB,EAAaG,WAChBjB,EAAMgB,iBACN/C,KAAK2B,oBACL,M,CASN,aAAAsB,CAAclB,GACZ,MAAMG,EAASH,EAAMG,OACrB,MAAMO,EAAcP,EAAOC,QAAQ,UACnC,MAAMf,EAAQpB,KAAKE,UAAUyC,QAAQF,GACrC,GAAIrB,KAAU,GAAMA,IAAUpB,KAAKC,kBAAmB,CACpDD,KAAKC,kBAAoBmB,EACzBpB,KAAKK,kB,EAIT,MAAA6C,GACE,OACEC,EAACC,EAAI,CAAAR,IAAA,2CACHS,KAAK,UAAS,aACFrD,KAAKsD,eAEjBH,EAAA,QAAAP,IAAA,2CACEW,aAAc,KACZvD,KAAKI,mBACLJ,KAAKK,kBAAkB,I","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,H as s,d as o}from"./p-BcDWN4F1.js";import{g as n}from"./p-DdetsoIY.js";import{a}from"./p-DPrEzmhI.js";import"./p-Q-tWjk7P.js";const r=()=>`:host,::slotted(*),*{box-sizing:border-box;outline:none}:host{position:relative;display:inline-flex;height:fit-content;flex-direction:column}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.menu-label{position:relative;display:flex;width:100%;align-items:center;padding:0;border:0;border-bottom:var(--border-size-large) solid transparent;margin:0;background:transparent;border-radius:0;color:inherit;text-align:left}button.menu-label{cursor:pointer}.menu-label:focus-visible,div.menu-label:focus-within{box-shadow:var(--shadow-focus-primary)}:host(:is([active],[open])) .menu-label ::slotted(*),.menu-label:focus-visible ::slotted(*),div.menu-label:focus-within ::slotted(*){color:var(--color-primary01);font-weight:var(--font-bd)}:host([vertical-context]) .menu-label{padding:var(--space-unit) 0;border-width:var(--border-size-small);border-color:var(--color-surface03)}:host(:is([active],[open])) .menu-label,.menu-label:hover,.menu-label:focus-visible,div.menu-label:focus-within{border-color:var(--color-primary01)}:host([vertical-context]:is([active],[open])) .menu-label::after,:host([vertical-context]) .menu-label:hover::after,:host([vertical-context]) .menu-label:focus-visible::after,:host([vertical-context]) div.menu-label:focus-within::after{position:absolute;bottom:calc(var(--border-size-small) * -1);left:0;width:100%;height:var(--border-size-large);background-color:var(--color-primary01);content:""}:host([vertical-context]) .menu-label ::slotted(*){padding:0}.menu-label ::slotted(*){display:inline-flex;width:100%;min-width:fit-content;padding-bottom:2px;margin:0;appearance:none;color:var(--z-menu-label-color, var(--color-default-text));font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:inherit;line-height:1.5;white-space:nowrap}.menu-label z-icon{margin-left:calc(var(--space-unit) * 1.5);fill:var(--color-default-icon)}::slotted([data-text]:not([slot]))::after{height:0;content:attr(data-text);content:attr(data-text) / "";font-weight:var(--font-bd);letter-spacing:normal;pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text]:not([slot]))::after{display:none}}::slotted([data-text]:not([slot])){display:inline-flex;flex-direction:column}.content{background:var(--color-surface01)}:host(:not([open])) .content{display:none}:host([floating]:not([vertical-context])) .content{position:absolute;top:100%;left:0;width:375px;min-width:100%;max-width:100vw;padding:0 calc(var(--space-unit) * 2);box-shadow:var(--shadow-2)}:host(:not([floating])) .content{width:100%}.header{display:flex;align-items:center;padding:var(--space-unit) 0 calc(var(--space-unit) * 2)}.header ::slotted(img[slot="header"]){width:calc(var(--space-unit) * 11.25);height:auto;object-fit:contain}.header ::slotted([slot="header"]:not(:first-child)){margin:auto 0;margin-left:calc(var(--space-unit) * 2.5);font-size:var(--font-size-3);font-weight:var(--font-sb);line-height:1.5}.items{display:flex;flex-direction:column;align-items:flex-start;background:inherit}.items>::slotted([slot="item"]){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.5}.items>::slotted([slot="item"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary)}.items>::slotted([slot="item"]:not(z-menu-section)){padding:var(--space-unit) 0;border-bottom:var(--border-size-small) solid var(--color-surface03)}:host(:not([vertical-context])) .items>::slotted([slot="item"]:last-child){border-bottom:0}.items>::slotted([slot="item"]:hover),.items>::slotted([slot="item"]:focus:focus-visible),.items>::slotted([slot="item"]:active),.items>::slotted([slot="item"][active]),.items>::slotted([slot="item"][data-active]){border-color:var(--color-primary01);font-weight:var(--font-bd)}`;const l=t=>(t===null||t===void 0?void 0:t.tagName)==="Z-MENU-SECTION";const h=class{get focusableItem(){return this.items.find((t=>l(t)?t.htmlTabindex===0:t.tabIndex===0))}toggle(){if(!this.hasContent){return}this.open=!this.open}onLabelSlotChange(t){const i=t.target.assignedElements()[0];i.dataset.text=i===null||i===void 0?void 0:i.textContent;this.setLabelA11yAttrs()}reflow(t=false){if(!this.floating){return}if(this.content&&this.hasContent){const{style:t}=this.content;const{left:i}=this.host.getBoundingClientRect();const e=getComputedStyle(this.content).width;const s=e?parseFloat(e.replace("px","")):375;const o=30;t.left=`${Math.min(window.innerWidth-i-s-o,0)}px`}if(t){this.raf=requestAnimationFrame(this.reflow.bind(this,t))}}checkContent(){this.hasHeader=!!this.host.querySelectorAll("[slot=header]").length;this.hasContent=!!this.host.querySelectorAll("[slot=item]").length||this.hasHeader}setItemTabindex(t,i){if(l(t)){t.htmlTabindex=i}else{t.tabIndex=i}}setItemsA11yAttrs(){this.items.forEach(((t,i)=>{const e=i===0?0:-1;this.setItemTabindex(t,e);if(!l(t)){t.setAttribute("role","menuitem")}}))}onItemsChange(){this.checkContent();this.items=Array.from(this.host.children).filter((({slot:t})=>t==="item"));this.setItemsA11yAttrs();this.items.forEach((t=>{if(!l(t)){t.dataset.text=t.textContent}}))}moveFocus(t,i){if(l(t)){t.setFocus()}else{t.tabIndex=0;setTimeout((()=>{t.focus()}),100)}if(!i){return}this.setItemTabindex(i,-1)}onLabelClick(){this.toggle();this.setFocus()}onLabelKeydown(t){if(t.key===n.ENTER||t.key===n.SPACE){t.preventDefault();t.stopPropagation();this.toggle();if(this.open){this.moveFocus(this.items[0])}return}if(!this.verticalContext){return}if(t.key===n.ARROW_RIGHT&&!this.open){t.preventDefault();t.stopPropagation();this.open=true;this.moveFocus(this.items[0])}}async setFocus(){this.htmlTabindex=0;const t=this.hasContent?this.labelButton:this.host.firstElementChild;t.focus()}async focusLastItem(){const t=this.items[this.items.length-1];if(l(t)&&t.open){t.focusLastItem();return}this.moveFocus(t)}onOpenChanged(){if(!this.open){cancelAnimationFrame(this.raf);this.closed.emit();this.items.forEach((t=>{if(l(t)&&t.open){t.open=false}}));return}this.setItemsA11yAttrs();this.opened.emit();if(this.floating){this.reflow(true)}}setLabelA11yAttrs(){if(this.hasContent&&this.labelButton){this.labelButton.tabIndex=this.htmlTabindex;return}const t=this.host.firstElementChild;t.role="menuitem";t.tabIndex=this.htmlTabindex}onItemClick(t){const i=this.items.find((i=>a(i,t.target)));if(i){this.items.forEach((t=>{if(t===i){return}if(l(t)){t.htmlTabindex=-1}else{t.tabIndex=-1}}))}}onKeyDown(t){var i;if(!this.hasContent){return}switch(t.key){case n.ESC:if(!this.open){break}t.stopPropagation();t.preventDefault();this.open=false;this.setFocus();break;case n.ARROW_DOWN:{if(document.activeElement===this.host){if(this.verticalContext&&!this.open){break}t.stopPropagation();t.preventDefault();if(!this.open){this.open=true}this.moveFocus(this.items[0]);break}const i=this.items.indexOf(this.focusableItem);if(this.verticalContext&&i===this.items.length-1){this.setItemTabindex(this.items[i],-1);this.htmlTabindex=0;break}t.stopPropagation();t.preventDefault();const e=this.items[i+1];this.moveFocus(e!==null&&e!==void 0?e:this.items[0],this.focusableItem);break}case n.ARROW_UP:{if(document.activeElement===this.host){if(this.verticalContext){break}t.stopPropagation();t.preventDefault();if(!this.open){this.open=true}this.moveFocus(this.items[this.items.length-1],this.focusableItem);break}t.stopPropagation();t.preventDefault();const e=this.items.indexOf(this.focusableItem);if(e===0&&this.verticalContext){this.setItemTabindex(this.focusableItem,-1);this.setFocus();break}const s=(i=this.items[e-1])!==null&&i!==void 0?i:this.items[this.items.length-1];if(l(s)&&s.open){this.setItemTabindex(this.focusableItem,-1);s.focusLastItem();break}this.moveFocus(s,this.focusableItem);break}case n.ARROW_LEFT:if(!this.open||!this.verticalContext){break}t.preventDefault();t.stopPropagation();this.open=false;this.setFocus()}}constructor(e){t(this,e);this.opened=i(this,"opened",7);this.closed=i(this,"closed",7);this.floating=true;this.open=false;this.verticalContext=false;this.htmlTabindex=-1;this.items=[];this.toggle=this.toggle.bind(this);this.checkContent=this.checkContent.bind(this);this.onLabelSlotChange=this.onLabelSlotChange.bind(this);this.onLabelClick=this.onLabelClick.bind(this);this.onItemsChange=this.onItemsChange.bind(this);this.onLabelKeydown=this.onLabelKeydown.bind(this)}componentWillLoad(){this.setLabelA11yAttrs();this.onItemsChange()}render(){if(!this.hasContent){return e("div",{class:"menu-label"},e("slot",{onSlotchange:this.onLabelSlotChange}))}return e(s,null,e("button",{ref:t=>this.labelButton=t,class:"menu-label","aria-expanded":`${!!this.open}`,"aria-haspopup":`${this.hasContent}`,"aria-label":this.open?"Chiudi menù":"Apri menù",role:"menuitem",tabIndex:this.htmlTabindex,onClick:this.onLabelClick,onKeyDown:this.onLabelKeydown},e("slot",{onSlotchange:this.onLabelSlotChange}),e("z-icon",{name:this.open?"chevron-up":"chevron-down"})),e("div",{class:"content",ref:t=>this.content=t},this.hasHeader&&e("header",{class:"header"},e("slot",{name:"header",onSlotchange:this.checkContent})),e("div",{class:"items",role:"menu"},e("slot",{name:"item",onSlotchange:this.onItemsChange}))))}get host(){return o(this)}static get watchers(){return{open:[{onOpenChanged:0}],htmlTabindex:[{setLabelA11yAttrs:0}]}}};h.style=r();export{h as z_menu};
|
|
2
|
-
//# sourceMappingURL=p-3a9a120f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","isZMenuSection","el","tagName","ZMenu","focusableItem","this","items","find","item","htmlTabindex","tabIndex","toggle","hasContent","open","onLabelSlotChange","ev","labelElement","target","assignedElements","dataset","text","textContent","setLabelA11yAttrs","reflow","live","floating","content","style","left","host","getBoundingClientRect","widthPx","getComputedStyle","width","parseFloat","replace","safeScrollbarSpace","Math","min","window","innerWidth","raf","requestAnimationFrame","bind","checkContent","hasHeader","querySelectorAll","length","setItemTabindex","setItemsA11yAttrs","forEach","index","tabindex","setAttribute","onItemsChange","Array","from","children","filter","slot","moveFocus","receiver","current","setFocus","setTimeout","focus","onLabelClick","onLabelKeydown","key","KeyboardCode","ENTER","SPACE","preventDefault","stopPropagation","verticalContext","ARROW_RIGHT","label","labelButton","firstElementChild","focusLastItem","lastItem","onOpenChanged","cancelAnimationFrame","closed","emit","opened","slottedLabel","role","onItemClick","clickedItem","containsElement","onKeyDown","ESC","ARROW_DOWN","document","activeElement","currentIndex","indexOf","ARROW_UP","_a","ARROW_LEFT","constructor","hostRef","componentWillLoad","render","h","class","onSlotchange","Host","ref","onClick","name"],"sources":["src/components/z-menu/styles.css?tag=z-menu&encapsulation=shadow","src/components/z-menu/index.tsx"],"sourcesContent":[":host,\n::slotted(*),\n* {\n box-sizing: border-box;\n outline: none;\n}\n\n:host {\n /**\n * @prop --z-menu-label-color: Color of the label's text.\n */\n --z-menu-label-color: ;\n\n position: relative;\n display: inline-flex;\n height: fit-content;\n flex-direction: column;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.menu-label {\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 0;\n border: 0;\n border-bottom: var(--border-size-large) solid transparent;\n margin: 0;\n background: transparent;\n border-radius: 0;\n color: inherit;\n text-align: left;\n}\n\nbutton.menu-label {\n cursor: pointer;\n}\n\n.menu-label:focus-visible,\ndiv.menu-label:focus-within {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host(:is([active], [open])) .menu-label ::slotted(*),\n.menu-label:focus-visible ::slotted(*),\ndiv.menu-label:focus-within ::slotted(*) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n\n:host([vertical-context]) .menu-label {\n padding: var(--space-unit) 0;\n border-width: var(--border-size-small);\n border-color: var(--color-surface03);\n}\n\n:host(:is([active], [open])) .menu-label,\n.menu-label:hover,\n.menu-label:focus-visible,\ndiv.menu-label:focus-within {\n border-color: var(--color-primary01);\n}\n\n:host([vertical-context]:is([active], [open])) .menu-label::after,\n:host([vertical-context]) .menu-label:hover::after,\n:host([vertical-context]) .menu-label:focus-visible::after,\n:host([vertical-context]) div.menu-label:focus-within::after {\n position: absolute;\n bottom: calc(var(--border-size-small) * -1);\n left: 0;\n width: 100%;\n height: var(--border-size-large);\n background-color: var(--color-primary01);\n content: \"\";\n}\n\n:host([vertical-context]) .menu-label ::slotted(*) {\n padding: 0;\n}\n\n.menu-label ::slotted(*) {\n display: inline-flex;\n width: 100%;\n min-width: fit-content;\n padding-bottom: 2px;\n margin: 0;\n appearance: none;\n color: var(--z-menu-label-color, var(--color-default-text));\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: inherit;\n line-height: 1.5;\n white-space: nowrap;\n}\n\n.menu-label z-icon {\n margin-left: calc(var(--space-unit) * 1.5);\n fill: var(--color-default-icon);\n}\n\n/* Prevents layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text]:not([slot]))::after {\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n letter-spacing: normal;\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text]:not([slot]))::after {\n display: none;\n }\n}\n\n::slotted([data-text]:not([slot])) {\n display: inline-flex;\n flex-direction: column;\n}\n\n.content {\n background: var(--color-surface01);\n}\n\n:host(:not([open])) .content {\n display: none;\n}\n\n:host([floating]:not([vertical-context])) .content {\n position: absolute;\n top: 100%;\n left: 0;\n width: 375px;\n min-width: 100%;\n max-width: 100vw;\n padding: 0 calc(var(--space-unit) * 2);\n box-shadow: var(--shadow-2);\n}\n\n:host(:not([floating])) .content {\n width: 100%;\n}\n\n.header {\n display: flex;\n align-items: center;\n padding: var(--space-unit) 0 calc(var(--space-unit) * 2);\n}\n\n.header ::slotted(img[slot=\"header\"]) {\n width: calc(var(--space-unit) * 11.25);\n height: auto;\n object-fit: contain;\n}\n\n.header ::slotted([slot=\"header\"]:not(:first-child)) {\n margin: auto 0;\n margin-left: calc(var(--space-unit) * 2.5);\n font-size: var(--font-size-3);\n font-weight: var(--font-sb);\n line-height: 1.5;\n}\n\n.items {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: inherit;\n}\n\n.items > ::slotted([slot=\"item\"]) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.5;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.items > ::slotted([slot=\"item\"]:not(z-menu-section)) {\n padding: var(--space-unit) 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n}\n\n:host(:not([vertical-context])) .items > ::slotted([slot=\"item\"]:last-child) {\n border-bottom: 0;\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"]:active),\n.items > ::slotted([slot=\"item\"][active]),\n.items > ::slotted([slot=\"item\"][data-active]) {\n border-color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst isZMenuSection = (el: HTMLElement | HTMLZMenuSectionElement): el is HTMLZMenuSectionElement =>\n el?.tagName === \"Z-MENU-SECTION\";\n\n/**\n * @slot - Menu label\n * @slot header - Header to display as the first entry of the open menu.\n * @slot item - Single entry of the section. Can be slotted multiple times to insert items onto the menu. Set the `data-active` HTML attribute on the element to highlight it (`active` also works but `data-active` is preferable). Use `z-menu-section` for submenus.\n */\n@Component({\n tag: \"z-menu\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenu implements ComponentInterface {\n @Element() host: HTMLZMenuElement;\n\n /** Flag to set the active status of the menu. */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Flag to set the display mode of the list.\n * If true, the list will be absolutely positioned under the menu label,\n * stacked beneath it otherwise.\n */\n @Prop({reflect: true})\n floating? = true;\n\n /** The opening state of the menu. */\n @Prop({mutable: true, reflect: true})\n open = false;\n\n /**\n * Tells the component that it's placed in a vertical context with other `ZMenu`s (usually in the ZAppHeader's offcanvas).\n * A small border is placed under it as a separator from other elements.\n */\n @Prop({reflect: true})\n verticalContext = false;\n\n /**\n * Tabindex value to set on the menu label.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZAppHeader).\n */\n @Prop({mutable: true})\n htmlTabindex = -1;\n\n @State()\n hasHeader: boolean;\n\n @State()\n hasContent: boolean;\n\n /** The menu has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The menu has been closed. */\n @Event()\n closed: EventEmitter;\n\n private labelButton: HTMLButtonElement;\n\n private content: HTMLElement;\n\n private items: (HTMLElement | HTMLZMenuSectionElement)[] = [];\n\n /** Animation frame request id. */\n private raf: number;\n\n private get focusableItem(): HTMLZMenuSectionElement | HTMLElement | null {\n return this.items.find((item) => (isZMenuSection(item) ? item.htmlTabindex === 0 : item.tabIndex === 0));\n }\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.textContent;\n this.setLabelA11yAttrs();\n }\n\n /**\n * Correctly set position of the floating menu in order to prevent overflow.\n * @param live Should run the method on every refresh frame.\n */\n private reflow(live = false): void {\n if (!this.floating) {\n return;\n }\n\n if (this.content && this.hasContent) {\n const {style} = this.content;\n const {left} = this.host.getBoundingClientRect();\n const widthPx = getComputedStyle(this.content).width;\n const width = widthPx ? parseFloat(widthPx.replace(\"px\", \"\")) : 375;\n const safeScrollbarSpace = 30;\n style.left = `${Math.min(window.innerWidth - left - width - safeScrollbarSpace, 0)}px`;\n }\n if (live) {\n this.raf = requestAnimationFrame(this.reflow.bind(this, live));\n }\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasHeader = !!this.host.querySelectorAll(\"[slot=header]\").length;\n this.hasContent = !!this.host.querySelectorAll(\"[slot=item]\").length || this.hasHeader;\n }\n\n private setItemTabindex(item: HTMLElement | HTMLZMenuSectionElement, tabIndex: number): void {\n if (isZMenuSection(item)) {\n item.htmlTabindex = tabIndex;\n } else {\n item.tabIndex = tabIndex;\n }\n }\n\n /**\n * Set `menuitem` role to all menu items (ZMenuSection items already have it).\n * Set -1 to the tabindex of the items and 0 to the first one.\n */\n private setItemsA11yAttrs(): void {\n this.items.forEach((item, index) => {\n const tabindex = index === 0 ? 0 : -1;\n this.setItemTabindex(item, tabindex);\n if (!isZMenuSection(item)) {\n item.setAttribute(\"role\", \"menuitem\");\n }\n });\n }\n\n private onItemsChange(): void {\n this.checkContent();\n this.items = Array.from(this.host.children).filter(({slot}) => slot === \"item\") as HTMLElement[];\n this.setItemsA11yAttrs();\n this.items.forEach((item) => {\n if (!isZMenuSection(item)) {\n item.dataset.text = item.textContent;\n }\n });\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n * If the receiver is a ZMenuSection and it's open, focus its first focusable item.\n */\n private moveFocus(\n receiver: HTMLElement | HTMLZMenuSectionElement,\n current?: HTMLElement | HTMLZMenuSectionElement\n ): void {\n if (isZMenuSection(receiver)) {\n receiver.setFocus();\n } else {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n }\n if (!current) {\n return;\n }\n\n this.setItemTabindex(current, -1);\n }\n\n private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.moveFocus(this.items[0]);\n }\n\n return;\n }\n\n if (!this.verticalContext) {\n return;\n }\n\n if (ev.key === KeyboardCode.ARROW_RIGHT && !this.open) {\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.moveFocus(this.items[0]);\n }\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n const label = this.hasContent ? this.labelButton : (this.host.firstElementChild as HTMLElement);\n label.focus();\n }\n\n /**\n * Focus the last item.\n */\n @Method()\n async focusLastItem(): Promise<void> {\n const lastItem = this.items[this.items.length - 1];\n if (isZMenuSection(lastItem) && lastItem.open) {\n lastItem.focusLastItem();\n\n return;\n }\n\n this.moveFocus(lastItem);\n }\n\n @Watch(\"open\")\n onOpenChanged(): void {\n if (!this.open) {\n cancelAnimationFrame(this.raf);\n this.closed.emit();\n this.items.forEach((item) => {\n if (isZMenuSection(item) && item.open) {\n item.open = false;\n }\n });\n\n return;\n }\n\n this.setItemsA11yAttrs();\n this.opened.emit();\n if (this.floating) {\n this.reflow(true);\n }\n }\n\n @Watch(\"htmlTabindex\")\n setLabelA11yAttrs(): void {\n if (this.hasContent && this.labelButton) {\n this.labelButton.tabIndex = this.htmlTabindex;\n\n return;\n }\n\n const slottedLabel = this.host.firstElementChild as HTMLElement;\n slottedLabel.role = \"menuitem\";\n slottedLabel.tabIndex = this.htmlTabindex;\n }\n\n /**\n * Set tabindex to -1 to all siblings of the clicked item.\n */\n @Listen(\"click\", {target: \"document\"})\n onItemClick(ev: MouseEvent): void {\n const clickedItem = this.items.find((item) => containsElement(item, ev.target as HTMLElement));\n if (clickedItem) {\n this.items.forEach((item) => {\n if (item === clickedItem) {\n return;\n }\n\n if (isZMenuSection(item)) {\n item.htmlTabindex = -1;\n } else {\n item.tabIndex = -1;\n }\n });\n }\n }\n\n @Listen(\"keydown\")\n onKeyDown(ev: KeyboardEvent): void {\n if (!this.hasContent) {\n return;\n }\n\n switch (ev.key) {\n case KeyboardCode.ESC:\n if (!this.open) {\n break;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.open = false;\n this.setFocus();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (document.activeElement === this.host) {\n if (this.verticalContext && !this.open) {\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n if (!this.open) {\n this.open = true;\n }\n this.moveFocus(this.items[0]);\n break;\n }\n\n const currentIndex = this.items.indexOf(this.focusableItem);\n if (this.verticalContext && currentIndex === this.items.length - 1) {\n // navigation is going to leave this menu. restore tabindex to the label and let the parent handle it\n this.setItemTabindex(this.items[currentIndex], -1);\n this.htmlTabindex = 0;\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n const receiver = this.items[currentIndex + 1];\n // if the last item is already focused, navigate to the first one\n this.moveFocus(receiver ?? this.items[0], this.focusableItem);\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (document.activeElement === this.host) {\n if (this.verticalContext) {\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n // open the menu and focus the last item\n if (!this.open) {\n this.open = true;\n }\n this.moveFocus(this.items[this.items.length - 1], this.focusableItem);\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n const currentIndex = this.items.indexOf(this.focusableItem);\n if (currentIndex === 0 && this.verticalContext) {\n this.setItemTabindex(this.focusableItem, -1);\n this.setFocus();\n break;\n }\n\n const receiver = this.items[currentIndex - 1] ?? this.items[this.items.length - 1];\n // if the receiver is a ZMenuSection and it's open, focus its last item\n if (isZMenuSection(receiver) && receiver.open) {\n this.setItemTabindex(this.focusableItem, -1);\n receiver.focusLastItem();\n break;\n }\n\n this.moveFocus(receiver, this.focusableItem);\n break;\n }\n case KeyboardCode.ARROW_LEFT:\n if (!this.open || !this.verticalContext) {\n break;\n }\n\n // close the menu and focus the label\n ev.preventDefault();\n ev.stopPropagation();\n this.open = false;\n this.setFocus();\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.checkContent = this.checkContent.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n }\n\n componentWillLoad(): void {\n this.setLabelA11yAttrs();\n this.onItemsChange();\n }\n\n render(): HTMLDivElement | HTMLZMenuElement {\n if (!this.hasContent) {\n return (\n <div class=\"menu-label\">\n <slot onSlotchange={this.onLabelSlotChange} />\n </div>\n );\n }\n\n return (\n <Host>\n <button\n ref={(el) => (this.labelButton = el)}\n class=\"menu-label\"\n aria-expanded={`${!!this.open}`}\n aria-haspopup={`${this.hasContent}`}\n aria-label={this.open ? \"Chiudi menù\" : \"Apri menù\"}\n role=\"menuitem\"\n tabIndex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />\n </button>\n\n <div\n class=\"content\"\n ref={(el) => (this.content = el)}\n >\n {this.hasHeader && (\n <header class=\"header\">\n <slot\n name=\"header\"\n onSlotchange={this.checkContent}\n />\n </header>\n )}\n\n <div\n class=\"items\"\n role=\"menu\"\n >\n <slot\n name=\"item\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|