@nanoporetech-digital/components 2.9.0 → 2.11.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 +54 -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/{date-utils-0ae9a12d.js → date-utils-b3af910d.js} +2 -2
- package/dist/cjs/date-utils-b3af910d.js.map +1 -0
- package/dist/cjs/{global-0d4f3b77.js → global-989678ec.js} +1 -8
- package/dist/cjs/global-989678ec.js.map +1 -0
- package/dist/cjs/index-cb62df44.js +5 -0
- package/dist/cjs/loader.cjs.js +2 -2
- 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 +2 -2
- package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +30 -9
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +1 -2
- package/dist/cjs/nano-details.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-field-validator.cjs.entry.js +531 -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 +2 -2
- package/dist/cjs/nano-global-search-results.cjs.entry.js +1 -2
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-grid_3.cjs.entry.js +1 -2
- package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon-button.cjs.entry.js +4 -0
- package/dist/cjs/nano-icon-button.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 +25 -13
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-nav-item_2.cjs.entry.js +52 -16
- package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -2
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +1 -2
- package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +4 -5
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +5 -3
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +5 -1
- package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/nano-tooltip.cjs.entry.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 +5 -5
- 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 +5 -2
- package/dist/collection/components/datalist/datalist.js.map +1 -1
- package/dist/collection/components/date-input/date-input.js +99 -16
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +1 -1
- package/dist/collection/components/date-picker/date-picker.js +5 -5
- package/dist/collection/components/details/details.js +1 -2
- package/dist/collection/components/details/details.js.map +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 +579 -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/global-nav/global-nav.js +4 -4
- package/dist/collection/components/global-search-results/global-search-results.js +0 -1
- package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/grid/grid.js +0 -1
- package/dist/collection/components/grid/grid.js.map +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/icon-button/icon-button.js +23 -1
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/input/input.css +3 -2
- package/dist/collection/components/input/input.js +51 -22
- package/dist/collection/components/input/input.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 +1 -2
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/select/select.css +4 -3
- package/dist/collection/components/select/select.js +86 -26
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/slides/slides.js +7 -8
- package/dist/collection/components/slides/slides.js.map +1 -1
- package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
- package/dist/collection/components/{sticky → sticker}/sticker.js +2 -3
- package/dist/collection/components/sticker/sticker.js.map +1 -0
- package/dist/collection/components/tabs/tab-group.js +5 -3
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.js +5 -1
- package/dist/collection/components/tabs/tab.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.css +0 -1
- package/dist/collection/global/script/global.js +0 -7
- package/dist/collection/global/script/global.js.map +1 -1
- package/dist/collection/utils/date-utils.js +1 -1
- package/dist/collection/utils/date-utils.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 +4 -1
- package/dist/components/datalist.js.map +1 -1
- package/dist/components/date-picker.js +2 -2
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/grid.js +1 -2
- package/dist/components/grid.js.map +1 -1
- package/dist/components/icon-button.js +6 -1
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon.js.map +1 -1
- package/dist/components/index.js +0 -7
- package/dist/components/index.js.map +1 -1
- package/dist/components/input.js +27 -14
- package/dist/components/input.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 +32 -8
- package/dist/components/nano-date-input.js.map +1 -1
- package/dist/components/nano-details.js +1 -2
- package/dist/components/nano-details.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 +559 -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-search-results.js +1 -2
- package/dist/components/nano-global-search-results.js.map +1 -1
- package/dist/components/nano-slides.js +1 -2
- package/dist/components/nano-slides.js.map +1 -1
- package/dist/components/nano-tab-group.js +4 -2
- package/dist/components/nano-tab-group.js.map +1 -1
- package/dist/components/nano-tab.js +5 -1
- package/dist/components/nano-tab.js.map +1 -1
- package/dist/components/resize-observe.js +1 -2
- package/dist/components/resize-observe.js.map +1 -1
- package/dist/components/select.js +56 -18
- package/dist/components/select.js.map +1 -1
- package/dist/components/sticker.js +4 -5
- package/dist/components/sticker.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/tooltip.js.map +1 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +20842 -20843
- 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/{date-utils-e4b757ff.js → date-utils-839cb010.js} +2 -2
- package/dist/esm/date-utils-839cb010.js.map +1 -0
- package/dist/esm/{form-control-cf23c6a2.js → form-control-ad05507c.js} +2 -2
- package/dist/esm/{form-control-cf23c6a2.js.map → form-control-ad05507c.js.map} +1 -1
- package/dist/esm/{global-d5ec4d53.js → global-8047b4ff.js} +1 -8
- package/dist/esm/global-8047b4ff.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 +3 -3
- 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 +3 -3
- package/dist/esm/nano-datalist_3.entry.js +5 -2
- package/dist/esm/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +31 -10
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker.entry.js +3 -3
- package/dist/esm/nano-date-picker.entry.js.map +1 -1
- package/dist/esm/nano-details.entry.js +2 -3
- package/dist/esm/nano-details.entry.js.map +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 +1 -1
- package/dist/esm/nano-field-validator.entry.js +527 -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 +3 -3
- package/dist/esm/nano-global-search-results.entry.js +2 -3
- package/dist/esm/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm/nano-grid_3.entry.js +2 -3
- package/dist/esm/nano-grid_3.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +1 -1
- package/dist/esm/nano-icon-button.entry.js +5 -1
- package/dist/esm/nano-icon-button.entry.js.map +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 +28 -16
- 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 -19
- 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 +2 -3
- 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 +2 -3
- package/dist/esm/nano-slides.entry.js.map +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 +5 -6
- 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 +6 -4
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +6 -2
- package/dist/esm/nano-tab.entry.js.map +1 -1
- package/dist/esm/nano-tooltip.entry.js +2 -2
- package/dist/esm/nano-tooltip.entry.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/date-utils-839cb010.js +5 -0
- package/dist/esm-es5/date-utils-839cb010.js.map +1 -0
- package/dist/esm-es5/{form-control-cf23c6a2.js → form-control-ad05507c.js} +2 -2
- package/dist/esm-es5/{form-control-cf23c6a2.js.map → form-control-ad05507c.js.map} +0 -0
- package/dist/esm-es5/{global-d5ec4d53.js → global-8047b4ff.js} +2 -2
- package/dist/esm-es5/global-8047b4ff.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-date-picker.entry.js.map +1 -1
- package/dist/esm-es5/nano-details.entry.js +1 -1
- package/dist/esm-es5/nano-details.entry.js.map +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-search-results.entry.js +1 -1
- package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
- package/dist/esm-es5/nano-hero.entry.js +1 -1
- package/dist/esm-es5/nano-icon-button.entry.js +2 -2
- package/dist/esm-es5/nano-icon-button.entry.js.map +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 +1 -1
- 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 +2 -2
- package/dist/esm-es5/nano-slides.entry.js.map +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 +2 -2
- package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab.entry.js +1 -1
- package/dist/esm-es5/nano-tab.entry.js.map +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
- 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-01667573.entry.js +5 -0
- package/dist/nano-components/p-01667573.entry.js.map +1 -0
- package/dist/nano-components/p-0193a282.entry.js +5 -0
- package/dist/nano-components/p-0193a282.entry.js.map +1 -0
- package/dist/nano-components/p-0320410c.entry.js +5 -0
- package/dist/nano-components/p-0320410c.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-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-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-21d6d31e.system.entry.js +5 -0
- package/dist/nano-components/p-21d6d31e.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-2720ee8f.entry.js +5 -0
- package/dist/nano-components/p-2720ee8f.entry.js.map +1 -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-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-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-32900c91.entry.js +5 -0
- package/dist/nano-components/p-32900c91.entry.js.map +1 -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-33fce1a6.js +5 -0
- package/dist/nano-components/p-33fce1a6.js.map +1 -0
- package/dist/nano-components/p-371aebe7.system.entry.js +23 -0
- package/dist/nano-components/p-371aebe7.system.entry.js.map +1 -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-41899a31.system.entry.js +5 -0
- package/dist/nano-components/p-41899a31.system.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-53957ec6.system.js +5 -0
- package/dist/nano-components/p-53957ec6.system.js.map +1 -0
- package/dist/nano-components/p-561500f0.system.entry.js +5 -0
- package/dist/nano-components/p-561500f0.system.entry.js.map +1 -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-2057d480.system.entry.js → p-5b66bb8f.system.entry.js} +2 -2
- package/dist/nano-components/{p-2057d480.system.entry.js.map → p-5b66bb8f.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-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-70272eae.js +5 -0
- package/dist/nano-components/p-70272eae.js.map +1 -0
- package/dist/nano-components/{p-a6c84740.js → p-71e9fa33.js} +2 -2
- package/dist/nano-components/{p-a6c84740.js.map → p-71e9fa33.js.map} +0 -0
- package/dist/nano-components/{p-313970ff.entry.js → p-73985eda.entry.js} +2 -2
- package/dist/nano-components/{p-313970ff.entry.js.map → p-73985eda.entry.js.map} +0 -0
- package/dist/nano-components/p-755d9227.entry.js +5 -0
- package/dist/nano-components/p-755d9227.entry.js.map +1 -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-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-7bd25494.entry.js +5 -0
- package/dist/nano-components/p-7bd25494.entry.js.map +1 -0
- package/dist/nano-components/p-7c837460.entry.js +5 -0
- package/dist/nano-components/p-7c837460.entry.js.map +1 -0
- package/dist/nano-components/{p-2ae4918d.system.entry.js → p-7e55b214.system.entry.js} +2 -2
- package/dist/nano-components/{p-2ae4918d.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-93880c28.system.js → p-82e28afd.system.js} +2 -2
- package/dist/nano-components/p-82e28afd.system.js.map +1 -0
- package/dist/nano-components/p-8378428e.system.js +5 -0
- package/dist/nano-components/p-8378428e.system.js.map +1 -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-86bd5194.entry.js +5 -0
- package/dist/nano-components/p-86bd5194.entry.js.map +1 -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-8df4f125.system.entry.js +5 -0
- package/dist/nano-components/p-8df4f125.system.entry.js.map +1 -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-1238f0fc.system.entry.js → p-93596c3d.system.entry.js} +2 -2
- package/dist/nano-components/p-93596c3d.system.entry.js.map +1 -0
- package/dist/nano-components/p-96d9b8b9.system.entry.js +5 -0
- package/dist/nano-components/p-96d9b8b9.system.entry.js.map +1 -0
- package/dist/nano-components/{p-08b43111.entry.js → p-9d9b0b66.entry.js} +2 -2
- package/dist/nano-components/p-9d9b0b66.entry.js.map +1 -0
- package/dist/nano-components/p-9ffdf6cc.entry.js +5 -0
- package/dist/nano-components/{p-346588cc.entry.js.map → p-9ffdf6cc.entry.js.map} +1 -1
- 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-a1444980.entry.js +5 -0
- package/dist/nano-components/p-a1444980.entry.js.map +1 -0
- 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-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-aa84c727.system.entry.js +5 -0
- package/dist/nano-components/p-aa84c727.system.entry.js.map +1 -0
- 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-ac5e3775.system.entry.js +5 -0
- package/dist/nano-components/p-ac5e3775.system.entry.js.map +1 -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-b85cf493.system.entry.js +5 -0
- package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-b85cf493.system.entry.js.map} +1 -1
- 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-b4f8e541.entry.js → p-bce998f2.entry.js} +2 -2
- package/dist/nano-components/{p-b4f8e541.entry.js.map → p-bce998f2.entry.js.map} +0 -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-c3830c43.entry.js +5 -0
- package/dist/nano-components/p-c3830c43.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-6eb25600.system.js → p-d01bd3c3.system.js} +2 -2
- package/dist/nano-components/{p-6eb25600.system.js.map → p-d01bd3c3.system.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-56ba0d63.entry.js → p-d37e1489.entry.js} +2 -2
- package/dist/nano-components/p-d37e1489.entry.js.map +1 -0
- package/dist/nano-components/p-d61ae833.system.entry.js +5 -0
- package/dist/nano-components/p-d61ae833.system.entry.js.map +1 -0
- package/dist/nano-components/p-d93274de.entry.js +5 -0
- package/dist/nano-components/p-d93274de.entry.js.map +1 -0
- package/dist/nano-components/p-da88981f.entry.js +23 -0
- package/dist/nano-components/p-da88981f.entry.js.map +1 -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-e8a913ac.system.entry.js +5 -0
- package/dist/nano-components/p-e8a913ac.system.entry.js.map +1 -0
- package/dist/nano-components/p-e9a279ee.system.entry.js +5 -0
- package/dist/nano-components/p-e9a279ee.system.entry.js.map +1 -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-f780d2f6.system.entry.js +5 -0
- package/dist/nano-components/p-f780d2f6.system.entry.js.map +1 -0
- package/dist/nano-components/p-faba2fc1.system.entry.js +5 -0
- package/dist/nano-components/p-faba2fc1.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-ff026352.system.entry.js +5 -0
- package/dist/nano-components/p-ff026352.system.entry.js.map +1 -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 +10 -1
- 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/icon/icon.d.ts +1 -1
- package/dist/types/components/icon-button/icon-button.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +6 -1
- package/dist/types/components/select/select.d.ts +10 -2
- package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
- package/dist/types/components/tabs/tab.d.ts +1 -0
- package/dist/types/components.d.ts +207 -4
- package/dist/types/utils/store/get-set.d.ts +1 -1
- package/docs-json.json +489 -15
- package/docs-vscode.json +77 -1
- package/package.json +3 -4
- package/dist/cjs/ResizeObserver.es-09b81a1b.js +0 -935
- package/dist/cjs/ResizeObserver.es-09b81a1b.js.map +0 -1
- package/dist/cjs/component-store-722032a5.js.map +0 -1
- package/dist/cjs/date-utils-0ae9a12d.js.map +0 -1
- package/dist/cjs/global-0d4f3b77.js.map +0 -1
- package/dist/cjs/intersection-observer-1822c787.js +0 -987
- package/dist/cjs/intersection-observer-1822c787.js.map +0 -1
- package/dist/collection/components/sticky/sticker.js.map +0 -1
- package/dist/components/ResizeObserver.es.js +0 -933
- package/dist/components/ResizeObserver.es.js.map +0 -1
- package/dist/components/intersection-observer.js +0 -985
- package/dist/components/intersection-observer.js.map +0 -1
- package/dist/esm/ResizeObserver.es-724af9fd.js +0 -933
- package/dist/esm/ResizeObserver.es-724af9fd.js.map +0 -1
- package/dist/esm/component-store-b6fbfa35.js.map +0 -1
- package/dist/esm/date-utils-e4b757ff.js.map +0 -1
- package/dist/esm/global-d5ec4d53.js.map +0 -1
- package/dist/esm/intersection-observer-dff9fb5b.js +0 -985
- package/dist/esm/intersection-observer-dff9fb5b.js.map +0 -1
- package/dist/esm-es5/ResizeObserver.es-724af9fd.js +0 -5
- package/dist/esm-es5/ResizeObserver.es-724af9fd.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/date-utils-e4b757ff.js +0 -5
- package/dist/esm-es5/date-utils-e4b757ff.js.map +0 -1
- package/dist/esm-es5/global-d5ec4d53.js.map +0 -1
- package/dist/esm-es5/intersection-observer-dff9fb5b.js +0 -5
- package/dist/esm-es5/intersection-observer-dff9fb5b.js.map +0 -1
- package/dist/nano-components/p-033296c7.system.entry.js +0 -23
- package/dist/nano-components/p-033296c7.system.entry.js.map +0 -1
- package/dist/nano-components/p-08b43111.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-09e38c5f.system.entry.js +0 -5
- package/dist/nano-components/p-09e38c5f.system.entry.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-11a2dcce.js +0 -5
- package/dist/nano-components/p-11a2dcce.js.map +0 -1
- package/dist/nano-components/p-1238f0fc.system.entry.js.map +0 -1
- package/dist/nano-components/p-1ca46443.entry.js +0 -5
- package/dist/nano-components/p-1ca46443.entry.js.map +0 -1
- package/dist/nano-components/p-1e8321ea.entry.js +0 -5
- package/dist/nano-components/p-1e8321ea.entry.js.map +0 -1
- package/dist/nano-components/p-1f99d776.entry.js +0 -5
- package/dist/nano-components/p-1f99d776.entry.js.map +0 -1
- package/dist/nano-components/p-346588cc.entry.js +0 -5
- package/dist/nano-components/p-39a5280e.system.entry.js +0 -5
- package/dist/nano-components/p-39a5280e.system.entry.js.map +0 -1
- package/dist/nano-components/p-3aa1d07d.entry.js +0 -5
- package/dist/nano-components/p-3aa1d07d.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-44c08842.system.entry.js +0 -5
- package/dist/nano-components/p-44c08842.system.entry.js.map +0 -1
- package/dist/nano-components/p-457d4893.entry.js +0 -5
- package/dist/nano-components/p-457d4893.entry.js.map +0 -1
- package/dist/nano-components/p-462ad4f1.entry.js +0 -5
- package/dist/nano-components/p-462ad4f1.entry.js.map +0 -1
- package/dist/nano-components/p-4870e76d.system.entry.js +0 -5
- package/dist/nano-components/p-4870e76d.system.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 +0 -5
- package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
- package/dist/nano-components/p-56ba0d63.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-69439aa1.system.entry.js +0 -5
- package/dist/nano-components/p-6afdb510.system.entry.js +0 -5
- package/dist/nano-components/p-6afdb510.system.entry.js.map +0 -1
- package/dist/nano-components/p-6f94d755.entry.js +0 -5
- package/dist/nano-components/p-6f94d755.entry.js.map +0 -1
- package/dist/nano-components/p-7246bef5.entry.js +0 -5
- package/dist/nano-components/p-7246bef5.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-84767e87.entry.js +0 -5
- package/dist/nano-components/p-84767e87.entry.js.map +0 -1
- package/dist/nano-components/p-88f17c86.system.entry.js +0 -5
- package/dist/nano-components/p-88f17c86.system.entry.js.map +0 -1
- package/dist/nano-components/p-933c35a6.system.entry.js +0 -5
- package/dist/nano-components/p-933c35a6.system.entry.js.map +0 -1
- package/dist/nano-components/p-93880c28.system.js.map +0 -1
- package/dist/nano-components/p-971b40a4.system.entry.js +0 -5
- package/dist/nano-components/p-971b40a4.system.entry.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-9ea13fbe.entry.js +0 -5
- package/dist/nano-components/p-9ea13fbe.entry.js.map +0 -1
- package/dist/nano-components/p-b430a9b6.system.js +0 -5
- package/dist/nano-components/p-b430a9b6.system.js.map +0 -1
- package/dist/nano-components/p-ba13bb56.entry.js +0 -23
- package/dist/nano-components/p-ba13bb56.entry.js.map +0 -1
- package/dist/nano-components/p-bcd69559.entry.js +0 -5
- package/dist/nano-components/p-bcd69559.entry.js.map +0 -1
- package/dist/nano-components/p-d8d8bac6.system.entry.js +0 -5
- package/dist/nano-components/p-d8d8bac6.system.entry.js.map +0 -1
- package/dist/nano-components/p-debd9efc.js +0 -5
- package/dist/nano-components/p-debd9efc.js.map +0 -1
- package/dist/nano-components/p-e195ab77.system.js +0 -5
- package/dist/nano-components/p-e195ab77.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-ec39b143.system.entry.js +0 -5
- package/dist/nano-components/p-ec39b143.system.entry.js.map +0 -1
- package/dist/nano-components/p-f2e7d2f9.system.entry.js +0 -5
- package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +0 -1
- package/dist/nano-components/p-f5d4d13b.system.js +0 -5
- package/dist/nano-components/p-f5d4d13b.system.js.map +0 -1
- package/dist/nano-components/p-f66958c1.js +0 -5
- package/dist/nano-components/p-f66958c1.js.map +0 -1
- package/dist/nano-components/p-f9c7d961.js +0 -5
- package/dist/nano-components/p-f9c7d961.js.map +0 -1
@@ -0,0 +1,5 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
import{k as t,j as s,r as i,c as e,h as n,e as r,g as h}from"./p-b5c33aff.js";const a=(t,s,i)=>{const e=t.get(s);if(!e){t.set(s,[i])}else if(!e.includes(i)){e.push(i)}};const o=(t,s)=>{let i;return(...e)=>{if(i){clearTimeout(i)}i=setTimeout((()=>{i=0;t(...e)}),s)}};const u=t=>!("isConnected"in t)||t.isConnected;const c=o((t=>{for(let s of t.keys()){t.set(s,t.get(s).filter(u))}}),2e3);const l=()=>{if(typeof t!=="function"){return{}}const i=new Map;return{dispose:()=>i.clear(),get:s=>{const e=t();if(e){a(i,s,e)}},set:t=>{const e=i.get(t);if(e){i.set(t,e.filter(s))}c(i)},reset:()=>{i.forEach((t=>t.forEach(s)));c(i)}}};const f=(t,s=((t,s)=>t!==s))=>{let i=new Map(Object.entries(t!==null&&t!==void 0?t:{}));const e={dispose:[],get:[],set:[],reset:[]};const n=()=>{i=new Map(Object.entries(t!==null&&t!==void 0?t:{}));e.reset.forEach((t=>t()))};const r=()=>{e.dispose.forEach((t=>t()));n()};const h=t=>{e.get.forEach((s=>s(t)));return i.get(t)};const a=(t,n)=>{const r=i.get(t);if(s(n,r,t)){i.set(t,n);e.set.forEach((s=>s(t,n,r)))}};const o=typeof Proxy==="undefined"?{}:new Proxy(t,{get(t,s){return h(s)},ownKeys(t){return Array.from(i.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,s){return i.has(s)},set(t,s,i){a(s,i);return true}});const u=(t,s)=>{e[t].push(s);return()=>{d(e[t],s)}};const c=(s,i)=>{const e=u("set",((t,e)=>{if(t===s){i(e)}}));const n=u("reset",(()=>i(t[s])));return()=>{e();n()}};const l=(...t)=>{const s=t.reduce(((t,s)=>{if(s.set){t.push(u("set",s.set))}if(s.get){t.push(u("get",s.get))}if(s.reset){t.push(u("reset",s.reset))}if(s.dispose){t.push(u("dispose",s.dispose))}return t}),[]);return()=>s.forEach((t=>t()))};const f=t=>{const s=i.get(t);e.set.forEach((i=>i(t,s,s)))};return{state:o,get:h,set:a,on:u,onChange:c,use:l,dispose:r,reset:n,forceUpdate:f}};const d=(t,s)=>{const i=t.indexOf(s);if(i>=0){t[i]=t[t.length-1];t.length--}};const m=(t,s)=>{const i=f(t,s);i.use(l());return i};let b=class{constructor(t){i(this,t);this.nanoPayloadChange=e(this,"nanoPayloadChange",7);this.nanoSubmit=e(this,"nanoSubmit",7);this.nanoInvalid=e(this,"nanoInvalid",7);this.submitted=false;this.fields=[];this.internalValidate=false;this.validateOn="submitThenDirty";this.scrollToInvalid=true;this._dirty=false;this.handleStoreChange=async(t,s)=>{if(this.validateOn==="dirty"&&this.dirty){this.internalValidate=true;await this.validateAllFields();this._valid=this.activeForm.checkValidity();this.internalValidate=false}this.nanoPayloadChange.emit(this.store.state)};this.handleFieldChange=t=>{this._dirty=true;this.setFieldValue([t.target])};this.handleFormInvalid=async t=>{t.preventDefault();this._valid=false;if(this.internalValidate)return;if(this.validateOn==="submitThenDirty")this.validateOn="dirty";this.submitted=true;await this.validateAllFields();if(this.validateOn==="submit"){this.internalValidate=true;this._valid=this.activeForm.checkValidity();this.internalValidate=false;if(this._valid){this.submitForm();return}}this.scrollToFirstInvalid();this.nanoInvalid.emit()};this.handleSubmit=async t=>{t.preventDefault();if(this.validateOn==="submitThenDirty")this.validateOn="dirty";this.submitted=true;await this.validateAllFields();this.internalValidate=true;this._valid=this.activeForm.checkValidity();this.internalValidate=false;if(!this._valid){this.scrollToFirstInvalid();return}this.submitForm()}}userFormChange(){if(!!this.userForm)this.activeForm=this.userForm}get activeForm(){return this._activeForm}set activeForm(t){if(this._activeForm)this._activeForm.removeEventListener("invalid",this.handleFormInvalid,true);if(t)t.addEventListener("invalid",this.handleFormInvalid,true);this._activeForm=t}validateOnChange(){this.fields.forEach((t=>{if(t.tagName==="NANO-CHECKBOX"){const s=t.closest("nano-checkbox-group");if(s)s.validateOn=this.validateOn}else{t.validateOn=this.validateOn}}))}get dirty(){return this._dirty}get valid(){return this._valid}get payload(){return this.store.state}get showValidation(){return this.validateOn==="dirty"&&this.dirty||this.submitted}get validationState(){const t=[];this.fields.forEach((async s=>{const i=t.find((t=>t.name===s.name));if(i){i.validityMessage=s.validityMessage.length?s.validityMessage:i.validityMessage;if(!i.fields.find((t=>t===s)))i.fields.push(s);if(i.valid&&s.invalid)i.valid=false;return}t.push({fields:[s],name:s.name,valid:!s.invalid,value:this.store.state[s.name],dirty:false,validityMessage:s.validityMessage})}));return t}attachSlotObserver(){if(!!this.mo)return;const t=this.mo=new MutationObserver((t=>{const s=this.host.querySelector("form");if(s!==this.activeForm)this.activeForm=s;this.setupFields()}));t.observe(this.host,{childList:true,attributes:true,attributeFilter:["name"],subtree:true})}setupFields(){let t=Array.from(this.host.querySelectorAll(`\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n `));t=t.filter((t=>!!t.name&&!!t.name.length));if(!t.filter((t=>!this.fields.includes(t))).length)return;this.fields=t;this.validateOnChange();this.setFieldValue(this.fields);this.nanoPayloadChange.emit(this.store.state)}setFieldValue(t){t.forEach((t=>{const s=t.name;if(!s.length)return;switch(t.tagName){case"NANO-CHECKBOX":let i=t;if(i.type==="radio"||i.type==="segment"||i.type==="segment-pill"){if(i.checked)this.store.state[s]=i.value;else if(!i.checked&&(i.value===this.store.state[s]||!this.store.state[s]))this.store.state[s]=""}else if(this.fields.filter((t=>t.name===s&&t.tagName==="NANO-CHECKBOX")).length>1){const t=Array.isArray(this.store.state[s])?this.store.state[s]:[];if(i.checked){if(!this.store.state[s].includes(i.value)){this.store.state[s]=[...t,i.value]}}else{this.store.state[s]=t.filter((t=>t!==i.value))}}else this.store.state[s]=i.value;break;case"NANO-FILE-UPLOAD":this.store.state[s]=t.files;break;default:this.store.state[s]=t.value;break}}))}async validate(t,s){if(!this.validation)return;const i=this.validation(t,s,this.store.state);if(!i)return;await Promise.all(Object.entries(i).map((async([t,s])=>{const i=this.fields.find((s=>s.name===t));let e=i;if(i.tagName==="NANO-CHECKBOX"){const t=i.closest("nano-checkbox-group");e=t||i}if(e.validityMessage===s.msg&&s.valid)await this.setFieldError(e,"");else if(!s.valid){await this.setFieldError(e,s.msg)}})))}async setFieldError(t,s){if(t["showError"])await t.showError(s);else await t.setError(s)}async validateAllFields(){await Object.entries(this.store.state).reduce((async(t,[s,i])=>{await t;await this.validate(s,i)}),undefined)}scrollToFirstInvalid(){if(!this.scrollToInvalid)return;setTimeout((()=>{const t=this.validationState.find((t=>!t.valid));if(!t)return;t.fields[0].scrollIntoView({behavior:"smooth",block:"nearest"})}),200)}submitForm(){const t=this.nanoSubmit.emit();if(t.defaultPrevented)return;this.activeForm.submit()}connectedCallback(){this.userForm=this.host.querySelector("form")}componentDidLoad(){requestAnimationFrame((()=>{this.store=m({});this.setupFields();this.attachSlotObserver();this.store.on("set",((t,s)=>this.handleStoreChange(t,s)));this.host.addEventListener("nanoChange",this.handleFieldChange);this.host.addEventListener("submit",this.handleSubmit)}))}disconnectedCallback(){if(this.mo)this.mo.disconnect();this.store.dispose();this.host.removeEventListener("nanoChange",this.handleFieldChange);this.host.removeEventListener("submit",this.handleSubmit);if(this.activeForm)this.activeForm.removeEventListener("invalid",this.handleFormInvalid,true)}render(){return n(r,null,this.userForm&&n("slot",null),!this.userForm&&n("form",{ref:t=>this.activeForm=t},n("slot",null)))}get host(){return h(this)}static get watchers(){return{userForm:["userFormChange"],validateOn:["validateOnChange"]}}};export{b as nano_field_validator};
|
5
|
+
//# sourceMappingURL=p-c3830c43.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["node_modules/@stencil/store/dist/index.mjs","src/components/field-validator/field-validator.tsx"],"names":["appendToMap","map","propName","value","items","get","set","includes","push","debounce","fn","ms","timeoutId","args","clearTimeout","setTimeout","isConnected","maybeElement","cleanupElements","key","keys","filter","stencilSubscription","getRenderingRef","elmsToUpdate","Map","dispose","clear","elm","elements","forceUpdate","reset","forEach","elms","createObservableMap","defaultState","shouldUpdate","a","b","states","Object","entries","handlers","cb","oldValue","state","Proxy","[object Object]","_","Array","from","enumerable","configurable","has","on","eventName","callback","removeFromArray","onChange","unSet","newValue","unReset","use","subscriptions","unsubs","reduce","subscription","unsub","array","item","index","indexOf","length","createStore","FieldValidator","hostRef","this","submitted","fields","internalValidate","validateOn","scrollToInvalid","_dirty","handleStoreChange","async","_key","_newVal","dirty","validateAllFields","_valid","activeForm","checkValidity","nanoPayloadChange","emit","store","handleFieldChange","ev","setFieldValue","target","handleFormInvalid","preventDefault","submitForm","scrollToFirstInvalid","nanoInvalid","handleSubmit","e","userForm","_activeForm","form","removeEventListener","addEventListener","field","tagName","cbg","closest","valid","payload","showValidation","validationState","found","find","v","name","validityMessage","f","invalid","mo","MutationObserver","_entries","host","querySelector","setupFields","observe","childList","attributes","attributeFilter","subtree","querySelectorAll","validateOnChange","fieldName","type","checked","currentArr","isArray","files","newVal","validation","res","Promise","all","o","validityTarget","msg","setFieldError","showError","setError","memo","validate","undefined","invalidField","scrollIntoView","behavior","block","nanoSubmit","defaultPrevented","submit","requestAnimationFrame","attachSlotObserver","disconnect","h","Host","ref"],"mappings":"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","sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n let states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(defaultState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n const unReset = on('reset', () => cb(defaultState[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { createStore, ObservableMap } from '@stencil/store';\n\ntype NanoFormEles =\n | HTMLNanoInputElement\n | HTMLNanoCheckboxElement\n | HTMLNanoSelectElement\n | HTMLNanoDateInputElement\n | HTMLNanoFileUploadElement;\ntype NanoEvent = CustomEvent & { target: NanoFormEles };\ninterface ValueStore {\n [key: string]: any;\n}\n\ninterface ValidationState {\n fields: NanoFormEles[];\n valid: boolean;\n validityMessage: string;\n dirty: boolean;\n name: string | number;\n value: any;\n}\n\n/**\n * A toolbox for `nano-...` form fields and form validation.\n *\n * - Easy to add validation accross field dependencies - e.g. \"When Field1 contains '123' Field2 must contain '456'\"\n * - Easy access to whole form and individual field validity states\n * - Easy access to form data payload\n * - Scroll to invalid field on submit\n */\n@Component({\n tag: 'nano-field-validator',\n})\nexport class FieldValidator implements ComponentInterface {\n // Internal State\n\n @Element() host: HTMLNanoFieldValidatorElement;\n @State() store: ObservableMap<ValueStore>;\n @State() userForm: HTMLFormElement;\n @State() submitted = false;\n @Watch('userForm')\n userFormChange() {\n if (!!this.userForm) this.activeForm = this.userForm;\n }\n\n private get activeForm() {\n return this._activeForm;\n }\n private set activeForm(form: HTMLFormElement) {\n if (this._activeForm)\n this._activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n if (form) form.addEventListener('invalid', this.handleFormInvalid, true);\n this._activeForm = form;\n }\n private _activeForm: HTMLFormElement;\n private mo: MutationObserver;\n private fields: NanoFormEles[] = [];\n // annoyingly, whenever we attempt to checkValidty it fires `invalid` events.\n // this is used to prevent infinite loops / multiple calls\n private internalValidate = false;\n\n // Public API\n\n /** When should the fields perform validation. Will override / sync all nested `nano-...` controls */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /** Sync up validateOn with all fields */\n @Watch('validateOn')\n validateOnChange() {\n this.fields.forEach((field) => {\n if (field.tagName === 'NANO-CHECKBOX') {\n const cbg = field.closest('nano-checkbox-group');\n if (cbg) cbg.validateOn = this.validateOn;\n } else {\n (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).validateOn =\n this.validateOn;\n }\n });\n }\n\n /** Tries to scroll to the first invalid field on submit */\n @Prop() scrollToInvalid = true;\n\n /** Returns true if any nested fields have been changed @readonly */\n @Prop({ reflect: true })\n get dirty() {\n return this._dirty;\n }\n @State() _dirty = false;\n\n /** Returns true if all the nested fields are currently valid @readonly */\n @Prop({ reflect: true })\n get valid() {\n return this._valid;\n }\n @State() _valid: boolean;\n\n /** The current form payload as a reactive store. @readonly */\n @Prop()\n get payload() {\n return this.store.state;\n }\n\n /** Returns true if validation errors will be displayed to the user */\n @Prop()\n get showValidation() {\n return (this.validateOn === 'dirty' && this.dirty) || this.submitted;\n }\n\n /** Get the current validation state of all form fields. @readonly\n * ```\n {\n fields: NanoFormEles[];\n valid: boolean;\n validityMessage: string;\n dirty: boolean;\n name: string | number;\n value: any;\n }[]\n ```\n */\n @Prop() get validationState(): ValidationState[] {\n const validationState: ValidationState[] = [];\n\n this.fields.forEach(async (field) => {\n const found = validationState.find((v) => v.name === field.name);\n\n if (found) {\n found.validityMessage = field.validityMessage.length\n ? field.validityMessage\n : found.validityMessage;\n if (!found.fields.find((f) => f === field)) found.fields.push(field);\n if (found.valid && field.invalid) found.valid = false;\n return;\n }\n\n validationState.push({\n fields: [field],\n name: field.name,\n valid: !field.invalid,\n value: this.store.state[field.name],\n dirty: false,\n validityMessage: field.validityMessage,\n });\n });\n return validationState;\n }\n\n /** A validation callback method.\n * @param field - The field name currently being evaluated\n * @param value - The value of the field currently being evaluated\n * @param fields - an array of all currently observered form fields and values\n * @returns field names mapped to an object of status message and validity e.g.\n * ```js\n * {field1: {msg: `This is invalid!`}, field2: {msg: `This is valid!`, valid: true}}\n * ```\n */\n @Prop() validation: (\n field: string,\n value: string,\n fields: ValueStore\n ) => { [key: string]: { msg: string; valid?: boolean } };\n\n /** Fired whenever the payload changes */\n @Event() nanoPayloadChange: EventEmitter<ValueStore>;\n\n /**\n * Fired on valid form submission.\n * Note: if you wish to prevent a form from submitting, instead\n * of using / preventing the native `submit` event, use this event\n * ```js\n * ele.addEventListener('nanoSubmit', (e) => {\n * e.preventDefault()\n * })\n * ```\n */\n @Event() nanoSubmit: EventEmitter;\n\n /** Fire on invalid form submission attempt */\n @Event() nanoInvalid: EventEmitter;\n\n // private methods\n\n private attachSlotObserver() {\n if (!!this.mo) return;\n const mo = (this.mo = new MutationObserver((_entries) => {\n const form = this.host.querySelector('form');\n if (form !== this.activeForm) this.activeForm = form;\n this.setupFields();\n }));\n mo.observe(this.host, {\n childList: true,\n attributes: true,\n attributeFilter: ['name'],\n subtree: true,\n });\n }\n\n /** Checks for new `nano-...` fields and adds them to our watch array and value store */\n private setupFields() {\n let fields = Array.from(\n this.host.querySelectorAll<NanoFormEles>(`\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n `)\n );\n fields = fields.filter((f) => !!f.name && !!f.name.length);\n\n // do we have any currently un-watched fields?\n if (!fields.filter((f) => !this.fields.includes(f)).length) return;\n\n // setup the initial store state / refresh on new fields\n this.fields = fields;\n this.validateOnChange();\n this.setFieldValue(this.fields);\n this.nanoPayloadChange.emit(this.store.state);\n }\n\n /** Loops through all `nano-...` fields and extracts their values into our store */\n private setFieldValue(fields: NanoFormEles[]) {\n fields.forEach((field) => {\n const fieldName = field.name;\n if (!fieldName.length) return;\n\n switch (field.tagName) {\n case 'NANO-CHECKBOX':\n let cb = field as HTMLNanoCheckboxElement;\n if (\n cb.type === 'radio' ||\n cb.type === 'segment' ||\n cb.type === 'segment-pill'\n ) {\n if (cb.checked) this.store.state[fieldName] = cb.value;\n else if (\n !cb.checked &&\n (cb.value === this.store.state[fieldName] ||\n !this.store.state[fieldName])\n )\n this.store.state[fieldName] = '';\n } else if (\n this.fields.filter(\n (f) => f.name === fieldName && f.tagName === 'NANO-CHECKBOX'\n ).length > 1\n ) {\n const currentArr = Array.isArray(this.store.state[fieldName])\n ? this.store.state[fieldName]\n : [];\n if (cb.checked) {\n if (!this.store.state[fieldName].includes(cb.value)) {\n this.store.state[fieldName] = [...currentArr, cb.value];\n }\n } else {\n this.store.state[fieldName] = currentArr.filter(\n (v) => v !== cb.value\n );\n }\n } else this.store.state[fieldName] = cb.value;\n break;\n case 'NANO-FILE-UPLOAD':\n this.store.state[fieldName] = (\n field as HTMLNanoFileUploadElement\n ).files;\n break;\n default:\n this.store.state[fieldName] = field.value;\n break;\n }\n });\n }\n\n /** Checks for user defined validations */\n private async validate(key: string | number, newVal: any) {\n if (!this.validation) return;\n\n const res = this.validation(key as string, newVal, this.store.state);\n\n // no nothing - return\n if (!res) return;\n\n // stencil public methods are async\n // so we must to coerce our validation\n // collection loop into a promise\n await Promise.all(\n Object.entries(res).map(async ([key, o]) => {\n // switch on/off validation messages\n const field = this.fields.find((f) => f.name === key);\n let validityTarget: NanoFormEles | HTMLNanoCheckboxGroupElement = field;\n\n if (field.tagName === 'NANO-CHECKBOX') {\n const cbg = field.closest('nano-checkbox-group');\n validityTarget = cbg || field;\n }\n\n // status is now valid - clear the error\n if (validityTarget.validityMessage === o.msg && o.valid)\n await this.setFieldError(validityTarget, '');\n // status is invalid. Set the error\n else if (!o.valid) {\n await this.setFieldError(validityTarget, o.msg);\n }\n })\n );\n }\n\n /**\n * Utility to smooth out setting error messages\n * (it's a different method on `nano-checkbox` 'cos they don't show errors themselves)\n * @param field\n * @param msg\n */\n private async setFieldError(\n field: NanoFormEles | HTMLNanoCheckboxGroupElement,\n msg: string\n ) {\n if (field['showError'])\n await (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).showError(\n msg\n );\n else await (field as HTMLNanoCheckboxElement).setError(msg);\n }\n\n /** Loops through all store entries and checks field validity */\n private async validateAllFields() {\n // This forces our loop to `await` and finish sequentially ... silly async stencil methods\n await Object.entries(this.store.state).reduce(\n async (memo, [key, value]) => {\n await memo;\n await this.validate(key, value);\n },\n undefined as any\n );\n }\n\n private scrollToFirstInvalid() {\n if (!this.scrollToInvalid) return;\n\n setTimeout(() => {\n const invalidField = this.validationState.find((f) => !f.valid);\n if (!invalidField) return;\n invalidField.fields[0].scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }, 200);\n }\n\n private submitForm() {\n const nanoSubmit = this.nanoSubmit.emit();\n if (nanoSubmit.defaultPrevented) return;\n this.activeForm.submit();\n }\n\n // Event handlers\n\n /** Fired whenever store values change and potentially checks validity */\n private handleStoreChange = async (_key: string | number, _newVal: any) => {\n if (this.validateOn === 'dirty' && this.dirty) {\n this.internalValidate = true;\n await this.validateAllFields();\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n }\n this.nanoPayloadChange.emit(this.store.state);\n };\n\n /** Handles field value changes and passes to store */\n private handleFieldChange = (ev: NanoEvent) => {\n this._dirty = true;\n this.setFieldValue([ev.target]);\n };\n\n /** Handles default field validation events */\n private handleFormInvalid = async (ev: Event) => {\n ev.preventDefault();\n this._valid = false;\n\n if (this.internalValidate) return;\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n\n await this.validateAllFields();\n\n // kinda insane...but if we're only validating on submit, then if the form is currently\n // in an invalid state, when submitting, it will fire an invalid event and not\n // submit the form. So let's test to make sure it is really invalid, and submit if not\n if (this.validateOn === 'submit') {\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n if (this._valid) {\n this.submitForm();\n return;\n }\n }\n\n this.scrollToFirstInvalid();\n this.nanoInvalid.emit();\n };\n\n /** stops default form submission, checks if valid, then submits manually */\n private handleSubmit = async (e: Event) => {\n e.preventDefault();\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n await this.validateAllFields();\n\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n if (!this._valid) {\n this.scrollToFirstInvalid();\n return;\n }\n this.submitForm();\n };\n\n connectedCallback(): void {\n this.userForm = this.host.querySelector('form');\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.store = createStore<ValueStore>({});\n\n this.setupFields();\n this.attachSlotObserver();\n\n this.store.on('set', (key, value) => this.handleStoreChange(key, value));\n this.host.addEventListener('nanoChange', this.handleFieldChange);\n this.host.addEventListener('submit', this.handleSubmit);\n });\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n this.store.dispose();\n this.host.removeEventListener('nanoChange', this.handleFieldChange);\n this.host.removeEventListener('submit', this.handleSubmit);\n if (this.activeForm)\n this.activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n\n render() {\n return (\n <Host>\n {this.userForm && <slot />}\n {!this.userForm && (\n <form ref={(f) => (this.activeForm = f)}>\n <slot />\n </form>\n )}\n </Host>\n );\n }\n}\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{r as t,c as s,B as i,i as h,h as e,e as a,g as n}from"./p-
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{r as t,c as s,B as i,i as h,h as e,e as a,g as n}from"./p-b5c33aff.js";import{S as l,W as r}from"./p-ef7f1e9c.js";let o=class{constructor(i){t(this,i);this.nanoPageChanged=s(this,"nanoPageChanged",7);this.nanoTplUpdated=s(this,"nanoTplUpdated",7);this.append=false;this.shouldClear=true;this.currHitNum=0;this.showResults=false;this.results=null;this.indexResults=null;this.resultsPage=0;this.changeEvent=l.Init;this.isLoading=true;this.infiniteScroll=false;this.appendPages=false}addContentIndex(){this.shouldPageClear();if(this.shouldClear||this.resultsPage===0)this.currHitNum=0;if(this.indexResults&&this.indexResults.results){this.indexResults.results.map((t=>{t._uIndex=this.currHitNum++}))}}resultsChange(){this.shouldPageClear();this.updateResultContent();this.infiniteScrollChange()}headerFooterChange(){this.updateStartEndContent()}appendChange(){this.append=this.infiniteScroll?true:this.appendPages}infiniteScrollChange(){this.append=this.infiniteScroll?true:this.appendPages;this.infiniteScroll?this.attachIO():this.detachIO()}handlePageChage(){this.infiniteScroll?this.attachIO():this.detachIO()}handleLoading(){if(!this.isLoading)this.infiniteScrollChange()}shouldPageClear(){this.shouldClear=this.changeEvent===l.Page?!this.append:true}nextPage(){this.shouldClear=!this.append;this.nanoPageChanged.emit({page:this.resultsPage+1})}attachIO(){if(!this.infiniteScrollBar||!this.infiniteScroll||this.io||!i.isBrowser||typeof window==="undefined"||!window.IntersectionObserver)return;this.io=new window.IntersectionObserver((async t=>{if(t[0].isIntersecting||t[1]&&t[1].isIntersecting){this.nextPage();this.detachIO()}}),{document,rootMargin:"100px",threshold:1});this.io.observe(this.infiniteScrollBar)}detachIO(){if(this.io){this.io.disconnect();this.io=null}}updateStartEndContent(){if(this.startTpl&&this.startOutputSlot){this.startOutputSlot.innerHTML=this.tplRenderFn(this.startTpl,this.indexResults)}if(this.endOutputSlot&&this.endTpl){this.endOutputSlot.innerHTML=this.tplRenderFn(this.endTpl,this.indexResults)}this.nanoTplUpdated.emit(this.el)}updateResultContent(){this.outputTo=this.outputSlot||this.outputEle;if(!this.resultTpl||!this.indexResults)return;if(this.shouldClear)this.outputTo.innerHTML="";if(!this.tplRenderFn)return;let t=document.createElement("div");t.innerHTML=this.tplRenderFn(this.resultTpl,this.indexResults);Array.from(t.children).forEach((t=>{this.outputTo.appendChild(t)}));this.shouldClear=true;this.nanoTplUpdated.emit(this.el)}connectedCallback(){h((()=>{this.startTplSlot=this.el.querySelector('[slot="start-template"]');this.startOutputSlot=this.el.querySelector('[slot="start-output"]');if(!!this.startTplSlot){this.startTpl=this.startTplSlot.innerHTML;this.startTpl=this.startTpl.replace(/=>/gm,"=>")}this.resultTplSlot=this.el.querySelector('[slot="result-template"]');this.outputSlot=this.el.querySelector('[slot="result-output"]');if(!!this.resultTplSlot){this.resultTpl=this.resultTplSlot.innerHTML;this.resultTpl=this.resultTpl.replace(/=>/gm,"=>")}this.endTplSlot=this.el.querySelector('[slot="end-template"]');this.endOutputSlot=this.el.querySelector('[slot="end-output"]');if(!!this.endTplSlot){this.endTpl=this.endTplSlot.innerHTML;this.endTpl=this.endTpl.replace(/=>/gm,"=>")}if(this.indexResults){this.addContentIndex();this.updateResultContent()}}))}componentDidLoad(){this.updateStartEndContent()}disconnectedCallback(){if(this.io){this.io.disconnect();this.io=undefined}}render(){return e(a,{class:{"show-results":this.showResults}},e("div",{class:"default"},e("slot",null)),e("div",{ref:t=>this.outputEle=t},e("slot",{name:"start-output"}),e("slot",{name:"result-output"}),e("div",{ref:t=>this.infiniteScrollBar=t}),e("slot",{name:"end-output"})))}get el(){return n(this)}static get watchers(){return{results:["addContentIndex","resultsChange"],tplRenderFn:["resultsChange"],facets:["headerFooterChange"],appendPages:["appendChange"],infiniteScroll:["infiniteScrollChange"],resultsPage:["handlePageChage"],isLoading:["handleLoading"]}}};r(o,["indexResults","results","tplRenderFn","resultsPage","changeEvent","facets","isLoading"]);export{o as nano_algolia_results};
|
5
|
+
//# sourceMappingURL=p-c4156fea.entry.js.map
|
File without changes
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
System.register(["./p-
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
System.register(["./p-f48be9f5.system.js"],(function(l){"use strict";var e;return{setters:[function(l){e=l.h}],execute:function(){var r=function(l){var r=l.label,a=l.hasLabelSlot,t=l.controlId,s=l.labelId,o=l.floatLabel,n=l.placeholder,c=l.hideLabel,i=l.hasValue,f=l.rtl,_=l.showCharCount,d=l.maxlength,u=l.charCount;if(!r&&!a)return;if(o){return e("label",{class:"form-ctrl__float-label",htmlFor:t,id:s},r&&r,!r&&a&&e("slot",{name:"label"}),_&&e("span",{class:"form-ctrl__label-charcount"},d?" "+u+"/"+d:" "+u))}else{return e("label",{class:{"form-ctrl__label":true,"visually-hide":c},htmlFor:t,id:s},e("div",{class:"form-ctrl__label-wrap"},n&&i&&f&&e("span",{class:"form-ctrl__label-placeholder"},n," / "),e("span",{class:"form-ctrl__labeltext"},r&&r,!r&&a&&e("slot",{name:"label"})),n&&i&&!f&&e("span",{class:"form-ctrl__label-placeholder"}," / ",n)),_&&e("span",{class:"form-ctrl__label-charcount"},d?d-u+" left":u+" characters"))}};var a=l("F",(function(l,a){var t=l.rtl,s=l.floatLabel,o=l.label,n=l.moreId,c=l.helperEndId,i=l.type,f=l.hasHelperSlot,_=l.showInlineError,d=l.errorMessage,u=l.hasHelperEndSlot;var m=u?"nano-resize-observe":"div";return e(m,{states:"350w has-enough-width",class:{"has-label":o!==null&&!s,"has-float-label":o!==null&&s,"has-helper-end":u,rtl:t,"form-ctrl":true}},e("div",{class:"form-ctrl__wrapper"},!s?r(Object.assign({},l)):"",e("div",{class:{"form-ctrl__input":true,"form-ctrl__textarea":i==="textarea"}},s&&r(Object.assign(Object.assign({},l),{rtl:t})),a),_||f?e("div",{class:"form-ctrl__more",id:n},!!_?e("div",{class:"form-ctrl__error","aria-live":"polite"},d):"",e("div",{class:"form-ctrl__helper"},e("slot",{name:"helper"}))):""),u?e("div",{class:"form-ctrl__helper-end",id:c},e("slot",{name:"helper-end"})):"")}));var t=l("a",(function(l,r){var a=l.clearControl,t=l.onClearText,s=l.readonly,o=l.disabled,n=l.control,c=l.ref,i=l.endSlot,f=l.endValueSlot,_=l.startSlot;var d=function(){n.setFocus()};return e("div",{class:"form-ctrl__input-wrap",ref:function(l){if(c)c(l)}},e("span",{class:"form-ctrl__slot-start"},e("slot",{name:"start"}),_),r,a&&!s&&!o&&e("button",{type:"button",class:"icon form-ctrl__clear-btn",tabindex:"-1",onTouchStart:t,onMouseDown:t},e("nano-icon",{name:"light/times"})),e("span",{class:"form-ctrl__slot-value-end",onClick:d},e("slot",{name:"value-end"}),f),e("span",{class:"form-ctrl__slot-end"},e("slot",{name:"end"}),i))}))}}}));
|
5
|
+
//# sourceMappingURL=p-d01bd3c3.system.js.map
|
File without changes
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{r as t,h as o,e,g as r}from"./p-ab5813a7.js";import{h as i}from"./p-289aa03f.js";const s=":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;--nano-loader-base:#4a4a4a;--nano-loader-tint:#7d7d7d;--theme-color:#fff;--theme-tint-color:#90c6e7;--scrim-color:0, 0, 0;--scrim-direction:90deg;--scrim-opacity-from:0.25;--scrim-opacity-to:0.7;--padding:0;--quote-size:1.3rem;color:var(--theme-color)}:host(.is-xl){--quote-size:3rem}:host([theme=light]){--nano-loader-base:#fff;--nano-loader-tint:white;--theme-color:#4a4a4a;--scrim-color:255, 255, 255;--scrim-opacity-from:0.25;--scrim-opacity-to:1;--scrim-direction:270deg;color:var(--theme-color)}:host([theme=light]) .hero__primary-content{--color:#4a4a4a}.hero{position:relative}.hero--rtl{--scrim-direction:270deg}.hero--secondary:not(.hero--iconbox){--scrim-direction:0deg}.hero__bg-wrap{overflow:hidden}.hero__bg-slot{position:absolute;top:0;bottom:0;left:0;right:0}.hero__ctas{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:32px 32px 0;margin-bottom:-64px;position:relative;z-index:1}@media (max-width: 52em){.hero__ctas{display:none}}@media (max-width: 58em){.hero__ctas{margin-bottom:-48px}}.hero__ctas ::slotted(a.button[slot=secondary-ctas]),.hero__ctas::slotted(a.button[slot=secondary-ctas]){padding:0.25rem 0.5rem !important;font-size:0.875rem !important;margin:0 0.25rem !important}.hero__img{display:block;--padding:inherit}.hero__breadcrumbs{display:none;margin:20px 14px 0;line-height:14px}.hero--breadcrumb .hero__breadcrumbs{display:block}.is-xl .hero__breadcrumbs{margin:0 50px;max-width:50%}.is-xxl .hero__breadcrumbs{margin:0 83px}.hero__breadcrumbs ::slotted(*[slot=breadcrumb]),.hero__breadcrumbs::slotted(*[slot=breadcrumb]){font-size:0.85rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;font-stretch:125%;display:inline-block;margin-bottom:16px;position:relative;z-index:2}.hero--hasbg .hero__breadcrumbs ::slotted(*[slot=breadcrumb]),.hero--hasbg .hero__breadcrumbs::slotted(*[slot=breadcrumb]){text-shadow:1px 1px rgba(0, 0, 0, 0.15)}.hero__breadcrumbs ::slotted(a[slot=breadcrumb]),.hero__breadcrumbs::slotted(a[slot=breadcrumb]){color:var(--theme-tint-color) !important;cursor:pointer}.hero__breadcrumbs ::slotted(.slash[slot=breadcrumb]),.hero__breadcrumbs::slotted(.slash[slot=breadcrumb]){color:var(--theme-color);position:relative;margin:0 0.5rem;display:inline-block}.hero__scrim{position:absolute;left:0;right:0;bottom:0;top:0;z-index:0;background:-webkit-gradient(linear, left top, left bottom, from(var(--scrim-direction)), color-stop(0%, rgba(var(--scrim-color), var(--scrim-opacity-from))), to(rgba(var(--scrim-color), var(--scrim-opacity-to))));background:linear-gradient(var(--scrim-direction), rgba(var(--scrim-color), var(--scrim-opacity-from)) 0%, rgba(var(--scrim-color), var(--scrim-opacity-to)) 100%)}.hero--scrim .hero__scrim{background:none}.hero__content{max-width:1440px;--grid-row-gap:0;margin:0 auto;position:relative}.hero__content.is-xl{margin-top:50px;max-width:1540px}.hero__content.is-xxl{margin-top:83px;max-width:1606px}.hero__primary{margin:16px}.hero--breadcrumb .hero__primary{margin:0 16px}.hero--backbtn .hero__primary{margin-left:0}.hero__primary ::slotted(nano-icon-button[slot=back-btn]),.hero__primary::slotted(nano-icon-button[slot=back-btn]){font-size:2rem}.is-xl .hero__primary{margin:0 0 50px 50px}.is-xl .hero__primary ::slotted(nano-icon-button[slot=back-btn]),.is-xl .hero__primary::slotted(nano-icon-button[slot=back-btn]){margin-left:-3rem;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.is-xl .hero__primary ::slotted(nano-icon-button[slot=back-btn]),.is-xl .hero__primary::slotted(nano-icon-button[slot=back-btn]){margin-left:unset;margin-right:unset;-webkit-margin-start:-3rem;margin-inline-start:-3rem;-webkit-margin-end:0;margin-inline-end:0}}.is-xxl .hero__primary{margin:0 0 83px 83px}.hero__primary-content{max-width:45rem;--color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex}.hero--backbtn .hero__primary-content>div{padding:10px 0 0 0}.hero__primary-content ::slotted(h1[slot=primary-content]),.hero__primary-content::slotted(h1[slot=primary-content]){line-height:26px !important;margin-top:0 !important;margin-bottom:18px !important;font-size:2rem !important}.is-xl .hero__primary-content ::slotted(h1[slot=primary-content]),.is-xl .hero__primary-content::slotted(h1[slot=primary-content]){line-height:31px !important;margin-bottom:30px !important}.is-xl .hero__primary-content ::slotted(.button[slot=primary-content]),.is-xl .hero__primary-content::slotted(.button[slot=primary-content]){margin-top:20px !important}.hero__secondary{display:none;height:100%;padding:0 14px 20px}.hero--secondary .hero__secondary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.is-xl .hero__secondary{padding:0 50px 50px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.is-xxl .hero__secondary{padding:0 83px 83px}.hero__icon-box{background:rgba(0, 0, 0, 0.7);padding:24px;width:100%;margin-bottom:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:white}.is-xl .hero__icon-box{max-width:410px;-webkit-box-flex:0;-ms-flex:0 1 410px;flex:0 1 410px}.hero__icon-box::slotted([slot=icon-box-item] nano-icon){color:var(--theme-tint-color);--nano-icon-size:32px;--nano-icon-margin-end:20px}.hero__icon-box ::slotted([slot=icon-box-item]){--nano-color-base:var(--theme-tint-color);--nano-icon-size:32px;--nano-icon-margin-end:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:0.8125rem;margin-bottom:20px}.hero__icon-box ::slotted(.last[slot=icon-box-item]),.hero__icon-box::slotted(.last[slot=icon-box-item]){margin-bottom:0}.hero__quote-content{margin-top:auto;text-align:center;width:100%}.is-xl .hero__quote-content{max-width:500px;-webkit-box-flex:0;-ms-flex:0 1 500px;flex:0 1 500px;text-align:initial}.hero__quote::before,.hero__quote::after{content:'\"';font-size:var(--quote-size);font-weight:700;font-style:italic;line-height:0;color:#abb6b8;display:inline;position:relative}.hero__quote ::slotted([slot=quote]),.hero__quote::slotted([slot=quote]){font-size:var(--quote-size);font-weight:300;font-style:italic;display:inline}.hero__quote-author{text-align:right;text-align:end;font-size:1rem;opacity:0.8}.hero--sub .hero__content.is-xl{margin-top:40px}.hero--sub .hero__content.is-xl .hero__primary{margin:0 0 40px 50px}.hero--sub .hero__content.is-xl .hero__secondary{padding:0 50px 50px 40px}.hero--sub .hero__content.is-xl ::slotted(.button[slot=primary-content]),.hero--sub .hero__content.is-xl::slotted(.button[slot=primary-content]){margin-top:8px !important}.hero--sub .hero__content.is-xl ::slotted(h1[slot=primary-content]),.hero--sub .hero__content.is-xl::slotted(h1[slot=primary-content]){margin-bottom:18px !important}.hero--sub .hero__content.is-xxl .hero__primary{margin:0 0 40px 83px}.hero--sub .hero__content.is-xxl .hero__secondary{padding:0 83px 83px 40px}";let n=class{constructor(e){t(this,e);this.isLegacy=false;this.gridSizes=[];this.imgSrcSet=null;this.largeScreenBP=900;this.theme="dark";this.level="top";this.handleGridChange=t=>{this.gridSizes=t.detail};this.HeroContent=()=>[!this.hasIconBox&&this.hasCtas?o("div",{class:"hero__ctas"},o("slot",{name:"secondary-ctas"})):"",o("div",{class:"hero__scrim"},o("slot",{name:"scrim"})),o("nano-grid",{onNanoBpChange:this.handleGridChange,class:"hero__content",xlCols:2,xlSize:this.largeScreenBP},o("nano-grid-item",{gridStates:"xl-col-span-2"},o("div",{class:"hero__breadcrumbs"},o("slot",{name:"breadcrumb"}))),o("nano-grid-item",{gridStates:this.hasSecondaryContent?"xl-col-span-1 xl-col-start-1 xl-row-start-2":"xl-col-span-2 xl-col-start-1 xl-row-start-2"},o("div",{class:"hero__primary"},o("div",{class:"hero__primary-content"},o("slot",{name:"back-btn"}),o("div",null,o("slot",{name:"primary-content"}))))),this.hasSecondaryContent&&o("nano-grid-item",{gridStates:"xl-col-span-1 xl-col-start-2 xl-row-start-2"},o("div",{class:"hero__secondary"},o("slot",{name:"secondary-content"}),this.hasIconBox&&o("div",{class:"hero__icon-box"},o("slot",{name:"icon-box"}),o("slot",{name:"icon-box-item"})),this.hasQuote&&o("div",{class:"hero__quote-content"},o("span",{class:"hero__quote"},o("slot",{name:"quote"})),o("div",{class:"hero__quote-author"},o("slot",{name:"quote-author"}))))))]}breadCrumbChange(){this.breadCrumbs.filter((t=>t.tagName==="A"&&!t.nextElementSibling.classList.contains("slash"))).forEach((t=>{t.insertAdjacentHTML("afterend",'<span slot="breadcrumb" class="slash">/</span>')}))}iconBoxItemChange(){this.iconBoxItems.forEach((t=>t.classList.remove("last")));if(this.iconBoxItems[this.iconBoxItems.length-1]&&this.iconBoxItems[this.iconBoxItems.length-1].classList)this.iconBoxItems[this.iconBoxItems.length-1].classList.add("last")}slotChangeObserver(){if(this.mo)this.mo.disconnect();const t=this.mo=new MutationObserver((()=>this.processSlottedContent()));t.observe(this.host,{childList:true})}processSlottedContent(){this.hasCtas=!!this.host.querySelector('[slot="secondary-ctas"]');this.iconBoxItems=Array.from(this.host.querySelectorAll('[slot="icon-box-item"]'));this.hasIconBox=!!this.host.querySelector('[slot="icon-box"]')||!!this.iconBoxItems.length;this.hasScrim=!!this.host.querySelector('[slot="scrim"]');this.breadCrumbs=Array.from(this.host.querySelectorAll('[slot="breadcrumb"]'));this.hasSecondaryContent=!!this.host.querySelector('[slot="icon-box"]')||!!this.host.querySelector('[slot="quote"]')||!!this.host.querySelector('[slot="icon-box-item"]')||!!this.host.querySelector('[slot="secondary-content"]');this.hasBg=!!this.host.querySelector('[slot="background"]')||!!this.imgSrc;this.hasBackBtn=!!this.host.querySelector('[slot="back-btn"]');this.hasQuote=!!this.host.querySelector('[slot="quote"]')}connectedCallback(){this.isLegacy=!i(this.host)}disconnectedCallback(){if(this.mo)this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver()}componentWillLoad(){this.processSlottedContent()}render(){const t=this.host.dir==="rtl"||this.host.ownerDocument.dir==="rtl";return o(e,{class:{[this.gridSizes.join(" ")]:true}},o("div",{class:{hero:true,"hero--light":this.theme==="light","hero--secondary":this.hasSecondaryContent,"hero--iconbox":this.hasIconBox,"hero--rtl":t,"hero--scrim":this.hasScrim,"hero--legacy":this.isLegacy,"hero--breadcrumb":!!this.breadCrumbs.length,"hero--hasbg":this.hasBg,"hero--backbtn":this.hasBackBtn,"hero--sub":this.level==="sub"}},o("div",{class:"hero__bg-wrap"},!!this.imgSrc&&o("nano-img",{class:"hero__img",lazy:false,background:true,srcSet:this.imgSrcSet,src:this.imgSrc},o(this.HeroContent,null)),!this.imgSrc&&[o("div",{class:"hero__bg-slot"},o("slot",{name:"background"})),o(this.HeroContent,null)])))}get host(){return r(this)}static get watchers(){return{breadCrumbs:["breadCrumbChange"],iconBoxItems:["iconBoxItemChange"]}}};n.style=s;export{n as nano_hero};
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{r as t,h as o,e,g as r}from"./p-b5c33aff.js";import{h as i}from"./p-289aa03f.js";const s=":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;--nano-loader-base:#4a4a4a;--nano-loader-tint:#7d7d7d;--theme-color:#fff;--theme-tint-color:#90c6e7;--scrim-color:0, 0, 0;--scrim-direction:90deg;--scrim-opacity-from:0.25;--scrim-opacity-to:0.7;--padding:0;--quote-size:1.3rem;color:var(--theme-color)}:host(.is-xl){--quote-size:3rem}:host([theme=light]){--nano-loader-base:#fff;--nano-loader-tint:white;--theme-color:#4a4a4a;--scrim-color:255, 255, 255;--scrim-opacity-from:0.25;--scrim-opacity-to:1;--scrim-direction:270deg;color:var(--theme-color)}:host([theme=light]) .hero__primary-content{--color:#4a4a4a}.hero{position:relative}.hero--rtl{--scrim-direction:270deg}.hero--secondary:not(.hero--iconbox){--scrim-direction:0deg}.hero__bg-wrap{overflow:hidden}.hero__bg-slot{position:absolute;top:0;bottom:0;left:0;right:0}.hero__ctas{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:32px 32px 0;margin-bottom:-64px;position:relative;z-index:1}@media (max-width: 52em){.hero__ctas{display:none}}@media (max-width: 58em){.hero__ctas{margin-bottom:-48px}}.hero__ctas ::slotted(a.button[slot=secondary-ctas]),.hero__ctas::slotted(a.button[slot=secondary-ctas]){padding:0.25rem 0.5rem !important;font-size:0.875rem !important;margin:0 0.25rem !important}.hero__img{display:block;--padding:inherit}.hero__breadcrumbs{display:none;margin:20px 14px 0;line-height:14px}.hero--breadcrumb .hero__breadcrumbs{display:block}.is-xl .hero__breadcrumbs{margin:0 50px;max-width:50%}.is-xxl .hero__breadcrumbs{margin:0 83px}.hero__breadcrumbs ::slotted(*[slot=breadcrumb]),.hero__breadcrumbs::slotted(*[slot=breadcrumb]){font-size:0.85rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;font-stretch:125%;display:inline-block;margin-bottom:16px;position:relative;z-index:2}.hero--hasbg .hero__breadcrumbs ::slotted(*[slot=breadcrumb]),.hero--hasbg .hero__breadcrumbs::slotted(*[slot=breadcrumb]){text-shadow:1px 1px rgba(0, 0, 0, 0.15)}.hero__breadcrumbs ::slotted(a[slot=breadcrumb]),.hero__breadcrumbs::slotted(a[slot=breadcrumb]){color:var(--theme-tint-color) !important;cursor:pointer}.hero__breadcrumbs ::slotted(.slash[slot=breadcrumb]),.hero__breadcrumbs::slotted(.slash[slot=breadcrumb]){color:var(--theme-color);position:relative;margin:0 0.5rem;display:inline-block}.hero__scrim{position:absolute;left:0;right:0;bottom:0;top:0;z-index:0;background:-webkit-gradient(linear, left top, left bottom, from(var(--scrim-direction)), color-stop(0%, rgba(var(--scrim-color), var(--scrim-opacity-from))), to(rgba(var(--scrim-color), var(--scrim-opacity-to))));background:linear-gradient(var(--scrim-direction), rgba(var(--scrim-color), var(--scrim-opacity-from)) 0%, rgba(var(--scrim-color), var(--scrim-opacity-to)) 100%)}.hero--scrim .hero__scrim{background:none}.hero__content{max-width:1440px;--grid-row-gap:0;margin:0 auto;position:relative}.hero__content.is-xl{margin-top:50px;max-width:1540px}.hero__content.is-xxl{margin-top:83px;max-width:1606px}.hero__primary{margin:16px}.hero--breadcrumb .hero__primary{margin:0 16px}.hero--backbtn .hero__primary{margin-left:0}.hero__primary ::slotted(nano-icon-button[slot=back-btn]),.hero__primary::slotted(nano-icon-button[slot=back-btn]){font-size:2rem}.is-xl .hero__primary{margin:0 0 50px 50px}.is-xl .hero__primary ::slotted(nano-icon-button[slot=back-btn]),.is-xl .hero__primary::slotted(nano-icon-button[slot=back-btn]){margin-left:-3rem;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.is-xl .hero__primary ::slotted(nano-icon-button[slot=back-btn]),.is-xl .hero__primary::slotted(nano-icon-button[slot=back-btn]){margin-left:unset;margin-right:unset;-webkit-margin-start:-3rem;margin-inline-start:-3rem;-webkit-margin-end:0;margin-inline-end:0}}.is-xxl .hero__primary{margin:0 0 83px 83px}.hero__primary-content{max-width:45rem;--color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex}.hero--backbtn .hero__primary-content>div{padding:10px 0 0 0}.hero__primary-content ::slotted(h1[slot=primary-content]),.hero__primary-content::slotted(h1[slot=primary-content]){line-height:26px !important;margin-top:0 !important;margin-bottom:18px !important;font-size:2rem !important}.is-xl .hero__primary-content ::slotted(h1[slot=primary-content]),.is-xl .hero__primary-content::slotted(h1[slot=primary-content]){line-height:31px !important;margin-bottom:30px !important}.is-xl .hero__primary-content ::slotted(.button[slot=primary-content]),.is-xl .hero__primary-content::slotted(.button[slot=primary-content]){margin-top:20px !important}.hero__secondary{display:none;height:100%;padding:0 14px 20px}.hero--secondary .hero__secondary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.is-xl .hero__secondary{padding:0 50px 50px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.is-xxl .hero__secondary{padding:0 83px 83px}.hero__icon-box{background:rgba(0, 0, 0, 0.7);padding:24px;width:100%;margin-bottom:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:white}.is-xl .hero__icon-box{max-width:410px;-webkit-box-flex:0;-ms-flex:0 1 410px;flex:0 1 410px}.hero__icon-box::slotted([slot=icon-box-item] nano-icon){color:var(--theme-tint-color);--nano-icon-size:32px;--nano-icon-margin-end:20px}.hero__icon-box ::slotted([slot=icon-box-item]){--nano-color-base:var(--theme-tint-color);--nano-icon-size:32px;--nano-icon-margin-end:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:0.8125rem;margin-bottom:20px}.hero__icon-box ::slotted(.last[slot=icon-box-item]),.hero__icon-box::slotted(.last[slot=icon-box-item]){margin-bottom:0}.hero__quote-content{margin-top:auto;text-align:center;width:100%}.is-xl .hero__quote-content{max-width:500px;-webkit-box-flex:0;-ms-flex:0 1 500px;flex:0 1 500px;text-align:initial}.hero__quote::before,.hero__quote::after{content:'\"';font-size:var(--quote-size);font-weight:700;font-style:italic;line-height:0;color:#abb6b8;display:inline;position:relative}.hero__quote ::slotted([slot=quote]),.hero__quote::slotted([slot=quote]){font-size:var(--quote-size);font-weight:300;font-style:italic;display:inline}.hero__quote-author{text-align:right;text-align:end;font-size:1rem;opacity:0.8}.hero--sub .hero__content.is-xl{margin-top:40px}.hero--sub .hero__content.is-xl .hero__primary{margin:0 0 40px 50px}.hero--sub .hero__content.is-xl .hero__secondary{padding:0 50px 50px 40px}.hero--sub .hero__content.is-xl ::slotted(.button[slot=primary-content]),.hero--sub .hero__content.is-xl::slotted(.button[slot=primary-content]){margin-top:8px !important}.hero--sub .hero__content.is-xl ::slotted(h1[slot=primary-content]),.hero--sub .hero__content.is-xl::slotted(h1[slot=primary-content]){margin-bottom:18px !important}.hero--sub .hero__content.is-xxl .hero__primary{margin:0 0 40px 83px}.hero--sub .hero__content.is-xxl .hero__secondary{padding:0 83px 83px 40px}";let n=class{constructor(e){t(this,e);this.isLegacy=false;this.gridSizes=[];this.imgSrcSet=null;this.largeScreenBP=900;this.theme="dark";this.level="top";this.handleGridChange=t=>{this.gridSizes=t.detail};this.HeroContent=()=>[!this.hasIconBox&&this.hasCtas?o("div",{class:"hero__ctas"},o("slot",{name:"secondary-ctas"})):"",o("div",{class:"hero__scrim"},o("slot",{name:"scrim"})),o("nano-grid",{onNanoBpChange:this.handleGridChange,class:"hero__content",xlCols:2,xlSize:this.largeScreenBP},o("nano-grid-item",{gridStates:"xl-col-span-2"},o("div",{class:"hero__breadcrumbs"},o("slot",{name:"breadcrumb"}))),o("nano-grid-item",{gridStates:this.hasSecondaryContent?"xl-col-span-1 xl-col-start-1 xl-row-start-2":"xl-col-span-2 xl-col-start-1 xl-row-start-2"},o("div",{class:"hero__primary"},o("div",{class:"hero__primary-content"},o("slot",{name:"back-btn"}),o("div",null,o("slot",{name:"primary-content"}))))),this.hasSecondaryContent&&o("nano-grid-item",{gridStates:"xl-col-span-1 xl-col-start-2 xl-row-start-2"},o("div",{class:"hero__secondary"},o("slot",{name:"secondary-content"}),this.hasIconBox&&o("div",{class:"hero__icon-box"},o("slot",{name:"icon-box"}),o("slot",{name:"icon-box-item"})),this.hasQuote&&o("div",{class:"hero__quote-content"},o("span",{class:"hero__quote"},o("slot",{name:"quote"})),o("div",{class:"hero__quote-author"},o("slot",{name:"quote-author"}))))))]}breadCrumbChange(){this.breadCrumbs.filter((t=>t.tagName==="A"&&!t.nextElementSibling.classList.contains("slash"))).forEach((t=>{t.insertAdjacentHTML("afterend",'<span slot="breadcrumb" class="slash">/</span>')}))}iconBoxItemChange(){this.iconBoxItems.forEach((t=>t.classList.remove("last")));if(this.iconBoxItems[this.iconBoxItems.length-1]&&this.iconBoxItems[this.iconBoxItems.length-1].classList)this.iconBoxItems[this.iconBoxItems.length-1].classList.add("last")}slotChangeObserver(){if(this.mo)this.mo.disconnect();const t=this.mo=new MutationObserver((()=>this.processSlottedContent()));t.observe(this.host,{childList:true})}processSlottedContent(){this.hasCtas=!!this.host.querySelector('[slot="secondary-ctas"]');this.iconBoxItems=Array.from(this.host.querySelectorAll('[slot="icon-box-item"]'));this.hasIconBox=!!this.host.querySelector('[slot="icon-box"]')||!!this.iconBoxItems.length;this.hasScrim=!!this.host.querySelector('[slot="scrim"]');this.breadCrumbs=Array.from(this.host.querySelectorAll('[slot="breadcrumb"]'));this.hasSecondaryContent=!!this.host.querySelector('[slot="icon-box"]')||!!this.host.querySelector('[slot="quote"]')||!!this.host.querySelector('[slot="icon-box-item"]')||!!this.host.querySelector('[slot="secondary-content"]');this.hasBg=!!this.host.querySelector('[slot="background"]')||!!this.imgSrc;this.hasBackBtn=!!this.host.querySelector('[slot="back-btn"]');this.hasQuote=!!this.host.querySelector('[slot="quote"]')}connectedCallback(){this.isLegacy=!i(this.host)}disconnectedCallback(){if(this.mo)this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver()}componentWillLoad(){this.processSlottedContent()}render(){const t=this.host.dir==="rtl"||this.host.ownerDocument.dir==="rtl";return o(e,{class:{[this.gridSizes.join(" ")]:true}},o("div",{class:{hero:true,"hero--light":this.theme==="light","hero--secondary":this.hasSecondaryContent,"hero--iconbox":this.hasIconBox,"hero--rtl":t,"hero--scrim":this.hasScrim,"hero--legacy":this.isLegacy,"hero--breadcrumb":!!this.breadCrumbs.length,"hero--hasbg":this.hasBg,"hero--backbtn":this.hasBackBtn,"hero--sub":this.level==="sub"}},o("div",{class:"hero__bg-wrap"},!!this.imgSrc&&o("nano-img",{class:"hero__img",lazy:false,background:true,srcSet:this.imgSrcSet,src:this.imgSrc},o(this.HeroContent,null)),!this.imgSrc&&[o("div",{class:"hero__bg-slot"},o("slot",{name:"background"})),o(this.HeroContent,null)])))}get host(){return r(this)}static get watchers(){return{breadCrumbs:["breadCrumbChange"],iconBoxItems:["iconBoxItemChange"]}}};n.style=s;export{n as nano_hero};
|
5
|
+
//# sourceMappingURL=p-d122b1ff.entry.js.map
|
File without changes
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{r as o,h as n}from"./p-
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{r as o,h as n}from"./p-b5c33aff.js";import{f as t}from"./p-f8f89998.js";const a=".sc-nano-icon-button-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-icon-button,*.sc-nano-icon-button::before,*.sc-nano-icon-button::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-icon-button{display:none !important}.sc-nano-icon-button-h{display:inline-block;--border-radius:var(--nano-border-radius-medium, 4px);--active-color:#005c75;--hover-color:#007495;--nano-color-base:var(--color, #687576);--background:transparent;--padding:var(--nano-spacing-small, 8px)}.icon-button.sc-nano-icon-button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-radius:var(--border-radius);background:var(--background);font-size:inherit;color:var(--color);padding:var(--padding);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out, -webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out}.icon-button.sc-nano-icon-button:hover:not(.icon-button--disabled),.icon-button.sc-nano-icon-button:focus:not(.icon-button--disabled){color:var(--hover-color);--nano-color-base:var(--hover-color)}.icon-button.sc-nano-icon-button:active:not(.icon-button--disabled){color:var(--active-color);--nano-color-base:var(--active-color)}.icon-button.sc-nano-icon-button:focus{outline:none}.icon-button--disabled.sc-nano-icon-button{opacity:0.5;cursor:not-allowed;pointer-events:none}.focus-visible.icon-button.sc-nano-icon-button:focus{-webkit-box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}";let i=class{constructor(n){o(this,n);this.type="button";this.disabled=false}async setFocus(){this.button.focus()}componentDidLoad(){t.observe(this.button)}connectedCallback(){if(this.button)t.observe(this.button)}disconnectedCallback(){t.unobserve(this.button)}render(){const o=this.href===undefined?"button":"a";return n(o,{part:"base",ref:o=>this.button=o,class:{"icon-button":true,"icon-button--disabled":this.disabled},"aria-label":this.label,name:this.name,value:this.value,href:this.href||undefined,target:this.href&&this.target?this.target:undefined,type:!this.href&&this.type?this.type:undefined},n("nano-icon",{name:this.iconName,src:this.iconSrc,"aria-hidden":"true"}))}};i.style=a;export{i as nano_icon_button};
|
5
|
+
//# sourceMappingURL=p-d37e1489.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/icon-button/icon-button.scss?tag=nano-icon-button&encapsulation=scoped","src/components/icon-button/icon-button.tsx"],"names":["iconButtonCss","IconButton","[object Object]","hostRef","this","type","disabled","button","focus","focusVisible","observe","unobserve","TagType","href","undefined","h","part","ref","el","class","icon-button","icon-button--disabled","aria-label","label","name","value","target","iconName","src","iconSrc","aria-hidden"],"mappings":";;;+EAAA,MAAMA,EAAgB,qhECUTC,EAAU,MALvBC,YAAAC,aAe2BC,KAAAC,KAAsC,SAatCD,KAAAE,SAAW,MAYpCJ,iBACEE,KAAKG,OAAOC,QAGdN,mBACEO,EAAaC,QAAQN,KAAKG,QAG5BL,oBACE,GAAIE,KAAKG,OAAQE,EAAaC,QAAQN,KAAKG,QAG7CL,uBACEO,EAAaE,UAAUP,KAAKG,QAG9BL,SACE,MAAMU,EAAUR,KAAKS,OAASC,UAAY,SAAY,IAEtD,OACEC,EAACH,EAAO,CACNI,KAAK,OACLC,IAAMC,GAAQd,KAAKG,OAASW,EAC5BC,MAAO,CACLC,cAAe,KACfC,wBAAyBjB,KAAKE,UAC/BgB,aACWlB,KAAKmB,MACjBC,KAAMpB,KAAKoB,KACXC,MAAOrB,KAAKqB,MACZZ,KAAMT,KAAKS,MAAQC,UACnBY,OAAQtB,KAAKS,MAAQT,KAAKsB,OAAStB,KAAKsB,OAASZ,UACjDT,MAAOD,KAAKS,MAAQT,KAAKC,KAAOD,KAAKC,KAAOS,WAE5CC,EAAA,YAAA,CAAWS,KAAMpB,KAAKuB,SAAUC,IAAKxB,KAAKyB,QAAOC,cAAc","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/form';\n\n:host {\n /**\n * @prop --border-radius: defaults to #{$border-radius-medium};\n * @prop --border-radius: defaults to #{$border-radius-medium};\n * @prop --color: defaults to #{map.get($colors, palegrey)};\n * @prop --active-color: defaults to #{map.get($colors, darkblue--faded)};\n * @prop --hover-color: defaults to #{map.get($colors, blue)};\n * @prop --background: defaults to transparent;\n * @prop --padding: defaults to #{$spacing-small};\n */\n display: inline-block;\n\n --border-radius: #{$border-radius-medium};\n --active-color: #{map.get($colors, darkblue--faded)};\n --hover-color: #{map.get($colors, blue)};\n --nano-color-base: var(--color, #{map.get($colors, mediumgrey)});\n --background: transparent;\n --padding: #{$spacing-small};\n}\n\n.icon-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n border: none;\n border-radius: var(--border-radius);\n background: var(--background);\n font-size: inherit;\n color: var(--color);\n padding: var(--padding);\n cursor: pointer;\n appearance: none;\n -webkit-appearance: none;\n transition: box-shadow #{$transition-xfast} ease-in-out;\n\n &:hover:not(.icon-button--disabled),\n &:focus:not(.icon-button--disabled) {\n color: var(--hover-color);\n\n --nano-color-base: var(--hover-color);\n }\n\n &:active:not(.icon-button--disabled) {\n color: var(--active-color);\n\n --nano-color-base: var(--active-color);\n }\n\n &:focus {\n outline: none;\n }\n}\n\n.icon-button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.focus-visible.icon-button:focus {\n box-shadow: #{$control-focus-style};\n}\n","import { Component, Prop, h, ComponentInterface, Method } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\n\n/** Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars. */\n\n@Component({\n tag: 'nano-icon-button',\n styleUrl: 'icon-button.scss',\n scoped: true,\n})\nexport class IconButton implements ComponentInterface {\n private button: HTMLButtonElement;\n\n /** The name of the icon to draw. */\n @Prop() iconName?: string;\n\n /** An external URL of an SVG file. */\n @Prop() iconSrc?: string;\n\n /** The default behavior of the button. */\n @Prop({ reflect: true }) type: 'submit' | 'reset' | 'button' = 'button';\n\n /** The name of the button, submitted as a pair with the button’s value as part of the form data. */\n @Prop({ reflect: true }) name?: string;\n\n /** Defines the value associated with the button’s name when it’s submitted with the form data. */\n @Prop({ reflect: true }) value?: string;\n\n /** A description that gets read by screen readers and other assistive devices. For optimal accessibility, you should\n * always include a label that describes what the icon button does. */\n @Prop() label!: string;\n\n /** Set to true to disable the button. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Contains a URL or a URL fragment that the hyperlink points to.\n * If this property is set, an anchor tag will be rendered. */\n @Prop() href: string | undefined;\n\n /** Specifies where to display the linked URL. Only applies when an `href` is provided.\n * Special keywords: `\"_blank\"`, `\"_self\"`, `\"_parent\"`, `\"_top\"`. */\n @Prop() target: string | undefined;\n\n /** Sets focus on the internal button */\n @Method()\n async setFocus() {\n this.button.focus();\n }\n\n componentDidLoad() {\n focusVisible.observe(this.button);\n }\n\n connectedCallback() {\n if (this.button) focusVisible.observe(this.button);\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.button);\n }\n\n render() {\n const TagType = this.href === undefined ? 'button' : ('a' as any);\n\n return (\n <TagType\n part=\"base\"\n ref={(el) => (this.button = el)}\n class={{\n 'icon-button': true,\n 'icon-button--disabled': this.disabled,\n }}\n aria-label={this.label}\n name={this.name}\n value={this.value}\n href={this.href || undefined}\n target={this.href && this.target ? this.target : undefined}\n type={!this.href && this.type ? this.type : undefined}\n >\n <nano-icon name={this.iconName} src={this.iconSrc} aria-hidden=\"true\" />\n </TagType>\n );\n }\n}\n"]}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,n,i){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function r(e){try{l(i.next(e))}catch(t){a(t)}}function s(e){try{l(i["throw"](e))}catch(t){a(t)}}function l(e){e.done?n(e.value):o(e.value).then(r,s)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,o,a,r;return r={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function s(e){return function(t){return l([e,t])}}function l(r){if(i)throw new TypeError("Generator is already executing.");while(n)try{if(i=1,o&&(a=r[0]&2?o["return"]:r[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,r[1])).done)return a;if(o=0,a)r=[r[0]&2,a.value];switch(r[0]){case 0:case 1:a=r;break;case 4:n.label++;return{value:r[1],done:false};case 5:n.label++;o=r[1];r=[0];continue;case 7:r=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(r[0]===6||r[0]===2)){n=0;continue}if(r[0]===3&&(!a||r[1]>a[0]&&r[1]<a[3])){n.label=r[1];break}if(r[0]===6&&n.label<a[1]){n.label=a[1];a=r;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(r);break}if(a[2])n.ops.pop();n.trys.pop();continue}r=t.call(e,n)}catch(s){r=[6,s];o=0}finally{i=a=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};
|
2
|
+
/*!
|
3
|
+
* Web Components for Nanopore digital Web Apps
|
4
|
+
*/System.register(["./p-f48be9f5.system.js","./p-8378428e.system.js","./p-89edc042.system.js"],(function(e){"use strict";var t,n,i,o,a,r,s,l,d;return{setters:[function(e){t=e.r;n=e.c;i=e.h;o=e.e;a=e.g},function(e){r=e.p;s=e.a;l=e.c},function(e){d=e.c}],execute:function(){var u=".sc-nano-date-input-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-date-input{display:none !important}.sc-nano-date-input-h{display:inline-block;width:100%;--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--open-btn-color:var(--nano-button-color, #f0efed);--open-btn-border:none;--close-btn-color:var(--nano-button-color, #f0efed);--picker-base-size:16px}.nano-color.sc-nano-date-input-h{--focus-shadow:0 0 0 0.1875rem rgba(var(--nano-color-tint-rgb), 0.56)}nano-icon.sc-nano-date-input{pointer-events:none}.date-field.sc-nano-date-input{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative}.date-field__dropdown.sc-nano-date-input{--padding:0;--overflow:visible;padding:0 !important;width:0 !important;width:100%;z-index:var(--nano-layer-index-dropdown, 300) !important}.date-field__close-bar.sc-nano-date-input{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;border:0;margin:0;overflow:visible;padding:0;position:absolute;right:-8px;top:-8px;width:auto;z-index:1}.date-field__open.sc-nano-date-input{background:var(--open-btn-color);border:var(--open-btn-border);margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.date-field__open.sc-nano-date-input:focus{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow);outline:none}.date-field__close.sc-nano-date-input{-webkit-appearance:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-moz-appearance:none;appearance:none;background:var(--close-btn-color);border:0;border-radius:50%;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:24px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;width:24px}@media (min-width: 36em){.date-field__close.sc-nano-date-input{opacity:0}}.date-field__close.sc-nano-date-input:focus{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow);outline:none}@media (min-width: 36em){.date-field__close.sc-nano-date-input:focus{opacity:1}}.date-field__close.sc-nano-date-input nano-icon.sc-nano-date-input{margin:0 auto}.date-field.sc-nano-date-input nano-date-picker.sc-nano-date-input{font-size:var(--picker-base-size)}.vhidden.sc-nano-date-input{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}";var c={d:"(\\d{1,2})",m:"(\\d{1,2})",y:"(\\d{4})"};var p=0;var h=e("nano_date_input",function(){function e(e){var i=this;t(this,e);this.nanoChange=n(this,"nanoChange",7);this.nanoValidate=n(this,"nanoValidate",7);this.directInput=false;this.dateOrderIndeces={d:0,m:1,y:3};this.inputId="nano-input-"+p++;this.locale=window.navigator.languages||window.navigator.language||undefined;this._invalid=false;this.helperText=true;this.helperTextFormat={year:"numeric",month:"long",day:"numeric"};this.floatLabel=false;this.name=this.inputId;this.readonly=false;this.disabled=false;this.autofocus=false;this.clearInput=false;this.value="";this.validateOn="submitThenDirty";this.showInlineError=true;this.dateOrder="dmy";this.required=false;this.hideLabel=false;this.picker=true;this.pickerOpen=false;this.closeAfterPicked=true;this._dropDownConfig={};this.isDateDisabled=function(){return false};this.onInputChange=function(e){e.stopPropagation();i.setValue(e.target.value)};this.onInputValidate=function(e){e.stopPropagation();i._invalid=!e.detail.isValid;i.nanoValidate.emit({isValid:e.detail.isValid,errorMessage:e.detail.errorMessage,originalEvent:e.detail.originalEvent})};this.onInputKey=function(){i.directInput=true};this.onDatePicked=function(e){i.directInput=false;i.value=e.detail.value;if(i.closeAfterPicked)i.pickerOpen=false};this.onDropdownHide=function(){setTimeout((function(e){return i.pickerOpen=false}),200);setTimeout((function(e){return i.trigger.focus()}),50)};this.onDropdownShow=function(){setTimeout((function(e){i.pickerEle.setFocus(false,i.pickerOpenSource==="key");i.pickerOpenSource=null}),200)};this.onTriggerClick=function(){if(!i.pickerOpen){i.pickerOpen=true;i.pickerOpenSource="mouse"}};this.onTriggerKey=function(e){if([" ","Enter"].includes(e.key)){if(!i.pickerOpen){i.pickerOpen=true;i.pickerOpenSource="key"}}};this.onCloseClick=function(){if(i.pickerOpen)i.pickerOpen=false};this.onCloseKeyDown=function(e){if(e.key==="Tab"&&e.shiftKey){i.pickerEle.setFocus(true);e.preventDefault()}if(e.key===" "||e.key==="Enter"){if(i.pickerOpen)i.pickerOpen=false}}}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.validityMessage},enumerable:false,configurable:true});e.prototype.handleValueChange=function(){var e=this;if(!this.directInput)this.inputValue=this.formatIsoDate(this.value);setTimeout((function(){e.nanoChange.emit({value:e.value,date:r(e.value)})}),20);this.directInput=false};e.prototype.handleDateOrderChange=function(){this.setDatePattern()};e.prototype.testDateValidity=function(){var e=this;var t=r(this.value);var n,i,o="";if(this.value&&t){if(this.min&&(n=r(this.min))&&t<n){o="Date below the minimum: "+n.toLocaleDateString(this.locale,this.helperTextFormat)}if(this.max&&(i=r(this.max))&&t>i){o="Date above the maximum: "+i.toLocaleDateString(this.locale,this.helperTextFormat)}if(this.isDateDisabled(t)){o="Date selected is disabled."}}requestAnimationFrame((function(n){return __awaiter(e,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:if(!this.input)return[2];return[4,this.input.getInputElement()];case 1:e=n.sent();if(this.value.length&&!t)o="Please enter a valid date";e.setCustomValidity(o);if(this.input.validateOn==="dirty"){this.input.showError(o)}return[2]}}))}))}))};e.prototype.handlePickerOpenChange=function(){this.dropdown.open=this.pickerOpen};Object.defineProperty(e.prototype,"dropDownConfig",{get:function(){return this._dropDownConfig},set:function(e){this._dropDownConfig=Object.assign(Object.assign({},this._dropDownConfig),e)},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"dateValue",{get:function(){return r(this.value)},enumerable:false,configurable:true});e.prototype.reportValidity=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,this.input.reportValidity(e)];case 1:return[2,t.sent()]}}))}))};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input)this.input.setFocus();return[2]}))}))};e.prototype.getInputElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,this.input.getInputElement()];case 1:return[2,e.sent()]}}))}))};e.prototype.showError=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(!this.input)return[2];this.input.showError(e);return[2]}))}))};e.prototype.setDatePattern=function(){var e=this;var t=[];var n=[];Array.from(this.dateOrder).map((function(i,o){t.push(c[i]);e.dateOrderIndeces[i]=o;n.push(i==="y"?"yyyy":i+i)}));this.pattern=t.join("\\W+");if(!this.placeholder&&this.placeholder!=="false")this.placeholder=n.join(" ")};e.prototype.formatIsoDate=function(e){var t=[];Array.from("ymd").map((function(e){return t.push(c[e])}));var n=e.match(new RegExp(t.join("\\W+")));if(!n)return"";var i=[];i[this.dateOrderIndeces.d]=n[3];i[this.dateOrderIndeces.m]=n[2];i[this.dateOrderIndeces.y]=n[1];return i.join(" ")};e.prototype.setValue=function(e){var t=e.match(new RegExp(this.pattern));if(!t){this.value=e;return}var n=l(t[this.dateOrderIndeces.y+1],t[this.dateOrderIndeces.m+1],t[this.dateOrderIndeces.d+1]);if(!n){n=new Date(e);if(!n){this.value=e;return}}var i=s(n);this.value=i;return i};e.prototype.connectedCallback=function(){this.setDatePattern();this.handleValueChange()};e.prototype.componentDidLoad=function(){var e=this;if(!this.pickerCloseBtn||!this.picker)return;this.pickerEle.firstFocusEle=this.pickerCloseBtn;this.dropdown.tetherTo=this.trigger;setTimeout((function(t){return e.handlePickerOpenChange()}),300)};e.prototype.render=function(){var e=this;this.locale=navigator.languages||navigator.language||undefined;this.dropDownConfig.placement=this.dropDownConfig.placement||"bottom-end";if(this.host.ownerDocument.dir==="rtl"){this.dropDownConfig.placement.replace("start","end")}if(this.trigger)this.dropDownConfig.tetherTo=this.trigger;var t=r(this.value);var n=!!this.host.querySelector('[slot="helper"]');return i(o,{class:Object.assign({},d(this.color))},i("div",{class:"date-field"},i("nano-input",{class:"date-field__input",slot:"trigger",required:this.required||undefined,showInlineError:this.showInlineError,validateOn:this.validateOn,placeholder:this.placeholder!=="false"?this.placeholder:undefined,pattern:this.pattern,label:this.label,disabled:this.disabled||undefined,color:this.color||undefined,autofocus:this.autofocus||undefined,clearInput:this.clearInput||undefined,onNanoChange:this.onInputChange,onNanoInput:this.onInputKey,onNanoValidate:this.onInputValidate,name:"",form:this.form||undefined,size:this.size||undefined,readonly:this.readonly,value:this.inputValue,ref:function(t){return e.input=t},floatLabel:this.floatLabel,hideLabel:this.hideLabel,inputmode:"numeric",part:"input"},i("slot",{name:"start",slot:"start"}),i("slot",{name:"label"}),i("slot",{name:"end",slot:"end"}),this.picker&&[i("button",{slot:"end",class:"date-field__open",type:"button",onKeyDown:this.onTriggerKey,onClick:this.onTriggerClick,ref:function(t){return e.trigger=t},disabled:this.disabled||this.readonly},i("nano-icon",{name:"light/calendar-alt"})),i("nano-dropdown",Object.assign({slot:"end",onNanoHide:this.onDropdownHide,onNanoShow:this.onDropdownShow,dialogTitle:"Choose a date",class:"date-field__dropdown",ref:function(t){return e.dropdown=t}},this.dropDownConfig,{part:"dropdown"}),i("div",null,i("div",{class:"date-field__close-bar"},i("button",{class:"date-field__close",type:"button",onMouseDown:this.onCloseClick,onKeyDown:this.onCloseKeyDown,ref:function(t){return e.pickerCloseBtn=t}},i("nano-icon",{name:"light/times"}),i("span",{class:"vhidden"},"Close window"))),i("nano-date-picker",{isDateDisabled:this.isDateDisabled,onNanoDatePicked:this.onDatePicked,min:this.min||undefined,max:this.max||undefined,"is-modal":true,ref:function(t){return e.pickerEle=t},localization:this.localization,selectedDate:this.value||this.initialPickerDate,firstDayOfWeek:this.firstDayOfWeek,color:this.color||undefined,part:"date-picker"})))],(n||this.helperText||this.showInlineError)&&i("span",{slot:"helper"},i("span",{class:{vhidden:!!this.value.length}},i("slot",{name:"helper"})),this.helperText&&!!t&&i("span",null,t.toLocaleDateString(this.locale,this.helperTextFormat)))),i("input",{type:"hidden",value:this.value,name:this.name})))};Object.defineProperty(e.prototype,"host",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{value:["handleValueChange","testDateValidity"],dateOrder:["handleDateOrderChange"],min:["testDateValidity"],max:["testDateValidity"],pickerOpen:["handlePickerOpenChange"]}},enumerable:false,configurable:true});return e}());h.style=u}}}));
|
5
|
+
//# sourceMappingURL=p-d61ae833.system.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/date-input/date-input.scss?tag=nano-date-input&encapsulation=scoped","src/components/date-input/date-input.tsx"],"names":["dateInputCss","DateRegxps","d","m","y","inputIds","DateInput","exports","class_1","hostRef","_this","this","directInput","dateOrderIndeces","inputId","locale","window","navigator","languages","language","undefined","_invalid","helperText","helperTextFormat","year","month","day","floatLabel","name","readonly","disabled","autofocus","clearInput","value","validateOn","showInlineError","dateOrder","required","hideLabel","picker","pickerOpen","closeAfterPicked","_dropDownConfig","isDateDisabled","onInputChange","e","stopPropagation","setValue","target","onInputValidate","detail","isValid","nanoValidate","emit","errorMessage","originalEvent","onInputKey","onDatePicked","onDropdownHide","setTimeout","_","trigger","focus","onDropdownShow","pickerEle","setFocus","pickerOpenSource","onTriggerClick","onTriggerKey","includes","key","onCloseClick","onCloseKeyDown","shiftKey","preventDefault","Object","defineProperty","prototype","input","validityMessage","handleValueChange","inputValue","formatIsoDate","nanoChange","date","parseISODate","handleDateOrderChange","setDatePattern","testDateValidity","valueDate","min","max","error","toLocaleDateString","requestAnimationFrame","__awaiter","getInputElement","_a","sent","length","setCustomValidity","showError","handlePickerOpenChange","dropdown","open","ddc","assign","reportValidity","validateFirst","message","dateRegexOrdered","dateStrOrd","Array","from","map","datepart","i","push","pattern","join","placeholder","isoDate","matches","match","RegExp","formatted","createDate","Date","dateStr","printISODate","connectedCallback","componentDidLoad","pickerCloseBtn","firstFocusEle","tetherTo","render","dropDownConfig","placement","host","ownerDocument","dir","replace","hasHelperSlot","querySelector","h","Host","class","createColorClasses","color","slot","label","onNanoChange","onNanoInput","onNanoValidate","form","size","ref","inputmode","part","type","onKeyDown","onClick","onNanoHide","onNanoShow","dialogTitle","onMouseDown","pickerClose","onNanoDatePicked","is-modal","localization","selectedDate","initialPickerDate","firstDayOfWeek","vhidden"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/layers';\n@import '../../global/style/utilities/globals';\n\n:host {\n /**\n * @prop --focus-shadow: defaults to #{$control-focus-style};\n * @prop --open-btn-color: defaults to #{$button-bg-color};\n * @prop --open-btn-border: defaults to none;\n * @prop --close-btn-color: defaults to #{map.get($colors, celsius)};\n * @prop --picker-base-size: Base font size of the date picker component. Defaults to 16px;\n */\n\n display: inline-block;\n width: 100%;\n\n --focus-shadow: #{$control-focus-style};\n --open-btn-color: #{$button-bg-color};\n --open-btn-border: none;\n --close-btn-color: #{$button-bg-color};\n --picker-base-size: 16px;\n}\n\n:host(.nano-color) {\n --focus-shadow: #{$control-focus-size current-color(tint, 0.56)};\n}\n\nnano-icon {\n pointer-events: none;\n}\n\n.date-field {\n display: flex;\n flex-direction: column;\n position: relative;\n\n &__dropdown {\n --padding: 0;\n --overflow: visible;\n\n padding: 0 !important;\n width: 0 !important;\n width: 100%;\n z-index: $layer-index-dropdown !important;\n }\n\n &__close-bar {\n align-items: center;\n display: flex;\n justify-content: space-between;\n text-overflow: ellipsis;\n white-space: nowrap;\n border: 0;\n margin: 0;\n overflow: visible;\n padding: 0;\n position: absolute;\n right: -8px;\n top: -8px;\n width: auto;\n z-index: 1;\n }\n\n &__open {\n background: var(--open-btn-color);\n border: var(--open-btn-border);\n margin: 0;\n appearance: none;\n\n &:focus {\n box-shadow: var(--focus-shadow);\n outline: none;\n }\n }\n\n &__close {\n -webkit-appearance: none;\n align-items: center;\n appearance: none;\n background: var(--close-btn-color);\n border: 0;\n border-radius: 50%;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n padding: 0;\n width: 24px;\n\n @media (min-width: 36em) {\n opacity: 0;\n }\n\n &:focus {\n box-shadow: var(--focus-shadow);\n outline: none;\n\n @media (min-width: 36em) {\n opacity: 1;\n }\n }\n\n nano-icon {\n margin: 0 auto;\n }\n }\n\n nano-date-picker {\n font-size: var(--picker-base-size);\n }\n}\n\n.vhidden {\n @include visually-hide();\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n h,\n Prop,\n Watch,\n State,\n Event,\n EventEmitter,\n Host,\n Method,\n} from '@stencil/core';\nimport {\n createDate,\n DaysOfWeek,\n printISODate,\n parseISODate,\n} from '../../utils/date-utils';\n\nimport {\n PickerChangeEvent,\n DateInputChangeEventDetail,\n Color,\n LocalDateOpts,\n DuetLocalizedText,\n ControlValidity,\n ControlValidityEventDetail,\n DateDisabledPredicate,\n} from '../../interface';\nimport { createColorClasses } from '../../utils';\nimport type { Dropdown } from '../dropdown/dropdown';\n\nconst DateRegxps = {\n d: '(\\\\d{1,2})',\n m: '(\\\\d{1,2})',\n y: '(\\\\d{4})',\n};\n\nlet inputIds = 0;\n\n/**\n * The date-input component combines `nano-dropdown`, `nano-input` and `nano-date-picker` components to make a fully featured date form field. It has specific options for localisation, date formatting and validation.\n *\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n * @slot start - input start slot\n * @slot end - input end slot\n */\n@Component({\n tag: 'nano-date-input',\n styleUrl: 'date-input.scss',\n scoped: true,\n})\nexport class DateInput implements ComponentInterface {\n private pickerEle!: HTMLNanoDatePickerElement;\n private trigger!: HTMLButtonElement;\n private pickerCloseBtn!: HTMLButtonElement;\n private dropdown!: HTMLNanoDropdownElement;\n private input: HTMLNanoInputElement;\n private pickerOpenSource: 'key' | 'mouse';\n\n private directInput = false;\n private dateOrderIndeces = { d: 0, m: 1, y: 3 };\n private inputId = `nano-input-${inputIds++}`;\n private locale =\n (window.navigator.languages as string[]) ||\n window.navigator.language ||\n undefined;\n\n @Element() host: HTMLNanoDateInputElement;\n\n // Private state\n\n @State() pattern!: string;\n @State() inputValue: string;\n\n // Public Api / Prop\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.validityMessage;\n }\n\n /**\n * Whether to show a long form, confirmation date string of the one currently entered\n */\n @Prop() helperText: boolean = true;\n\n /**\n * Options for the date string display. Refer to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString.\n */\n @Prop() helperTextFormat: LocalDateOpts = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n };\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * The initial size (number of characters) of the control.\n */\n @Prop() size?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() firstDayOfWeek?: DaysOfWeek;\n\n /**\n * Button labels, day names, month names, etc, used for localization.\n * Default is English.\n */\n @Prop() localization?: DuetLocalizedText;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop() disabled = false;\n\n /**\n * The color to use from the application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n @Prop() clearInput = false;\n\n /**\n * String to place within a label element. Alternatively you may use a label slot.\n */\n @Prop() label?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n * The pattern prop will be used to create a placeholder automatically if unused.\n */\n @Prop({ mutable: true }) placeholder: string;\n\n /**\n * Current value. Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @Watch('value')\n handleValueChange() {\n if (!this.directInput) this.inputValue = this.formatIsoDate(this.value);\n setTimeout(() => {\n this.nanoChange.emit({\n value: this.value,\n date: parseISODate(this.value),\n });\n }, 20);\n this.directInput = false;\n }\n\n /**\n * When should the field perform validation\n */\n @Prop() validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * The order of the date parts for entry and display.\n * e.g. dmy = dd mm yyyy\n */\n @Prop() dateOrder: 'dmy' | 'mdy' | 'ymd' | 'dym' = 'dmy';\n\n @Watch('dateOrder')\n handleDateOrderChange() {\n this.setDatePattern();\n }\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @Prop() min?: string;\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @Prop() max?: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n @Watch('min')\n @Watch('max')\n @Watch('value')\n testDateValidity() {\n const valueDate = parseISODate(this.value);\n let min: Date,\n max: Date,\n error: string = '';\n\n if (this.value && valueDate) {\n if (this.min && (min = parseISODate(this.min)) && valueDate < min) {\n error =\n 'Date below the minimum: ' +\n min.toLocaleDateString(this.locale, this.helperTextFormat);\n }\n if (this.max && (max = parseISODate(this.max)) && valueDate > max) {\n error =\n 'Date above the maximum: ' +\n max.toLocaleDateString(this.locale, this.helperTextFormat);\n }\n if (this.isDateDisabled(valueDate)) {\n error = 'Date selected is disabled.';\n }\n }\n\n requestAnimationFrame(async (_) => {\n if (!this.input) return;\n const input = await this.input.getInputElement();\n if (this.value.length && !valueDate) error = 'Please enter a valid date';\n\n input.setCustomValidity(error);\n if (this.input.validateOn === 'dirty') {\n this.input.showError(error);\n }\n });\n }\n\n /**\n * Show a date picker. Date pickers are not very useful\n * if the potential input is too far in the distance or past\n * e.g. Birthdays\n */\n @Prop() picker: boolean = true;\n\n /**\n * Initial picker date. Will be to `value` if set. Will be today's date if nothing set.\n * Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop() initialPickerDate?: string;\n\n /**\n * Set / read whether the picker is currently open.\n */\n @Prop({ reflect: true, mutable: true }) pickerOpen: boolean = false;\n\n @Watch('pickerOpen')\n handlePickerOpenChange() {\n this.dropdown.open = this.pickerOpen;\n }\n\n /**\n * Close the picker after a date is selected\n */\n @Prop() closeAfterPicked: boolean = true;\n\n /** nano-dropdown config options you can pass to the nested dropdown component */\n @Prop()\n get dropDownConfig() {\n return this._dropDownConfig;\n }\n set dropDownConfig(ddc: Partial<Dropdown>) {\n this._dropDownConfig = { ...this._dropDownConfig, ...ddc };\n }\n private _dropDownConfig: Partial<Dropdown> = {};\n\n /** @readonly get the value as a `Date` */\n @Prop()\n get dateValue() {\n return parseISODate(this.value);\n }\n\n /** Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends. */\n @Prop() isDateDisabled: DateDisabledPredicate = () => false;\n\n // Event emitters\n\n /**\n * Event emitted when a date is selected.\n */\n @Event() nanoChange: EventEmitter<DateInputChangeEventDetail>;\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 // 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 await this.input.reportValidity(validateFirst);\n }\n\n /**\n * Sets focus on the child `nano-input`.\n */\n @Method()\n async setFocus() {\n if (this.input) this.input.setFocus();\n }\n\n /**\n * Returns the native `<input>` element used under the hood.\n */\n @Method()\n async getInputElement() {\n return await this.input.getInputElement();\n }\n\n /**\n * Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (!this.input) return;\n this.input.showError(message);\n }\n\n // Event handlers\n\n private onInputChange = (\n e: CustomEvent & {\n target: HTMLInputElement;\n }\n ) => {\n e.stopPropagation();\n this.setValue(e.target.value);\n };\n\n private onInputValidate = (e: CustomEvent<ControlValidityEventDetail>) => {\n e.stopPropagation();\n this._invalid = !e.detail.isValid;\n this.nanoValidate.emit({\n isValid: e.detail.isValid,\n errorMessage: e.detail.errorMessage,\n originalEvent: e.detail.originalEvent,\n });\n };\n\n private onInputKey = () => {\n this.directInput = true;\n };\n\n private onDatePicked = (e: { detail: PickerChangeEvent }) => {\n this.directInput = false;\n this.value = e.detail.value;\n if (this.closeAfterPicked) this.pickerOpen = false;\n };\n\n private onDropdownHide = () => {\n setTimeout((_) => (this.pickerOpen = false), 200);\n setTimeout((_) => this.trigger.focus(), 50);\n };\n\n private onDropdownShow = () => {\n setTimeout((_) => {\n this.pickerEle.setFocus(false, this.pickerOpenSource === 'key');\n this.pickerOpenSource = null;\n }, 200);\n };\n\n private onTriggerClick = () => {\n if (!this.pickerOpen) {\n this.pickerOpen = true;\n this.pickerOpenSource = 'mouse';\n }\n };\n\n private onTriggerKey = (e: KeyboardEvent) => {\n if ([' ', 'Enter'].includes(e.key)) {\n if (!this.pickerOpen) {\n this.pickerOpen = true;\n this.pickerOpenSource = 'key';\n }\n }\n };\n\n private onCloseClick = () => {\n if (this.pickerOpen) this.pickerOpen = false;\n };\n\n private onCloseKeyDown = (e: KeyboardEvent) => {\n // this ensures focus is trapped inside the picker\n if (e.key === 'Tab' && e.shiftKey) {\n this.pickerEle.setFocus(true);\n e.preventDefault();\n }\n if (e.key === ' ' || e.key === 'Enter') {\n if (this.pickerOpen) this.pickerOpen = false;\n }\n };\n\n // Private logic\n\n // set the regexp input pattern and placeholder (if necessary)\n private setDatePattern() {\n let dateRegexOrdered = [];\n let dateStrOrd = [];\n Array.from(this.dateOrder).map((datepart, i) => {\n dateRegexOrdered.push(DateRegxps[datepart]);\n this.dateOrderIndeces[datepart] = i;\n dateStrOrd.push(datepart === 'y' ? 'yyyy' : datepart + datepart);\n });\n this.pattern = dateRegexOrdered.join('\\\\W+');\n\n if (!this.placeholder && this.placeholder !== 'false')\n this.placeholder = dateStrOrd.join(' ');\n }\n\n // set the public facing date string\n private formatIsoDate(isoDate: string) {\n let dateRegexOrdered = [];\n Array.from('ymd').map((datepart) =>\n dateRegexOrdered.push(DateRegxps[datepart])\n );\n const matches = isoDate.match(new RegExp(dateRegexOrdered.join('\\\\W+')));\n if (!matches) return '';\n\n let formatted = [];\n formatted[this.dateOrderIndeces.d] = matches[3];\n formatted[this.dateOrderIndeces.m] = matches[2];\n formatted[this.dateOrderIndeces.y] = matches[1];\n\n return formatted.join(' ');\n }\n\n // on manual user entry, set the value that will be sent with the form field\n private setValue(inputValue: string) {\n const matches = inputValue.match(new RegExp(this.pattern));\n\n // it's an invalid date, but we still need to set it\n if (!matches) {\n this.value = inputValue;\n return;\n }\n\n let date = createDate(\n matches[this.dateOrderIndeces.y + 1],\n matches[this.dateOrderIndeces.m + 1],\n matches[this.dateOrderIndeces.d + 1]\n );\n\n if (!date) {\n // last ditch attempt - see if the browser can get something\n date = new Date(inputValue);\n\n // it's definitely an invalid date, but set it anyway for validation messages\n if (!date) {\n this.value = inputValue;\n return;\n }\n }\n\n const dateStr = printISODate(date);\n this.value = dateStr;\n return dateStr;\n }\n\n connectedCallback() {\n this.setDatePattern();\n this.handleValueChange();\n }\n\n componentDidLoad() {\n if (!this.pickerCloseBtn || !this.picker) return;\n this.pickerEle.firstFocusEle = this.pickerCloseBtn;\n this.dropdown.tetherTo = this.trigger;\n setTimeout((_) => this.handlePickerOpenChange(), 300);\n }\n\n render() {\n this.locale =\n (navigator.languages as string[]) || navigator.language || undefined;\n\n this.dropDownConfig.placement =\n this.dropDownConfig.placement || 'bottom-end';\n\n if ((this.host.ownerDocument as Document).dir === 'rtl') {\n this.dropDownConfig.placement.replace('start', 'end');\n }\n if (this.trigger) this.dropDownConfig.tetherTo = this.trigger;\n\n const valueDate = parseISODate(this.value);\n const hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n return (\n <Host class={{ ...createColorClasses(this.color) }}>\n <div class=\"date-field\">\n <nano-input\n class=\"date-field__input\"\n slot=\"trigger\"\n required={this.required || undefined}\n showInlineError={this.showInlineError}\n validateOn={this.validateOn}\n placeholder={\n this.placeholder !== 'false' ? this.placeholder : undefined\n }\n pattern={this.pattern}\n label={this.label}\n disabled={this.disabled || undefined}\n color={this.color || undefined}\n autofocus={this.autofocus || undefined}\n clearInput={this.clearInput || undefined}\n onNanoChange={this.onInputChange}\n onNanoInput={this.onInputKey}\n onNanoValidate={this.onInputValidate}\n name=\"\"\n form={this.form || undefined}\n size={this.size || undefined}\n readonly={this.readonly}\n value={this.inputValue}\n ref={(input) => (this.input = input)}\n floatLabel={this.floatLabel}\n hideLabel={this.hideLabel}\n inputmode={'numeric'}\n part=\"input\"\n >\n <slot name=\"start\" slot=\"start\" />\n <slot name=\"label\" />\n <slot name=\"end\" slot=\"end\" />\n {this.picker && [\n <button\n slot=\"end\"\n class=\"date-field__open\"\n type=\"button\"\n onKeyDown={this.onTriggerKey}\n onClick={this.onTriggerClick}\n ref={(trigger) => (this.trigger = trigger)}\n disabled={this.disabled || this.readonly}\n >\n <nano-icon name=\"light/calendar-alt\"></nano-icon>\n </button>,\n\n <nano-dropdown\n slot=\"end\"\n onNanoHide={this.onDropdownHide}\n onNanoShow={this.onDropdownShow}\n dialogTitle=\"Choose a date\"\n class=\"date-field__dropdown\"\n ref={(dropdown) => (this.dropdown = dropdown)}\n {...this.dropDownConfig}\n part=\"dropdown\"\n >\n <div>\n <div class=\"date-field__close-bar\">\n <button\n class=\"date-field__close\"\n type=\"button\"\n onMouseDown={this.onCloseClick}\n onKeyDown={this.onCloseKeyDown}\n ref={(pickerClose) => (this.pickerCloseBtn = pickerClose)}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n <span class=\"vhidden\">Close window</span>\n </button>\n </div>\n <nano-date-picker\n isDateDisabled={this.isDateDisabled}\n onNanoDatePicked={this.onDatePicked}\n min={this.min || undefined}\n max={this.max || undefined}\n is-modal={true}\n ref={(picker) => (this.pickerEle = picker)}\n localization={this.localization}\n selectedDate={this.value || this.initialPickerDate}\n firstDayOfWeek={this.firstDayOfWeek}\n color={this.color || undefined}\n part=\"date-picker\"\n ></nano-date-picker>\n </div>\n </nano-dropdown>,\n ]}\n {(hasHelperSlot || this.helperText || this.showInlineError) && (\n <span slot=\"helper\">\n <span class={{ vhidden: !!this.value.length }}>\n <slot name=\"helper\" />\n </span>\n {this.helperText && !!valueDate && (\n <span>\n {valueDate.toLocaleDateString(\n this.locale,\n this.helperTextFormat\n )}\n </span>\n )}\n </span>\n )}\n </nano-input>\n <input type=\"hidden\" value={this.value} name={this.name} />\n </div>\n </Host>\n );\n }\n}\n"]}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
import{r as e,h as t,e as n,g as a}from"./p-b5c33aff.js";import{r as i}from"./p-289aa03f.js";const s=':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;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.main-search{display:-webkit-box;display:-ms-flexbox;display:flex;background:white;font-size:14px;min-height:calc(100vh - 63px);-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.main-search__wrap{display:contents;height:100%}.main-search ul{margin:0;padding:0;list-style:none}.main-search li{margin:0;padding:0}.main-search button:not(.result__tags-tag){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;position:relative;top:-2px}.main-search .icon-button{color:inherit;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px 7px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.main-search__topbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:1em}.main-search__topbar::after{content:"";width:calc(100% - 30px);left:30px;position:relative;border-bottom:1px solid #e5eef1;padding-top:0.9em}.main-search__applied-filters{border:solid 1px #e4e6e8;text-transform:uppercase;border-radius:3px;font-weight:bold;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:0.9;padding:5px 5px 0 5px;letter-spacing:2px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:0.5rem}.main-search__applied-filters span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host(.small) .main-search__applied-filters{display:none}.main-search__applied-nofilter{margin-left:0;margin-right:5px;margin-top:0;margin-bottom:3px;padding-left:7px;padding-right:7px;padding-top:10px;padding-bottom:10px;font-size:12px;color:rgba(69, 85, 86, 0.85)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-nofilter{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-nofilter{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}.main-search__applied-filter{padding-left:8px;padding-right:2px;padding-top:5px;padding-bottom:3px;margin-left:0;margin-right:5px;margin-top:0;margin-bottom:5px;color:#455556;font-size:11px;border-radius:2px;border:solid 1px rgba(0, 132, 169, 0.5);background-color:rgba(0, 132, 169, 0.2);line-height:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-filter{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:2px;padding-inline-end:2px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-filter{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}.main-search__applied-filter .icon-button{padding-left:10px;padding-right:4px;padding-top:2px;padding-bottom:1px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-filter .icon-button{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:4px;padding-inline-end:4px}}.main-search__applied-filter .icon-button nano-icon{pointer-events:none}.main-search .topbar__bkbtn{position:relative;left:-7px}:host(.small) .main-search .topbar__query{display:none}.main-search .topbar__filtering{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:1em;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-flex:1;-ms-flex:1;flex:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search .topbar__filtering{margin-left:unset;margin-right:unset;-webkit-margin-start:1em;margin-inline-start:1em;-webkit-margin-end:0;margin-inline-end:0}}.main-search .topbar__order{min-width:175px;max-width:200px;margin-left:auto;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search .topbar__order{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:0;margin-inline-end:0}}:host(.small) .main-search .topbar__order{max-width:300px}.main-search .topbar nano-select{opacity:1;-webkit-transition:0.1s ease opacity;transition:0.1s ease opacity}.main-search .topbar nano-select:not(.hydrated){opacity:0}.main-search .topbar__show-filters{margin-left:0.5em;margin-right:0;margin-top:0;margin-bottom:0;text-transform:uppercase;display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search .topbar__show-filters{margin-left:unset;margin-right:unset;-webkit-margin-start:0.5em;margin-inline-start:0.5em;-webkit-margin-end:0;margin-inline-end:0}}.main-search .topbar__show-filters nano-icon{font-size:20px}:host(.small) .main-search .topbar__show-filters{display:-webkit-box;display:-ms-flexbox;display:flex}.main-search .topbar__filter-count{width:12px;height:12px;-webkit-box-shadow:inset 0 3px 4px 0 rgba(0, 0, 0, 0.2);box-shadow:inset 0 3px 4px 0 rgba(0, 0, 0, 0.2);border:solid 1px #005c76;background-color:#005c76;color:white;font-size:7px;border-radius:50%;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;line-height:1;margin-bottom:3px}.main-search__results{font-size:14px;padding:1em 40px;color:rgba(69, 85, 86, 0.85);width:70%;height:100%}@media (max-width: 576px){.main-search__results{padding:1em 20px}}:host(.small) .main-search__results{width:100%}.main-search__filters{outline:none;padding-left:0;padding-right:40px;padding-top:1.8em;padding-bottom:1em;-webkit-box-flex:1;-ms-flex:1 1 30%;flex:1 1 30%;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__filters{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:40px;padding-inline-end:40px}}@media (max-width: 576px){.main-search__filters{padding-right:20px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__filters{padding-right:unset;-webkit-padding-end:20px;padding-inline-end:20px}}}:host(:not(.small)) .main-search__filters{max-width:350px;min-width:220px}.filters{color:#455556;background:white;font-size:14px}:host(.small) .filters{position:fixed;width:0;height:0;z-index:10;top:0;right:0;-webkit-transition:all 0s ease 0.5s;transition:all 0s ease 0.5s;background:none}:host(.small) .filters.show{height:100vh;width:100vw;-webkit-transition:all 0s ease 0s;transition:all 0s ease 0s}:host(.small) .filters.show::after{opacity:1}:host(.small) .filters::after{content:"";background:rgba(0, 0, 0, 0.5);position:absolute;left:0;top:0;right:0;bottom:0;z-index:-1;opacity:0;-webkit-transition:0.1s ease opacity;transition:0.1s ease opacity}.filters__close-filters{display:none !important;font-size:1.4em}:host(.small) .filters__close-filters{display:inline-block !important;margin-left:auto;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.small) .filters__close-filters{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:0;margin-inline-end:0}}:host(.small) .filters-wrap{position:absolute;top:0;right:0;background:#f7f6f6;-webkit-transform:translateX(100%);transform:translateX(100%);width:300px;min-width:200px;max-width:80vw;-webkit-transition:-webkit-transform 0.3s ease;transition:-webkit-transform 0.3s ease;transition:transform 0.3s ease;transition:transform 0.3s ease, -webkit-transform 0.3s ease;padding:1em;color:black;overflow:auto;height:100vh}:host(.small) .filters.show .filters-wrap{-webkit-transform:translateX(0%);transform:translateX(0%);-webkit-box-shadow:-3px -3px 7px rgba(0, 0, 0, 0.1);box-shadow:-3px -3px 7px rgba(0, 0, 0, 0.1)}.filters ul{margin:0;padding:0;list-style:none}.filters li{margin:0;padding:0}.filters nano-details{--padding:0.8em;margin:0.8em 0}.filters nano-details strong[slot]{display:block;padding-left:calc(20px - 0.8em)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters nano-details strong[slot]{padding-left:unset;-webkit-padding-start:calc(20px - 0.8em);padding-inline-start:calc(20px - 0.8em);}}.filters nano-details nano-icon[slot=icon-end]{padding-left:calc(20px - 0.8em);padding-right:calc(20px - 0.8em)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters nano-details nano-icon[slot=icon-end]{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(20px - 0.8em);padding-inline-start:calc(20px - 0.8em);-webkit-padding-end:calc(20px - 0.8em);padding-inline-end:calc(20px - 0.8em)}}.filters li:last-child .filter-label{margin-bottom:0}.filters .filter-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;margin:0.5em 0;line-height:1.4;z-index:0}.filters .filter-label::before{margin-left:0;margin-right:1em;margin-top:0;margin-bottom:0;content:"";border:1px solid #007495;background:#fff;border-radius:3px;height:1em;width:1em;min-width:1em;min-height:1em;display:inline-block}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters .filter-label::before{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:1em;margin-inline-end:1em}}.filters .filter-label::after{background-image:url("data:image/svg+xml;charset=utf-8,<svg%20xmlns=\'http://www.w3.org/2000/svg\'%20viewBox=\'0%200%20512%20512\'><path%20fill=\'%23ffffff\'%20d=\'M173.898%20439.404l-166.4-166.4c-9.997-9.997-9.997-26.206%200-36.204l36.203-36.204c9.997-9.998%2026.207-9.998%2036.204%200L192%20312.69%20432.095%2072.596c9.997-9.997%2026.207-9.997%2036.204%200l36.203%2036.204c9.997%209.997%209.997%2026.206%200%2036.204l-294.4%20294.401c-9.998%209.997-26.207%209.997-36.204-.001z\'/></svg>");content:"";height:0.7em;width:0.7em;position:absolute;left:2px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:1;display:block;background-size:100%;background-position:center center;background-repeat:no-repeat}:host([dir=rtl]) .filters .filter-label::after{right:1px;left:auto}.filters .filter-cb{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}.filters .filter-cb:checked+.filter-label::before{background:#245a6f}.filters .filter-cb:focus+.filter-label::before{-webkit-box-shadow:0 0 0 1px rgba(0, 0, 0, 0.7);box-shadow:0 0 0 1px rgba(0, 0, 0, 0.7)}.filters-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.filters-reset{color:#007495;font-size:12px;text-decoration:underline;margin-left:auto;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters-reset{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:0;margin-inline-end:0}}:host(.small) .filters-reset{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.filters-title{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;text-transform:uppercase;color:rgba(69, 85, 86, 0.85);font-weight:bold;font-size:14px}:host(.small) .filters-title{display:none}.result{text-decoration:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding-bottom:14px;border-bottom:1px solid #90c6e7}.result *{word-wrap:break-word;word-break:break-word}.result__title{margin:1em 0 0.5em 0;width:70%;display:-webkit-box;display:-ms-flexbox;display:flex}.result__title a{color:#0084a9;font-size:14px;line-height:1.43;text-decoration:none;font-weight:600}.result__title nano-icon{margin-left:0;margin-right:0.5em;margin-top:0;margin-bottom:0;min-width:20px;min-height:20px;opacity:0.8}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.result__title nano-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0.5em;margin-inline-end:0.5em}}@media (max-width: 992px){.result__title{width:100%}}.result__body{color:#455556;font-size:13px;width:70%;text-decoration:none}@media (max-width: 992px){.result__body{width:100%}}.result__pdf{display:inline-block;-webkit-margin-start:0.5rem;margin-inline-start:0.5rem;color:#b5aea7}.result__meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;color:#455556;font-size:11px;line-height:13px;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.result__meta>*{margin-top:0.5rem}.result__meta>*:not(:last-child){-webkit-padding-end:0;padding-inline-end:0}.result__meta>*:not(:last-child)::after{content:"";height:1rem;width:1px;background:#90c6e7;display:inline-block;-webkit-margin-start:0.7rem;margin-inline-start:0.7rem;-webkit-margin-end:0.7rem;margin-inline-end:0.7rem}@media (max-width: 576px){.result__meta>*:not(:last-child)::after{display:none}}@media (max-width: 576px){.result__meta{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}.result__tags{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media (max-width: 576px){.result__tags{-webkit-padding-start:0;padding-inline-start:0}}.result__tags-tag{color:#455556;display:inline-block;font-size:0.4375rem;letter-spacing:1.4px;background:#fff;border-radius:2px;text-transform:uppercase;padding:0 4px 1px 5px;font-weight:600;margin:3px 0.25rem 0.25rem 0;border:1px solid #b5aea7;white-space:nowrap;line-height:13px}.result__type{font-weight:600;text-transform:capitalize;white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.result__date{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#455556}.result__source{color:#455556;-webkit-padding-end:0.75rem;padding-inline-end:0.75rem}.result__authors{font-size:12px;color:#455556;margin-bottom:0.25rem;text-decoration:none;width:70%}.result__buttons{width:70%;margin-bottom:0.5rem}.result__buttons-button{background-color:#007495;color:#fff;padding:5px 8px 1px;border-radius:4px;display:inline-block;font-size:11px;text-decoration:none;border:none}.result__promo{width:70%;margin-bottom:0.5rem;text-decoration:none;color:#455556}.result__promo-box{width:300px;background-color:#e3eef1;padding:12px 12px 8px 4px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;margin-top:1rem}.result__promo-bigdate{-webkit-box-flex:0;-ms-flex:0 1 60px;flex:0 1 60px;text-align:center;font-weight:600;color:#007495;text-transform:uppercase;line-height:1.25;letter-spacing:1.5px}@media (max-width: 992px){.result__promo-bigdate{width:100%}}.result__promo-bigdate span{color:#455556;display:block}.result__promo-bigdate~div{-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-border-start:1px solid #c5dbe1;border-inline-start:1px solid #c5dbe1}.result__promo-date{font-size:12px}.result__promo-venue{font-size:12px}.result__promo nano-icon{color:#007495;position:relative;top:1px;-webkit-padding-end:2px;padding-inline-end:2px}.result__image{display:block;background-size:cover;background-repeat:no-repeat;background-position:center;border-radius:4px;position:relative;width:100%;height:150px;margin-bottom:0.5rem}@media (min-width: 576px){.result__image{width:142px;height:80px}}.result__image nano-icon{position:absolute;top:calc(50% - 0.75rem);left:calc(50% - 0.75rem);font-size:1.5rem;color:#0084a9;--primary-color:#fff;--secondary-color:#0084a9;--primary-opacity:1}@media (max-width: 576px){.result__image nano-icon{font-size:3rem;top:calc(50% - 1.5rem);left:calc(50% - 1.5rem)}}.result__video-body{width:70%;text-decoration:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media (max-width: 992px){.result__video-body{width:100%}}@media (max-width: 576px){.result__video-body{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}}.result__video-body .result__body{-webkit-padding-start:1rem;padding-inline-start:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:0;-webkit-box-flex:1;-ms-flex:1;flex:1}@media (max-width: 576px){.result__video-body .result__body{-webkit-padding-start:0;padding-inline-start:0}}.result__video-body .result__body p{display:inline;margin:0}.result__video-body .result__body u,.result__video-body .result__body li,.result__video-body .result__body a{text-decoration:none}.result__video-body .result__body .result__meta{margin-top:0.5rem}.result__video-body .result__body .result__description{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.search-empty{padding:3rem 0;text-align:center;border-top:1px solid #e5eef1}.search-empty h2{color:#455556;font-size:1.125rem;margin-bottom:0.5rem}.search-empty-icon{font-size:7rem;--icon-color:#e4e6e8;margin-bottom:2rem}.search__highlight{background:#fbffbf;font-style:normal}';let r=class{constructor(t){e(this,t);this.tagClick=e=>{e.preventDefault();let t=e.target.dataset.value;t=t==="publication"?"publications":t;t=t.toLowerCase();const n=this.algoliaEle.querySelector('nano-algolia-filter[filter-name="tags"]');if(n.value.indexOf(t)===-1){n.value=n.value?[...n.value,t]:[t]}}}handleAlgoliaCredsChange(){if(!this.apiKey||!this.appId||!this.algoliaEle)return;this.algoliaEle.apiKey=this.apiKey;this.algoliaEle.appId=this.appId}handleAlgoliaIndexChange(){if(!this.index||!this.algoliaEle)return;this.algoliaEle.searchIndex=this.index}handleGlobalNavReset(e){if(e.target.tagName!=="NANO-GLOBAL-NAV")return;this.algoliaResultsEle=null;this.goback()}handleGlobalNavSearch(e){if(e.target.tagName!=="NANO-GLOBAL-NAV")return;const{detail:{results:t,client:n}}=e;const a=t.find((e=>e.selected));this.apiKey=n.apiKey;this.appId=n.appId;this.index={name:a.indexName,index:a.index,domain:a.domain,filters:a.filters};this.algoliaEle.query=a.query}handleReorder(e){if(e.composedPath().find((e=>e.classList&&e.classList.contains("indexchange")))&&!!this.algoliaResultsEle){this.changeOrder(e)}}attachListeners(e){if(!e.composedPath().find((e=>e.id&&e.id==="main-search")))return;this.algoliaResultsEle=this.algoliaEle.querySelector("#main-search-results");this.attachResultListeners();this.algoliaEle.querySelectorAll(".filters-reset").forEach((e=>{e.addEventListener("click",(()=>{this.removeAllFilters()}))}));this.algoliaEle.querySelectorAll(".close-filters").forEach((e=>{e.addEventListener("click",(()=>{this.closefilters()}))}));let t=this.algoliaEle.querySelector(".filters-wrap");if(t){t.addEventListener("click",(e=>{e.stopPropagation()}))}this.filtersDiv=this.algoliaEle.querySelector("#main-search-filters")}attachResultListeners(e){if(e&&e.composedPath().find((e=>e===this.algoliaEle))){this.algoliaResultsEle=this.algoliaEle.querySelector("nano-algolia-results")}if(!this.algoliaResultsEle)return;let t=this.algoliaResultsEle;t.querySelectorAll(".remove-filter").forEach((e=>{e.addEventListener("click",(e=>{let t=e.target;this.removeFilter(t.dataset.filter,t.dataset.filterVal)}))}));t.querySelectorAll(".back-btn").forEach((e=>{e.addEventListener("click",(()=>{this.goback()}))}));t.querySelectorAll(".topbar__show-filters").forEach((e=>{this.openFilterBtn=e;e.addEventListener("click",(()=>{this.filtersDiv.tabIndex=-1;this.filtersDiv.classList.add("show");this.filtersDiv.setAttribute("aria-expanded","true");document.body.style.overflow="hidden";setTimeout((()=>this.filtersDiv.focus()),20)}))}));const n=Array.from(t.querySelectorAll(".result__tags-tag"));n.forEach((e=>{e.removeEventListener("click",this.tagClick);e.addEventListener("click",this.tagClick)}))}changeOrder(e){this.algoliaEle.replicaIndex=e.detail.value}goback(){this.removeAllFilters();this.algoliaEle.showResults=false;this.algoliaEle.query=""}removeFilter(e,t){this.algoliaEle.removeFilters(e,t)}removeAllFilters(){this.algoliaEle.removeFilters()}closefilters(){if(!this.filtersDiv)return;this.filtersDiv.tabIndex=null;this.filtersDiv.classList.remove("show");this.filtersDiv.setAttribute("aria-expanded","false");document.body.style.overflow="";setTimeout((()=>this.openFilterBtn.focus()),20)}componentDidLoad(){this.ro=new ResizeObserver((e=>{for(const t of e){if(!t.contentRect.width)return;this.currentWidth=t.contentRect.width}}));this.ro.observe(this.el);this.algoliaEle.filters=["created > "+Math.floor((Date.now()-631152e5)/1e3)]}render(){return t(n,{class:{small:this.currentWidth<677},dir:this.el.ownerDocument.dir==="rtl"?"rtl":false},t("nano-algolia",{"store-id":"searchq","store-method":"url-hash-push",class:"main-search__wrap sc-nano-global-search-results",ref:e=>i((()=>this.algoliaEle=e)),id:"main-search"},t("script",{type:"text/template",slot:"template"},`<div class="main-search sc-nano-global-search-results">\n <nano-algolia-results id="main-search-results" class="main-search__results sc-nano-global-search-results" infinite-scroll>\n <script type="text/template" slot="start-template">\n <div class="sc-nano-global-search-results main-search__topbar topbar">\n <button class="sc-nano-global-search-results topbar__bkbtn back-btn icon-button">\n <nano-icon class="sc-nano-global-search-results" name="light/chevron-left" size="small"></nano-icon>\n </button>\n <div>\n <em class="sc-nano-global-search-results topbar__query">'{{ it.query }}' - </em> <strong>{{ it.totalHitsWithFilters }}</strong> Results\n </div>\n\n <div class="sc-nano-global-search-results topbar__filtering">\n {{ @if (it.results.length) }}\n\n {{ @if (it.indexName === 'All') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="all_prod_en">Sort by: Most relevant</nano-option>\n <nano-option value="all_prod_en_date_desc">Sort by: Newest</nano-option>\n <nano-option value="all_prod_en_date_asc">Sort by: Oldest</nano-option>\n <nano-option value="all_prod_en_activity_date_desc">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'www') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="cws_english_en">Sort by: Most relevant</nano-option>\n <nano-option value="cws_english_en_date_desc">Sort by: Newest</nano-option>\n <nano-option value="cws_english_en_date_asc">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Resources') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="cws_english_resources_en">Sort by: Most relevant</nano-option>\n <nano-option value="cws_english_resources_en_featured_desc">Sort by: Newest</nano-option>\n <nano-option value="cws_english_resources_en_featured_asc">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Store') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="store_prod">Sort by: Most relevant</nano-option>\n <nano-option value="store_prod_date_desc">Sort by: Newest</nano-option>\n <nano-option value="store_prod_date_asc">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Community') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--community indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="community_prod">Sort by: Most relevant</nano-option>\n <nano-option value="community_prod_date_desc">Sort by: Newest</nano-option>\n <nano-option value="community_prod_date_asc">Sort by: Oldest</nano-option>\n <nano-option value="community_prod_activity_date_desc">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n {{ /if }}\n\n <button class="sc-nano-global-search-results topbar__show-filters filters-title" aria-controls="main-search-filters">\n {{ @if (it.appliedFilters && it.appliedFilters.length > 0) }}\n <span class="sc-nano-global-search-results topbar__filter-count">\n {{ (it.appliedFilters.reduce(function(a, b) { return a + (b.values ? b.values.length : 0) }, 0)) }}\n </span>\n {{ /if }}\n <nano-icon class="sc-nano-global-search-results" name="light/filter"></nano-icon>\n </button>\n </div>\n </div>\n\n {{ @if (it.results.length) }}\n <div class="sc-nano-global-search-results main-search__applied-filters">\n {{ @if (it.appliedFilters) }}\n {{ @each(it.appliedFilters) => filterObj }}\n {{ @each(filterObj.values) => filterVal }}\n <span class="sc-nano-global-search-results main-search__applied-filter">\n {{ filterVal | public_name }}\n <button class="sc-nano-global-search-results icon-button remove-filter" data-filter="{{ filterObj.name }}" data-filter-val="{{ filterVal }}">\n <nano-icon class="sc-nano-global-search-results" name="light/times"></nano-icon>\n </button>\n </span>\n {{ /each }}\n {{ /each }}\n {{ #else }}\n <span class="sc-nano-global-search-results main-search__applied-nofilter"> </span>\n {{ /if }}\n </div>\n {{ /if }}\n <\/script>\n\n <script type="text/template" slot="result-template">\n \x3c!-- START NO CONTENT --\x3e\n {{ @if ((!it.results || !it.results.length)) }}\n <div class="search-empty">\n <nano-icon name="light/search" class="search-empty-icon"></nano-icon>\n <h2>No matches found...</h2>\n <p>Please try a different search query.</p>\n </div>\n {{ /if }}\n \x3c!-- END NO CONTENT --\x3e\n {{ @if (it.totalHitsWithFilters > 0) }}\n {{ @each(it.results) => result }}\n {{ contentType = result.content_type ? result.content_type : result.type }}\n <li class="sc-nano-global-search-results">\n <div class="sc-nano-global-search-results result">\n <h4 class="sc-nano-global-search-results result__title" data-icon-set="{{(iconSet = false)}}">\n <a href="{{ result.url | abs_url(it, result) }}">\n {{ result._snippetResult.title.value | safe }}\n {{ @if (contentType === 'technical_document' || contentType === 'literature' || contentType === 'white_paper' || contentType === 'protocol') }}\n <span class="sc-nano-global-search-results result__pdf">PDF</span>\n {{ /if }}\n </a>\n </h4>\n {{ @if (result.authors) }}\n {{ @if (typeof result.authors === 'string') }}\n <a class="sc-nano-global-search-results result__authors" href="{{ result.url | abs_url(it, result) }}">Authors: {{ result.authors | trim_to(50) }}</a>\n {{ #else }}\n <a class="sc-nano-global-search-results result__authors" href="{{ result.url | abs_url(it, result) }}">\n {{ @each(result.authors) => author, index }}\n \x3c!-- {{ @if(index == 0)}} --\x3e\n Athors: {{ author | trim_to(60) }}\n \x3c!-- {{ /if }} --\x3e\n {{ /each }}\n </a>\n {{ /if }}\n {{ /if }}\n {{ @if (contentType === 'video' || contentType === 'lc_lightning_talk' ) }}\n {{ @if (result.name) }}\n <a class="sc-nano-global-search-results result__authors" href="{{ result.url | abs_url(it, result) }}">Speaker: {{ result.name | trim_to(50) }}</a>\n {{ /if }}\n <a class="sc-nano-global-search-results result__video-body" href="{{ result.url | abs_url(it, result) }}">\n {{ @if (result.image) }}\n <div class="sc-nano-global-search-results result__image" style="background-image: url('{{ result.image | abs_url(it, result) }}')">\n <nano-icon class="sc-nano-global-search-results" name="duotone/play-circle"></nano-icon>\n </div>\n {{ /if }}\n <div class="sc-nano-global-search-results result__body">\n <div class="sc-nano-global-search-results result__description">\n {{ @if (result.description) }}\n {{ result._snippetResult.description.value | safe }}\n {{ /if }}\n </div>\n </div>\n <div class="sc-nano-global-search-results result__meta">\n {{ @if (result.type || result.content_type) }}\n <div class="sc-nano-global-search-results result__type">\n {{ @if (contentType === 'lc_lightning_talk') }}\n Presentation\n {{ #else }}\n {{ contentType }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.tags) }}\n <div class="sc-nano-global-search-results result__tags">\n {{ @if (typeof result.tags === 'string') }}\n <button data-value="{{ result.tags | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ result.tags }}</button>\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== "No video" && tag !== "Resources" && tag !== "Video") }}\n <button data-value="{{ tag | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class="sc-nano-global-search-results result__source">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n </a>\n {{ /if }}\n {{ @if (result.body) }}\n <a class="sc-nano-global-search-results result__body" href="{{ result.url | abs_url(it, result) }}">{{ result._snippetResult.body.value | safe }}</a>\n {{ /if }}\n {{ @if (contentType === 'product' }}\n <div class="sc-nano-global-search-results result__buttons">\n <a class="sc-nano-global-search-results result__buttons-button" href="{{ result.url | abs_url(it, result) }}">View product</a>\n </div>\n {{ /if }}\n {{ @if (contentType === 'event') }}\n <a class="sc-nano-global-search-results result__promo" href="{{ result.url | abs_url(it, result) }}">\n <div class="sc-nano-global-search-results result__promo-box">\n <div class="sc-nano-global-search-results result__promo-bigdate">\n {{ result.start_date | date_long({year: undefined, month: 'short', day: undefined}) }}\n <span>{{ result.start_date | date_long({year: undefined, month: undefined, day: 'numeric'}) }}</span>\n </div>\n <div>\n <div class="sc-nano-global-search-results result__promo-date">\n <nano-icon class="sc-nano-global-search-results" name="light/calendar-alt"></nano-icon>\n {{ @if (result.end_date) }}\n {{ @if (result.end_date !== result.start_date) }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', month: 'short'}) }} - {{ result.end_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ #else }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ /if }}\n {{ #else }}\n {{ @if (result.start_date) }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ /if }}\n {{ /if }}\n </div>\n <div class="sc-nano-global-search-results result__promo-venue">\n <nano-icon class="sc-nano-global-search-results" name="light/map-marker-alt"></nano-icon>\n Venue\n </div>\n </div>\n </div>\n </a>\n {{ /if }}\n {{ @if (contentType !== 'lc_lightning_talk' && contentType !== 'video') }}\n <div class="sc-nano-global-search-results result__meta">\n {{ @if (result.type || result.content_type) }}\n <div class="sc-nano-global-search-results result__type">\n {{ @if (contentType === 'news_item') }}\n News\n {{ #elif (contentType === 'static_page' || contentType === 'bespoke') }}\n Page\n {{ #elif (contentType === 'case_study') }}\n Case study\n {{ #elif (contentType === 'lc_poster') }}\n Poster\n {{ #elif (contentType === 'nanopore_live') }}\n Live stream\n {{ #elif (contentType === 'data_release') }}\n Data release\n {{ #elif (contentType === 'research_area') }}\n Research area\n {{ #elif (contentType === 'white_paper') }}\n White paper\n {{ #elif (contentType === 'technical_document') }}\n Technical document\n {{ #elif (contentType === 'info_sheet') }}\n Info sheet\n {{ #elif (contentType === 'lc_home' || contentType === 'lc_venue') }}\n London Calling\n {{ #else }}\n {{ contentType }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (contentType !== 'event') }}\n {{ @if (result.updated) }}\n <div class="sc-nano-global-search-results result__date">{{ result.updated | date_long({year: 'numeric', month: 'short', day: 'numeric'}) }}</div>\n {{ #else }}\n {{ @if (result.created) }}\n <div class="sc-nano-global-search-results result__date">{{ result.created | date_long({year: 'numeric', month: 'short', day: 'numeric'}) }}</div>\n {{ /if }}\n {{ /if }}\n {{ /if }}\n {{ @if (result.tags) }}\n <div class="sc-nano-global-search-results result__tags">\n {{ @if (typeof result.tags === 'string') }}\n {{ @if (result.tags !== "Resources" && result.tags !== "Tools" && result.tags !== "Publications" && result.tags !== "Case studies") }}\n <button data-value="{{ result.tags | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ result.tags }}</button>\n {{ /if }}\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== "Resources" && tag !== "Tools" && tag !== "Publications" && tag !== "Case studies") }}\n <button data-value="{{ tag | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class="sc-nano-global-search-results result__source">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n {{ /if }}\n </div>\n </li>\n {{ /each }}\n {{ /if }}\n <\/script>\n\n <div slot="start-output"></div>\n <ul slot="result-output" class="sc-nano-global-search-results"></ul>\n </nano-algolia-results>\n\n {{ @if(Object.keys(it.origFilters).length) }}\n <div class="sc-nano-global-search-results main-search__filters filters close-filters" id="main-search-filters">\n <div class="sc-nano-global-search-results filters-wrap">\n {{ @if(it.totalHits) }}\n <div class="sc-nano-global-search-results filters-header">\n <strong class="sc-nano-global-search-results filters-title">Filters</strong>\n <button class="sc-nano-global-search-results filters-reset">Reset</button>\n <button class="sc-nano-global-search-results filters__close-filters close-filters icon-button" aria-controls="main-search-filters">\n <nano-icon class="sc-nano-global-search-results" name="light/times"></nano-icon>\n </button>\n </div>\n {{ /if }}\n\n <div>\n {{ @if(it.origFilters['type']) }}\n <nano-details class="sc-nano-global-search-results" open={true} icon-rotation="180">\n <strong slot="label">Type</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf1" store-method="url-hash-push" filter-name="type">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="sc-nano-global-search-results filter-cb" type="checkbox" value="{{ filter }}" id="type-{{ filter }}-{{x}}" />\n <label class="sc-nano-global-search-results filter-label" for="type-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['channel']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Channels</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf2" store-method="url-hash-push" filter-name="channel">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="filter-cb sc-nano-global-search-results" type="checkbox" value="{{ filter }}" id="channel-{{ filter }}-{{x}}" />\n <label class="filter-label sc-nano-global-search-results" for="channel-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['authors']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Authors</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf3" store-method="url-hash-push" filter-name="authors">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="filter-cb sc-nano-global-search-results" type="checkbox" value="{{ filter }}" id="authors-{{ filter }}-{{x}}" />\n <label class="filter-label sc-nano-global-search-results" for="authors-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['categories_without_path']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Category</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf4" store-method="url-hash-push" filter-name="categories_without_path">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n {{ @if(!filter.match(/publication/)) }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="sc-nano-global-search-results filter-cb" type="checkbox" value="{{ filter }}" id="cwp-{{ filter }}-{{x}}" />\n <label class="sc-nano-global-search-results filter-label" for="cwp-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /if }}\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['tags']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Tags</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf5" store-method="url-hash-push" filter-name="tags">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="filter-cb sc-nano-global-search-results" type="checkbox" value="{{ filter | lowercase }}" id="tags-{{ filter }}-{{x}}" />\n <label class="filter-label sc-nano-global-search-results" for="tags-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n </div>\n </div>\n </div>\n {{ /if }}\n </div>`),t("div",{slot:"output"}),t("slot",null)))}get el(){return a(this)}static get watchers(){return{algoliaEle:["handleAlgoliaCredsChange","handleAlgoliaIndexChange"],apiKey:["handleAlgoliaCredsChange"],appId:["handleAlgoliaCredsChange"],index:["handleAlgoliaIndexChange"]}}};r.style=s;export{r as nano_global_search_results};
|
5
|
+
//# sourceMappingURL=p-d93274de.entry.js.map
|