@nanoporetech-digital/components 2.7.0 → 2.10.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 +58 -0
- package/dist/cjs/{algoliasearch.umd-dcf18a4a.js → algoliasearch.umd-7ee60729.js} +3 -3
- package/dist/cjs/{algoliasearch.umd-dcf18a4a.js.map → algoliasearch.umd-7ee60729.js.map} +1 -1
- package/dist/cjs/{component-store-722032a5.js → component-store-19844199.js} +37 -25
- package/dist/cjs/component-store-19844199.js.map +1 -0
- package/dist/cjs/{form-control-8f530f7d.js → form-control-d54a847f.js} +26 -19
- package/dist/cjs/form-control-d54a847f.js.map +1 -0
- package/dist/cjs/index-cb62df44.js +5 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +58 -20
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +27 -15
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -3
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +17 -4
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +13 -2
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js +529 -0
- package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-file-upload.cjs.entry.js +59 -36
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +46 -41
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +36 -20
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-nav-item_2.cjs.entry.js +53 -23
- package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +6 -4
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/{popover-8c86d338.js → popover-5f152a19.js} +3 -8
- package/dist/cjs/{popover-8c86d338.js.map → popover-5f152a19.js.map} +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/alert/alert.js +1 -1
- package/dist/collection/components/algolia/algolia-filter.js +2 -2
- package/dist/collection/components/algolia/algolia-input.js +5 -5
- package/dist/collection/components/algolia/algolia-results.js +1 -1
- package/dist/collection/components/algolia/algolia.js +6 -6
- package/dist/collection/components/checkbox/checkbox-group.css +9 -6
- package/dist/collection/components/checkbox/checkbox-group.js +119 -25
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +83 -22
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/datalist/datalist.js +4 -2
- package/dist/collection/components/datalist/datalist.js.map +1 -1
- package/dist/collection/components/date-input/date-input.js +44 -12
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +5 -5
- package/dist/collection/components/details/details.js +1 -1
- package/dist/collection/components/dialog/dialog.js +34 -1
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/field-validator/field-validator.js +577 -0
- package/dist/collection/components/field-validator/field-validator.js.map +1 -0
- package/dist/collection/components/file-upload/file-upload.css +17 -5
- package/dist/collection/components/file-upload/file-upload.js +111 -44
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/form-control/form-control.js +25 -18
- package/dist/collection/components/form-control/form-control.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.js +73 -45
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/icon/icon.js +2 -2
- package/dist/collection/components/icon/icon.js.map +1 -1
- package/dist/collection/components/input/input.css +56 -5
- package/dist/collection/components/input/input.js +65 -29
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/menu/menu.js +1 -2
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/nav-item/nav-item.js +4 -4
- package/dist/collection/components/range/range.js +4 -4
- package/dist/collection/components/resize-observe/resize-observe.js +7 -6
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/select/select.css +61 -7
- package/dist/collection/components/select/select.js +88 -32
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
- package/dist/collection/components/{sticky → sticker}/sticker.js +2 -2
- package/dist/collection/components/sticker/sticker.js.map +1 -0
- package/dist/collection/components/tabs/tab-group.js +2 -2
- package/dist/collection/utils/popover.js +2 -7
- package/dist/collection/utils/popover.js.map +1 -1
- package/dist/collection/utils/store/component-store.js +4 -13
- package/dist/collection/utils/store/component-store.js.map +1 -1
- package/dist/collection/utils/store/get-set.js +15 -1
- package/dist/collection/utils/store/get-set.js.map +1 -1
- package/dist/components/algoliasearch.umd.js +2 -2
- package/dist/components/algoliasearch.umd.js.map +1 -1
- package/dist/components/component-store.js +36 -24
- package/dist/components/component-store.js.map +1 -1
- package/dist/components/datalist.js +3 -1
- package/dist/components/datalist.js.map +1 -1
- package/dist/components/form-control.js +25 -18
- package/dist/components/form-control.js.map +1 -1
- package/dist/components/icon.js.map +1 -1
- package/dist/components/input.js +39 -21
- package/dist/components/input.js.map +1 -1
- package/dist/components/menu.js +1 -2
- package/dist/components/menu.js.map +1 -1
- package/dist/components/nano-checkbox-group.js +62 -21
- package/dist/components/nano-checkbox-group.js.map +1 -1
- package/dist/components/nano-checkbox.js +31 -17
- package/dist/components/nano-checkbox.js.map +1 -1
- package/dist/components/nano-date-input.js +18 -4
- package/dist/components/nano-date-input.js.map +1 -1
- package/dist/components/nano-dialog.js +13 -1
- package/dist/components/nano-dialog.js.map +1 -1
- package/dist/components/nano-field-validator.d.ts +11 -0
- package/dist/components/nano-field-validator.js +557 -0
- package/dist/components/nano-field-validator.js.map +1 -0
- package/dist/components/nano-file-upload.js +62 -37
- package/dist/components/nano-file-upload.js.map +1 -1
- package/dist/components/nano-global-nav.js +45 -39
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/popover.js +2 -7
- package/dist/components/popover.js.map +1 -1
- package/dist/components/resize-observe.js +6 -4
- package/dist/components/resize-observe.js.map +1 -1
- package/dist/components/select.js +57 -24
- package/dist/components/select.js.map +1 -1
- package/dist/components/sticker.js +2 -2
- package/dist/components/sticker.js.map +1 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +2606 -705
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
- package/dist/esm/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +1 -1
- package/dist/esm/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
- package/dist/esm/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
- package/dist/esm/{component-store-b6fbfa35.js → component-store-d238fee4.js} +38 -26
- package/dist/esm/component-store-d238fee4.js.map +1 -0
- package/dist/esm/{form-control-c52b6256.js → form-control-ad05507c.js} +27 -20
- package/dist/esm/form-control-ad05507c.js.map +1 -0
- package/dist/esm/{index-5f8d16e7.js → index-c42becad.js} +7 -2
- package/dist/esm/{index-5f8d16e7.js.map → index-c42becad.js.map} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/nano-accordion.entry.js +1 -1
- package/dist/esm/nano-alert.entry.js +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +3 -3
- package/dist/esm/nano-algolia-input.entry.js +4 -4
- package/dist/esm/nano-algolia-pagination.entry.js +2 -2
- package/dist/esm/nano-algolia-results.entry.js +2 -2
- package/dist/esm/nano-algolia.entry.js +4 -4
- package/dist/esm/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +59 -21
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +28 -16
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +2 -2
- package/dist/esm/nano-datalist_3.entry.js +5 -4
- package/dist/esm/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +18 -5
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker.entry.js +1 -1
- package/dist/esm/nano-details.entry.js +1 -1
- package/dist/esm/nano-dialog.entry.js +14 -3
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +1 -1
- package/dist/esm/nano-dropdown.entry.js +2 -2
- package/dist/esm/nano-field-validator.entry.js +525 -0
- package/dist/esm/nano-field-validator.entry.js.map +1 -0
- package/dist/esm/nano-file-upload.entry.js +60 -37
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +47 -42
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +1 -1
- package/dist/esm/nano-grid_3.entry.js +1 -1
- package/dist/esm/nano-hero.entry.js +1 -1
- package/dist/esm/nano-icon-button.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js.map +1 -1
- package/dist/esm/nano-input.entry.js +38 -22
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +1 -1
- package/dist/esm/nano-nav-item_2.entry.js +55 -25
- package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm/nano-range.entry.js +1 -1
- package/dist/esm/nano-rating.entry.js +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js +7 -5
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js +1 -1
- package/dist/esm/nano-spinner.entry.js +1 -1
- package/dist/esm/nano-split-pane.entry.js +1 -1
- package/dist/esm/nano-sticker.entry.js +3 -3
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +2 -2
- package/dist/esm/nano-tab.entry.js +1 -1
- package/dist/esm/nano-tooltip.entry.js +2 -2
- package/dist/esm/{popover-7639005b.js → popover-a03563f3.js} +3 -8
- package/dist/esm/{popover-7639005b.js.map → popover-a03563f3.js.map} +1 -1
- package/dist/esm-es5/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
- package/dist/esm-es5/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +0 -0
- package/dist/esm-es5/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
- package/dist/esm-es5/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
- package/dist/esm-es5/component-store-d238fee4.js +5 -0
- package/dist/esm-es5/component-store-d238fee4.js.map +1 -0
- package/dist/esm-es5/form-control-ad05507c.js +5 -0
- package/dist/esm-es5/form-control-ad05507c.js.map +1 -0
- package/dist/esm-es5/{index-5f8d16e7.js → index-c42becad.js} +2 -2
- package/dist/esm-es5/{index-5f8d16e7.js.map → index-c42becad.js.map} +0 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/nano-accordion.entry.js +1 -1
- package/dist/esm-es5/nano-alert.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
- package/dist/esm-es5/nano-algolia.entry.js +1 -1
- package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox-group.entry.js +2 -2
- package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/nano-components.js +1 -1
- package/dist/esm-es5/nano-components.js.map +1 -1
- package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
- package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm-es5/nano-date-input.entry.js +1 -1
- package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-date-picker.entry.js +1 -1
- package/dist/esm-es5/nano-details.entry.js +1 -1
- package/dist/esm-es5/nano-dialog.entry.js +1 -1
- package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
- package/dist/esm-es5/nano-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-dropdown.entry.js +1 -1
- package/dist/esm-es5/nano-field-validator.entry.js +5 -0
- package/dist/esm-es5/nano-field-validator.entry.js.map +1 -0
- package/dist/esm-es5/nano-file-upload.entry.js +2 -2
- package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js +1 -1
- package/dist/esm-es5/nano-hero.entry.js +1 -1
- package/dist/esm-es5/nano-icon-button.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js.map +1 -1
- package/dist/esm-es5/nano-input.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-range.entry.js +1 -1
- package/dist/esm-es5/nano-rating.entry.js +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
- package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-slide.entry.js +1 -1
- package/dist/esm-es5/nano-slides.entry.js +1 -1
- package/dist/esm-es5/nano-spinner.entry.js +1 -1
- package/dist/esm-es5/nano-split-pane.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab-content.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js +1 -1
- package/dist/esm-es5/nano-tab.entry.js +2 -2
- package/dist/esm-es5/nano-tooltip.entry.js +1 -1
- package/dist/esm-es5/{popover-7639005b.js → popover-a03563f3.js} +2 -2
- package/dist/esm-es5/popover-a03563f3.js.map +1 -0
- package/dist/nano-components/nano-components.css +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/nano-components.js +1 -1
- package/dist/nano-components/p-00eaa36a.entry.js +5 -0
- package/dist/nano-components/p-00eaa36a.entry.js.map +1 -0
- package/dist/nano-components/{p-4429caac.system.entry.js → p-0c6c2141.system.entry.js} +2 -2
- package/dist/nano-components/{p-4429caac.system.entry.js.map → p-0c6c2141.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7232c046.system.entry.js → p-0d0dfc06.system.entry.js} +2 -2
- package/dist/nano-components/{p-7232c046.system.entry.js.map → p-0d0dfc06.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-e562bffd.entry.js → p-0e2e3f4a.entry.js} +2 -2
- package/dist/nano-components/{p-e562bffd.entry.js.map → p-0e2e3f4a.entry.js.map} +0 -0
- package/dist/nano-components/{p-56ba0d63.entry.js → p-1030797a.entry.js} +2 -2
- package/dist/nano-components/{p-56ba0d63.entry.js.map → p-1030797a.entry.js.map} +0 -0
- package/dist/nano-components/p-11451a4b.system.entry.js +5 -0
- package/dist/nano-components/p-11451a4b.system.entry.js.map +1 -0
- package/dist/nano-components/p-129e2b4b.system.js +5 -0
- package/dist/nano-components/p-129e2b4b.system.js.map +1 -0
- package/dist/nano-components/{p-c0ddb4c3.entry.js → p-166ade3e.entry.js} +2 -2
- package/dist/nano-components/{p-c0ddb4c3.entry.js.map → p-166ade3e.entry.js.map} +0 -0
- package/dist/nano-components/{p-5653961d.system.entry.js → p-1a30dfdd.system.entry.js} +2 -2
- package/dist/nano-components/p-1a30dfdd.system.entry.js.map +1 -0
- package/dist/nano-components/p-1b120f53.entry.js +5 -0
- package/dist/nano-components/p-1b120f53.entry.js.map +1 -0
- package/dist/nano-components/{p-7d351076.system.entry.js → p-21af2a5e.system.entry.js} +2 -2
- package/dist/nano-components/{p-7d351076.system.entry.js.map → p-21af2a5e.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-346588cc.entry.js → p-222d8095.entry.js} +2 -2
- package/dist/nano-components/{p-346588cc.entry.js.map → p-222d8095.entry.js.map} +0 -0
- package/dist/nano-components/p-241d90eb.system.entry.js +5 -0
- package/dist/nano-components/p-241d90eb.system.entry.js.map +1 -0
- package/dist/nano-components/{p-040b6cda.entry.js → p-2649fc8e.entry.js} +2 -2
- package/dist/nano-components/{p-040b6cda.entry.js.map → p-2649fc8e.entry.js.map} +0 -0
- package/dist/nano-components/{p-3456db01.entry.js → p-27efac97.entry.js} +2 -2
- package/dist/nano-components/{p-3456db01.entry.js.map → p-27efac97.entry.js.map} +0 -0
- package/dist/nano-components/{p-462ad4f1.entry.js → p-2c8d7273.entry.js} +2 -2
- package/dist/nano-components/{p-462ad4f1.entry.js.map → p-2c8d7273.entry.js.map} +0 -0
- package/dist/nano-components/{p-2e6c55e2.entry.js → p-2d53d1a0.entry.js} +2 -2
- package/dist/nano-components/{p-2e6c55e2.entry.js.map → p-2d53d1a0.entry.js.map} +0 -0
- package/dist/nano-components/{p-1f99d776.entry.js → p-3093915f.entry.js} +2 -2
- package/dist/nano-components/{p-1f99d776.entry.js.map → p-3093915f.entry.js.map} +0 -0
- package/dist/nano-components/{p-8a8f893b.system.entry.js → p-316f83a9.system.entry.js} +2 -2
- package/dist/nano-components/{p-8a8f893b.system.entry.js.map → p-316f83a9.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7246bef5.entry.js → p-325c1cad.entry.js} +2 -2
- package/dist/nano-components/{p-7246bef5.entry.js.map → p-325c1cad.entry.js.map} +0 -0
- package/dist/nano-components/{p-ec39b143.system.entry.js → p-32f396c0.system.entry.js} +2 -2
- package/dist/nano-components/{p-ec39b143.system.entry.js.map → p-32f396c0.system.entry.js.map} +0 -0
- package/dist/nano-components/p-32f4516e.js +5 -0
- package/dist/nano-components/p-32f4516e.js.map +1 -0
- package/dist/nano-components/{p-43543d18.entry.js → p-333237e8.entry.js} +2 -2
- package/dist/nano-components/{p-43543d18.entry.js.map → p-333237e8.entry.js.map} +0 -0
- package/dist/nano-components/{p-e7fdc62d.entry.js → p-35108e08.entry.js} +2 -2
- package/dist/nano-components/{p-e7fdc62d.entry.js.map → p-35108e08.entry.js.map} +0 -0
- package/dist/nano-components/{p-a898bf92.system.entry.js → p-379e21d9.system.entry.js} +2 -2
- package/dist/nano-components/{p-a898bf92.system.entry.js.map → p-379e21d9.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-3ad1d5aa.system.entry.js → p-39d36fd1.system.entry.js} +2 -2
- package/dist/nano-components/{p-3ad1d5aa.system.entry.js.map → p-39d36fd1.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-41a2e2e4.system.js → p-3a00de47.system.js} +2 -2
- package/dist/nano-components/{p-41a2e2e4.system.js.map → p-3a00de47.system.js.map} +0 -0
- package/dist/nano-components/{p-6afdb510.system.entry.js → p-3ccb176c.system.entry.js} +2 -2
- package/dist/nano-components/{p-6afdb510.system.entry.js.map → p-3ccb176c.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-178c34e3.js → p-3de7735c.js} +2 -2
- package/dist/nano-components/p-3de7735c.js.map +1 -0
- package/dist/nano-components/{p-08b43111.entry.js → p-3e930ac7.entry.js} +2 -2
- package/dist/nano-components/{p-08b43111.entry.js.map → p-3e930ac7.entry.js.map} +0 -0
- package/dist/nano-components/{p-d8d8bac6.system.entry.js → p-42cebbfe.system.entry.js} +2 -2
- package/dist/nano-components/{p-d8d8bac6.system.entry.js.map → p-42cebbfe.system.entry.js.map} +0 -0
- package/dist/nano-components/p-45070c8f.entry.js +5 -0
- package/dist/nano-components/p-45070c8f.entry.js.map +1 -0
- package/dist/nano-components/{p-3ef30ded.system.entry.js → p-48874481.system.entry.js} +2 -2
- package/dist/nano-components/{p-3ef30ded.system.entry.js.map → p-48874481.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-08ffc9a1.entry.js → p-4e2c0abb.entry.js} +2 -2
- package/dist/nano-components/{p-08ffc9a1.entry.js.map → p-4e2c0abb.entry.js.map} +0 -0
- package/dist/nano-components/{p-090f22a9.system.entry.js → p-5100ae70.system.entry.js} +2 -2
- package/dist/nano-components/{p-090f22a9.system.entry.js.map → p-5100ae70.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-593de29b.system.entry.js → p-52769304.system.entry.js} +2 -2
- package/dist/nano-components/{p-593de29b.system.entry.js.map → p-52769304.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-8278c5d2.system.entry.js → p-56f86047.system.entry.js} +2 -2
- package/dist/nano-components/{p-8278c5d2.system.entry.js.map → p-56f86047.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-3c475740.system.entry.js → p-5b66bb8f.system.entry.js} +2 -2
- package/dist/nano-components/p-5b66bb8f.system.entry.js.map +1 -0
- package/dist/nano-components/{p-033296c7.system.entry.js → p-5d17cfbb.system.entry.js} +2 -2
- package/dist/nano-components/{p-033296c7.system.entry.js.map → p-5d17cfbb.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-88f17c86.system.entry.js → p-5d5ea4ab.system.entry.js} +2 -2
- package/dist/nano-components/{p-88f17c86.system.entry.js.map → p-5d5ea4ab.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-20387cde.system.entry.js → p-6b4dd158.system.entry.js} +2 -2
- package/dist/nano-components/{p-20387cde.system.entry.js.map → p-6b4dd158.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-d24811c8.system.js → p-6b5760b1.system.js} +3 -3
- package/dist/nano-components/{p-d24811c8.system.js.map → p-6b5760b1.system.js.map} +1 -1
- package/dist/nano-components/p-6d138abf.entry.js +5 -0
- package/dist/nano-components/p-6d138abf.entry.js.map +1 -0
- package/dist/nano-components/{p-5066e563.system.entry.js → p-6dad332b.system.entry.js} +2 -2
- package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-730f60ea.entry.js → p-6ddb51e4.entry.js} +2 -2
- package/dist/nano-components/p-6ddb51e4.entry.js.map +1 -0
- package/dist/nano-components/p-71bbb7ba.entry.js +5 -0
- package/dist/nano-components/p-71bbb7ba.entry.js.map +1 -0
- package/dist/nano-components/p-71e9fa33.js +5 -0
- package/dist/nano-components/p-71e9fa33.js.map +1 -0
- package/dist/nano-components/p-72ed603c.system.entry.js +5 -0
- package/dist/nano-components/p-72ed603c.system.entry.js.map +1 -0
- package/dist/nano-components/{p-c9d09839.entry.js → p-73985eda.entry.js} +2 -2
- package/dist/nano-components/{p-c9d09839.entry.js.map → p-73985eda.entry.js.map} +0 -0
- package/dist/nano-components/{p-58d7f10f.entry.js → p-76c903db.entry.js} +2 -2
- package/dist/nano-components/{p-58d7f10f.entry.js.map → p-76c903db.entry.js.map} +0 -0
- package/dist/nano-components/{p-3aa1d07d.entry.js → p-76d9d1d4.entry.js} +2 -2
- package/dist/nano-components/p-76d9d1d4.entry.js.map +1 -0
- package/dist/nano-components/{p-f53989c3.system.entry.js → p-7aa7425d.system.entry.js} +2 -2
- package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-531d5275.system.entry.js → p-7ad4a27a.system.entry.js} +2 -2
- package/dist/nano-components/p-7ad4a27a.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9acc4596.system.entry.js → p-7e55b214.system.entry.js} +3 -3
- package/dist/nano-components/{p-9acc4596.system.entry.js.map → p-7e55b214.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-62ecd3a1.system.entry.js → p-7f1374b6.system.entry.js} +2 -2
- package/dist/nano-components/{p-62ecd3a1.system.entry.js.map → p-7f1374b6.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-1e974cad.entry.js → p-7fe9d769.entry.js} +2 -2
- package/dist/nano-components/{p-1e974cad.entry.js.map → p-7fe9d769.entry.js.map} +0 -0
- package/dist/nano-components/p-85c8b070.system.entry.js +5 -0
- package/dist/nano-components/p-85c8b070.system.entry.js.map +1 -0
- package/dist/nano-components/{p-f2e7d2f9.system.entry.js → p-88779174.system.entry.js} +2 -2
- package/dist/nano-components/{p-f2e7d2f9.system.entry.js.map → p-88779174.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-4535e3bb.entry.js → p-8b6fcd6d.entry.js} +2 -2
- package/dist/nano-components/{p-4535e3bb.entry.js.map → p-8b6fcd6d.entry.js.map} +0 -0
- package/dist/nano-components/{p-6ade3290.entry.js → p-8eb4f24a.entry.js} +2 -2
- package/dist/nano-components/{p-6ade3290.entry.js.map → p-8eb4f24a.entry.js.map} +0 -0
- package/dist/nano-components/{p-07bdf44d.entry.js → p-8fe2f846.entry.js} +2 -2
- package/dist/nano-components/{p-07bdf44d.entry.js.map → p-8fe2f846.entry.js.map} +0 -0
- package/dist/nano-components/p-96150b2c.system.entry.js +5 -0
- package/dist/nano-components/p-96150b2c.system.entry.js.map +1 -0
- package/dist/nano-components/{p-bcd69559.entry.js → p-97b13ad2.entry.js} +2 -2
- package/dist/nano-components/{p-bcd69559.entry.js.map → p-97b13ad2.entry.js.map} +0 -0
- package/dist/nano-components/{p-c9c1a345.system.entry.js → p-a02cc654.system.entry.js} +2 -2
- package/dist/nano-components/{p-c9c1a345.system.entry.js.map → p-a02cc654.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-a77e3fbb.js → p-a0b93616.js} +3 -3
- package/dist/nano-components/{p-a77e3fbb.js.map → p-a0b93616.js.map} +1 -1
- package/dist/nano-components/p-a4969844.entry.js +5 -0
- package/dist/nano-components/p-a4969844.entry.js.map +1 -0
- package/dist/nano-components/{p-70dec19f.entry.js → p-a6327a9a.entry.js} +2 -2
- package/dist/nano-components/{p-70dec19f.entry.js.map → p-a6327a9a.entry.js.map} +0 -0
- package/dist/nano-components/p-a81db037.entry.js +5 -0
- package/dist/nano-components/p-a81db037.entry.js.map +1 -0
- package/dist/nano-components/{p-a315ed2c.entry.js → p-a9a4fc3e.entry.js} +2 -2
- package/dist/nano-components/{p-a315ed2c.entry.js.map → p-a9a4fc3e.entry.js.map} +1 -1
- package/dist/nano-components/{p-98222c39.system.entry.js → p-ab07c1fa.system.entry.js} +2 -2
- package/dist/nano-components/{p-98222c39.system.entry.js.map → p-ab07c1fa.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-ab5813a7.js → p-b5c33aff.js} +2 -2
- package/dist/nano-components/{p-ab5813a7.js.map → p-b5c33aff.js.map} +0 -0
- package/dist/nano-components/p-bc394857.system.entry.js +5 -0
- package/dist/nano-components/p-bc394857.system.entry.js.map +1 -0
- package/dist/nano-components/{p-ee3fe567.entry.js → p-bce998f2.entry.js} +2 -2
- package/dist/nano-components/p-bce998f2.entry.js.map +1 -0
- package/dist/nano-components/{p-92f85aaf.system.entry.js → p-bf9aa89d.system.entry.js} +2 -2
- package/dist/nano-components/{p-92f85aaf.system.entry.js.map → p-bf9aa89d.system.entry.js.map} +0 -0
- package/dist/nano-components/p-c070ffd3.system.entry.js +5 -0
- package/dist/nano-components/p-c070ffd3.system.entry.js.map +1 -0
- package/dist/nano-components/{p-50514e5e.entry.js → p-c4156fea.entry.js} +2 -2
- package/dist/nano-components/{p-50514e5e.entry.js.map → p-c4156fea.entry.js.map} +0 -0
- package/dist/nano-components/p-c9a2d24c.entry.js +5 -0
- package/dist/nano-components/p-c9a2d24c.entry.js.map +1 -0
- package/dist/nano-components/p-d01bd3c3.system.js +5 -0
- package/dist/nano-components/p-d01bd3c3.system.js.map +1 -0
- package/dist/nano-components/{p-1238f0fc.system.entry.js → p-d0385948.system.entry.js} +2 -2
- package/dist/nano-components/{p-1238f0fc.system.entry.js.map → p-d0385948.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-b59d2bd5.entry.js → p-d122b1ff.entry.js} +2 -2
- package/dist/nano-components/{p-b59d2bd5.entry.js.map → p-d122b1ff.entry.js.map} +0 -0
- package/dist/nano-components/{p-394c3c19.entry.js → p-defd4552.entry.js} +2 -2
- package/dist/nano-components/{p-394c3c19.entry.js.map → p-defd4552.entry.js.map} +0 -0
- package/dist/nano-components/{p-9745d44e.system.js → p-e43ec257.system.js} +2 -2
- package/dist/nano-components/p-e43ec257.system.js.map +1 -0
- package/dist/nano-components/p-e7140887.system.js +5 -0
- package/dist/nano-components/p-e7140887.system.js.map +1 -0
- package/dist/nano-components/{p-69439aa1.system.entry.js → p-e817ab4a.system.entry.js} +2 -2
- package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-e817ab4a.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-22884654.system.entry.js → p-eacf5b5b.system.entry.js} +2 -2
- package/dist/nano-components/{p-22884654.system.entry.js.map → p-eacf5b5b.system.entry.js.map} +0 -0
- package/dist/nano-components/p-ed336501.entry.js +5 -0
- package/dist/nano-components/p-ed336501.entry.js.map +1 -0
- package/dist/nano-components/{p-5ae80fd7.js → p-ef7f1e9c.js} +2 -2
- package/dist/nano-components/{p-5ae80fd7.js.map → p-ef7f1e9c.js.map} +0 -0
- package/dist/nano-components/{p-59b3d24b.system.js → p-f48be9f5.system.js} +2 -2
- package/dist/nano-components/{p-59b3d24b.system.js.map → p-f48be9f5.system.js.map} +0 -0
- package/dist/nano-components/p-f710c763.system.entry.js +5 -0
- package/dist/nano-components/p-f710c763.system.entry.js.map +1 -0
- package/dist/nano-components/{p-65c10b3f.entry.js → p-fbe3c89e.entry.js} +2 -2
- package/dist/nano-components/{p-65c10b3f.entry.js.map → p-fbe3c89e.entry.js.map} +0 -0
- package/dist/nano-components/p-fc3702a0.system.entry.js +5 -0
- package/dist/nano-components/p-fc3702a0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-ba13bb56.entry.js → p-ffc2063a.entry.js} +2 -2
- package/dist/nano-components/{p-ba13bb56.entry.js.map → p-ffc2063a.entry.js.map} +0 -0
- package/dist/nano-components/{p-383fda90.system.entry.js → p-fff27907.system.entry.js} +2 -2
- package/dist/nano-components/{p-383fda90.system.entry.js.map → p-fff27907.system.entry.js.map} +0 -0
- package/dist/types/components/checkbox/checkbox-group.d.ts +12 -1
- package/dist/types/components/checkbox/checkbox.d.ts +11 -3
- package/dist/types/components/date-input/date-input.d.ts +4 -0
- package/dist/types/components/dialog/dialog.d.ts +4 -1
- package/dist/types/components/field-validator/field-validator.d.ts +125 -0
- package/dist/types/components/file-upload/file-upload.d.ts +8 -0
- package/dist/types/components/form-control/form-control.d.ts +2 -0
- package/dist/types/components/global-nav/global-nav.d.ts +10 -3
- package/dist/types/components/icon/icon.d.ts +1 -1
- package/dist/types/components/input/input.d.ts +9 -1
- package/dist/types/components/resize-observe/resize-observe.d.ts +0 -1
- package/dist/types/components/select/select.d.ts +9 -1
- package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
- package/dist/types/components.d.ts +198 -7
- package/dist/types/utils/store/get-set.d.ts +1 -1
- package/docs-json.json +474 -18
- package/docs-vscode.json +83 -3
- package/package.json +3 -2
- package/dist/cjs/component-store-722032a5.js.map +0 -1
- package/dist/cjs/form-control-8f530f7d.js.map +0 -1
- package/dist/collection/components/sticky/sticker.js.map +0 -1
- package/dist/esm/component-store-b6fbfa35.js.map +0 -1
- package/dist/esm/form-control-c52b6256.js.map +0 -1
- package/dist/esm-es5/component-store-b6fbfa35.js +0 -5
- package/dist/esm-es5/component-store-b6fbfa35.js.map +0 -1
- package/dist/esm-es5/form-control-c52b6256.js +0 -5
- package/dist/esm-es5/form-control-c52b6256.js.map +0 -1
- package/dist/esm-es5/popover-7639005b.js.map +0 -1
- package/dist/nano-components/p-0618fac6.system.entry.js +0 -5
- package/dist/nano-components/p-0618fac6.system.entry.js.map +0 -1
- package/dist/nano-components/p-096682d9.system.js +0 -5
- package/dist/nano-components/p-096682d9.system.js.map +0 -1
- package/dist/nano-components/p-10a6216d.system.entry.js +0 -5
- package/dist/nano-components/p-10a6216d.system.entry.js.map +0 -1
- package/dist/nano-components/p-173bae15.system.entry.js +0 -5
- package/dist/nano-components/p-173bae15.system.entry.js.map +0 -1
- package/dist/nano-components/p-178c34e3.js.map +0 -1
- package/dist/nano-components/p-3aa1d07d.entry.js.map +0 -1
- package/dist/nano-components/p-3c475740.system.entry.js.map +0 -1
- package/dist/nano-components/p-4265cf95.system.entry.js +0 -5
- package/dist/nano-components/p-4265cf95.system.entry.js.map +0 -1
- package/dist/nano-components/p-4ee978ff.entry.js +0 -5
- package/dist/nano-components/p-4ee978ff.entry.js.map +0 -1
- package/dist/nano-components/p-531d5275.system.entry.js.map +0 -1
- package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
- package/dist/nano-components/p-5a0095f9.js +0 -5
- package/dist/nano-components/p-5a0095f9.js.map +0 -1
- package/dist/nano-components/p-5a315696.entry.js +0 -5
- package/dist/nano-components/p-5a315696.entry.js.map +0 -1
- package/dist/nano-components/p-5e7c7d3d.entry.js +0 -5
- package/dist/nano-components/p-5e7c7d3d.entry.js.map +0 -1
- package/dist/nano-components/p-730f60ea.entry.js.map +0 -1
- package/dist/nano-components/p-802e1416.system.entry.js +0 -5
- package/dist/nano-components/p-802e1416.system.entry.js.map +0 -1
- package/dist/nano-components/p-820d9e23.system.entry.js +0 -5
- package/dist/nano-components/p-820d9e23.system.entry.js.map +0 -1
- package/dist/nano-components/p-829d7f05.system.entry.js +0 -5
- package/dist/nano-components/p-829d7f05.system.entry.js.map +0 -1
- package/dist/nano-components/p-894d6967.entry.js +0 -5
- package/dist/nano-components/p-894d6967.entry.js.map +0 -1
- package/dist/nano-components/p-8e5afc61.system.entry.js +0 -5
- package/dist/nano-components/p-8e5afc61.system.entry.js.map +0 -1
- package/dist/nano-components/p-9745d44e.system.js.map +0 -1
- package/dist/nano-components/p-9d35768b.entry.js +0 -5
- package/dist/nano-components/p-9d35768b.entry.js.map +0 -1
- package/dist/nano-components/p-aaef7cc7.js +0 -5
- package/dist/nano-components/p-aaef7cc7.js.map +0 -1
- package/dist/nano-components/p-af7abf5e.entry.js +0 -5
- package/dist/nano-components/p-af7abf5e.entry.js.map +0 -1
- package/dist/nano-components/p-df0897ec.system.js +0 -5
- package/dist/nano-components/p-df0897ec.system.js.map +0 -1
- package/dist/nano-components/p-e1f46998.system.js +0 -5
- package/dist/nano-components/p-e1f46998.system.js.map +0 -1
- package/dist/nano-components/p-e7c69d4f.entry.js +0 -5
- package/dist/nano-components/p-e7c69d4f.entry.js.map +0 -1
- package/dist/nano-components/p-ee3fe567.entry.js.map +0 -1
- package/dist/nano-components/p-f3bf942d.entry.js +0 -5
- package/dist/nano-components/p-f3bf942d.entry.js.map +0 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
var __awaiter=this&&this.__awaiter||function(e,t,n,i){function r(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(t){s(t)}}function o(e){try{l(i["throw"](e))}catch(t){s(t)}}function l(e){e.done?n(e.value):r(e.value).then(a,o)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,a;return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(e){return function(t){return l([e,t])}}function l(a){if(i)throw new TypeError("Generator is already executing.");while(n)try{if(i=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;r=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){n.label=a[1];break}if(a[0]===6&&n.label<s[1]){n.label=s[1];s=a;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(a);break}if(s[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(o){a=[6,o];r=0}finally{i=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t){for(var n=0,i=t.length,r=e.length;n<i;n++,r++)e[r]=t[n];return e};
|
2
2
|
/*!
|
3
3
|
* Web Components for Nanopore digital Web Apps
|
4
|
-
*/import{g as getElement,l as getRenderingRef,r as registerInstance,c as createEvent,f as writeTask,i as readTask,h,e as Host}from"./index-5f8d16e7.js";import{S as SearchChangeEvent}from"./algolia-data-dd72d1b7.js";import{r as raf}from"./index-bf53664b.js";import{a as algoliasearch_umd}from"./algoliasearch.umd-6143495f.js";import{b as getDefaultExportFromCjs,c as createCommonjsModule,a as commonjsGlobal}from"./_commonjsHelpers-e401b2a2.js";import{C as ComponentStore}from"./component-store-b6fbfa35.js";import{g as getDirectChildren}from"./dom-faa69d29.js";import{d as debounce}from"./throttle-d3d933cd.js";var multiverse=new Map;var updateConsumer=function(e,t){var n=e.fields,i=e.updater;n.forEach((function(e){i(e,t[e])}))};var Universe={create:function(e,t){var n=getElement(e);var i=new Map;var r={wormholes:i,state:t};multiverse.set(e,r);var s=e.connectedCallback;e.connectedCallback=function(){multiverse.set(e,r);if(s){s.call(e)}};var a=e.disconnectedCallback;e.disconnectedCallback=function(){multiverse.delete(e);if(a){a.call(e)}};n.addEventListener("openWormhole",(function(e){e.stopPropagation();var t=e.detail,n=t.consumer,s=t.onOpen;if(i.has(n))return;if(typeof n!=="symbol"){var a=n.connectedCallback,o=n.disconnectedCallback;n.connectedCallback=function(){i.set(n,e.detail);if(a){a.call(n)}};n.disconnectedCallback=function(){i.delete(n);if(o){o.call(n)}}}i.set(n,e.detail);updateConsumer(e.detail,r.state);s===null||s===void 0?void 0:s.resolve((function(){i.delete(n)}))}));n.addEventListener("closeWormhole",(function(e){var t=e.detail;i.delete(t)}))},Provider:function(e,t){var n=e.state;var i=getRenderingRef();if(multiverse.has(i)){var r=multiverse.get(i);r.state=n;r.wormholes.forEach((function(e){updateConsumer(e,n)}))}return t}};var squirrelly_min=createCommonjsModule((function(e,t){!function(e,n){n(t)}(commonjsGlobal,(function(e){function t(e){var n,i,r=new Error(e);return n=r,i=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,i):n.__proto__=i,r}function n(e,n,i){var r=n.slice(0,i).split(/\n/),s=r.length,a=r[s-1].length+1;throw t(e+=" at line "+s+" col "+a+":\n\n "+n.split(/\n/)[s-1]+"\n "+Array(a).join(" ")+"^")}t.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var i=new Function("return this")().Promise,r=!1;try{r=new Function("return (async function(){}).constructor")()}catch(e){if(!(e instanceof SyntaxError))throw e}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function a(e,t,n){for(var i in t)s(t,i)&&(null==t[i]||"object"!=typeof t[i]||"storage"!==i&&"prefixes"!==i||n?e[i]=t[i]:e[i]=a({},t[i]));return e}var o=/^async +/,l=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,u=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,c=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,h=/[.*+\-?^${}()|[\]\\]/g;function d(e){return h.test(e)?e.replace(h,"\\$&"):e}function f(e,i){i.rmWhitespace&&(e=e.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),l.lastIndex=0,u.lastIndex=0,c.lastIndex=0;var r=i.prefixes,s=[r.h,r.b,r.i,r.r,r.c,r.e].reduce((function(e,t){return e&&t?e+"|"+d(t):t?d(t):e}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+d(i.tags[1])+")","g"),h=new RegExp("([^]*?)"+d(i.tags[0])+"(-|_)?\\s*("+s+")?\\s*","g"),f=0,p=!1;function g(t,r){var s,d={f:[]},g=0,v="c";function m(t){var r=e.slice(f,t),s=r.trim();if("f"===v)"safe"===s?d.raw=!0:i.async&&o.test(s)?(s=s.replace(o,""),d.f.push([s,"",!0])):d.f.push([s,""]);else if("fp"===v)d.f[d.f.length-1][1]+=s;else if("err"===v){if(s){var a=r.search(/\S/);n("invalid syntax",e,f+a)}}else d[v]=s;f=t+1}for("h"===r||"b"===r||"c"===r?v="n":"r"===r&&(d.raw=!0,r="i"),a.lastIndex=f;null!==(s=a.exec(e));){var y=s[1],x=s[2],b=s[3],w=s[4],I=s[5],_=s.index;if(y)"("===y?(0===g&&("n"===v?(m(_),v="p"):"f"===v&&(m(_),v="fp")),g++):")"===y?0===--g&&"c"!==v&&(m(_),v="err"):0===g&&"|"===y?(m(_),v="f"):"=>"===y&&(m(_),f+=1,v="res");else if(x){if("/*"===x){var F=e.indexOf("*/",a.lastIndex);-1===F&&n("unclosed comment",e,s.index),a.lastIndex=F+2}else if("'"===x){u.lastIndex=s.index,u.exec(e)?a.lastIndex=u.lastIndex:n("unclosed string",e,s.index)}else if('"'===x){c.lastIndex=s.index,c.exec(e)?a.lastIndex=c.lastIndex:n("unclosed string",e,s.index)}else if("`"===x){l.lastIndex=s.index,l.exec(e)?a.lastIndex=l.lastIndex:n("unclosed string",e,s.index)}}else if(b)return m(_),f=_+s[0].length,h.lastIndex=f,p=I,w&&"h"===r&&(r="s"),d.t=r,d}return n("unclosed tag",e,t),d}var v=function s(a,l){a.b=[],a.d=[];var u,c=!1,d=[];function v(e,t){e&&(e=function(e,t,n,i){var r,s;return"string"==typeof t.autoTrim?r=s=t.autoTrim:Array.isArray(t.autoTrim)&&(r=t.autoTrim[1],s=t.autoTrim[0]),(n||!1===n)&&(r=n),(i||!1===i)&&(s=i),"slurp"===r&&"slurp"===s?e.trim():("_"===r||"slurp"===r?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==r&&"nl"!==r||(e=e.replace(/^(?:\n|\r|\r\n)/,"")),"_"===s||"slurp"===s?e=String.prototype.trimRight?e.trimRight():e.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==s&&"nl"!==s||(e=e.replace(/(?:\n|\r|\r\n)$/,"")),e)}(e,i,p,t))&&(e=e.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),d.push(e))}for(;null!==(u=h.exec(e));){var m,y=u[1],x=u[2],b=u[3]||"";for(var w in r)if(r[w]===b){m=w;break}v(y,x),f=u.index+u[0].length,m||n("unrecognized tag type: "+b,e,f);var I=g(u.index,m),_=I.t;if("h"===_){var F=I.n||"";i.async&&o.test(F)&&(I.a=!0,I.n=F.replace(o,"")),I=s(I),d.push(I)}else if("c"===_){if(a.n===I.n)return c?(c.d=d,a.b.push(c)):a.d=d,a;n("Helper start and end don't match",e,u.index+u[0].length)}else if("b"===_){c?(c.d=d,a.b.push(c)):a.d=d;var C=I.n||"";i.async&&o.test(C)&&(I.a=!0,I.n=C.replace(o,"")),c=I,d=[]}else if("s"===_){var S=I.n||"";i.async&&o.test(S)&&(I.a=!0,I.n=S.replace(o,"")),d.push(I)}else d.push(I)}if(!l)throw t('unclosed helper "'+a.n+'"');return v(e.slice(f,e.length),!1),a.d=d,a}({f:[]},!0);if(i.plugins)for(var m=0;m<i.plugins.length;m++){var y=i.plugins[m];y.processAST&&(v.d=y.processAST(v.d,i))}return v.d}function p(e,t){var n=f(e,t),i="var tR='';"+(t.useWith?"with("+t.varName+"||{}){":"")+x(n,t)+"if(cb){cb(null,tR)} return tR"+(t.useWith?"}":"");if(t.plugins)for(var r=0;r<t.plugins.length;r++){var s=t.plugins[r];s.processFnString&&(i=s.processFnString(i,t))}return i}function g(e,t){for(var n=0;n<t.length;n++){var i=t[n][0],r=t[n][1];e=(t[n][2]?"await ":"")+"c.l('F','"+i+"')("+e,r&&(e+=","+r),e+=")"}return e}function v(e,t,n,i,r,s){var a="{exec:"+(r?"async ":"")+y(n,t,e)+",params:["+i+"]";return s&&(a+=",name:'"+s+"'"),r&&(a+=",async:true"),a+="}"}function m(e,t){for(var n="[",i=0;i<e.length;i++){var r=e[i];n+=v(t,r.res||"",r.d,r.p||"",r.a,r.n),i<e.length&&(n+=",")}return n+="]"}function y(e,t,n){return"function("+t+"){var tR='';"+x(e,n)+"return tR}"}function x(e,t){for(var n=0,i=e.length,r="";n<i;n++){var s=e[n];if("string"==typeof s){r+="tR+='"+s+"';"}else{var a=s.t,o=s.c||"",l=s.f,u=s.n||"",c=s.p||"",h=s.res||"",d=s.b,f=!!s.a;if("i"===a){t.defaultFilter&&(o="c.l('F','"+t.defaultFilter+"')("+o+")");var p=g(o,l);!s.raw&&t.autoEscape&&(p="c.l('F','e')("+p+")"),r+="tR+="+p+";"}else if("h"===a)if(t.storage.nativeHelpers.get(u))r+=t.storage.nativeHelpers.get(u)(s,t);else{var y=(f?"await ":"")+"c.l('H','"+u+"')("+v(t,h,s.d,c,f);y+=d?","+m(d,t):",[]",r+="tR+="+g(y+=",c)",l)+";"}else"s"===a?r+="tR+="+g((f?"await ":"")+"c.l('H','"+u+"')({params:["+c+"]},[],c)",l)+";":"e"===a&&(r+=o+"\n")}}return r}var b=function(){function e(e){this.cache=e}return e.prototype.define=function(e,t){this.cache[e]=t},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e]},e.prototype.reset=function(){this.cache={}},e.prototype.load=function(e){a(this.cache,e,!0)},e}();function w(e,n,i,r){if(n&&n.length>0)throw t((r?"Native":"")+"Helper '"+e+"' doesn't accept blocks");if(i&&i.length>0)throw t((r?"Native":"")+"Helper '"+e+"' doesn't accept filters")}var I={"&":"&","<":"<",">":">",'"':""","'":"'"};function _(e){return I[e]}var F=new b({}),C=new b({each:function(e,t){var n="",i=e.params[0];if(w("each",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,r,s){i(t[n],n).then((function(a){r+=a,n===t.length-1?s(r):e(t,n+1,i,r,s)}))}(i,0,e.exec,n,t)}));for(var r=0;r<i.length;r++)n+=e.exec(i[r],r);return n},foreach:function(e,t){var n=e.params[0];if(w("foreach",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,r,s,a){r(n[i],t[n[i]]).then((function(o){s+=o,i===n.length-1?a(s):e(t,n,i+1,r,s,a)}))}(n,Object.keys(n),0,e.exec,"",t)}));var i="";for(var r in n)s(n,r)&&(i+=e.exec(r,n[r]));return i},include:function(e,n,i){w("include",n,!1);var r=i.storage.templates.get(e.params[0]);if(!r)throw t('Could not fetch template "'+e.params[0]+'"');return r(e.params[1],i)},extends:function(e,n,i){var r=e.params[1]||{};r.content=e.exec();for(var s=0;s<n.length;s++){var a=n[s];r[a.name]=a.exec()}var o=i.storage.templates.get(e.params[0]);if(!o)throw t('Could not fetch template "'+e.params[0]+'"');return o(r,i)},useScope:function(e,t){return w("useScope",t,!1),e.exec(e.params[0])}}),S=new b({if:function(e,t){w("if",!1,e.f,!0);var n="if("+e.p+"){"+x(e.d,t)+"}";if(e.b)for(var i=0;i<e.b.length;i++){var r=e.b[i];"else"===r.n?n+="else{"+x(r.d,t)+"}":"elif"===r.n&&(n+="else if("+r.p+"){"+x(r.d,t)+"}")}return n},try:function(e,n){if(w("try",!1,e.f,!0),!e.b||1!==e.b.length||"catch"!==e.b[0].n)throw t("native helper 'try' only accepts 1 block, 'catch'");var i="try{"+x(e.d,n)+"}",r=e.b[0];return i+="catch"+(r.res?"("+r.res+")":"")+"{"+x(r.d,n)+"}"},block:function(e,t){return w("block",e.b,e.f,!0),"if(!"+t.varName+"["+e.p+"]){tR+=("+y(e.d,"",t)+")()}else{tR+="+t.varName+"["+e.p+"]}"}}),R=new b({e:function(e){var t=String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,_):t}}),E={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(e,n){if("H"===e){var i=this.storage.helpers.get(n);if(i)return i;throw t("Can't find helper '"+n+"'")}if("F"===e){var r=this.storage.filters.get(n);if(r)return r;throw t("Can't find filter '"+n+"'")}},async:!1,storage:{helpers:C,nativeHelpers:S,filters:R,templates:F},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function P(e,t){var n={};return a(n,E),t&&a(n,t),e&&a(n,e),n.l.bind(n),n}function q(e,n){var i=P(n||{}),s=Function;if(i.async){if(!r)throw t("This environment doesn't support async/await");s=r}try{return new s(i.varName,"c","cb",p(e,i))}catch(n){throw n instanceof SyntaxError?t("Bad template syntax\n\n"+n.message+"\n"+Array(n.message.length+1).join("=")+"\n"+p(e,i)):n}}function k(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n="function"==typeof e?e:q(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}E.l.bind(E),e.compile=q,e.compileScope=x,e.compileScopeIntoFunction=y,e.compileToString=p,e.defaultConfig=E,e.filters=R,e.getConfig=P,e.helpers=C,e.nativeHelpers=S,e.parse=f,e.render=function(e,n,r,s){var a=P(r||{});if(!a.async)return k(e,a)(n,a);if(!s){if("function"==typeof i)return new i((function(t,i){try{t(k(e,a)(n,a))}catch(e){i(e)}}));throw t("Please provide a callback function, this env doesn't support Promises")}try{k(e,a)(n,a,s)}catch(e){return s(e)}},e.templates=F,Object.defineProperty(e,"__esModule",{value:!0})}))}));var squirrelly_min$1=getDefaultExportFromCjs(squirrelly_min);var Sqrl=Object.freeze(Object.assign(Object.create(null),squirrelly_min,{default:squirrelly_min$1}));var squirrel=Sqrl;squirrel.filters.define("date_long",(function(e,t){if(t===void 0){t={year:"numeric",month:"long",day:"numeric"}}if(!e)return;var n=new Date(parseInt(e)*1e3);e=n.toLocaleDateString("en-GB",t);return e}));squirrel.filters.define("date_short",(function(e,t){if(t===void 0){t="d/m/y"}if(!e)return;var n=new Date(parseInt(e)*1e3);e=t.replace(/(d)/,n.getDate().toString());e=e.replace(/(m)/,(n.getMonth()+1).toString());e=e.replace(/(y)/,n.getFullYear().toString());return e}));squirrel.filters.define("public_name",(function(e){if(!e)return;e=e.split("_").map((function(e){return e.length<3?e.toUpperCase():e})).join(" ");return e.charAt(0).toUpperCase()+e.slice(1)}));squirrel.filters.define("trim_to",(function(e,t){if(t===void 0){t=100}if(!e)return;if(e.length<=t)return e;return e.substr(0,t)+"..."}));squirrel.filters.define("classname",(function(e){if(!e)return;return e.replace(/[\W]+/g,"")}));squirrel.filters.define("abs_url",(function(e,t,n){if(t===void 0){t=null}if(!t)return e;if(!e)return;var i=undefined;if(t.domains&&n&&n.origin){var r=t.domains.find((function(e){return e.origin===n.origin}));i=r?r.domain:""}else if(t.domain)i=t.domain;if(!i)return e;return e.match(/^http/)?e:location.protocol+"//"+i+e}));squirrel.filters.define("replace",(function(e,t,n){return e.replace(t,n)}));squirrel.filters.define("remove_spaces",(function(e){return e.replace(/ /g,"_")}));squirrel.filters.define("add_spaces",(function(e){return e=e.replace(/[_\-]/g," ")}));squirrel.filters.define("capitalise",(function(e){return e=e.charAt(0).toUpperCase()+e.slice(1)}));squirrel.filters.define("lowercase",(function(e){return e=e.toLowerCase()}));var Squirrel=squirrel;var PromiseQueue=function(){function e(){this.queue=[];this.workingOnPromise=false;this.stop=false;this.limit=null}e.prototype.enqueue=function(e){var t=this;return new Promise((function(n,i){t.queue.push({promise:e,resolve:n,reject:i});t.dequeue()}))};e.prototype.dequeue=function(){var e=this;if(this.workingOnPromise){return false}if(this.stop){this.queue=[];this.stop=false;return}var t=this.queue.shift();if(!t){return false}try{this.workingOnPromise=true;t.promise().then((function(n){e.workingOnPromise=false;t.resolve(n);e.dequeue()})).catch((function(n){e.workingOnPromise=false;t.reject(n);e.dequeue()}))}catch(n){this.workingOnPromise=false;t.reject(n);this.dequeue()}return true};return e}();PromiseQueue.pendingPromise=false;var algoliaCss=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{position:relative;display:block}:host ::slotted([slot=search-template]),:host::slotted([slot=search-template]){display:none !important}.loader{opacity:0;position:fixed;height:100%;width:100%;min-height:100%;max-height:100vh !important;max-width:100vw !important;left:0;top:0;z-index:-10;font-size:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity 0.2s ease, z-index 0.01s ease 0.2s;transition:opacity 0.2s ease, z-index 0.01s ease 0.2s}.loader.loading{opacity:1;z-index:10;-webkit-transition:z-index 0.01s ease, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, opacity 0.2s ease 0.01s}.default{height:100%}.default:focus{outline:none}.results{opacity:0;outline:none;overflow:auto;-webkit-transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;-webkit-transform:translate(0, 100px);transform:translate(0, 100px);visibility:hidden;z-index:-1;position:absolute;top:0;left:0;display:none}.results-container{position:relative}.results.show{-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:visible;opacity:1;z-index:10;overflow:hidden}.results.shown{height:auto !important;width:auto !important;display:block;position:static;-webkit-transform:none;transform:none;z-index:auto;visibility:inherit;opacity:initial}";var CANSHADOW=!!document.head.attachShadow;var Algolia=function(){function e(e){var t=this;registerInstance(this,e);this.nanoDidLoad=createEvent(this,"nanoDidLoad",7);this.nanoResultsShown=createEvent(this,"nanoResultsShown",3);this.nanoBeforeQuery=createEvent(this,"nanoBeforeQuery",7);this.nanoAfterQuery=createEvent(this,"nanoAfterQuery",7);this.nanoNewResults=createEvent(this,"nanoNewResults",7);this.staticFacetFilters={};this.dynFacetFilters={};this.hasLoadSlot=false;this.placedAlgoliaEles=[];this.promiseQueue=new PromiseQueue;this._dynFacetFilters={};this.indeces=[];this.filterChanged="";this.changeEvent=SearchChangeEvent.Init;this.isLoading=false;this.wormholeState=this;this.showResults=false;this.resultsPage=0;this.searchIndex={};this.searchIndexName="";this.listenTo=null;this.query="";this.operator="and";this.filters=[];this.tplEngine=Squirrel;this.tplRenderFn=Squirrel.render;this.replicaIndex="";this.browseIndex=false;this.minChars=2;this.storeMethod="session";this.searchChange=function(){return __awaiter(t,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){if(!this.algoliaIndex)return[2];if(!this.query||this.query.length<this.minChars){if(!this.browseIndex){if(!this.query||this.query.length===0){this.handleSearchReset();return[2]}else return[2]}else if(this.query!=="*"){this.query="*";return[2]}}this.isLoading=true;setTimeout((function(){return __awaiter(e,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){switch(t.label){case 0:this.resetPage();return[4,this.algoliaSearch(SearchChangeEvent.Init)];case 1:t.sent();return[4,this.updateContent()];case 2:t.sent();setTimeout((function(t){return e.isLoading=false}),800);this.showResults=true;this.nanoResultsShown.emit(this.indexResults);return[2]}}))}))}),200);return[2]}))}))};this.makeAppliedFilters=function(){var e=[];var n=function(t){Object.values(t).forEach((function(t){if(t.value&&t.value.length){var n=e.find((function(e){return e.name===t.facetName}));if(!n)e.push({name:t.facetName,values:__spreadArray([],t.value)});else n.values=__spreadArray(__spreadArray([],n.values),t.value)}}))};n(t.dynFacetFilters);n(t.staticFacetFilters);if(e.length)return e;return null};this.algoliaSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t=this;return __generator(this,(function(n){return[2,this.promiseQueue.enqueue((function(){return t.queueSearch(e)}))]}))}))};this.queueSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n;var i=this;return __generator(this,(function(r){switch(r.label){case 0:if(!this.algoliaIndex||!this.query||!this.searchIndex||!this.searchIndex.index)return[2];this.nanoBeforeQuery.emit(this.indexResults);if(SearchChangeEvent.Init===e)this.clearAllFacetFilters();t={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};if(this.searchIndex.filters)t.facets=this.searchIndex.filters;if(this.searchIndex.hitsPerPage)t.hitsPerPage=this.searchIndex.hitsPerPage;return[4,this.algoliaIndex.search(this.query,t)];case 1:n=r.sent();n=this.fixDomain(n);this.changeEvent=e;if(e===SearchChangeEvent.Init||!this.indexResults){this.indexResults={currentPage:0,totalHits:n.nbHits,hitsPerPage:null,origFilters:n.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!CANSHADOW,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}}this.indexResults.dynFilters=n.facets;this.indexResults.results=n.hits;this.indexResults.totalHitsWithFilters=n.nbHits;this.indexResults.currentPage=n.page;this.indexResults.totalPages=n.nbPages;this.indexResults.hitsPerPage=n.hitsPerPage;this.indexResults.query=n.query;if(this.changeEvent!==SearchChangeEvent.Page&&this.changeEvent!==SearchChangeEvent.Replica){this.facets=n.facets}this.nanoAfterQuery.emit(this.indexResults);return[2,new Promise((function(e){setTimeout((function(){return e("tpl updated")}),20)})).then((function(e){i.currentHits=i.indexResults.results;i.resultsPage=i.indexResults.currentPage}))]}}))}))};this.handleSearchReset=function(){t.showResults=false;t.indexResults=null};this.onResultDisplay=function(){writeTask((function(){t.resultsDiv.removeEventListener("transitionend",t.onResultDisplay);if(!t.showResults)t.resultsDiv.style.display="none";else{t.defaultDiv.style.display="none";t.resultsDiv.classList.add("shown");t.resultsDiv.style.minHeight="";t.resultsDiv.style.width=""}}))}}e.prototype.removeFilters=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n=this;return __generator(this,(function(i){if(!e&&!t)this.clearAllFacetFilters();else{Object.keys(this._dynFacetFilters).forEach((function(i){if(e&&n._dynFacetFilters[i].facetName===e){if(!t)n._dynFacetFilters[i].element.value="";else{n._dynFacetFilters[i].element.value=n._dynFacetFilters[i].value.filter((function(e){return e!==t}))}}}))}return[2]}))}))};e.prototype.onAllTplUpdate=function(e){var t=this;e.stopPropagation();if(e.target.tagName==="NANO-ALGOLIA-RESULTS"){raf((function(){t.nanoNewResults.emit(t.indexResults)}))}};e.prototype.onPageChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:if(!this.indexResults)return[2];t=this.resultsPage;if(e){e.stopPropagation();t=e.detail.page}t=Math.min(this.indexResults.totalPages-1,t);t=Math.max(t,0);if(this.indexResults.currentPage===t)return[2];this.indexResults.currentPage=t;return[4,this.algoliaSearch(SearchChangeEvent.Page)];case 1:n.sent();return[2]}}))}))};e.prototype.onFilterChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){e.stopPropagation();t={};n=e.detail;n.element=e.target;if(this.indexResults){if(this.staticFacetFilters[n.filterId])this.staticFacetFilters[n.filterId]=n;else{t[n.filterId]=n;this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),t)}this.indexResults.appliedFilters=this.makeAppliedFilters()}else this.staticFacetFilters[n.filterId]=n;this.filterChanged=n.value&&n.value.length?n.filterId:"all";this.resetPage();this.algoliaSearch(SearchChangeEvent.Filter);return[2]}))}))};e.prototype.dynFacetFiltersChange=function(){var e=this;Object.values(this._dynFacetFilters).forEach((function(t){if(e.host.ownerDocument===t.element.ownerDocument)e.dynFacetFilters[t.filterId]=t;else delete e.dynFacetFilters[t.filterId]}))};e.prototype.browseIndexChange=function(){if(this.browseIndex&&(!this.query||this.query.length<this.minChars)){this.query="*"}};e.prototype.inputFieldSet=function(){if(!this.inputField)return;if(this.query!=="*"&&this.inputField&&this.inputField.value!==this.query)this.inputField.value=this.query};e.prototype.queryChange=function(){this.searchChange()};e.prototype.internalIndexSwitch=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this.replicaIndex||!this.indexResults||this.indexResults.index===this.replicaIndex)return[2];this.indexResults.index=this.replicaIndex;this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index);this.resetPage();this.algoliaSearch(SearchChangeEvent.Replica);return[2]}))}))};e.prototype.pageChange=function(){this.onPageChange()};e.prototype.searchIndexNameChange=function(){if(!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName)return;this.searchIndex={index:this.searchIndexName}};e.prototype.initAlgoliaClient=function(){if(!this.appId||!this.apiKey)return;this.algoliaClient=algoliasearch_umd(this.appId,this.apiKey)};e.prototype.initAlgoliaIndex=function(){if(!this.algoliaClient||!this.searchIndex)return;if(this.searchIndex.index){if(this.replicaIndex)this.searchIndex.index=this.replicaIndex;this.searchIndexName=this.searchIndex.index;this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index);this.searchChange()}};e.prototype.showResultsChange=function(){var e=this;if(!this.resultsDiv||!this.defaultDiv)return;if(this.showResults){this.resultsDiv.style.width=this.host.scrollWidth+"px";this.resultsDiv.style.minHeight=this.host.scrollHeight+"px";writeTask((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.style.display="block";setTimeout((function(){return e.resultsDiv.classList.add("show")}),50)}))}else{writeTask((function(){e.resultsDiv.classList.remove("shown");e.defaultDiv.style.display="block";setTimeout((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.classList.remove("show");if(!!e.slottedInput)e.slottedInput.focus({preventScroll:true});else e.defaultDiv.focus({preventScroll:true})}),50)}))}};e.prototype.fixDomain=function(e){var t=this;if(!this.searchIndex||!this.searchIndex.domain)return e;e.hits.map((function(e){if(e.url&&!e.url.match(/^http/))e.url=location.protocol+"//"+t.searchIndex.domain+e.url}));return e};e.prototype.resetPage=function(){if(!this.indexResults)return;this.indexResults.currentPage=0};e.prototype.clearAllFacetFilters=function(){Object.values(this._dynFacetFilters).forEach((function(e){e.element.value=""}));this._dynFacetFilters={}};e.prototype.algoliaFilterStr=function(){var e={};var t=function(t){var n;var i;Object.keys(t).forEach((function(r){n=t[r];e[r]=e[r]||{name:n.facetName,or:[],and:[],not:[]};i=e[r][n.operator];if(n.value&&n.value.length){e[r][n.operator]=__spreadArray(__spreadArray([],i),n.value)}}))};t(this.dynFacetFilters);t(this.staticFacetFilters);var n=function(e,t){if(t.indexOf(" ")>-1)return e+':"'+t+'"';else return e+":"+t};var i=[];var r;var s;Object.values(e).forEach((function(e){Object.keys(e).filter((function(e){return e.match(/(or|and|not)/)})).forEach((function(t){r=e;s=e.name;if(t==="or"||t==="and"){if(r[t].length){i.push("( "+r[t].map((function(e){if(e.length)return n(s,e)})).join(" "+t.toLocaleUpperCase()+" ")+" )")}}else{if(r.not.length){i.push("( "+r[t].map((function(e){if(e.length)return"NOT "+n(s,e)})).join(" AND ")+" )")}}}))}));i=__spreadArray(__spreadArray([],this.filters),i);return i.join(" "+this.operator.toLocaleUpperCase()+" ")};e.prototype.handleInputChange=function(e){if(e.target!==this.inputField)return;this.query=this.inputField.value};e.prototype.updateContent=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,this.promiseQueue.enqueue((function(){return e.updateContentQueue()}))]}))}))};e.prototype.updateContentQueue=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;var i=this;return __generator(this,(function(r){e=this.outputSlot||this.resultsDiv;if(!e||!this.tpl)return[2,"no tpl"];t=document.createElement("div");t.innerHTML=this.tpl;n=[];this.placedAlgoliaEles=[];Array.from(t.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach((function(e,t){var i=document.createElement("div");i.dataset.placeholderId=t.toString();i.classList.add("nano-ele-placeholder");n.push(e);e.parentNode.replaceChild(i,e)}));e.innerHTML=this.tplRenderFn(t.innerHTML.replace(/>/gm,">").replace(/</gm,"<").replace(/&/gm,"&"),this.indexResults);Array.from(e.querySelectorAll("div.nano-ele-placeholder")).forEach((function(e){e.parentNode.replaceChild(n[parseInt(e.dataset.placeholderId)],e);i.placedAlgoliaEles.push(n[parseInt(e.dataset.placeholderId)])}));if(!this.placedAlgoliaEles.length)return[2,Promise.resolve("algolia setup")];return[2,new Promise((function(t){var n=function(r){i.placedAlgoliaEles=i.placedAlgoliaEles.filter((function(e){return e!==r.detail}));if(!i.placedAlgoliaEles.length){setTimeout((function(){return t("tpl updated")}),500);e.removeEventListener("nanoTplUpdated",n)}};e.addEventListener("nanoTplUpdated",n)}))]}))}))};e.prototype.componentWillLoad=function(){var e=this;readTask((function(t){e.tplSlot=getDirectChildren(e.host,'[slot="template"]')[0];e.outputSlot=getDirectChildren(e.host,'[slot="output"]')[0];e.slottedInput=getDirectChildren(e.host,'[slot="search-input"]')[0];e.hasLoadSlot=!!getDirectChildren(e.host,'[slot="loader"]')[0];if(!!e.tplSlot)e.tpl=e.tplSlot.innerHTML;if(e.slottedInput&&(e.slottedInput.tagName.toLocaleLowerCase()==="nano-input"||e.slottedInput instanceof HTMLInputElement)){e.inputField=e.slottedInput}else if(e.slottedInput){e.inputField=e.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')}writeTask((function(t){if(e.showResults&&e.tpl)e.searchChange()}))}));this.searchIndexNameChange();this.initAlgoliaClient();this.initAlgoliaIndex();Universe.create(this,this.wormholeState);if(this.storeId){ComponentStore.init(this,["query","replicaIndex"],this.storeMethod,this.storeId);ComponentStore.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")}this.internalIndexSwitch()};e.prototype.connectedCallback=function(){this.searchChange=debounce(this.searchChange,300);this.browseIndexChange();this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))};e.prototype.render=function(){var e=this;var t={indexResults:this.indexResults,results:this.currentHits,filterChanged:this.filterChanged,tplRenderFn:this.tplRenderFn,resultsPage:this.resultsPage,changeEvent:this.changeEvent,facets:this.facets,algoliaIndex:this.algoliaIndex,searchIndex:this.searchIndex,globalStoreMethod:this.storeMethod,isLoading:this.isLoading};return h(Host,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&h("div",{hidden:!this.isLoading},h("slot",{name:"loader"})),!this.hasLoadSlot&&h("div",{class:{loader:true,loading:this.isLoading}},h("nano-spinner",{overlay:true,type:"circle"})),h(Universe.Provider,{state:t},h("slot",{name:"search-input"}),h("div",{class:"results-container","aria-live":"polite"},h("div",{ref:function(t){return e.resultsDiv=t},class:"results"},h("slot",{name:"output"})))),h("div",{ref:function(t){return e.defaultDiv=t},class:"default",tabindex:"-1"},h("slot",null)))};Object.defineProperty(e.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],showResults:["showResultsChange"]}},enumerable:false,configurable:true});return e}();Algolia.style=algoliaCss;export{Algolia as nano_algolia};
|
4
|
+
*/import{g as getElement,k as getRenderingRef,r as registerInstance,c as createEvent,f as writeTask,i as readTask,h,e as Host}from"./index-c42becad.js";import{S as SearchChangeEvent}from"./algolia-data-80c1169a.js";import{r as raf}from"./index-bf53664b.js";import{a as algoliasearch_umd}from"./algoliasearch.umd-86359963.js";import{b as getDefaultExportFromCjs,c as createCommonjsModule,a as commonjsGlobal}from"./_commonjsHelpers-e401b2a2.js";import{C as ComponentStore}from"./component-store-d238fee4.js";import{g as getDirectChildren}from"./dom-faa69d29.js";import{d as debounce}from"./throttle-d3d933cd.js";var multiverse=new Map;var updateConsumer=function(e,t){var n=e.fields,i=e.updater;n.forEach((function(e){i(e,t[e])}))};var Universe={create:function(e,t){var n=getElement(e);var i=new Map;var r={wormholes:i,state:t};multiverse.set(e,r);var s=e.connectedCallback;e.connectedCallback=function(){multiverse.set(e,r);if(s){s.call(e)}};var a=e.disconnectedCallback;e.disconnectedCallback=function(){multiverse.delete(e);if(a){a.call(e)}};n.addEventListener("openWormhole",(function(e){e.stopPropagation();var t=e.detail,n=t.consumer,s=t.onOpen;if(i.has(n))return;if(typeof n!=="symbol"){var a=n.connectedCallback,o=n.disconnectedCallback;n.connectedCallback=function(){i.set(n,e.detail);if(a){a.call(n)}};n.disconnectedCallback=function(){i.delete(n);if(o){o.call(n)}}}i.set(n,e.detail);updateConsumer(e.detail,r.state);s===null||s===void 0?void 0:s.resolve((function(){i.delete(n)}))}));n.addEventListener("closeWormhole",(function(e){var t=e.detail;i.delete(t)}))},Provider:function(e,t){var n=e.state;var i=getRenderingRef();if(multiverse.has(i)){var r=multiverse.get(i);r.state=n;r.wormholes.forEach((function(e){updateConsumer(e,n)}))}return t}};var squirrelly_min=createCommonjsModule((function(e,t){!function(e,n){n(t)}(commonjsGlobal,(function(e){function t(e){var n,i,r=new Error(e);return n=r,i=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,i):n.__proto__=i,r}function n(e,n,i){var r=n.slice(0,i).split(/\n/),s=r.length,a=r[s-1].length+1;throw t(e+=" at line "+s+" col "+a+":\n\n "+n.split(/\n/)[s-1]+"\n "+Array(a).join(" ")+"^")}t.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var i=new Function("return this")().Promise,r=!1;try{r=new Function("return (async function(){}).constructor")()}catch(e){if(!(e instanceof SyntaxError))throw e}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function a(e,t,n){for(var i in t)s(t,i)&&(null==t[i]||"object"!=typeof t[i]||"storage"!==i&&"prefixes"!==i||n?e[i]=t[i]:e[i]=a({},t[i]));return e}var o=/^async +/,l=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,u=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,c=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,h=/[.*+\-?^${}()|[\]\\]/g;function d(e){return h.test(e)?e.replace(h,"\\$&"):e}function f(e,i){i.rmWhitespace&&(e=e.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),l.lastIndex=0,u.lastIndex=0,c.lastIndex=0;var r=i.prefixes,s=[r.h,r.b,r.i,r.r,r.c,r.e].reduce((function(e,t){return e&&t?e+"|"+d(t):t?d(t):e}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+d(i.tags[1])+")","g"),h=new RegExp("([^]*?)"+d(i.tags[0])+"(-|_)?\\s*("+s+")?\\s*","g"),f=0,p=!1;function g(t,r){var s,d={f:[]},g=0,v="c";function m(t){var r=e.slice(f,t),s=r.trim();if("f"===v)"safe"===s?d.raw=!0:i.async&&o.test(s)?(s=s.replace(o,""),d.f.push([s,"",!0])):d.f.push([s,""]);else if("fp"===v)d.f[d.f.length-1][1]+=s;else if("err"===v){if(s){var a=r.search(/\S/);n("invalid syntax",e,f+a)}}else d[v]=s;f=t+1}for("h"===r||"b"===r||"c"===r?v="n":"r"===r&&(d.raw=!0,r="i"),a.lastIndex=f;null!==(s=a.exec(e));){var y=s[1],x=s[2],b=s[3],w=s[4],I=s[5],_=s.index;if(y)"("===y?(0===g&&("n"===v?(m(_),v="p"):"f"===v&&(m(_),v="fp")),g++):")"===y?0===--g&&"c"!==v&&(m(_),v="err"):0===g&&"|"===y?(m(_),v="f"):"=>"===y&&(m(_),f+=1,v="res");else if(x){if("/*"===x){var F=e.indexOf("*/",a.lastIndex);-1===F&&n("unclosed comment",e,s.index),a.lastIndex=F+2}else if("'"===x){u.lastIndex=s.index,u.exec(e)?a.lastIndex=u.lastIndex:n("unclosed string",e,s.index)}else if('"'===x){c.lastIndex=s.index,c.exec(e)?a.lastIndex=c.lastIndex:n("unclosed string",e,s.index)}else if("`"===x){l.lastIndex=s.index,l.exec(e)?a.lastIndex=l.lastIndex:n("unclosed string",e,s.index)}}else if(b)return m(_),f=_+s[0].length,h.lastIndex=f,p=I,w&&"h"===r&&(r="s"),d.t=r,d}return n("unclosed tag",e,t),d}var v=function s(a,l){a.b=[],a.d=[];var u,c=!1,d=[];function v(e,t){e&&(e=function(e,t,n,i){var r,s;return"string"==typeof t.autoTrim?r=s=t.autoTrim:Array.isArray(t.autoTrim)&&(r=t.autoTrim[1],s=t.autoTrim[0]),(n||!1===n)&&(r=n),(i||!1===i)&&(s=i),"slurp"===r&&"slurp"===s?e.trim():("_"===r||"slurp"===r?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==r&&"nl"!==r||(e=e.replace(/^(?:\n|\r|\r\n)/,"")),"_"===s||"slurp"===s?e=String.prototype.trimRight?e.trimRight():e.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==s&&"nl"!==s||(e=e.replace(/(?:\n|\r|\r\n)$/,"")),e)}(e,i,p,t))&&(e=e.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),d.push(e))}for(;null!==(u=h.exec(e));){var m,y=u[1],x=u[2],b=u[3]||"";for(var w in r)if(r[w]===b){m=w;break}v(y,x),f=u.index+u[0].length,m||n("unrecognized tag type: "+b,e,f);var I=g(u.index,m),_=I.t;if("h"===_){var F=I.n||"";i.async&&o.test(F)&&(I.a=!0,I.n=F.replace(o,"")),I=s(I),d.push(I)}else if("c"===_){if(a.n===I.n)return c?(c.d=d,a.b.push(c)):a.d=d,a;n("Helper start and end don't match",e,u.index+u[0].length)}else if("b"===_){c?(c.d=d,a.b.push(c)):a.d=d;var C=I.n||"";i.async&&o.test(C)&&(I.a=!0,I.n=C.replace(o,"")),c=I,d=[]}else if("s"===_){var S=I.n||"";i.async&&o.test(S)&&(I.a=!0,I.n=S.replace(o,"")),d.push(I)}else d.push(I)}if(!l)throw t('unclosed helper "'+a.n+'"');return v(e.slice(f,e.length),!1),a.d=d,a}({f:[]},!0);if(i.plugins)for(var m=0;m<i.plugins.length;m++){var y=i.plugins[m];y.processAST&&(v.d=y.processAST(v.d,i))}return v.d}function p(e,t){var n=f(e,t),i="var tR='';"+(t.useWith?"with("+t.varName+"||{}){":"")+x(n,t)+"if(cb){cb(null,tR)} return tR"+(t.useWith?"}":"");if(t.plugins)for(var r=0;r<t.plugins.length;r++){var s=t.plugins[r];s.processFnString&&(i=s.processFnString(i,t))}return i}function g(e,t){for(var n=0;n<t.length;n++){var i=t[n][0],r=t[n][1];e=(t[n][2]?"await ":"")+"c.l('F','"+i+"')("+e,r&&(e+=","+r),e+=")"}return e}function v(e,t,n,i,r,s){var a="{exec:"+(r?"async ":"")+y(n,t,e)+",params:["+i+"]";return s&&(a+=",name:'"+s+"'"),r&&(a+=",async:true"),a+="}"}function m(e,t){for(var n="[",i=0;i<e.length;i++){var r=e[i];n+=v(t,r.res||"",r.d,r.p||"",r.a,r.n),i<e.length&&(n+=",")}return n+="]"}function y(e,t,n){return"function("+t+"){var tR='';"+x(e,n)+"return tR}"}function x(e,t){for(var n=0,i=e.length,r="";n<i;n++){var s=e[n];if("string"==typeof s){r+="tR+='"+s+"';"}else{var a=s.t,o=s.c||"",l=s.f,u=s.n||"",c=s.p||"",h=s.res||"",d=s.b,f=!!s.a;if("i"===a){t.defaultFilter&&(o="c.l('F','"+t.defaultFilter+"')("+o+")");var p=g(o,l);!s.raw&&t.autoEscape&&(p="c.l('F','e')("+p+")"),r+="tR+="+p+";"}else if("h"===a)if(t.storage.nativeHelpers.get(u))r+=t.storage.nativeHelpers.get(u)(s,t);else{var y=(f?"await ":"")+"c.l('H','"+u+"')("+v(t,h,s.d,c,f);y+=d?","+m(d,t):",[]",r+="tR+="+g(y+=",c)",l)+";"}else"s"===a?r+="tR+="+g((f?"await ":"")+"c.l('H','"+u+"')({params:["+c+"]},[],c)",l)+";":"e"===a&&(r+=o+"\n")}}return r}var b=function(){function e(e){this.cache=e}return e.prototype.define=function(e,t){this.cache[e]=t},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e]},e.prototype.reset=function(){this.cache={}},e.prototype.load=function(e){a(this.cache,e,!0)},e}();function w(e,n,i,r){if(n&&n.length>0)throw t((r?"Native":"")+"Helper '"+e+"' doesn't accept blocks");if(i&&i.length>0)throw t((r?"Native":"")+"Helper '"+e+"' doesn't accept filters")}var I={"&":"&","<":"<",">":">",'"':""","'":"'"};function _(e){return I[e]}var F=new b({}),C=new b({each:function(e,t){var n="",i=e.params[0];if(w("each",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,r,s){i(t[n],n).then((function(a){r+=a,n===t.length-1?s(r):e(t,n+1,i,r,s)}))}(i,0,e.exec,n,t)}));for(var r=0;r<i.length;r++)n+=e.exec(i[r],r);return n},foreach:function(e,t){var n=e.params[0];if(w("foreach",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,r,s,a){r(n[i],t[n[i]]).then((function(o){s+=o,i===n.length-1?a(s):e(t,n,i+1,r,s,a)}))}(n,Object.keys(n),0,e.exec,"",t)}));var i="";for(var r in n)s(n,r)&&(i+=e.exec(r,n[r]));return i},include:function(e,n,i){w("include",n,!1);var r=i.storage.templates.get(e.params[0]);if(!r)throw t('Could not fetch template "'+e.params[0]+'"');return r(e.params[1],i)},extends:function(e,n,i){var r=e.params[1]||{};r.content=e.exec();for(var s=0;s<n.length;s++){var a=n[s];r[a.name]=a.exec()}var o=i.storage.templates.get(e.params[0]);if(!o)throw t('Could not fetch template "'+e.params[0]+'"');return o(r,i)},useScope:function(e,t){return w("useScope",t,!1),e.exec(e.params[0])}}),S=new b({if:function(e,t){w("if",!1,e.f,!0);var n="if("+e.p+"){"+x(e.d,t)+"}";if(e.b)for(var i=0;i<e.b.length;i++){var r=e.b[i];"else"===r.n?n+="else{"+x(r.d,t)+"}":"elif"===r.n&&(n+="else if("+r.p+"){"+x(r.d,t)+"}")}return n},try:function(e,n){if(w("try",!1,e.f,!0),!e.b||1!==e.b.length||"catch"!==e.b[0].n)throw t("native helper 'try' only accepts 1 block, 'catch'");var i="try{"+x(e.d,n)+"}",r=e.b[0];return i+="catch"+(r.res?"("+r.res+")":"")+"{"+x(r.d,n)+"}"},block:function(e,t){return w("block",e.b,e.f,!0),"if(!"+t.varName+"["+e.p+"]){tR+=("+y(e.d,"",t)+")()}else{tR+="+t.varName+"["+e.p+"]}"}}),R=new b({e:function(e){var t=String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,_):t}}),E={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(e,n){if("H"===e){var i=this.storage.helpers.get(n);if(i)return i;throw t("Can't find helper '"+n+"'")}if("F"===e){var r=this.storage.filters.get(n);if(r)return r;throw t("Can't find filter '"+n+"'")}},async:!1,storage:{helpers:C,nativeHelpers:S,filters:R,templates:F},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function P(e,t){var n={};return a(n,E),t&&a(n,t),e&&a(n,e),n.l.bind(n),n}function q(e,n){var i=P(n||{}),s=Function;if(i.async){if(!r)throw t("This environment doesn't support async/await");s=r}try{return new s(i.varName,"c","cb",p(e,i))}catch(n){throw n instanceof SyntaxError?t("Bad template syntax\n\n"+n.message+"\n"+Array(n.message.length+1).join("=")+"\n"+p(e,i)):n}}function k(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n="function"==typeof e?e:q(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}E.l.bind(E),e.compile=q,e.compileScope=x,e.compileScopeIntoFunction=y,e.compileToString=p,e.defaultConfig=E,e.filters=R,e.getConfig=P,e.helpers=C,e.nativeHelpers=S,e.parse=f,e.render=function(e,n,r,s){var a=P(r||{});if(!a.async)return k(e,a)(n,a);if(!s){if("function"==typeof i)return new i((function(t,i){try{t(k(e,a)(n,a))}catch(e){i(e)}}));throw t("Please provide a callback function, this env doesn't support Promises")}try{k(e,a)(n,a,s)}catch(e){return s(e)}},e.templates=F,Object.defineProperty(e,"__esModule",{value:!0})}))}));var squirrelly_min$1=getDefaultExportFromCjs(squirrelly_min);var Sqrl=Object.freeze(Object.assign(Object.create(null),squirrelly_min,{default:squirrelly_min$1}));var squirrel=Sqrl;squirrel.filters.define("date_long",(function(e,t){if(t===void 0){t={year:"numeric",month:"long",day:"numeric"}}if(!e)return;var n=new Date(parseInt(e)*1e3);e=n.toLocaleDateString("en-GB",t);return e}));squirrel.filters.define("date_short",(function(e,t){if(t===void 0){t="d/m/y"}if(!e)return;var n=new Date(parseInt(e)*1e3);e=t.replace(/(d)/,n.getDate().toString());e=e.replace(/(m)/,(n.getMonth()+1).toString());e=e.replace(/(y)/,n.getFullYear().toString());return e}));squirrel.filters.define("public_name",(function(e){if(!e)return;e=e.split("_").map((function(e){return e.length<3?e.toUpperCase():e})).join(" ");return e.charAt(0).toUpperCase()+e.slice(1)}));squirrel.filters.define("trim_to",(function(e,t){if(t===void 0){t=100}if(!e)return;if(e.length<=t)return e;return e.substr(0,t)+"..."}));squirrel.filters.define("classname",(function(e){if(!e)return;return e.replace(/[\W]+/g,"")}));squirrel.filters.define("abs_url",(function(e,t,n){if(t===void 0){t=null}if(!t)return e;if(!e)return;var i=undefined;if(t.domains&&n&&n.origin){var r=t.domains.find((function(e){return e.origin===n.origin}));i=r?r.domain:""}else if(t.domain)i=t.domain;if(!i)return e;return e.match(/^http/)?e:location.protocol+"//"+i+e}));squirrel.filters.define("replace",(function(e,t,n){return e.replace(t,n)}));squirrel.filters.define("remove_spaces",(function(e){return e.replace(/ /g,"_")}));squirrel.filters.define("add_spaces",(function(e){return e=e.replace(/[_\-]/g," ")}));squirrel.filters.define("capitalise",(function(e){return e=e.charAt(0).toUpperCase()+e.slice(1)}));squirrel.filters.define("lowercase",(function(e){return e=e.toLowerCase()}));var Squirrel=squirrel;var PromiseQueue=function(){function e(){this.queue=[];this.workingOnPromise=false;this.stop=false;this.limit=null}e.prototype.enqueue=function(e){var t=this;return new Promise((function(n,i){t.queue.push({promise:e,resolve:n,reject:i});t.dequeue()}))};e.prototype.dequeue=function(){var e=this;if(this.workingOnPromise){return false}if(this.stop){this.queue=[];this.stop=false;return}var t=this.queue.shift();if(!t){return false}try{this.workingOnPromise=true;t.promise().then((function(n){e.workingOnPromise=false;t.resolve(n);e.dequeue()})).catch((function(n){e.workingOnPromise=false;t.reject(n);e.dequeue()}))}catch(n){this.workingOnPromise=false;t.reject(n);this.dequeue()}return true};return e}();PromiseQueue.pendingPromise=false;var algoliaCss=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{position:relative;display:block}:host ::slotted([slot=search-template]),:host::slotted([slot=search-template]){display:none !important}.loader{opacity:0;position:fixed;height:100%;width:100%;min-height:100%;max-height:100vh !important;max-width:100vw !important;left:0;top:0;z-index:-10;font-size:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity 0.2s ease, z-index 0.01s ease 0.2s;transition:opacity 0.2s ease, z-index 0.01s ease 0.2s}.loader.loading{opacity:1;z-index:10;-webkit-transition:z-index 0.01s ease, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, opacity 0.2s ease 0.01s}.default{height:100%}.default:focus{outline:none}.results{opacity:0;outline:none;overflow:auto;-webkit-transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;-webkit-transform:translate(0, 100px);transform:translate(0, 100px);visibility:hidden;z-index:-1;position:absolute;top:0;left:0;display:none}.results-container{position:relative}.results.show{-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:visible;opacity:1;z-index:10;overflow:hidden}.results.shown{height:auto !important;width:auto !important;display:block;position:static;-webkit-transform:none;transform:none;z-index:auto;visibility:inherit;opacity:initial}";var CANSHADOW=!!document.head.attachShadow;var Algolia=function(){function e(e){var t=this;registerInstance(this,e);this.nanoDidLoad=createEvent(this,"nanoDidLoad",7);this.nanoResultsShown=createEvent(this,"nanoResultsShown",3);this.nanoBeforeQuery=createEvent(this,"nanoBeforeQuery",7);this.nanoAfterQuery=createEvent(this,"nanoAfterQuery",7);this.nanoNewResults=createEvent(this,"nanoNewResults",7);this.staticFacetFilters={};this.dynFacetFilters={};this.hasLoadSlot=false;this.placedAlgoliaEles=[];this.promiseQueue=new PromiseQueue;this._dynFacetFilters={};this.indeces=[];this.filterChanged="";this.changeEvent=SearchChangeEvent.Init;this.isLoading=false;this.wormholeState=this;this.showResults=false;this.resultsPage=0;this.searchIndex={};this.searchIndexName="";this.listenTo=null;this.query="";this.operator="and";this.filters=[];this.tplEngine=Squirrel;this.tplRenderFn=Squirrel.render;this.replicaIndex="";this.browseIndex=false;this.minChars=2;this.storeMethod="session";this.searchChange=function(){return __awaiter(t,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){if(!this.algoliaIndex)return[2];if(!this.query||this.query.length<this.minChars){if(!this.browseIndex){if(!this.query||this.query.length===0){this.handleSearchReset();return[2]}else return[2]}else if(this.query!=="*"){this.query="*";return[2]}}this.isLoading=true;setTimeout((function(){return __awaiter(e,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){switch(t.label){case 0:this.resetPage();return[4,this.algoliaSearch(SearchChangeEvent.Init)];case 1:t.sent();return[4,this.updateContent()];case 2:t.sent();setTimeout((function(t){return e.isLoading=false}),800);this.showResults=true;this.nanoResultsShown.emit(this.indexResults);return[2]}}))}))}),200);return[2]}))}))};this.makeAppliedFilters=function(){var e=[];var n=function(t){Object.values(t).forEach((function(t){if(t.value&&t.value.length){var n=e.find((function(e){return e.name===t.facetName}));if(!n)e.push({name:t.facetName,values:__spreadArray([],t.value)});else n.values=__spreadArray(__spreadArray([],n.values),t.value)}}))};n(t.dynFacetFilters);n(t.staticFacetFilters);if(e.length)return e;return null};this.algoliaSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t=this;return __generator(this,(function(n){return[2,this.promiseQueue.enqueue((function(){return t.queueSearch(e)}))]}))}))};this.queueSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n;var i=this;return __generator(this,(function(r){switch(r.label){case 0:if(!this.algoliaIndex||!this.query||!this.searchIndex||!this.searchIndex.index)return[2];this.nanoBeforeQuery.emit(this.indexResults);if(SearchChangeEvent.Init===e)this.clearAllFacetFilters();t={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};if(this.searchIndex.filters)t.facets=this.searchIndex.filters;if(this.searchIndex.hitsPerPage)t.hitsPerPage=this.searchIndex.hitsPerPage;return[4,this.algoliaIndex.search(this.query,t)];case 1:n=r.sent();n=this.fixDomain(n);this.changeEvent=e;if(e===SearchChangeEvent.Init||!this.indexResults){this.indexResults={currentPage:0,totalHits:n.nbHits,hitsPerPage:null,origFilters:n.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!CANSHADOW,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}}this.indexResults.dynFilters=n.facets;this.indexResults.results=n.hits;this.indexResults.totalHitsWithFilters=n.nbHits;this.indexResults.currentPage=n.page;this.indexResults.totalPages=n.nbPages;this.indexResults.hitsPerPage=n.hitsPerPage;this.indexResults.query=n.query;if(this.changeEvent!==SearchChangeEvent.Page&&this.changeEvent!==SearchChangeEvent.Replica){this.facets=n.facets}this.nanoAfterQuery.emit(this.indexResults);return[2,new Promise((function(e){setTimeout((function(){return e("tpl updated")}),20)})).then((function(e){i.currentHits=i.indexResults.results;i.resultsPage=i.indexResults.currentPage}))]}}))}))};this.handleSearchReset=function(){t.showResults=false;t.indexResults=null};this.onResultDisplay=function(){writeTask((function(){t.resultsDiv.removeEventListener("transitionend",t.onResultDisplay);if(!t.showResults)t.resultsDiv.style.display="none";else{t.defaultDiv.style.display="none";t.resultsDiv.classList.add("shown");t.resultsDiv.style.minHeight="";t.resultsDiv.style.width=""}}))}}e.prototype.removeFilters=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n=this;return __generator(this,(function(i){if(!e&&!t)this.clearAllFacetFilters();else{Object.keys(this._dynFacetFilters).forEach((function(i){if(e&&n._dynFacetFilters[i].facetName===e){if(!t)n._dynFacetFilters[i].element.value="";else{n._dynFacetFilters[i].element.value=n._dynFacetFilters[i].value.filter((function(e){return e!==t}))}}}))}return[2]}))}))};e.prototype.onAllTplUpdate=function(e){var t=this;e.stopPropagation();if(e.target.tagName==="NANO-ALGOLIA-RESULTS"){raf((function(){t.nanoNewResults.emit(t.indexResults)}))}};e.prototype.onPageChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:if(!this.indexResults)return[2];t=this.resultsPage;if(e){e.stopPropagation();t=e.detail.page}t=Math.min(this.indexResults.totalPages-1,t);t=Math.max(t,0);if(this.indexResults.currentPage===t)return[2];this.indexResults.currentPage=t;return[4,this.algoliaSearch(SearchChangeEvent.Page)];case 1:n.sent();return[2]}}))}))};e.prototype.onFilterChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){e.stopPropagation();t={};n=e.detail;n.element=e.target;if(this.indexResults){if(this.staticFacetFilters[n.filterId])this.staticFacetFilters[n.filterId]=n;else{t[n.filterId]=n;this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),t)}this.indexResults.appliedFilters=this.makeAppliedFilters()}else this.staticFacetFilters[n.filterId]=n;this.filterChanged=n.value&&n.value.length?n.filterId:"all";this.resetPage();this.algoliaSearch(SearchChangeEvent.Filter);return[2]}))}))};e.prototype.dynFacetFiltersChange=function(){var e=this;Object.values(this._dynFacetFilters).forEach((function(t){if(e.host.ownerDocument===t.element.ownerDocument)e.dynFacetFilters[t.filterId]=t;else delete e.dynFacetFilters[t.filterId]}))};e.prototype.browseIndexChange=function(){if(this.browseIndex&&(!this.query||this.query.length<this.minChars)){this.query="*"}};e.prototype.inputFieldSet=function(){if(!this.inputField)return;if(this.query!=="*"&&this.inputField&&this.inputField.value!==this.query)this.inputField.value=this.query};e.prototype.queryChange=function(){this.searchChange()};e.prototype.internalIndexSwitch=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this.replicaIndex||!this.indexResults||this.indexResults.index===this.replicaIndex)return[2];this.indexResults.index=this.replicaIndex;this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index);this.resetPage();this.algoliaSearch(SearchChangeEvent.Replica);return[2]}))}))};e.prototype.pageChange=function(){this.onPageChange()};e.prototype.searchIndexNameChange=function(){if(!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName)return;this.searchIndex={index:this.searchIndexName}};e.prototype.initAlgoliaClient=function(){if(!this.appId||!this.apiKey)return;this.algoliaClient=algoliasearch_umd(this.appId,this.apiKey)};e.prototype.initAlgoliaIndex=function(){if(!this.algoliaClient||!this.searchIndex)return;if(this.searchIndex.index){if(this.replicaIndex)this.searchIndex.index=this.replicaIndex;this.searchIndexName=this.searchIndex.index;this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index);this.searchChange()}};e.prototype.showResultsChange=function(){var e=this;if(!this.resultsDiv||!this.defaultDiv)return;if(this.showResults){this.resultsDiv.style.width=this.host.scrollWidth+"px";this.resultsDiv.style.minHeight=this.host.scrollHeight+"px";writeTask((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.style.display="block";setTimeout((function(){return e.resultsDiv.classList.add("show")}),50)}))}else{writeTask((function(){e.resultsDiv.classList.remove("shown");e.defaultDiv.style.display="block";setTimeout((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.classList.remove("show");if(!!e.slottedInput)e.slottedInput.focus({preventScroll:true});else e.defaultDiv.focus({preventScroll:true})}),50)}))}};e.prototype.fixDomain=function(e){var t=this;if(!this.searchIndex||!this.searchIndex.domain)return e;e.hits.map((function(e){if(e.url&&!e.url.match(/^http/))e.url=location.protocol+"//"+t.searchIndex.domain+e.url}));return e};e.prototype.resetPage=function(){if(!this.indexResults)return;this.indexResults.currentPage=0};e.prototype.clearAllFacetFilters=function(){Object.values(this._dynFacetFilters).forEach((function(e){e.element.value=""}));this._dynFacetFilters={}};e.prototype.algoliaFilterStr=function(){var e={};var t=function(t){var n;var i;Object.keys(t).forEach((function(r){n=t[r];e[r]=e[r]||{name:n.facetName,or:[],and:[],not:[]};i=e[r][n.operator];if(n.value&&n.value.length){e[r][n.operator]=__spreadArray(__spreadArray([],i),n.value)}}))};t(this.dynFacetFilters);t(this.staticFacetFilters);var n=function(e,t){if(t.indexOf(" ")>-1)return e+':"'+t+'"';else return e+":"+t};var i=[];var r;var s;Object.values(e).forEach((function(e){Object.keys(e).filter((function(e){return e.match(/(or|and|not)/)})).forEach((function(t){r=e;s=e.name;if(t==="or"||t==="and"){if(r[t].length){i.push("( "+r[t].map((function(e){if(e.length)return n(s,e)})).join(" "+t.toLocaleUpperCase()+" ")+" )")}}else{if(r.not.length){i.push("( "+r[t].map((function(e){if(e.length)return"NOT "+n(s,e)})).join(" AND ")+" )")}}}))}));i=__spreadArray(__spreadArray([],this.filters),i);return i.join(" "+this.operator.toLocaleUpperCase()+" ")};e.prototype.handleInputChange=function(e){if(e.target!==this.inputField)return;this.query=this.inputField.value};e.prototype.updateContent=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,this.promiseQueue.enqueue((function(){return e.updateContentQueue()}))]}))}))};e.prototype.updateContentQueue=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;var i=this;return __generator(this,(function(r){e=this.outputSlot||this.resultsDiv;if(!e||!this.tpl)return[2,"no tpl"];t=document.createElement("div");t.innerHTML=this.tpl;n=[];this.placedAlgoliaEles=[];Array.from(t.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach((function(e,t){var i=document.createElement("div");i.dataset.placeholderId=t.toString();i.classList.add("nano-ele-placeholder");n.push(e);e.parentNode.replaceChild(i,e)}));e.innerHTML=this.tplRenderFn(t.innerHTML.replace(/>/gm,">").replace(/</gm,"<").replace(/&/gm,"&"),this.indexResults);Array.from(e.querySelectorAll("div.nano-ele-placeholder")).forEach((function(e){e.parentNode.replaceChild(n[parseInt(e.dataset.placeholderId)],e);i.placedAlgoliaEles.push(n[parseInt(e.dataset.placeholderId)])}));if(!this.placedAlgoliaEles.length)return[2,Promise.resolve("algolia setup")];return[2,new Promise((function(t){var n=function(r){i.placedAlgoliaEles=i.placedAlgoliaEles.filter((function(e){return e!==r.detail}));if(!i.placedAlgoliaEles.length){setTimeout((function(){return t("tpl updated")}),500);e.removeEventListener("nanoTplUpdated",n)}};e.addEventListener("nanoTplUpdated",n)}))]}))}))};e.prototype.componentWillLoad=function(){var e=this;readTask((function(t){e.tplSlot=getDirectChildren(e.host,'[slot="template"]')[0];e.outputSlot=getDirectChildren(e.host,'[slot="output"]')[0];e.slottedInput=getDirectChildren(e.host,'[slot="search-input"]')[0];e.hasLoadSlot=!!getDirectChildren(e.host,'[slot="loader"]')[0];if(!!e.tplSlot)e.tpl=e.tplSlot.innerHTML;if(e.slottedInput&&(e.slottedInput.tagName.toLocaleLowerCase()==="nano-input"||e.slottedInput instanceof HTMLInputElement)){e.inputField=e.slottedInput}else if(e.slottedInput){e.inputField=e.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')}writeTask((function(t){if(e.showResults&&e.tpl)e.searchChange()}))}));this.searchIndexNameChange();this.initAlgoliaClient();this.initAlgoliaIndex();Universe.create(this,this.wormholeState);if(this.storeId){ComponentStore.init(this,["query","replicaIndex"],this.storeMethod,this.storeId);ComponentStore.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")}this.internalIndexSwitch()};e.prototype.connectedCallback=function(){this.searchChange=debounce(this.searchChange,300);this.browseIndexChange();this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))};e.prototype.render=function(){var e=this;var t={indexResults:this.indexResults,results:this.currentHits,filterChanged:this.filterChanged,tplRenderFn:this.tplRenderFn,resultsPage:this.resultsPage,changeEvent:this.changeEvent,facets:this.facets,algoliaIndex:this.algoliaIndex,searchIndex:this.searchIndex,globalStoreMethod:this.storeMethod,isLoading:this.isLoading};return h(Host,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&h("div",{hidden:!this.isLoading},h("slot",{name:"loader"})),!this.hasLoadSlot&&h("div",{class:{loader:true,loading:this.isLoading}},h("nano-spinner",{overlay:true,type:"circle"})),h(Universe.Provider,{state:t},h("slot",{name:"search-input"}),h("div",{class:"results-container","aria-live":"polite"},h("div",{ref:function(t){return e.resultsDiv=t},class:"results"},h("slot",{name:"output"})))),h("div",{ref:function(t){return e.defaultDiv=t},class:"default",tabindex:"-1"},h("slot",null)))};Object.defineProperty(e.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],showResults:["showResultsChange"]}},enumerable:false,configurable:true});return e}();Algolia.style=algoliaCss;export{Algolia as nano_algolia};
|
5
5
|
//# sourceMappingURL=nano-algolia.entry.js.map
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{r as registerInstance,h}from"./index-
|
4
|
+
import{r as registerInstance,h}from"./index-c42becad.js";var aspectRatioCss=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:block}.aspect-ratio{position:relative}.aspect-ratio ::slotted(*){position:absolute !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.aspect-ratio--cover ::slotted(embed),.aspect-ratio--cover ::slotted(iframe),.aspect-ratio--cover ::slotted(img),.aspect-ratio--cover ::slotted(video){-o-object-fit:cover !important;object-fit:cover !important}.aspect-ratio--contain ::slotted(embed),.aspect-ratio--contain ::slotted(iframe),.aspect-ratio--contain ::slotted(img),.aspect-ratio--contain ::slotted(video){-o-object-fit:contain !important;object-fit:contain !important}";var AspectRatio=function(){function t(t){var e=this;registerInstance(this,t);this.aspectRatio="16:9";this.fit="cover";this.handleSlotChange=function(){e.setAspectRatio()}}t.prototype.handleAspectRatioChange=function(){this.setAspectRatio()};t.prototype.setAspectRatio=function(){if(typeof this.aspectRatio!=="string"){console.warn("aspectRatio should be a string.");return}else if(!this.aspectRatio.match(/^([0-9]+:[0-9]+)$/)){console.warn('aspectRatio is an incorrect format. Should be e.g. "16:9"');return}var t=this.aspectRatio.split(":");var e=parseInt(t[0]);var o=parseInt(t[1]);this.base.style.paddingBottom=e&&o?o/e*100+"%":null};t.prototype.render=function(){var t=this;return h("div",{ref:function(e){return t.base=e},part:"base",class:{"aspect-ratio":true,"aspect-ratio--cover":this.fit==="cover","aspect-ratio--contain":this.fit==="contain"}},h("slot",{onSlotchange:this.handleSlotChange}))};Object.defineProperty(t,"watchers",{get:function(){return{aspectRatio:["handleAspectRatioChange"]}},enumerable:false,configurable:true});return t}();AspectRatio.style=aspectRatioCss;export{AspectRatio as nano_aspect_ratio};
|
5
5
|
//# sourceMappingURL=nano-aspect-ratio.entry.js.map
|
@@ -1,5 +1,5 @@
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(n,o,
|
1
|
+
var __awaiter=this&&this.__awaiter||function(n,e,o,r){function t(n){return n instanceof o?n:new o((function(e){e(n)}))}return new(o||(o=Promise))((function(o,i){function a(n){try{c(r.next(n))}catch(e){i(e)}}function s(n){try{c(r["throw"](n))}catch(e){i(e)}}function c(n){n.done?o(n.value):t(n.value).then(a,s)}c((r=r.apply(n,e||[])).next())}))};var __generator=this&&this.__generator||function(n,e){var o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,t,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(n){return function(e){return c([n,e])}}function c(a){if(r)throw new TypeError("Generator is already executing.");while(o)try{if(r=1,t&&(i=a[0]&2?t["return"]:a[0]?t["throw"]||((i=t["return"])&&i.call(t),0):t.next)&&!(i=i.call(t,a[1])).done)return i;if(t=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:o.label++;return{value:a[1],done:false};case 5:o.label++;t=a[1];a=[0];continue;case 7:a=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){o=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(a[0]===6&&o.label<i[1]){o.label=i[1];i=a;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(a);break}if(i[2])o.ops.pop();o.trys.pop();continue}a=e.call(n,o)}catch(s){a=[6,s];t=0}finally{r=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
|
2
2
|
/*!
|
3
3
|
* Web Components for Nanopore digital Web Apps
|
4
|
-
*/import{r as registerInstance,c as createEvent,j as forceUpdate,h,e as Host,g as getElement}from"./index-5f8d16e7.js";import{d as debounce}from"./throttle-d3d933cd.js";import{g as getClassMap}from"./theme-1d4c8719.js";var checkboxGroupCss='.sc-nano-checkbox-group-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}.sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:0;--control-margin-bottom:0;--control-margin-start:0;--invalid-msg-color:var(--nano-color-danger, #ef4135);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #616d6e);--label-color:var(--nano-input-label-color, "currentColor");--label-color--invalid:var(--nano-input-label-color-invalid, "currentColor");--label-font-size:var(--nano-input-label-color, 1em);--label-padding:var(--nano-input-padding-bottom, var(--nano-input-padding, 8px));display:block}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{-webkit-box-sizing:inherit;box-sizing:inherit}[types-tag].sc-nano-checkbox-group-h,[types-segment].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:8px;--control-margin-bottom:8px;--control-margin-start:0}[types-checkbox].sc-nano-checkbox-group-h,[types-radio].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:10px;--control-margin-bottom:8px;--control-margin-start:0}.nanogroupcb.sc-nano-checkbox-group{border:none;margin:0;padding:0}.nanogroupcb__legend.sc-nano-checkbox-group,.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group,.nanogroupcb__more.sc-nano-checkbox-group{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nanogroupcb__legend.sc-nano-checkbox-group{font-size:var(--label-font-size);padding:0 0 var(--label-padding);margin:0;line-height:1}[invalid].sc-nano-checkbox-group-h:not([invalid=false]) .nanogroupcb__legend.sc-nano-checkbox-group{color:var(--label-color--invalid)}.nanogroupcb__more.sc-nano-checkbox-group{height:1em;margin-left:3px;margin-right:0;margin-top:calc(var(--label-padding) - var(--control-margin-bottom));margin-bottom:var(--label-padding);position:relative}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__more.sc-nano-checkbox-group{margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:0;margin-inline-end:0}}.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group{top:0;left:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;-webkit-transition:0.3s ease-out opacity;transition:0.3s ease-out opacity}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:1}.nanogroupcb__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);font-stretch:condensed;opacity:0}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group{opacity:1}.nanogroupcb__help.sc-nano-checkbox-group{font-style:italic;opacity:1;color:var(--help-msg-color)}.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:0}.nanogroupcb__cbs.sc-nano-checkbox-group{margin:0;padding:0;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]),.nanogroupcb__cbs .sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]){--check-base-size:1.2em;font-size:0.85em}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:var(--control-margin-start);margin-top:var(--control-margin-top);margin-right:var(--control-margin-end);margin-bottom:var(--control-margin-bottom)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--control-margin-start);margin-inline-start:var(--control-margin-start);-webkit-margin-end:var(--control-margin-end);margin-inline-end:var(--control-margin-end)}}';var CheckboxGroup=function(){function n(n){var o=this;registerInstance(this,n);this.nanoValidate=createEvent(this,"nanoValidate",7);this.grpId="nano-checkbox-group-"+grpIds++;this._invalid=false;this.errorMessage="";this.showErrorMsg=false;this.hasHelperSlot=false;this.validateOn="submit";this.showInlineError=true;this.min=0;this.max=null;this.disabled=null;this.legend="";this.handleInvalid=function(n){o._invalid=true;if(o.validateOn==="submit"){o._invalid=o.showErrorMsg=o.customValidate()}if(!!o.showInlineError)n.preventDefault();setTimeout((function(e){return o.showInlineValidation(n)}),20)};this.showInlineValidation=function(n){if(!o.nativeCbs||!o.nativeCbs.length)return;if(o.validateOn==="submitThenDirty")o.validateOn="dirty";o.showErrorMsg=false;o._invalid=false;o.nativeCbs.forEach((function(n,e){if(!n.validity.valid){o.errorMessage=n.validationMessage;o.showErrorMsg=true;o._invalid=true;if(!!o.showInlineError){o.checkboxes[e].setFocus()}}}));o.nanoValidate.emit({isValid:!o.invalid,errorMessage:o.errorMessage,originalEvent:n})}}Object.defineProperty(n.prototype,"invalid",{get:function(){return this._invalid},enumerable:false,configurable:true});n.prototype.reportValidity=function(n){return __awaiter(this,void 0,void 0,(function(){var o=this;return __generator(this,(function(e){return[2,new Promise((function(e){if(n)o.showInlineValidation();setTimeout((function(){e({isValid:!o.invalid,errorMessage:o.errorMessage})}),20)}))]}))}))};n.prototype.handleCbChange=function(){if(this.invalid)this.showErrorMsg=this._invalid=false;this.customValidate();if(this.validateOn!=="dirty")return;this.showInlineValidation()};n.prototype.customValidate=function(){var n=this;if(!this.nativeCbs||!this.nativeCbs.length||!this.checkboxes)return;var o=this.nativeCbs.filter((function(n){return n.type==="checkbox"}));if(!o||!o.length)return;var e=o.filter((function(n){return n.checked})).length;var r=false;this.checkboxes.forEach((function(o){if(o.required&&!o.checked){r=true}o.setError("");if(n.min&&e<n.min){o.setError("You must select a minimum of "+n.min+" values.");r=true}if(n.max&&e>n.max){o.setError("Only up to "+n.max+" values are allowed.");r=true}}));return r};n.prototype.handleComponentChange=function(){this.checkboxTypes=getClassMap(this.checkboxes.map((function(n){return"types-"+n.type})))};n.prototype.handleDisabledChange=function(){var n=this;if(this.disabled===null)return;this.checkboxes.map((function(o){return o.disabled=n.disabled}))};n.prototype.attachSlotObserver=function(){var n=this;var o=this.mo=new MutationObserver((function(){return n.handleSlotChange()}));o.observe(this.host,{childList:true})};n.prototype.handleSlotChange=function(){return __awaiter(this,void 0,void 0,(function(){var n;var o=this;return __generator(this,(function(e){switch(e.label){case 0:forceUpdate(this.host);this.checkboxes=Array.from(this.host.querySelectorAll("nano-checkbox"));this.hasHelperSlot=!!this.host.querySelector('[slot="helper"]');n=this;return[4,Promise.all(this.checkboxes.reduce((function(n,o){n.push(o.getInputElement());return n}),[]))];case 1:n.nativeCbs=e.sent();this.nativeCbs.forEach((function(n){return n.addEventListener("invalid",o.handleInvalid)}));return[2]}}))}))};n.prototype.componentWillLoad=function(){this.showInlineValidation=debounce(this.showInlineValidation,20);this.customValidate=this.customValidate.bind(this);this.handleDisabledChange()};n.prototype.connectedCallback=function(){this.attachSlotObserver()};n.prototype.disconnectedCallback=function(){if(this.mo)this.mo.disconnect()};n.prototype.componentDidLoad=function(){this.handleComponentChange()};n.prototype.render=function(){var n=this.host.ownerDocument.dir==="rtl";var o=this.grpId+"-lbl";var e=this.showInlineError||this.hasHelperSlot?this.grpId+"-more":"";return h(Host,Object.assign({},this.checkboxTypes,{dir:n?"rtl":null}),h("fieldset",{disabled:this.disabled,class:{nanogroupcb:true,"show-error":this.showErrorMsg}},h("legend",{class:"nanogroupcb__legend",id:o},this.legend),h("div",{class:"nanogroupcb__cbs",role:"group","aria-labelledby":o+" "+e},h("slot",null)),(this.showInlineError||this.hasHelperSlot)&&h("div",{class:"nanogroupcb__more",id:e},!!this.showInlineError?h("div",{class:"nanogroupcb__error"},this.errorMessage):"",h("div",{class:"nanogroupcb__help"},h("slot",{name:"helper"})))))};Object.defineProperty(n.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(n,"watchers",{get:function(){return{validateOn:["handleCbChange"],min:["handleCbChange"],max:["handleCbChange"],nativeCbs:["customValidate"],checkboxes:["handleComponentChange","handleDisabledChange"],disabled:["handleDisabledChange"]}},enumerable:false,configurable:true});return n}();var grpIds=0;CheckboxGroup.style=checkboxGroupCss;export{CheckboxGroup as nano_checkbox_group};
|
4
|
+
*/import{r as registerInstance,c as createEvent,j as forceUpdate,h,e as Host,g as getElement}from"./index-c42becad.js";import{d as debounce}from"./throttle-d3d933cd.js";import{g as getClassMap}from"./theme-1d4c8719.js";var checkboxGroupCss='.sc-nano-checkbox-group-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}.sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:0;--control-margin-bottom:0;--control-margin-start:0;--invalid-msg-color:var(--nano-color-danger, #ef4135);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #616d6e);--label-color:var(--nano-input-label-color, "currentColor");--label-color--invalid:var(--nano-input-label-color-invalid, "currentColor");--label-font-size:var(--nano-input-label-color, 1em);--label-padding:var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));display:block}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{-webkit-box-sizing:inherit;box-sizing:inherit}[types-tag].sc-nano-checkbox-group-h,[types-segment].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:8px;--control-margin-bottom:6px;--control-margin-start:0}[types-checkbox].sc-nano-checkbox-group-h,[types-radio].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:10px;--control-margin-bottom:6px;--control-margin-start:0}.nanogroupcb.sc-nano-checkbox-group{border:none;margin:0;padding:0}.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group,.nanogroupcb__more.sc-nano-checkbox-group{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nanogroupcb__legend.sc-nano-checkbox-group{font-size:var(--label-font-size);padding:0 0 var(--label-padding);margin:0;line-height:1.5;white-space:normal;display:block;width:100%}[invalid].sc-nano-checkbox-group-h:not([invalid=false]) .nanogroupcb__legend.sc-nano-checkbox-group{color:var(--label-color--invalid)}.nanogroupcb__more.sc-nano-checkbox-group{height:1em;margin-left:3px;margin-right:0;margin-top:calc(var(--label-padding) - var(--control-margin-bottom));margin-bottom:var(--label-padding);position:relative}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__more.sc-nano-checkbox-group{margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:0;margin-inline-end:0}}.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group{top:0;left:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;-webkit-transition:0.3s ease-out opacity;transition:0.3s ease-out opacity}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:1}.nanogroupcb__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);font-stretch:condensed;opacity:0}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group{opacity:1}.nanogroupcb__help.sc-nano-checkbox-group{font-style:italic;opacity:1;color:var(--help-msg-color)}.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:0}.nanogroupcb__cbs.sc-nano-checkbox-group{margin:0;padding:0;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]),.nanogroupcb__cbs .sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]){--check-base-size:1.2em;font-size:0.85em}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:var(--control-margin-start);margin-top:var(--control-margin-top);margin-right:var(--control-margin-end);margin-bottom:var(--control-margin-bottom)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--control-margin-start);margin-inline-start:var(--control-margin-start);-webkit-margin-end:var(--control-margin-end);margin-inline-end:var(--control-margin-end)}}';var CheckboxGroup=function(){function n(n){var e=this;registerInstance(this,n);this.nanoValidate=createEvent(this,"nanoValidate",7);this.grpId="nano-checkbox-group-"+grpIds++;this.errorMessage="";this.showErrorMsg=false;this.hasHelperSlot=false;this.validateOn="submitThenDirty";this.showInlineError=true;this.min=0;this.max=null;this.disabled=null;this.legend="";this._invalid=false;this.handleInvalid=function(n){e._invalid=true;if(e.validateOn==="submit"){e._invalid=e.showErrorMsg=e.customValidate()}if(!!e.showInlineError)n.preventDefault();e.showInlineValidation(n)};this.showInlineValidation=function(n){if(!e.nativeCbs||!e.nativeCbs.length)return;if(e.validateOn==="submitThenDirty")e.validateOn="dirty";e.showErrorMsg=false;e._invalid=false;e.nativeCbs.forEach((function(n,o){if(!n.validity.valid){e.errorMessage=n.validationMessage;e.showErrorMsg=true;e._invalid=true}}));e.nanoValidate.emit({isValid:!e.invalid,errorMessage:e.errorMessage,originalEvent:n})}}Object.defineProperty(n.prototype,"invalid",{get:function(){return this._invalid},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"validityMessage",{get:function(){return this.errorMessage},enumerable:false,configurable:true});n.prototype.reportValidity=function(n){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(o){return[2,new Promise((function(o){if(n){e.customValidate();e.showInlineValidation()}setTimeout((function(){o({isValid:!e.invalid,errorMessage:e.errorMessage})}),50)}))]}))}))};n.prototype.showError=function(n,e){return __awaiter(this,void 0,void 0,(function(){var o;return __generator(this,(function(r){switch(r.label){case 0:if(e)o=this.checkboxes.find((function(n){return n.value===e}));if(!o)o=this.checkboxes[0];if(!o)return[2];this.errorMessage=n;return[4,o.setError(n)];case 1:r.sent();if(!!this.showInlineError)this.showInlineValidation();return[2]}}))}))};n.prototype.handleCbChange=function(){if(this.invalid)this.showErrorMsg=this._invalid=false;this.customValidate();if(this.validateOn!=="dirty")return;this.showInlineValidation()};n.prototype.customValidate=function(){var n=this;if(!this.nativeCbs||!this.nativeCbs.length||!this.checkboxes)return;var e=this.nativeCbs.filter((function(n){return n.type==="radio"}));if(e&&e.length&&(this.showErrorMsg||this.validateOn==="dirty")){var o=e.find((function(n){return n.required}));var r=e.filter((function(n){return n.checked}));if(o&&r){this.checkboxes.forEach((function(n){return n.reportValidity(false)}));return false}else if(o&&!r)return true}var t=this.nativeCbs.filter((function(n){return n.type==="checkbox"}));if(!t||!t.length)return;var i=t.filter((function(n){return n.checked}));var a=t.find((function(n){return n.required}));var s=false;if(a&&!i.find((function(n){return n===a})))return true;this.checkboxes.forEach((function(e){e.setError("");if(n.min&&i.length<n.min){e.setError("You must select a minimum of "+n.min+" values.",n.showErrorMsg);s=true}if(n.max&&i.length>n.max){e.setError("Only up to "+n.max+" values are allowed.",n.showErrorMsg);s=true}}));return s};n.prototype.handleComponentChange=function(){this.checkboxTypes=getClassMap(this.checkboxes.map((function(n){return"types-"+n.type})))};n.prototype.handleDisabledChange=function(){var n=this;if(this.disabled===null)return;this.checkboxes.map((function(e){return e.disabled=n.disabled}))};n.prototype.attachSlotObserver=function(){var n=this;if(!!this.mo)return;var e=this.mo=new MutationObserver((function(){return n.handleSlotChange()}));e.observe(this.host,{childList:true})};n.prototype.handleSlotChange=function(){return __awaiter(this,void 0,void 0,(function(){var n;var e=this;return __generator(this,(function(o){switch(o.label){case 0:forceUpdate(this.host);this.checkboxes=Array.from(this.host.querySelectorAll("nano-checkbox"));this.hasHelperSlot=!!this.host.querySelector('[slot="helper"]');n=this;return[4,Promise.all(this.checkboxes.reduce((function(n,e){n.push(e.getInputElement());return n}),[]))];case 1:n.nativeCbs=o.sent();this.nativeCbs.forEach((function(n){return n.addEventListener("invalid",e.handleInvalid)}));return[2]}}))}))};n.prototype.componentWillLoad=function(){this.showInlineValidation=debounce(this.showInlineValidation,50);this.customValidate=this.customValidate.bind(this);this.handleDisabledChange()};n.prototype.connectedCallback=function(){this.attachSlotObserver()};n.prototype.disconnectedCallback=function(){if(this.mo)this.mo.disconnect()};n.prototype.componentDidLoad=function(){this.handleComponentChange()};n.prototype.render=function(){var n=this.host.ownerDocument.dir==="rtl";var e=this.grpId+"-lbl";var o=this.showInlineError||this.hasHelperSlot?this.grpId+"-more":"";return h(Host,Object.assign({},this.checkboxTypes,{dir:n?"rtl":null}),h("fieldset",{disabled:this.disabled,class:{nanogroupcb:true,"show-error":this.showErrorMsg}},h("legend",{class:"nanogroupcb__legend",id:e},this.legend),h("div",{class:"nanogroupcb__cbs",role:"group","aria-labelledby":e+" "+o},h("slot",null)),(this.showInlineError||this.hasHelperSlot)&&h("div",{class:"nanogroupcb__more",id:o},!!this.showInlineError?h("div",{class:"nanogroupcb__error"},this.errorMessage):"",h("div",{class:"nanogroupcb__help"},h("slot",{name:"helper"})))))};Object.defineProperty(n.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(n,"watchers",{get:function(){return{min:["handleCbChange"],max:["handleCbChange"],nativeCbs:["customValidate"],checkboxes:["handleComponentChange","handleDisabledChange"],disabled:["handleDisabledChange"]}},enumerable:false,configurable:true});return n}();var grpIds=0;CheckboxGroup.style=checkboxGroupCss;export{CheckboxGroup as nano_checkbox_group};
|
5
5
|
//# sourceMappingURL=nano-checkbox-group.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["src/components/checkbox/checkbox-group.scss?tag=nano-checkbox-group&encapsulation=scoped","src/components/checkbox/checkbox-group.tsx"],"names":["checkboxGroupCss","CheckboxGroup","class_1","hostRef","_this","this","grpId","grpIds","_invalid","errorMessage","showErrorMsg","hasHelperSlot","validateOn","showInlineError","min","max","disabled","legend","handleInvalid","ev","customValidate","preventDefault","setTimeout","_","showInlineValidation","nativeCbs","length","forEach","cb","i","validity","valid","validationMessage","checkboxes","setFocus","nanoValidate","emit","isValid","invalid","originalEvent","Object","defineProperty","prototype","reportValidity","validateFirst","Promise","resolve","handleCbChange","onlyCbs","filter","type","checked","required","setError","handleComponentChange","checkboxTypes","getClassMap","map","handleDisabledChange","attachSlotObserver","mo","MutationObserver","handleSlotChange","observe","host","childList","forceUpdate","Array","from","querySelectorAll","querySelector","_a","all","reduce","acc","push","getInputElement","_b","sent","addEventListener","componentWillLoad","debounce","bind","connectedCallback","disconnectedCallback","disconnect","componentDidLoad","render","isRtl","ownerDocument","dir","legendId","moreId","h","Host","assign","class","nanogroupcb","show-error","id","role","aria-labelledby","name"],"mappings":"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","sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n\n:host {\n /**\n * @prop --control-margin-top: Margin between controls. Default depends on control type;\n * @prop --control-margin-end: Margin between controls. Default depends on control type;\n * @prop --control-margin-bottom: Margin between controls. Default depends on control type;\n * @prop --control-margin-start: Margin between controls. Default depends on control type;\n\n * @prop --invalid-msg-color: Default #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default #{$input-help-font-size};\n\n * @prop --help-msg-color: Font color applied to slot=\"helper\". Default #{$input-help-color};\n\n * @prop --label-color: Default #{$label-color};\n * @prop --label-color--invalid: Default #{$label-color-invalid};\n * @prop --label-font-size: Default #{$label-font-size};\n * @prop --label-padding: space between legend and control. Default #{$input-padding-bottom};\n */\n\n --control-margin-top: 0;\n --control-margin-end: 0;\n --control-margin-bottom: 0;\n --control-margin-start: 0;\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-color--invalid: #{$label-color-invalid};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n\n display: block;\n\n * {\n box-sizing: inherit;\n }\n}\n\n:host([types-tag]),\n:host([types-segment]) {\n --control-margin-top: 0;\n --control-margin-end: 8px;\n --control-margin-bottom: 8px;\n --control-margin-start: 0;\n}\n\n:host([types-checkbox]),\n:host([types-radio]) {\n --control-margin-top: 0;\n --control-margin-end: 10px;\n --control-margin-bottom: 8px;\n --control-margin-start: 0;\n}\n\n.nanogroupcb {\n border: none;\n margin: 0;\n padding: 0;\n\n &__legend,\n &__error,\n &__help,\n &__more {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__legend {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) - var(--control-margin-bottom)),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .show-error & {\n opacity: 0;\n }\n }\n\n &__cbs {\n margin: 0;\n padding: 0;\n line-height: 1;\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(*:not([type='tag']):not([type='segment']):not([type='segment-pill'])) {\n --check-base-size: 1.2em;\n\n font-size: 0.85em;\n }\n\n ::slotted(*) {\n margin-left: var(--control-margin-start);\n margin-top: var(--control-margin-top);\n margin-right: var(--control-margin-end);\n margin-bottom: var(--control-margin-bottom);\n }\n }\n}\n\n/* autoprefixer: ignore next */\n@supports ((margin-inline-start: 0) or (-webkit-margin-start: 0)) {\n .nanogroupcb__cbs {\n &::slotted(*),\n ::slotted(*) {\n margin-left: unset;\n margin-right: unset;\n margin-inline-start: var(--control-margin-start);\n margin-inline-end: var(--control-margin-end);\n }\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n ComponentInterface,\n State,\n Listen,\n Watch,\n Host,\n Method,\n forceUpdate,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport {\n CssClassMap,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\nimport { debounce, getClassMap } from '../../utils';\n\n/**\n * `nano-checkbox-group` is an optional wrapper for all `nano-checkbox` controls.\n * It provides a convenient place to anchor a collective label and any validation issues.\n *\n * @slot - Used for grouping checkboxes inside the group wrapper\n * @slot helper - helper text to accompany the form field underneath.\n */\n@Component({\n tag: 'nano-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n scoped: true,\n})\nexport class CheckboxGroup implements ComponentInterface {\n private mo?: MutationObserver;\n private checkboxTypes: CssClassMap;\n private grpId = `nano-checkbox-group-${grpIds++}`;\n private _invalid = false;\n\n @Element() host: HTMLNanoCheckboxGroupElement;\n\n // internal state\n\n @State() checkboxes: HTMLNanoCheckboxElement[];\n @State() nativeCbs: HTMLInputElement[];\n @State() errorMessage: string = '';\n @State() showErrorMsg = false;\n @State() hasHelperSlot = false;\n\n // public properties\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop() showInlineError = true;\n\n /**\n * The minimum number of checkboxes required to be valid. Only relevant for checkbox type controls.\n * A validation error will be thrown if not enough controls are checked.\n */\n @Prop() min: number = 0;\n\n /**\n * The maximum number of checkboxes allowed. Only relevant for checkbox type controls.\n * Other controls will automatically be disabled upon reaching this number.\n */\n @Prop() max: number = null;\n\n /**\n * Disable all the nested form controls\n */\n @Prop({ reflect: true }) disabled: boolean | null = null;\n\n /**\n * A common label for children controls\n */\n @Prop() legend: string = '';\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n\n // Public methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) this.showInlineValidation();\n setTimeout(() => {\n resolve({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n });\n }, 20);\n });\n }\n\n // Events\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // listeners & watchers\n\n /**\n * Notes on validation... custom validation messages should be set\n * no matter whether we show inline messages or native html5.\n * this will mean forms cannot submit when there are pending validation issues.\n */\n @Listen('nanoChange')\n @Watch('validateOn')\n @Watch('min')\n @Watch('max')\n handleCbChange() {\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n this.customValidate();\n\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n @Watch('nativeCbs')\n customValidate() {\n if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes) return;\n\n // we only care about checkbox controls.\n let onlyCbs = this.nativeCbs.filter((cb) => cb.type === 'checkbox');\n if (!onlyCbs || !onlyCbs.length) return;\n\n let checked = onlyCbs.filter((cb) => cb.checked).length;\n let invalid = false;\n\n this.checkboxes.forEach((cb) => {\n if (cb.required && !cb.checked) {\n invalid = true;\n }\n\n cb.setError('');\n\n if (this.min && checked < this.min) {\n cb.setError(`You must select a minimum of ${this.min} values.`);\n invalid = true;\n }\n if (this.max && checked > this.max) {\n cb.setError(`Only up to ${this.max} values are allowed.`);\n invalid = true;\n }\n });\n return invalid;\n }\n\n @Watch('checkboxes')\n handleComponentChange() {\n this.checkboxTypes = getClassMap(\n this.checkboxes.map((cb) => 'types-' + cb.type)\n );\n }\n\n @Watch('disabled')\n @Watch('checkboxes')\n handleDisabledChange() {\n if (this.disabled === null) return;\n this.checkboxes.map((cb) => (cb.disabled = this.disabled));\n }\n\n // private methods\n\n private attachSlotObserver() {\n const mo = (this.mo = new MutationObserver(() => this.handleSlotChange()));\n mo.observe(this.host, { childList: true });\n }\n\n private async handleSlotChange() {\n forceUpdate(this.host);\n this.checkboxes = Array.from(this.host.querySelectorAll('nano-checkbox'));\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n this.nativeCbs = await Promise.all(\n this.checkboxes.reduce((acc: Array<Promise<HTMLInputElement>>, cb) => {\n acc.push(cb.getInputElement());\n return acc;\n }, [])\n );\n\n this.nativeCbs.forEach((cb) =>\n cb.addEventListener('invalid', this.handleInvalid)\n );\n }\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit') {\n this._invalid = this.showErrorMsg = this.customValidate();\n }\n if (!!this.showInlineError) ev.preventDefault();\n\n setTimeout((_) => this.showInlineValidation(ev), 20);\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (!this.nativeCbs || !this.nativeCbs.length) return;\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.showErrorMsg = false;\n this._invalid = false;\n\n this.nativeCbs.forEach((cb, i) => {\n if (!cb.validity.valid) {\n this.errorMessage = cb.validationMessage;\n this.showErrorMsg = true;\n this._invalid = true;\n if (!!this.showInlineError) {\n this.checkboxes[i].setFocus();\n }\n }\n });\n\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n // stencil hooks\n\n componentWillLoad() {\n this.showInlineValidation = debounce(this.showInlineValidation, 20);\n this.customValidate = this.customValidate.bind(this);\n this.handleDisabledChange();\n }\n\n connectedCallback() {\n this.attachSlotObserver();\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.handleComponentChange();\n }\n\n render() {\n let isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n const legendId = this.grpId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot ? this.grpId + '-more' : '';\n\n return (\n <Host {...this.checkboxTypes} dir={isRtl ? 'rtl' : null}>\n <fieldset\n disabled={this.disabled}\n class={{ nanogroupcb: true, 'show-error': this.showErrorMsg }}\n >\n <legend class=\"nanogroupcb__legend\" id={legendId}>\n {this.legend}\n </legend>\n <div\n class=\"nanogroupcb__cbs\"\n role=\"group\"\n aria-labelledby={legendId + ' ' + moreId}\n >\n <slot />\n </div>\n {(this.showInlineError || this.hasHelperSlot) && (\n <div class=\"nanogroupcb__more\" id={moreId}>\n {!!this.showInlineError ? (\n <div class=\"nanogroupcb__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"nanogroupcb__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n )}\n </fieldset>\n </Host>\n );\n }\n}\n\nlet grpIds = 0;\n"]}
|
1
|
+
{"version":3,"sources":["src/components/checkbox/checkbox-group.scss?tag=nano-checkbox-group&encapsulation=scoped","src/components/checkbox/checkbox-group.tsx"],"names":["checkboxGroupCss","CheckboxGroup","class_1","hostRef","_this","this","grpId","grpIds","errorMessage","showErrorMsg","hasHelperSlot","validateOn","showInlineError","min","max","disabled","legend","_invalid","handleInvalid","ev","customValidate","preventDefault","showInlineValidation","nativeCbs","length","forEach","cb","_i","validity","valid","validationMessage","nanoValidate","emit","isValid","invalid","originalEvent","Object","defineProperty","prototype","reportValidity","validateFirst","Promise","resolve","setTimeout","showError","message","optVal","checkboxes","find","c","value","setError","_a","sent","handleCbChange","onlyRadios","filter","type","required_1","required","checked_1","checked","rd","onlyCbs","handleComponentChange","checkboxTypes","getClassMap","map","handleDisabledChange","attachSlotObserver","mo","MutationObserver","handleSlotChange","observe","host","childList","forceUpdate","Array","from","querySelectorAll","querySelector","all","reduce","acc","push","getInputElement","_b","addEventListener","componentWillLoad","debounce","bind","connectedCallback","disconnectedCallback","disconnect","componentDidLoad","render","isRtl","ownerDocument","dir","legendId","moreId","h","Host","assign","class","nanogroupcb","show-error","id","role","aria-labelledby","name"],"mappings":";;;4NAAA,IAAMA,iBAAmB,0pICkCZC,cAAa,WAL1B,SAAAC,EAAAC,GAAA,IAAAC,EAAAC,mFAQUA,KAAAC,MAAQ,uBAAuBC,SAQ9BF,KAAAG,aAAuB,GACvBH,KAAAI,aAAe,MACfJ,KAAAK,cAAgB,MAOAL,KAAAM,WACvB,kBAKMN,KAAAO,gBAAkB,KAMlBP,KAAAQ,IAAc,EAMdR,KAAAS,IAAc,KAKGT,KAAAU,SAA2B,KAK5CV,KAAAW,OAAiB,GAUhBX,KAAAY,SAAW,MAuKZZ,KAAAa,cAAgB,SAACC,GACvBf,EAAKa,SAAW,KAEhB,GAAIb,EAAKO,aAAe,SAAU,CAChCP,EAAKa,SAAWb,EAAKK,aAAeL,EAAKgB,iBAE3C,KAAMhB,EAAKQ,gBAAiBO,EAAGE,iBAE/BjB,EAAKkB,qBAAqBH,IAGpBd,KAAAiB,qBAAuB,SAACH,GAC9B,IAAKf,EAAKmB,YAAcnB,EAAKmB,UAAUC,OAAQ,OAC/C,GAAIpB,EAAKO,aAAe,kBAAmBP,EAAKO,WAAa,QAC7DP,EAAKK,aAAe,MACpBL,EAAKa,SAAW,MAEhBb,EAAKmB,UAAUE,SAAQ,SAACC,EAAIC,GAC1B,IAAKD,EAAGE,SAASC,MAAO,CACtBzB,EAAKI,aAAekB,EAAGI,kBACvB1B,EAAKK,aAAe,KACpBL,EAAKa,SAAW,SAIpBb,EAAK2B,aAAaC,KAAK,CACrBC,SAAU7B,EAAK8B,QACf1B,aAAcJ,EAAKI,aACnB2B,cAAehB,KAvMnBiB,OAAAC,eACInC,EAAAoC,UAAA,UAAO,KADX,WAEE,OAAOjC,KAAKY,+CAOdmB,OAAAC,eACInC,EAAAoC,UAAA,kBAAe,KADnB,WAEE,OAAOjC,KAAKG,mDAWRN,EAAAoC,UAAAC,eAAN,SAAqBC,mGACnB,MAAA,CAAA,EAAO,IAAIC,SAAQ,SAACC,GAClB,GAAIF,EAAe,CACjBpC,EAAKgB,iBACLhB,EAAKkB,uBAEPqB,YAAW,WACTD,EAAQ,CACNT,SAAU7B,EAAK8B,QACf1B,aAAcJ,EAAKI,iBAEpB,eAWDN,EAAAoC,UAAAM,UAAN,SAAgBC,EAAiBC,qHAE/B,GAAIA,EAAQpB,EAAKrB,KAAK0C,WAAWC,MAAK,SAACC,GAAM,OAAAA,EAAEC,QAAUJ,KACzD,IAAKpB,EAAIA,EAAKrB,KAAK0C,WAAW,GAC9B,IAAKrB,EAAI,MAAA,CAAA,GAETrB,KAAKG,aAAeqC,EACpB,MAAA,CAAA,EAAMnB,EAAGyB,SAASN,WAAlBO,EAAAC,OACA,KAAMhD,KAAKO,gBAAiBP,KAAKiB,yCAqBnCpB,EAAAoC,UAAAgB,eAAA,WACE,GAAIjD,KAAK6B,QAAS7B,KAAKI,aAAeJ,KAAKY,SAAW,MACtDZ,KAAKe,iBAEL,GAAIf,KAAKM,aAAe,QAAS,OACjCN,KAAKiB,wBAIPpB,EAAAoC,UAAAlB,eAAA,WAAA,IAAAhB,EAAAC,KACE,IAAKA,KAAKkB,YAAclB,KAAKkB,UAAUC,SAAWnB,KAAK0C,WAAY,OAEnE,IAAIQ,EAAalD,KAAKkB,UAAUiC,QAAO,SAAC9B,GAAO,OAAAA,EAAG+B,OAAS,WAE3D,GACEF,GACAA,EAAW/B,SACVnB,KAAKI,cAAgBJ,KAAKM,aAAe,SAC1C,CACA,IAAI+C,EAAWH,EAAWP,MAAK,SAACtB,GAAO,OAAAA,EAAGiC,YAC1C,IAAIC,EAAUL,EAAWC,QAAO,SAAC9B,GAAO,OAAAA,EAAGmC,WAE3C,GAAIH,GAAYE,EAAS,CACvBvD,KAAK0C,WAAWtB,SAAQ,SAACqC,GAAO,OAAAA,EAAGvB,eAAe,UAClD,OAAO,WACF,GAAImB,IAAaE,EAAS,OAAO,KAI1C,IAAIG,EAAU1D,KAAKkB,UAAUiC,QAAO,SAAC9B,GAAO,OAAAA,EAAG+B,OAAS,cACxD,IAAKM,IAAYA,EAAQvC,OAAQ,OAEjC,IAAIqC,EAAUE,EAAQP,QAAO,SAAC9B,GAAO,OAAAA,EAAGmC,WACxC,IAAIF,EAAWI,EAAQf,MAAK,SAACtB,GAAO,OAAAA,EAAGiC,YACvC,IAAIzB,EAAU,MAEd,GAAIyB,IAAaE,EAAQb,MAAK,SAACtB,GAAO,OAAAA,IAAOiC,KAAW,OAAO,KAE/DtD,KAAK0C,WAAWtB,SAAQ,SAACC,GACvBA,EAAGyB,SAAS,IAEZ,GAAI/C,EAAKS,KAAOgD,EAAQrC,OAASpB,EAAKS,IAAK,CACzCa,EAAGyB,SACD,gCAAgC/C,EAAKS,IAAG,WACxCT,EAAKK,cAEPyB,EAAU,KAEZ,GAAI9B,EAAKU,KAAO+C,EAAQrC,OAASpB,EAAKU,IAAK,CACzCY,EAAGyB,SACD,cAAc/C,EAAKU,IAAG,uBACtBV,EAAKK,cAEPyB,EAAU,SAGd,OAAOA,GAIThC,EAAAoC,UAAA0B,sBAAA,WACE3D,KAAK4D,cAAgBC,YACnB7D,KAAK0C,WAAWoB,KAAI,SAACzC,GAAO,MAAA,SAAWA,EAAG+B,UAM9CvD,EAAAoC,UAAA8B,qBAAA,WAAA,IAAAhE,EAAAC,KACE,GAAIA,KAAKU,WAAa,KAAM,OAC5BV,KAAK0C,WAAWoB,KAAI,SAACzC,GAAE,OAAMA,EAAGX,SAAWX,EAAKW,aAK1Cb,EAAAoC,UAAA+B,mBAAA,WAAA,IAAAjE,EAAAC,KACN,KAAMA,KAAKiE,GAAI,OACf,IAAMA,EAAMjE,KAAKiE,GAAK,IAAIC,kBAAiB,WAAM,OAAAnE,EAAKoE,sBACtDF,EAAGG,QAAQpE,KAAKqE,KAAM,CAAEC,UAAW,QAGvBzE,EAAAoC,UAAAkC,iBAAN,wIACNI,YAAYvE,KAAKqE,MACjBrE,KAAK0C,WAAa8B,MAAMC,KAAKzE,KAAKqE,KAAKK,iBAAiB,kBACxD1E,KAAKK,gBAAkBL,KAAKqE,KAAKM,cAAc,mBAE/C5B,EAAA/C,KAAiB,MAAA,CAAA,EAAMoC,QAAQwC,IAC7B5E,KAAK0C,WAAWmC,QAAO,SAACC,EAAuCzD,GAC7DyD,EAAIC,KAAK1D,EAAG2D,mBACZ,OAAOF,IACN,aAJL/B,EAAK7B,UAAY+D,EAAAjC,OAOjBhD,KAAKkB,UAAUE,SAAQ,SAACC,GACtB,OAAAA,EAAG6D,iBAAiB,UAAWnF,EAAKc,oCAsCxChB,EAAAoC,UAAAkD,kBAAA,WACEnF,KAAKiB,qBAAuBmE,SAASpF,KAAKiB,qBAAsB,IAChEjB,KAAKe,eAAiBf,KAAKe,eAAesE,KAAKrF,MAC/CA,KAAK+D,wBAGPlE,EAAAoC,UAAAqD,kBAAA,WACEtF,KAAKgE,sBAGPnE,EAAAoC,UAAAsD,qBAAA,WACE,GAAIvF,KAAKiE,GAAIjE,KAAKiE,GAAGuB,cAGvB3F,EAAAoC,UAAAwD,iBAAA,WACEzF,KAAK2D,yBAGP9D,EAAAoC,UAAAyD,OAAA,WACE,IAAIC,EAAS3F,KAAKqE,KAAKuB,cAA2BC,MAAQ,MAC1D,IAAMC,EAAW9F,KAAKC,MAAQ,OAC9B,IAAM8F,EACJ/F,KAAKO,iBAAmBP,KAAKK,cAAgBL,KAAKC,MAAQ,QAAU,GAEtE,OACE+F,EAACC,KAAIlE,OAAAmE,OAAA,GAAKlG,KAAK4D,cAAa,CAAEiC,IAAKF,EAAQ,MAAQ,OACjDK,EAAA,WAAA,CACEtF,SAAUV,KAAKU,SACfyF,MAAO,CAAEC,YAAa,KAAMC,aAAcrG,KAAKI,eAE/C4F,EAAA,SAAA,CAAQG,MAAM,sBAAsBG,GAAIR,GACrC9F,KAAKW,QAERqF,EAAA,MAAA,CACEG,MAAM,mBACNI,KAAK,QAAOC,kBACKV,EAAW,IAAMC,GAElCC,EAAA,OAAA,QAEAhG,KAAKO,iBAAmBP,KAAKK,gBAC7B2F,EAAA,MAAA,CAAKG,MAAM,oBAAoBG,GAAIP,KAC9B/F,KAAKO,gBACNyF,EAAA,MAAA,CAAKG,MAAM,sBAAsBnG,KAAKG,cAAmB,GAI3D6F,EAAA,MAAA,CAAKG,MAAM,qBACTH,EAAA,OAAA,CAAMS,KAAK,0ZAnTD,GA6T1B,IAAIvG,OAAS","sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n\n:host {\n /**\n * @prop --control-margin-top: Margin between controls. Default depends on control type;\n * @prop --control-margin-end: Margin between controls. Default depends on control type;\n * @prop --control-margin-bottom: Margin between controls. Default depends on control type;\n * @prop --control-margin-start: Margin between controls. Default depends on control type;\n\n * @prop --invalid-msg-color: Default #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default #{$input-help-font-size};\n\n * @prop --help-msg-color: Font color applied to slot=\"helper\". Default #{$input-help-color};\n\n * @prop --label-color: Default #{$label-color};\n * @prop --label-color--invalid: Default #{$label-color-invalid};\n * @prop --label-font-size: Default #{$label-font-size};\n * @prop --label-padding: space between legend and control. Default #{$input-padding-bottom};\n */\n\n --control-margin-top: 0;\n --control-margin-end: 0;\n --control-margin-bottom: 0;\n --control-margin-start: 0;\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-color--invalid: #{$label-color-invalid};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n\n display: block;\n\n * {\n box-sizing: inherit;\n }\n}\n\n:host([types-tag]),\n:host([types-segment]) {\n --control-margin-top: 0;\n --control-margin-end: 8px;\n --control-margin-bottom: 6px;\n --control-margin-start: 0;\n}\n\n:host([types-checkbox]),\n:host([types-radio]) {\n --control-margin-top: 0;\n --control-margin-end: 10px;\n --control-margin-bottom: 6px;\n --control-margin-start: 0;\n}\n\n.nanogroupcb {\n border: none;\n margin: 0;\n padding: 0;\n\n &__error,\n &__help,\n &__more {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__legend {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1.5;\n white-space: normal;\n display: block;\n width: 100%;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) - var(--control-margin-bottom)),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .show-error & {\n opacity: 0;\n }\n }\n\n &__cbs {\n margin: 0;\n padding: 0;\n line-height: 1;\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(*:not([type='tag']):not([type='segment']):not([type='segment-pill'])) {\n --check-base-size: 1.2em;\n\n font-size: 0.85em;\n }\n\n ::slotted(*) {\n margin-left: var(--control-margin-start);\n margin-top: var(--control-margin-top);\n margin-right: var(--control-margin-end);\n margin-bottom: var(--control-margin-bottom);\n }\n }\n}\n\n/* autoprefixer: ignore next */\n@supports ((margin-inline-start: 0) or (-webkit-margin-start: 0)) {\n .nanogroupcb__cbs {\n &::slotted(*),\n ::slotted(*) {\n margin-left: unset;\n margin-right: unset;\n margin-inline-start: var(--control-margin-start);\n margin-inline-end: var(--control-margin-end);\n }\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n ComponentInterface,\n State,\n Listen,\n Watch,\n Host,\n Method,\n forceUpdate,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport {\n CssClassMap,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\nimport { debounce, getClassMap } from '../../utils';\n\n/**\n * `nano-checkbox-group` is an optional wrapper for all `nano-checkbox` controls.\n * It provides a convenient place to anchor a collective label and any validation issues.\n *\n * @slot - Used for grouping checkboxes inside the group wrapper\n * @slot helper - helper text to accompany the form field underneath.\n */\n@Component({\n tag: 'nano-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n scoped: true,\n})\nexport class CheckboxGroup implements ComponentInterface {\n private mo?: MutationObserver;\n private checkboxTypes: CssClassMap;\n private grpId = `nano-checkbox-group-${grpIds++}`;\n\n @Element() host: HTMLNanoCheckboxGroupElement;\n\n // internal state\n\n @State() checkboxes: HTMLNanoCheckboxElement[];\n @State() nativeCbs: HTMLInputElement[];\n @State() errorMessage: string = '';\n @State() showErrorMsg = false;\n @State() hasHelperSlot = false;\n\n // public properties\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop() showInlineError = true;\n\n /**\n * The minimum number of checkboxes required to be valid. Only relevant for checkbox type controls.\n * A validation error will be thrown if not enough controls are checked.\n */\n @Prop() min: number = 0;\n\n /**\n * The maximum number of checkboxes allowed. Only relevant for checkbox type controls.\n * Other controls will automatically be disabled upon reaching this number.\n */\n @Prop() max: number = null;\n\n /**\n * Disable all the nested form controls\n */\n @Prop({ reflect: true }) disabled: boolean | null = null;\n\n /**\n * A common label for children controls\n */\n @Prop() legend: string = '';\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Current validation message - if any. @readonly\n */\n @Prop()\n get validityMessage() {\n return this.errorMessage;\n }\n\n // Public methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) {\n this.customValidate();\n this.showInlineValidation();\n }\n setTimeout(() => {\n resolve({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n });\n }, 50);\n });\n }\n\n /**\n * Invalidate the field and show a custom error message.\n * To clear the error you will need to re-call this method with an empty string.\n * @param message - the error message to show\n * @param optVal - optionally supply an option value to target which checkbox to show invalidate against (default is the first)\n */\n @Method()\n async showError(message: string, optVal?: string) {\n let cb: HTMLNanoCheckboxElement;\n if (optVal) cb = this.checkboxes.find((c) => c.value === optVal);\n if (!cb) cb = this.checkboxes[0];\n if (!cb) return;\n\n this.errorMessage = message;\n await cb.setError(message);\n if (!!this.showInlineError) this.showInlineValidation();\n }\n\n // Events\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // listeners & watchers\n\n /**\n * Notes on validation... custom validation messages should be set\n * no matter whether we show inline messages or native html5.\n * this will mean forms cannot submit when there are pending validation issues.\n */\n @Listen('nanoChange')\n @Watch('min')\n @Watch('max')\n handleCbChange() {\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n this.customValidate();\n\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n @Watch('nativeCbs')\n customValidate() {\n if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes) return;\n\n let onlyRadios = this.nativeCbs.filter((cb) => cb.type === 'radio');\n\n if (\n onlyRadios &&\n onlyRadios.length &&\n (this.showErrorMsg || this.validateOn === 'dirty')\n ) {\n let required = onlyRadios.find((cb) => cb.required);\n let checked = onlyRadios.filter((cb) => cb.checked);\n\n if (required && checked) {\n this.checkboxes.forEach((rd) => rd.reportValidity(false));\n return false;\n } else if (required && !checked) return true;\n }\n\n // we only care about checkbox controls.\n let onlyCbs = this.nativeCbs.filter((cb) => cb.type === 'checkbox');\n if (!onlyCbs || !onlyCbs.length) return;\n\n let checked = onlyCbs.filter((cb) => cb.checked);\n let required = onlyCbs.find((cb) => cb.required);\n let invalid = false;\n\n if (required && !checked.find((cb) => cb === required)) return true;\n\n this.checkboxes.forEach((cb) => {\n cb.setError('');\n\n if (this.min && checked.length < this.min) {\n cb.setError(\n `You must select a minimum of ${this.min} values.`,\n this.showErrorMsg\n );\n invalid = true;\n }\n if (this.max && checked.length > this.max) {\n cb.setError(\n `Only up to ${this.max} values are allowed.`,\n this.showErrorMsg\n );\n invalid = true;\n }\n });\n return invalid;\n }\n\n @Watch('checkboxes')\n handleComponentChange() {\n this.checkboxTypes = getClassMap(\n this.checkboxes.map((cb) => 'types-' + cb.type)\n );\n }\n\n @Watch('disabled')\n @Watch('checkboxes')\n handleDisabledChange() {\n if (this.disabled === null) return;\n this.checkboxes.map((cb) => (cb.disabled = this.disabled));\n }\n\n // private methods\n\n private attachSlotObserver() {\n if (!!this.mo) return;\n const mo = (this.mo = new MutationObserver(() => this.handleSlotChange()));\n mo.observe(this.host, { childList: true });\n }\n\n private async handleSlotChange() {\n forceUpdate(this.host);\n this.checkboxes = Array.from(this.host.querySelectorAll('nano-checkbox'));\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n this.nativeCbs = await Promise.all(\n this.checkboxes.reduce((acc: Array<Promise<HTMLInputElement>>, cb) => {\n acc.push(cb.getInputElement());\n return acc;\n }, [])\n );\n\n this.nativeCbs.forEach((cb) =>\n cb.addEventListener('invalid', this.handleInvalid)\n );\n }\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit') {\n this._invalid = this.showErrorMsg = this.customValidate();\n }\n if (!!this.showInlineError) ev.preventDefault();\n\n this.showInlineValidation(ev);\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (!this.nativeCbs || !this.nativeCbs.length) return;\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.showErrorMsg = false;\n this._invalid = false;\n\n this.nativeCbs.forEach((cb, _i) => {\n if (!cb.validity.valid) {\n this.errorMessage = cb.validationMessage;\n this.showErrorMsg = true;\n this._invalid = true;\n }\n });\n\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n // stencil hooks\n\n componentWillLoad() {\n this.showInlineValidation = debounce(this.showInlineValidation, 50);\n this.customValidate = this.customValidate.bind(this);\n this.handleDisabledChange();\n }\n\n connectedCallback() {\n this.attachSlotObserver();\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.handleComponentChange();\n }\n\n render() {\n let isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n const legendId = this.grpId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot ? this.grpId + '-more' : '';\n\n return (\n <Host {...this.checkboxTypes} dir={isRtl ? 'rtl' : null}>\n <fieldset\n disabled={this.disabled}\n class={{ nanogroupcb: true, 'show-error': this.showErrorMsg }}\n >\n <legend class=\"nanogroupcb__legend\" id={legendId}>\n {this.legend}\n </legend>\n <div\n class=\"nanogroupcb__cbs\"\n role=\"group\"\n aria-labelledby={legendId + ' ' + moreId}\n >\n <slot />\n </div>\n {(this.showInlineError || this.hasHelperSlot) && (\n <div class=\"nanogroupcb__more\" id={moreId}>\n {!!this.showInlineError ? (\n <div class=\"nanogroupcb__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"nanogroupcb__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n )}\n </fieldset>\n </Host>\n );\n }\n}\n\nlet grpIds = 0;\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
var __awaiter=this&&this.__awaiter||function(e,n,o,t){function c(e){return e instanceof o?e:new o((function(n){n(e)}))}return new(o||(o=Promise))((function(o,a){function i(e){try{s(t.next(e))}catch(n){a(n)}}function r(e){try{s(t["throw"](e))}catch(n){a(n)}}function s(e){e.done?o(e.value):c(e.value).then(i,r)}s((t=t.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},t,c,a,i;return i={next:r(0),throw:r(1),return:r(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function r(e){return function(n){return s([e,n])}}function s(i){if(t)throw new TypeError("Generator is already executing.");while(o)try{if(t=1,c&&(a=i[0]&2?c["return"]:i[0]?c["throw"]||((a=c["return"])&&a.call(c),0):c.next)&&!(a=a.call(c,i[1])).done)return a;if(c=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;c=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=n.call(e,o)}catch(r){i=[6,r];c=0}finally{t=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};
|
2
2
|
/*!
|
3
3
|
* Web Components for Nanopore digital Web Apps
|
4
|
-
*/import{r as registerInstance,c as createEvent,h,e as Host,g as getElement}from"./index-5f8d16e7.js";import{c as createColorClasses}from"./theme-1d4c8719.js";import{f as focusVisible}from"./focus-visible-8b2c14da.js";var checkboxCss='.sc-nano-checkbox-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox,*.sc-nano-checkbox::before,*.sc-nano-checkbox::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-checkbox{display:none !important}.sc-nano-checkbox-h{--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--invalid-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem #e4e6e8);--padding:initial;--check-bg-color:#fff;--check-border-style:1px solid #b5aea7;--check-checked-bg-color:#455556;--check-checked-border-color:#455556;--check-checked-higlight-color:#fff;--check-base-size:inherit;--tagbox-rgb:144, 198, 231;--tagbox-border-color:rgba(var(--tagbox-rgb), 0.5);--tagbox-bg-color:rgba(var(--tagbox-rgb), 0.2);--tagbox-border-radius:0;--segment-color:#007495;--segment-border-radius:3px;--segment-shadow:0 1px 4px rgba(0, 0, 0, 0.2);--cb-border-radius:2px;--radio-border-radius:50%;display:inline-block;max-width:100%}.sc-nano-checkbox-h *.sc-nano-checkbox{-webkit-box-sizing:inherit;box-sizing:inherit}[type=tag].sc-nano-checkbox-h{text-transform:uppercase;--control-padding:0.2rem 1rem}[type=segment].sc-nano-checkbox-h{--check-border-style:none;--control-padding:0.7em 1em 0.7em 1em}[type=segment-pill].sc-nano-checkbox-h{--check-border-style:1px solid rgba(181, 174, 167, 0.5);--segment-border-radius:5px;--control-padding:0.7em 1em 0.7em 1em}.nano-color.sc-nano-checkbox-h{--tagbox-rgb:var(--nano-color-base-rgb);--focus-shadow:0 0 0 0.1875rem var(--nano-color-shade)}[checked].sc-nano-checkbox-h:not([checked=false]){--tagbox-border-color:rgba(var(--tagbox-rgb), 0.8);--tagbox-bg-color:rgba(var(--tagbox-rgb), 0.5)}[has-focus].sc-nano-checkbox-h:not([has-focus=false]){--cb-border-radius:5px}[disabled].sc-nano-checkbox-h:not([disabled=false]){opacity:0.7;--tagbox-rgb:104, 117, 118;--check-bg-color:rgba(104, 117, 118, 0.5);--check-checked-bg-color:rgba(104, 117, 118, 0.5);--segment-color:#455556}.nanocb.sc-nano-checkbox{padding:var(--padding);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.2;position:relative}.nanocb__input.sc-nano-checkbox{border-radius:var(--cb-border-radius, 3px);font-size:var(--check-base-size);position:relative;height:1.5em;width:1.5em;min-width:1.5em;border:var(--check-border-style);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2)}.nanocb__input.sc-nano-checkbox::before{border-radius:var(--cb-border-radius);position:absolute;content:"";left:0.625em;top:0.625em;width:0;height:0;border:2px solid var(--check-checked-higlight-color);-webkit-transform:scale(0);transform:scale(0)}.nanocb__input--radio.sc-nano-checkbox{border-radius:var(--radio-border-radius);background-color:var(--check-bg-color)}.nanocb__input--checkbox.sc-nano-checkbox{background-color:var(--check-bg-color)}.nanocb__input--checkbox.sc-nano-checkbox::after{border-radius:var(--cb-border-radius);position:absolute;content:"";left:0.75em;top:0.75em;height:0;width:0;border:solid var(--check-checked-higlight-color);border-width:0 0.1875em 0.1875em 0;-webkit-transform:rotate(0deg) scale(0);transform:rotate(0deg) scale(0);opacity:1;-webkit-transition:all 0.15s ease-out;transition:all 0.15s ease-out}.nanocb--indeterminate.sc-nano-checkbox .nanocb__input--checkbox.sc-nano-checkbox::after{border-width:0 0 0.1875em 0}.nanocb__input--segment.sc-nano-checkbox,.nanocb__input--segment-pill.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb__input--segment.sc-nano-checkbox::before,.nanocb__input--segment-pill.sc-nano-checkbox::before{display:none}.nanocb__input--tag.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb__input--tag.sc-nano-checkbox::before{display:none}.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input.sc-nano-checkbox{-webkit-box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow);box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow)}.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{-webkit-box-shadow:var(--invalid-shadow);box-shadow:var(--invalid-shadow);z-index:1}.nanocb.sc-nano-checkbox input.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:focus~.nanocb__input.sc-nano-checkbox{-webkit-box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow);box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow)}.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow);z-index:1}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input.sc-nano-checkbox{border-radius:var(--cb-border-radius);background-color:var(--check-checked-bg-color);-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:0.125em solid var(--check-checked-border-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{color:var(--check-checked-higlight-color);background-color:var(--check-checked-bg-color);-webkit-box-shadow:inset 0 3px 4px rgba(0, 0, 0, 0.2);box-shadow:inset 0 3px 4px rgba(0, 0, 0, 0.2)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox{border-radius:var(--radio-border-radius);border-width:0.3125em;background-color:var(--check-checked-higlight-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox::after{border:solid var(--check-checked-border-color);border-width:0 0.125em 0.125em 0;opacity:0}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox::before{border-radius:var(--radio-border-radius)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--checkbox.sc-nano-checkbox::after{-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);opacity:1;left:0.475em;top:0.1875em;width:0.375em;height:0.75em;border-radius:0}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox::after{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:indeterminate~.nanocb__input--checkbox.sc-nano-checkbox{border-radius:var(--input-border-radius, 5px);background-color:var(--check-checked-bg-color);-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:0.125em solid var(--check-checked-bg-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:indeterminate~.nanocb__input--checkbox.sc-nano-checkbox::after{-webkit-transform:scale(1);transform:scale(1);opacity:1;left:0.3125em;top:0;width:0.7em;height:0.7em;border-radius:0}.nanocb__label.sc-nano-checkbox{padding-left:10px;padding-right:0;padding-top:0;padding-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-stretch:condensed;line-height:1;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanocb__label.sc-nano-checkbox{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:0;padding-inline-end:0}}.nanocb__label--segment.sc-nano-checkbox,.nanocb__label--segment-pill.sc-nano-checkbox{border:var(--check-border-style);border-radius:var(--segment-border-radius);-webkit-box-shadow:var(--segment-shadow);box-shadow:var(--segment-shadow);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding:var(--control-padding);background:var(--check-bg-color);color:var(--segment-color);-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.sc-nano-checkbox-h:first-of-type:not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius);border-right:none}.sc-nano-checkbox-h:first-of-type[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0;border-left:none}.sc-nano-checkbox-h:not(:last-of-type):not(:first-of-type):not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 0 0 0;border-right:none}.sc-nano-checkbox-h:not(:last-of-type):not(:first-of-type)[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-left:none}.sc-nano-checkbox-h:last-of-type:not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0}.sc-nano-checkbox-h:last-of-type[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius)}.sc-nano-checkbox-h:first-of-type:last-of-type .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius);border:var(--check-border-style)}.nanocb__label--tag.sc-nano-checkbox{letter-spacing:2px;font-weight:500;font-size:0.65em;line-height:1.4;padding:var(--control-padding);border:2px solid #b5aea7;border-color:var(--tagbox-border-color);background-color:var(--tagbox-bg-color);-webkit-transition:all 0.2s;transition:all 0.2s;border-radius:var(--cb-border-radius);width:100%}.nanocb__label--tag.sc-nano-checkbox::after{content:"+";margin-left:0.3125em;margin-right:0;margin-top:0;margin-bottom:0;font-weight:200;position:relative;font-family:inherit;font-size:1.8em;display:inline-block;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center;transform-origin:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanocb__label--tag.sc-nano-checkbox::after{margin-left:unset;margin-right:unset;-webkit-margin-start:0.3125em;margin-inline-start:0.3125em;-webkit-margin-end:0;margin-inline-end:0}}.nanocb__label--tag.sc-nano-checkbox span.sc-nano-checkbox{display:block}';var checkboxIds=0;var Checkbox=function(){function e(e){var n=this;registerInstance(this,e);this.nanoChange=createEvent(this,"nanoChange",7);this.nanoFocus=createEvent(this,"nanoFocus",7);this.nanoBlur=createEvent(this,"nanoBlur",7);this.inputId="nano-cb-"+checkboxIds++;this.shouldReport=false;this._invalid=false;this.inputType="checkbox";this.hasFocus=false;this.checked=false;this.disabled=false;this.value="on";this.required=false;this.type="checkbox";this.indeterminate=false;this.handleInvalid=function(e){n.shouldReport=true;n._invalid=!e.target.validity.valid};this.handleChange=function(e){n.checked=e.target.checked;n.indeterminate=false};this.handleFocus=function(){n.hasFocus=true;n.nanoFocus.emit()};this.handleBlur=function(){n.hasFocus=false;n.nanoBlur.emit()}}e.prototype.handleCheckedChange=function(){return __awaiter(this,void 0,void 0,(function(){var e,n;var o=this;return __generator(this,(function(t){this.input.checked=this.checked;if(this.inputType==="radio"&&this.name&&this.checked){e=this.host.closest("form");n=void 0;if(e){n=Array.from(e.querySelectorAll('nano-checkbox[name="'+this.name+'"]'))}else{n=Array.from(document.querySelectorAll('nano-checkbox[name="'+this.name+'"]')).filter((function(e){return!e.closest("form")}))}n.map((function(e){if(e!==o.host)e.checked=false}))}this.nanoChange.emit({value:this.value,checked:this.checked});return[2]}))}))};e.prototype.typeChange=function(){if(this.type==="checkbox"||this.type==="tag")this.inputType="checkbox";else this.inputType="radio"};e.prototype.handleIndeterminateChange=function(){this.checked=false;this.input.indeterminate=this.indeterminate};Object.defineProperty(e.prototype,"invalid",{get:function(){if(!this.shouldReport)return false;return!this.input.validity.valid},enumerable:false,configurable:true});e.prototype.getInputElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input)return[2,this.input];return[2]}))}))};e.prototype.reportValidity=function(e){if(e===void 0){e=false}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(e){this.shouldReport=true;this._invalid=!this.input.reportValidity()}return[2,{isValid:!this.invalid,errorMessage:this.input.validationMessage}]}))}))};e.prototype.setError=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(!this.input)return[2];this._invalid=!!e.length;this.input.setCustomValidity(e);return[2]}))}))};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input){this.input.focus();focusVisible.force(this.input)}return[2]}))}))};e.prototype.removeFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input){this.input.blur();focusVisible.force(this.input,false)}return[2]}))}))};e.prototype.isRadioChecked=function(){var e=this;setTimeout((function(){return e.checked=e.input.checked}),20)};e.prototype.componentWillLoad=function(){this.typeChange()};e.prototype.componentDidLoad=function(){this.input.indeterminate=this.indeterminate;this.isRadioChecked();focusVisible.observe(this.input)};e.prototype.disconnectedCallback=function(){focusVisible.unobserve(this.input)};e.prototype.render=function(){var e=this;var n=this.inputId+"-lbl";var o=this.host.ownerDocument.dir==="rtl";return h(Host,{class:Object.assign({},createColorClasses(this.color)),dir:o?"rtl":null},h("label",{class:{nanocb:true,"nanocb--checked":this.checked,"nanocb--invalid":this.invalid,"nanocb--disabled":this.disabled,"nanocb--focused":this.hasFocus,"nanocb--indeterminate":this.indeterminate},htmlFor:this.inputId},h("input",{type:this.inputType,name:this.name,required:this.required,checked:this.checked,disabled:this.disabled,value:this.value,"aria-labelledby":n,onBlur:this.handleBlur,onFocus:this.handleFocus,onChange:this.handleChange,ref:function(n){return e.input=n},id:this.inputId,onInvalid:this.handleInvalid}),h("span",{class:"nanocb__input nanocb__input--"+this.type}),h("div",{id:n,class:"nanocb__label nanocb__label--"+this.type},this.label&&!!this.label.length&&h("span",null,this.label),h("span",{hidden:this.label&&!!this.label.length},h("slot",null)))))};Object.defineProperty(e.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{checked:["handleCheckedChange"],type:["typeChange"],indeterminate:["handleIndeterminateChange"]}},enumerable:false,configurable:true});return e}();Checkbox.style=checkboxCss;export{Checkbox as nano_checkbox};
|
4
|
+
*/import{r as registerInstance,c as createEvent,h,e as Host,g as getElement}from"./index-c42becad.js";import{c as createColorClasses}from"./theme-1d4c8719.js";import{f as focusVisible}from"./focus-visible-8b2c14da.js";var checkboxCss='.sc-nano-checkbox-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox,*.sc-nano-checkbox::before,*.sc-nano-checkbox::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-checkbox{display:none !important}.sc-nano-checkbox-h{--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--invalid-shadow:0 0 0 0.1875rem #ef4135;--padding:initial;--check-bg-color:#fff;--check-border-style:1px solid #b5aea7;--check-checked-bg-color:#455556;--check-checked-border-color:#455556;--check-checked-higlight-color:#fff;--check-base-size:inherit;--tagbox-rgb:144, 198, 231;--tagbox-border-color:rgba(var(--tagbox-rgb), 0.5);--tagbox-bg-color:rgba(var(--tagbox-rgb), 0.2);--tagbox-border-radius:0;--segment-color:#007495;--segment-border-radius:3px;--segment-shadow:0 1px 4px rgba(0, 0, 0, 0.2);--cb-border-radius:2px;--radio-border-radius:50%;display:inline-block;max-width:100%}.sc-nano-checkbox-h *.sc-nano-checkbox{-webkit-box-sizing:inherit;box-sizing:inherit}[type=tag].sc-nano-checkbox-h{text-transform:uppercase;--control-padding:0.2rem 1rem}[type=segment].sc-nano-checkbox-h{--check-border-style:none;--control-padding:0.7em 1em 0.7em 1em}[type=segment-pill].sc-nano-checkbox-h{--check-border-style:1px solid rgba(181, 174, 167, 0.5);--segment-border-radius:5px;--control-padding:0.7em 1em 0.7em 1em}.nano-color.sc-nano-checkbox-h{--tagbox-rgb:var(--nano-color-base-rgb);--focus-shadow:0 0 0 0.1875rem var(--nano-color-shade)}[checked].sc-nano-checkbox-h:not([checked=false]){--tagbox-border-color:rgba(var(--tagbox-rgb), 0.8);--tagbox-bg-color:rgba(var(--tagbox-rgb), 0.5)}[has-focus].sc-nano-checkbox-h:not([has-focus=false]){--cb-border-radius:5px}[disabled].sc-nano-checkbox-h:not([disabled=false]){opacity:0.7;--tagbox-rgb:104, 117, 118;--check-bg-color:rgba(104, 117, 118, 0.5);--check-checked-bg-color:rgba(104, 117, 118, 0.5);--segment-color:#455556}.nanocb.sc-nano-checkbox{padding:var(--padding);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.2;position:relative}.nanocb__input.sc-nano-checkbox{border-radius:var(--cb-border-radius, 3px);font-size:var(--check-base-size);position:relative;height:1.5em;width:1.5em;min-width:1.5em;border:var(--check-border-style);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2)}.nanocb__input.sc-nano-checkbox::before{border-radius:var(--cb-border-radius);position:absolute;content:"";left:0.625em;top:0.625em;width:0;height:0;border:2px solid var(--check-checked-higlight-color);-webkit-transform:scale(0);transform:scale(0)}.nanocb__input--radio.sc-nano-checkbox{border-radius:var(--radio-border-radius);background-color:var(--check-bg-color)}.nanocb__input--checkbox.sc-nano-checkbox{background-color:var(--check-bg-color)}.nanocb__input--checkbox.sc-nano-checkbox::after{border-radius:var(--cb-border-radius);position:absolute;content:"";left:0.75em;top:0.75em;height:0;width:0;border:solid var(--check-checked-higlight-color);border-width:0 0.1875em 0.1875em 0;-webkit-transform:rotate(0deg) scale(0);transform:rotate(0deg) scale(0);opacity:1;-webkit-transition:all 0.15s ease-out;transition:all 0.15s ease-out}.nanocb--indeterminate.sc-nano-checkbox .nanocb__input--checkbox.sc-nano-checkbox::after{border-width:0 0 0.1875em 0}.nanocb__input--segment.sc-nano-checkbox,.nanocb__input--segment-pill.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb__input--segment.sc-nano-checkbox::before,.nanocb__input--segment-pill.sc-nano-checkbox::before{display:none}.nanocb__input--tag.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb__input--tag.sc-nano-checkbox::before{display:none}.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input.sc-nano-checkbox{-webkit-box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow);box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow)}.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{-webkit-box-shadow:var(--invalid-shadow);box-shadow:var(--invalid-shadow);z-index:1}.nanocb.sc-nano-checkbox input.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:focus~.nanocb__input.sc-nano-checkbox{-webkit-box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow);box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow)}.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow);z-index:1}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input.sc-nano-checkbox{border-radius:var(--cb-border-radius);background-color:var(--check-checked-bg-color);-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:0.125em solid var(--check-checked-border-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{color:var(--check-checked-higlight-color);background-color:var(--check-checked-bg-color);-webkit-box-shadow:inset 0 3px 4px rgba(0, 0, 0, 0.2);box-shadow:inset 0 3px 4px rgba(0, 0, 0, 0.2)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox{border-radius:var(--radio-border-radius);border-width:0.3125em;background-color:var(--check-checked-higlight-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox::after{border:solid var(--check-checked-border-color);border-width:0 0.125em 0.125em 0;opacity:0}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox::before{border-radius:var(--radio-border-radius)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--checkbox.sc-nano-checkbox::after{-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);opacity:1;left:0.475em;top:0.1875em;width:0.375em;height:0.75em;border-radius:0}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox::after{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:indeterminate~.nanocb__input--checkbox.sc-nano-checkbox{border-radius:var(--input-border-radius, 5px);background-color:var(--check-checked-bg-color);-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:0.125em solid var(--check-checked-bg-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:indeterminate~.nanocb__input--checkbox.sc-nano-checkbox::after{-webkit-transform:scale(1);transform:scale(1);opacity:1;left:0.3125em;top:0;width:0.7em;height:0.7em;border-radius:0}.nanocb__label.sc-nano-checkbox{padding-left:10px;padding-right:0;padding-top:0;padding-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-stretch:condensed;line-height:1;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanocb__label.sc-nano-checkbox{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:0;padding-inline-end:0}}.nanocb__label--segment.sc-nano-checkbox,.nanocb__label--segment-pill.sc-nano-checkbox{border:var(--check-border-style);border-radius:var(--segment-border-radius);-webkit-box-shadow:var(--segment-shadow);box-shadow:var(--segment-shadow);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding:var(--control-padding);background:var(--check-bg-color);color:var(--segment-color);-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.sc-nano-checkbox-h:first-of-type:not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius);border-right:none}.sc-nano-checkbox-h:first-of-type[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0;border-left:none}.sc-nano-checkbox-h:not(:last-of-type):not(:first-of-type):not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 0 0 0;border-right:none}.sc-nano-checkbox-h:not(:last-of-type):not(:first-of-type)[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-left:none}.sc-nano-checkbox-h:last-of-type:not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0}.sc-nano-checkbox-h:last-of-type[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius)}.sc-nano-checkbox-h:first-of-type:last-of-type .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius);border:var(--check-border-style)}.nanocb__label--tag.sc-nano-checkbox{letter-spacing:2px;font-weight:500;font-size:0.65em;line-height:1.4;padding:var(--control-padding);border:2px solid #b5aea7;border-color:var(--tagbox-border-color);background-color:var(--tagbox-bg-color);-webkit-transition:all 0.2s;transition:all 0.2s;border-radius:var(--cb-border-radius);width:100%}.nanocb__label--tag.sc-nano-checkbox::after{content:"+";margin-left:0.3125em;margin-right:0;margin-top:0;margin-bottom:0;font-weight:200;position:relative;font-family:inherit;font-size:1.8em;display:inline-block;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center;transform-origin:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanocb__label--tag.sc-nano-checkbox::after{margin-left:unset;margin-right:unset;-webkit-margin-start:0.3125em;margin-inline-start:0.3125em;-webkit-margin-end:0;margin-inline-end:0}}.nanocb__label--tag.sc-nano-checkbox span.sc-nano-checkbox{display:block}';var checkboxIds=0;var Checkbox=function(){function e(e){var n=this;registerInstance(this,e);this.nanoChange=createEvent(this,"nanoChange",7);this.nanoFocus=createEvent(this,"nanoFocus",7);this.nanoBlur=createEvent(this,"nanoBlur",7);this.inputId="nano-cb-"+checkboxIds++;this.inputType="checkbox";this.hasFocus=false;this.checked=false;this.disabled=false;this.value="on";this.required=false;this.type="checkbox";this.indeterminate=false;this._invalid=false;this.handleInvalid=function(e){n._invalid=!e.target.validity.valid};this.handleChange=function(e){n.checked=e.target.checked;n.indeterminate=false};this.handleFocus=function(){n.hasFocus=true;n.nanoFocus.emit()};this.handleBlur=function(){n.hasFocus=false;n.nanoBlur.emit()}}e.prototype.handleCheckedChange=function(){return __awaiter(this,void 0,void 0,(function(){var e,n;var o=this;return __generator(this,(function(t){this.input.checked=this.checked;if(this.inputType==="radio"&&this.name&&this.checked){e=this.host.closest("form");n=void 0;if(e){n=Array.from(e.querySelectorAll('nano-checkbox[name="'+this.name+'"]'))}else{n=Array.from(document.querySelectorAll('nano-checkbox[name="'+this.name+'"]')).filter((function(e){return!e.closest("form")}))}n.map((function(e){if(e!==o.host)e.checked=false}))}this.nanoChange.emit({value:this.value,checked:this.checked});return[2]}))}))};e.prototype.typeChange=function(){if(this.type==="checkbox"||this.type==="tag")this.inputType="checkbox";else this.inputType="radio"};e.prototype.handleIndeterminateChange=function(){this.checked=false;this.input.indeterminate=this.indeterminate};Object.defineProperty(e.prototype,"invalid",{get:function(){return this._invalid},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"validityMessage",{get:function(){if(!this.input)return"";return this.input.validationMessage},enumerable:false,configurable:true});e.prototype.getInputElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input)return[2,this.input];return[2]}))}))};e.prototype.reportValidity=function(e){if(e===void 0){e=false}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(e)this.input.reportValidity();this._invalid=!this.input.validity.valid;return[2,{isValid:!this.invalid,errorMessage:this.input.validationMessage}]}))}))};e.prototype.setError=function(e,n){if(n===void 0){n=true}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(o){if(!this.input)return[2];if(n)this._invalid=!!e.length;this.input.setCustomValidity(e);return[2]}))}))};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input){this.input.focus();focusVisible.force(this.input)}return[2]}))}))};e.prototype.removeFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input){this.input.blur();focusVisible.force(this.input,false)}return[2]}))}))};e.prototype.onReset=function(e){var n=this.form?document.querySelector("#"+this.form):this.host.closest("form");if(!n||e.target!==this.host.closest("form"))return;this.checked=false};e.prototype.isRadioChecked=function(){var e=this;requestAnimationFrame((function(){return e.checked=e.input.checked}))};e.prototype.componentWillLoad=function(){this.typeChange()};e.prototype.componentDidLoad=function(){this.input.indeterminate=this.indeterminate;this.isRadioChecked();focusVisible.observe(this.input)};e.prototype.disconnectedCallback=function(){focusVisible.unobserve(this.input)};e.prototype.render=function(){var e=this;var n=this.inputId+"-lbl";var o=this.host.ownerDocument.dir==="rtl";return h(Host,{class:Object.assign({},createColorClasses(this.color)),dir:o?"rtl":null},h("label",{class:{nanocb:true,"nanocb--checked":this.checked,"nanocb--invalid":this.invalid,"nanocb--disabled":this.disabled,"nanocb--focused":this.hasFocus,"nanocb--indeterminate":this.indeterminate},htmlFor:this.inputId},h("input",{type:this.inputType,name:this.name,form:this.form,required:this.required,checked:this.checked,disabled:this.disabled,value:this.value,"aria-labelledby":n,onBlur:this.handleBlur,onFocus:this.handleFocus,onChange:this.handleChange,ref:function(n){return e.input=n},id:this.inputId,onInvalid:this.handleInvalid}),h("span",{class:"nanocb__input nanocb__input--"+this.type}),h("div",{id:n,class:"nanocb__label nanocb__label--"+this.type},this.label&&!!this.label.length&&h("span",null,this.label),h("span",{hidden:this.label&&!!this.label.length},h("slot",null)))))};Object.defineProperty(e.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{checked:["handleCheckedChange"],type:["typeChange"],indeterminate:["handleIndeterminateChange"]}},enumerable:false,configurable:true});return e}();Checkbox.style=checkboxCss;export{Checkbox as nano_checkbox};
|
5
5
|
//# sourceMappingURL=nano-checkbox.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["src/components/checkbox/checkbox.scss?tag=nano-checkbox&encapsulation=scoped","src/components/checkbox/checkbox.tsx"],"names":["checkboxCss","checkboxIds","Checkbox","class_1","hostRef","_this","this","inputId","shouldReport","_invalid","inputType","hasFocus","checked","disabled","value","required","type","indeterminate","handleInvalid","ev","target","validity","valid","handleChange","handleFocus","nanoFocus","emit","handleBlur","nanoBlur","prototype","handleCheckedChange","input","name","form","host","closest","radios","Array","from","querySelectorAll","document","filter","radio","map","el","nanoChange","typeChange","handleIndeterminateChange","Object","defineProperty","getInputElement","reportValidity","validateFirst","isValid","invalid","errorMessage","validationMessage","setError","message","length","setCustomValidity","setFocus","focus","focusVisible","force","removeFocus","blur","isRadioChecked","setTimeout","componentWillLoad","componentDidLoad","observe","disconnectedCallback","unobserve","render","labelId","isRtl","ownerDocument","dir","h","Host","class","assign","createColorClasses","color","nanocb","nanocb--checked","nanocb--invalid","nanocb--disabled","nanocb--focused","nanocb--indeterminate","htmlFor","aria-labelledby","onBlur","onFocus","onChange","ref","id","onInvalid","label","hidden"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n\n:host {\n /**\n * @prop --control-invalid-style: Control box-shadow when invalid. Defaults to to #{$control-invalid-style};\n * @prop --focus-shadow: Control focus box-shadow. Defaults to to #{$control-focus-style};\n * @prop --padding: padding around radio and checkbox controls. Defaults to initial;\n * @prop --control-padding: padding around tag and segmented controls text. Various defaults.\n\n * @prop --check-bg-color: Initial Bg color of radio / checkbox controls. Changes for [checked] and [disabled] states. Defaults to #{map.get($colors, white)};\n * @prop --check-border-style: Initial border style. Defaults to 1px solid #{map.get($colors, palegrey)};\n * @prop --check-checked-bg-color: Checked bg of controls (not tag). Defaults to #{map.get($colors, darkgrey)};\n * @prop --check-checked-border-color: Checked border color of radio / checkbox controls. Defaults to #{map.get($colors, darkgrey)};\n * @prop --check-checked-higlight-color: Checked forgrdound / icon color. Defaults to #{map.get($colors, white)};\n * @prop --check-base-size: Relative scaling size for check controls. Defaults to to inherit;\n\n * @prop --cb-border-radius: Checkbox border radius. Defaults to to 2px and 5px on [has-focus];\n * @prop --radio-border-radius: Radio border radius. Defaults to to 50%;\n * @prop --tagbox-rgb: an rba list for tags which can be used to generate --tagbox-border-color and --tagbox-bg-color. Defaults to #{color-to-rgb-list(map.get($colors, lightblue))};\n * @prop --tagbox-border-color: Defaults to rgba(var(--tagbox-rgb), .5);\n * @prop --tagbox-bg-color: Defaults to rgba(var(--tagbox-rgb), .1);\n * @prop --segment-color: Segment, unselected text color. (selected color is --check-checked-higlight-color). Defaults to #{map.get($colors, blue)};\n * @prop --segment-border-radius: Defaults to 3px;\n * @prop --segment-shadow: 0 1px 4px rgba(0,0,0,.2);\n */\n\n --focus-shadow: #{$control-focus-style};\n --invalid-shadow: #{$control-invalid-style};\n --padding: initial;\n --check-bg-color: #{map.get($colors, white)};\n --check-border-style: 1px solid #{map.get($colors, palegrey)};\n --check-checked-bg-color: #{map.get($colors, darkgrey)};\n --check-checked-border-color: #{map.get($colors, darkgrey)};\n --check-checked-higlight-color: #{map.get($colors, white)};\n --check-base-size: inherit;\n\n // type specific\n\n --tagbox-rgb: #{color-to-rgb-list(map.get($colors, lightblue))};\n --tagbox-border-color: rgba(var(--tagbox-rgb), 0.5);\n --tagbox-bg-color: rgba(var(--tagbox-rgb), 0.2);\n --tagbox-border-radius: 0;\n --segment-color: #{map.get($colors, blue)};\n --segment-border-radius: 3px;\n --segment-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n --cb-border-radius: 2px;\n --radio-border-radius: 50%;\n\n display: inline-block;\n max-width: 100%;\n\n * {\n box-sizing: inherit;\n }\n}\n\n:host([type='tag']) {\n text-transform: uppercase;\n\n --control-padding: 0.2rem 1rem;\n}\n\n:host([type='segment']) {\n --check-border-style: none;\n --control-padding: 0.7em 1em 0.7em 1em;\n}\n\n:host([type='segment-pill']) {\n --check-border-style: 1px solid #{rgba(map.get($colors, palegrey), 0.5)};\n --segment-border-radius: 5px;\n --control-padding: 0.7em 1em 0.7em 1em;\n}\n\n:host(.nano-color) {\n --tagbox-rgb: var(--nano-color-base-rgb);\n --focus-shadow: #{$control-focus-size} var(--nano-color-shade);\n}\n\n:host([checked]:not([checked='false'])) {\n --tagbox-border-color: rgba(var(--tagbox-rgb), 0.8);\n --tagbox-bg-color: rgba(var(--tagbox-rgb), 0.5);\n}\n\n:host([has-focus]:not([has-focus='false'])) {\n --cb-border-radius: 5px;\n}\n\n:host([disabled]:not([disabled='false'])) {\n opacity: 0.7;\n\n --tagbox-rgb: #{color-to-rgb-list(map.get($colors, mediumgrey))};\n --check-bg-color: #{rgba(map.get($colors, mediumgrey), 0.5)};\n --check-checked-bg-color: #{rgba(map.get($colors, mediumgrey), 0.5)};\n --segment-color: #{map.get($colors, darkgrey)};\n}\n\n.nanocb {\n padding: var(--padding);\n cursor: pointer;\n display: flex;\n align-items: center;\n line-height: 1.2;\n position: relative;\n\n &__input {\n @include border-radius(var(--cb-border-radius, 3px));\n\n font-size: var(--check-base-size);\n position: relative;\n height: 1.5em;\n width: 1.5em;\n min-width: 1.5em;\n border: var(--check-border-style);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n\n &::before {\n @include border-radius(var(--cb-border-radius));\n\n position: absolute;\n content: '';\n left: 0.625em;\n top: 0.625em;\n width: 0;\n height: 0;\n border: 2px solid var(--check-checked-higlight-color);\n transform: scale(0);\n }\n\n &--radio {\n @include border-radius(var(--radio-border-radius));\n\n background-color: var(--check-bg-color);\n }\n\n &--checkbox {\n background-color: var(--check-bg-color);\n\n &::after {\n @include border-radius(var(--cb-border-radius));\n\n position: absolute;\n content: '';\n left: 0.75em;\n top: 0.75em;\n height: 0;\n width: 0;\n border: solid var(--check-checked-higlight-color);\n border-width: 0 0.1875em 0.1875em 0;\n transform: rotate(0deg) scale(0);\n opacity: 1;\n transition: all 0.15s ease-out;\n\n .nanocb--indeterminate & {\n border-width: 0 0 0.1875em 0;\n }\n }\n }\n\n &--segment,\n &--segment-pill {\n @include visually-hide();\n\n &::before {\n display: none;\n }\n }\n\n &--tag {\n @include visually-hide();\n\n &::before {\n display: none;\n }\n }\n }\n\n &--invalid:not(.nanocb--focused) {\n .nanocb__input {\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow);\n\n &--tag + .nanocb__label,\n &--segment + .nanocb__label,\n &--segment-pill + .nanocb__label {\n box-shadow: var(--invalid-shadow);\n z-index: 1;\n }\n }\n }\n\n input {\n @include visually-hide();\n\n &:focus ~ .nanocb__input {\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow);\n }\n\n &.focus-visible:focus ~ .nanocb__input {\n &--tag + .nanocb__label,\n &--segment + .nanocb__label,\n &--segment-pill + .nanocb__label {\n box-shadow: var(--focus-shadow);\n z-index: 1;\n }\n }\n\n &:checked ~ .nanocb__input {\n @include border-radius(var(--cb-border-radius));\n\n background-color: var(--check-checked-bg-color);\n transform: rotate(0deg) scale(1);\n opacity: 1;\n border: 0.125em solid var(--check-checked-border-color);\n\n &--segment + .nanocb__label,\n &--segment-pill + .nanocb__label {\n color: var(--check-checked-higlight-color);\n background-color: var(--check-checked-bg-color);\n box-shadow: inset 0 3px 4px rgba(0, 0, 0, 0.2);\n }\n\n &--radio {\n border-radius: var(--radio-border-radius);\n border-width: 0.3125em;\n background-color: var(--check-checked-higlight-color);\n\n &::after {\n border: solid var(--check-checked-border-color);\n border-width: 0 0.125em 0.125em 0;\n opacity: 0;\n }\n\n &::before {\n border-radius: var(--radio-border-radius);\n }\n }\n\n &--checkbox {\n &::after {\n transform: rotate(45deg) scale(1);\n opacity: 1;\n left: 0.475em;\n top: 0.1875em;\n width: 0.375em;\n height: 0.75em;\n border-radius: 0;\n }\n }\n\n &--tag + .nanocb__label::after {\n transform: rotate(45deg);\n }\n }\n\n &:indeterminate ~ .nanocb__input--checkbox {\n @include border-radius(var(--input-border-radius, 5px));\n\n background-color: var(--check-checked-bg-color);\n transform: rotate(0deg) scale(1);\n opacity: 1;\n border: 0.125em solid var(--check-checked-bg-color);\n\n &::after {\n transform: scale(1);\n opacity: 1;\n left: 0.3125em;\n top: 0;\n width: 0.7em;\n height: 0.7em;\n border-radius: 0;\n }\n }\n }\n\n &__label {\n @include padding(0, 0, 0, 10px);\n\n display: flex;\n align-items: center;\n font-stretch: condensed;\n line-height: 1;\n flex: 1;\n justify-content: space-between;\n\n &--segment,\n &--segment-pill {\n border: var(--check-border-style);\n border-radius: var(--segment-border-radius);\n box-shadow: var(--segment-shadow);\n display: inline-flex;\n padding: var(--control-padding);\n background: var(--check-bg-color);\n color: var(--segment-color);\n align-items: center;\n width: 100%;\n }\n\n &--segment-pill {\n // first\n @include ltr-host(':first-of-type') {\n border-radius:\n var(--segment-border-radius) 0 0\n var(--segment-border-radius);\n border-right: none;\n }\n\n @include rtl-host(':first-of-type') {\n border-radius:\n 0 var(--segment-border-radius)\n var(--segment-border-radius) 0;\n border-left: none;\n }\n // middle\n @include ltr-host(':not(:last-of-type):not(:first-of-type)') {\n border-radius: 0 0 0 0;\n border-right: none;\n }\n\n @include rtl-host(':not(:last-of-type):not(:first-of-type)') {\n border-left: none;\n }\n // last\n @include ltr-host(':last-of-type') {\n border-radius:\n 0 var(--segment-border-radius)\n var(--segment-border-radius) 0;\n }\n\n @include rtl-host(':last-of-type') {\n border-radius:\n var(--segment-border-radius) 0 0\n var(--segment-border-radius);\n }\n // single\n @include host(':first-of-type:last-of-type') {\n border-radius: var(--segment-border-radius);\n border: var(--check-border-style);\n }\n }\n\n &--tag {\n letter-spacing: 2px;\n font-weight: 500;\n font-size: 0.65em;\n line-height: 1.4;\n padding: var(--control-padding);\n border: 2px solid #b5aea7;\n border-color: var(--tagbox-border-color);\n background-color: var(--tagbox-bg-color);\n transition: all 0.2s;\n border-radius: var(--cb-border-radius);\n width: 100%;\n\n &::after {\n content: '+';\n\n @include margin(0, 0, 0, 0.3125em);\n\n font-weight: 200;\n position: relative;\n font-family: inherit;\n font-size: 1.8em;\n display: inline-block;\n transform: rotate(0deg);\n transform-origin: center;\n }\n\n span {\n display: block;\n }\n }\n }\n}\n","import {\n Component,\n Prop,\n Event,\n EventEmitter,\n h,\n ComponentInterface,\n State,\n Watch,\n Method,\n Element,\n Host,\n} from '@stencil/core';\nimport { CheckboxChangeEventDetail, ControlValidity } from '../../interface';\nimport { Color } from '../../interface';\nimport { createColorClasses } from '../../utils';\nimport { focusVisible } from '../../utils/focus-visible';\n\nlet checkboxIds = 0;\n\n/**\n * `nano-checkbox` is used to let a user choose one or more options from a limited number of options.\n * They appear as checked when activated.\n * They can be checked by mouse, keyboard, touch or programmatically by setting the checked property.\n *\n * @slot - if you do not set a label attribute, you can use this slot for more complex markup\n */\n@Component({\n tag: 'nano-checkbox',\n styleUrl: 'checkbox.scss',\n scoped: true,\n})\nexport class Checkbox implements ComponentInterface {\n private inputId = `nano-cb-${checkboxIds++}`;\n private input: HTMLInputElement;\n private shouldReport = false;\n\n @Element() private host: HTMLNanoCheckboxElement;\n\n @State() _invalid = false;\n @State() inputType: 'checkbox' | 'radio' = 'checkbox';\n\n /** @internal */\n @Prop({ mutable: true, reflect: true }) hasFocus = false;\n\n /**\n * checked property that can be used to get/set the value. accepts only boolean values\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n @Watch('checked')\n async handleCheckedChange() {\n this.input.checked = this.checked;\n\n if (this.inputType === 'radio' && this.name && this.checked) {\n let form = this.host.closest('form');\n let radios: Element[];\n if (form) {\n radios = Array.from(\n form.querySelectorAll(`nano-checkbox[name=\"${this.name}\"]`)\n );\n } else {\n radios = Array.from(\n document.querySelectorAll(`nano-checkbox[name=\"${this.name}\"]`)\n ).filter((radio) => !radio.closest('form'));\n }\n radios.map((el: HTMLNanoCheckboxElement) => {\n if (el !== this.host) el.checked = false;\n });\n }\n this.nanoChange.emit({ value: this.value, checked: this.checked });\n }\n\n /**\n * If `true`, the user cannot interact with the checkbox.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The value of a checkbox is analogous to the value of an `<input type='checkbox'>`,\n * it's only present when `checked` is true.\n */\n @Prop({ reflect: true }) value: string = 'on';\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop({ reflect: true }) name: string;\n\n /**\n * Set to true to make the field required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Controls the underlying field type and style.\n */\n @Prop({ reflect: true }) type:\n | 'radio'\n | 'checkbox'\n | 'tag'\n | 'segment'\n | 'segment-pill' = 'checkbox';\n\n @Watch('type')\n typeChange() {\n if (this.type === 'checkbox' || this.type === 'tag')\n this.inputType = 'checkbox';\n else this.inputType = 'radio';\n }\n\n /**\n * label property that can be used to set the label text. Alternatively you may use a label slot.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate (only relevant for type=\"checkbox\")\n */\n @Prop({ mutable: true, reflect: true }) indeterminate: boolean = false;\n\n @Watch('indeterminate')\n handleIndeterminateChange() {\n this.checked = false;\n this.input.indeterminate = this.indeterminate;\n }\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly\n */\n @Prop({ reflect: true })\n get invalid() {\n if (!this.shouldReport) return false;\n return !this.input.validity.valid;\n }\n\n /**\n * Color to use from your application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * Emited when the checkbox is toggled\n */\n @Event() nanoChange: EventEmitter<CheckboxChangeEventDetail>;\n\n /**\n * Emited when the checkbox is focused\n */\n @Event() nanoFocus: EventEmitter;\n\n /**\n * Emited when the checkbox is blurred\n */\n @Event() nanoBlur: EventEmitter;\n\n // public methods\n\n /**\n * Returns the native input control\n */\n @Method()\n async getInputElement() {\n if (this.input) return this.input;\n }\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `Promise<{ isValid: boolean, errorMessage: string }>`\n */\n @Method()\n async reportValidity(\n validateFirst: boolean = false\n ): Promise<ControlValidity> {\n if (validateFirst) {\n this.shouldReport = true;\n this._invalid = !this.input.reportValidity();\n }\n return {\n isValid: !this.invalid,\n errorMessage: this.input.validationMessage,\n };\n }\n\n /**\n * Sets a custom validation message.\n * If `message` is not empty, the field will be considered invalid. Use in conjunction with `nano-checkbox-group`\n */\n @Method()\n async setError(message: string) {\n if (!this.input) return;\n\n this._invalid = !!message.length;\n this.input.setCustomValidity(message);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus() {\n if (this.input) {\n this.input.focus();\n focusVisible.force(this.input);\n }\n }\n\n /**\n * Removes focus from the checkbox.\n */\n @Method()\n async removeFocus() {\n if (this.input) {\n this.input.blur();\n focusVisible.force(this.input, false);\n }\n }\n\n // private handlers\n\n private handleInvalid = (ev: Event) => {\n this.shouldReport = true;\n this._invalid = !(ev.target as HTMLInputElement).validity.valid;\n };\n\n private handleChange = (ev: InputEvent) => {\n this.checked = (ev.target as HTMLInputElement).checked;\n this.indeterminate = false;\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.nanoBlur.emit();\n };\n\n /* Although many radio components can be 'checked',\n the underlying control may not be. Check */\n private isRadioChecked() {\n setTimeout(() => (this.checked = this.input.checked), 20);\n }\n\n // Stencil hooks\n\n componentWillLoad() {\n this.typeChange();\n }\n\n componentDidLoad() {\n this.input.indeterminate = this.indeterminate;\n this.isRadioChecked();\n focusVisible.observe(this.input);\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.input);\n }\n\n render() {\n const labelId = this.inputId + '-lbl';\n let isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n\n return (\n <Host\n class={{ ...createColorClasses(this.color) }}\n dir={isRtl ? 'rtl' : null}\n >\n <label\n class={{\n nanocb: true,\n 'nanocb--checked': this.checked,\n 'nanocb--invalid': this.invalid,\n 'nanocb--disabled': this.disabled,\n 'nanocb--focused': this.hasFocus,\n 'nanocb--indeterminate': this.indeterminate,\n }}\n htmlFor={this.inputId}\n >\n <input\n type={this.inputType}\n name={this.name}\n required={this.required}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n aria-labelledby={labelId}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n ref={(input) => (this.input = input)}\n id={this.inputId}\n onInvalid={this.handleInvalid}\n />\n <span class={'nanocb__input nanocb__input--' + this.type}></span>\n\n <div id={labelId} class={'nanocb__label nanocb__label--' + this.type}>\n {this.label && !!this.label.length && <span>{this.label}</span>}\n <span hidden={this.label && !!this.label.length}>\n <slot />\n </span>\n </div>\n </label>\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["src/components/checkbox/checkbox.scss?tag=nano-checkbox&encapsulation=scoped","src/components/checkbox/checkbox.tsx"],"names":["checkboxCss","checkboxIds","Checkbox","class_1","hostRef","_this","this","inputId","inputType","hasFocus","checked","disabled","value","required","type","indeterminate","_invalid","handleInvalid","ev","target","validity","valid","handleChange","handleFocus","nanoFocus","emit","handleBlur","nanoBlur","prototype","handleCheckedChange","input","name","form","host","closest","radios","Array","from","querySelectorAll","document","filter","radio","map","el","nanoChange","typeChange","handleIndeterminateChange","Object","defineProperty","validationMessage","getInputElement","reportValidity","validateFirst","isValid","invalid","errorMessage","setError","message","updateStatus","length","setCustomValidity","setFocus","focus","focusVisible","force","removeFocus","blur","onReset","e","querySelector","isRadioChecked","requestAnimationFrame","componentWillLoad","componentDidLoad","observe","disconnectedCallback","unobserve","render","labelId","isRtl","ownerDocument","dir","h","Host","class","assign","createColorClasses","color","nanocb","nanocb--checked","nanocb--invalid","nanocb--disabled","nanocb--focused","nanocb--indeterminate","htmlFor","aria-labelledby","onBlur","onFocus","onChange","ref","id","onInvalid","label","hidden"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n\n:host {\n /**\n * @prop --control-invalid-style: Control box-shadow when invalid. Defaults to to #{$control-invalid-style};\n * @prop --focus-shadow: Control focus box-shadow. Defaults to to #{$control-focus-style};\n * @prop --padding: padding around radio and checkbox controls. Defaults to initial;\n * @prop --control-padding: padding around tag and segmented controls text. Various defaults.\n\n * @prop --check-bg-color: Initial Bg color of radio / checkbox controls. Changes for [checked] and [disabled] states. Defaults to #{map.get($colors, white)};\n * @prop --check-border-style: Initial border style. Defaults to 1px solid #{map.get($colors, palegrey)};\n * @prop --check-checked-bg-color: Checked bg of controls (not tag). Defaults to #{map.get($colors, darkgrey)};\n * @prop --check-checked-border-color: Checked border color of radio / checkbox controls. Defaults to #{map.get($colors, darkgrey)};\n * @prop --check-checked-higlight-color: Checked forgrdound / icon color. Defaults to #{map.get($colors, white)};\n * @prop --check-base-size: Relative scaling size for check controls. Defaults to to inherit;\n\n * @prop --cb-border-radius: Checkbox border radius. Defaults to to 2px and 5px on [has-focus];\n * @prop --radio-border-radius: Radio border radius. Defaults to to 50%;\n * @prop --tagbox-rgb: an rba list for tags which can be used to generate --tagbox-border-color and --tagbox-bg-color. Defaults to #{color-to-rgb-list(map.get($colors, lightblue))};\n * @prop --tagbox-border-color: Defaults to rgba(var(--tagbox-rgb), .5);\n * @prop --tagbox-bg-color: Defaults to rgba(var(--tagbox-rgb), .1);\n * @prop --segment-color: Segment, unselected text color. (selected color is --check-checked-higlight-color). Defaults to #{map.get($colors, blue)};\n * @prop --segment-border-radius: Defaults to 3px;\n * @prop --segment-shadow: 0 1px 4px rgba(0,0,0,.2);\n */\n\n --focus-shadow: #{$control-focus-style};\n --invalid-shadow: #{$control-focus-size + ' ' map.get($colors, red)};\n --padding: initial;\n --check-bg-color: #{map.get($colors, white)};\n --check-border-style: 1px solid #{map.get($colors, palegrey)};\n --check-checked-bg-color: #{map.get($colors, darkgrey)};\n --check-checked-border-color: #{map.get($colors, darkgrey)};\n --check-checked-higlight-color: #{map.get($colors, white)};\n --check-base-size: inherit;\n\n // type specific\n\n --tagbox-rgb: #{color-to-rgb-list(map.get($colors, lightblue))};\n --tagbox-border-color: rgba(var(--tagbox-rgb), 0.5);\n --tagbox-bg-color: rgba(var(--tagbox-rgb), 0.2);\n --tagbox-border-radius: 0;\n --segment-color: #{map.get($colors, blue)};\n --segment-border-radius: 3px;\n --segment-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n --cb-border-radius: 2px;\n --radio-border-radius: 50%;\n\n display: inline-block;\n max-width: 100%;\n\n * {\n box-sizing: inherit;\n }\n}\n\n:host([type='tag']) {\n text-transform: uppercase;\n\n --control-padding: 0.2rem 1rem;\n}\n\n:host([type='segment']) {\n --check-border-style: none;\n --control-padding: 0.7em 1em 0.7em 1em;\n}\n\n:host([type='segment-pill']) {\n --check-border-style: 1px solid #{rgba(map.get($colors, palegrey), 0.5)};\n --segment-border-radius: 5px;\n --control-padding: 0.7em 1em 0.7em 1em;\n}\n\n:host(.nano-color) {\n --tagbox-rgb: var(--nano-color-base-rgb);\n --focus-shadow: #{$control-focus-size} var(--nano-color-shade);\n}\n\n:host([checked]:not([checked='false'])) {\n --tagbox-border-color: rgba(var(--tagbox-rgb), 0.8);\n --tagbox-bg-color: rgba(var(--tagbox-rgb), 0.5);\n}\n\n:host([has-focus]:not([has-focus='false'])) {\n --cb-border-radius: 5px;\n}\n\n:host([disabled]:not([disabled='false'])) {\n opacity: 0.7;\n\n --tagbox-rgb: #{color-to-rgb-list(map.get($colors, mediumgrey))};\n --check-bg-color: #{rgba(map.get($colors, mediumgrey), 0.5)};\n --check-checked-bg-color: #{rgba(map.get($colors, mediumgrey), 0.5)};\n --segment-color: #{map.get($colors, darkgrey)};\n}\n\n.nanocb {\n padding: var(--padding);\n cursor: pointer;\n display: flex;\n align-items: center;\n line-height: 1.2;\n position: relative;\n\n &__input {\n @include border-radius(var(--cb-border-radius, 3px));\n\n font-size: var(--check-base-size);\n position: relative;\n height: 1.5em;\n width: 1.5em;\n min-width: 1.5em;\n border: var(--check-border-style);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n\n &::before {\n @include border-radius(var(--cb-border-radius));\n\n position: absolute;\n content: '';\n left: 0.625em;\n top: 0.625em;\n width: 0;\n height: 0;\n border: 2px solid var(--check-checked-higlight-color);\n transform: scale(0);\n }\n\n &--radio {\n @include border-radius(var(--radio-border-radius));\n\n background-color: var(--check-bg-color);\n }\n\n &--checkbox {\n background-color: var(--check-bg-color);\n\n &::after {\n @include border-radius(var(--cb-border-radius));\n\n position: absolute;\n content: '';\n left: 0.75em;\n top: 0.75em;\n height: 0;\n width: 0;\n border: solid var(--check-checked-higlight-color);\n border-width: 0 0.1875em 0.1875em 0;\n transform: rotate(0deg) scale(0);\n opacity: 1;\n transition: all 0.15s ease-out;\n\n .nanocb--indeterminate & {\n border-width: 0 0 0.1875em 0;\n }\n }\n }\n\n &--segment,\n &--segment-pill {\n @include visually-hide();\n\n &::before {\n display: none;\n }\n }\n\n &--tag {\n @include visually-hide();\n\n &::before {\n display: none;\n }\n }\n }\n\n &--invalid:not(.nanocb--focused) {\n .nanocb__input {\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow);\n\n &--tag + .nanocb__label,\n &--segment + .nanocb__label,\n &--segment-pill + .nanocb__label {\n box-shadow: var(--invalid-shadow);\n z-index: 1;\n }\n }\n }\n\n input {\n @include visually-hide();\n\n &:focus ~ .nanocb__input {\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow);\n }\n\n &.focus-visible:focus ~ .nanocb__input {\n &--tag + .nanocb__label,\n &--segment + .nanocb__label,\n &--segment-pill + .nanocb__label {\n box-shadow: var(--focus-shadow);\n z-index: 1;\n }\n }\n\n &:checked ~ .nanocb__input {\n @include border-radius(var(--cb-border-radius));\n\n background-color: var(--check-checked-bg-color);\n transform: rotate(0deg) scale(1);\n opacity: 1;\n border: 0.125em solid var(--check-checked-border-color);\n\n &--segment + .nanocb__label,\n &--segment-pill + .nanocb__label {\n color: var(--check-checked-higlight-color);\n background-color: var(--check-checked-bg-color);\n box-shadow: inset 0 3px 4px rgba(0, 0, 0, 0.2);\n }\n\n &--radio {\n border-radius: var(--radio-border-radius);\n border-width: 0.3125em;\n background-color: var(--check-checked-higlight-color);\n\n &::after {\n border: solid var(--check-checked-border-color);\n border-width: 0 0.125em 0.125em 0;\n opacity: 0;\n }\n\n &::before {\n border-radius: var(--radio-border-radius);\n }\n }\n\n &--checkbox {\n &::after {\n transform: rotate(45deg) scale(1);\n opacity: 1;\n left: 0.475em;\n top: 0.1875em;\n width: 0.375em;\n height: 0.75em;\n border-radius: 0;\n }\n }\n\n &--tag + .nanocb__label::after {\n transform: rotate(45deg);\n }\n }\n\n &:indeterminate ~ .nanocb__input--checkbox {\n @include border-radius(var(--input-border-radius, 5px));\n\n background-color: var(--check-checked-bg-color);\n transform: rotate(0deg) scale(1);\n opacity: 1;\n border: 0.125em solid var(--check-checked-bg-color);\n\n &::after {\n transform: scale(1);\n opacity: 1;\n left: 0.3125em;\n top: 0;\n width: 0.7em;\n height: 0.7em;\n border-radius: 0;\n }\n }\n }\n\n &__label {\n @include padding(0, 0, 0, 10px);\n\n display: flex;\n align-items: center;\n font-stretch: condensed;\n line-height: 1;\n flex: 1;\n justify-content: space-between;\n\n &--segment,\n &--segment-pill {\n border: var(--check-border-style);\n border-radius: var(--segment-border-radius);\n box-shadow: var(--segment-shadow);\n display: inline-flex;\n padding: var(--control-padding);\n background: var(--check-bg-color);\n color: var(--segment-color);\n align-items: center;\n width: 100%;\n }\n\n &--segment-pill {\n // first\n @include ltr-host(':first-of-type') {\n border-radius:\n var(--segment-border-radius) 0 0\n var(--segment-border-radius);\n border-right: none;\n }\n\n @include rtl-host(':first-of-type') {\n border-radius:\n 0 var(--segment-border-radius)\n var(--segment-border-radius) 0;\n border-left: none;\n }\n // middle\n @include ltr-host(':not(:last-of-type):not(:first-of-type)') {\n border-radius: 0 0 0 0;\n border-right: none;\n }\n\n @include rtl-host(':not(:last-of-type):not(:first-of-type)') {\n border-left: none;\n }\n // last\n @include ltr-host(':last-of-type') {\n border-radius:\n 0 var(--segment-border-radius)\n var(--segment-border-radius) 0;\n }\n\n @include rtl-host(':last-of-type') {\n border-radius:\n var(--segment-border-radius) 0 0\n var(--segment-border-radius);\n }\n // single\n @include host(':first-of-type:last-of-type') {\n border-radius: var(--segment-border-radius);\n border: var(--check-border-style);\n }\n }\n\n &--tag {\n letter-spacing: 2px;\n font-weight: 500;\n font-size: 0.65em;\n line-height: 1.4;\n padding: var(--control-padding);\n border: 2px solid #b5aea7;\n border-color: var(--tagbox-border-color);\n background-color: var(--tagbox-bg-color);\n transition: all 0.2s;\n border-radius: var(--cb-border-radius);\n width: 100%;\n\n &::after {\n content: '+';\n\n @include margin(0, 0, 0, 0.3125em);\n\n font-weight: 200;\n position: relative;\n font-family: inherit;\n font-size: 1.8em;\n display: inline-block;\n transform: rotate(0deg);\n transform-origin: center;\n }\n\n span {\n display: block;\n }\n }\n }\n}\n","import {\n Component,\n Prop,\n Event,\n EventEmitter,\n h,\n ComponentInterface,\n State,\n Watch,\n Method,\n Element,\n Host,\n Listen,\n} from '@stencil/core';\nimport { CheckboxChangeEventDetail, ControlValidity } from '../../interface';\nimport { Color } from '../../interface';\nimport { createColorClasses } from '../../utils';\nimport { focusVisible } from '../../utils/focus-visible';\n\nlet checkboxIds = 0;\n\n/**\n * `nano-checkbox` is used to let a user choose one or more options from a limited number of options.\n * They appear as checked when activated.\n * They can be checked by mouse, keyboard, touch or programmatically by setting the checked property.\n *\n * @slot - if you do not set a label attribute, you can use this slot for more complex markup\n */\n@Component({\n tag: 'nano-checkbox',\n styleUrl: 'checkbox.scss',\n scoped: true,\n})\nexport class Checkbox implements ComponentInterface {\n private inputId = `nano-cb-${checkboxIds++}`;\n private input: HTMLInputElement;\n\n @Element() private host: HTMLNanoCheckboxElement;\n @State() inputType: 'checkbox' | 'radio' = 'checkbox';\n\n /** @internal */\n @Prop({ mutable: true, reflect: true }) hasFocus = false;\n\n /**\n * checked property that can be used to get/set the value. accepts only boolean values\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n @Watch('checked')\n async handleCheckedChange() {\n this.input.checked = this.checked;\n\n if (this.inputType === 'radio' && this.name && this.checked) {\n let form = this.host.closest('form');\n let radios: Element[];\n if (form) {\n radios = Array.from(\n form.querySelectorAll(`nano-checkbox[name=\"${this.name}\"]`)\n );\n } else {\n radios = Array.from(\n document.querySelectorAll(`nano-checkbox[name=\"${this.name}\"]`)\n ).filter((radio) => !radio.closest('form'));\n }\n radios.map((el: HTMLNanoCheckboxElement) => {\n if (el !== this.host) el.checked = false;\n });\n }\n this.nanoChange.emit({ value: this.value, checked: this.checked });\n }\n\n /**\n * If `true`, the user cannot interact with the checkbox.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The value of a checkbox is analogous to the value of an `<input type='checkbox'>`,\n * it's only present when `checked` is true.\n */\n @Prop({ reflect: true }) value: string = 'on';\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop({ reflect: true }) name: string;\n\n /**\n * Set to true to make the field required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Controls the underlying field type and style.\n */\n @Prop({ reflect: true }) type:\n | 'radio'\n | 'checkbox'\n | 'tag'\n | 'segment'\n | 'segment-pill' = 'checkbox';\n\n @Watch('type')\n typeChange() {\n if (this.type === 'checkbox' || this.type === 'tag')\n this.inputType = 'checkbox';\n else this.inputType = 'radio';\n }\n\n /**\n * label property that can be used to set the label text. Alternatively you may use a label slot.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate (only relevant for type=\"checkbox\")\n */\n @Prop({ mutable: true, reflect: true }) indeterminate: boolean = false;\n\n @Watch('indeterminate')\n handleIndeterminateChange() {\n this.checked = false;\n this.input.indeterminate = this.indeterminate;\n }\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Current validation message - if any. @readonly\n */\n @Prop()\n get validityMessage() {\n if (!this.input) return '';\n return this.input.validationMessage;\n }\n\n /**\n * Color to use from your application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * The form element to associate the input with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * Emited when the checkbox is toggled\n */\n @Event() nanoChange: EventEmitter<CheckboxChangeEventDetail>;\n\n /**\n * Emited when the checkbox is focused\n */\n @Event() nanoFocus: EventEmitter;\n\n /**\n * Emited when the checkbox is blurred\n */\n @Event() nanoBlur: EventEmitter;\n\n // public methods\n\n /**\n * Returns the native input control\n */\n @Method()\n async getInputElement() {\n if (this.input) return this.input;\n }\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `Promise<{ isValid: boolean, errorMessage: string }>`\n */\n @Method()\n async reportValidity(\n validateFirst: boolean = false\n ): Promise<ControlValidity> {\n if (validateFirst) this.input.reportValidity();\n this._invalid = !this.input.validity.valid;\n\n return {\n isValid: !this.invalid,\n errorMessage: this.input.validationMessage,\n };\n }\n\n /**\n * Sets a custom validation message.\n * If `message` is not empty, the field will be considered invalid. Use in conjunction with `nano-checkbox-group`\n */\n @Method()\n async setError(message: string, updateStatus = true) {\n if (!this.input) return;\n if (updateStatus) this._invalid = !!message.length;\n this.input.setCustomValidity(message);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus() {\n if (this.input) {\n this.input.focus();\n focusVisible.force(this.input);\n }\n }\n\n /**\n * Removes focus from the checkbox.\n */\n @Method()\n async removeFocus() {\n if (this.input) {\n this.input.blur();\n focusVisible.force(this.input, false);\n }\n }\n\n @Listen('reset', { target: 'body' })\n onReset(e) {\n const form = this.form\n ? document.querySelector('#' + this.form)\n : this.host.closest('form');\n if (!form || e.target !== this.host.closest('form')) return;\n\n this.checked = false;\n }\n\n // private handlers\n\n private handleInvalid = (ev: Event) => {\n this._invalid = !(ev.target as HTMLInputElement).validity.valid;\n };\n\n private handleChange = (ev: InputEvent) => {\n this.checked = (ev.target as HTMLInputElement).checked;\n this.indeterminate = false;\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.nanoBlur.emit();\n };\n\n /* Although many radio components can be 'checked',\n the underlying control may not be. Check */\n private isRadioChecked() {\n requestAnimationFrame(() => (this.checked = this.input.checked));\n }\n\n // Stencil hooks\n\n componentWillLoad() {\n this.typeChange();\n }\n\n componentDidLoad() {\n this.input.indeterminate = this.indeterminate;\n this.isRadioChecked();\n focusVisible.observe(this.input);\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.input);\n }\n\n render() {\n const labelId = this.inputId + '-lbl';\n let isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n\n return (\n <Host\n class={{ ...createColorClasses(this.color) }}\n dir={isRtl ? 'rtl' : null}\n >\n <label\n class={{\n nanocb: true,\n 'nanocb--checked': this.checked,\n 'nanocb--invalid': this.invalid,\n 'nanocb--disabled': this.disabled,\n 'nanocb--focused': this.hasFocus,\n 'nanocb--indeterminate': this.indeterminate,\n }}\n htmlFor={this.inputId}\n >\n <input\n type={this.inputType}\n name={this.name}\n form={this.form}\n required={this.required}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n aria-labelledby={labelId}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n ref={(input) => (this.input = input)}\n id={this.inputId}\n onInvalid={this.handleInvalid}\n />\n <span class={'nanocb__input nanocb__input--' + this.type}></span>\n\n <div id={labelId} class={'nanocb__label nanocb__label--' + this.type}>\n {this.label && !!this.label.length && <span>{this.label}</span>}\n <span hidden={this.label && !!this.label.length}>\n <slot />\n </span>\n </div>\n </label>\n </Host>\n );\n }\n}\n"]}
|