@zanichelli/albe-web-components 18.7.7 → 18.8.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 +13 -0
- package/dist/cjs/index-96af6326.js +4 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/web-components-library.cjs.js +1 -1
- package/dist/cjs/z-alert.cjs.entry.js +1 -1
- package/dist/cjs/z-app-header_12.cjs.entry.js +6 -6
- package/dist/cjs/z-book-card.cjs.entry.js +15 -14
- package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
- package/dist/{components/placeholder-cover.js → cjs/z-book-cover.cjs.entry.js} +26 -2
- package/dist/cjs/z-book-cover.cjs.entry.js.map +1 -0
- package/dist/cjs/z-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
- package/dist/cjs/z-chip.cjs.entry.js +2 -2
- package/dist/cjs/z-combobox.cjs.entry.js +1 -1
- package/dist/cjs/z-cover-hero.cjs.entry.js +2 -2
- package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +4 -4
- package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
- package/dist/cjs/z-info-box.cjs.entry.js +1 -1
- package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
- package/dist/cjs/z-logo.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card_4.cjs.entry.js +4 -4
- package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
- package/dist/cjs/z-navigation-tabs.cjs.entry.js +2 -2
- package/dist/cjs/z-notification.cjs.entry.js +1 -1
- package/dist/cjs/z-otp.cjs.entry.js +2 -2
- package/dist/cjs/z-panel-elem.cjs.entry.js +2 -2
- package/dist/cjs/z-popover.cjs.entry.js +1 -1
- package/dist/cjs/z-result-card.cjs.entry.js +6 -14
- package/dist/cjs/z-result-card.cjs.entry.js.map +1 -1
- package/dist/cjs/z-select.cjs.entry.js +1 -1
- package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
- package/dist/cjs/z-stepper-item.cjs.entry.js +1 -1
- package/dist/cjs/z-stepper.cjs.entry.js +1 -1
- package/dist/cjs/z-toast-notification-list.cjs.entry.js +1 -1
- package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
- package/dist/cjs/z-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/z-toggle-switch.cjs.entry.js +3 -3
- package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/book-card/z-book-card/index.js +66 -29
- package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
- package/dist/collection/components/book-card/z-book-card/index.stories.js +11 -13
- package/dist/collection/components/book-card/z-book-card/index.stories.js.map +1 -1
- package/dist/collection/components/book-card/z-book-card/styles.css +35 -67
- package/dist/collection/components/z-book-cover/index.js +113 -0
- package/dist/collection/components/z-book-cover/index.js.map +1 -0
- package/dist/collection/components/z-book-cover/index.stories.js +31 -0
- package/dist/collection/components/z-book-cover/index.stories.js.map +1 -0
- package/dist/collection/components/z-book-cover/styles.css +95 -0
- package/dist/collection/components/z-breadcrumb/index.js +2 -2
- package/dist/collection/components/z-button-sort/index.js +1 -1
- package/dist/collection/components/z-chip/index.js +2 -2
- package/dist/collection/components/z-combobox/index.js +1 -1
- package/dist/collection/components/z-cover-hero/index.js +2 -2
- package/dist/collection/components/z-divider/index.js +1 -1
- package/dist/collection/components/z-ghost-loading/index.js +1 -1
- package/dist/collection/components/z-info-box/index.js +1 -1
- package/dist/collection/components/z-info-reveal/index.js +1 -1
- package/dist/collection/components/z-input/index.js +1 -1
- package/dist/collection/components/z-input-message/index.js +1 -1
- package/dist/collection/components/z-logo/index.js +1 -1
- package/dist/collection/components/z-modal/index.js +4 -4
- package/dist/collection/components/z-navigation-tabs/index.js +2 -2
- package/dist/collection/components/z-notification/index.js +1 -1
- package/dist/collection/components/z-offcanvas/index.js +2 -2
- package/dist/collection/components/z-panel-elem/index.js +2 -2
- package/dist/collection/components/z-popover/index.js +1 -1
- package/dist/collection/components/{result-card/z-result-card → z-result-card}/index.js +10 -18
- package/dist/collection/components/z-result-card/index.js.map +1 -0
- package/dist/collection/components/{result-card/z-result-card → z-result-card}/styles.css +39 -108
- package/dist/collection/components/z-result-card/z-result-card.stories.js.map +1 -0
- package/dist/collection/components/z-searchbar/index.js +1 -1
- package/dist/collection/components/z-select/index.js +1 -1
- package/dist/collection/components/z-skip-to-content/index.js +1 -1
- package/dist/collection/components/z-stepper/index.js +1 -1
- package/dist/collection/components/z-stepper-item/index.js +1 -1
- package/dist/collection/components/z-toast-notification/index.js +1 -1
- package/dist/collection/components/z-toast-notification-list/index.js +1 -1
- package/dist/collection/components/z-toggle-button/index.js +2 -2
- package/dist/collection/components/z-toggle-switch/index.js +3 -3
- package/dist/collection/components/z-tooltip/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
- package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
- package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
- package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
- package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
- package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index10.js +24 -65
- package/dist/components/index10.js.map +1 -1
- package/dist/components/index11.js +58 -306
- package/dist/components/index11.js.map +1 -1
- package/dist/components/index12.js +311 -37
- package/dist/components/index12.js.map +1 -1
- package/dist/components/index13.js +40 -27
- package/dist/components/index13.js.map +1 -1
- package/dist/components/index14.js +23 -151
- package/dist/components/index14.js.map +1 -1
- package/dist/components/index15.js +144 -37
- package/dist/components/index15.js.map +1 -1
- package/dist/components/index16.js +42 -1008
- package/dist/components/index16.js.map +1 -1
- package/dist/components/index17.js +1012 -37
- package/dist/components/index17.js.map +1 -1
- package/dist/components/index18.js +42 -10
- package/dist/components/index18.js.map +1 -1
- package/dist/components/index19.js +10 -22
- package/dist/components/index19.js.map +1 -1
- package/dist/components/index20.js +16 -33
- package/dist/components/index20.js.map +1 -1
- package/dist/components/index21.js +39 -43
- package/dist/components/index21.js.map +1 -1
- package/dist/components/index22.js +44 -84
- package/dist/components/index22.js.map +1 -1
- package/dist/components/index23.js +60 -430
- package/dist/components/index23.js.map +1 -1
- package/dist/components/index24.js +415 -341
- package/dist/components/index24.js.map +1 -1
- package/dist/components/index25.js +376 -19
- package/dist/components/index25.js.map +1 -1
- package/dist/components/index26.js +45 -0
- package/dist/components/index26.js.map +1 -0
- package/dist/components/index3.js +1 -1
- package/dist/components/index4.js +23 -60
- package/dist/components/index4.js.map +1 -1
- package/dist/components/index5.js +53 -27
- package/dist/components/index5.js.map +1 -1
- package/dist/components/index6.js +34 -18
- package/dist/components/index6.js.map +1 -1
- package/dist/components/index7.js +18 -41
- package/dist/components/index7.js.map +1 -1
- package/dist/components/index8.js +41 -11
- package/dist/components/index8.js.map +1 -1
- package/dist/components/index9.js +10 -28
- package/dist/components/index9.js.map +1 -1
- package/dist/components/z-accordion.js +1 -1
- package/dist/components/z-anchor-navigation.js +2 -2
- package/dist/components/z-app-header-deprecated.js +11 -11
- package/dist/components/z-app-header.js +11 -11
- package/dist/components/z-book-card-app.js +2 -2
- package/dist/components/z-book-card-deprecated.js +1 -1
- package/dist/components/z-book-card.js +26 -17
- package/dist/components/z-book-card.js.map +1 -1
- package/dist/components/z-book-cover.d.ts +11 -0
- package/dist/components/z-book-cover.js +8 -0
- package/dist/components/z-book-cover.js.map +1 -0
- package/dist/components/z-breadcrumb.js +8 -8
- package/dist/components/z-button-sort.js +2 -2
- package/dist/components/z-button.js +1 -1
- package/dist/components/z-card.js +1 -1
- package/dist/components/z-carousel.js +3 -3
- package/dist/components/z-chip.js +1 -1
- package/dist/components/z-combobox.js +7 -7
- package/dist/components/z-cover-hero.js +2 -2
- package/dist/components/z-date-picker.js +3 -3
- package/dist/components/z-divider.js +1 -1
- package/dist/components/z-dragdrop-area.js +1 -1
- package/dist/components/z-file-upload.js +4 -4
- package/dist/components/z-file.js +3 -3
- package/dist/components/z-ghost-loading.js +1 -1
- package/dist/components/z-icon.js +1 -1
- package/dist/components/z-info-box.js +2 -2
- package/dist/components/z-info-reveal.js +1 -1
- package/dist/components/z-input-message.js +1 -1
- package/dist/components/z-input.js +1 -1
- package/dist/components/z-list-element.js +1 -1
- package/dist/components/z-list-group.js +1 -1
- package/dist/components/z-list.js +1 -1
- package/dist/components/z-logo.js +1 -1
- package/dist/components/z-menu-deprecated.js +1 -1
- package/dist/components/z-menu-section-deprecated.js +1 -1
- package/dist/components/z-menu-section.js +1 -1
- package/dist/components/z-menu.js +1 -1
- package/dist/components/z-modal.js +1 -1
- package/dist/components/z-myz-card-alert.js +2 -2
- package/dist/components/z-myz-card-body.js +1 -1
- package/dist/components/z-myz-card-cover.js +1 -1
- package/dist/components/z-myz-card-dictionary.js +7 -7
- package/dist/components/z-myz-card-footer-sections.js +1 -1
- package/dist/components/z-myz-card-footer.js +1 -1
- package/dist/components/z-myz-card-header.js +1 -1
- package/dist/components/z-myz-card-icon.js +2 -2
- package/dist/components/z-myz-card-info.js +3 -3
- package/dist/components/z-myz-card-list.js +1 -1
- package/dist/components/z-myz-card.js +1 -1
- package/dist/components/z-myz-list-item.js +1 -1
- package/dist/components/z-myz-list.js +3 -3
- package/dist/components/z-navigation-tabs.js +3 -3
- package/dist/components/z-notification.js +2 -2
- package/dist/components/z-offcanvas.js +1 -1
- package/dist/components/z-otp.js +4 -4
- package/dist/components/z-pagination.js +4 -4
- package/dist/components/z-panel-elem.js +3 -3
- package/dist/components/z-popover.js +1 -1
- package/dist/components/z-range-picker.js +3 -3
- package/dist/components/z-result-card.js +14 -16
- package/dist/components/z-result-card.js.map +1 -1
- package/dist/components/z-searchbar.js +1 -1
- package/dist/components/z-section-title.js +1 -1
- package/dist/components/z-select.js +9 -9
- package/dist/components/z-skip-to-content.js +1 -1
- package/dist/components/z-slideshow.js +1 -1
- package/dist/components/z-stepper-item.js +2 -2
- package/dist/components/z-stepper.js +1 -1
- package/dist/components/z-table.js +1 -1
- package/dist/components/z-tag.js +1 -1
- package/dist/components/z-td.js +3 -3
- package/dist/components/z-th.js +3 -3
- package/dist/components/z-toast-notification-list.js +1 -1
- package/dist/components/z-toast-notification.js +2 -2
- package/dist/components/z-toggle-button.js +3 -3
- package/dist/components/z-toggle-switch.js +4 -4
- package/dist/components/z-tooltip.js +2 -2
- package/dist/components/z-tr.js +2 -2
- package/dist/components/z-tree-list.js +4 -4
- package/dist/esm/index-c8ceadeb.js +4 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/web-components-library.js +1 -1
- package/dist/esm/z-alert.entry.js +1 -1
- package/dist/esm/z-app-header_12.entry.js +6 -6
- package/dist/esm/z-book-card.entry.js +15 -14
- package/dist/esm/z-book-card.entry.js.map +1 -1
- package/dist/{cjs/placeholder-cover-b679e768.js → esm/z-book-cover.entry.js} +21 -3
- package/dist/esm/z-book-cover.entry.js.map +1 -0
- package/dist/esm/z-breadcrumb.entry.js +2 -2
- package/dist/esm/z-button-sort.entry.js +1 -1
- package/dist/esm/z-chip.entry.js +2 -2
- package/dist/esm/z-combobox.entry.js +1 -1
- package/dist/esm/z-cover-hero.entry.js +2 -2
- package/dist/esm/z-dragdrop-area_2.entry.js +4 -4
- package/dist/esm/z-ghost-loading.entry.js +1 -1
- package/dist/esm/z-info-box.entry.js +1 -1
- package/dist/esm/z-info-reveal.entry.js +1 -1
- package/dist/esm/z-logo.entry.js +1 -1
- package/dist/esm/z-myz-card-alert.entry.js +1 -1
- package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
- package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
- package/dist/esm/z-myz-card-footer.entry.js +1 -1
- package/dist/esm/z-myz-card-icon.entry.js +1 -1
- package/dist/esm/z-myz-card-info.entry.js +1 -1
- package/dist/esm/z-myz-card-list.entry.js +1 -1
- package/dist/esm/z-myz-card_4.entry.js +4 -4
- package/dist/esm/z-myz-list-item.entry.js +1 -1
- package/dist/esm/z-myz-list.entry.js +1 -1
- package/dist/esm/z-navigation-tabs.entry.js +2 -2
- package/dist/esm/z-notification.entry.js +1 -1
- package/dist/esm/z-otp.entry.js +2 -2
- package/dist/esm/z-panel-elem.entry.js +2 -2
- package/dist/esm/z-popover.entry.js +1 -1
- package/dist/esm/z-result-card.entry.js +6 -14
- package/dist/esm/z-result-card.entry.js.map +1 -1
- package/dist/esm/z-select.entry.js +1 -1
- package/dist/esm/z-skip-to-content.entry.js +1 -1
- package/dist/esm/z-stepper-item.entry.js +1 -1
- package/dist/esm/z-stepper.entry.js +1 -1
- package/dist/esm/z-toast-notification-list.entry.js +1 -1
- package/dist/esm/z-toast-notification.entry.js +1 -1
- package/dist/esm/z-toggle-button.entry.js +2 -2
- package/dist/esm/z-toggle-switch.entry.js +3 -3
- package/dist/esm/z-tooltip.entry.js +1 -1
- package/dist/types/components/book-card/z-book-card/index.d.ts +20 -16
- package/dist/types/components/book-card/z-book-card/index.stories.d.ts +2 -35
- package/dist/types/components/z-book-cover/index.d.ts +23 -0
- package/dist/types/components/z-book-cover/index.stories.d.ts +21 -0
- package/dist/types/components/{result-card/z-result-card → z-result-card}/index.d.ts +8 -26
- package/dist/types/components.d.ts +145 -44
- package/dist/web-components-library/{p-17259f80.entry.js → p-01f941c2.entry.js} +2 -2
- package/{www/build/p-a4e26cad.entry.js → dist/web-components-library/p-028dd72a.entry.js} +2 -2
- package/{www/build/p-fef12692.entry.js → dist/web-components-library/p-0990d475.entry.js} +2 -2
- package/dist/web-components-library/{p-fa9c35b7.entry.js → p-0a49dd1c.entry.js} +2 -2
- package/dist/web-components-library/{p-7faf6680.entry.js → p-240de9aa.entry.js} +2 -2
- package/dist/web-components-library/p-28534fb5.entry.js +2 -0
- package/dist/web-components-library/{p-755e5bb3.entry.js → p-28d83c86.entry.js} +2 -2
- package/dist/web-components-library/{p-04f578d3.entry.js → p-2ffdfbb1.entry.js} +2 -2
- package/dist/web-components-library/p-31bd2a1c.entry.js +2 -0
- package/dist/web-components-library/p-31bd2a1c.entry.js.map +1 -0
- package/dist/web-components-library/{p-da6ba08a.entry.js → p-460b2068.entry.js} +2 -2
- package/dist/web-components-library/{p-bfa7b528.entry.js → p-46ea0b2e.entry.js} +2 -2
- package/{www/build/p-add09050.entry.js → dist/web-components-library/p-4a257653.entry.js} +2 -2
- package/{www/build/p-d3a51980.entry.js → dist/web-components-library/p-4aaf0172.entry.js} +2 -2
- package/dist/web-components-library/{p-22056263.entry.js → p-4affbb99.entry.js} +2 -2
- package/dist/web-components-library/{p-9f516be2.entry.js → p-5989465b.entry.js} +2 -2
- package/dist/web-components-library/{p-1775f79b.entry.js → p-5a1f98a2.entry.js} +2 -2
- package/dist/web-components-library/{p-a25c7fdb.entry.js → p-5c5882c6.entry.js} +2 -2
- package/dist/web-components-library/{p-a80faa78.entry.js → p-5f94986f.entry.js} +2 -2
- package/dist/web-components-library/p-6cff173f.entry.js +2 -0
- package/dist/web-components-library/p-6cffbabc.entry.js +2 -0
- package/{www/build/p-5f231799.entry.js.map → dist/web-components-library/p-6cffbabc.entry.js.map} +1 -1
- package/dist/web-components-library/{p-9e3116b0.entry.js → p-7194003a.entry.js} +2 -2
- package/{www/build/p-9de4915b.entry.js → dist/web-components-library/p-78146cef.entry.js} +2 -2
- package/dist/web-components-library/{p-f39f6ee8.entry.js → p-7a4f6a5b.entry.js} +2 -2
- package/dist/web-components-library/{p-945928ff.entry.js → p-7ceddb7a.entry.js} +2 -2
- package/dist/web-components-library/{p-50b800e6.entry.js → p-86160fe3.entry.js} +2 -2
- package/dist/web-components-library/{p-2105d5ec.entry.js → p-863fd1c4.entry.js} +2 -2
- package/dist/web-components-library/p-8fc213c2.entry.js +2 -0
- package/{www/build/p-b0f80e50.entry.js.map → dist/web-components-library/p-8fc213c2.entry.js.map} +1 -1
- package/dist/web-components-library/{p-70aa0b22.entry.js → p-943db3a8.entry.js} +2 -2
- package/dist/web-components-library/{p-6d2a6434.entry.js → p-94916bdf.entry.js} +2 -2
- package/dist/web-components-library/{p-8e5bc362.entry.js → p-a2e87cec.entry.js} +2 -2
- package/dist/web-components-library/{p-fe663393.entry.js → p-ac477ae7.entry.js} +2 -2
- package/dist/web-components-library/p-af5e8524.entry.js +2 -0
- package/dist/web-components-library/{p-fb78c343.entry.js → p-b3f1b5c1.entry.js} +2 -2
- package/dist/web-components-library/{p-6ebaa41d.entry.js → p-d60684d5.entry.js} +2 -2
- package/dist/web-components-library/{p-2264883d.entry.js → p-dc086eb5.entry.js} +2 -2
- package/dist/web-components-library/{p-f3287280.entry.js → p-e0b88075.entry.js} +2 -2
- package/dist/web-components-library/p-e4bb1256.entry.js +2 -0
- package/dist/web-components-library/p-e4bb1256.entry.js.map +1 -0
- package/dist/web-components-library/{p-7eb0e121.entry.js → p-f487290e.entry.js} +2 -2
- package/dist/web-components-library/p-f4bac89b.entry.js +2 -0
- package/dist/web-components-library/p-f4bac89b.entry.js.map +1 -0
- package/dist/web-components-library/web-components-library.esm.js +1 -1
- package/dist/web-components-library/web-components-library.esm.js.map +1 -1
- package/package.json +1 -1
- package/react/components.d.ts +1 -0
- package/react/components.js +3 -2
- package/react/components.js.map +1 -1
- package/www/build/{p-17259f80.entry.js → p-01f941c2.entry.js} +2 -2
- package/{dist/web-components-library/p-a4e26cad.entry.js → www/build/p-028dd72a.entry.js} +2 -2
- package/{dist/web-components-library/p-fef12692.entry.js → www/build/p-0990d475.entry.js} +2 -2
- package/www/build/{p-fa9c35b7.entry.js → p-0a49dd1c.entry.js} +2 -2
- package/www/build/{p-7faf6680.entry.js → p-240de9aa.entry.js} +2 -2
- package/www/build/p-28534fb5.entry.js +2 -0
- package/www/build/{p-755e5bb3.entry.js → p-28d83c86.entry.js} +2 -2
- package/www/build/{p-04f578d3.entry.js → p-2ffdfbb1.entry.js} +2 -2
- package/www/build/p-31bd2a1c.entry.js +2 -0
- package/www/build/p-31bd2a1c.entry.js.map +1 -0
- package/www/build/{p-da6ba08a.entry.js → p-460b2068.entry.js} +2 -2
- package/www/build/{p-bfa7b528.entry.js → p-46ea0b2e.entry.js} +2 -2
- package/{dist/web-components-library/p-add09050.entry.js → www/build/p-4a257653.entry.js} +2 -2
- package/{dist/web-components-library/p-d3a51980.entry.js → www/build/p-4aaf0172.entry.js} +2 -2
- package/www/build/{p-22056263.entry.js → p-4affbb99.entry.js} +2 -2
- package/www/build/{p-9f516be2.entry.js → p-5989465b.entry.js} +2 -2
- package/www/build/{p-1775f79b.entry.js → p-5a1f98a2.entry.js} +2 -2
- package/www/build/{p-a25c7fdb.entry.js → p-5c5882c6.entry.js} +2 -2
- package/www/build/{p-a80faa78.entry.js → p-5f94986f.entry.js} +2 -2
- package/www/build/p-6cff173f.entry.js +2 -0
- package/www/build/p-6cffbabc.entry.js +2 -0
- package/{dist/web-components-library/p-5f231799.entry.js.map → www/build/p-6cffbabc.entry.js.map} +1 -1
- package/www/build/{p-9e3116b0.entry.js → p-7194003a.entry.js} +2 -2
- package/{dist/web-components-library/p-9de4915b.entry.js → www/build/p-78146cef.entry.js} +2 -2
- package/www/build/{p-f39f6ee8.entry.js → p-7a4f6a5b.entry.js} +2 -2
- package/www/build/{p-945928ff.entry.js → p-7ceddb7a.entry.js} +2 -2
- package/www/build/{p-50b800e6.entry.js → p-86160fe3.entry.js} +2 -2
- package/www/build/{p-2105d5ec.entry.js → p-863fd1c4.entry.js} +2 -2
- package/www/build/p-8fc213c2.entry.js +2 -0
- package/{dist/web-components-library/p-b0f80e50.entry.js.map → www/build/p-8fc213c2.entry.js.map} +1 -1
- package/www/build/{p-70aa0b22.entry.js → p-943db3a8.entry.js} +2 -2
- package/www/build/{p-6d2a6434.entry.js → p-94916bdf.entry.js} +2 -2
- package/www/build/{p-8e5bc362.entry.js → p-a2e87cec.entry.js} +2 -2
- package/www/build/{p-fe663393.entry.js → p-ac477ae7.entry.js} +2 -2
- package/www/build/p-af5e8524.entry.js +2 -0
- package/www/build/{p-fb78c343.entry.js → p-b3f1b5c1.entry.js} +2 -2
- package/www/build/p-b716b49c.js +2 -0
- package/www/build/{p-6ebaa41d.entry.js → p-d60684d5.entry.js} +2 -2
- package/www/build/{p-2264883d.entry.js → p-dc086eb5.entry.js} +2 -2
- package/www/build/{p-f3287280.entry.js → p-e0b88075.entry.js} +2 -2
- package/www/build/p-e4bb1256.entry.js +2 -0
- package/www/build/p-e4bb1256.entry.js.map +1 -0
- package/www/build/{p-7eb0e121.entry.js → p-f487290e.entry.js} +2 -2
- package/www/build/p-f4bac89b.entry.js +2 -0
- package/www/build/p-f4bac89b.entry.js.map +1 -0
- package/www/build/web-components-library.esm.js +1 -1
- package/www/build/web-components-library.esm.js.map +1 -1
- package/www/index.html +1 -1
- package/dist/cjs/placeholder-cover-b679e768.js.map +0 -1
- package/dist/collection/components/result-card/z-result-card/index.js.map +0 -1
- package/dist/collection/components/result-card/z-result-card/z-result-card.stories.js.map +0 -1
- package/dist/components/placeholder-cover.js.map +0 -1
- package/dist/esm/placeholder-cover-9346be8f.js +0 -5
- package/dist/esm/placeholder-cover-9346be8f.js.map +0 -1
- package/dist/web-components-library/p-165d5acc.entry.js +0 -2
- package/dist/web-components-library/p-165d5acc.entry.js.map +0 -1
- package/dist/web-components-library/p-5f231799.entry.js +0 -2
- package/dist/web-components-library/p-75d50d5f.entry.js +0 -2
- package/dist/web-components-library/p-8d923a1d.js +0 -2
- package/dist/web-components-library/p-8d923a1d.js.map +0 -1
- package/dist/web-components-library/p-970de597.entry.js +0 -2
- package/dist/web-components-library/p-abd17b10.entry.js +0 -2
- package/dist/web-components-library/p-abd17b10.entry.js.map +0 -1
- package/dist/web-components-library/p-b0f80e50.entry.js +0 -2
- package/dist/web-components-library/p-e0320349.entry.js +0 -2
- package/www/build/p-165d5acc.entry.js +0 -2
- package/www/build/p-165d5acc.entry.js.map +0 -1
- package/www/build/p-29dcbeae.js +0 -2
- package/www/build/p-5f231799.entry.js +0 -2
- package/www/build/p-75d50d5f.entry.js +0 -2
- package/www/build/p-8d923a1d.js +0 -2
- package/www/build/p-8d923a1d.js.map +0 -1
- package/www/build/p-970de597.entry.js +0 -2
- package/www/build/p-abd17b10.entry.js +0 -2
- package/www/build/p-abd17b10.entry.js.map +0 -1
- package/www/build/p-b0f80e50.entry.js +0 -2
- package/www/build/p-e0320349.entry.js +0 -2
- /package/dist/collection/components/{result-card/z-result-card → z-result-card}/z-result-card.stories.js +0 -0
- /package/dist/types/components/{result-card/z-result-card → z-result-card}/z-result-card.stories.d.ts +0 -0
- /package/dist/web-components-library/{p-17259f80.entry.js.map → p-01f941c2.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-a4e26cad.entry.js.map → p-028dd72a.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-fef12692.entry.js.map → p-0990d475.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-fa9c35b7.entry.js.map → p-0a49dd1c.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-7faf6680.entry.js.map → p-240de9aa.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-970de597.entry.js.map → p-28534fb5.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-755e5bb3.entry.js.map → p-28d83c86.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-04f578d3.entry.js.map → p-2ffdfbb1.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-da6ba08a.entry.js.map → p-460b2068.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-bfa7b528.entry.js.map → p-46ea0b2e.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-add09050.entry.js.map → p-4a257653.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-d3a51980.entry.js.map → p-4aaf0172.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-22056263.entry.js.map → p-4affbb99.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-9f516be2.entry.js.map → p-5989465b.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-1775f79b.entry.js.map → p-5a1f98a2.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-a25c7fdb.entry.js.map → p-5c5882c6.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-a80faa78.entry.js.map → p-5f94986f.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-e0320349.entry.js.map → p-6cff173f.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-9e3116b0.entry.js.map → p-7194003a.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-9de4915b.entry.js.map → p-78146cef.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-f39f6ee8.entry.js.map → p-7a4f6a5b.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-945928ff.entry.js.map → p-7ceddb7a.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-50b800e6.entry.js.map → p-86160fe3.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-2105d5ec.entry.js.map → p-863fd1c4.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-70aa0b22.entry.js.map → p-943db3a8.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-6d2a6434.entry.js.map → p-94916bdf.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-8e5bc362.entry.js.map → p-a2e87cec.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-fe663393.entry.js.map → p-ac477ae7.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-75d50d5f.entry.js.map → p-af5e8524.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-fb78c343.entry.js.map → p-b3f1b5c1.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-6ebaa41d.entry.js.map → p-d60684d5.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-2264883d.entry.js.map → p-dc086eb5.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-f3287280.entry.js.map → p-e0b88075.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-7eb0e121.entry.js.map → p-f487290e.entry.js.map} +0 -0
- /package/www/build/{p-17259f80.entry.js.map → p-01f941c2.entry.js.map} +0 -0
- /package/www/build/{p-a4e26cad.entry.js.map → p-028dd72a.entry.js.map} +0 -0
- /package/www/build/{p-fef12692.entry.js.map → p-0990d475.entry.js.map} +0 -0
- /package/www/build/{p-fa9c35b7.entry.js.map → p-0a49dd1c.entry.js.map} +0 -0
- /package/www/build/{p-7faf6680.entry.js.map → p-240de9aa.entry.js.map} +0 -0
- /package/www/build/{p-970de597.entry.js.map → p-28534fb5.entry.js.map} +0 -0
- /package/www/build/{p-755e5bb3.entry.js.map → p-28d83c86.entry.js.map} +0 -0
- /package/www/build/{p-04f578d3.entry.js.map → p-2ffdfbb1.entry.js.map} +0 -0
- /package/www/build/{p-da6ba08a.entry.js.map → p-460b2068.entry.js.map} +0 -0
- /package/www/build/{p-bfa7b528.entry.js.map → p-46ea0b2e.entry.js.map} +0 -0
- /package/www/build/{p-add09050.entry.js.map → p-4a257653.entry.js.map} +0 -0
- /package/www/build/{p-d3a51980.entry.js.map → p-4aaf0172.entry.js.map} +0 -0
- /package/www/build/{p-22056263.entry.js.map → p-4affbb99.entry.js.map} +0 -0
- /package/www/build/{p-9f516be2.entry.js.map → p-5989465b.entry.js.map} +0 -0
- /package/www/build/{p-1775f79b.entry.js.map → p-5a1f98a2.entry.js.map} +0 -0
- /package/www/build/{p-a25c7fdb.entry.js.map → p-5c5882c6.entry.js.map} +0 -0
- /package/www/build/{p-a80faa78.entry.js.map → p-5f94986f.entry.js.map} +0 -0
- /package/www/build/{p-e0320349.entry.js.map → p-6cff173f.entry.js.map} +0 -0
- /package/www/build/{p-9e3116b0.entry.js.map → p-7194003a.entry.js.map} +0 -0
- /package/www/build/{p-9de4915b.entry.js.map → p-78146cef.entry.js.map} +0 -0
- /package/www/build/{p-f39f6ee8.entry.js.map → p-7a4f6a5b.entry.js.map} +0 -0
- /package/www/build/{p-945928ff.entry.js.map → p-7ceddb7a.entry.js.map} +0 -0
- /package/www/build/{p-50b800e6.entry.js.map → p-86160fe3.entry.js.map} +0 -0
- /package/www/build/{p-2105d5ec.entry.js.map → p-863fd1c4.entry.js.map} +0 -0
- /package/www/build/{p-70aa0b22.entry.js.map → p-943db3a8.entry.js.map} +0 -0
- /package/www/build/{p-6d2a6434.entry.js.map → p-94916bdf.entry.js.map} +0 -0
- /package/www/build/{p-8e5bc362.entry.js.map → p-a2e87cec.entry.js.map} +0 -0
- /package/www/build/{p-fe663393.entry.js.map → p-ac477ae7.entry.js.map} +0 -0
- /package/www/build/{p-75d50d5f.entry.js.map → p-af5e8524.entry.js.map} +0 -0
- /package/www/build/{p-fb78c343.entry.js.map → p-b3f1b5c1.entry.js.map} +0 -0
- /package/www/build/{p-6ebaa41d.entry.js.map → p-d60684d5.entry.js.map} +0 -0
- /package/www/build/{p-2264883d.entry.js.map → p-dc086eb5.entry.js.map} +0 -0
- /package/www/build/{p-f3287280.entry.js.map → p-e0b88075.entry.js.map} +0 -0
- /package/www/build/{p-7eb0e121.entry.js.map → p-f487290e.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index24.js","mappings":"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","names":[],"sources":["src/components/z-searchbar/styles.css?tag=z-searchbar&encapsulation=shadow","src/components/z-searchbar/index.tsx"],"sourcesContent":[":host {\n --z-searchbar-tag-text-color: var(--color-primary03);\n --z-searchbar-tag-bg: var(--color-hover-primary);\n --z-searchbar-item-height: 44px;\n\n z-index: 15;\n display: flex;\n column-gap: calc(var(--space-unit) * 2);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n:host::part(list-item-container) {\n display: block;\n min-height: unset;\n padding: 0;\n}\n\n.input-container {\n position: relative;\n display: flex;\n width: 100%;\n flex-direction: column;\n}\n\n.results-wrapper {\n position: absolute;\n top: calc(100% - 1px);\n left: 0;\n width: 100%;\n padding: calc(var(--space-unit) / 4);\n border: var(--border-size-small) solid var(--color-surface03);\n border-top: none;\n background: var(--color-surface01);\n}\n\n.results {\n overflow: auto;\n max-height: var(--z-searchbar-results-height, 540px);\n padding: calc(var(--space-unit) / 2) calc(var(--space-unit) * 1.5);\n}\n\n.results::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n.results::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n.results::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox scrollbar */\n@supports not selector(.results::-webkit-scrollbar-track) {\n .results {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n.results .category-heading {\n display: block;\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n line-height: var(--font-size-3);\n}\n\n.results .category-heading > * {\n display: block;\n}\n\n.results .category-heading > .category {\n color: var(--color-text05);\n font-style: italic;\n}\n\n.results .category-heading > .subcategory {\n margin-top: var(--space-unit);\n color: var(--color-default-text);\n text-transform: uppercase;\n}\n\n.results z-list-element {\n position: relative;\n display: block;\n}\n\nz-list-element > .item-search {\n padding: var(--space-unit) 0;\n}\n\nz-list z-list-element::before {\n position: absolute;\n z-index: 100;\n top: 5px;\n left: -20px;\n width: 8px;\n height: 1em;\n border-bottom: 1px solid var(--color-disabled01-icon);\n border-left: 1px solid var(--color-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element::after {\n position: absolute;\n z-index: 100;\n top: 5px;\n left: -20px;\n width: 8px;\n height: 100%;\n border-left: 1px solid var(--color-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element:last-child::after {\n display: none;\n}\n\nz-list > z-list-element::before,\nz-list > z-list-element::after,\nz-list > z-list-group > z-list-element::before,\nz-list > z-list-group > z-list-element::after {\n display: none;\n}\n\nz-list > div.children-node {\n padding-left: calc(var(--space-unit) * 3);\n}\n\n.results z-list-element > .list-element {\n display: flex;\n justify-content: space-between;\n padding: calc(var(--space-unit) * 1.25) 0;\n cursor: pointer;\n}\n\n.results z-list-element > .list-element:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.results z-list-element > .list-element .item.ellipsis {\n overflow: hidden;\n}\n\n.results z-list-element .list-element::after {\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 100%;\n height: 44px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.results z-list-element .list-element.focused.hovered::after {\n padding-left: 6px;\n}\n\n.results z-list-element > .list-element:hover,\n.results z-list-element > .list-element:hover::after {\n background-color: var(--color-background);\n cursor: pointer;\n}\n\n.results z-list-element > .list-element > z-tag {\n border: 1px solid var(--gray800);\n font-size: var(--font-size-1);\n font-weight: var(--font-sb);\n\n --z-tag-bg: var(--z-searchbar-tag-bg);\n --z-tag-text-color: var(--z-searchbar-tag-text-color);\n}\n\n.results .item {\n --z-icon-height: 12px;\n --z-icon-width: 12px;\n\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n color: var(--color-default-text);\n column-gap: calc(var(--space-unit) * 1.5);\n fill: var(--color-default-icon);\n font-size: var(--font-size-2);\n line-height: var(--font-size-6);\n}\n\n.results .item.ellipsis > .item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.results .item > .item-label mark {\n background: var(--color-primary03);\n}\n\n.results .item.item-search {\n --z-icon-height: 16px;\n --z-icon-width: 16px;\n}\n\n.results .item-show-all {\n text-align: center;\n}\n\n.results .item-no-results {\n display: block;\n font-size: var(--font-size-2);\n font-style: italic;\n line-height: var(--font-size-5);\n}\n\n.results .item-no-results > ul {\n padding-left: calc(var(--space-unit) * 2);\n margin: var(--space-unit);\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n .results .category-heading {\n font-size: var(--font-size-3);\n line-height: var(--font-size-6);\n }\n\n .results .item {\n font-size: var(--font-size-3);\n line-height: var(--font-size-6);\n }\n\n .results .item.item-search {\n --z-icon-height: 18px;\n --z-icon-width: 18px;\n }\n\n .results .item.ellipsis > .item-label {\n height: 24px;\n }\n\n .results z-list-element > .list-element > z-tag {\n min-width: max-content;\n }\n}\n\n/* Desktop breakpoint */\n@media (min-width: 1152px) {\n .results .item {\n cursor: pointer;\n }\n\n .results .item-no-results {\n cursor: default;\n font-size: var(--font-size-3);\n line-height: var(--font-size-6);\n }\n}\n\n:host([size=\"small\"]) .results :is(.item, .category-heading),\n:host([size=\"x-small\"]) .results :is(.item, .category-heading) {\n font-size: var(--font-size-2);\n}\n\n:host([size=\"small\"]) .results .item:not(.has-category),\n:host([size=\"x-small\"]) .results .item:not(.has-category) {\n --z-icon-height: 16px;\n --z-icon-width: 16px;\n}\n\n:host([size=\"small\"]) z-list-element > .list-element,\n:host([size=\"small\"]) z-list-element > .item-search {\n padding: calc(var(--space-unit) * 0.75) 0;\n}\n\n:host([size=\"x-small\"]) z-list-element > .list-element,\n:host([size=\"x-small\"]) z-list-element > .item-search {\n padding: calc(var(--space-unit) / 2) 0;\n}\n\n:host([size=\"small\"]) z-list-element .list-element::after {\n height: 36px;\n}\n\n:host([size=\"x-small\"]) z-list-element .list-element::after {\n height: 32px;\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {\n ButtonVariant,\n ControlSize,\n Device,\n KeyboardCode,\n ListDividerType,\n SearchbarGroup,\n SearchbarGroupedItem,\n SearchbarItem,\n} from \"../../beans\";\nimport {getDevice, handleEnterKeydSubmit, randomId} from \"../../utils/utils\";\n\n/**\n * @cssprop --z-searchbar-results-height - Max height of the results container (default: 540px)\n * @cssprop --z-searchbar-tag-text-color - Color of tag's text (default --color-primary03);\n * @cssprop --z-searchbar-tag-bg - Color of tag's background (default --color-hover-primary);\n */\n@Component({\n tag: \"z-searchbar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZSearchbar {\n /** the id of the searchbar element */\n @Prop({reflect: true})\n htmlid = `searchbar-${randomId()}`;\n\n /** Prevent submit action */\n @Prop()\n preventSubmit?: boolean = false;\n\n /** Input search string */\n @Prop()\n value?: string;\n\n /** Search input placeholder */\n @Prop()\n placeholder?: string;\n\n /** Show autocomplete results */\n @Prop()\n autocomplete?: boolean = false;\n\n /** Minimun number of characters to dispatch typing event */\n @Prop()\n autocompleteMinChars?: number = 3;\n\n /** Number of results shown - default all */\n @Prop()\n resultsCount?: number;\n\n /** Search helper text */\n @Prop()\n searchHelperLabel?: string = \"Cerca {searchString}\";\n\n /** Autocomplete results items */\n @Prop()\n resultsItems?: SearchbarItem[] | string;\n\n /** Sort autocomplete results items */\n @Prop()\n sortResultsItems?: boolean = false;\n\n /** Show submit button */\n @Prop()\n showSearchButton?: boolean = false;\n\n /** Set button icon without label*/\n @Prop()\n searchButtonIconOnly?: boolean = false;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n /** Graphical variant: `primary`, `secondary`, `tertiary`. Defaults to `primary`. */\n @Prop()\n variant?: ButtonVariant = ButtonVariant.PRIMARY;\n\n @State()\n searchString = this.value;\n\n @State()\n currResultsCount = 0;\n\n @State()\n showResults = false;\n\n @State()\n isMobile = false;\n\n @State()\n selectedItem?: SearchbarItem;\n\n @Element() element: HTMLZSearchbarElement;\n\n private resultsItemsList: SearchbarItem[] | undefined = null;\n\n private inputRef: HTMLZInputElement;\n\n private resizeObserver: ResizeObserver;\n\n private items: HTMLElement[] = [];\n\n /** Emitted on search submit, return search string */\n @Event()\n searchSubmit: EventEmitter<string>;\n\n private emitSearchSubmit(): void {\n this.searchSubmit.emit(this.inputRef.value);\n }\n\n /** Emitted on search typing, return search string */\n @Event()\n searchTyping: EventEmitter<string>;\n\n private emitSearchTyping(search: string): void {\n this.searchTyping.emit(search);\n }\n\n /** Emitted on search result click, return item */\n @Event()\n searchItemClick: EventEmitter<SearchbarItem>;\n\n private emitSearchItemClick(item: SearchbarItem): void {\n this.searchItemClick.emit(item);\n this.selectedItem = item;\n this.searchString = \"\";\n }\n\n @Watch(\"resultsItems\")\n watchItems(): void {\n this.resultsItemsList = this.getResultsItemsList();\n }\n\n @Watch(\"resultsCount\")\n watchResultsCount(): void {\n this.currResultsCount = this.resultsCount;\n }\n\n @Watch(\"value\")\n watchValue(): void {\n this.searchString = this.value;\n }\n\n @Watch(\"searchString\")\n watchSearchString(): void {\n this.emitSearchTyping(this.searchString);\n this.items = [];\n if (!this.searchString) {\n this.currResultsCount = this.resultsCount;\n }\n }\n\n @Watch(\"showResults\")\n watchShowResults(): void {\n if (!this.showResults) {\n this.items = [];\n }\n }\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(() => {\n if (getDevice() === Device.MOBILE && !this.isMobile) {\n this.isMobile = true;\n }\n if (getDevice() !== Device.MOBILE && this.isMobile) {\n this.isMobile = false;\n }\n });\n this.resizeObserver.observe(this.element);\n }\n\n componentWillLoad(): void {\n this.resultsItemsList = this.getResultsItemsList();\n this.currResultsCount = this.resultsCount;\n }\n\n private getResultsItemsList(): SearchbarItem[] | undefined {\n return typeof this.resultsItems === \"string\" ? JSON.parse(this.resultsItems) : this.resultsItems;\n }\n\n private getGroupedItems(items: SearchbarItem[]): SearchbarGroupedItem {\n const groupedItems = {};\n items.forEach((item: SearchbarItem) => {\n const key = `${item?.category}${item?.subcategory}`;\n groupedItems[key] = groupedItems[key] ?? {\n category: item?.category,\n subcategory: item?.subcategory,\n items: [],\n };\n groupedItems[key][\"items\"].push(item);\n });\n\n if (this.sortResultsItems) {\n return Object.keys(groupedItems)\n .sort()\n .reduce((obj, key) => {\n obj[key] = {\n ...groupedItems[key],\n items: groupedItems[key][\"items\"].sort((a: SearchbarItem, b: SearchbarItem) => {\n const nameA = a.label.toUpperCase();\n const nameB = b.label.toUpperCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n\n return 0;\n }),\n };\n\n return obj;\n }, {});\n }\n\n return groupedItems;\n }\n\n private checkResultsCount(counter: number): boolean {\n if (!this.currResultsCount || counter < this.currResultsCount) {\n return true;\n }\n\n return false;\n }\n\n private handleStopTyping(e: CustomEvent): void {\n e.stopPropagation();\n this.searchString = e.detail.value;\n if (this.selectedItem) {\n this.selectedItem = undefined;\n }\n }\n\n private handleSubmit(): void {\n if (this.preventSubmit) {\n return;\n }\n this.emitSearchSubmit();\n }\n\n @Listen(\"click\", {target: \"document\"})\n private handleOutsideClick(e: MouseEvent): void {\n const cp = e.composedPath();\n\n const searchbar = cp.find((elem: HTMLElement) => elem.nodeName === \"Z-SEARCHBAR\");\n if (!searchbar || (searchbar as HTMLZSearchbarElement).htmlid !== this.htmlid) {\n this.showResults = false;\n\n return;\n }\n\n if (cp.find((elem: HTMLElement) => elem?.nodeName === \"Z-INPUT\" || elem?.classList?.contains(\"results\"))) {\n this.showResults = true;\n\n return;\n }\n\n this.showResults = false;\n }\n\n private renderInput(): HTMLZInputElement {\n return (\n <z-input\n ref={(val) => {\n this.inputRef = val;\n }}\n htmlid={`input-${this.htmlid}`}\n message={false}\n placeholder={this.placeholder}\n onStopTyping={(e: CustomEvent) => this.handleStopTyping(e)}\n onKeyUp={(e: KeyboardEvent) => {\n handleEnterKeydSubmit(e, () => this.handleSubmit());\n this.handleArrowsNavigation(e);\n }}\n value={this.searchString || this.selectedItem?.label}\n ariaLabel={this.placeholder}\n size={this.size}\n />\n );\n }\n\n private renderButton(): HTMLZButtonElement | null {\n if (!this.showSearchButton) {\n return null;\n }\n\n const iconProp = this.searchButtonIconOnly ? {icon: \"search\"} : null;\n const buttonLabel = this.searchButtonIconOnly ? \"\" : \"CERCA\";\n const ariaLabel = this.searchButtonIconOnly ? {\"aria-label\": \"CERCA\"} : null;\n const defaultProps = {\n disabled: this.preventSubmit,\n variant: this.variant,\n size: this.size,\n onClick: () => this.handleSubmit(),\n ...iconProp,\n ...ariaLabel,\n };\n\n return <z-button {...defaultProps}>{buttonLabel}</z-button>;\n }\n\n private renderResults(): HTMLDivElement | null {\n if (\n !this.showResults ||\n !this.autocomplete ||\n !this.searchString ||\n this.searchString.length < this.autocompleteMinChars ||\n !this.resultsItemsList\n ) {\n return null;\n }\n\n return (\n <div class=\"results-wrapper\">\n <div class=\"results\">{this.renderResultsList()}</div>\n </div>\n );\n }\n\n private renderResultsList(): HTMLZListElement | HTMLSpanElement {\n if (this.preventSubmit && !this.resultsItemsList?.length) {\n return (\n <span class=\"item item-no-results\">\n Non abbiamo trovato risultati per <b>{this.searchString}</b>\n <br />\n <br />\n Cosa puoi fare?\n <ul>\n <li>Verificare di aver scritto bene</li>\n <li>Provare a cercare un'altra parola</li>\n <li>Provare a cercare qualcosa di più generico</li>\n </ul>\n </span>\n );\n }\n\n return (\n <z-list\n role=\"listbox\"\n id={`list-${this.htmlid}`}\n >\n {this.renderSearchHelper(!!this.resultsItemsList?.length)}\n {this.renderItems()}\n {this.renderShowAllResults()}\n </z-list>\n );\n }\n\n private renderItems(): HTMLZListGroupElement[] {\n if (!this.resultsItemsList?.length) {\n return [];\n }\n\n const groupedItems = this.getGroupedItems(this.resultsItemsList);\n const listGroups: HTMLZListGroupElement[] = [];\n let counter = 0;\n\n Object.values(groupedItems).forEach((groupItem: SearchbarGroup, index: number, array) => {\n if (this.checkResultsCount(counter)) {\n const listGroupsElements: HTMLZListElement[] = [];\n groupItem.items.forEach((item: SearchbarItem, subindex: number, subarray) => {\n if (this.checkResultsCount(counter)) {\n const isLast = index === array.length - 1 && subindex === subarray.length - 1;\n listGroupsElements.push(this.renderItem(item, subindex, !isLast));\n }\n counter++;\n });\n\n if (listGroupsElements.length) {\n listGroups.push(\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n {this.renderItemCategory(groupItem)}\n {listGroupsElements}\n </z-list-group>\n );\n }\n }\n });\n\n return listGroups;\n }\n\n private handleArrowsNavigation(e: KeyboardEvent): void {\n const currentElement = e.target as HTMLElement;\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n\n if (!arrows.includes(e.key as KeyboardCode)) {\n e.preventDefault();\n\n return;\n }\n\n if (!this.items.length) {\n const list = this.element.shadowRoot.querySelector(\"z-list\");\n if (!list) {\n return;\n }\n\n this.items = Array.from(list.querySelectorAll(\".list-element\"));\n }\n\n this.items.forEach((item) => item.classList.contains(\"focused\") && item.classList.remove(\"focused\"));\n\n const currentIndex = this.items.indexOf(currentElement as HTMLZListElementElement);\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n e.preventDefault();\n const nextIndex = currentIndex + 1;\n if (nextIndex < this.items.length) {\n (this.items[nextIndex] as HTMLElement).focus();\n this.items[nextIndex].classList.add(\"focused\");\n }\n }\n\n if (e.key === KeyboardCode.ARROW_UP) {\n e.preventDefault();\n const prevIndex = currentIndex - 1;\n if (prevIndex < 0) {\n this.element.shadowRoot.querySelector(\"input\").focus();\n this.element.shadowRoot\n .querySelector(\"input\")\n .setSelectionRange(this.inputRef.value.length, this.inputRef.value.length);\n }\n if (prevIndex >= 0) {\n (this.items[prevIndex] as HTMLElement).focus();\n this.items[prevIndex].classList.add(\"focused\");\n }\n }\n }\n\n private renderItem(item: SearchbarItem, key: number, divider: boolean): HTMLZListElementElement {\n return (\n <z-list-element\n id={`list-item-${this.htmlid}-${key}`}\n tabIndex={0}\n role=\"option\"\n dividerType={divider ? ListDividerType.ELEMENT : undefined}\n onKeyDown={(e: KeyboardEvent) => this.handleArrowsNavigation(e)}\n >\n <div\n class=\"list-element\"\n tabIndex={0}\n onClick={() => this.emitSearchItemClick(item)}\n onKeyDown={(e: KeyboardEvent) => handleEnterKeydSubmit(e, () => this.emitSearchItemClick(item))}\n onMouseEnter={(e: MouseEvent) => {\n const currentElement = e.target as HTMLElement;\n currentElement.classList.add(\"hovered\");\n }}\n onMouseLeave={(e: MouseEvent) => {\n const currentElement = e.target as HTMLElement;\n currentElement.classList.contains(\"hovered\") && currentElement.classList.remove(\"hovered\");\n }}\n >\n <span class=\"item ellipsis\">\n {item?.icon && (\n <z-icon\n class=\"item-icon\"\n name={item.icon}\n />\n )}\n <span\n class=\"item-label\"\n title={item.label}\n innerHTML={this.renderItemLabel(item.label)}\n />\n </span>\n {item?.tag && <z-tag icon={item.tag.icon}>{!this.isMobile ? item.tag.text : \"\"}</z-tag>}\n </div>\n {item.children && item.children.length > 0 ? (\n <z-list>\n <div class=\"children-node\">{item.children.map((child, index) => this.renderItem(child, index, false))}</div>\n </z-list>\n ) : null}\n </z-list-element>\n );\n }\n\n private renderItemLabel(label: string): string {\n if (!this.searchString) {\n return label;\n }\n\n return label.replace(\n new RegExp(this.searchString.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), \"gmi\"),\n (found) => `<mark>${found}</mark>`\n );\n }\n\n private renderItemCategory(groupItem: SearchbarGroup): HTMLSpanElement | null {\n if (!groupItem?.category) {\n return null;\n }\n\n return (\n <span\n class=\"category-heading\"\n slot=\"header-title\"\n >\n <span class=\"category\">{groupItem.category}</span>\n {groupItem?.subcategory && <span class=\"subcategory\">{groupItem.subcategory}</span>}\n </span>\n );\n }\n\n private renderSearchHelper(hasDivider = true): HTMLZListElement | null {\n if (!this.autocomplete || this.preventSubmit || !this.searchString) {\n return null;\n }\n\n return (\n <z-list-element\n role=\"option\"\n dividerType={hasDivider ? ListDividerType.ELEMENT : undefined}\n id={`list-item-${this.htmlid}-search`}\n onKeyDown={(e: KeyboardEvent) => this.handleArrowsNavigation(e)}\n >\n <div\n tabindex={0}\n onClick={() => this.emitSearchSubmit()}\n onKeyDown={(e: KeyboardEvent) => handleEnterKeydSubmit(e, () => this.emitSearchSubmit())}\n class=\"list-element\"\n >\n <span class=\"item item-search\">\n <z-icon\n class=\"search-icon\"\n name=\"left-magnifying-glass\"\n />\n <span\n class=\"item-label\"\n innerHTML={this.searchHelperLabel.replace(\"{searchString}\", `<mark>${this.searchString}</mark>`)}\n />\n </span>\n </div>\n </z-list-element>\n );\n }\n\n private renderShowAllResults(): HTMLZListElement | null {\n if (\n !this.currResultsCount ||\n !this.searchString ||\n !this.resultsItemsList?.length ||\n this.currResultsCount >= this.resultsItemsList?.length\n ) {\n return null;\n }\n\n return (\n <z-list-element\n role=\"option\"\n tabindex={0}\n clickable\n id={`list-item-${this.htmlid}-show-all`}\n onClickItem={() => (this.currResultsCount = 0)}\n color=\"color-primary01\"\n >\n <div class=\"item-show-all\">Vedi tutti i risultati</div>\n </z-list-element>\n );\n }\n\n render(): HTMLZSearchbarElement {\n return (\n <Host\n onFocus={() => (this.showResults = true)}\n onClick={(e) => this.handleOutsideClick(e)}\n class={{\"has-submit\": this.showSearchButton, \"has-results\": this.autocomplete}}\n >\n <div class=\"input-container\">\n {this.renderInput()}\n {this.renderResults()}\n </div>\n {this.renderButton()}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"index24.js","mappings":"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","names":[],"sources":["src/components/z-popover/styles.css?tag=z-popover&encapsulation=shadow","src/components/z-popover/index.tsx"],"sourcesContent":[":host {\n --z-popover-theme--surface: ;\n --z-popover-theme--text: ;\n --z-popover-padding: ;\n --z-popover-shadow-filter: ;\n\n position: fixed;\n display: none;\n max-width: calc(100% - var(--grid-margin) * 2);\n max-height: calc(100% - var(--grid-margin) * 2);\n padding: var(--z-popover-padding, 0);\n background: var(--z-popover-theme--surface, var(--color-surface01));\n border-radius: var(--border-radius-small);\n color: var(--z-popover-theme--text, var(--color-default-text));\n fill: currentcolor;\n filter: var(--z-popover-shadow-filter, drop-shadow(0 1px 2px var(--shadow-color-base)));\n text-align: center;\n visibility: hidden; /* hidden by default. the positioning algorithm will set it to 'visible' when needed */\n}\n\n:host([open]:not([open=\"false\"])[current-position]) {\n display: block;\n}\n\n:host([center][current-position=\"top\"]),\n:host([center][current-position=\"bottom\"]) {\n transform: translateX(-50%);\n}\n\n:host([center][current-position=\"right\"]),\n:host([center][current-position=\"left\"]) {\n transform: translateY(-50%);\n}\n\n:host([current-position^=\"top\"]) {\n margin: 0 0 var(--space-unit);\n}\n\n:host([current-position^=\"bottom\"]) {\n margin: var(--space-unit) 0 0;\n}\n\n:host([current-position^=\"left\"]) {\n margin: 0 var(--space-unit) 0 0;\n}\n\n:host([current-position^=\"right\"]) {\n margin: 0 0 0 var(--space-unit);\n}\n\n/* Arrow style */\n\n:host([current-position])::before {\n --arrow-size: 6px;\n --arrow-edge-offset: calc(100% - var(--space-unit) - (var(--arrow-size) / 2));\n --arrow-center-x-offset: calc(50% - (var(--arrow-size) / 2));\n --arrow-center-y-offset: calc(100% - (var(--arrow-size) / 2));\n\n position: absolute;\n display: block;\n width: var(--arrow-size);\n height: var(--arrow-size);\n background: var(--z-popover-theme--surface, var(--color-surface01));\n content: \"\";\n transform: rotate(45deg);\n}\n\n:host([show-arrow=\"false\"])::before,\n:host(:not([show-arrow]))::before {\n display: none;\n}\n\n:host([current-position^=\"top\"])::before {\n top: var(--arrow-center-y-offset);\n}\n\n:host([current-position^=\"bottom\"])::before {\n bottom: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"top\"])::before,\n:host([current-position=\"bottom\"])::before {\n right: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right\"])::before,\n:host([current-position=\"left\"])::before {\n bottom: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right\"])::before {\n right: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"left\"])::before {\n left: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"top_right\"])::before,\n:host([current-position=\"bottom_right\"])::before {\n right: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"top_left\"])::before,\n:host([current-position=\"bottom_left\"])::before {\n left: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right_top\"])::before,\n:host([current-position=\"left_top\"])::before {\n top: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right_top\"])::before,\n:host([current-position=\"right_bottom\"])::before {\n right: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"left_top\"])::before,\n:host([current-position=\"left_bottom\"])::before {\n left: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"right_bottom\"])::before,\n:host([current-position=\"left_bottom\"])::before {\n bottom: var(--arrow-edge-offset);\n}\n\n:host([center][current-position=\"top\"])::before,\n:host([center][current-position=\"bottom\"])::before {\n right: auto;\n left: var(--arrow-center-x-offset);\n}\n\n:host([center][current-position=\"right\"])::before,\n:host([center][current-position=\"left\"])::before {\n top: var(--arrow-center-x-offset);\n bottom: auto;\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {Device, KeyboardCode, PopoverPosition} from \"../../beans\";\nimport {containsElement, findScrollableParent, getDevice, isElementVisibleInContainer} from \"../../utils/utils\";\n\n/** Centering offset modifier. 0 for no offset, 0.5 for centering. */\ntype OffsetModifier = 0 | 0.5;\ntype Offsets = {top: number; right: number; bottom: number; left: number};\n\n/**\n * Popover component.\n * This component displays a popover bound to an element.\n * It supports various positions and can automatically adjust it based on available space, accounting for scrollable containers.\n *\n * Notes:\n * - If positioning has an odd behavior, consider manually adjusting the size of the slotted elements (using `width`, `height`, `max-width`, `max-height`, etc...) when its content is \"fluid\" (like text), because it can interfere with the position calculation (for example a long text on one single line can be bigger than the available space, letting the algorithm think the popover doesn't fits).\n *\n * @cssprop --z-popover-theme--surface - background color of the popover.\n * @cssprop --z-popover-theme--text - foreground color of the popover.\n * @cssprop --z-popover-padding - padding of the popover.\n * @cssprop --z-popover-shadow-filter - drop-shadow filter of the popover. Defaults to `drop-shadow(0 1px 2px var(--shadow-color-base))`.\n */\n@Component({\n tag: \"z-popover\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZPopover {\n /**\n * The preferred position to render the popover.\n * The popover will automatically search another position if not enough space is available for the preferred position.\n * If the preferred position is not available, it will try to find the best position starting from `TOP` and going clockwise.\n */\n @Prop({reflect: true, mutable: true})\n position?: PopoverPosition = PopoverPosition.TOP;\n\n /** The open state of the popover. */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * The selector or the element bound with the popover.\n * If string css selector is provided make sure to use a valid selector.\n */\n @Prop()\n bindTo?: string | HTMLElement;\n\n /** Whether to show popover's arrow. */\n @Prop({reflect: true})\n showArrow = false;\n\n /** Whether to center the popup on the main side (according to \"position\"). */\n @Prop({reflect: true})\n center = false;\n\n /**\n * If true, the popover can be closed by clicking outside of it or pressing the escape key.\n * Otherwise, it will be closed only programmatically (by setting `open` to `false`).\n */\n @Prop()\n closable = true;\n\n /**\n * The current position of the popover.\n * It differs from `position` only when calculated automatically for space reasons.\n */\n @State()\n currentPosition?: PopoverPosition;\n\n @Element() host: HTMLZPopoverElement;\n\n // Clockwise order of positions.\n private static readonly positionOrder: PopoverPosition[] = [\n PopoverPosition.TOP,\n PopoverPosition.TOP_RIGHT,\n PopoverPosition.TOP_LEFT,\n PopoverPosition.RIGHT,\n PopoverPosition.RIGHT_BOTTOM,\n PopoverPosition.RIGHT_TOP,\n PopoverPosition.BOTTOM,\n PopoverPosition.BOTTOM_LEFT,\n PopoverPosition.BOTTOM_RIGHT,\n PopoverPosition.LEFT,\n PopoverPosition.LEFT_TOP,\n PopoverPosition.LEFT_BOTTOM,\n ] as const;\n\n private animationFrameRequestId?: number;\n\n /** space tolerance for space calculations */\n private readonly spaceTolerance = 3;\n\n /** The element bound to the popover. */\n private boundElement?: HTMLElement;\n\n /** Cached available space around the bound element to avoid unnecessary recalculations */\n private cachedAvailableSpace?: Offsets;\n\n /** Last bounding rect of the bound element to detect changes and eventually invalidate the caches. */\n private lastBoundRect?: DOMRect;\n\n /** Fired when the position changes. */\n @Event()\n positionChange: EventEmitter;\n\n /** Open change event. */\n @Event()\n openChange: EventEmitter;\n\n @Listen(\"keyup\", {target: \"window\"})\n closePopoverWithKeyboard(e: KeyboardEvent): void {\n if (this.closable && e.key === KeyboardCode.ESC) {\n this.open = false;\n }\n }\n\n /**\n * Close the popover when clicking outside of its content.\n * Stop event propagation if the click was fired by popover's trigger element,\n * to prevent close and reopen glitches.\n */\n @Listen(\"click\", {target: \"body\", capture: true})\n handleOutsideClick(e: MouseEvent): void {\n const target = e.target as Element;\n if (!this.closable || !this.open || containsElement(this.host, target)) {\n return;\n }\n\n if (containsElement(this.boundElement, target)) {\n // stop propagation if the click was on the trigger element to prevent close and reopen glitches\n e.stopPropagation();\n }\n this.open = false;\n }\n\n @Watch(\"position\")\n validatePosition(newValue: PopoverPosition): void {\n if (!Object.values(PopoverPosition).includes(newValue as PopoverPosition) || newValue === PopoverPosition.AUTO) {\n newValue = PopoverPosition.TOP;\n this.position = newValue;\n }\n this.currentPosition = newValue;\n if (this.open) {\n this.setPosition();\n }\n }\n\n /** Setup popover behaviors when `open` changes. */\n @Watch(\"open\")\n onOpen(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n this.openChange.emit({open: this.open});\n if (!this.open) {\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n this.currentPosition = undefined;\n\n return;\n }\n\n const updatePositionLoop = (): void => {\n if (!this.open) {\n return;\n }\n\n this.setPosition();\n this.animationFrameRequestId = requestAnimationFrame(updatePositionLoop);\n };\n\n // call `setPosition` after a tick to ensure the DOM is ready and sizes are available\n setTimeout(() => {\n updatePositionLoop();\n }, 0);\n }\n\n @Watch(\"bindTo\")\n onBindingChange(): void {\n this.findBoundElement();\n }\n\n /** Returns the offset modifier to use in calculations to align the popover with the bound element. */\n private get offsetModifier(): OffsetModifier {\n return this.center ? 0.5 : 0;\n }\n\n private findBoundElement(): void {\n if (typeof this.bindTo === \"string\") {\n this.boundElement = this.host.ownerDocument.querySelector(this.bindTo) as HTMLElement;\n } else if (this.bindTo) {\n this.boundElement = this.bindTo;\n } else {\n this.boundElement = this.host.parentElement as HTMLElement;\n }\n }\n\n /**\n * Check if element has enough space to the right and left to be centered.\n * Used for `TOP` and `BOTTOM` position.\n * When `center` is not enabled, only one side needs to be checked and `RIGHT` is the default.\n */\n private hasCenteredHorizontalSpace(\n availableLeft: number,\n availableRight: number,\n hostWidth: number,\n boundElementWidth: number\n ): boolean {\n const requiredSideSpace = (hostWidth - boundElementWidth) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableRight >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableRight >= requiredSideSpace - this.spaceTolerance &&\n availableLeft >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if element has enough space to the top and bottom to be centered.\n * Used for `RIGHT` and `LEFT` position.\n * When `center` is not enabled, only one side needs to be checked and `BOTTOM` is the default.\n */\n private hasCenteredVerticalSpace(\n availableTop: number,\n availableBottom: number,\n hostHeight: number,\n boundElementHeight: number\n ): boolean {\n const requiredSideSpace = (hostHeight - boundElementHeight) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableBottom >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableTop >= requiredSideSpace - this.spaceTolerance &&\n availableBottom >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if there is enough space in the given direction to fit the popover.\n * Used for composed positions like TOP_RIGHT, LEFT_BOTTOM, etc.\n */\n private hasEnoughSideSpace(\n availableSpace: number,\n hostSize: number,\n boundElementSize: number,\n offsetModifier: OffsetModifier\n ): boolean {\n return availableSpace >= hostSize - boundElementSize * (1 - offsetModifier) - this.spaceTolerance;\n }\n\n /**\n * Given a desired position and available space around the bound element, returns the best position\n * that fits the popover, trying all positions if needed.\n * Takes into account offsetModifier for centering.\n * @param desiredPosition The desired position of the popover.\n * @param availableSpace The available space around the bound element.\n */\n private getOptimalPopoverPosition(desiredPosition: PopoverPosition, availableSpace: Offsets): PopoverPosition {\n const hostWidth = this.host.offsetWidth;\n const hostHeight = this.host.offsetHeight;\n const boundElementWidth = this.boundElement.getBoundingClientRect().width;\n const boundElementHeight = this.boundElement.getBoundingClientRect().height;\n const offsetModifier = this.offsetModifier;\n\n /** Check if there is enough space to fit the popover in the desired position */\n const fits = (pos: PopoverPosition): boolean => {\n switch (pos) {\n case PopoverPosition.TOP:\n return (\n availableSpace.top >= hostHeight - this.spaceTolerance &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.TOP_RIGHT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.TOP_LEFT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.RIGHT:\n return (\n availableSpace.right >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.RIGHT_BOTTOM:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.RIGHT_TOP:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.BOTTOM:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.BOTTOM_LEFT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.BOTTOM_RIGHT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.LEFT:\n return (\n availableSpace.left >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.LEFT_TOP:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.LEFT_BOTTOM:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n\n default:\n return false;\n }\n };\n\n // Check desired position first\n if (fits(desiredPosition)) {\n return desiredPosition;\n }\n\n // Find position index and create rotation starting from next position\n const positions = ZPopover.positionOrder;\n const startIndex = positions.indexOf(desiredPosition);\n\n if (startIndex === -1) {\n return desiredPosition; // fallback if position not found\n }\n\n // Try all other positions starting from the next one\n for (let i = 1; i < positions.length; i++) {\n const posIndex = (startIndex + i) % positions.length;\n const pos = positions[posIndex];\n if (fits(pos)) {\n return pos;\n }\n }\n\n return this.findBestFallbackPosition(availableSpace);\n }\n\n /** Find the best fallback position based on available space when no position fits perfectly. */\n private findBestFallbackPosition(availableSpace: Offsets): PopoverPosition {\n // Determine which horizontal and vertical direction has the most available space\n const bestHorizontalDirection =\n availableSpace.right >= availableSpace.left ? PopoverPosition.RIGHT : PopoverPosition.LEFT;\n\n const bestVerticalDirection =\n availableSpace.bottom >= availableSpace.top ? PopoverPosition.BOTTOM : PopoverPosition.TOP;\n\n // Choose the main direction based on which axis has more space overall\n const maxHorizontalSpace = Math.max(availableSpace.right, availableSpace.left);\n const maxVerticalSpace = Math.max(availableSpace.bottom, availableSpace.top);\n\n const mainDirection = maxVerticalSpace >= maxHorizontalSpace ? bestVerticalDirection : bestHorizontalDirection;\n\n // Decide if a secondary direction is needed\n // Only add a secondary direction if the difference between min and max in that axis is at least double\n let needsSecondaryDirection = false;\n\n if (mainDirection === bestVerticalDirection) {\n // If main direction is vertical, check horizontal space difference\n const minHorizontalSpace = Math.min(availableSpace.right, availableSpace.left);\n needsSecondaryDirection = maxHorizontalSpace >= minHorizontalSpace * 2;\n } else {\n // If main direction is horizontal, check vertical space difference\n const minVerticalSpace = Math.min(availableSpace.bottom, availableSpace.top);\n needsSecondaryDirection = maxVerticalSpace >= minVerticalSpace * 2;\n }\n\n if (!needsSecondaryDirection) {\n return mainDirection;\n }\n\n const secondaryDirection =\n mainDirection === bestVerticalDirection ? bestHorizontalDirection : bestVerticalDirection;\n\n // Return a combined position (e.g., \"bottom_right\")\n return `${mainDirection}_${secondaryDirection}` as PopoverPosition;\n }\n\n /**\n * Calculate available space around the element bound with the popover, based on its nearest scrollable ancestor.\n *\n * Calculations for `right` and `bottom` can be a little bit confusing because `boundingRect.right` and `bottom` may not be what you expect...\n * For more information see the explanation in the docs.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#return_value\n */\n private calculateAvailableSpace(): Offsets {\n const boundElementRect = this.boundElement.getBoundingClientRect();\n\n if (\n this.lastBoundRect &&\n this.lastBoundRect.x === boundElementRect.x &&\n this.lastBoundRect.y === boundElementRect.y &&\n this.lastBoundRect.width === boundElementRect.width &&\n this.lastBoundRect.height === boundElementRect.height &&\n this.cachedAvailableSpace\n ) {\n // If the bound element's rect hasn't changed, return the cached rect\n return this.cachedAvailableSpace;\n }\n\n this.lastBoundRect = boundElementRect;\n const scrollableParent = findScrollableParent(this.boundElement);\n const scrollableParentRect = scrollableParent.getBoundingClientRect();\n const hasNestedScrollableParent = scrollableParent !== this.boundElement.ownerDocument.documentElement;\n const documentWidth = this.boundElement.ownerDocument.documentElement.clientWidth;\n const documentHeight = this.boundElement.ownerDocument.documentElement.clientHeight;\n const safeSpace = 8; // extra space to avoid popover being too close to the edges\n\n // These deltas represent the offset between the scrollable parent and the viewport.\n // They are used to adjust the available space calculations when the scrollable parent is not the document or body,\n // to try to fit the popover inside the scrollable parent.\n const deltaTop = hasNestedScrollableParent ? scrollableParentRect.top : 0;\n const deltaRight = hasNestedScrollableParent ? documentWidth - scrollableParentRect.right : 0;\n const deltaBottom = hasNestedScrollableParent ? documentHeight - scrollableParentRect.bottom : 0;\n const deltaLeft = hasNestedScrollableParent ? scrollableParentRect.left : 0;\n\n this.cachedAvailableSpace = {\n top: boundElementRect.top - deltaTop - safeSpace,\n right: documentWidth - boundElementRect.right - deltaRight - safeSpace,\n bottom: documentHeight - boundElementRect.bottom - deltaBottom - safeSpace,\n left: boundElementRect.left - deltaLeft - safeSpace,\n };\n\n return this.cachedAvailableSpace;\n }\n\n /** Calculate the space around an element relative to the viewport. */\n private calculateElementOffsets(element: HTMLElement): Offsets {\n const elementRect = element.getBoundingClientRect();\n const viewportWidth = element.ownerDocument.documentElement.clientWidth;\n const viewportHeight = element.ownerDocument.documentElement.clientHeight;\n\n return {\n top: elementRect.top,\n right: viewportWidth - elementRect.right,\n bottom: viewportHeight - elementRect.bottom,\n left: elementRect.left,\n };\n }\n\n /** Apply positioning styles based on passed position. */\n private applyPositionStyles(position: PopoverPosition, availableSpace: Offsets): void {\n const boundElementWidth = this.boundElement.offsetWidth;\n const boundElementHeight = this.boundElement.offsetHeight;\n /** Distance between the popover and the bound element */\n const distanceFromBound = 8;\n const offsetModifier = this.offsetModifier;\n /** Distance between the arrow center and the popover edge. Needed to align the center of the arrow with the center of the bound element when `showArrow` and `center` are enabled. */\n const arrowModifier = this.showArrow && this.center ? 8 : 0;\n const hostStyle = this.host.style;\n const boundElementOffsets = this.calculateElementOffsets(this.boundElement);\n\n let maxWidth: number;\n let maxHeight: number;\n\n switch (position) {\n case PopoverPosition.TOP:\n case PopoverPosition.TOP_RIGHT:\n hostStyle.bottom = `${boundElementOffsets.bottom + boundElementHeight}px`;\n hostStyle.left = `${boundElementOffsets.left + boundElementWidth * offsetModifier - (position === PopoverPosition.TOP_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.top - distanceFromBound;\n if (position === PopoverPosition.TOP_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.TOP_LEFT:\n hostStyle.right = `${boundElementOffsets.right + boundElementWidth * offsetModifier - arrowModifier}px`;\n hostStyle.bottom = `${boundElementOffsets.bottom + boundElementHeight}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.top - distanceFromBound;\n break;\n\n case PopoverPosition.BOTTOM:\n case PopoverPosition.BOTTOM_RIGHT:\n hostStyle.top = `${boundElementOffsets.top + boundElementHeight}px`;\n hostStyle.left = `${boundElementOffsets.left + boundElementWidth * offsetModifier - (position === PopoverPosition.BOTTOM_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.bottom - distanceFromBound;\n if (position === PopoverPosition.BOTTOM_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.BOTTOM_LEFT:\n hostStyle.top = `${boundElementOffsets.top + boundElementHeight}px`;\n hostStyle.right = `${boundElementOffsets.right + boundElementWidth * offsetModifier - arrowModifier}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.bottom - distanceFromBound;\n break;\n\n case PopoverPosition.RIGHT:\n case PopoverPosition.RIGHT_BOTTOM:\n hostStyle.top = `${boundElementOffsets.top + boundElementHeight * offsetModifier - (position === PopoverPosition.RIGHT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.left = `${boundElementOffsets.left + boundElementWidth}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n if (position === PopoverPosition.RIGHT) {\n maxHeight = availableSpace.top + availableSpace.bottom + boundElementHeight;\n } else {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.RIGHT_TOP:\n hostStyle.bottom = `${boundElementOffsets.bottom + boundElementHeight * offsetModifier - arrowModifier}px`;\n hostStyle.left = `${boundElementOffsets.left + boundElementWidth}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n\n case PopoverPosition.LEFT:\n case PopoverPosition.LEFT_BOTTOM:\n hostStyle.top = `${boundElementOffsets.top + boundElementHeight * offsetModifier - (position === PopoverPosition.LEFT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.right = `${boundElementOffsets.right + boundElementWidth}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n if (position === PopoverPosition.LEFT_BOTTOM) {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.LEFT_TOP:\n hostStyle.right = `${boundElementOffsets.right + boundElementWidth}px`;\n hostStyle.bottom = `${boundElementOffsets.bottom + boundElementHeight * offsetModifier - arrowModifier}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n }\n\n if (getDevice() !== Device.MOBILE) {\n // Only force max sizes on non-mobile viewports\n Object.assign(hostStyle, {\n maxWidth: maxWidth ? `${maxWidth}px` : \"\",\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n });\n }\n }\n\n /** Set the position of the popover. */\n private setPosition(): void {\n if (!this.boundElement) {\n return;\n }\n\n if (!isElementVisibleInContainer(this.boundElement, findScrollableParent(this.boundElement))) {\n // If the bound element is not visible, hide the popover too\n this.open = false;\n\n return;\n }\n\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n\n const availableSpace = this.calculateAvailableSpace();\n const position = this.getOptimalPopoverPosition(this.position, availableSpace);\n\n this.applyPositionStyles(position, availableSpace);\n this.currentPosition = position;\n this.positionChange.emit({position: this.currentPosition});\n\n // ...then restore the visibility\n this.host.style.visibility = \"visible\";\n }\n\n componentWillLoad(): void {\n this.validatePosition(this.position);\n }\n\n componentDidLoad(): void {\n this.findBoundElement();\n if (this.open) {\n this.onOpen();\n }\n }\n\n disconnectedCallback(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n }\n\n render(): HTMLZPopoverElement {\n return (\n <Host current-position={this.currentPosition}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,38 +1,395 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { e as ControlSize, B as ButtonVariant, p as Device, l as ListDividerType, g as KeyboardCode } from './index2.js';
|
|
3
|
+
import { r as randomId, g as getDevice, k as handleEnterKeydSubmit } from './utils.js';
|
|
4
|
+
import { d as defineCustomElement$9 } from './index5.js';
|
|
5
|
+
import { d as defineCustomElement$8 } from './index7.js';
|
|
6
|
+
import { d as defineCustomElement$7 } from './index10.js';
|
|
7
|
+
import { d as defineCustomElement$6 } from './index12.js';
|
|
8
|
+
import { d as defineCustomElement$5 } from './index13.js';
|
|
9
|
+
import { d as defineCustomElement$4 } from './index14.js';
|
|
10
|
+
import { d as defineCustomElement$3 } from './index15.js';
|
|
11
|
+
import { d as defineCustomElement$2 } from './index16.js';
|
|
12
|
+
import { d as defineCustomElement$1 } from './index26.js';
|
|
3
13
|
|
|
4
|
-
const stylesCss = "
|
|
5
|
-
const
|
|
14
|
+
const stylesCss = ":host{--z-searchbar-tag-text-color:var(--color-primary03);--z-searchbar-tag-bg:var(--color-hover-primary);--z-searchbar-item-height:44px;z-index:15;display:flex;column-gap:calc(var(--space-unit) * 2);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host,*{box-sizing:border-box}:host::part(list-item-container){display:block;min-height:unset;padding:0}.input-container{position:relative;display:flex;width:100%;flex-direction:column}.results-wrapper{position:absolute;top:calc(100% - 1px);left:0;width:100%;padding:calc(var(--space-unit) / 4);border:var(--border-size-small) solid var(--color-surface03);border-top:none;background:var(--color-surface01)}.results{overflow:auto;max-height:var(--z-searchbar-results-height, 540px);padding:calc(var(--space-unit) / 2) calc(var(--space-unit) * 1.5)}.results::-webkit-scrollbar{width:6px;background:linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px)}.results::-webkit-scrollbar-thumb{background-color:var(--color-primary01)}.results::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}@supports not selector(.results::-webkit-scrollbar-track){.results{scrollbar-color:var(--color-primary01) transparent}}.results .category-heading{display:block;font-size:var(--font-size-2);font-weight:var(--font-rg);line-height:var(--font-size-3)}.results .category-heading>*{display:block}.results .category-heading>.category{color:var(--color-text05);font-style:italic}.results .category-heading>.subcategory{margin-top:var(--space-unit);color:var(--color-default-text);text-transform:uppercase}.results z-list-element{position:relative;display:block}z-list-element>.item-search{padding:var(--space-unit) 0}z-list z-list-element::before{position:absolute;z-index:100;top:5px;left:-20px;width:8px;height:1em;border-bottom:1px solid var(--color-disabled01-icon);border-left:1px solid var(--color-disabled01-icon);content:\"\";cursor:pointer}z-list z-list-element::after{position:absolute;z-index:100;top:5px;left:-20px;width:8px;height:100%;border-left:1px solid var(--color-disabled01-icon);content:\"\";cursor:pointer}z-list z-list-element:last-child::after{display:none}z-list>z-list-element::before,z-list>z-list-element::after,z-list>z-list-group>z-list-element::before,z-list>z-list-group>z-list-element::after{display:none}z-list>div.children-node{padding-left:calc(var(--space-unit) * 3)}.results z-list-element>.list-element{display:flex;justify-content:space-between;padding:calc(var(--space-unit) * 1.25) 0;cursor:pointer}.results z-list-element>.list-element:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}.results z-list-element>.list-element .item.ellipsis{overflow:hidden}.results z-list-element .list-element::after{position:absolute;top:0;right:0;display:block;width:100%;height:44px;content:\"\";transform:translateX(-100%)}.results z-list-element .list-element.focused.hovered::after{padding-left:6px}.results z-list-element>.list-element:hover,.results z-list-element>.list-element:hover::after{background-color:var(--color-background);cursor:pointer}.results z-list-element>.list-element>z-tag{border:1px solid var(--gray800);font-size:var(--font-size-1);font-weight:var(--font-sb);--z-tag-bg:var(--z-searchbar-tag-bg);--z-tag-text-color:var(--z-searchbar-tag-text-color)}.results .item{--z-icon-height:12px;--z-icon-width:12px;display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;color:var(--color-default-text);column-gap:calc(var(--space-unit) * 1.5);fill:var(--color-default-icon);font-size:var(--font-size-2);line-height:var(--font-size-6)}.results .item.ellipsis>.item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results .item>.item-label mark{background:var(--color-primary03)}.results .item.item-search{--z-icon-height:16px;--z-icon-width:16px}.results .item-show-all{text-align:center}.results .item-no-results{display:block;font-size:var(--font-size-2);font-style:italic;line-height:var(--font-size-5)}.results .item-no-results>ul{padding-left:calc(var(--space-unit) * 2);margin:var(--space-unit)}@media (min-width: 768px){.results .category-heading{font-size:var(--font-size-3);line-height:var(--font-size-6)}.results .item{font-size:var(--font-size-3);line-height:var(--font-size-6)}.results .item.item-search{--z-icon-height:18px;--z-icon-width:18px}.results .item.ellipsis>.item-label{height:24px}.results z-list-element>.list-element>z-tag{min-width:max-content}}@media (min-width: 1152px){.results .item{cursor:pointer}.results .item-no-results{cursor:default;font-size:var(--font-size-3);line-height:var(--font-size-6)}}:host([size=\"small\"]) .results :is(.item,.category-heading),:host([size=\"x-small\"]) .results :is(.item,.category-heading){font-size:var(--font-size-2)}:host([size=\"small\"]) .results .item:not(.has-category),:host([size=\"x-small\"]) .results .item:not(.has-category){--z-icon-height:16px;--z-icon-width:16px}:host([size=\"small\"]) z-list-element>.list-element,:host([size=\"small\"]) z-list-element>.item-search{padding:calc(var(--space-unit) * 0.75) 0}:host([size=\"x-small\"]) z-list-element>.list-element,:host([size=\"x-small\"]) z-list-element>.item-search{padding:calc(var(--space-unit) / 2) 0}:host([size=\"small\"]) z-list-element .list-element::after{height:36px}:host([size=\"x-small\"]) z-list-element .list-element::after{height:32px}";
|
|
15
|
+
const ZSearchbarStyle0 = stylesCss;
|
|
6
16
|
|
|
7
|
-
const
|
|
17
|
+
const ZSearchbar = /*@__PURE__*/ proxyCustomElement(class ZSearchbar extends HTMLElement {
|
|
8
18
|
constructor() {
|
|
9
19
|
super();
|
|
10
20
|
this.__registerHost();
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
21
|
+
this.__attachShadow();
|
|
22
|
+
this.searchSubmit = createEvent(this, "searchSubmit", 7);
|
|
23
|
+
this.searchTyping = createEvent(this, "searchTyping", 7);
|
|
24
|
+
this.searchItemClick = createEvent(this, "searchItemClick", 7);
|
|
25
|
+
this.resultsItemsList = null;
|
|
26
|
+
this.items = [];
|
|
27
|
+
this.htmlid = `searchbar-${randomId()}`;
|
|
28
|
+
this.preventSubmit = false;
|
|
29
|
+
this.value = undefined;
|
|
30
|
+
this.placeholder = undefined;
|
|
31
|
+
this.autocomplete = false;
|
|
32
|
+
this.autocompleteMinChars = 3;
|
|
33
|
+
this.resultsCount = undefined;
|
|
34
|
+
this.searchHelperLabel = "Cerca {searchString}";
|
|
35
|
+
this.resultsItems = undefined;
|
|
36
|
+
this.sortResultsItems = false;
|
|
37
|
+
this.showSearchButton = false;
|
|
38
|
+
this.searchButtonIconOnly = false;
|
|
39
|
+
this.size = ControlSize.BIG;
|
|
40
|
+
this.variant = ButtonVariant.PRIMARY;
|
|
41
|
+
this.searchString = this.value;
|
|
42
|
+
this.currResultsCount = 0;
|
|
43
|
+
this.showResults = false;
|
|
44
|
+
this.isMobile = false;
|
|
45
|
+
this.selectedItem = undefined;
|
|
46
|
+
}
|
|
47
|
+
emitSearchSubmit() {
|
|
48
|
+
this.searchSubmit.emit(this.inputRef.value);
|
|
49
|
+
}
|
|
50
|
+
emitSearchTyping(search) {
|
|
51
|
+
this.searchTyping.emit(search);
|
|
52
|
+
}
|
|
53
|
+
emitSearchItemClick(item) {
|
|
54
|
+
this.searchItemClick.emit(item);
|
|
55
|
+
this.selectedItem = item;
|
|
56
|
+
this.searchString = "";
|
|
57
|
+
}
|
|
58
|
+
watchItems() {
|
|
59
|
+
this.resultsItemsList = this.getResultsItemsList();
|
|
60
|
+
}
|
|
61
|
+
watchResultsCount() {
|
|
62
|
+
this.currResultsCount = this.resultsCount;
|
|
63
|
+
}
|
|
64
|
+
watchValue() {
|
|
65
|
+
this.searchString = this.value;
|
|
66
|
+
}
|
|
67
|
+
watchSearchString() {
|
|
68
|
+
this.emitSearchTyping(this.searchString);
|
|
69
|
+
this.items = [];
|
|
70
|
+
if (!this.searchString) {
|
|
71
|
+
this.currResultsCount = this.resultsCount;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
watchShowResults() {
|
|
75
|
+
if (!this.showResults) {
|
|
76
|
+
this.items = [];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
disconnectedCallback() {
|
|
80
|
+
var _a;
|
|
81
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
82
|
+
}
|
|
83
|
+
componentDidLoad() {
|
|
84
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
85
|
+
if (getDevice() === Device.MOBILE && !this.isMobile) {
|
|
86
|
+
this.isMobile = true;
|
|
87
|
+
}
|
|
88
|
+
if (getDevice() !== Device.MOBILE && this.isMobile) {
|
|
89
|
+
this.isMobile = false;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
this.resizeObserver.observe(this.element);
|
|
93
|
+
}
|
|
94
|
+
componentWillLoad() {
|
|
95
|
+
this.resultsItemsList = this.getResultsItemsList();
|
|
96
|
+
this.currResultsCount = this.resultsCount;
|
|
97
|
+
}
|
|
98
|
+
getResultsItemsList() {
|
|
99
|
+
return typeof this.resultsItems === "string" ? JSON.parse(this.resultsItems) : this.resultsItems;
|
|
100
|
+
}
|
|
101
|
+
getGroupedItems(items) {
|
|
102
|
+
const groupedItems = {};
|
|
103
|
+
items.forEach((item) => {
|
|
104
|
+
var _a;
|
|
105
|
+
const key = `${item === null || item === void 0 ? void 0 : item.category}${item === null || item === void 0 ? void 0 : item.subcategory}`;
|
|
106
|
+
groupedItems[key] = (_a = groupedItems[key]) !== null && _a !== void 0 ? _a : {
|
|
107
|
+
category: item === null || item === void 0 ? void 0 : item.category,
|
|
108
|
+
subcategory: item === null || item === void 0 ? void 0 : item.subcategory,
|
|
109
|
+
items: [],
|
|
110
|
+
};
|
|
111
|
+
groupedItems[key]["items"].push(item);
|
|
112
|
+
});
|
|
113
|
+
if (this.sortResultsItems) {
|
|
114
|
+
return Object.keys(groupedItems)
|
|
115
|
+
.sort()
|
|
116
|
+
.reduce((obj, key) => {
|
|
117
|
+
obj[key] = Object.assign(Object.assign({}, groupedItems[key]), { items: groupedItems[key]["items"].sort((a, b) => {
|
|
118
|
+
const nameA = a.label.toUpperCase();
|
|
119
|
+
const nameB = b.label.toUpperCase();
|
|
120
|
+
if (nameA < nameB) {
|
|
121
|
+
return -1;
|
|
122
|
+
}
|
|
123
|
+
if (nameA > nameB) {
|
|
124
|
+
return 1;
|
|
125
|
+
}
|
|
126
|
+
return 0;
|
|
127
|
+
}) });
|
|
128
|
+
return obj;
|
|
129
|
+
}, {});
|
|
130
|
+
}
|
|
131
|
+
return groupedItems;
|
|
132
|
+
}
|
|
133
|
+
checkResultsCount(counter) {
|
|
134
|
+
if (!this.currResultsCount || counter < this.currResultsCount) {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
handleStopTyping(e) {
|
|
140
|
+
e.stopPropagation();
|
|
141
|
+
this.searchString = e.detail.value;
|
|
142
|
+
if (this.selectedItem) {
|
|
143
|
+
this.selectedItem = undefined;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
handleSubmit() {
|
|
147
|
+
if (this.preventSubmit) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
this.emitSearchSubmit();
|
|
151
|
+
}
|
|
152
|
+
handleOutsideClick(e) {
|
|
153
|
+
const cp = e.composedPath();
|
|
154
|
+
const searchbar = cp.find((elem) => elem.nodeName === "Z-SEARCHBAR");
|
|
155
|
+
if (!searchbar || searchbar.htmlid !== this.htmlid) {
|
|
156
|
+
this.showResults = false;
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (cp.find((elem) => { var _a; return (elem === null || elem === void 0 ? void 0 : elem.nodeName) === "Z-INPUT" || ((_a = elem === null || elem === void 0 ? void 0 : elem.classList) === null || _a === void 0 ? void 0 : _a.contains("results")); })) {
|
|
160
|
+
this.showResults = true;
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
this.showResults = false;
|
|
164
|
+
}
|
|
165
|
+
renderInput() {
|
|
166
|
+
var _a;
|
|
167
|
+
return (h("z-input", { ref: (val) => {
|
|
168
|
+
this.inputRef = val;
|
|
169
|
+
}, htmlid: `input-${this.htmlid}`, message: false, placeholder: this.placeholder, onStopTyping: (e) => this.handleStopTyping(e), onKeyUp: (e) => {
|
|
170
|
+
handleEnterKeydSubmit(e, () => this.handleSubmit());
|
|
171
|
+
this.handleArrowsNavigation(e);
|
|
172
|
+
}, value: this.searchString || ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.label), ariaLabel: this.placeholder, size: this.size }));
|
|
173
|
+
}
|
|
174
|
+
renderButton() {
|
|
175
|
+
if (!this.showSearchButton) {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
const iconProp = this.searchButtonIconOnly ? { icon: "search" } : null;
|
|
179
|
+
const buttonLabel = this.searchButtonIconOnly ? "" : "CERCA";
|
|
180
|
+
const ariaLabel = this.searchButtonIconOnly ? { "aria-label": "CERCA" } : null;
|
|
181
|
+
const defaultProps = Object.assign(Object.assign({ disabled: this.preventSubmit, variant: this.variant, size: this.size, onClick: () => this.handleSubmit() }, iconProp), ariaLabel);
|
|
182
|
+
return h("z-button", Object.assign({}, defaultProps), buttonLabel);
|
|
183
|
+
}
|
|
184
|
+
renderResults() {
|
|
185
|
+
if (!this.showResults ||
|
|
186
|
+
!this.autocomplete ||
|
|
187
|
+
!this.searchString ||
|
|
188
|
+
this.searchString.length < this.autocompleteMinChars ||
|
|
189
|
+
!this.resultsItemsList) {
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
return (h("div", { class: "results-wrapper" }, h("div", { class: "results" }, this.renderResultsList())));
|
|
193
|
+
}
|
|
194
|
+
renderResultsList() {
|
|
195
|
+
var _a, _b;
|
|
196
|
+
if (this.preventSubmit && !((_a = this.resultsItemsList) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
197
|
+
return (h("span", { class: "item item-no-results" }, "Non abbiamo trovato risultati per ", h("b", null, this.searchString), h("br", null), h("br", null), "Cosa puoi fare?", h("ul", null, h("li", null, "Verificare di aver scritto bene"), h("li", null, "Provare a cercare un'altra parola"), h("li", null, "Provare a cercare qualcosa di pi\u00F9 generico"))));
|
|
198
|
+
}
|
|
199
|
+
return (h("z-list", { role: "listbox", id: `list-${this.htmlid}` }, this.renderSearchHelper(!!((_b = this.resultsItemsList) === null || _b === void 0 ? void 0 : _b.length)), this.renderItems(), this.renderShowAllResults()));
|
|
200
|
+
}
|
|
201
|
+
renderItems() {
|
|
202
|
+
var _a;
|
|
203
|
+
if (!((_a = this.resultsItemsList) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
204
|
+
return [];
|
|
205
|
+
}
|
|
206
|
+
const groupedItems = this.getGroupedItems(this.resultsItemsList);
|
|
207
|
+
const listGroups = [];
|
|
208
|
+
let counter = 0;
|
|
209
|
+
Object.values(groupedItems).forEach((groupItem, index, array) => {
|
|
210
|
+
if (this.checkResultsCount(counter)) {
|
|
211
|
+
const listGroupsElements = [];
|
|
212
|
+
groupItem.items.forEach((item, subindex, subarray) => {
|
|
213
|
+
if (this.checkResultsCount(counter)) {
|
|
214
|
+
const isLast = index === array.length - 1 && subindex === subarray.length - 1;
|
|
215
|
+
listGroupsElements.push(this.renderItem(item, subindex, !isLast));
|
|
216
|
+
}
|
|
217
|
+
counter++;
|
|
218
|
+
});
|
|
219
|
+
if (listGroupsElements.length) {
|
|
220
|
+
listGroups.push(h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, this.renderItemCategory(groupItem), listGroupsElements));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
return listGroups;
|
|
225
|
+
}
|
|
226
|
+
handleArrowsNavigation(e) {
|
|
227
|
+
const currentElement = e.target;
|
|
228
|
+
const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];
|
|
229
|
+
if (!arrows.includes(e.key)) {
|
|
230
|
+
e.preventDefault();
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
if (!this.items.length) {
|
|
234
|
+
const list = this.element.shadowRoot.querySelector("z-list");
|
|
235
|
+
if (!list) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
this.items = Array.from(list.querySelectorAll(".list-element"));
|
|
239
|
+
}
|
|
240
|
+
this.items.forEach((item) => item.classList.contains("focused") && item.classList.remove("focused"));
|
|
241
|
+
const currentIndex = this.items.indexOf(currentElement);
|
|
242
|
+
if (e.key === KeyboardCode.ARROW_DOWN) {
|
|
243
|
+
e.preventDefault();
|
|
244
|
+
const nextIndex = currentIndex + 1;
|
|
245
|
+
if (nextIndex < this.items.length) {
|
|
246
|
+
this.items[nextIndex].focus();
|
|
247
|
+
this.items[nextIndex].classList.add("focused");
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
if (e.key === KeyboardCode.ARROW_UP) {
|
|
251
|
+
e.preventDefault();
|
|
252
|
+
const prevIndex = currentIndex - 1;
|
|
253
|
+
if (prevIndex < 0) {
|
|
254
|
+
this.element.shadowRoot.querySelector("input").focus();
|
|
255
|
+
this.element.shadowRoot
|
|
256
|
+
.querySelector("input")
|
|
257
|
+
.setSelectionRange(this.inputRef.value.length, this.inputRef.value.length);
|
|
258
|
+
}
|
|
259
|
+
if (prevIndex >= 0) {
|
|
260
|
+
this.items[prevIndex].focus();
|
|
261
|
+
this.items[prevIndex].classList.add("focused");
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
renderItem(item, key, divider) {
|
|
266
|
+
return (h("z-list-element", { id: `list-item-${this.htmlid}-${key}`, tabIndex: 0, role: "option", dividerType: divider ? ListDividerType.ELEMENT : undefined, onKeyDown: (e) => this.handleArrowsNavigation(e) }, h("div", { class: "list-element", tabIndex: 0, onClick: () => this.emitSearchItemClick(item), onKeyDown: (e) => handleEnterKeydSubmit(e, () => this.emitSearchItemClick(item)), onMouseEnter: (e) => {
|
|
267
|
+
const currentElement = e.target;
|
|
268
|
+
currentElement.classList.add("hovered");
|
|
269
|
+
}, onMouseLeave: (e) => {
|
|
270
|
+
const currentElement = e.target;
|
|
271
|
+
currentElement.classList.contains("hovered") && currentElement.classList.remove("hovered");
|
|
272
|
+
} }, h("span", { class: "item ellipsis" }, (item === null || item === void 0 ? void 0 : item.icon) && (h("z-icon", { class: "item-icon", name: item.icon })), h("span", { class: "item-label", title: item.label, innerHTML: this.renderItemLabel(item.label) })), (item === null || item === void 0 ? void 0 : item.tag) && h("z-tag", { icon: item.tag.icon }, !this.isMobile ? item.tag.text : "")), item.children && item.children.length > 0 ? (h("z-list", null, h("div", { class: "children-node" }, item.children.map((child, index) => this.renderItem(child, index, false))))) : null));
|
|
273
|
+
}
|
|
274
|
+
renderItemLabel(label) {
|
|
275
|
+
if (!this.searchString) {
|
|
276
|
+
return label;
|
|
277
|
+
}
|
|
278
|
+
return label.replace(new RegExp(this.searchString.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "gmi"), (found) => `<mark>${found}</mark>`);
|
|
279
|
+
}
|
|
280
|
+
renderItemCategory(groupItem) {
|
|
281
|
+
if (!(groupItem === null || groupItem === void 0 ? void 0 : groupItem.category)) {
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
return (h("span", { class: "category-heading", slot: "header-title" }, h("span", { class: "category" }, groupItem.category), (groupItem === null || groupItem === void 0 ? void 0 : groupItem.subcategory) && h("span", { class: "subcategory" }, groupItem.subcategory)));
|
|
285
|
+
}
|
|
286
|
+
renderSearchHelper(hasDivider = true) {
|
|
287
|
+
if (!this.autocomplete || this.preventSubmit || !this.searchString) {
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
return (h("z-list-element", { role: "option", dividerType: hasDivider ? ListDividerType.ELEMENT : undefined, id: `list-item-${this.htmlid}-search`, onKeyDown: (e) => this.handleArrowsNavigation(e) }, h("div", { tabindex: 0, onClick: () => this.emitSearchSubmit(), onKeyDown: (e) => handleEnterKeydSubmit(e, () => this.emitSearchSubmit()), class: "list-element" }, h("span", { class: "item item-search" }, h("z-icon", { class: "search-icon", name: "left-magnifying-glass" }), h("span", { class: "item-label", innerHTML: this.searchHelperLabel.replace("{searchString}", `<mark>${this.searchString}</mark>`) })))));
|
|
291
|
+
}
|
|
292
|
+
renderShowAllResults() {
|
|
293
|
+
var _a, _b;
|
|
294
|
+
if (!this.currResultsCount ||
|
|
295
|
+
!this.searchString ||
|
|
296
|
+
!((_a = this.resultsItemsList) === null || _a === void 0 ? void 0 : _a.length) ||
|
|
297
|
+
this.currResultsCount >= ((_b = this.resultsItemsList) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
298
|
+
return null;
|
|
299
|
+
}
|
|
300
|
+
return (h("z-list-element", { role: "option", tabindex: 0, clickable: true, id: `list-item-${this.htmlid}-show-all`, onClickItem: () => (this.currResultsCount = 0), color: "color-primary01" }, h("div", { class: "item-show-all" }, "Vedi tutti i risultati")));
|
|
13
301
|
}
|
|
14
302
|
render() {
|
|
15
|
-
return (h(Host, { key: '
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
303
|
+
return (h(Host, { key: '5403ffd56eec6183988bb502b0df4a9fc6fb5548', onFocus: () => (this.showResults = true), onClick: (e) => this.handleOutsideClick(e), class: { "has-submit": this.showSearchButton, "has-results": this.autocomplete } }, h("div", { key: 'b989afbcde29949cf713bacf31bee58cdb33230a', class: "input-container" }, this.renderInput(), this.renderResults()), this.renderButton()));
|
|
304
|
+
}
|
|
305
|
+
get element() { return this; }
|
|
306
|
+
static get watchers() { return {
|
|
307
|
+
"resultsItems": ["watchItems"],
|
|
308
|
+
"resultsCount": ["watchResultsCount"],
|
|
309
|
+
"value": ["watchValue"],
|
|
310
|
+
"searchString": ["watchSearchString"],
|
|
311
|
+
"showResults": ["watchShowResults"]
|
|
312
|
+
}; }
|
|
313
|
+
static get style() { return ZSearchbarStyle0; }
|
|
314
|
+
}, [1, "z-searchbar", {
|
|
315
|
+
"htmlid": [513],
|
|
316
|
+
"preventSubmit": [4, "prevent-submit"],
|
|
317
|
+
"value": [1],
|
|
318
|
+
"placeholder": [1],
|
|
319
|
+
"autocomplete": [4],
|
|
320
|
+
"autocompleteMinChars": [2, "autocomplete-min-chars"],
|
|
321
|
+
"resultsCount": [2, "results-count"],
|
|
322
|
+
"searchHelperLabel": [1, "search-helper-label"],
|
|
323
|
+
"resultsItems": [1, "results-items"],
|
|
324
|
+
"sortResultsItems": [4, "sort-results-items"],
|
|
325
|
+
"showSearchButton": [4, "show-search-button"],
|
|
326
|
+
"searchButtonIconOnly": [4, "search-button-icon-only"],
|
|
327
|
+
"size": [1],
|
|
328
|
+
"variant": [1],
|
|
329
|
+
"searchString": [32],
|
|
330
|
+
"currResultsCount": [32],
|
|
331
|
+
"showResults": [32],
|
|
332
|
+
"isMobile": [32],
|
|
333
|
+
"selectedItem": [32]
|
|
334
|
+
}, [[4, "click", "handleOutsideClick"]], {
|
|
335
|
+
"resultsItems": ["watchItems"],
|
|
336
|
+
"resultsCount": ["watchResultsCount"],
|
|
337
|
+
"value": ["watchValue"],
|
|
338
|
+
"searchString": ["watchSearchString"],
|
|
339
|
+
"showResults": ["watchShowResults"]
|
|
23
340
|
}]);
|
|
24
341
|
function defineCustomElement() {
|
|
25
342
|
if (typeof customElements === "undefined") {
|
|
26
343
|
return;
|
|
27
344
|
}
|
|
28
|
-
const components = ["z-
|
|
345
|
+
const components = ["z-searchbar", "z-button", "z-divider", "z-icon", "z-input", "z-input-message", "z-list", "z-list-element", "z-list-group", "z-tag"];
|
|
29
346
|
components.forEach(tagName => { switch (tagName) {
|
|
30
|
-
case "z-
|
|
347
|
+
case "z-searchbar":
|
|
348
|
+
if (!customElements.get(tagName)) {
|
|
349
|
+
customElements.define(tagName, ZSearchbar);
|
|
350
|
+
}
|
|
351
|
+
break;
|
|
352
|
+
case "z-button":
|
|
353
|
+
if (!customElements.get(tagName)) {
|
|
354
|
+
defineCustomElement$9();
|
|
355
|
+
}
|
|
356
|
+
break;
|
|
357
|
+
case "z-divider":
|
|
31
358
|
if (!customElements.get(tagName)) {
|
|
32
|
-
|
|
359
|
+
defineCustomElement$8();
|
|
33
360
|
}
|
|
34
361
|
break;
|
|
35
362
|
case "z-icon":
|
|
363
|
+
if (!customElements.get(tagName)) {
|
|
364
|
+
defineCustomElement$7();
|
|
365
|
+
}
|
|
366
|
+
break;
|
|
367
|
+
case "z-input":
|
|
368
|
+
if (!customElements.get(tagName)) {
|
|
369
|
+
defineCustomElement$6();
|
|
370
|
+
}
|
|
371
|
+
break;
|
|
372
|
+
case "z-input-message":
|
|
373
|
+
if (!customElements.get(tagName)) {
|
|
374
|
+
defineCustomElement$5();
|
|
375
|
+
}
|
|
376
|
+
break;
|
|
377
|
+
case "z-list":
|
|
378
|
+
if (!customElements.get(tagName)) {
|
|
379
|
+
defineCustomElement$4();
|
|
380
|
+
}
|
|
381
|
+
break;
|
|
382
|
+
case "z-list-element":
|
|
383
|
+
if (!customElements.get(tagName)) {
|
|
384
|
+
defineCustomElement$3();
|
|
385
|
+
}
|
|
386
|
+
break;
|
|
387
|
+
case "z-list-group":
|
|
388
|
+
if (!customElements.get(tagName)) {
|
|
389
|
+
defineCustomElement$2();
|
|
390
|
+
}
|
|
391
|
+
break;
|
|
392
|
+
case "z-tag":
|
|
36
393
|
if (!customElements.get(tagName)) {
|
|
37
394
|
defineCustomElement$1();
|
|
38
395
|
}
|
|
@@ -40,6 +397,6 @@ function defineCustomElement() {
|
|
|
40
397
|
} });
|
|
41
398
|
}
|
|
42
399
|
|
|
43
|
-
export {
|
|
400
|
+
export { ZSearchbar as Z, defineCustomElement as d };
|
|
44
401
|
|
|
45
402
|
//# sourceMappingURL=index25.js.map
|