@zanichelli/albe-web-components 20.0.5 → 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 +22 -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 +73 -39
- 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 +2 -5
- 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 -20
- 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 +3 -4
- 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-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 +73 -39
- 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 +2 -5
- 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/{www/build/p-ea462d53.entry.js → dist/web-components-library/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-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-50d68051.entry.js +0 -2
- package/dist/web-components-library/p-50d68051.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-90613329.entry.js +0 -2
- package/dist/web-components-library/p-90613329.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-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 +0 -2
- 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-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-50d68051.entry.js +0 -2
- package/www/build/p-50d68051.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-90613329.entry.js +0 -2
- package/www/build/p-90613329.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-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-b52a669c.js +0 -2
- 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-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.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","SUPPORT_INTERSECTION_OBSERVER","IntersectionObserver","ZAppHeader","__stencil_proxyCustomElement","HTMLElement","onStuck","scrollParent","this","sticking","emit","_stuck","setMenuFloatingMode","menuElements","length","forEach","element","open","verticalContext","drawerOpen","onStuckChange","container","stuck","_a","stuckIntersecObserver","observe","_b","unobserve","title","hostElement","querySelector","textContent","trim","parent","offsetParent","document","body","documentElement","window","canShowMenu","enableOffcanvas","isMobile","focusableMenu","find","el","htmlTabindex","openDrawer","index","setTimeout","setFocus","closeDrawer","burgerButton","focus","collectMenuElements","Array","from","querySelectorAll","menuLength","menuWidth","reduce","acc","getBoundingClientRect","width","setupMenuResizeObserver","menuResizeObserver","ResizeObserver","entries","containerWidth","contentBoxSize","inlineSize","hasSlot","slotName","moveFocus","current","receiver","onOffcanvasKeydown","ev","key","KeyboardCode","TAB","closestMenu","target","closest","preventDefault","stopPropagation","closeDrawerButton","shiftKey","filter","menu","pop","manageMenus","targetMenu","containsElement","handleKeydown","ESC","some","elem","contains","currentIndex","indexOf","ARROW_RIGHT","ARROW_DOWN","ARROW_LEFT","ARROW_UP","focusLastItem","renderSeachbar","searchPageUrl","isTablet","h","class","variant","ButtonVariant","SECONDARY","href","icon","size","ControlSize","X_SMALL","htmlid","value","searchString","placeholder","searchPlaceholder","htmlAriaLabel","searchLabel","showSearchButton","searchButtonIconOnly","searchButtonLabel","undefined","preventSubmit","onSearchTyping","e","detail","renderSearchLabel","htmlFor","renderProductLogos","Fragment","enableZLogo","alt","name","renderMenuButton","ref","onClick","renderOffcanvas","id","OffCanvasVariant","OVERLAY","transitiondirection","TransitionDirection","RIGHT","onCanvasOpenStatusChanged","onKeyDown","slot","disabled","onSlotchange","renderStuck","enableSearch","constructor","registerHost","entry","isIntersecting","threshold","bind","componentWillLoad","mobileMediaQuery","matchMedia","Breakpoints","MOBILE","matches","addEventListener","tabletMediaQuery","TABLET","componentDidLoad","disconnectedCallback","disconnect","renderTopSubtitle","render","hasTopSubtitle","Host","role"],"sources":["src/components/z-app-header/styles.css?tag=z-app-header&encapsulation=shadow","src/components/z-app-header/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --app-header-content-max-width: Use it to set header's content max width. Useful when the project use a fixed width layout. Defaults to `100%`.\n * @prop --app-header-top-offset: Top offset for the stuck header. Useful when there are other fixed elements above the header. Defaults to `48px` (the height of the main topbar).\n * @prop --app-header-bg: Header background color. Defaults to `--color-surface01`.\n * @prop --app-header-text-color: Header text color. Defaults to `--color-default-text`.\n * @prop --app-header-stucked-bg: Stuck header background color. Defaults to `--color-surface01`.\n * @prop --app-header-stucked-text-color: Stuck header text color. Defaults to `--color-default-text`.\n */\n --app-header-content-max-width: ;\n --app-header-top-offset: ;\n --app-header-bg: ;\n --app-header-text-color: ;\n --app-header-stucked-bg: ;\n --app-header-stucked-text-color: ;\n\n position: relative;\n display: block;\n box-shadow: var(--shadow-2);\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n.heading-panel {\n --title-line-height: 1.333;\n --title-font-size: var(--font-size-6);\n\n position: relative;\n display: flex;\n width: 100%;\n max-width: var(--app-header-content-max-width, 100%);\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 0;\n align-items: baseline;\n padding: var(--space-unit) var(--grid-margin);\n margin: 0 auto;\n background: var(--app-header-bg, var(--color-surface01));\n}\n\n:host(:empty) .heading-panel {\n padding: 0;\n}\n\n.heading-container {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n max-width: 100%;\n flex: 1 auto;\n flex-direction: column;\n justify-content: flex-start;\n}\n\n.heading-panel.has-menubar {\n padding-bottom: 0;\n}\n\n.heading-panel .heading-container {\n flex-direction: column-reverse;\n}\n\n:host([enable-search]) .heading-panel .heading-container {\n flex-direction: column;\n}\n\n:host([enable-search][search-page-url]) .heading-panel .heading-container {\n flex-direction: row;\n}\n\n.heading-title {\n display: flex;\n width: 100%;\n flex-direction: row;\n align-items: flex-end;\n}\n\n.heading-container > .heading-title:not(:last-child) {\n margin-right: var(--space-unit);\n}\n\n.z-logo,\n.search-page-button {\n display: flex;\n height: calc(var(--title-font-size) * var(--title-line-height));\n align-items: center;\n}\n\n.z-logo img {\n height: 24px;\n margin: 0 var(--space-unit) 0 0;\n content: url('data:image/svg+xml,<svg width=\"61\" height=\"32\" viewBox=\"0 0 61 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.9874 32C7.1595 32 0 24.8349 0 16C0 7.16513 7.1595 0 15.9874 0H45.0126C53.8405 0 61 7.16513 61 16C61 24.8349 53.8405 32 45.0126 32H15.9874Z\" fill=\"%23E2011A\"/><path d=\"M58.5435 15.9992C58.5435 23.4743 52.4892 29.5403 45.0129 29.5403C37.5367 29.5403 31.4824 23.4813 31.4824 15.9992C31.4824 8.51701 37.5367 2.45801 45.0129 2.45801C52.4892 2.45801 58.5435 8.51701 58.5435 15.9992Z\" fill=\"white\"/><path d=\"M40.7107 8.01862H49.8976V11.3158L44.139 21.7077H50.0384V24.6457H39.9785V21.4048L45.7371 10.9636H40.7107V8.01862Z\" fill=\"%23E2011A\"/><path d=\"M12.2914 24.6449C10.982 24.6449 10.271 23.8136 10.271 22.6722V7.04565H12.1718V22.9822H13.981V24.6449H12.2914Z\" fill=\"white\"/><path d=\"M25.6461 24.6448C24.2452 24.6448 23.675 23.7853 23.5342 22.6439H23.4145C22.8935 24.1446 21.5841 24.9266 19.8735 24.9266C17.2828 24.9266 15.7622 23.4964 15.7622 21.2137C15.7622 18.931 17.4236 17.6206 20.9928 17.6206H23.4145V16.4088C23.4145 14.6756 22.4641 13.7245 20.5141 13.7245C19.0428 13.7245 18.0642 14.4361 17.4025 15.5563L16.262 14.4854C16.9308 13.175 18.4021 12.0829 20.6126 12.0829C23.5623 12.0829 25.3152 13.6259 25.3152 16.2186V22.9751H26.7162V24.6378H25.6461V24.6448ZM23.4145 21.0799V19.0578H20.8942C18.733 19.0578 17.7545 19.7272 17.7545 20.9108V21.411C17.7545 22.6228 18.7049 23.3132 20.1762 23.3132C22.0558 23.3132 23.4074 22.341 23.4074 21.0799H23.4145Z\" fill=\"white\"/></svg>');\n}\n\n.product-logo {\n display: none;\n}\n\n.product-logo ::slotted([slot=\"product-logo\"]) {\n width: 32px;\n height: 32px;\n margin-right: var(--space-unit);\n}\n\n.product-logo ::slotted([slot=\"product-logo\"]) img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n::slotted([slot=\"title\"]),\n::slotted([slot=\"stucked-title\"]),\n.stucked-title {\n margin: 0;\n color: var(--app-header-text-color, var(--color-default-text));\n font-family: var(--font-family-serif);\n font-weight: var(--font-sb);\n}\n\n::slotted([slot=\"title\"]) {\n display: -webkit-box;\n overflow: hidden;\n align-self: self-end;\n -webkit-box-orient: vertical;\n font-size: var(--title-font-size);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: var(--title-line-height);\n text-overflow: ellipsis;\n}\n\n::slotted(a:is([slot=\"title\"], [slot=\"stucked-title\"])) {\n text-decoration: none;\n}\n\n:host([enable-search]) ::slotted([slot=\"title\"]) + * {\n margin-left: calc(var(--space-unit) * 2);\n}\n\n::slotted([slot=\"top-subtitle\"]) {\n display: -webkit-box;\n overflow: hidden;\n margin: 0;\n -webkit-box-orient: vertical;\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-2);\n font-style: italic;\n font-weight: var(--font-rg);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n}\n\n.search-page-button {\n margin-left: auto;\n}\n\n.menu-container {\n display: flex;\n flex: 1 auto;\n column-gap: calc(var(--space-unit) * 4);\n}\n\n.menu-container:focus:focus-visible {\n outline: none;\n}\n\n:host([menu-length=\"0\"]) .menu-container,\n.menu-container:empty {\n display: none;\n}\n\n.menu-container ::slotted([open]) {\n position: relative;\n z-index: 3;\n}\n\n.menu-container ::slotted([slot=\"menu\"]:not(:last-child))::after {\n position: absolute;\n top: calc(1.5em / 2); /* half the line-height of the label */\n right: calc(var(--space-unit) * -2);\n width: var(--border-size-small);\n height: 1em;\n background-color: var(--color-default-icon);\n content: \"\";\n font-size: var(--font-size-3);\n transform: translateY(-50%);\n}\n\nz-searchbar {\n z-index: 0;\n display: flex;\n width: 100%;\n align-items: center;\n}\n\n.search-slot {\n margin-left: auto;\n}\n\n.search-slot .z-label {\n height: 10px;\n padding-bottom: 0;\n margin-bottom: -3px;\n font-size: 10px;\n line-height: 10px;\n}\n\n.heading-stuck {\n position: fixed;\n z-index: 20;\n top: var(--app-header-top-offset, 48px);\n left: 0;\n width: 100%;\n max-width: 100%;\n animation: slide-stuck-heading-in 250ms ease-out;\n background: var(--app-header-stucked-bg, var(--color-surface01));\n box-shadow: var(--shadow-2);\n color: var(--app-header-stucked-text-color, var(--color-default-text));\n}\n\n.heading-stuck-content {\n display: flex;\n max-width: var(--app-header-content-max-width, 100%);\n align-items: center;\n padding: var(--space-unit) var(--grid-margin);\n margin: 0 auto;\n}\n\n.heading-stuck .heading-title {\n --title-font-size: var(--font-size-5);\n --title-line-height: 1.4;\n\n overflow: hidden;\n align-items: center;\n}\n\n.heading-stuck .stucked-title {\n overflow: hidden;\n font-size: var(--title-font-size);\n line-height: var(--title-line-height);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.drawer-trigger,\n::slotted([slot=\"menu-button\"]) {\n display: flex;\n height: calc(var(--title-font-size) * var(--title-line-height));\n align-items: center;\n padding: 0;\n border: 0;\n margin-right: var(--space-unit);\n appearance: none;\n background: none;\n border-radius: 0;\n color: inherit;\n cursor: pointer;\n outline: none;\n}\n\n.drawer-trigger:focus:focus-visible z-icon {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.drawer-trigger z-icon {\n --z-icon-width: calc(var(--space-unit) * 4);\n --z-icon-height: calc(var(--space-unit) * 4);\n\n fill: var(--color-default-icon);\n}\n\n.drawer-content {\n display: none;\n}\n\nz-offcanvas {\n --z-offcanvas--top-space: var(--app-header-top-offset);\n}\n\nz-offcanvas[open] .drawer-content {\n display: flex;\n width: 100%;\n flex: 1 auto;\n flex-direction: column;\n}\n\nz-offcanvas[open] .drawer-content ::slotted(z-menu) {\n width: 100%;\n}\n\n.drawer-close {\n --z-icon-width: calc(var(--space-unit) * 4);\n --z-icon-height: calc(var(--space-unit) * 4);\n\n padding: 0;\n border: 0;\n margin: var(--space-unit) 0 calc(var(--space-unit) * 2.5);\n appearance: none;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n outline: none;\n}\n\n.drawer-close z-icon {\n fill: var(--color-default-icon);\n}\n\n.drawer-close:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.heading-block {\n display: flex;\n width: 100%;\n flex-direction: column;\n}\n\n@media (max-width: 767px) {\n :host([enable-search]) .heading-panel .heading-container {\n row-gap: calc(var(--space-unit) * 1.5);\n }\n\n :host([enable-offcanvas]:not([menu-length=\"0\"])) .top-subtitle {\n padding-left: calc(var(--space-unit) * 4 + var(--space-unit));\n }\n\n .heading-block > .top-subtitle {\n margin-top: calc(var(--space-unit) * 0.5);\n }\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n .heading-panel {\n --title-font-size: var(--font-size-9);\n }\n\n :host([enable-search][search-page-url]) .heading-panel .heading-container {\n flex-direction: column;\n }\n\n .heading-panel .heading-container {\n flex-direction: column;\n margin-right: auto;\n }\n\n .z-logo img {\n height: 32px;\n }\n\n .product-logo {\n display: flex;\n height: calc(var(--title-font-size) * var(--title-line-height));\n align-items: center;\n }\n\n .has-top-subtitle .z-logo {\n display: none;\n }\n\n z-searchbar {\n height: calc(var(--title-font-size) * var(--title-line-height));\n margin-left: auto;\n }\n\n ::slotted([slot=\"top-subtitle\"]) {\n margin-top: calc(var(--space-unit) * 0.5);\n margin-bottom: calc(var(--space-unit) * -0.5);\n }\n\n .menu-container {\n flex: initial;\n }\n\n .menu-container > [role=\"menubar\"] {\n display: contents;\n }\n\n :host(:not([enable-offcanvas])) .menu-container {\n margin-top: calc((var(--space-unit) * 1.75));\n }\n\n :host(:not([enable-offcanvas])) .heading-container .drawer-trigger {\n display: none;\n }\n\n .heading-stuck .heading-title {\n --title-font-size: var(--font-size-8);\n --title-line-height: 1.5;\n }\n\n .heading-stuck-content {\n padding: 6px var(--grid-margin);\n }\n\n :host(:not([enable-offcanvas], [menu-length=\"0\"])) {\n padding-left: 0;\n }\n}\n\n/* Desktop breakpoint */\n@media (min-width: 1152px) {\n .search-slot {\n height: 53px;\n }\n\n z-searchbar {\n min-width: calc(var(--space-unit) * 45);\n }\n}\n\n@keyframes slide-stuck-heading-in {\n 0% {\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n transform: none;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Fragment,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ButtonVariant, ControlSize, KeyboardCode, OffCanvasVariant, TransitionDirection} from \"../../beans\";\nimport {Breakpoints} from \"../../constants/breakpoints\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst SUPPORT_INTERSECTION_OBSERVER = typeof IntersectionObserver !== \"undefined\";\n\n/**\n * @slot menu-button - Slot for a custom menu button. It will replace the default burger icon.\n * @slot title - Slot for the main title\n * @slot top-subtitle - Slot for the top subtitle. It will not appear in stuck header.\n * @slot stucked-title - Title for the stuck header. By default it uses the text from the `title` slot.\n * @slot product-logo - To insert the product logo, it should be used with an img tag.\n */\n@Component({\n tag: \"z-app-header\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZAppHeader implements ComponentInterface {\n @Element() hostElement: HTMLZAppHeaderElement;\n\n /**\n * Stuck mode for the header.\n * You can programmatically set it using an IntersectionObserver.\n */\n @Prop({reflect: true})\n stuck = false;\n\n /**\n * When enabled, the menu bar is not displayed and a burger icon appears to open the offcanvas menu. Automatically enabled on mobile and when the menu items overflow the container.\n */\n @Prop({reflect: true, mutable: true})\n enableOffcanvas = false;\n\n /**\n * Enable the search bar.\n */\n @Prop({reflect: true})\n enableSearch = false;\n\n /**\n * Visible label for the search bar.\n */\n @Prop()\n searchLabel?: string;\n\n /**\n * Placeholder text for the search bar.\n */\n @Prop()\n searchPlaceholder = \"Cerca\";\n\n /**\n * Label of the search button.\n */\n @Prop()\n searchButtonLabel?: string;\n\n /**\n * Search string for the search bar.\n */\n @Prop({mutable: true})\n searchString = \"\";\n\n /**\n * Url to the search page.\n * Set this prop and `enableSearch` to show a link-button on mobile and tablet viewports, instead of the normal searchbar.\n * The link will also appear on the sticky header.\n */\n @Prop()\n searchPageUrl: string;\n\n /**\n * Enable laZ logo.\n */\n @Prop({reflect: true})\n enableZLogo = true;\n\n /**\n * The opening state of the drawer.\n */\n @Prop({mutable: true})\n drawerOpen = false;\n\n /**\n * Emitted when the `stuck` state of the header changes\n */\n @Event()\n sticking: EventEmitter;\n\n /**\n * The stuck state of the bar.\n */\n @State()\n private _stuck = false;\n\n /**\n * Current count of menu items.\n */\n @State()\n private menuLength: number;\n\n @State()\n private isMobile = true;\n\n @State()\n private isTablet = false;\n\n private container?: HTMLDivElement;\n\n private menuElements: HTMLZMenuElement[] = [];\n\n private menuWidth: number;\n\n private closeDrawerButton: HTMLButtonElement;\n\n private burgerButton: HTMLButtonElement;\n\n private menuResizeObserver: ResizeObserver;\n\n private stuckIntersecObserver?: IntersectionObserver = SUPPORT_INTERSECTION_OBSERVER\n ? new IntersectionObserver(\n ([entry]) => {\n this._stuck = !entry.isIntersecting;\n },\n {threshold: 0.5}\n )\n : undefined;\n\n @Watch(\"_stuck\")\n onStuck(): void {\n const scrollParent = this.scrollParent;\n if (!scrollParent) {\n return;\n }\n\n this.sticking.emit(this._stuck);\n }\n\n @Watch(\"drawerOpen\")\n setMenuFloatingMode(): void {\n if (this.menuElements.length === 0) {\n return;\n }\n\n this.menuElements.forEach((element) => {\n element.open = false;\n element.verticalContext = this.drawerOpen;\n });\n }\n\n @Watch(\"stuck\")\n onStuckChange(): void {\n if (!this.container) {\n return;\n }\n\n if (this.stuck) {\n this.stuckIntersecObserver?.observe(this.container);\n } else {\n this._stuck = false;\n this.stuckIntersecObserver?.unobserve(this.container);\n }\n }\n\n private get title(): string {\n return this.hostElement.querySelector('[slot=\"title\"]')?.textContent.trim();\n }\n\n private get scrollParent(): Window | Element {\n const parent = this.hostElement.offsetParent;\n if (parent === document.body || parent === document.documentElement) {\n return window;\n }\n\n return parent;\n }\n\n private get canShowMenu(): boolean {\n return !this.enableOffcanvas && this.menuElements.length > 0 && !this.isMobile && !this.drawerOpen;\n }\n\n private get focusableMenu(): HTMLZMenuElement {\n return this.menuElements.find((el) => el.htmlTabindex === 0);\n }\n\n private openDrawer(): void {\n this.drawerOpen = true;\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n setTimeout(() => this.menuElements[0].setFocus(), 400); /* wait for the 400ms offcanvas transition */\n }\n\n private closeDrawer(): void {\n this.drawerOpen = false;\n setTimeout(() => this.burgerButton.focus(), 100);\n }\n\n private collectMenuElements(): void {\n this.menuElements = Array.from(this.hostElement.querySelectorAll('[slot=\"menu\"]'));\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n this.menuLength = this.menuElements.length;\n if (!this.enableOffcanvas) {\n this.menuWidth =\n this.menuElements.reduce((acc, el) => acc + el.getBoundingClientRect().width, 0) +\n (this.menuLength - 1) * 32 /* 32px is the gap between each menu item */;\n }\n this.setMenuFloatingMode();\n }\n\n /** Automatically use offcanvas mode when the menubar doesn't fit in the header. */\n private setupMenuResizeObserver(): void {\n if (this.enableOffcanvas) {\n return;\n }\n\n this.menuResizeObserver = new ResizeObserver((entries) => {\n if (this.isMobile) {\n this.enableOffcanvas = true;\n\n return;\n }\n\n const containerWidth = entries[0].contentBoxSize[0].inlineSize;\n if (this.menuWidth === 0) {\n return;\n }\n\n if (this.menuWidth > containerWidth && !this.enableOffcanvas) {\n this.enableOffcanvas = true;\n } else if (this.menuWidth <= containerWidth && this.enableOffcanvas) {\n this.enableOffcanvas = false;\n }\n });\n this.menuResizeObserver.observe(this.container);\n }\n\n private hasSlot(slotName: string): boolean {\n return this.hostElement.querySelector(`[slot=\"${slotName}\"]`) !== null;\n }\n\n private moveFocus(current: HTMLZMenuElement, receiver: HTMLZMenuElement): void {\n current.htmlTabindex = -1;\n receiver.setFocus();\n }\n\n private onOffcanvasKeydown(ev: KeyboardEvent): void {\n if (ev.key !== KeyboardCode.TAB || !this.drawerOpen) {\n return;\n }\n\n const closestMenu = (ev.target as HTMLElement).closest(\"z-menu\");\n if (closestMenu) {\n ev.preventDefault();\n ev.stopPropagation();\n // restore tabindex to the zmenu containing the focused element\n closestMenu.htmlTabindex = 0;\n this.closeDrawerButton.focus();\n } else if (ev.target === this.closeDrawerButton) {\n ev.preventDefault();\n ev.stopPropagation();\n if (ev.shiftKey) {\n // give focus to the last open menu if any or the last menu otherwhise\n (this.menuElements.filter((menu) => menu.open).pop() ?? this.menuElements[this.menuLength - 1]).setFocus();\n } else {\n // give focus to the first open menu if any or the first menu otherwhise\n (this.menuElements.find((menu) => menu.open) ?? this.menuElements[0]).setFocus();\n }\n }\n }\n\n /** Close each menu except the one receiving focus/click, if any */\n @Listen(\"focusin\", {target: \"document\", passive: true})\n @Listen(\"click\", {target: \"document\", passive: true})\n manageMenus(ev: FocusEvent | PointerEvent): void {\n const targetMenu = this.menuElements.find((menu) => containsElement(menu, ev.target as Element));\n if (targetMenu) {\n this.menuElements.forEach((menu) => {\n if (menu === targetMenu) {\n return;\n }\n\n menu.htmlTabindex = -1;\n if (!this.drawerOpen) {\n menu.open = false;\n }\n });\n } else if (!this.drawerOpen) {\n this.menuElements.forEach((menu) => {\n menu.open = false;\n });\n }\n }\n\n @Listen(\"keydown\", {passive: true})\n handleKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ESC && this.drawerOpen) {\n this.closeDrawer();\n\n return;\n }\n\n if (!this.menuElements.some((elem) => elem.contains(ev.target as HTMLElement))) {\n return;\n }\n\n const current = this.focusableMenu;\n const currentIndex = this.menuElements.indexOf(current);\n let receiver: HTMLZMenuElement;\n if (\n (ev.key === KeyboardCode.ARROW_RIGHT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_DOWN && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex + 1] ?? this.menuElements[0];\n } else if (\n (ev.key === KeyboardCode.ARROW_LEFT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_UP && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex - 1] ?? this.menuElements[this.menuLength - 1];\n }\n if (!receiver) {\n return;\n }\n\n if (ev.key === KeyboardCode.ARROW_UP && current.verticalContext) {\n if (receiver.open) {\n current.htmlTabindex = -1;\n receiver.focusLastItem();\n\n return;\n }\n }\n\n this.moveFocus(current, receiver);\n }\n\n private renderSeachbar(): HTMLZButtonElement | HTMLZSearchbarElement | undefined {\n if (this.isMobile && !this.searchPageUrl && this._stuck) {\n return;\n }\n\n if (this.searchPageUrl && (this.isMobile || this.isTablet)) {\n return (\n <z-button\n class=\"search-page-button\"\n variant={ButtonVariant.SECONDARY}\n href={this.searchPageUrl}\n icon=\"search\"\n size={ControlSize.X_SMALL}\n />\n );\n }\n\n return (\n <z-searchbar\n htmlid=\"app-header-searchbar\"\n value={this.searchString}\n placeholder={this.searchPlaceholder}\n htmlAriaLabel={this.searchLabel}\n showSearchButton={true}\n searchButtonIconOnly={this.isMobile || this.isTablet}\n searchButtonLabel={this.isMobile || this.isTablet ? undefined : this.searchButtonLabel}\n size={ControlSize.X_SMALL}\n variant={ButtonVariant.SECONDARY}\n preventSubmit={this.searchString.length < 3}\n onSearchTyping={(e) => (this.searchString = e.detail)}\n />\n );\n }\n\n private renderSearchLabel(): HTMLSpanElement | undefined {\n if (!this.isMobile && !this.isTablet && !this.enableOffcanvas) {\n return (\n <label\n class=\"z-label\"\n htmlFor=\"input-app-header-searchbar\"\n aria-hidden={this.searchLabel ? \"false\" : \"true\"}\n >\n {this.searchLabel}\n </label>\n );\n }\n }\n\n private renderProductLogos(): HTMLElement | null {\n return (\n <Fragment>\n {this.enableZLogo && (\n <span class=\"z-logo\">\n <img alt=\"Logo Zanichelli\" />\n </span>\n )}\n {this.hostElement.querySelector(\"[slot='product-logo']\") && (\n <span class=\"product-logo\">\n <slot name=\"product-logo\" />\n </span>\n )}\n </Fragment>\n );\n }\n\n private renderMenuButton(): HTMLButtonElement {\n return (\n this.menuLength > 0 &&\n (this.enableOffcanvas || this._stuck || this.isMobile) && (\n <button\n ref={(el) => (this.burgerButton = el as HTMLButtonElement)}\n class=\"drawer-trigger\"\n aria-label=\"Apri menu\"\n aria-haspopup=\"menu\"\n aria-expanded={`${this.drawerOpen}`}\n aria-controls=\"offcanvas-menu\"\n onClick={this.openDrawer}\n >\n <z-icon name=\"burger-menu\" />\n </button>\n )\n );\n }\n\n private renderOffcanvas(): HTMLZOffcanvasElement {\n return (\n <z-offcanvas\n id=\"offcanvas-menu\"\n variant={OffCanvasVariant.OVERLAY}\n transitiondirection={TransitionDirection.RIGHT}\n open={this.drawerOpen}\n onCanvasOpenStatusChanged={(ev) => (this.drawerOpen = ev.detail)}\n onKeyDown={this.onOffcanvasKeydown}\n >\n <div slot=\"canvasContent\">\n <button\n ref={(el) => (this.closeDrawerButton = el)}\n class=\"drawer-close\"\n aria-label=\"Chiudi menu\"\n onClick={this.closeDrawer}\n aria-hidden={`${!this.drawerOpen}`}\n disabled={!this.drawerOpen}\n >\n <z-icon name=\"close\" />\n </button>\n\n <div\n class=\"drawer-content\"\n aria-hidden={`${!this.drawerOpen}`}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n </div>\n </z-offcanvas>\n );\n }\n\n private renderStuck(): HTMLElement {\n return (\n <div class=\"heading-stuck\">\n <div class=\"heading-stuck-content\">\n {this.renderMenuButton()}\n <div class=\"heading-title\">\n {this.renderProductLogos()}\n <div class=\"stucked-title\">\n <slot name=\"stucked-title\">{this.title}</slot>\n </div>\n </div>\n {this.enableSearch && this.renderSeachbar()}\n </div>\n </div>\n );\n }\n\n constructor() {\n this.openDrawer = this.openDrawer.bind(this);\n this.closeDrawer = this.closeDrawer.bind(this);\n this.collectMenuElements = this.collectMenuElements.bind(this);\n this.onOffcanvasKeydown = this.onOffcanvasKeydown.bind(this);\n }\n\n componentWillLoad(): void {\n this.collectMenuElements();\n\n // mobile and tablet media queries listeners\n const mobileMediaQuery = window.matchMedia(`(max-width: ${Breakpoints.MOBILE}px)`);\n this.isMobile = mobileMediaQuery.matches;\n mobileMediaQuery.addEventListener(\"change\", (e) => (this.isMobile = e.matches));\n const tabletMediaQuery = window.matchMedia(\n `(min-width: ${Breakpoints.MOBILE + 1}px) and (max-width: ${Breakpoints.TABLET}px)`\n );\n this.isTablet = tabletMediaQuery.matches;\n tabletMediaQuery.addEventListener(\"change\", (e) => (this.isTablet = e.matches));\n }\n\n componentDidLoad(): void {\n this.onStuckChange();\n this.setupMenuResizeObserver();\n }\n\n disconnectedCallback(): void {\n this.menuResizeObserver?.disconnect();\n }\n\n private renderTopSubtitle(): HTMLElement | undefined {\n if (!this.hasSlot(\"top-subtitle\") || (this.enableSearch && this.isMobile)) {\n return;\n }\n\n return (\n <div class={{\"top-subtitle\": true, \"has-product-logo\": this.hasSlot(\"product-logo\")}}>\n <slot name=\"top-subtitle\" />\n </div>\n );\n }\n\n render(): HTMLZAppHeaderElement {\n const hasTopSubtitle = this.hasSlot(\"top-subtitle\");\n\n return (\n <Host menu-length={this.menuLength}>\n <div\n class={{\"heading-panel\": true, \"has-menubar\": this.menuLength > 0 && !this.enableOffcanvas}}\n ref={(el) => (this.container = el)}\n >\n <div class={{\"heading-container\": true, \"has-top-subtitle\": hasTopSubtitle}}>\n <div class=\"heading-block\">\n <div class=\"heading-title\">\n <slot name=\"menu-button\">{this.renderMenuButton()}</slot>\n {!this._stuck && this.renderProductLogos()}\n <div class=\"title-container\">\n {!this.isMobile && this.renderTopSubtitle()}\n <slot name=\"title\" />\n </div>\n <div class=\"search-slot\">\n {this.enableSearch && this.renderSearchLabel()}\n {this.enableSearch && !this.isMobile && this.renderSeachbar()}\n </div>\n </div>\n {this.isMobile && this.renderTopSubtitle()}\n </div>\n {this.enableSearch && this.isMobile && this.renderSeachbar()}\n </div>\n\n <nav\n class=\"menu-container\"\n aria-label={this.title || undefined}\n >\n {this.canShowMenu && (\n <div\n role=\"menubar\"\n aria-label={this.title || undefined}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n )}\n </nav>\n </div>\n {this.renderOffcanvas()}\n {this._stuck && this.renderStuck()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ZAriaAlert","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","mode","ZAriaAlertMode","POLITE","render","h","Host","key"],"sources":["src/components/z-aria-alert/index.tsx"],"sourcesContent":["import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\nimport {ZAriaAlertMode} from \"../../beans\";\n\n@Component({\n tag: \"z-aria-alert\",\n shadow: false,\n})\nexport class ZAriaAlert implements ComponentInterface {\n /** Aria live mode */\n @Prop()\n mode: ZAriaAlertMode = ZAriaAlertMode.POLITE;\n\n render(): HTMLZAriaAlertElement {\n return (\n <Host\n aria-live={this.mode}\n aria-atomic=\"true\"\n aria-relevant=\"additions\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"6JAOaA,EAAUC,EAAA,MAAAD,UAAAE,EAJvB,WAAAC,CAAAC,G,4CAOEC,KAAAC,KAAuBC,EAAeC,MAavC,CAXC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,uDACQP,KAAKC,KAAI,cACR,OAAM,gBACJ,aAEdI,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZAvatar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","size","AvatarSize","MEDIUM","textColor","backgroundColor","_a","text","length","_b","image","console","warn","getTextSize","SMALL","LARGE","render","h","Host","key","class","style","color","substring","src","onError"],"sources":["src/components/z-avatar/styles.css?tag=z-avatar&encapsulation=shadow","src/components/z-avatar/index.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n background-color: var(--gray700);\n border-radius: 50%;\n font-family: var(--font-family-sans);\n text-transform: uppercase;\n}\n\n:host(.small),\n:host(.small) > img {\n width: calc(var(--space-unit) * 3);\n height: calc(var(--space-unit) * 3);\n}\n\n:host(.medium),\n:host(.medium) > img {\n width: calc(var(--space-unit) * 4);\n height: calc(var(--space-unit) * 4);\n}\n\n:host(.large),\n:host(.large) > img {\n width: calc(var(--space-unit) * 5);\n height: calc(var(--space-unit) * 5);\n}\n\n:host > img {\n object-fit: cover;\n}\n","import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\nimport {AvatarSize} from \"../../beans\";\n\n@Component({\n tag: \"z-avatar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZAvatar implements ComponentInterface {\n /** [optional] Avatar size */\n @Prop()\n size?: AvatarSize = AvatarSize.MEDIUM;\n\n /** [optional] Avatar text */\n @Prop()\n text?: string;\n\n /** [optional] Avatar text color */\n @Prop()\n textColor?: string = \"color-white\";\n\n /** [optional] Avatar background color */\n @Prop()\n backgroundColor?: string = \"gray700\";\n\n /** [optional] Avatar image */\n @Prop({mutable: true})\n image?: string;\n\n constructor() {\n if (this.text?.length === 0 && this.image?.length === 0) {\n console.warn(\"z-avatar must contain at least one prop between text and image\");\n }\n }\n\n private getTextSize(): string {\n if (this.size === AvatarSize.SMALL) {\n return \"5\";\n } else if (this.size === AvatarSize.MEDIUM) {\n return \"4\";\n } else if (this.size === AvatarSize.LARGE) {\n return \"2\";\n }\n }\n\n render(): HTMLZAvatarElement {\n return (\n <Host\n class={{[this.size]: true, [`body-${this.getTextSize()}-sb`]: true}}\n style={{\n color: `var(--${this.textColor})`,\n backgroundColor: `var(--${this.backgroundColor})`,\n }}\n >\n {this.text && !this.image && <span>{this.text.substring(0, 2)}</span>}\n {this.image && (\n <img\n src={this.image}\n onError={() => (this.image = \"\")}\n />\n )}\n </Host>\n );\n }\n}\n"],"mappings":"uJAAA,MAAMA,EAAY,IAAM,khB,MCQXC,EAAOC,EAAA,MAAAD,UAAAE,EAqBlB,WAAAC,CAAAC,G,0EAlBAC,KAAAC,KAAoBC,EAAWC,OAQ/BH,KAAAI,UAAqB,cAIrBJ,KAAAK,gBAA2B,UAOzB,KAAIC,EAAAN,KAAKO,QAAI,MAAAD,SAAA,SAAAA,EAAEE,UAAW,KAAKC,EAAAT,KAAKU,SAAK,MAAAD,SAAA,SAAAA,EAAED,UAAW,EAAG,CACvDG,QAAQC,KAAK,iE,CAEhB,CAEO,WAAAC,GACN,GAAIb,KAAKC,OAASC,EAAWY,MAAO,CAClC,MAAO,G,MACF,GAAId,KAAKC,OAASC,EAAWC,OAAQ,CAC1C,MAAO,G,MACF,GAAIH,KAAKC,OAASC,EAAWa,MAAO,CACzC,MAAO,G,EAIX,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CAAC,CAACpB,KAAKC,MAAO,KAAM,CAAC,QAAQD,KAAKa,oBAAqB,MAC9DQ,MAAO,CACLC,MAAO,SAAStB,KAAKI,aACrBC,gBAAiB,SAASL,KAAKK,qBAGhCL,KAAKO,OAASP,KAAKU,OAASO,EAAA,QAAAE,IAAA,4CAAOnB,KAAKO,KAAKgB,UAAU,EAAG,IAC1DvB,KAAKU,OACJO,EAAA,OAAAE,IAAA,2CACEK,IAAKxB,KAAKU,MACVe,QAAS,IAAOzB,KAAKU,MAAQ,K","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","typographyCss","ZBookCardApp","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","laz","emitAppClick","appClick","emit","renderLaz","h","class","render","key","href","link","name","onClick","target","logo","src","alt","info","icon","size","ControlSize","X_SMALL","position","InfoRevealPosition","TOP_RIGHT","fill"],"sources":["src/components/book-card/z-book-card-app/styles.css?tag=z-book-card-app&encapsulation=shadow","src/components/css-components/z-link/styles.css?tag=z-book-card-app&encapsulation=shadow","src/tokens/typography.css?tag=z-book-card-app&encapsulation=shadow","src/components/book-card/z-book-card-app/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --z-book-card-app-padding-x: set left and right padding\n * @prop --z-book-card-app-padding-y: set top and bottom padding\n */\n display: block;\n width: inherit;\n min-width: 300px;\n height: inherit;\n min-height: 32px;\n background-color: var(--color-surface01);\n}\n\n:host > div {\n display: flex;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n align-items: center;\n justify-content: space-between;\n padding: var(--z-book-card-app-padding-y, calc(var(--space-unit) * 1.5))\n var(--z-book-card-app-padding-x, var(--space-unit));\n gap: calc(var(--space-unit) * 2);\n}\n\n:host > div .app {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--space-unit);\n}\n\n:host > div .app.z-link {\n color: inherit;\n text-decoration: none;\n}\n\n:host > div .app.z-link:focus {\n text-decoration: none;\n}\n\n:host > div .app img {\n width: 1.5rem;\n height: 1.5rem;\n min-height: 32px;\n}\n\n:host > div .app .name {\n display: -webkit-box;\n overflow: hidden;\n height: 1.4rem;\n -webkit-box-orient: vertical;\n font-family: var(--font-family-serif);\n -webkit-line-clamp: 1;\n line-clamp: 1;\n text-overflow: ellipsis;\n word-break: break-all;\n}\n\n:host > div .app .name .laz {\n color: var(--red500);\n}\n\n:host > div z-info-reveal {\n --z-info-reveal-panel-width: 250px;\n --trigger-icon-size-x-small: 1rem;\n\n font-family: var(--font-family-sans);\n\n --color-surface05: var(--color-surface01);\n --color-text-inverse: var(--color-default-text);\n --color-inverse-icon: var(--color-primary01);\n}\n\n:host z-icon {\n --z-icon-width: 1rem;\n --z-icon-height: 1rem;\n}\n","button.z-link {\n padding: 0;\n border: 0;\n margin: 0;\n background-color: transparent;\n}\n\na.z-link,\nbutton.z-link {\n display: inline-flex;\n cursor: pointer;\n font-family: var(--font-family-sans);\n line-height: inherit;\n text-decoration: none;\n}\n\na.z-link.z-link-icon,\nbutton.z-link.z-link-icon {\n --z-icon-width: 1.125em;\n --z-icon-height: 1.125em;\n\n align-items: center;\n column-gap: 0.5em;\n}\n\na.z-link.z-link-sb,\nbutton.z-link.z-link-sb {\n font-weight: var(--font-sb);\n}\n\na.z-link.z-link-underline,\nbutton.z-link.z-link-underline {\n text-decoration: underline;\n}\n\na.z-link:hover,\nbutton.z-link:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link:active,\nbutton.z-link:active {\n text-decoration: underline;\n}\n\na.z-link:focus-visible,\nbutton.z-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\na.z-link.z-link-disabled,\nbutton.z-link.z-link-disabled {\n box-shadow: none;\n color: var(--color-disabled03);\n cursor: default;\n fill: var(--color-disabled03);\n outline: none;\n pointer-events: none;\n text-decoration: none;\n}\n\na.z-link,\nbutton.z-link,\na.z-link.z-link-active,\nbutton.z-link.z-link-active,\na.z-link:hover,\nbutton.z-link:hover,\na.z-link.z-link-active:hover,\nbutton.z-link.z-link-active:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link.z-link-active:focus-visible,\nbutton.z-link.z-link-active:focus-visible,\na.z-link:active,\nbutton.z-link:active,\na.z-link.z-link-active:active,\nbutton.z-link.z-link-active:active,\na.z-link:visited,\nbutton.z-link:visited,\na.z-link.z-link-active:visited,\nbutton.z-link.z-link-active:visited {\n color: var(--color-text-link-default);\n fill: var(--color-text-link-default);\n}\n\na.z-link.z-link-blue,\nbutton.z-link.z-link-blue,\na.z-link.z-link-blue.z-link-active,\nbutton.z-link.z-link-blue.z-link-active {\n color: var(--color-text-link-blue);\n fill: var(--color-text-link-blue);\n}\n\na.z-link.z-link-red,\nbutton.z-link.z-link-red,\na.z-link.z-link-red.z-link-active,\nbutton.z-link.z-link-red.z-link-active {\n color: var(--color-text-link-red);\n fill: var(--color-text-link-red);\n}\n\na.z-link.z-link-inverse,\nbutton.z-link.z-link-inverse,\na.z-link.z-link-inverse.z-link-active,\nbutton.z-link.z-link-inverse.z-link-active {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:hover,\nbutton.z-link.z-link-blue:hover {\n color: var(--color-text-link-blue-hover);\n fill: var(--color-text-link-blue-hover);\n}\n\na.z-link.z-link-red:hover,\nbutton.z-link.z-link-red:hover {\n color: var(--color-text-link-red-hover);\n fill: var(--color-text-link-red-hover);\n}\n\na.z-link.z-link-inverse:hover,\nbutton.z-link.z-link-inverse:hover {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:active,\nbutton.z-link.z-link-blue:active,\na.z-link.z-link-blue:focus-visible,\nbutton.z-link.z-link-blue:focus-visible {\n color: var(--color-text-link-blue-active);\n fill: var(--color-text-link-blue-active);\n}\n\na.z-link.z-link-red:active,\nbutton.z-link.z-link-red:active,\na.z-link.z-link-red:focus-visible,\nbutton.z-link.z-link-red:focus-visible {\n color: var(--color-text-link-red-active);\n fill: var(--color-text-link-red-active);\n}\n\na.z-link.z-link-inverse:active,\nbutton.z-link.z-link-inverse:active,\na.z-link.z-link-inverse:focus-visible,\nbutton.z-link.z-link-inverse:focus-visible {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:visited,\nbutton.z-link.z-link-blue:visited {\n color: var(--color-text-link-blue-visited);\n fill: var(--color-text-link-blue-visited);\n}\n\na.z-link.z-link-red:visited,\nbutton.z-link.z-link-red:visited {\n color: var(--color-text-link-red-visited);\n fill: var(--color-text-link-red-visited);\n}\n\na.z-link.z-link-inverse:visited,\nbutton.z-link.z-link-inverse:visited {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\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 {Component, ComponentInterface, Element, Event, EventEmitter, Prop, h} from \"@stencil/core\";\nimport {ControlSize, InfoRevealPosition} from \"../../../beans\";\n\n/**\n * ZBookCardApp component\n */\n@Component({\n tag: \"z-book-card-app\",\n styleUrls: [\"styles.css\", \"../../css-components/z-link/styles.css\", \"../../../tokens/typography.css\"],\n shadow: true,\n})\nexport class ZBookCardApp implements ComponentInterface {\n @Element() hostElement: HTMLZBookCardAppElement;\n\n /**\n * App logo url\n */\n @Prop()\n logo?: string;\n\n /**\n * App name\n */\n @Prop()\n name: string;\n\n /**\n * link to the app website\n */\n @Prop()\n link: string;\n\n /**\n * Show or hide laZ prefix before app name\n */\n @Prop()\n laz? = true;\n\n /**\n * Info text to show as inforeveal\n */\n @Prop()\n info?: string;\n\n /** click on app link */\n @Event()\n appClick: EventEmitter;\n\n private emitAppClick(): void {\n this.appClick.emit();\n }\n\n private renderLaz(): HTMLSpanElement | null {\n if (this.laz) {\n return <span class=\"laz\">laZ </span>;\n }\n\n return null;\n }\n\n render(): HTMLZBookCardAppElement {\n return (\n <div>\n <a\n class=\"app z-link\"\n href={this.link}\n aria-label={`vai a ${this.laz ? \"laz\" : \"\"} ${this.name}`}\n onClick={() => this.emitAppClick()}\n target=\"_blank\"\n >\n {this.logo && (\n <img\n src={this.logo}\n alt=\"\"\n />\n )}\n <div class=\"name body-4-sb\">\n {this.renderLaz()}\n {this.name}\n </div>\n </a>\n {this.info && (\n <z-info-reveal\n icon=\"info\"\n size={ControlSize.X_SMALL}\n position={InfoRevealPosition.TOP_RIGHT}\n class=\"info body-5\"\n >\n <div>{this.info}</div>\n </z-info-reveal>\n )}\n <a\n class=\"z-link z-link-icon\"\n href={this.link}\n aria-label={`vai a ${this.laz ? \"laz\" : \"\"} ${this.name}`}\n onClick={() => this.emitAppClick()}\n target=\"_blank\"\n >\n <z-icon\n name=\"chevron-right\"\n fill=\"color-primary01-icon\"\n ></z-icon>\n </a>\n </div>\n );\n }\n}\n"],"mappings":"sOAAA,MAAMA,EAAY,IAAM,ksCCAxB,MAAMA,EAAY,IAAM,0gHCAxB,MAAMC,EAAgB,IAAM,k8X,MCWfC,EAAYC,EAAA,MAAAD,UAAAE,EALzB,WAAAC,CAAAC,G,qGA8BEC,KAAAC,IAAO,IAsER,CA1DS,YAAAC,GACNF,KAAKG,SAASC,M,CAGR,SAAAC,GACN,GAAIL,KAAKC,IAAK,CACZ,OAAOK,EAAA,QAAMC,MAAM,OAAK,O,CAG1B,OAAO,I,CAGT,MAAAC,GACE,OACEF,EAAA,OAAAG,IAAA,4CACEH,EAAA,KAAAG,IAAA,2CACEF,MAAM,aACNG,KAAMV,KAAKW,KAAI,aACH,SAASX,KAAKC,IAAM,MAAQ,MAAMD,KAAKY,OACnDC,QAAS,IAAMb,KAAKE,eACpBY,OAAO,UAENd,KAAKe,MACJT,EAAA,OAAAG,IAAA,2CACEO,IAAKhB,KAAKe,KACVE,IAAI,KAGRX,EAAA,OAAAG,IAAA,2CAAKF,MAAM,kBACRP,KAAKK,YACLL,KAAKY,OAGTZ,KAAKkB,MACJZ,EAAA,iBAAAG,IAAA,2CACEU,KAAK,OACLC,KAAMC,EAAYC,QAClBC,SAAUC,EAAmBC,UAC7BlB,MAAM,eAEND,EAAA,OAAAG,IAAA,4CAAMT,KAAKkB,OAGfZ,EAAA,KAAAG,IAAA,2CACEF,MAAM,qBACNG,KAAMV,KAAKW,KAAI,aACH,SAASX,KAAKC,IAAM,MAAQ,MAAMD,KAAKY,OACnDC,QAAS,IAAMb,KAAKE,eACpBY,OAAO,UAEPR,EAAA,UAAAG,IAAA,2CACEG,KAAK,gBACLc,KAAK,0B","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","typographyCss","ZBookCard","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","BookCardVariant","PORTRAIT","isbnLabel","linkTarget","hasMultipleCovers","emitEbookClick","ebookClick","emit","emitCoverClick","coverClick","emitTitleClick","titleClick","renderCover","CoverTag","ebookUrl","coverAttrs","href","onClick","target","h","Object","assign","class","cover","fallbackCover","multiple","name","slot","renderYear","year","renderAuthors","authors","renderOperaTitle","title","titleHtmlTag","operaTitle","innerHTML","renderVolumeTitle","volumeTitle","renderIsbn","isbn","renderEbook","size","ControlSize","X_SMALL","htmlRole","render","Host","key"],"sources":["src/components/book-card/z-book-card/styles.css?tag=z-book-card&encapsulation=shadow","src/tokens/typography.css?tag=z-book-card&encapsulation=shadow","src/components/css-components/z-link/styles.css?tag=z-book-card&encapsulation=shadow","src/components/book-card/z-book-card/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --z-book-card-portrait-cover-height: Set custom cover height for portrait variant - Default: `378px`\n * @prop --z-book-card-title-lines: Set title avilable lines - Default: `2`\n * @prop --z-book-card-title-word-break: Set title word-break rule - Default: `initial`\n * @prop --z-book-card-subtitle-lines: Set subtitle available lines - Default: `1`\n * @prop --z-book-card-subtitle-word-break: Set subtitle word-break rule - Default: `break-all`\n * @prop --z-book-card-authors-lines: Set authors available lines - Default: `1`\n * @prop --z-book-card-authors-word-break: Set authors word-break rule - Default: `break-all`\n */\n --z-book-card-portrait-cover-height: 378px;\n --z-book-card-title-lines: 2;\n --z-book-card-title-word-break: initial;\n --z-book-card-subtitle-lines: 1;\n --z-book-card-subtitle-word-break: break-all;\n --z-book-card-authors-lines: 1;\n --z-book-card-authors-word-break: break-all;\n\n display: flex;\n width: 304px;\n box-sizing: border-box;\n flex-direction: column;\n border: solid var(--border-size-medium) var(--color-surface03);\n background-color: var(--color-surface01);\n border-radius: var(--border-radius);\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n.main-content {\n display: flex;\n height: 100%;\n flex-direction: column;\n padding: var(--space-unit);\n gap: var(--space-unit);\n}\n\n.main-content .cover {\n position: relative;\n display: flex;\n overflow: hidden;\n align-items: flex-end;\n justify-content: center;\n border-radius: var(--border-radius);\n}\n\n.main-content .cover z-book-cover {\n --z-book-cover-height: var(--z-book-card-portrait-cover-height);\n}\n\n.main-content a.cover:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.main-content .card-info {\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: space-between;\n gap: var(--space-unit);\n}\n\n.main-content .card-info .top {\n display: flex;\n flex-direction: column;\n gap: calc(var(--space-unit) * 2);\n}\n\n.main-content .card-info .top ::slotted([slot=\"tags\"]) {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-unit);\n}\n\n.main-content .card-info .top ::slotted([slot=\"data\"]) {\n display: flex;\n justify-content: space-between;\n}\n\n.main-content .card-info .top .ellipsis {\n display: -webkit-box;\n overflow: hidden;\n height: 1.4rem;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n line-clamp: 1;\n line-height: 1.4rem;\n text-overflow: ellipsis;\n word-break: break-all;\n}\n\n.main-content .card-info .top .ellipsis.opera-title {\n height: auto;\n max-height: calc(1.5rem * var(--z-book-card-title-lines));\n -webkit-line-clamp: var(--z-book-card-title-lines);\n line-clamp: var(--z-book-card-title-lines);\n line-height: 1.5rem;\n word-break: var(--z-book-card-title-word-break);\n}\n\n.main-content .card-info .top .ellipsis.volume-title {\n height: auto;\n max-height: calc(1.4rem * var(--z-book-card-subtitle-lines));\n -webkit-line-clamp: var(--z-book-card-subtitle-lines);\n line-clamp: var(--z-book-card-subtitle-lines);\n line-height: 1.4rem;\n word-break: var(--z-book-card-subtitle-word-break);\n}\n\n.main-content .card-info .top .ellipsis.authors {\n height: auto;\n max-height: calc(1.4rem * var(--z-book-card-authors-lines));\n -webkit-line-clamp: var(--z-book-card-authors-lines);\n line-clamp: var(--z-book-card-authors-lines);\n line-height: 1.4rem;\n word-break: var(--z-book-card-authors-word-break);\n}\n\n.main-content .card-info .top .opera-title * {\n all: unset;\n}\n\n.main-content .card-info .top .link-chip-wrapper {\n display: flex;\n justify-content: space-between;\n}\n\n.main-content .card-info .ebook {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-unit);\n}\n\n.main-content .card-info .ebook .app-name {\n display: flex;\n align-items: center;\n font-family: var(--font-family-serif);\n gap: calc(var(--space-unit) / 2);\n}\n\n.main-content .card-info .ebook .app-name .ebook-logo {\n width: 1.5rem;\n height: 1.5rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 aria-hidden=%22true%22%3E%3Cg clip-path=%22url(%23clip0_11996_224)%22%3E%3Cpath d=%22M14.6644 0.469604H5.00141C2.33305 0.469604 0.169922 2.63274 0.169922 5.3011V14.9641C0.169922 17.6324 2.33305 19.7956 5.00141 19.7956H14.6644C17.3328 19.7956 19.4959 17.6324 19.4959 14.9641V5.3011C19.4959 2.63274 17.3328 0.469604 14.6644 0.469604Z%22 fill=%22%23E2011A%22/%3E%3Cpath d=%22M15.9523 13.3536H12.7313C11.6861 13.3536 10.6683 13.6934 9.83241 14.3199C8.99657 13.6934 7.97873 13.3536 6.93352 13.3536H3.71252V5.30115H6.93352C7.97873 5.30115 8.99657 5.64096 9.83241 6.26745C10.6683 5.64096 11.6861 5.30115 12.7313 5.30115H15.9523V13.3536Z%22 fill=%22white%22/%3E%3Cpath d=%22M15.9523 14.3201H3.71252V14.9643H15.9523V14.3201Z%22 fill=%22black%22/%3E%3Cpath d=%22M8.22229 10.732V8.24543C8.22229 7.97165 8.51057 7.79449 8.75375 7.91689L11.2404 9.16019C11.5109 9.29548 11.5109 9.682 11.2404 9.81728L8.75375 11.0606C8.50896 11.183 8.22229 11.0058 8.22229 10.732Z%22 fill=%22black%22/%3E%3Cpath d=%22M4.35704 7.87826C5.42438 7.87826 6.28963 7.013 6.28963 5.94566C6.28963 4.87831 5.42438 4.01306 4.35704 4.01306C3.28969 4.01306 2.42444 4.87831 2.42444 5.94566C2.42444 7.013 3.28969 7.87826 4.35704 7.87826Z%22 fill=%22black%22/%3E%3Cpath d=%22M5.6454 5.62354H3.0686V6.26773H5.6454V5.62354Z%22 fill=%22white%22/%3E%3Cpath d=%22M4.67917 4.65723H4.03497V7.23402H4.67917V4.65723Z%22 fill=%22white%22/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=%22clip0_11996_224%22%3E%3Crect width=%2219.326%22 height=%2219.326%22 fill=%22white%22 transform=%22translate(0.169922 0.469604)%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E\");\n}\n\n/* The CTA slot comes after all book metadata in the DOM so screen readers announce\n author, title, volume and ISBN before the action, while the grid keeps the CTA in\n its visual position: top-right for landscape, beside the title for portrait. */\n.main-content .card-info .top > div {\n display: grid;\n column-gap: calc(var(--space-unit) / 2);\n grid-template-columns: 1fr auto;\n}\n\n.main-content .card-info .top > div > * {\n grid-column: 1;\n}\n\n.main-content .card-info .top > div > .cta-slot {\n align-self: start;\n grid-column: 2;\n grid-row: 1;\n}\n\n:host([variant=\"landscape\"]) {\n width: 635px;\n min-height: max(332px, 20.75rem);\n padding: 0;\n}\n\n:host([variant=\"landscape\"]) .main-content {\n min-height: max(332px, 20.75rem);\n flex-direction: row;\n padding: calc(var(--space-unit) * 2);\n gap: calc(var(--space-unit) * 2);\n}\n\n:host([variant=\"landscape\"]) .main-content .cover z-book-cover {\n --z-book-cover-height: 300px;\n}\n\n:host([variant=\"landscape\"]) .main-content .card-info,\n:host([variant=\"landscape\"]) .main-content .card-info .top {\n gap: calc(var(--space-unit) / 2);\n}\n\n/* In portrait the CTA sits beside the title, whose grid row shifts down when the\n optional year and authors rows are rendered before it. */\n:host([variant=\"portrait\"]) .main-content .card-info .top > div > .year ~ .cta-slot,\n:host([variant=\"portrait\"]) .main-content .card-info .top > div > .authors ~ .cta-slot {\n grid-row: 2;\n}\n\n:host([variant=\"portrait\"]) .main-content .card-info .top > div > .year ~ .authors ~ .cta-slot {\n grid-row: 3;\n}\n\n@media (max-width: 767px) {\n :host([variant=\"portrait\"]) {\n width: 100%;\n max-width: 400px;\n }\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","button.z-link {\n padding: 0;\n border: 0;\n margin: 0;\n background-color: transparent;\n}\n\na.z-link,\nbutton.z-link {\n display: inline-flex;\n cursor: pointer;\n font-family: var(--font-family-sans);\n line-height: inherit;\n text-decoration: none;\n}\n\na.z-link.z-link-icon,\nbutton.z-link.z-link-icon {\n --z-icon-width: 1.125em;\n --z-icon-height: 1.125em;\n\n align-items: center;\n column-gap: 0.5em;\n}\n\na.z-link.z-link-sb,\nbutton.z-link.z-link-sb {\n font-weight: var(--font-sb);\n}\n\na.z-link.z-link-underline,\nbutton.z-link.z-link-underline {\n text-decoration: underline;\n}\n\na.z-link:hover,\nbutton.z-link:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link:active,\nbutton.z-link:active {\n text-decoration: underline;\n}\n\na.z-link:focus-visible,\nbutton.z-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\na.z-link.z-link-disabled,\nbutton.z-link.z-link-disabled {\n box-shadow: none;\n color: var(--color-disabled03);\n cursor: default;\n fill: var(--color-disabled03);\n outline: none;\n pointer-events: none;\n text-decoration: none;\n}\n\na.z-link,\nbutton.z-link,\na.z-link.z-link-active,\nbutton.z-link.z-link-active,\na.z-link:hover,\nbutton.z-link:hover,\na.z-link.z-link-active:hover,\nbutton.z-link.z-link-active:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link.z-link-active:focus-visible,\nbutton.z-link.z-link-active:focus-visible,\na.z-link:active,\nbutton.z-link:active,\na.z-link.z-link-active:active,\nbutton.z-link.z-link-active:active,\na.z-link:visited,\nbutton.z-link:visited,\na.z-link.z-link-active:visited,\nbutton.z-link.z-link-active:visited {\n color: var(--color-text-link-default);\n fill: var(--color-text-link-default);\n}\n\na.z-link.z-link-blue,\nbutton.z-link.z-link-blue,\na.z-link.z-link-blue.z-link-active,\nbutton.z-link.z-link-blue.z-link-active {\n color: var(--color-text-link-blue);\n fill: var(--color-text-link-blue);\n}\n\na.z-link.z-link-red,\nbutton.z-link.z-link-red,\na.z-link.z-link-red.z-link-active,\nbutton.z-link.z-link-red.z-link-active {\n color: var(--color-text-link-red);\n fill: var(--color-text-link-red);\n}\n\na.z-link.z-link-inverse,\nbutton.z-link.z-link-inverse,\na.z-link.z-link-inverse.z-link-active,\nbutton.z-link.z-link-inverse.z-link-active {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:hover,\nbutton.z-link.z-link-blue:hover {\n color: var(--color-text-link-blue-hover);\n fill: var(--color-text-link-blue-hover);\n}\n\na.z-link.z-link-red:hover,\nbutton.z-link.z-link-red:hover {\n color: var(--color-text-link-red-hover);\n fill: var(--color-text-link-red-hover);\n}\n\na.z-link.z-link-inverse:hover,\nbutton.z-link.z-link-inverse:hover {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:active,\nbutton.z-link.z-link-blue:active,\na.z-link.z-link-blue:focus-visible,\nbutton.z-link.z-link-blue:focus-visible {\n color: var(--color-text-link-blue-active);\n fill: var(--color-text-link-blue-active);\n}\n\na.z-link.z-link-red:active,\nbutton.z-link.z-link-red:active,\na.z-link.z-link-red:focus-visible,\nbutton.z-link.z-link-red:focus-visible {\n color: var(--color-text-link-red-active);\n fill: var(--color-text-link-red-active);\n}\n\na.z-link.z-link-inverse:active,\nbutton.z-link.z-link-inverse:active,\na.z-link.z-link-inverse:focus-visible,\nbutton.z-link.z-link-inverse:focus-visible {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:visited,\nbutton.z-link.z-link-blue:visited {\n color: var(--color-text-link-blue-visited);\n fill: var(--color-text-link-blue-visited);\n}\n\na.z-link.z-link-red:visited,\nbutton.z-link.z-link-red:visited {\n color: var(--color-text-link-red-visited);\n fill: var(--color-text-link-red-visited);\n}\n\na.z-link.z-link-inverse:visited,\nbutton.z-link.z-link-inverse:visited {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n","import {Component, ComponentInterface, Element, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport {BookCardVariant, ControlSize} from \"../../../beans\";\n\n/**\n * @slot cta - Top right cta (e.g. bookmark icon)\n * @slot ebook - As default, it shows laZ ebook link\n * @slot tags - Tags section, default empty\n * @slot data - External link and pill, default empty\n * @slot apps - List of card-related apps, default empty\n * @slot coverOverlay - Content to be displayed in the `z-book-cover` component slot\n */\n@Component({\n tag: \"z-book-card\",\n styleUrls: [\"styles.css\", \"../../../tokens/typography.css\", \"../../css-components/z-link/styles.css\"],\n shadow: true,\n})\nexport class ZBookCard implements ComponentInterface {\n @Element() hostElement: HTMLZBookCardElement;\n\n /** Card variant: landscape, portrait */\n @Prop({reflect: true})\n variant: BookCardVariant = BookCardVariant.PORTRAIT;\n\n /** Cover URL */\n @Prop()\n cover: string;\n\n /** Opera title (card title) */\n @Prop()\n operaTitle: string;\n\n /** [optional] Volume title (card subvolume) */\n @Prop()\n volumeTitle?: string;\n\n /** [optional] Authors */\n @Prop()\n authors?: string;\n\n /** [optional] Main ISBN */\n @Prop()\n isbn?: string;\n\n /** [optional] ISBN label */\n @Prop()\n isbnLabel = \"\";\n\n /** [optional] year */\n @Prop()\n year?: string;\n\n /** [optional] Link to the ebook resource. Creates a link also around the cover and title. */\n @Prop()\n ebookUrl?: string;\n\n /** [optional] Value for the `target` attribute of the links created by `ebookUrl` prop. */\n @Prop()\n linkTarget = \"_blank\";\n\n /** [optional] Fallback cover URL. */\n @Prop()\n fallbackCover?: string;\n\n /**\n * Whether to show a stack of covers to represent multiple books.\n * Only takes effect when `variant` is `portrait`: in `landscape` it is silently ignored and no\n * cover stack is rendered, regardless of its value.\n */\n @Prop()\n hasMultipleCovers = false;\n\n /** [optional] Set a specific heading level as html tag for the title. */\n @Prop()\n titleHtmlTag?: string;\n\n /** click on ebook link */\n @Event()\n ebookClick: EventEmitter;\n\n /** click on cover link */\n @Event()\n coverClick: EventEmitter;\n\n /** click on title link */\n @Event()\n titleClick: EventEmitter;\n\n private emitEbookClick(): void {\n this.ebookClick.emit();\n }\n\n private emitCoverClick(): void {\n this.coverClick.emit();\n }\n\n private emitTitleClick(): void {\n this.titleClick.emit();\n }\n\n private renderCover(): HTMLDivElement {\n const CoverTag = this.ebookUrl ? \"a\" : \"div\";\n const coverAttrs = this.ebookUrl\n ? {\n href: this.ebookUrl,\n onClick: () => this.emitCoverClick(),\n target: this.linkTarget,\n }\n : {};\n\n return (\n <CoverTag\n class=\"cover\"\n {...coverAttrs}\n >\n <z-book-cover\n cover={this.cover}\n fallbackCover={this.fallbackCover}\n multiple={this.hasMultipleCovers && this.variant === BookCardVariant.PORTRAIT}\n >\n <slot\n name=\"coverOverlay\"\n slot=\"coverOverlay\"\n ></slot>\n </z-book-cover>\n </CoverTag>\n );\n }\n\n private renderYear(): null | HTMLDivElement {\n if (!this.year) {\n return null;\n }\n\n return (\n <div\n class=\"year ellipsis body-4\"\n aria-description=\"anno\"\n >\n {this.year}\n </div>\n );\n }\n\n private renderAuthors(): null | HTMLDivElement {\n if (!this.authors) {\n return null;\n }\n\n return (\n <div\n class=\"authors ellipsis body-4\"\n aria-description=\"autori\"\n >\n {this.authors}\n </div>\n );\n }\n\n private renderOperaTitle(): HTMLDivElement {\n const title = this.titleHtmlTag\n ? `<${this.titleHtmlTag}>${this.operaTitle}</${this.titleHtmlTag}>`\n : this.operaTitle;\n\n const operaTitle = (\n <div\n class=\"opera-title ellipsis body-2-sb\"\n innerHTML={title}\n />\n );\n\n if (this.ebookUrl) {\n return (\n <a\n class=\"z-link\"\n href={this.ebookUrl}\n onClick={() => this.emitTitleClick()}\n target={this.linkTarget}\n >\n {operaTitle}\n </a>\n );\n }\n\n return operaTitle;\n }\n\n private renderVolumeTitle(): null | HTMLDivElement {\n if (!this.volumeTitle) {\n return null;\n }\n\n return <div class=\"volume-title ellipsis body-4\">{this.volumeTitle}</div>;\n }\n\n private renderIsbn(): null | HTMLDivElement {\n if (!this.isbn) {\n return null;\n }\n\n return (\n <div\n class=\"isbn ellipsis body-4-sb\"\n aria-description={`isbn ${this.isbnLabel}`}\n >\n {this.isbn} {this.isbnLabel ? <span class=\"body-4\">{this.isbnLabel}</span> : null}\n </div>\n );\n }\n\n private renderEbook(): null | HTMLDivElement {\n if (!this.ebookUrl) {\n return null;\n }\n\n return (\n <div class=\"ebook\">\n <div class=\"app-name\">\n <img\n class=\"ebook-logo\"\n aria-hidden=\"true\"\n />\n <div class=\"body-4-sb\">laZ Ebook</div>\n </div>\n <z-button\n size={ControlSize.X_SMALL}\n href={this.ebookUrl}\n target={this.linkTarget}\n onClick={() => this.emitEbookClick()}\n htmlRole=\"link\"\n aria-description={`leggi l'ebook ${this.operaTitle} su laZ Ebook`}\n >\n leggi ebook\n </z-button>\n </div>\n );\n }\n\n render(): HTMLZBookCardElement {\n return (\n <Host>\n <div class=\"main-content\">\n {this.renderCover()}\n <div class=\"card-info\">\n <div class=\"top\">\n <div>\n {this.renderYear()}\n {this.renderAuthors()}\n {this.renderOperaTitle()}\n {this.renderVolumeTitle()}\n {this.renderIsbn()}\n <div class=\"cta-slot\">\n <slot name=\"cta\"></slot>\n </div>\n </div>\n <slot name=\"tags\"></slot>\n <slot name=\"data\"></slot>\n </div>\n <slot name=\"ebook\">{this.renderEbook()}</slot>\n </div>\n </div>\n <slot name=\"apps\"></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZBreadcrumb","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","pathStyle","BreadcrumbPathStyle","UNDERLINED","homepageVariant","BreadcrumbHomepageVariant","ICON","maxNodesToShow","preventFollowUrl","overflowMenuItemRows","truncateChar","hasOverflow","popoverEllipsisOpen","collapsedElements","currentIndex","truncatePosition","handleResize","viewPortWidth","getDevice","Device","MOBILE","wrapElement","scrollWidth","clientWidth","handlePropChange","initializeBreadcrumb","handleResizeUp","newValue","oldValue","TABLET","DESKTOP","DESKTOP_WIDE","componentWillLoad","componentWillRender","checkEllipsisOrOverflowMenu","componentDidRender","collapsedElementsRef","anchorElements","Array","from","hostElement","shadowRoot","querySelectorAll","requestAnimationFrame","pathsList","getPathsItemsList","filter","item","path","homepageNode","shift","pathListCopy","length","splice","i","text","push","truncatedString","truncateWithEllipsis","currentEllipsisText","hasTooltip","str","maxLength","substring","children","map","textContent","href","renderHomepageNode","h","class","TEXT","onClick","e","handlePreventFollowUrl","innerHTML","name","togglePopover","open","preventDefault","clickOnNode","emit","handleOverflowMenuAccessibility","anchorElementsLenght","key","KeyboardCode","TAB","stopPropagation","arrows","ARROW_DOWN","ARROW_UP","includes","focus","ESC","triggerButton","renderOverflowMenu","ref","val","bindTo","position","PopoverPosition","BOTTOM_RIGHT","closable","showArrow","size","ListSize","SMALL","index","array","clickable","onKeyDown","color","el","handleKeyboardSubmit","bind","setTimeout","renderMobileItems","secondToLastPath","undefined","renderItems","trigger","onMouseOver","onMouseLeave","render","Host","style","semibold","SEMIBOLD","underlined"],"sources":["src/components/z-breadcrumb/styles.css?tag=z-breadcrumb&encapsulation=shadow","src/components/z-breadcrumb/index.tsx"],"sourcesContent":[":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --line-clamp-popover: 0;\n --line-clamp-mobile: 1;\n}\n\n* {\n box-sizing: border-box;\n}\n\nbutton {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\nnav {\n display: flex;\n align-items: center;\n}\n\nol {\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n column-gap: var(--space-unit);\n list-style: none;\n}\n\nli {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n column-gap: var(--space-unit);\n}\n\nol li > a,\nol li > button {\n font-size: var(--font-size-2);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\na:focus,\nbutton:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\na {\n color: var(--color-text-link-blue);\n white-space: nowrap;\n}\n\na.missing-path {\n color: var(--color-default-text);\n}\n\n.text-ellipsis {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--line-clamp-mobile);\n line-clamp: var(--line-clamp-mobile);\n text-overflow: ellipsis;\n white-space: initial;\n}\n\nnav.semibold > ol > li > a:not(.missing-path),\nnav.semibold > ol > li > button {\n font-weight: var(--font-sb);\n text-decoration: none;\n}\n\nnav.underlined a,\nnav.underlined button {\n text-decoration: underline;\n}\n\nz-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n\n display: block;\n fill: var(--color-text-link-blue);\n}\n\nz-icon.separator {\n --z-icon-width: 10px;\n --z-icon-height: 10px;\n\n fill: var(--gray500);\n}\n\nbutton.dots {\n display: inline-block;\n color: var(--color-text-link-blue);\n cursor: pointer;\n}\n\n.hidden-paths-popover .popover-content {\n max-width: 302px;\n padding: calc(var(--space-unit) / 2) var(--space-unit);\n text-align: left;\n}\n\n.hidden-paths-popover .popover-content a {\n font-weight: var(--font-rg);\n text-decoration: none;\n}\n\n.hidden-paths-popover {\n --z-popover-theme--surface: var(--color-background);\n --z-popover-padding: 0;\n --background-color-list-element: var(--color-background);\n}\n\n.hidden-paths-popover::before,\n.full-path-tooltip::before {\n --arrow-edge-offset: calc(100% - (var(--space-unit) * 2.55));\n}\n\n.full-path-tooltip {\n --z-popover-theme--surface: var(--color-surface05);\n --z-popover-theme--text: var(--color-text-inverse);\n --z-popover-padding: 0;\n}\n\n.tooltip-content {\n padding: 0 var(--space-unit);\n font-size: var(--font-size-2);\n}\n\n@media (min-width: 768px) {\n .text-ellipsis {\n -webkit-line-clamp: var(--line-clamp-popover);\n line-clamp: var(--line-clamp-popover);\n }\n}\n\n@media (max-width: 767px) {\n li a {\n display: flex;\n align-items: center;\n column-gap: var(--space-unit);\n }\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 {\n BreadcrumbHomepageVariant,\n BreadcrumbPath,\n BreadcrumbPathStyle,\n Device,\n KeyboardCode,\n ListSize,\n PopoverPosition,\n} from \"../../beans\";\nimport {getDevice, handleKeyboardSubmit} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-breadcrumb\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZBreadcrumb implements ComponentInterface {\n /* Accessibility references */\n /* Overflow-menu: https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/ */\n /* Breadcrumb: https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/ */\n /* Focus on multiline link: https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance.html */\n\n @Element() hostElement: HTMLZBreadcrumbElement;\n\n /** [optional] Sets the path style */\n @Prop({reflect: true})\n pathStyle?: BreadcrumbPathStyle = BreadcrumbPathStyle.UNDERLINED;\n\n /** [optional] Variant of first node */\n @Prop()\n homepageVariant?: BreadcrumbHomepageVariant = BreadcrumbHomepageVariant.ICON;\n\n /** [optional] Sets max number of element to show */\n @Prop()\n maxNodesToShow? = 5;\n\n /** [optional] Controls the behaviour on <a> tag click/enter */\n @Prop()\n preventFollowUrl? = false;\n\n /** [optional] Sets max number of row for each path inside the popover. Zero equals unlimited */\n @Prop()\n overflowMenuItemRows? = 0;\n\n /** [optional] Sets the maximun number of chars per single node */\n @Prop()\n truncateChar? = 30;\n\n /** Handle mobile */\n @State()\n viewPortWidth: Device;\n\n /** Detect whether the length of the nodes shown exceeds the container length */\n @State()\n hasOverflow = false;\n\n @State()\n popoverEllipsisOpen = false;\n\n /** Emitted when preventFollowUrl=true to handle custom page transition */\n @Event()\n clickOnNode: EventEmitter<BreadcrumbPath[\"path\"]>;\n\n private pathsList: BreadcrumbPath[];\n\n private pathListCopy: BreadcrumbPath[];\n\n private collapsedElements: BreadcrumbPath[] = [];\n\n private collapsedElementsRef: HTMLZPopoverElement;\n\n private triggerButton: HTMLButtonElement;\n\n private wrapElement: HTMLElement;\n\n private currentIndex = 0;\n\n private homepageNode: BreadcrumbPath;\n\n private anchorElements;\n\n private currentEllipsisText: string;\n\n private truncatePosition = null;\n\n @Listen(\"resize\", {target: \"window\"})\n handleResize(): void {\n this.viewPortWidth = getDevice();\n if (\n this.viewPortWidth !== Device.MOBILE &&\n this.wrapElement &&\n this.wrapElement.scrollWidth > this.wrapElement.clientWidth\n ) {\n this.hasOverflow = true;\n }\n }\n // eslint-disable-next-line lines-between-class-members\n @Watch(\"maxNodesToShow\")\n handlePropChange(): void {\n this.initializeBreadcrumb();\n }\n\n @Watch(\"viewPortWidth\")\n handleResizeUp(newValue: Device, oldValue: Device): void {\n if (\n newValue === Device.MOBILE ||\n (oldValue === Device.MOBILE && newValue === Device.TABLET) ||\n (oldValue === Device.MOBILE && newValue === Device.DESKTOP) ||\n (oldValue === Device.MOBILE && newValue === Device.DESKTOP_WIDE) ||\n (oldValue === Device.TABLET && newValue === Device.DESKTOP) ||\n (oldValue === Device.TABLET && newValue === Device.DESKTOP_WIDE) ||\n (oldValue === Device.DESKTOP && newValue === Device.DESKTOP_WIDE)\n ) {\n this.initializeBreadcrumb();\n }\n }\n\n componentWillLoad(): void {\n this.viewPortWidth = getDevice();\n this.initializeBreadcrumb();\n }\n\n componentWillRender(): void {\n if (this.viewPortWidth !== Device.MOBILE && this.hasOverflow) {\n this.checkEllipsisOrOverflowMenu();\n this.hasOverflow = false;\n }\n }\n\n componentDidRender(): void {\n if (this.collapsedElementsRef) {\n this.anchorElements = Array.from(this.hostElement.shadowRoot.querySelectorAll(\"z-list-group a\"));\n }\n\n if (this.viewPortWidth !== Device.MOBILE) {\n requestAnimationFrame(() => {\n if (this.wrapElement.scrollWidth > this.wrapElement.clientWidth) {\n if (!this.hasOverflow) {\n this.hasOverflow = true;\n }\n }\n });\n }\n }\n\n private initializeBreadcrumb(): void {\n if (this.viewPortWidth === Device.MOBILE) {\n this.pathsList = this.getPathsItemsList().filter((item) => !!item.path);\n } else {\n this.pathsList = this.getPathsItemsList();\n }\n this.homepageNode = this.pathsList.shift();\n this.pathListCopy = [...this.pathsList];\n this.collapsedElements = [];\n if (this.pathsList.length > this.maxNodesToShow) {\n this.collapsedElements = this.pathsList.splice(0, this.pathsList.length - 2);\n }\n }\n\n private checkEllipsisOrOverflowMenu(): void {\n for (let i = 0; i < this.pathsList.length; i++) {\n if (this.pathsList[i].text.length <= this.truncateChar) {\n continue;\n }\n\n if (this.truncatePosition > 0) {\n this.collapsedElements.push(...this.pathListCopy.splice(0, this.truncatePosition));\n this.pathsList.splice(0, this.truncatePosition);\n this.truncatePosition = 0;\n\n return;\n } else if (this.truncatePosition === 0) {\n this.collapsedElements.push(...this.pathListCopy.splice(0, this.truncatePosition + 1));\n this.pathsList.splice(0, this.truncatePosition + 1);\n this.truncatePosition = null;\n\n return;\n }\n\n if (i !== this.pathsList.length - 1) {\n const truncatedString = this.truncateWithEllipsis(this.pathsList[i].text, this.truncateChar);\n this.currentEllipsisText = this.pathsList[i].text;\n this.pathsList[i].text = truncatedString;\n this.pathsList[i].hasTooltip = true;\n this.truncatePosition = i;\n\n return;\n }\n }\n }\n\n private truncateWithEllipsis(str: string, maxLength: number): string {\n if (str.length <= maxLength) {\n return str;\n }\n\n return str.substring(0, maxLength - 1) + \"…\";\n }\n\n private getPathsItemsList(): BreadcrumbPath[] {\n return Array.from(this.hostElement.children).map((item: HTMLAnchorElement) => {\n return {\n text: item.textContent,\n path: item.href,\n hasTooltip: false,\n };\n });\n }\n\n private renderHomepageNode(): HTMLLIElement {\n return (\n <li>\n <a\n class={{\n \"homepage-text\": this.homepageVariant === BreadcrumbHomepageVariant.TEXT,\n }}\n href={this.homepageNode.path}\n onClick={(e) => this.handlePreventFollowUrl(e, this.homepageNode)}\n innerHTML={\n this.homepageVariant === BreadcrumbHomepageVariant.ICON\n ? `<z-icon name=\"home\" />`\n : this.homepageNode.text || \"Home\"\n }\n />\n {this.pathsList.length > 0 && (\n <z-icon\n class=\"separator\"\n name=\"chevron-right\"\n aria-hidden=\"true\"\n />\n )}\n </li>\n );\n }\n\n private togglePopover(): void {\n if (!this.collapsedElementsRef.open) {\n this.collapsedElementsRef.open = true;\n }\n }\n\n private handlePreventFollowUrl(e: MouseEvent, item): void {\n if (this.preventFollowUrl) {\n e.preventDefault();\n this.clickOnNode.emit(item.path);\n }\n }\n\n private handleOverflowMenuAccessibility(e: KeyboardEvent): void {\n const anchorElementsLenght = this.anchorElements.length;\n if (e.key === KeyboardCode.TAB) {\n e.preventDefault();\n\n return;\n }\n e.stopPropagation();\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n if (arrows.includes(e.key as KeyboardCode)) {\n e.preventDefault();\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n this.currentIndex = anchorElementsLenght === this.currentIndex + 1 ? 0 : this.currentIndex + 1;\n }\n if (e.key === KeyboardCode.ARROW_UP) {\n this.currentIndex = this.currentIndex <= 0 ? anchorElementsLenght - 1 : this.currentIndex - 1;\n }\n\n this.anchorElements[this.currentIndex].focus();\n }\n\n if (e.key === KeyboardCode.ESC) {\n this.triggerButton.focus();\n }\n }\n\n private renderOverflowMenu(): HTMLLIElement {\n return (\n <li>\n <z-popover\n class=\"hidden-paths-popover\"\n ref={(val) => (this.collapsedElementsRef = val as HTMLZPopoverElement)}\n bindTo={this.triggerButton}\n position={PopoverPosition.BOTTOM_RIGHT}\n closable\n showArrow\n >\n <div class=\"popover-content\">\n <z-list>\n <z-list-group size={ListSize.SMALL}>\n {this.collapsedElements.map((item, index, array) => {\n return (\n <div>\n <z-list-element clickable>\n <a\n class=\"text-ellipsis\"\n href={item.path}\n onClick={(e) => this.handlePreventFollowUrl(e, item)}\n onKeyDown={(e) => this.handleOverflowMenuAccessibility(e)}\n innerHTML={item.text}\n />\n </z-list-element>\n {index < array.length - 1 && <z-divider color=\"color-surface03\"></z-divider>}\n </div>\n );\n })}\n </z-list-group>\n </z-list>\n </div>\n </z-popover>\n <button\n class=\"dots\"\n ref={(el) => (this.triggerButton = el)}\n aria-label=\"Mostra più breadcrumb\"\n aria-haspopup=\"true\"\n onClick={() => {\n this.togglePopover();\n }}\n onKeyDown={(e) => {\n handleKeyboardSubmit(e, this.togglePopover.bind(this));\n setTimeout(() => {\n this.anchorElements[0].focus();\n }, 100);\n }}\n innerHTML=\"…\"\n ></button>\n {this.pathsList.length > 0 && (\n <z-icon\n class=\"separator\"\n name=\"chevron-right\"\n aria-hidden=\"true\"\n />\n )}\n </li>\n );\n }\n\n private renderMobileItems(): HTMLLIElement {\n // show only the second to last element\n const secondToLastPath = this.pathsList[this.pathsList.length - 1];\n\n if (!secondToLastPath) {\n return;\n }\n\n return (\n <li>\n <a\n aria-current={secondToLastPath.path ? undefined : \"page\"}\n href={secondToLastPath.path}\n onClick={(e) => this.handlePreventFollowUrl(e, secondToLastPath)}\n >\n <z-icon name=\"chevron-left\" />\n <span\n class={{\n \"missing-path\": !secondToLastPath.path,\n \"text-ellipsis\": true,\n }}\n >\n {secondToLastPath.text}\n </span>\n </a>\n </li>\n );\n }\n\n private renderItems(): HTMLElement[] {\n let trigger;\n\n return [\n this.renderHomepageNode(),\n this.collapsedElements.length > 0 && this.renderOverflowMenu(),\n ...this.pathsList.map((item, index) => (\n <li>\n {item.hasTooltip && (\n <z-popover\n class=\"full-path-tooltip\"\n bindTo={trigger}\n open={this.popoverEllipsisOpen}\n position={PopoverPosition.BOTTOM_RIGHT}\n closable={false}\n showArrow\n >\n <span class=\"tooltip-content\">{this.currentEllipsisText}</span>\n </z-popover>\n )}\n <a\n class={{\"missing-path\": !item.path}}\n ref={(val) => (trigger = val)}\n aria-current={item.path ? undefined : \"page\"}\n href={item.path}\n onClick={(e) => this.handlePreventFollowUrl(e, item)}\n onMouseOver={() => {\n if (item.hasTooltip) {\n this.popoverEllipsisOpen = true;\n }\n }}\n onMouseLeave={() => {\n if (item.hasTooltip) {\n this.popoverEllipsisOpen = false;\n }\n }}\n innerHTML={item.text}\n />\n {index !== this.pathsList.length - 1 && (\n <z-icon\n class=\"separator\"\n name=\"chevron-right\"\n aria-hidden=\"true\"\n />\n )}\n </li>\n )),\n ];\n }\n\n render(): HTMLZBreadcrumbElement {\n return (\n <Host style={{\"--line-clamp-popover\": `${this.overflowMenuItemRows}`}}>\n <nav\n ref={(val) => (this.wrapElement = val)}\n aria-label=\"Breadcrumb\"\n class={{\n semibold: this.pathStyle === BreadcrumbPathStyle.SEMIBOLD,\n underlined: this.pathStyle === BreadcrumbPathStyle.UNDERLINED,\n }}\n >\n <ol>{this.viewPortWidth === Device.MOBILE ? this.renderMobileItems() : this.renderItems()}</ol>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZButtonSort","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","sortlabelasc","sortlabeldesc","isselected","sortasc","allowTooltip","emitButtonSortClick","buttonSortClick","emit","buttonid","sortAsc","componentDidLoad","elementHasEllipsis","window","innerWidth","Breakpoints","TABLET","setButtonTitle","label","desclabel","ellipsis","offsetWidth","scrollWidth","render","h","key","title","id","class","selected","onClick","ref","el","counter","name","width","height"],"sources":["src/components/z-button-sort/styles.css?tag=z-button-sort&encapsulation=shadow","src/components/z-button-sort/index.tsx"],"sourcesContent":["button {\n display: flex;\n max-width: 100%;\n height: 36px;\n align-items: center;\n padding: 0 var(--space-unit);\n border: var(--border-size-medium) solid var(--color-primary01);\n background-color: var(--color-surface01);\n border-radius: var(--border-radius);\n color: var(--color-primary01);\n cursor: pointer;\n fill: var(--color-primary01);\n font-family: var(--font-family-sans);\n font-size: 14px;\n font-weight: var(--font-sb);\n outline: none;\n}\n\nbutton::-moz-focus-inner {\n border: 0;\n}\n\nbutton:hover {\n border-color: var(--color-hover-primary);\n color: var(--color-hover-primary);\n fill: var(--color-hover-primary-icon);\n}\n\nbutton:focus {\n border-color: var(--color-primary01);\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-primary01);\n fill: var(--color-primary01);\n}\n\nbutton:active {\n border-color: var(--color-pressed-primary);\n box-shadow: var(--shadow-2);\n color: var(--color-pressed-primary);\n fill: var(--color-active-primary-icon);\n}\n\nbutton.selected {\n border-color: var(--color-hover-primary);\n background-color: var(--color-hover-primary);\n color: var(--color-text-inverse);\n fill: var(--color-inverse-icon);\n}\n\nbutton > span.ellipsis {\n overflow: hidden;\n padding: 0;\n margin: 0;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nbutton > span.counter {\n margin-right: calc(var(--space-unit) * 2);\n margin-left: calc(var(--space-unit) / 2);\n}\n\nbutton > span.sort {\n margin-right: calc(var(--space-unit) / 2);\n white-space: nowrap;\n}\n\nbutton > span {\n margin-right: calc(var(--space-unit) / 2);\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n button {\n max-width: 325px;\n }\n}\n\n/* Desktop breakpoint */\n@media (min-width: 1152px) {\n button {\n max-width: 490px;\n }\n}\n","import {Component, ComponentInterface, Event, EventEmitter, Prop, State, h} from \"@stencil/core\";\nimport {Breakpoints} from \"../../constants/breakpoints\";\n\n@Component({\n tag: \"z-button-sort\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZButtonSort implements ComponentInterface {\n /** id, should be unique */\n @Prop()\n buttonid: string;\n\n /** label content (ascending) */\n @Prop()\n label: string;\n\n /** label content (descending) */\n @Prop()\n desclabel?: string;\n\n /** occurrences counter (optional) */\n @Prop()\n counter?: number;\n\n /** sort label content (ascending) (optional) */\n @Prop()\n sortlabelasc?: string = \"A-Z\";\n\n /** sort label content (descending) (optional) */\n @Prop()\n sortlabeldesc?: string = \"Z-A\";\n\n /** selected flag (optional) */\n @Prop({mutable: true})\n isselected?: boolean = false;\n\n /** sortable flag (optional) */\n @Prop({mutable: true})\n sortasc?: boolean = true;\n\n @State()\n allowTooltip = false;\n\n private ellipsis?: HTMLSpanElement;\n\n /** sorting direction click event, returns `buttonid` and `sortAsc` */\n @Event()\n buttonSortClick: EventEmitter;\n\n private emitButtonSortClick(): void {\n if (!this.isselected) {\n this.isselected = true;\n } else {\n this.sortasc = !this.sortasc;\n }\n this.buttonSortClick.emit({\n buttonid: this.buttonid,\n sortAsc: this.sortasc,\n });\n }\n\n componentDidLoad(): void {\n if (this.elementHasEllipsis() && window.innerWidth > Breakpoints.TABLET) {\n this.allowTooltip = true;\n }\n }\n\n private setButtonTitle(): string {\n return this.allowTooltip ? `${this.sortasc ? this.label : this.desclabel}` : \"\";\n }\n\n private elementHasEllipsis(): boolean {\n return this.ellipsis.offsetWidth < this.ellipsis.scrollWidth;\n }\n\n render(): HTMLButtonElement {\n return (\n <button\n title={this.setButtonTitle()}\n id={this.buttonid}\n class={{selected: this.isselected}}\n onClick={() => this.emitButtonSortClick()}\n >\n <span\n ref={(el) => (this.ellipsis = el as HTMLSpanElement)}\n class=\"ellipsis\"\n >\n {!this.sortasc && this.desclabel ? this.desclabel : this.label}\n </span>\n <span class=\"counter\">{this.counter && ` (${this.counter})`}</span>\n <span class=\"sort\">{this.sortasc ? this.sortlabelasc : this.sortlabeldesc}</span>\n <z-icon\n name=\"caret-up-down\"\n width={16}\n height={16}\n />\n </button>\n );\n }\n}\n"],"mappings":"mMAAA,MAAMA,EAAY,IAAM,w6C,MCQXC,EAAWC,EAAA,MAAAD,UAAAE,EALxB,WAAAC,CAAAC,G,mHAwBEC,KAAAC,aAAwB,MAIxBD,KAAAE,cAAyB,MAIzBF,KAAAG,WAAuB,MAIvBH,KAAAI,QAAoB,KAGpBJ,KAAAK,aAAe,KA0DhB,CAlDS,mBAAAC,GACN,IAAKN,KAAKG,WAAY,CACpBH,KAAKG,WAAa,I,KACb,CACLH,KAAKI,SAAWJ,KAAKI,O,CAEvBJ,KAAKO,gBAAgBC,KAAK,CACxBC,SAAUT,KAAKS,SACfC,QAASV,KAAKI,S,CAIlB,gBAAAO,GACE,GAAIX,KAAKY,sBAAwBC,OAAOC,WAAaC,EAAYC,OAAQ,CACvEhB,KAAKK,aAAe,I,EAIhB,cAAAY,GACN,OAAOjB,KAAKK,aAAe,GAAGL,KAAKI,QAAUJ,KAAKkB,MAAQlB,KAAKmB,YAAc,E,CAGvE,kBAAAP,GACN,OAAOZ,KAAKoB,SAASC,YAAcrB,KAAKoB,SAASE,W,CAGnD,MAAAC,GACE,OACEC,EAAA,UAAAC,IAAA,2CACEC,MAAO1B,KAAKiB,iBACZU,GAAI3B,KAAKS,SACTmB,MAAO,CAACC,SAAU7B,KAAKG,YACvB2B,QAAS,IAAM9B,KAAKM,uBAEpBkB,EAAA,QAAAC,IAAA,2CACEM,IAAMC,GAAQhC,KAAKoB,SAAWY,EAC9BJ,MAAM,aAEJ5B,KAAKI,SAAWJ,KAAKmB,UAAYnB,KAAKmB,UAAYnB,KAAKkB,OAE3DM,EAAA,QAAAC,IAAA,2CAAMG,MAAM,WAAW5B,KAAKiC,SAAW,KAAKjC,KAAKiC,YACjDT,EAAA,QAAAC,IAAA,2CAAMG,MAAM,QAAQ5B,KAAKI,QAAUJ,KAAKC,aAAeD,KAAKE,eAC5DsB,EAAA,UAAAC,IAAA,2CACES,KAAK,gBACLC,MAAO,GACPC,OAAQ,K","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","ZCard","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","showShadow","clickable","componentWillLoad","hasCoverImage","host","querySelector","renderColorCoverCard","h","class","name","renderContent","render","variant","CardVariant","TEXT","Host","OVERLAY","coverIcon"],"sources":["src/components/z-card/styles.css?tag=z-card&encapsulation=shadow","src/components/z-card/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --aspect-ratio: Cover aspect ratio. Default: `1.62`\n * @prop --z-card--border-color: Default: `var(--gray200)`\n * @prop --z-card--color-cover-background: Cover color. Default: `var(--color-surface01)`\n * @prop --z-card--text-background: Background color for the `text` variant. Default: `var(--color-surface01)`\n * @prop --z-card--text-border-radius: Default: `none`\n * @prop --z-card--text-border: Configure CSS `border`. Default: `none`\n * @prop --z-card--text-padding: Configure CSS `padding`. Default: `none`\n */\n --aspect-ratio: 1.62;\n --z-card--border-color: var(--gray200);\n --z-card--color-cover-background: var(--color-surface01);\n --z-card--text-background: var(--color-surface01);\n --z-card--text-border-radius: none;\n --z-card--text-border: none;\n --z-card--text-padding: calc(var(--space-unit) * 2) var(--space-unit);\n\n position: relative;\n display: flex;\n flex-direction: column;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n*,\n::slotted(*) {\n box-sizing: border-box;\n}\n\n*:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(:not([variant=\"overlay\"])) .cover-container {\n position: relative;\n width: 100%;\n}\n\n/* Old good trick with percentage padding to keep the aspect ratio.\nUnfortunately the `aspect-ratio` property is still experimental */\n.cover-container {\n padding-bottom: calc(100% / var(--aspect-ratio));\n}\n\n::slotted([slot=\"cover\"]),\n.color-cover {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n\n.cover-container > z-icon {\n --z-icon-width: calc(var(--space-unit) * 11);\n --z-icon-height: var(--z-icon-width);\n\n position: absolute;\n top: calc(50% - calc(var(--z-icon-height) / 2));\n left: calc(50% - calc(var(--z-icon-width) / 2));\n fill: var(--color-primary01);\n}\n\n.color-cover {\n background-color: var(--z-card--color-cover-background);\n}\n\n.content {\n display: flex;\n flex-direction: column;\n padding-top: var(--space-unit);\n}\n\n.color-cover .cover-content {\n display: flex;\n height: 100%;\n flex-direction: column;\n justify-content: flex-end;\n padding: var(--space-unit);\n}\n\n/* Truncates overflowing text */\n::slotted([slot=\"metadata\"]),\n::slotted([slot=\"title\"]),\n::slotted([slot=\"text\"]) {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n}\n\n::slotted([slot=\"title\"]:not(:last-child)),\n::slotted([slot=\"text\"]:not(:last-child)) {\n margin-bottom: var(--space-unit);\n}\n\n::slotted([slot=\"title\"])::before {\n position: absolute;\n z-index: 1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n content: \"\";\n}\n\n::slotted([slot=\"metadata\"]) {\n width: 100%;\n -webkit-line-clamp: 1;\n line-clamp: 1;\n text-transform: uppercase;\n}\n\n::slotted([slot=\"metadata\"]:not(:last-child)) {\n margin: 0 0 calc(var(--space-unit) * 0.25);\n}\n\n::slotted([slot=\"title\"]) {\n margin: 0;\n font-size: var(--font-size-3);\n font-weight: var(--font-sb);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n text-decoration: none;\n}\n\n::slotted([slot=\"title\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n::slotted([slot=\"text\"]) {\n width: 100%;\n margin: 0;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n}\n\n.actions {\n display: flex;\n align-items: center;\n}\n\n:host(:not([variant=\"overlay\"])) .actions {\n margin-top: auto;\n}\n\n::slotted([slot=\"action\"]) {\n position: relative;\n z-index: 2;\n}\n\n::slotted([slot=\"action\"]:not(:last-child)) {\n margin-right: calc(var(--space-unit) * 2);\n}\n\n::slotted([slot=\"action\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n:host([clickable]) ::slotted([slot=\"title\"]:focus:focus-visible) {\n box-shadow: none !important;\n outline: none !important;\n}\n\n:host([clickable]) ::slotted([slot=\"title\"]:focus:focus-visible)::before {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host([variant=\"text\"]) {\n border: var(--z-card--text-border);\n background-color: var(--z-card--text-background);\n border-radius: var(--z-card--text-border-radius);\n}\n\n:host([variant=\"text\"]) [slot=\"text\"]::before {\n border-radius: var(--z-card--text-border-radius);\n}\n\n:host([show-shadow]) > .content,\n:host([variant=\"border\"]) > .content,\n:host([variant=\"shadow\"]) > .content {\n height: 100%;\n padding: var(--space-unit) var(--space-unit) calc(var(--space-unit) * 2);\n}\n\n:host([variant=\"text\"]) > .content {\n padding: var(--z-card--text-padding);\n}\n\n/* Border */\n:host([variant=\"border\"]) {\n border: var(--border-size-small) solid var(--z-card--border-color);\n}\n\n:host([variant=\"border\"][clickable]:hover) > .content {\n background: var(--color-background);\n}\n\n:host([variant=\"border\"][clickable]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host([variant=\"border\"][clickable]:active) {\n border-color: transparent;\n}\n\n/* Shadow */\n:host([variant=\"shadow\"]),\n:host([show-shadow]) {\n box-shadow: var(--shadow-2);\n}\n\n:host([variant=\"shadow\"][clickable]:hover),\n:host([clickable][show-shadow]:hover) {\n box-shadow: var(--shadow-4);\n}\n\n:host([variant=\"shadow\"][clickable]:focus:focus-visible),\n:host([clickable][show-shadow]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host([variant=\"shadow\"][clickable]:active),\n:host([clickable][show-shadow]:active) {\n box-shadow: none;\n}\n\n/* Overlay */\n:host([variant=\"overlay\"]) .content {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n justify-content: flex-end;\n padding: var(--space-unit);\n background-image: linear-gradient(to bottom, transparent, rgb(39 39 39 / 57%) 85%, var(--gray800) 100%);\n color: var(--color-text-inverse);\n fill: var(--color-text-inverse);\n}\n","import {Component, ComponentInterface, Element, Host, Prop, State, h} from \"@stencil/core\";\nimport {CardVariant} from \"../../beans\";\n\n/**\n * ZCard component.\n * The width of the card must be set by its container, following the grid indications of the design.\n *\n * @slot cover - Image cover\n * @slot metadata - Metadata\n * @slot title - Using an `<a>` tag here will make the whole card clickable as if the link was wrapping it.\n * @slot text\n * @slot action - Interactive elements to place at the bottom of the card. To put non-interactive elements here when using an `<a>` tag in the `title` slot, and use this as a sort of \"footer\", set `z-index: 0` on each of those elements.\n */\n@Component({\n tag: \"z-card\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCard implements ComponentInterface {\n /**\n * Card variant.\n * Can be one of \"text\", \"border\", \"shadow\", \"overlay\".\n * Leave it undefined for the default card.\n */\n @Prop({reflect: true})\n variant?: CardVariant;\n\n /** Name of the icon to place over the image cover */\n @Prop()\n coverIcon: string;\n\n /** Enable shadow. Default: false. */\n @Prop({reflect: true})\n showShadow = false;\n\n /**\n * Enable \"clickable\" styles like hover background and cursor, focus shadow on the whole card, etc.\n * Always set this to `true` when putting an `<a>` tag in the `title` slot.\n */\n @Prop({reflect: true})\n clickable = false;\n\n @Element() host: HTMLZCardElement;\n\n @State()\n hasCoverImage: boolean;\n\n componentWillLoad(): void {\n this.hasCoverImage = this.host.querySelector('[slot=\"cover\"]') !== null;\n }\n\n /**\n * Template for a card without image cover.\n * A colored background replaces the image and some data is moved over it.\n */\n private renderColorCoverCard(): HTMLDivElement[] {\n return [\n <div class=\"cover-container\">\n <div class=\"color-cover\">\n <div class=\"cover-content\">\n <slot name=\"metadata\"></slot>\n <slot name=\"title\"></slot>\n </div>\n </div>\n </div>,\n <div class=\"content\">\n <slot name=\"text\"></slot>\n <div class=\"actions\">\n <slot name=\"action\"></slot>\n </div>\n </div>,\n ];\n }\n\n /**\n * Template for the content.\n */\n private renderContent(): HTMLDivElement {\n return (\n <div class=\"content\">\n <slot name=\"metadata\"></slot>\n <slot name=\"title\"></slot>\n <slot name=\"text\"></slot>\n <div class=\"actions\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n );\n }\n\n render(): HTMLZCardElement {\n if (this.variant === CardVariant.TEXT) {\n return <Host>{this.renderContent()}</Host>;\n }\n\n if (this.variant === CardVariant.OVERLAY || this.hasCoverImage) {\n return (\n <Host>\n <div class=\"cover-container\">\n {this.hasCoverImage && [\n <slot name=\"cover\"></slot>,\n this.variant !== CardVariant.OVERLAY && this.coverIcon && <z-icon name={this.coverIcon}></z-icon>,\n ]}\n {!this.hasCoverImage && <div class=\"color-cover\"></div>}\n </div>\n {this.renderContent()}\n </Host>\n );\n }\n\n return <Host>{this.renderColorCoverCard()}</Host>;\n }\n}\n"],"mappings":"uLAAA,MAAMA,EAAY,IAAM,wvI,MCkBXC,EAAKC,EAAA,MAAAD,UAAAE,EALlB,WAAAC,CAAAC,G,kEAoBEC,KAAAC,WAAa,MAObD,KAAAE,UAAY,KAwEb,CAjEC,iBAAAC,GACEH,KAAKI,cAAgBJ,KAAKK,KAAKC,cAAc,oBAAsB,I,CAO7D,oBAAAC,GACN,MAAO,CACLC,EAAA,OAAKC,MAAM,mBACTD,EAAA,OAAKC,MAAM,eACTD,EAAA,OAAKC,MAAM,iBACTD,EAAA,QAAME,KAAK,aACXF,EAAA,QAAME,KAAK,aAIjBF,EAAA,OAAKC,MAAM,WACTD,EAAA,QAAME,KAAK,SACXF,EAAA,OAAKC,MAAM,WACTD,EAAA,QAAME,KAAK,a,CASX,aAAAC,GACN,OACEH,EAAA,OAAKC,MAAM,WACTD,EAAA,QAAME,KAAK,aACXF,EAAA,QAAME,KAAK,UACXF,EAAA,QAAME,KAAK,SACXF,EAAA,OAAKC,MAAM,WACTD,EAAA,QAAME,KAAK,Y,CAMnB,MAAAE,GACE,GAAIZ,KAAKa,UAAYC,EAAYC,KAAM,CACrC,OAAOP,EAACQ,EAAI,KAAEhB,KAAKW,gB,CAGrB,GAAIX,KAAKa,UAAYC,EAAYG,SAAWjB,KAAKI,cAAe,CAC9D,OACEI,EAACQ,EAAI,KACHR,EAAA,OAAKC,MAAM,mBACRT,KAAKI,eAAiB,CACrBI,EAAA,QAAME,KAAK,UACXV,KAAKa,UAAYC,EAAYG,SAAWjB,KAAKkB,WAAaV,EAAA,UAAQE,KAAMV,KAAKkB,cAE7ElB,KAAKI,eAAiBI,EAAA,OAAKC,MAAM,iBAEpCT,KAAKW,gB,CAKZ,OAAOH,EAACQ,EAAI,KAAEhB,KAAKO,uB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","typographyCss","ZCarousel","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","single","fixedArrows","ghostLoadingHeight","infinite","current","scrollingTo","onIndexChange","indexChange","emit","currentItem","onSingleModeChange","intersectionObserver","setIntersectionObserver","onInfiniteModeChange","checkNavigationValidity","onLoadingChange","isLoading","setupObserversAndListeners","setupItems","_a","itemsContainer","addEventListener","bind","passive","resizeObserver","ResizeObserver","observe","IntersectionObserver","entries","entry","find","isIntersecting","entryIndex","items","findIndex","item","target","highlightedIndicator","root","threshold","forEach","element","onSlotChange","Array","from","host","children","goTo","onPrev","length","Math","max","scrollBy","left","scrollLeft","scrollWidth","clientWidth","behavior","onNext","next","min","canNavigatePrev","canNavigateNext","canShowFooter","arrowsPosition","CarouselArrowsPosition","BOTTOM","progressMode","CarouselProgressMode","DOTS","NUMBERS","index","slice","reduce","acc","scroll","canNavigate","setAttribute","componentDidLoad","disconnectedCallback","disconnect","render","h","class","label","style","height","Host","variant","ButtonVariant","SECONDARY","icon","onClick","disabled","hidden","OVER","ariaLabel","ref","el","onSlotchange","TERTIARY","map","_","type"],"sources":["src/components/z-carousel/styles.css?tag=z-carousel&encapsulation=shadow","src/tokens/typography.css?tag=z-carousel&encapsulation=shadow","src/components/z-carousel/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --z-carousel-gutter: The gutter between items.\n * @prop --z-carousel-items-shadow: The shadow around the items.\n */\n --z-carousel-gutter: 0;\n --z-carousel-items-shadow: ;\n\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host([single]) {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n:host([single]) .z-carousel-container {\n width: fit-content;\n max-width: 100%;\n}\n\n.z-carousel-container {\n display: flex;\n flex-direction: column;\n}\n\n.z-carousel-title {\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n.z-carousel-wrapper {\n position: relative;\n}\n\n.z-carousel-items-container {\n display: flex;\n max-width: 100%;\n flex-direction: row;\n margin: 0;\n box-shadow: var(--z-carousel-items-shadow, none);\n column-gap: var(--z-carousel-gutter);\n list-style: none;\n -ms-overflow-style: none; /* IE and Edge */\n overflow-x: scroll;\n padding-inline-start: 0;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n\n /* Hide scrollbar for IE, Edge and Firefox */\n scrollbar-width: none; /* Firefox */\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n.z-carousel-items-container::-webkit-scrollbar {\n display: none;\n}\n\n.z-carousel-items-container ::slotted(*) {\n scroll-snap-align: center;\n}\n\n.z-carousel-navigation-arrow[hidden] {\n display: none;\n}\n\n.z-carousel-navigation-arrow[data-direction] {\n position: absolute;\n z-index: 1;\n bottom: 50%;\n transform: translateY(50%);\n}\n\n.z-carousel-navigation-arrow[data-direction=\"next\"] {\n right: 0;\n}\n\n:host(:not([fixed-arrows])) .z-carousel-wrapper .z-carousel-navigation-arrow {\n display: none;\n}\n\n.z-carousel-footer {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n column-gap: calc(var(--space-unit) * 3);\n}\n\n:host([arrows-position=\"bottom\"]) .z-carousel-footer {\n margin-top: calc(var(--space-unit) * 0.75);\n}\n\n.z-carousel-footer .numbers-progress,\n.z-carousel-footer .dots-progress {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.z-carousel-footer .dots-progress {\n column-gap: calc(var(--space-unit) * 3);\n}\n\n:host(:not([arrows-position=\"bottom\"])) .z-carousel-footer .dots-progress {\n margin-top: calc(var(--space-unit) * 2);\n}\n\n.z-carousel-footer .dots-progress button {\n display: flex;\n width: calc(var(--space-unit) * 3);\n height: calc(var(--space-unit) * 3);\n align-items: center;\n padding: 0;\n border: none;\n margin: 0;\n background-color: var(--color-surface03);\n border-radius: calc(var(--space-unit) * 3);\n}\n\n.z-carousel-footer .dots-progress button.current {\n background-color: var(--color-primary01);\n}\n\n.z-carousel-footer .dots-progress button:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.z-carousel-footer .dots-progress button:not(.current) {\n cursor: pointer;\n}\n\n.z-carousel-footer .numbers-progress {\n column-gap: calc(var(--space-unit) / 2);\n}\n\n:host(:not([arrows-position=\"bottom\"])) .z-carousel-footer .numbers-progress {\n margin-top: var(--space-unit);\n}\n\n.z-carousel-footer .numbers-progress .current {\n font-weight: var(--font-sb);\n}\n\n@media (min-width: 768px) {\n :host(:not([fixed-arrows])) .z-carousel-wrapper:hover .z-carousel-navigation-arrow:not([hidden]) {\n display: flex;\n }\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 {Component, ComponentInterface, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ButtonVariant, CarouselArrowsPosition, CarouselProgressMode} from \"../../beans\";\n\n/**\n * ZCarousel component.\n * @slot - Carousel items. Use `<li>` elements inside this slot.\n */\n@Component({\n tag: \"z-carousel\",\n styleUrls: [\"styles.css\", \"../../tokens/typography.css\"],\n shadow: true,\n})\nexport class ZCarousel implements ComponentInterface {\n @Element() host: HTMLZCarouselElement;\n\n /** The z-carousel is on loading state */\n @Prop()\n isLoading: boolean;\n\n /** The z-carousel title */\n @Prop()\n label?: string;\n\n /** Shows only one content at a time */\n @Prop({reflect: true})\n single = false;\n\n /** Arrow buttons position */\n @Prop({reflect: true})\n arrowsPosition?: CarouselArrowsPosition;\n\n /** Progress indicator type. Only available for `single` mode */\n @Prop()\n progressMode?: CarouselProgressMode;\n\n /**\n * Whether the navigation arrow buttons over the items are always visible or only on mouse hover.\n * If set to `false`, the arrows will not be visible on mobile.\n * Only meaningful with `arrowsPosition` set to `OVER`.\n */\n @Prop({reflect: true})\n fixedArrows = true;\n\n /** The height of the ghost loader (only visible when `isLoading` is set to `true`) */\n @Prop()\n ghostLoadingHeight = 100;\n\n /** When enabled, navigating next the last item will go back to the first item and vice versa. */\n @Prop()\n infinite = false;\n\n /** Current item index for single mode. */\n @State()\n current = 0;\n\n /** Items on the slider. */\n @State()\n items: HTMLLIElement[];\n\n /** Index of the indicator to highlight. */\n @State()\n highlightedIndicator: number;\n\n @State()\n canNavigatePrev: boolean;\n\n @State()\n canNavigateNext: boolean;\n\n /** Reference for the items container element. */\n protected itemsContainer: HTMLUListElement;\n\n /** Observer that handles current index change when scrolling on single mode. */\n private intersectionObserver: IntersectionObserver;\n\n /** Observer to check if navigation can still be enabled/showed when the size of the items' container changes */\n private resizeObserver: ResizeObserver;\n\n /** Flag indicating the items container is about to scroll programmatically towards the stored index. */\n private scrollingTo: number = null;\n\n /** Emitted on index change and only in `single` mode. */\n @Event()\n indexChange: EventEmitter<{currentItem: number}>;\n\n @Watch(\"current\")\n onIndexChange(): void {\n this.indexChange.emit({currentItem: this.current});\n }\n\n @Watch(\"single\")\n onSingleModeChange(): void {\n if (this.single && !this.intersectionObserver) {\n this.setIntersectionObserver();\n }\n }\n\n @Watch(\"infinite\")\n onInfiniteModeChange(): void {\n this.checkNavigationValidity();\n }\n\n @Watch(\"isLoading\")\n onLoadingChange(): void {\n if (!this.isLoading) {\n // when loading is finished, we need to set up things with the real items that were not present during the loading phase\n this.setupObserversAndListeners();\n }\n }\n\n /** Set up all observers and listeners related to the rendered items. */\n private setupObserversAndListeners(): void {\n this.setupItems();\n this.itemsContainer?.addEventListener(\"scroll\", this.checkNavigationValidity.bind(this), {passive: true});\n this.resizeObserver = new ResizeObserver(this.checkNavigationValidity.bind(this));\n this.resizeObserver.observe(this.itemsContainer);\n if (this.single) {\n this.setIntersectionObserver();\n }\n this.checkNavigationValidity();\n }\n\n /**\n * Set an intersection observer to:\n * - highlight the indicator of the intersecting item during scroll\n * - set the current item to the last intersecting item\n */\n private setIntersectionObserver(): void {\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n const entry = entries.find(({isIntersecting}) => isIntersecting);\n if (!entry) {\n return;\n }\n\n const entryIndex = this.items.findIndex((item) => item === entry.target);\n this.highlightedIndicator = entryIndex;\n\n /* skip setting the current item if intersection has been triggered by a programmatic scroll\n (@see `goTo` function) and the final index has not been reached */\n if (this.scrollingTo !== null && entryIndex !== this.scrollingTo) {\n return;\n }\n\n this.scrollingTo = null;\n this.current = entryIndex;\n },\n {\n root: this.itemsContainer,\n threshold: 0.5,\n }\n );\n\n this.items.forEach((element) => this.intersectionObserver.observe(element));\n }\n\n /** Update items' list and check conditions to allow navigation */\n private onSlotChange(): void {\n this.items = Array.from(this.host.children) as HTMLLIElement[];\n this.checkNavigationValidity();\n this.setIntersectionObserver();\n this.goTo(this.current);\n }\n\n private onPrev(): void {\n if (this.single) {\n this.goTo(this.infinite && this.current - 1 < 0 ? this.items.length - 1 : Math.max(0, this.current - 1));\n\n return;\n }\n\n this.itemsContainer.scrollBy({\n left:\n this.infinite && this.itemsContainer.scrollLeft == 0\n ? this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth\n : -this.itemsContainer.clientWidth / 2,\n behavior: \"smooth\",\n });\n }\n\n private onNext(): void {\n if (this.single) {\n const next =\n this.infinite && this.current + 1 > this.items.length - 1\n ? 0\n : Math.min(this.current + 1, this.items.length - 1);\n\n return this.goTo(next);\n }\n\n this.itemsContainer.scrollBy({\n left:\n this.infinite &&\n this.itemsContainer.scrollLeft == this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth\n ? -this.itemsContainer.scrollWidth\n : this.itemsContainer.clientWidth / 2,\n behavior: \"smooth\",\n });\n }\n\n /**\n * Check if navigation buttons can be enabled and set the related local states.\n */\n private checkNavigationValidity(): void {\n if (this.single) {\n this.canNavigatePrev = this.current > 0;\n this.canNavigateNext = this.current < this.items.length - 1;\n\n return;\n }\n\n this.canNavigatePrev = this.itemsContainer.scrollLeft > 0;\n this.canNavigateNext =\n this.itemsContainer.scrollLeft < this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth;\n }\n\n /**\n * Check if footer has to be rendered.\n */\n private canShowFooter(): boolean {\n if (!this.canNavigatePrev && !this.canNavigateNext) {\n return false;\n }\n\n return (\n this.arrowsPosition === CarouselArrowsPosition.BOTTOM ||\n this.progressMode === CarouselProgressMode.DOTS ||\n this.progressMode === CarouselProgressMode.NUMBERS\n );\n }\n\n /**\n * Set current item to passed index.\n * @param index Index to set\n */\n private goTo(index: number): void {\n if (this.current === index) {\n return;\n }\n\n this.scrollingTo = index;\n const left = this.items.slice(0, index).reduce((acc, item) => (acc += item.clientWidth), 0);\n // the scroll will trigger the IntersectionObserver and set the current item\n this.itemsContainer.scroll({\n left,\n behavior: \"smooth\",\n });\n }\n\n /** Check if navigation of at least one direction is enabled */\n private get canNavigate(): boolean {\n return this.canNavigatePrev || this.canNavigateNext;\n }\n\n private setupItems(): void {\n this.items = Array.from(this.host.children) as HTMLLIElement[];\n this.items.forEach((item) => {\n item.setAttribute(\"aria-roledescription\", \"slide\");\n });\n }\n\n componentDidLoad(): void {\n if (this.isLoading) {\n return;\n }\n\n this.setupObserversAndListeners();\n }\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n render(): HTMLDivElement | HTMLZCarouselElement {\n if (this.isLoading) {\n return (\n <div class=\"z-carousel-container\">\n {this.label && <div class=\"heading-3-sb z-carousel-title\">{this.label}</div>}\n <div style={{height: `${this.ghostLoadingHeight}px`}}>\n <z-ghost-loading></z-ghost-loading>\n </div>\n </div>\n );\n }\n\n return (\n <Host>\n <div\n class=\"z-carousel-container\"\n aria-roledescription=\"carousel\"\n aria-label={this.label || \"Carousel\"}\n >\n {this.label && <div class=\"z-carousel-title heading-3-sb\">{this.label}</div>}\n <div class=\"z-carousel-wrapper\">\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.SECONDARY}\n data-direction=\"prev\"\n icon=\"arrow-left\"\n onClick={this.onPrev.bind(this)}\n disabled={!this.infinite && !this.canNavigatePrev}\n hidden={this.arrowsPosition !== CarouselArrowsPosition.OVER || !this.canNavigate}\n ariaLabel={this.single ? \"Mostra l'elemento precedente\" : \"Mostra gli elementi precedenti\"}\n />\n <ul\n class=\"z-carousel-items-container\"\n aria-atomic=\"false\"\n aria-live=\"polite\"\n ref={(el) => (this.itemsContainer = el)}\n >\n <slot onSlotchange={this.onSlotChange.bind(this)} />\n </ul>\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.SECONDARY}\n data-direction=\"next\"\n icon=\"arrow-right\"\n onClick={this.onNext.bind(this)}\n disabled={!this.infinite && !this.canNavigateNext}\n hidden={this.arrowsPosition !== CarouselArrowsPosition.OVER || !this.canNavigate}\n ariaLabel={this.single ? \"Mostra l'elemento successivo\" : \"Mostra gli elementi successivi\"}\n />\n </div>\n </div>\n\n {this.canShowFooter() && (\n <div class=\"z-carousel-footer\">\n {this.arrowsPosition === CarouselArrowsPosition.BOTTOM && (\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.TERTIARY}\n icon=\"arrow-left\"\n onClick={this.onPrev.bind(this)}\n disabled={!this.infinite && !this.canNavigatePrev}\n ariaLabel={this.single ? \"Mostra l'elemento precedente\" : \"Mostra gli elementi precedenti\"}\n />\n )}\n {this.progressMode === CarouselProgressMode.DOTS && this.single && this.items && (\n <div class=\"dots-progress\">\n {this.items.map((_, index) => (\n <button\n type=\"button\"\n class={{current: this.highlightedIndicator === index}}\n aria-label={\n this.highlightedIndicator === index ? \"Elemento corrente\" : `Spostati all'elemento ${index + 1}`\n }\n onClick={() => this.goTo(index)}\n />\n ))}\n </div>\n )}\n {this.progressMode === CarouselProgressMode.NUMBERS && this.single && this.items && (\n <div class=\"numbers-progress interactive-1\">\n <span class=\"current\">{this.current + 1}</span>\n <span>di</span>\n <span>{this.items.length}</span>\n </div>\n )}\n {this.arrowsPosition === CarouselArrowsPosition.BOTTOM && (\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.TERTIARY}\n icon=\"arrow-right\"\n onClick={this.onNext.bind(this)}\n disabled={!this.infinite && !this.canNavigateNext}\n ariaLabel={this.single ? \"Mostra l'elemento successivo\" : \"Mostra gli elementi successivi\"}\n />\n )}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","LOCALES","it","en","COLOR_GROUP_SIZE","COLOR_GROUPS","ZColorPicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","lng","disableTransparent","colorKeysByRow","_colorButtons","colorButtons","length","Array","from","host","shadowRoot","querySelectorAll","sortColorKeysByRow","allKeys","Object","keys","ColorPickerPalette","ordered","row","col","columnMajorIndex","push","moveFocusTo","index","forEach","btn","i","tabIndex","focus","validateTransparentSelection","selectedColor","emitColorSelected","colorSelected","emit","setFocus","firstSelectedOrEnabled","find","ariaSelected","disabled","setTimeout","getNextIndexByKey","currentIndex","key","totalColors","Math","floor","newIndex","newCol","newRow","handleKeyDown","event","target","composedPath","dataset","color","indexOf","includes","attempts","_a","_b","preventDefault","stopPropagation","handleBlur","relatedTarget","containsElement","componentWillLoad","render","h","Host","role","htmlAriaLabel","map","colorKey","class","toUpperCase","onClick","title","style","backgroundColor"],"sources":["src/components/z-color-picker/styles.css?tag=z-color-picker&encapsulation=shadow","src/components/z-color-picker/index.tsx"],"sourcesContent":[":host {\n display: grid;\n width: fit-content;\n padding: calc(var(--space-unit) * 2);\n background: var(--color-surface01);\n gap: var(--space-unit);\n grid-template-columns: repeat(9, calc(var(--space-unit) * 3));\n grid-template-rows: repeat(5, calc(var(--space-unit) * 3));\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\nbutton {\n --border-color: var(--color-surface05);\n\n padding: 0;\n border: none;\n appearance: none;\n background: none;\n border-radius: var(--border-radius);\n cursor: pointer;\n}\n\nbutton[data-color=\"#FFFFFF00\"] {\n position: relative;\n}\n\n/* draw a diagonal line from top right corner */\nbutton[data-color=\"#FFFFFF00\"]::after {\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(\n -45deg,\n transparent 48%,\n var(--border-color) 48%,\n var(--border-color) 52%,\n transparent 52%\n );\n border-radius: var(--border-radius);\n content: \"\";\n}\n\nbutton[aria-selected=\"true\"] {\n box-shadow:\n 0 0 0 1px var(--color-white),\n 0 0 0 3px var(--color-active-primary);\n}\n\nbutton:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n}\n\nbutton .color-swatch {\n width: calc(var(--space-unit) * 3);\n height: calc(var(--space-unit) * 3);\n border: var(--border-size-small) solid var(--border-color);\n border-radius: var(--border-radius);\n}\n\nbutton[data-color=\"#FFFFFF00\"]:disabled {\n --border-color: var(--color-disabled01-icon);\n\n cursor: not-allowed;\n}\n\nbutton[data-color=\"#FFFFFF00\"]:disabled .color-swatch {\n background-color: var(--color-disabled02);\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ColorPickerPalette} from \"../../beans\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst LOCALES = {\n it: {\n \"Select a color\": \"Seleziona un colore\",\n \"Color swatch\": \"Campione di colore\",\n },\n en: {\n \"Select a color\": \"Select a color\",\n \"Color swatch\": \"Color swatch\",\n },\n} as const;\n\n/** Number of colors in each group (column) of the grid. */\nconst COLOR_GROUP_SIZE = 5;\n\n/** Number of color groups (columns) in the grid. */\nconst COLOR_GROUPS = 9;\n\n/**\n * Color picker component.\n * This component allows the user to pick a color from a predefined set.\n */\n@Component({\n tag: \"z-color-picker\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZColorPicker implements ComponentInterface {\n @Element() host: HTMLZColorPickerElement;\n\n /**\n * The selected color to highlight.\n */\n @Prop({mutable: true})\n selectedColor: ColorPickerPalette;\n\n /**\n * The language for the aria labels inside the color picker.\n */\n @Prop()\n lng: \"it\" | \"en\" = \"it\";\n\n /**\n * The aria-label for the color picker, e.g. \"Select a background color for the label\".\n */\n @Prop()\n htmlAriaLabel: string;\n\n /**\n * Disables the transparent color option.\n * Setting `selectedColor` prop to `#FFFFFF00` while `disableTransparent` is true will default to `#333333` (\"dark gray 2\").\n */\n @Prop()\n disableTransparent = false;\n\n /**\n * Event emitted when a color is selected.\n */\n @Event()\n colorSelected: EventEmitter<ColorPickerPalette>;\n\n /**\n * The color keys arranged in row-major order for rendering and navigation.\n */\n private colorKeysByRow: ColorPickerPalette[] = [];\n\n private _colorButtons: HTMLButtonElement[] = [];\n\n private get colorButtons(): HTMLButtonElement[] {\n if (!this._colorButtons.length) {\n this._colorButtons = Array.from(this.host.shadowRoot.querySelectorAll(\"button\")) as HTMLButtonElement[];\n }\n\n return this._colorButtons;\n }\n\n /**\n * Reorders color keys from column-major (the format of the `ColorPickerPalette` object) to row-major (visual/navigation order).\n * This ensures button indices in the DOM match their visual position in the grid.\n */\n private sortColorKeysByRow(): ColorPickerPalette[] {\n const allKeys = Object.keys(ColorPickerPalette) as ColorPickerPalette[];\n const ordered: ColorPickerPalette[] = [];\n\n // Iterate through visual positions (row by row, left to right)\n for (let row = 0; row < COLOR_GROUP_SIZE; row++) {\n for (let col = 0; col < COLOR_GROUPS; col++) {\n const columnMajorIndex = col * COLOR_GROUP_SIZE + row;\n if (columnMajorIndex < allKeys.length) {\n ordered.push(allKeys[columnMajorIndex]);\n }\n }\n }\n\n return ordered;\n }\n\n /** Move focus to the specified color button by index. */\n private moveFocusTo(index: number): void {\n // Reset tabindex of other buttons and set tabindex to 0 on selected button\n this.colorButtons.forEach((btn, i) => (btn.tabIndex = i === index ? 0 : -1));\n this.colorButtons[index].focus();\n }\n\n @Watch(\"disableTransparent\")\n @Watch(\"selectedColor\")\n validateTransparentSelection(): void {\n if (this.disableTransparent && this.selectedColor === \"#FFFFFF00\") {\n this.selectedColor = \"#333333\"; // Default to dark gray 2 if transparent is disabled and currently selected\n }\n }\n\n @Watch(\"selectedColor\")\n emitColorSelected(): void {\n this.colorSelected.emit(this.selectedColor);\n }\n\n /**\n * Focuses the selected or first enabled color button and makes the container non-tabbable.\n */\n @Listen(\"focus\")\n @Method()\n async setFocus(): Promise<void> {\n // Reset tabindex of all buttons\n this.colorButtons.forEach((btn) => (btn.tabIndex = -1));\n const firstSelectedOrEnabled =\n this.colorButtons.find((btn) => btn.ariaSelected === \"true\") || this.colorButtons.find((btn) => !btn.disabled);\n if (!firstSelectedOrEnabled) {\n return;\n }\n\n firstSelectedOrEnabled.tabIndex = 0;\n setTimeout(() => {\n firstSelectedOrEnabled.focus();\n }, 50);\n // Set container as non-tabbable\n this.host.tabIndex = -1;\n }\n\n /**\n * Compute next index in row-major grid according to keyboard direction.\n */\n private getNextIndexByKey(currentIndex: number, key: string, totalColors: number): number {\n const row = Math.floor(currentIndex / COLOR_GROUPS);\n const col = currentIndex % COLOR_GROUPS;\n let newIndex = currentIndex;\n\n switch (key) {\n case \"ArrowRight\": {\n const newCol = col + 1;\n const newRow = newCol >= COLOR_GROUPS ? (row + 1) % COLOR_GROUP_SIZE : row;\n newIndex = newRow * COLOR_GROUPS + (newCol % COLOR_GROUPS);\n if (newIndex >= totalColors) {\n newIndex = 0; // Wrap to first item\n }\n\n break;\n }\n case \"ArrowLeft\": {\n const newCol = col - 1;\n const newRow = newCol < 0 ? (row - 1 + COLOR_GROUP_SIZE) % COLOR_GROUP_SIZE : row;\n newIndex = newRow * COLOR_GROUPS + ((newCol + COLOR_GROUPS) % COLOR_GROUPS);\n if (newIndex >= totalColors) {\n newIndex = totalColors - 1; // Wrap to last item\n }\n\n break;\n }\n case \"ArrowDown\": {\n let newRow = row + 1;\n let newCol = col;\n if (newRow >= COLOR_GROUP_SIZE) {\n // Wrap to first item of next column\n newRow = 0;\n newCol = (col + 1) % COLOR_GROUPS;\n }\n newIndex = newRow * COLOR_GROUPS + newCol;\n if (newIndex >= totalColors) {\n newIndex = 0; // Wrap to first item\n }\n\n break;\n }\n case \"ArrowUp\": {\n let newRow = row - 1;\n let newCol = col;\n if (newRow < 0) {\n // Wrap to last item of previous column\n newRow = COLOR_GROUP_SIZE - 1;\n newCol = (col - 1 + COLOR_GROUPS) % COLOR_GROUPS;\n }\n newIndex = newRow * COLOR_GROUPS + newCol;\n if (newIndex >= totalColors) {\n newIndex = totalColors - 1; // Wrap to last item\n }\n\n break;\n }\n }\n\n return newIndex;\n }\n\n /**\n * Handle keyboard navigation within the color picker.\n * Arrow keys move focus in the expected direction, wrapping around edges. The grid is navigated in row-major order.\n */\n @Listen(\"keydown\")\n handleKeyDown(event: KeyboardEvent): void {\n const target = event.composedPath()[0] as HTMLElement;\n if (!target.dataset.color) {\n return;\n }\n\n const currentIndex = this.colorButtons.indexOf(target as HTMLButtonElement);\n const totalColors = this.colorButtons.length;\n if (currentIndex < 0 || ![\"ArrowRight\", \"ArrowLeft\", \"ArrowDown\", \"ArrowUp\"].includes(event.key)) {\n return;\n }\n\n let newIndex = currentIndex;\n let attempts = 0;\n\n do {\n newIndex = this.getNextIndexByKey(newIndex, event.key, totalColors);\n attempts++;\n } while (attempts < totalColors && this.colorButtons[newIndex]?.disabled);\n\n if (\n newIndex !== currentIndex &&\n newIndex >= 0 &&\n newIndex < totalColors &&\n !this.colorButtons[newIndex]?.disabled\n ) {\n this.moveFocusTo(newIndex);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /**\n * When focus leaves the color picker (e.g. user tabs away), reset all buttons to non-tabbable and make the container tabbable again.\n */\n @Listen(\"blur\")\n handleBlur(event: FocusEvent): void {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!containsElement(this.host, relatedTarget)) {\n this.host.tabIndex = 0;\n this.colorButtons.forEach((btn) => (btn.tabIndex = -1));\n }\n }\n\n componentWillLoad(): void {\n this.colorKeysByRow = this.sortColorKeysByRow();\n }\n\n render(): HTMLZColorPickerElement {\n return (\n <Host\n role=\"listbox\"\n aria-label={this.htmlAriaLabel || LOCALES[this.lng][\"Select a color\"]}\n tabIndex={0}\n >\n {this.colorKeysByRow.map((colorKey: ColorPickerPalette) => (\n <button\n class=\"color-swatch\"\n data-color={colorKey}\n role=\"option\"\n aria-selected={this.selectedColor?.toUpperCase() === colorKey.toUpperCase() ? \"true\" : \"false\"}\n tabIndex={-1}\n onClick={() => (this.selectedColor = colorKey)}\n disabled={this.disableTransparent && colorKey === \"#FFFFFF00\"}\n >\n <div\n class=\"color-swatch\"\n role=\"img\"\n aria-roledescription={LOCALES[this.lng][\"Color swatch\"]}\n aria-label={ColorPickerPalette[colorKey][this.lng]}\n title={ColorPickerPalette[colorKey][this.lng]}\n style={{backgroundColor: colorKey}}\n ></div>\n </button>\n ))}\n </Host>\n );\n }\n}\n"],"mappings":"wMAAA,MAAMA,EAAY,IAAM,kyCCgBxB,MAAMC,EAAU,CACdC,GAAI,CACF,iBAAkB,sBAClB,eAAgB,sBAElBC,GAAI,CACF,iBAAkB,iBAClB,eAAgB,iBAKpB,MAAMC,EAAmB,EAGzB,MAAMC,EAAe,E,MAWRC,EAAYC,EAAA,MAAAD,UAAAE,EALzB,WAAAC,CAAAC,G,+GAkBEC,KAAAC,IAAmB,KAanBD,KAAAE,mBAAqB,MAWbF,KAAAG,eAAuC,GAEvCH,KAAAI,cAAqC,EA4N9C,CA1NC,gBAAYC,GACV,IAAKL,KAAKI,cAAcE,OAAQ,CAC9BN,KAAKI,cAAgBG,MAAMC,KAAKR,KAAKS,KAAKC,WAAWC,iBAAiB,U,CAGxE,OAAOX,KAAKI,a,CAON,kBAAAQ,GACN,MAAMC,EAAUC,OAAOC,KAAKC,GAC5B,MAAMC,EAAgC,GAGtC,IAAK,IAAIC,EAAM,EAAGA,EAAMzB,EAAkByB,IAAO,CAC/C,IAAK,IAAIC,EAAM,EAAGA,EAAMzB,EAAcyB,IAAO,CAC3C,MAAMC,EAAmBD,EAAM1B,EAAmByB,EAClD,GAAIE,EAAmBP,EAAQP,OAAQ,CACrCW,EAAQI,KAAKR,EAAQO,G,GAK3B,OAAOH,C,CAID,WAAAK,CAAYC,GAElBvB,KAAKK,aAAamB,SAAQ,CAACC,EAAKC,IAAOD,EAAIE,SAAWD,IAAMH,EAAQ,GAAI,IACxEvB,KAAKK,aAAakB,GAAOK,O,CAK3B,4BAAAC,GACE,GAAI7B,KAAKE,oBAAsBF,KAAK8B,gBAAkB,YAAa,CACjE9B,KAAK8B,cAAgB,S,EAKzB,iBAAAC,GACE/B,KAAKgC,cAAcC,KAAKjC,KAAK8B,c,CAQ/B,cAAMI,GAEJlC,KAAKK,aAAamB,SAASC,GAASA,EAAIE,UAAW,IACnD,MAAMQ,EACJnC,KAAKK,aAAa+B,MAAMX,GAAQA,EAAIY,eAAiB,UAAWrC,KAAKK,aAAa+B,MAAMX,IAASA,EAAIa,WACvG,IAAKH,EAAwB,CAC3B,M,CAGFA,EAAuBR,SAAW,EAClCY,YAAW,KACTJ,EAAuBP,OAAO,GAC7B,IAEH5B,KAAKS,KAAKkB,UAAW,C,CAMf,iBAAAa,CAAkBC,EAAsBC,EAAaC,GAC3D,MAAMzB,EAAM0B,KAAKC,MAAMJ,EAAe/C,GACtC,MAAMyB,EAAMsB,EAAe/C,EAC3B,IAAIoD,EAAWL,EAEf,OAAQC,GACN,IAAK,aAAc,CACjB,MAAMK,EAAS5B,EAAM,EACrB,MAAM6B,EAASD,GAAUrD,GAAgBwB,EAAM,GAAKzB,EAAmByB,EACvE4B,EAAWE,EAAStD,EAAgBqD,EAASrD,EAC7C,GAAIoD,GAAYH,EAAa,CAC3BG,EAAW,C,CAGb,K,CAEF,IAAK,YAAa,CAChB,MAAMC,EAAS5B,EAAM,EACrB,MAAM6B,EAASD,EAAS,GAAK7B,EAAM,EAAIzB,GAAoBA,EAAmByB,EAC9E4B,EAAWE,EAAStD,GAAiBqD,EAASrD,GAAgBA,EAC9D,GAAIoD,GAAYH,EAAa,CAC3BG,EAAWH,EAAc,C,CAG3B,K,CAEF,IAAK,YAAa,CAChB,IAAIK,EAAS9B,EAAM,EACnB,IAAI6B,EAAS5B,EACb,GAAI6B,GAAUvD,EAAkB,CAE9BuD,EAAS,EACTD,GAAU5B,EAAM,GAAKzB,C,CAEvBoD,EAAWE,EAAStD,EAAeqD,EACnC,GAAID,GAAYH,EAAa,CAC3BG,EAAW,C,CAGb,K,CAEF,IAAK,UAAW,CACd,IAAIE,EAAS9B,EAAM,EACnB,IAAI6B,EAAS5B,EACb,GAAI6B,EAAS,EAAG,CAEdA,EAASvD,EAAmB,EAC5BsD,GAAU5B,EAAM,EAAIzB,GAAgBA,C,CAEtCoD,EAAWE,EAAStD,EAAeqD,EACnC,GAAID,GAAYH,EAAa,CAC3BG,EAAWH,EAAc,C,CAG3B,K,EAIJ,OAAOG,C,CAQT,aAAAG,CAAcC,G,QACZ,MAAMC,EAASD,EAAME,eAAe,GACpC,IAAKD,EAAOE,QAAQC,MAAO,CACzB,M,CAGF,MAAMb,EAAezC,KAAKK,aAAakD,QAAQJ,GAC/C,MAAMR,EAAc3C,KAAKK,aAAaC,OACtC,GAAImC,EAAe,IAAM,CAAC,aAAc,YAAa,YAAa,WAAWe,SAASN,EAAMR,KAAM,CAChG,M,CAGF,IAAII,EAAWL,EACf,IAAIgB,EAAW,EAEf,EAAG,CACDX,EAAW9C,KAAKwC,kBAAkBM,EAAUI,EAAMR,IAAKC,GACvDc,GACF,OAASA,EAAWd,KAAee,EAAA1D,KAAKK,aAAayC,MAAS,MAAAY,SAAA,SAAAA,EAAEpB,WAEhE,GACEQ,IAAaL,GACbK,GAAY,GACZA,EAAWH,MACVgB,EAAA3D,KAAKK,aAAayC,MAAS,MAAAa,SAAA,SAAAA,EAAErB,UAC9B,CACAtC,KAAKsB,YAAYwB,GACjBI,EAAMU,iBACNV,EAAMW,iB,EAQV,UAAAC,CAAWZ,GACT,MAAMa,EAAgBb,EAAMa,cAC5B,IAAKC,EAAgBhE,KAAKS,KAAMsD,GAAgB,CAC9C/D,KAAKS,KAAKkB,SAAW,EACrB3B,KAAKK,aAAamB,SAASC,GAASA,EAAIE,UAAW,G,EAIvD,iBAAAsC,GACEjE,KAAKG,eAAiBH,KAAKY,oB,CAG7B,MAAAsD,GACE,OACEC,EAACC,EAAI,CAAA1B,IAAA,2CACH2B,KAAK,UAAS,aACFrE,KAAKsE,eAAiBhF,EAAQU,KAAKC,KAAK,kBACpD0B,SAAU,GAET3B,KAAKG,eAAeoE,KAAKC,I,MAAiC,OACzDL,EAAA,UACEM,MAAM,eAAc,aACRD,EACZH,KAAK,SAAQ,kBACEX,EAAA1D,KAAK8B,iBAAa,MAAA4B,SAAA,SAAAA,EAAEgB,iBAAkBF,EAASE,cAAgB,OAAS,QACvF/C,UAAU,EACVgD,QAAS,IAAO3E,KAAK8B,cAAgB0C,EACrClC,SAAUtC,KAAKE,oBAAsBsE,IAAa,aAElDL,EAAA,OACEM,MAAM,eACNJ,KAAK,MAAK,uBACY/E,EAAQU,KAAKC,KAAK,gBAAe,aAC3Ce,EAAmBwD,GAAUxE,KAAKC,KAC9C2E,MAAO5D,EAAmBwD,GAAUxE,KAAKC,KACzC4E,MAAO,CAACC,gBAAiBN,KAEpB,I","ignoreList":[]}
|