@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
@@ -1,5 +1,5 @@
|
|
1
1
|
var __awaiter=this&&this.__awaiter||function(r,n,e,a){function t(r){return r instanceof e?r:new e((function(n){n(r)}))}return new(e||(e=Promise))((function(e,o){function i(r){try{c(a.next(r))}catch(n){o(n)}}function s(r){try{c(a["throw"](r))}catch(n){o(n)}}function c(r){r.done?e(r.value):t(r.value).then(i,s)}c((a=a.apply(r,n||[])).next())}))};var __generator=this&&this.__generator||function(r,n){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a,t,o,i;return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(r){return function(n){return c([r,n])}}function c(i){if(a)throw new TypeError("Generator is already executing.");while(e)try{if(a=1,t&&(o=i[0]&2?t["return"]:i[0]?t["throw"]||((o=t["return"])&&o.call(t),0):t.next)&&!(o=o.call(t,i[1])).done)return o;if(t=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:e.label++;return{value:i[1],done:false};case 5:e.label++;t=i[1];i=[0];continue;case 7:i=e.ops.pop();e.trys.pop();continue;default:if(!(o=e.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){e=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){e.label=i[1];break}if(i[0]===6&&e.label<o[1]){e.label=o[1];o=i;break}if(o&&e.label<o[2]){e.label=o[2];e.ops.push(i);break}if(o[2])e.ops.pop();e.trys.pop();continue}i=n.call(r,e)}catch(s){i=[6,s];t=0}finally{a=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};
|
2
2
|
/*!
|
3
3
|
* Web Components for Nanopore digital Web Apps
|
4
|
-
*/System.register(["./p-59b3d24b.system.js","./p-1c216ca4.system.js","./p-89edc042.system.js","./p-ef053a2f.system.js"],(function(r,n){"use strict";var e,a,t,o,i,s,c,b,l;return{setters:[function(r){e=r.r;a=r.c;t=r.h;o=r.e;i=r.g},function(r){s=r.c;c=r.a},function(r){b=r.c},function(r){l=r.a}],execute:function(){var d='.sc-nano-range-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165, 165, 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.3);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-flex:3;-ms-flex:3;flex:3;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}.range-slider.sc-nano-range{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:-webkit-grabbing;cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-bar[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-snaps.sc-nano-range-h .range-bar[dir=rtl].sc-nano-range{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-bar[dir=rtl].sc-nano-range{left:unset}.range-bar-active.sc-nano-range{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active .range-pressed.sc-nano-range-h{will-change:left, right}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease}.range-knob[dir=rtl].sc-nano-range{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}.range-knob[dir=rtl].sc-nano-range{left:unset}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{-webkit-transform:scale(1);transform:scale(1)}.range-knob-handle.sc-nano-range{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle.sc-nano-range{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}.range-knob-handle[dir=rtl].sc-nano-range{left:unset}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), var(--focus-style);box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick.sc-nano-range:first-of-type[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type[dir=rtl]{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);-webkit-transform-origin:center top;transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{left:50%;top:0.25em;margin-left:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-pin.sc-nano-range::before[dir=rtl]{left:unset;right:unset;right:50%}.range-pin.sc-nano-range::before[dir=rtl]{left:unset}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{-webkit-transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, -50%, 0) scale(1);-webkit-transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgba(var(--rgb-inactive), 0.5)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:rgba(var(--rgb-inactive), 0.5)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgba(var(--nano-color-base-rgb), 0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56);box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56)}';var g=r("nano_range",function(){function r(r){var n=this;e(this,r);this.nanoChange=a(this,"nanoChange",7);this.nanoStyle=a(this,"nanoStyle",7);this.nanoFocus=a(this,"nanoFocus",7);this.nanoBlur=a(this,"nanoBlur",7);this.noUpdate=false;this.hasFocus=false;this.ratioA=0;this.ratioB=0;this.debounce=0;this.name="";this.dualKnobs=false;this.min=0;this.max=100;this.pin=false;this.snaps=false;this.step=1;this.ticks=false;this.disabled=false;this.value=0;this.clampBounds=function(r){return s(n.min,r,n.max)};this.ensureValueInBounds=function(r){if(n.dualKnobs){return{lower:n.clampBounds(r.lower),upper:n.clampBounds(r.upper)}}else{return n.clampBounds(r)}};this.handleKeyboard=function(r,e){var a=n.step;a=a>0?a:1;a=a/(n.max-n.min);if(!e){a*=-1}if(r==="A"){n.ratioA=s(0,n.ratioA+a,1)}else{n.ratioB=s(0,n.ratioB+a,1)}n.updateValue()};this.onBlur=function(){if(n.hasFocus){n.hasFocus=false;n.nanoBlur.emit();n.emitStyle()}};this.onFocus=function(){if(!n.hasFocus){n.hasFocus=true;n.nanoFocus.emit();n.emitStyle()}}}r.prototype.debounceChanged=function(){this.nanoChange=l(this.nanoChange,this.debounce)};r.prototype.minChanged=function(){if(!this.noUpdate){this.updateRatio()}};r.prototype.maxChanged=function(){if(!this.noUpdate){this.updateRatio()}};r.prototype.disabledChanged=function(){if(this.gesture){this.gesture.enable(!this.disabled)}this.emitStyle()};r.prototype.valueChanged=function(r){if(!this.noUpdate){this.updateRatio()}r=this.ensureValueInBounds(r);this.nanoChange.emit({value:r})};r.prototype.connectedCallback=function(){this.updateRatio();this.debounceChanged();this.disabledChanged()};r.prototype.disconnectedCallback=function(){if(this.gesture){this.gesture.destroy();this.gesture=undefined}};r.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var r,e;var a=this;return __generator(this,(function(t){switch(t.label){case 0:r=this.rangeSlider;if(!r)return[3,2];e=this;return[4,n.import("./p-f48f482f.system.js")];case 1:e.gesture=t.sent().createGesture({el:r,gestureName:"range",gesturePriority:100,threshold:0,onStart:function(r){return a.onStart(r)},onMove:function(r){return a.onMove(r)},onEnd:function(r){return a.onEnd(r)}});this.gesture.enable(!this.disabled);t.label=2;case 2:return[2]}}))}))};r.prototype.getValue=function(){var r=this.value||0;if(this.dualKnobs){if(typeof r==="object"){return r}return{lower:0,upper:r}}else{if(typeof r==="object"){return r.upper}return r}};r.prototype.emitStyle=function(){this.nanoStyle.emit({interactive:true,"interactive-disabled":this.disabled})};r.prototype.onStart=function(r){var n=this.rect=this.rangeSlider.getBoundingClientRect();var e=r.currentX;var a=s(0,(e-n.left)/n.width,1);if(document.dir==="rtl"){a=1-a}this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-a)<Math.abs(this.ratioB-a)?"A":"B";this.setFocus(this.pressedKnob);this.update(e)};r.prototype.onMove=function(r){this.update(r.currentX)};r.prototype.onEnd=function(r){this.update(r.currentX);this.pressedKnob=undefined};r.prototype.update=function(r){var n=this.rect;var e=s(0,(r-n.left)/n.width,1);if(document.dir==="rtl"){e=1-e}if(this.snaps){e=p(h(e,this.min,this.max,this.step),this.min,this.max)}if(this.pressedKnob==="A"){this.ratioA=e}else{this.ratioB=e}this.updateValue()};Object.defineProperty(r.prototype,"valA",{get:function(){return h(this.ratioA,this.min,this.max,this.step)},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"valB",{get:function(){return h(this.ratioB,this.min,this.max,this.step)},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"ratioLower",{get:function(){if(this.dualKnobs){return Math.min(this.ratioA,this.ratioB)}return 0},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"ratioUpper",{get:function(){if(this.dualKnobs){return Math.max(this.ratioA,this.ratioB)}return this.ratioA},enumerable:false,configurable:true});r.prototype.updateRatio=function(){var r=this.getValue();var n=this,e=n.min,a=n.max;if(this.dualKnobs){this.ratioA=p(r.lower,e,a);this.ratioB=p(r.upper,e,a)}else{this.ratioA=p(r,e,a)}};r.prototype.updateValue=function(){this.noUpdate=true;var r=this,n=r.valA,e=r.valB;this.value=!this.dualKnobs?n:{lower:Math.min(n,e),upper:Math.max(n,e)};this.noUpdate=false};r.prototype.setFocus=function(r){if(this.el.shadowRoot){var n=this.el.shadowRoot.querySelector(r==="A"?".range-knob-a":".range-knob-b");if(n){n.focus()}}};r.prototype.render=function(){var r;var n=this;var e=this,a=e.min,i=e.max,s=e.step,l=e.el,d=e.handleKeyboard,g=e.pressedKnob,h=e.disabled,f=e.pin,m=e.ratioLower,v=e.ratioUpper;var k=m*100+"%";var w=100-v*100+"%";var y=document;var x=y.dir==="rtl";var z=x?"right":"left";var B=x?"left":"right";var A=function(r){var n;return n={},n[z]=r[z],n};var C=(r={},r[z]=k,r[B]=w,r);var K=[];if(this.snaps&&this.ticks){for(var S=a;S<=i;S+=s){var F=p(S,a,i);var j={ratio:F,active:F>=m&&F<=v};j[z]=F*100+"%";K.push(j)}}c(true,l,this.name,JSON.stringify(this.getValue()),h);return t(o,{onFocusin:this.onFocus,onFocusout:this.onBlur,class:b(this.color,{"range-disabled":h,"range-pressed":g!==undefined,"range-has-pin":f,"range-snaps":this.snaps})},t("div",{class:"range-wrap"},t("slot",{name:"start"}),t("div",{class:"range-slider",ref:function(r){return n.rangeSlider=r}},K.map((function(r){return t("span",{style:A(r),role:"presentation",class:{"range-tick":true,"range-tick-active":r.active},part:r.active?"tick-active":"tick"})})),t("div",{class:"range-bar",role:"presentation",part:"bar"}),t("div",{class:"range-bar range-bar-active",role:"presentation",style:C,part:"bar-active"}),u(x,{knob:"A",pressed:g==="A",value:this.valA,ratio:this.ratioA,pin:f,disabled:h,handleKeyboard:d,min:a,max:i}),this.dualKnobs&&u(x,{knob:"B",pressed:g==="B",value:this.valB,ratio:this.ratioB,pin:f,disabled:h,handleKeyboard:d,min:a,max:i})),t("slot",{name:"end"})))};Object.defineProperty(r.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(r,"watchers",{get:function(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],disabled:["disabledChanged"],value:["valueChanged"]}},enumerable:false,configurable:true});return r}());var u=function(r,n){var e=n.knob,a=n.value,o=n.ratio,i=n.min,s=n.max,c=n.disabled,b=n.pressed,l=n.pin,d=n.handleKeyboard;var g=r?"right":"left";var u=function(){var r={};r[g]=o*100+"%";return r};return t("div",{onKeyDown:function(r){var n=r.key;if(n==="ArrowLeft"||n==="ArrowDown"){d(e,false);r.preventDefault();r.stopPropagation()}else if(n==="ArrowRight"||n==="ArrowUp"){d(e,true);r.preventDefault();r.stopPropagation()}},class:{"range-knob-handle":true,"range-knob-a":e==="A","range-knob-b":e==="B","range-knob-pressed":b,"range-knob-min":a===i,"range-knob-max":a===s},style:u(),role:"slider",tabindex:c?-1:0,"aria-valuemin":i,"aria-valuemax":s,"aria-disabled":c?"true":null,"aria-valuenow":a},l&&t("div",{class:"range-pin",role:"presentation",part:"pin"},Math.round(a)),t("div",{class:"range-knob",role:"presentation",part:"knob"}))};var h=function(r,n,e,a){var t=(e-n)*r;if(a>0){t=Math.round(t/a)*a+n}return s(n,t,e)};var p=function(r,n,e){return s(0,(r-n)/(e-n),1)};g.style=d}}}));
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
*/System.register(["./p-f48be9f5.system.js","./p-1c216ca4.system.js","./p-89edc042.system.js","./p-ef053a2f.system.js"],(function(r,n){"use strict";var e,a,t,o,i,s,c,b,l;return{setters:[function(r){e=r.r;a=r.c;t=r.h;o=r.e;i=r.g},function(r){s=r.c;c=r.a},function(r){b=r.c},function(r){l=r.a}],execute:function(){var d='.sc-nano-range-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165, 165, 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.3);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-flex:3;-ms-flex:3;flex:3;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}.range-slider.sc-nano-range{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:-webkit-grabbing;cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-bar[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-snaps.sc-nano-range-h .range-bar[dir=rtl].sc-nano-range{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-bar[dir=rtl].sc-nano-range{left:unset}.range-bar-active.sc-nano-range{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active .range-pressed.sc-nano-range-h{will-change:left, right}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease}.range-knob[dir=rtl].sc-nano-range{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}.range-knob[dir=rtl].sc-nano-range{left:unset}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{-webkit-transform:scale(1);transform:scale(1)}.range-knob-handle.sc-nano-range{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle.sc-nano-range{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}.range-knob-handle[dir=rtl].sc-nano-range{left:unset}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), var(--focus-style);box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick.sc-nano-range:first-of-type[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type[dir=rtl]{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);-webkit-transform-origin:center top;transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{left:50%;top:0.25em;margin-left:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-pin.sc-nano-range::before[dir=rtl]{left:unset;right:unset;right:50%}.range-pin.sc-nano-range::before[dir=rtl]{left:unset}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{-webkit-transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, -50%, 0) scale(1);-webkit-transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgba(var(--rgb-inactive), 0.5)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:rgba(var(--rgb-inactive), 0.5)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgba(var(--nano-color-base-rgb), 0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56);box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56)}';var g=r("nano_range",function(){function r(r){var n=this;e(this,r);this.nanoChange=a(this,"nanoChange",7);this.nanoStyle=a(this,"nanoStyle",7);this.nanoFocus=a(this,"nanoFocus",7);this.nanoBlur=a(this,"nanoBlur",7);this.noUpdate=false;this.hasFocus=false;this.ratioA=0;this.ratioB=0;this.debounce=0;this.name="";this.dualKnobs=false;this.min=0;this.max=100;this.pin=false;this.snaps=false;this.step=1;this.ticks=false;this.disabled=false;this.value=0;this.clampBounds=function(r){return s(n.min,r,n.max)};this.ensureValueInBounds=function(r){if(n.dualKnobs){return{lower:n.clampBounds(r.lower),upper:n.clampBounds(r.upper)}}else{return n.clampBounds(r)}};this.handleKeyboard=function(r,e){var a=n.step;a=a>0?a:1;a=a/(n.max-n.min);if(!e){a*=-1}if(r==="A"){n.ratioA=s(0,n.ratioA+a,1)}else{n.ratioB=s(0,n.ratioB+a,1)}n.updateValue()};this.onBlur=function(){if(n.hasFocus){n.hasFocus=false;n.nanoBlur.emit();n.emitStyle()}};this.onFocus=function(){if(!n.hasFocus){n.hasFocus=true;n.nanoFocus.emit();n.emitStyle()}}}r.prototype.debounceChanged=function(){this.nanoChange=l(this.nanoChange,this.debounce)};r.prototype.minChanged=function(){if(!this.noUpdate){this.updateRatio()}};r.prototype.maxChanged=function(){if(!this.noUpdate){this.updateRatio()}};r.prototype.disabledChanged=function(){if(this.gesture){this.gesture.enable(!this.disabled)}this.emitStyle()};r.prototype.valueChanged=function(r){if(!this.noUpdate){this.updateRatio()}r=this.ensureValueInBounds(r);this.nanoChange.emit({value:r})};r.prototype.connectedCallback=function(){this.updateRatio();this.debounceChanged();this.disabledChanged()};r.prototype.disconnectedCallback=function(){if(this.gesture){this.gesture.destroy();this.gesture=undefined}};r.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var r,e;var a=this;return __generator(this,(function(t){switch(t.label){case 0:r=this.rangeSlider;if(!r)return[3,2];e=this;return[4,n.import("./p-f48f482f.system.js")];case 1:e.gesture=t.sent().createGesture({el:r,gestureName:"range",gesturePriority:100,threshold:0,onStart:function(r){return a.onStart(r)},onMove:function(r){return a.onMove(r)},onEnd:function(r){return a.onEnd(r)}});this.gesture.enable(!this.disabled);t.label=2;case 2:return[2]}}))}))};r.prototype.getValue=function(){var r=this.value||0;if(this.dualKnobs){if(typeof r==="object"){return r}return{lower:0,upper:r}}else{if(typeof r==="object"){return r.upper}return r}};r.prototype.emitStyle=function(){this.nanoStyle.emit({interactive:true,"interactive-disabled":this.disabled})};r.prototype.onStart=function(r){var n=this.rect=this.rangeSlider.getBoundingClientRect();var e=r.currentX;var a=s(0,(e-n.left)/n.width,1);if(document.dir==="rtl"){a=1-a}this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-a)<Math.abs(this.ratioB-a)?"A":"B";this.setFocus(this.pressedKnob);this.update(e)};r.prototype.onMove=function(r){this.update(r.currentX)};r.prototype.onEnd=function(r){this.update(r.currentX);this.pressedKnob=undefined};r.prototype.update=function(r){var n=this.rect;var e=s(0,(r-n.left)/n.width,1);if(document.dir==="rtl"){e=1-e}if(this.snaps){e=p(h(e,this.min,this.max,this.step),this.min,this.max)}if(this.pressedKnob==="A"){this.ratioA=e}else{this.ratioB=e}this.updateValue()};Object.defineProperty(r.prototype,"valA",{get:function(){return h(this.ratioA,this.min,this.max,this.step)},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"valB",{get:function(){return h(this.ratioB,this.min,this.max,this.step)},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"ratioLower",{get:function(){if(this.dualKnobs){return Math.min(this.ratioA,this.ratioB)}return 0},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"ratioUpper",{get:function(){if(this.dualKnobs){return Math.max(this.ratioA,this.ratioB)}return this.ratioA},enumerable:false,configurable:true});r.prototype.updateRatio=function(){var r=this.getValue();var n=this,e=n.min,a=n.max;if(this.dualKnobs){this.ratioA=p(r.lower,e,a);this.ratioB=p(r.upper,e,a)}else{this.ratioA=p(r,e,a)}};r.prototype.updateValue=function(){this.noUpdate=true;var r=this,n=r.valA,e=r.valB;this.value=!this.dualKnobs?n:{lower:Math.min(n,e),upper:Math.max(n,e)};this.noUpdate=false};r.prototype.setFocus=function(r){if(this.el.shadowRoot){var n=this.el.shadowRoot.querySelector(r==="A"?".range-knob-a":".range-knob-b");if(n){n.focus()}}};r.prototype.render=function(){var r;var n=this;var e=this,a=e.min,i=e.max,s=e.step,l=e.el,d=e.handleKeyboard,g=e.pressedKnob,h=e.disabled,f=e.pin,m=e.ratioLower,v=e.ratioUpper;var k=m*100+"%";var w=100-v*100+"%";var y=document;var x=y.dir==="rtl";var z=x?"right":"left";var B=x?"left":"right";var A=function(r){var n;return n={},n[z]=r[z],n};var C=(r={},r[z]=k,r[B]=w,r);var K=[];if(this.snaps&&this.ticks){for(var S=a;S<=i;S+=s){var F=p(S,a,i);var j={ratio:F,active:F>=m&&F<=v};j[z]=F*100+"%";K.push(j)}}c(true,l,this.name,JSON.stringify(this.getValue()),h);return t(o,{onFocusin:this.onFocus,onFocusout:this.onBlur,class:b(this.color,{"range-disabled":h,"range-pressed":g!==undefined,"range-has-pin":f,"range-snaps":this.snaps})},t("div",{class:"range-wrap"},t("slot",{name:"start"}),t("div",{class:"range-slider",ref:function(r){return n.rangeSlider=r}},K.map((function(r){return t("span",{style:A(r),role:"presentation",class:{"range-tick":true,"range-tick-active":r.active},part:r.active?"tick-active":"tick"})})),t("div",{class:"range-bar",role:"presentation",part:"bar"}),t("div",{class:"range-bar range-bar-active",role:"presentation",style:C,part:"bar-active"}),u(x,{knob:"A",pressed:g==="A",value:this.valA,ratio:this.ratioA,pin:f,disabled:h,handleKeyboard:d,min:a,max:i}),this.dualKnobs&&u(x,{knob:"B",pressed:g==="B",value:this.valB,ratio:this.ratioB,pin:f,disabled:h,handleKeyboard:d,min:a,max:i})),t("slot",{name:"end"})))};Object.defineProperty(r.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(r,"watchers",{get:function(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],disabled:["disabledChanged"],value:["valueChanged"]}},enumerable:false,configurable:true});return r}());var u=function(r,n){var e=n.knob,a=n.value,o=n.ratio,i=n.min,s=n.max,c=n.disabled,b=n.pressed,l=n.pin,d=n.handleKeyboard;var g=r?"right":"left";var u=function(){var r={};r[g]=o*100+"%";return r};return t("div",{onKeyDown:function(r){var n=r.key;if(n==="ArrowLeft"||n==="ArrowDown"){d(e,false);r.preventDefault();r.stopPropagation()}else if(n==="ArrowRight"||n==="ArrowUp"){d(e,true);r.preventDefault();r.stopPropagation()}},class:{"range-knob-handle":true,"range-knob-a":e==="A","range-knob-b":e==="B","range-knob-pressed":b,"range-knob-min":a===i,"range-knob-max":a===s},style:u(),role:"slider",tabindex:c?-1:0,"aria-valuemin":i,"aria-valuemax":s,"aria-disabled":c?"true":null,"aria-valuenow":a},l&&t("div",{class:"range-pin",role:"presentation",part:"pin"},Math.round(a)),t("div",{class:"range-knob",role:"presentation",part:"knob"}))};var h=function(r,n,e,a){var t=(e-n)*r;if(a>0){t=Math.round(t/a)*a+n}return s(n,t,e)};var p=function(r,n,e){return s(0,(r-n)/(e-n),1)};g.style=d}}}));
|
5
|
+
//# sourceMappingURL=p-6dad332b.system.entry.js.map
|
package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map}
RENAMED
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,c as a,h as i,e as t,g as e}from"./p-ab5813a7.js";import{l as s,u as r}from"./p-1805d59a.js";import{M as n}from"./p-cb79d1ec.js";import{h as l}from"./p-8971a867.js";import{C as d}from"./p-5a0095f9.js";import"./p-b619500f.js";import"./p-9a385481.js";import"./p-69a3e911.js";import"./p-1da5f8df.js";const h=":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{--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--content-background:#fafafa;--footer-content:#e4e6e8;--scrim-color:var(--nano-layer-overlay-dark, rgba(74, 74, 74, .5));--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));--close-button-color:#b5aea7;--width:60rem;--tint-color:#00607b;--body-padding-v:var(--nano-spacing-large, 20px);--body-padding-h:var(--nano-spacing-large, 20px);--header-padding-v:var(--nano-spacing-medium, 16px);--header-padding-h:var(--nano-spacing-large, 20px);--footer-padding-v:var(--nano-spacing-medium, 16px);--footer-padding-h:var(--nano-spacing-large, 20px)}.dialog{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;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--nano-layer-index-modal, 700)}.dialog:not(.dialog--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.dialog__panel{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:2;width:var(--width);max-width:calc(100% - var(--nano-spacing-xlarge, 24px));max-height:calc(92% - var(--nano-spacing-xlarge, 24px));background-color:var(--content-background);border-radius:var(--border-radius);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);opacity:0;-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transition:var(--nano-transition-fast, 0.3s) opacity, var(--nano-transition-fast, 0.3s) transform;transition:var(--nano-transition-fast, 0.3s) opacity, var(--nano-transition-fast, 0.3s) transform}.dialog__panel:focus{outline:none}.dialog--with-ribbon .dialog__panel{border-top:5px solid var(--tint-color)}.dialog--open .dialog__panel{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;-webkit-transform:none;transform:none}.dialog--nodismiss .dialog__panel{-webkit-animation:cannotClose 0.25s ease-in-out 1;animation:cannotClose 0.25s ease-in-out 1}@-webkit-keyframes cannotClose{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.08);transform:scale(1.08)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes cannotClose{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.08);transform:scale(1.08)}100%{-webkit-transform:scale(1);transform:scale(1)}}.dialog__header{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:var(--width);width:100%;background-color:var(--content-background);border-radius:var(--border-radius) var(--border-radius) 0 0;-webkit-transition:var(--nano-transition-fast, 0.1s) box-shadow;transition:var(--nano-transition-fast, 0.1s) box-shadow}.dialog--visible .dialog__header{min-width:auto}[stuck] .dialog__header{-webkit-box-shadow:var(--nano-layer-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.2));box-shadow:var(--nano-layer-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.2))}.dialog__title{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;font-size:var(--nano-fontsize-large, 1.25rem);line-height:1.6;padding:var(--header-padding-v) var(--header-padding-h)}.dialog .dialog__close-icon{-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;font-size:var(--nano-fontsize-xlarge, 1.5rem);padding:0 var(--header-padding-h);--color:var(--close-button-color)}.dialog__body{padding:0 var(--body-padding-h) var(--body-padding-v)}.dialog:not(.dialog--has-header) .dialog__body{padding-top:var(--body-padding-v)}.dialog__body ::slotted(*){max-width:100%}.dialog__body-wrap{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius)}.dialog:not(.dialog--has-header) .dialog__body-wrap{border-radius:0 0 inherit inherit}.dialog:not(.dialog--has-footer) .dialog__body-wrap{border-radius:inherit inherit 0 0}.dialog__footer{width:100%;padding:var(--footer-padding-v) var(--footer-padding-h);background:var(--footer-content);border-radius:0 0 var(--border-radius) var(--border-radius);position:relative;top:1px}.dialog--visible .dialog__footer{min-width:auto}.dialog__footer ::slotted(button){margin-right:var(--nano-spacing-small, 8px) !important}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__close-txt{color:var(--tint-color);border:none;text-decoration:underline;margin:0;text-underline-offset:4px;background-color:transparent;font:inherit;-webkit-box-align:center;cursor:pointer;font-size:var(--nano-fontsize-small, 0.875rem);padding:0.5rem;border-radius:var(--nano-border-radius-small, 2px);-webkit-transition:-webkit-box-shadow 100ms ease-in-out;transition:-webkit-box-shadow 100ms ease-in-out;transition:box-shadow 100ms ease-in-out;transition:box-shadow 100ms ease-in-out, -webkit-box-shadow 100ms ease-in-out}.dialog__close-txt:focus{outline:none;-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)))}.dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--scrim-color);opacity:0;-webkit-transition:var(--nano-transition-fast, 0.3s) opacity;transition:var(--nano-transition-fast, 0.3s) opacity;-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.dialog--open .dialog__overlay{opacity:1}";let b=0;let c=class{constructor(i){o(this,i);this.nanoShow=a(this,"nanoShow",7);this.nanoAfterShow=a(this,"nanoAfterShow",7);this.nanoHide=a(this,"nanoHide",7);this.nanoAfterHide=a(this,"nanoAfterHide",7);this.nanoInitialFocus=a(this,"nanoInitialFocus",7);this.nanoRequestClose=a(this,"nanoRequestClose",7);this.componentId=`dialog-${++b}`;this.willShow=false;this.willHide=false;this.addedTransEnd=false;this.isVisible=false;this.noDismiss=false;this.hasFooter=false;this.showRibbon=true;this.open=false;this.noHeader=false;this.noFooter=false;this.noUserDismiss=false;this.storeMethod="url-hash";this.handleKeyDown=o=>{if(o.key==="Escape"){this.requestClose()}};this.requestClose=()=>{const o=this.nanoRequestClose.emit();if(!o.defaultPrevented&&!this.noUserDismiss){this.hide()}else{this.noDismiss=true;setTimeout((o=>this.noDismiss=false),250)}};this.handleTransitionEnd=o=>{if(o.propertyName==="opacity"&&o.composedPath().find((o=>o===this.panel||o===this.overlay))){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit()}};this.handleSlotChange=()=>{this.hasFooter=l(this.host,"footer")}}handleOpenChange(){this.open?this.show():this.hide()}async show(){if(this.willShow){return}const o=this.nanoShow.emit();if(o.defaultPrevented){this.open=false;return}this.originalTrigger=document.activeElement;this.willShow=true;this.isVisible=true;this.open=true;this.modal.activate();s(this.host);if(this.open){this.host.addEventListener("nanoAfterShow",(()=>{const o=this.nanoInitialFocus.emit();if(!o.defaultPrevented){this.panel.focus({preventScroll:true})}}),{once:true})}}async hide(){if(this.willHide){return}const o=this.nanoHide.emit();if(o.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false;this.modal.deactivate();r(this.host);this.stopVideos();const a=this.originalTrigger;if(a&&typeof a.focus==="function"){setTimeout((()=>a.focus()))}}stopVideos(){var o=Array.from(this.host.querySelectorAll("iframe,video"));o.forEach((o=>{if(o.tagName.toLowerCase()==="video")o.pause();else{const a=o.src;o.src=a}}))}connectedCallback(){this.modal=new n(this.host);if(this.panel){this.addedTransEnd=true;this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}componentWillLoad(){this.handleSlotChange();if(this.open)this.show();if(this.storeId)d.init(this,["open"],this.storeMethod,this.storeId)}componentDidLoad(){if(!this.addedTransEnd){this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}disconnectedCallback(){r(this.host);this.addedTransEnd=false;this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}render(){return i(t,{showing:this.isVisible?true:undefined},i("div",{part:"base",class:{dialog:true,"dialog--open":this.open,"dialog--visible":this.isVisible,"dialog--has-footer":!this.noFooter,"dialog--has-header":!this.noHeader,"dialog--nodismiss":this.noDismiss,"dialog--with-ribbon":this.showRibbon},onKeyDown:this.handleKeyDown},i("div",{part:"overlay",class:"dialog__overlay",ref:o=>this.overlay=o,onClick:this.requestClose}),i("div",{ref:o=>this.panel=o,part:"panel",class:"dialog__panel",role:"dialog","aria-modal":"true","aria-hidden":this.open?"false":"true","aria-label":this.noHeader?this.label:null,"aria-labelledby":!this.noHeader?`${this.componentId}-title`:null,tabIndex:0},i("div",{class:"dialog__body-wrap"},!this.noHeader&&i("nano-sticker",null,i("header",{part:"header",class:"dialog__header"},i("span",{part:"title",class:"dialog__title",id:`${this.componentId}-title`},i("slot",{name:"label"},this.label||String.fromCharCode(65279))),!this.noUserDismiss&&i("nano-icon-button",{exportparts:"base:close-button",class:"dialog__close-icon",label:"close dialog",onClick:this.requestClose,iconName:"light/times"}))),i("div",{part:"body",class:"dialog__body"},i("slot",null)),!this.noFooter&&(this.hasFooter||!this.noUserDismiss)&&i("nano-sticker",{position:"bottom"},i("footer",{part:"footer",class:"dialog__footer"},i("slot",{name:"footer",onSlotchange:this.handleSlotChange}),!this.noUserDismiss&&i("button",{class:"dialog__close-txt",onClick:this.requestClose},"Close")))))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"]}}};c.style=h;export{c as nano_dialog};
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{r as i,c as o,h as a,e as t,g as e}from"./p-b5c33aff.js";import{l as s,u as r}from"./p-1805d59a.js";import{M as n}from"./p-cb79d1ec.js";import{h as l}from"./p-8971a867.js";import{C as d}from"./p-32f4516e.js";import"./p-b619500f.js";import"./p-9a385481.js";import"./p-69a3e911.js";import"./p-1da5f8df.js";const h=":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{--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--content-background:#fafafa;--footer-content:#e4e6e8;--scrim-color:var(--nano-layer-overlay-dark, rgba(74, 74, 74, .5));--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));--close-button-color:#b5aea7;--width:60rem;--tint-color:#00607b;--body-padding-v:var(--nano-spacing-large, 20px);--body-padding-h:var(--nano-spacing-large, 20px);--header-padding-v:var(--nano-spacing-medium, 16px);--header-padding-h:var(--nano-spacing-large, 20px);--footer-padding-v:var(--nano-spacing-medium, 16px);--footer-padding-h:var(--nano-spacing-large, 20px)}.dialog{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;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--nano-layer-index-modal, 700)}.dialog:not(.dialog--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.dialog__panel{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:2;width:var(--width);max-width:calc(100% - var(--nano-spacing-xlarge, 24px));max-height:calc(92% - var(--nano-spacing-xlarge, 24px));background-color:var(--content-background);border-radius:var(--border-radius);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);opacity:0;-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transition:var(--nano-transition-fast, 0.3s) opacity, var(--nano-transition-fast, 0.3s) transform;transition:var(--nano-transition-fast, 0.3s) opacity, var(--nano-transition-fast, 0.3s) transform}.dialog__panel:focus{outline:none}.dialog--with-ribbon .dialog__panel{border-top:5px solid var(--tint-color)}.dialog--open .dialog__panel{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;-webkit-transform:none;transform:none}.dialog--nodismiss .dialog__panel{-webkit-animation:cannotClose 0.25s ease-in-out 1;animation:cannotClose 0.25s ease-in-out 1}@-webkit-keyframes cannotClose{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.08);transform:scale(1.08)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes cannotClose{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.08);transform:scale(1.08)}100%{-webkit-transform:scale(1);transform:scale(1)}}.dialog__header{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:var(--width);width:100%;background-color:var(--content-background);border-radius:var(--border-radius) var(--border-radius) 0 0;-webkit-transition:var(--nano-transition-fast, 0.1s) box-shadow;transition:var(--nano-transition-fast, 0.1s) box-shadow}.dialog--visible .dialog__header{min-width:auto}[stuck] .dialog__header{-webkit-box-shadow:var(--nano-layer-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.2));box-shadow:var(--nano-layer-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.2))}.dialog__title{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;font-size:var(--nano-fontsize-large, 1.25rem);line-height:1.6;padding:var(--header-padding-v) var(--header-padding-h)}.dialog .dialog__close-icon{-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;font-size:var(--nano-fontsize-xlarge, 1.5rem);padding:0 var(--header-padding-h);--color:var(--close-button-color)}.dialog__body{padding:0 var(--body-padding-h) var(--body-padding-v)}.dialog:not(.dialog--has-header) .dialog__body{padding-top:var(--body-padding-v)}.dialog__body ::slotted(*){max-width:100%}.dialog__body-wrap{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius)}.dialog:not(.dialog--has-header) .dialog__body-wrap{border-radius:0 0 inherit inherit}.dialog:not(.dialog--has-footer) .dialog__body-wrap{border-radius:inherit inherit 0 0}.dialog__footer{width:100%;padding:var(--footer-padding-v) var(--footer-padding-h);background:var(--footer-content);border-radius:0 0 var(--border-radius) var(--border-radius);position:relative;top:1px}.dialog--visible .dialog__footer{min-width:auto}.dialog__footer ::slotted(button){margin-right:var(--nano-spacing-small, 8px) !important}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__close-txt{color:var(--tint-color);border:none;text-decoration:underline;margin:0;text-underline-offset:4px;background-color:transparent;font:inherit;-webkit-box-align:center;cursor:pointer;font-size:var(--nano-fontsize-small, 0.875rem);padding:0.5rem;border-radius:var(--nano-border-radius-small, 2px);-webkit-transition:-webkit-box-shadow 100ms ease-in-out;transition:-webkit-box-shadow 100ms ease-in-out;transition:box-shadow 100ms ease-in-out;transition:box-shadow 100ms ease-in-out, -webkit-box-shadow 100ms ease-in-out}.dialog__close-txt:focus{outline:none;-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)))}.dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--scrim-color);opacity:0;-webkit-transition:var(--nano-transition-fast, 0.3s) opacity;transition:var(--nano-transition-fast, 0.3s) opacity;-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.dialog--open .dialog__overlay{opacity:1}";let b=0;let c=class{constructor(a){i(this,a);this.nanoShow=o(this,"nanoShow",7);this.nanoAfterShow=o(this,"nanoAfterShow",7);this.nanoHide=o(this,"nanoHide",7);this.nanoAfterHide=o(this,"nanoAfterHide",7);this.nanoInitialFocus=o(this,"nanoInitialFocus",7);this.nanoRequestClose=o(this,"nanoRequestClose",7);this.componentId=`dialog-${++b}`;this.willShow=false;this.willHide=false;this.addedTransEnd=false;this.isVisible=false;this.noDismiss=false;this.hasFooter=false;this.showRibbon=true;this.open=false;this.noHeader=false;this.noFooter=false;this.noUserDismiss=false;this.storeMethod="url-hash";this.hoist=false;this.handleKeyDown=i=>{if(i.key==="Escape"){this.requestClose()}};this.requestClose=()=>{const i=this.nanoRequestClose.emit();if(!i.defaultPrevented&&!this.noUserDismiss){this.hide()}else{this.noDismiss=true;setTimeout((i=>this.noDismiss=false),250)}};this.handleTransitionEnd=i=>{if(i.propertyName==="opacity"&&i.composedPath().find((i=>i===this.panel||i===this.overlay))){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit()}};this.handleSlotChange=()=>{this.hasFooter=l(this.host,"footer")}}handleOpenChange(){this.open?this.show():this.hide()}handleHoistChange(){if(!this.hoist||document.body.children[0]===this.host)return;document.body.prepend(this.host)}async show(){if(this.willShow){return}const i=this.nanoShow.emit();if(i.defaultPrevented){this.open=false;return}this.originalTrigger=document.activeElement;this.willShow=true;this.isVisible=true;this.open=true;this.modal.activate();s(this.host);if(this.open){this.host.addEventListener("nanoAfterShow",(()=>{const i=this.nanoInitialFocus.emit();if(!i.defaultPrevented){this.panel.focus({preventScroll:true})}}),{once:true})}}async hide(){if(this.willHide){return}const i=this.nanoHide.emit();if(i.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false;this.modal.deactivate();r(this.host);this.stopVideos();const o=this.originalTrigger;if(o&&typeof o.focus==="function"){setTimeout((()=>o.focus()))}}stopVideos(){var i=Array.from(this.host.querySelectorAll("iframe,video"));i.forEach((i=>{if(i.tagName.toLowerCase()==="video")i.pause();else{const o=i.src;i.src=o}}))}connectedCallback(){this.handleHoistChange();this.modal=new n(this.host);if(this.panel){this.addedTransEnd=true;this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}componentWillLoad(){this.handleSlotChange();if(this.open)this.show();if(this.storeId)d.init(this,["open"],this.storeMethod,this.storeId)}componentDidLoad(){if(!this.addedTransEnd){this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}disconnectedCallback(){if(!this.panel)return;r(this.host);this.addedTransEnd=false;this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}render(){return a(t,{showing:this.isVisible?true:undefined},a("div",{part:"base",class:{dialog:true,"dialog--open":this.open,"dialog--visible":this.isVisible,"dialog--has-footer":!this.noFooter,"dialog--has-header":!this.noHeader,"dialog--nodismiss":this.noDismiss,"dialog--with-ribbon":this.showRibbon},onKeyDown:this.handleKeyDown},a("div",{part:"overlay",class:"dialog__overlay",ref:i=>this.overlay=i,onClick:this.requestClose}),a("div",{ref:i=>this.panel=i,part:"panel",class:"dialog__panel",role:"dialog","aria-modal":"true","aria-hidden":this.open?"false":"true","aria-label":this.noHeader?this.label:null,"aria-labelledby":!this.noHeader?`${this.componentId}-title`:null,tabIndex:0},a("div",{class:"dialog__body-wrap"},!this.noHeader&&a("nano-sticker",null,a("header",{part:"header",class:"dialog__header"},a("span",{part:"title",class:"dialog__title",id:`${this.componentId}-title`},a("slot",{name:"label"},this.label||String.fromCharCode(65279))),!this.noUserDismiss&&a("nano-icon-button",{exportparts:"base:close-button",class:"dialog__close-icon",label:"close dialog",onClick:this.requestClose,iconName:"light/times"}))),a("div",{part:"body",class:"dialog__body"},a("slot",null)),!this.noFooter&&(this.hasFooter||!this.noUserDismiss)&&a("nano-sticker",{position:"bottom"},a("footer",{part:"footer",class:"dialog__footer"},a("slot",{name:"footer",onSlotchange:this.handleSlotChange}),!this.noUserDismiss&&a("button",{class:"dialog__close-txt",onClick:this.requestClose},"Close")))))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],hoist:["handleHoistChange"]}}};c.style=h;export{c as nano_dialog};
|
5
|
+
//# sourceMappingURL=p-6ddb51e4.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/dialog/dialog.scss?tag=nano-dialog&encapsulation=shadow","src/components/dialog/dialog.tsx"],"names":["dialogCss","id","Dialog","[object Object]","hostRef","this","componentId","willShow","willHide","addedTransEnd","isVisible","noDismiss","hasFooter","showRibbon","open","noHeader","noFooter","noUserDismiss","storeMethod","hoist","handleKeyDown","event","key","requestClose","nanoOverlayDismiss","nanoRequestClose","emit","defaultPrevented","hide","setTimeout","_","handleTransitionEnd","propertyName","composedPath","find","node","panel","overlay","nanoAfterShow","nanoAfterHide","handleSlotChange","hasSlot","host","show","document","body","children","prepend","nanoShow","originalTrigger","activeElement","modal","activate","lockBodyScrolling","addEventListener","nanoInitialFocus","focus","preventScroll","once","nanoHide","deactivate","unlockBodyScrolling","stopVideos","trigger","videos","Array","from","querySelectorAll","forEach","video","tagName","toLowerCase","pause","src","handleHoistChange","Modal","storeId","ComponentStore","init","removeEventListener","h","Host","showing","undefined","part","class","dialog","dialog--open","dialog--visible","dialog--has-footer","dialog--has-header","dialog--nodismiss","dialog--with-ribbon","onKeyDown","ref","el","onClick","role","aria-modal","aria-hidden","aria-label","label","aria-labelledby","tabIndex","name","String","fromCharCode","exportparts","iconName","position","onSlotchange"],"mappings":"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","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/layers';\n@import '../../global/style/nano-theme/form';\n\n/**\n * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n * @prop --border-radius: defaults to #{$layer-border-radius};\n * @prop --content-background: defaults to #{$layer-bg-color};\n * @prop --footer-background: defaults to #{map.get($colors, celsius)};\n * @prop --box-shadow: defaults to $layer-shadow-xlarge;\n * @prop --close-button-color: defaults to #{map.get($colors, mediumgrey)};\n * @prop --scrim-color: overlay colour of alert display. Defaults to #{$layer-overlay-dark};\n * @prop --tint-color: colour used to highlight items in the dialog - top ribbon, bottom close button. Default #{map.get($colors, blue)};\n * @prop --width: defaults to 31rem;\n */\n:host {\n --border-radius: #{$layer-border-radius};\n --content-background: #fafafa;\n --footer-content: #{map.get($colors, lightgrey)};\n --scrim-color: #{$layer-overlay-dark};\n --box-shadow: #{$layer-shadow-large};\n --close-button-color: #{map.get($colors, palegrey)};\n --width: 60rem;\n --tint-color: #{darken(map.get($colors, blue), 5%)};\n --body-padding-v: #{$spacing-large};\n --body-padding-h: #{$spacing-large};\n --header-padding-v: #{$spacing-medium};\n --header-padding-h: #{$spacing-large};\n --footer-padding-v: #{$spacing-medium};\n --footer-padding-h: #{$spacing-large};\n}\n\n.dialog {\n $self: &;\n\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: #{$layer-index-modal};\n\n &:not(.dialog--visible) {\n @include hidden;\n }\n\n &__panel {\n display: flex;\n flex-direction: column;\n z-index: 2;\n width: var(--width);\n max-width: calc(100% - #{$spacing-xlarge});\n max-height: calc(92% - #{$spacing-xlarge});\n background-color: var(--content-background);\n border-radius: var(--border-radius);\n box-shadow: var(--box-shadow);\n opacity: 0;\n transform: scale(0.8);\n transition: #{$transition-fast} opacity, #{$transition-fast} transform;\n\n &:focus {\n outline: none;\n }\n\n .dialog--with-ribbon & {\n border-top: 5px solid var(--tint-color);\n }\n\n .dialog--open & {\n display: flex;\n opacity: 1;\n transform: none;\n }\n\n .dialog--nodismiss & {\n animation: cannotClose 0.25s ease-in-out 1;\n\n @keyframes cannotClose {\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(1.08);\n }\n\n 100% {\n transform: scale(1);\n }\n }\n }\n }\n\n &__header {\n flex: 0 0 auto;\n display: flex;\n min-width: var(--width);\n width: 100%;\n background-color: var(--content-background);\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n transition: #{$transition-xfast} box-shadow;\n\n .dialog--visible & {\n min-width: auto;\n }\n\n [stuck] & {\n box-shadow: #{$layer-shadow-medium};\n }\n }\n\n &__title {\n flex: 1 1 auto;\n font-size: #{$fontsize-large};\n line-height: 1.6;\n padding: var(--header-padding-v) var(--header-padding-h);\n }\n\n & &__close-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: #{$fontsize-xlarge};\n padding: 0 var(--header-padding-h);\n\n --color: var(--close-button-color);\n }\n\n &__body {\n padding: 0 var(--body-padding-h) var(--body-padding-v);\n\n .dialog:not(.dialog--has-header) & {\n padding-top: var(--body-padding-v);\n }\n\n & ::slotted(*) {\n max-width: 100%;\n }\n\n &-wrap {\n flex: 1 1 auto;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n border-radius: var(--border-radius);\n\n .dialog:not(.dialog--has-header) & {\n border-radius: 0 0 inherit inherit;\n }\n\n .dialog:not(.dialog--has-footer) & {\n border-radius: inherit inherit 0 0;\n }\n }\n }\n\n &__footer {\n width: 100%;\n padding: var(--footer-padding-v) var(--footer-padding-h);\n background: var(--footer-content);\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n position: relative;\n top: 1px;\n\n .dialog--visible & {\n min-width: auto;\n }\n\n ::slotted(button) {\n margin-right: #{$spacing-small} !important;\n }\n\n .dialog:not(.dialog--has-footer) & {\n display: none;\n }\n }\n\n &__close-txt {\n color: var(--tint-color);\n border: none;\n text-decoration: underline;\n margin: 0;\n text-underline-offset: 4px;\n background-color: transparent;\n font: inherit;\n -webkit-box-align: center;\n cursor: pointer;\n font-size: #{$fontsize-small};\n padding: 0.5rem;\n border-radius: #{$border-radius-small};\n transition: box-shadow 100ms ease-in-out;\n\n &:focus {\n outline: none;\n box-shadow: #{$control-focus-style};\n }\n }\n\n &__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--scrim-color);\n opacity: 0;\n transition: #{$transition-fast} opacity;\n backdrop-filter: blur(#{$layer-overlay-blur});\n\n .dialog--open & {\n opacity: 1;\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n ComponentInterface,\n} from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport Modal from '../../utils/modal';\nimport { hasSlot } from '../../utils';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\nlet id = 0;\n\n/**\n * Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n *\n * @slot - The dialog's content.\n * @slot label - The dialog's label. Alternatively, you can use the label prop.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n */\n@Component({\n tag: 'nano-dialog',\n styleUrl: 'dialog.scss',\n shadow: true,\n})\nexport class Dialog implements ComponentInterface {\n private componentId = `dialog-${++id}`;\n private modal: Modal;\n private panel: HTMLElement;\n private willShow = false;\n private willHide = false;\n private originalTrigger: HTMLElement | null;\n private overlay: HTMLElement;\n private addedTransEnd = false;\n\n @Element() host: HTMLNanoDialogElement;\n @State() isVisible = false;\n @State() noDismiss = false;\n @State() hasFooter = false;\n\n /** Show a colour ribbon at the top of the modal */\n @Prop() showRibbon = true;\n\n /** Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** The dialog's label as displayed in the header. You should always include a relevant\n * label even when using `no-header`, as it is required for proper accessibility. */\n @Prop() label!: string;\n\n /** Set to true to disable the header. This will also remove the default close button,\n * so please ensure you provide an easy, accessible way for users to dismiss the dialog. */\n @Prop() noHeader = false;\n\n /** Set to true to disable the footer. This will also remove the footer close button,\n * so please ensure you provide an easy, accessible way for users to dismiss the dialog. */\n @Prop() noFooter = false;\n\n /** An alternative to `preventDefault()` on the `nanoRequestClose` event. This will hide the close button and disable clicks on the overlay or presses the `Escape` key */\n @Prop() noUserDismiss = false;\n\n /** Store search queries (against this ID) to the component store. Use in conjunction with storeMethod */\n @Prop() storeId?: string;\n\n /** The method of storage. Either session storage, url hash (after the '#') or url query (after the '?'). */\n @Prop() storeMethod: StorageMethods = 'url-hash';\n\n /** Relocate the dialog to the root of the DOM. Useful for elements bound via css `transform: ...` */\n @Prop() hoist = false;\n\n @Watch('hoist')\n handleHoistChange() {\n if (!this.hoist || document.body.children[0] === this.host) return;\n document.body.prepend(this.host);\n }\n\n /** Emitted when the dialog opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted after the dialog opens and all transitions are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /** Emitted when the dialog closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the dialog closes and all transitions are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n /** Emitted when the dialog opens and the panel gains focus. Calling `event.preventDefault()` will prevent\n * focus and allow you to set it on a different element in the dialog, such as an input or button. */\n @Event() nanoInitialFocus: EventEmitter;\n\n /** Emitted when the user clicks the close button, clicks the overlay, or presses the `Escape` key. Calling `event.preventDefault()` will prevent the dialog from closing. */\n @Event() nanoRequestClose: EventEmitter;\n\n /** Shows the dialog */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const nanoShow = this.nanoShow.emit();\n if (nanoShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.originalTrigger = document.activeElement as HTMLElement;\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n this.modal.activate();\n\n lockBodyScrolling(this.host);\n\n if (this.open) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n this.host.addEventListener(\n 'nanoAfterShow',\n () => {\n const nanoInitialFocus = this.nanoInitialFocus.emit();\n if (!nanoInitialFocus.defaultPrevented) {\n this.panel.focus({ preventScroll: true });\n }\n },\n { once: true }\n );\n }\n }\n\n /** Hides the dialog */\n @Method()\n async hide() {\n if (this.willHide) {\n return;\n }\n\n const nanoHide = this.nanoHide.emit();\n if (nanoHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n unlockBodyScrolling(this.host);\n this.stopVideos();\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (trigger && typeof trigger.focus === 'function') {\n setTimeout(() => trigger.focus());\n }\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n const nanoOverlayDismiss = this.nanoRequestClose.emit();\n\n if (!nanoOverlayDismiss.defaultPrevented && !this.noUserDismiss) {\n this.hide();\n } else {\n this.noDismiss = true;\n setTimeout((_) => (this.noDismiss = false), 250);\n }\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n if (\n event.propertyName === 'opacity' &&\n event\n .composedPath()\n .find((node) => node === this.panel || node === this.overlay)\n ) {\n // Ensure we only emit one event when the target element is no longer visible\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.nanoAfterShow.emit() : this.nanoAfterHide.emit();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n private stopVideos() {\n var videos: (HTMLVideoElement | HTMLIFrameElement)[] = Array.from(\n this.host.querySelectorAll('iframe,video')\n );\n videos.forEach((video) => {\n if (video.tagName.toLowerCase() === 'video')\n (video as HTMLVideoElement).pause();\n else {\n const src = video.src;\n video.src = src;\n }\n });\n }\n\n connectedCallback() {\n this.handleHoistChange();\n this.modal = new Modal(this.host);\n if (this.panel) {\n this.addedTransEnd = true;\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n // Show on init if open\n if (this.open) this.show();\n if (this.storeId)\n ComponentStore.init(this, ['open'], this.storeMethod, this.storeId);\n }\n\n componentDidLoad() {\n if (!this.addedTransEnd) {\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n disconnectedCallback() {\n if (!this.panel) return;\n unlockBodyScrolling(this.host);\n this.addedTransEnd = false;\n this.panel.removeEventListener('transitionend', this.handleTransitionEnd);\n }\n\n render() {\n return (\n <Host showing={this.isVisible ? true : undefined}>\n <div\n part=\"base\"\n class={{\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--visible': this.isVisible,\n 'dialog--has-footer': !this.noFooter,\n 'dialog--has-header': !this.noHeader,\n 'dialog--nodismiss': this.noDismiss,\n 'dialog--with-ribbon': this.showRibbon,\n }}\n onKeyDown={this.handleKeyDown}\n >\n <div\n part=\"overlay\"\n class=\"dialog__overlay\"\n ref={(el) => (this.overlay = el)}\n onClick={this.requestClose}\n />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={\n !this.noHeader ? `${this.componentId}-title` : null\n }\n tabIndex={0}\n >\n <div class=\"dialog__body-wrap\">\n {!this.noHeader && (\n <nano-sticker>\n <header part=\"header\" class=\"dialog__header\">\n <span\n part=\"title\"\n class=\"dialog__title\"\n id={`${this.componentId}-title`}\n >\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n {!this.noUserDismiss && (\n <nano-icon-button\n exportparts=\"base:close-button\"\n class=\"dialog__close-icon\"\n label=\"close dialog\"\n onClick={this.requestClose}\n iconName=\"light/times\"\n />\n )}\n </header>\n </nano-sticker>\n )}\n <div part=\"body\" class=\"dialog__body\">\n <slot />\n </div>\n {!this.noFooter && (this.hasFooter || !this.noUserDismiss) && (\n <nano-sticker position=\"bottom\">\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n {!this.noUserDismiss && (\n <button\n class=\"dialog__close-txt\"\n onClick={this.requestClose}\n >\n Close\n </button>\n )}\n </footer>\n </nano-sticker>\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
const n=/^(\d{4})-(\d{2})-(\d{2})/;var r;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(r||(r={}));function t(n,r,t){var a=parseInt(t,10);var e=parseInt(r,10);var u=parseInt(n,10);const s=Number.isInteger(u)&&Number.isInteger(e)&&Number.isInteger(a)&&e>0&&e<=12&&a>0&&a<=31&&u>0;if(s){return new Date(u,e-1,a)}}function a(r){if(!r){return}const a=r.match(n);if(a){return t(a[1],a[2],a[3])}}function e(n){if(!n){return""}var r=n.getDate().toString(10);var t=(n.getMonth()+1).toString(10);var a=n.getFullYear().toString(10);if(n.getDate()<10){r=`0${r}`}if(n.getMonth()<9){t=`0${t}`}return`${a}-${t}-${r}`}function u(n,r){var t=new Date(n);t.setDate(t.getDate()+r);return t}function s(n,t=r.Monday){var a=new Date(n);var e=a.getDay();var u=(e<t?7:0)+e-t;a.setDate(a.getDate()-u);return a}function i(n,t=r.Monday){var a=new Date(n);var e=a.getDay();var u=(e<t?-7:0)+6-(e-t);a.setDate(a.getDate()+u);return a}function f(n){return new Date(n.getFullYear(),n.getMonth(),1)}function o(n){return new Date(n.getFullYear(),n.getMonth()+1,0)}function c(n,r){const t=new Date(n);t.setMonth(r);return t}function v(n,r){const t=new Date(n);t.setFullYear(r);return t}function $(n,r,t){return d(n,r,t)===n}function d(n,r,t){const a=n.getTime();if(r&&r instanceof Date&&a<r.getTime()){return r}if(t&&t instanceof Date&&a>t.getTime()){return t}return n}function D(){return Math.random().toString(16).slice(-4)}function w(n){return`${n}-${D()}${D()}-${D()}-${D()}-${D()}-${D()}${D()}${D()}`}export{r as D,e as a,w as b,t as c,u as d,i as e,c as f,f as g,o as h,$ as i,d as j,v as k,a as p,s};
|
5
|
+
//# sourceMappingURL=p-70272eae.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/utils/date-utils.ts"],"names":["ISO_DATE_FORMAT","DaysOfWeek","createDate","year","month","day","dayInt","parseInt","monthInt","yearInt","isValid","Number","isInteger","Date","parseISODate","value","matches","match","printISODate","date","d","getDate","toString","m","getMonth","y","getFullYear","addDays","days","setDate","startOfWeek","firstDayOfWeek","Monday","getDay","diff","endOfWeek","startOfMonth","endOfMonth","setMonth","setYear","setFullYear","inRange","min","max","clamp","time","getTime","chr4","Math","random","slice","createIdentifier","prefix"],"mappings":"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","sourcesContent":["const ISO_DATE_FORMAT = /^(\\d{4})-(\\d{2})-(\\d{2})/;\n\nexport enum DaysOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport function createDate(year: string, month: string, day: string): Date {\n var dayInt = parseInt(day, 10);\n var monthInt = parseInt(month, 10);\n var yearInt = parseInt(year, 10);\n\n const isValid =\n Number.isInteger(yearInt) && // all parts should be integers\n Number.isInteger(monthInt) &&\n Number.isInteger(dayInt) &&\n monthInt > 0 && // month must be 1-12\n monthInt <= 12 &&\n dayInt > 0 && // day must be 1-31\n dayInt <= 31 &&\n yearInt > 0;\n\n if (isValid) {\n return new Date(yearInt, monthInt - 1, dayInt);\n }\n}\n\n/**\n * @param value date string in ISO format YYYY-MM-DD\n */\nexport function parseISODate(value: string): Date {\n if (!value) {\n return;\n }\n\n const matches = value.match(ISO_DATE_FORMAT);\n if (matches) {\n return createDate(matches[1], matches[2], matches[3]);\n }\n}\n\n/**\n * print date in format YYYY-MM-DD\n * @param date\n */\nexport function printISODate(date: Date): string {\n if (!date) {\n return '';\n }\n\n var d = date.getDate().toString(10);\n var m = (date.getMonth() + 1).toString(10);\n var y = date.getFullYear().toString(10);\n\n // days are not zero-indexed, so pad if less than 10\n if (date.getDate() < 10) {\n d = `0${d}`;\n }\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`;\n }\n\n return `${y}-${m}-${d}`;\n}\n\n/**\n * Compare if two dates are equal in terms of day, month, and year\n */\nexport function isEqual(a: Date, b: Date): boolean {\n if (a == null || b == null) {\n return false;\n }\n\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n}\n\nexport function addDays(date: Date, days: number): Date {\n var d = new Date(date);\n d.setDate(d.getDate() + days);\n return d;\n}\n\nexport function addMonths(date: Date, months: number): Date {\n const d = new Date(date);\n d.setMonth(date.getMonth() + months);\n return d;\n}\n\nexport function addYears(date: Date, years: number): Date {\n const d = new Date(date);\n d.setFullYear(date.getFullYear() + years);\n return d;\n}\n\nexport function startOfWeek(\n date: Date,\n firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday\n): Date {\n var d = new Date(date);\n var day = d.getDay();\n var diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek;\n\n d.setDate(d.getDate() - diff);\n return d;\n}\n\nexport function endOfWeek(\n date: Date,\n firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday\n): Date {\n var d = new Date(date);\n var day = d.getDay();\n var diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek);\n\n d.setDate(d.getDate() + diff);\n return d;\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function endOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n}\n\nexport function setMonth(date: Date, month: number): Date {\n const d = new Date(date);\n d.setMonth(month);\n return d;\n}\n\nexport function setYear(date: Date, year: number): Date {\n const d = new Date(date);\n d.setFullYear(year);\n return d;\n}\n\n/**\n * Check if date is within a min and max\n */\nexport function inRange(date: Date, min?: Date, max?: Date): boolean {\n return clamp(date, min, max) === date;\n}\n\n/**\n * Ensures date is within range, returns min or max if out of bounds\n */\nexport function clamp(date: Date, min?: Date, max?: Date): Date {\n const time = date.getTime();\n\n if (min && min instanceof Date && time < min.getTime()) {\n return min;\n }\n if (max && max instanceof Date && time > max.getTime()) {\n return max;\n }\n return date;\n}\n\n/**\n * given start and end date, return an (inclusive) array of all dates in between\n * @param start\n * @param end\n */\nfunction getDaysInRange(start: Date, end: Date): Date[] {\n const days: Date[] = [];\n let current = start;\n\n while (!isEqual(current, end)) {\n days.push(current);\n current = addDays(current, 1);\n }\n\n days.push(current);\n\n return days;\n}\n\n/**\n * given a date, return an array of dates from a calendar perspective\n * @param date\n * @param firstDayOfWeek\n */\nexport function getViewOfMonth(\n date: Date,\n firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday\n): Date[] {\n const start = startOfWeek(startOfMonth(date), firstDayOfWeek);\n const end = endOfWeek(endOfMonth(date), firstDayOfWeek);\n\n return getDaysInRange(start, end);\n}\n\n/**\n * Form random hash\n */\nexport function chr4() {\n return Math.random().toString(16).slice(-4);\n}\n\n/**\n * Create random identifier with a prefix\n * @param prefix\n */\nexport function createIdentifier(prefix) {\n return `${prefix}-${chr4()}${chr4()}-${chr4()}-${chr4()}-${chr4()}-${chr4()}${chr4()}${chr4()}`;\n}\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{h as l}from"./p-
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{h as l}from"./p-b5c33aff.js";const e=({label:e,hasLabelSlot:r,controlId:a,labelId:t,floatLabel:s,placeholder:o,hideLabel:c,hasValue:n,rtl:_,showCharCount:d,maxlength:m,charCount:i})=>{if(!e&&!r)return;if(s){return l("label",{class:"form-ctrl__float-label",htmlFor:a,id:t},e&&e,!e&&r&&l("slot",{name:"label"}),d&&l("span",{class:"form-ctrl__label-charcount"},m?` ${i}/${m}`:` ${i}`))}else{return l("label",{class:{"form-ctrl__label":true,"visually-hide":c},htmlFor:a,id:t},l("div",{class:"form-ctrl__label-wrap"},o&&n&&_&&l("span",{class:"form-ctrl__label-placeholder"},o," / "),l("span",{class:"form-ctrl__labeltext"},e&&e,!e&&r&&l("slot",{name:"label"})),o&&n&&!_&&l("span",{class:"form-ctrl__label-placeholder"}," / ",o)),d&&l("span",{class:"form-ctrl__label-charcount"},m?m-i+" left":i+" characters"))}};const r=(r,a)=>{const{rtl:t,floatLabel:s,label:o,moreId:c,helperEndId:n,type:_,hasHelperSlot:d,showInlineError:m,errorMessage:i,hasHelperEndSlot:f}=r;const h=f?"nano-resize-observe":"div";return l(h,{states:"350w has-enough-width",class:{"has-label":o!==null&&!s,"has-float-label":o!==null&&s,"has-helper-end":f,rtl:t,"form-ctrl":true}},l("div",{class:"form-ctrl__wrapper"},!s?e(Object.assign({},r)):"",l("div",{class:{"form-ctrl__input":true,"form-ctrl__textarea":_==="textarea"}},s&&e(Object.assign(Object.assign({},r),{rtl:t})),a),m||d?l("div",{class:"form-ctrl__more",id:c},!!m?l("div",{class:"form-ctrl__error","aria-live":"polite"},i):"",l("div",{class:"form-ctrl__helper"},l("slot",{name:"helper"}))):""),f?l("div",{class:"form-ctrl__helper-end",id:n},l("slot",{name:"helper-end"})):"")};const a=(e,r)=>{const{clearControl:a,onClearText:t,readonly:s,disabled:o,control:c,ref:n,endSlot:_,endValueSlot:d,startSlot:m}=e;const i=()=>{c.setFocus()};return l("div",{class:"form-ctrl__input-wrap",ref:l=>{if(n)n(l)}},l("span",{class:"form-ctrl__slot-start"},l("slot",{name:"start"}),m),r,a&&!s&&!o&&l("button",{type:"button",class:"icon form-ctrl__clear-btn",tabindex:"-1",onTouchStart:t,onMouseDown:t},l("nano-icon",{name:"light/times"})),l("span",{class:"form-ctrl__slot-value-end",onClick:i},l("slot",{name:"value-end"}),d),l("span",{class:"form-ctrl__slot-end"},l("slot",{name:"end"}),_))};export{r as F,a};
|
5
|
+
//# sourceMappingURL=p-71e9fa33.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,c as i,h as s,g as e}from"./p-
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{r as t,c as i,h as s,g as e}from"./p-b5c33aff.js";import{P as o}from"./p-3de7735c.js";import{g as n}from"./p-74a7fc4f.js";import{a as r}from"./p-9a385481.js";import"./p-289aa03f.js";const a=":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{--width:auto;--border:var(--nano-layer-border-style, 1px solid var(--nano-layer-border-color, rgba(0, 0, 0, 0.1)));--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background:var(--nano-layer-bg, #fff);--padding:10px 0;--overflow:hidden;--dropdown-z-index:var(--nano-layer-index-dropdown, 300);--min-width:0;--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));display:-webkit-box;display:-ms-flexbox;display:flex}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-width:var(--min-width)}@media (max-width: 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-width:var(--min-width);width:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentColor;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);opacity:0;-webkit-transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;min-height:20px;overflow:var(--overflow);-webkit-box-sizing:content-box !important;box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{-webkit-transform:translateY(-20px) translateZ(0);transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{-webkit-transform:translateY(20px) translateZ(0);transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;-webkit-transform:translateY(0) translateZ(0);transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(nano-menu){max-height:50vh}.dropdown__accessible-title{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}";let h=0;let d=class{constructor(s){t(this,s);this.nanoShow=i(this,"nanoShow",7);this.nanoAfterShow=i(this,"nanoAfterShow",7);this.nanoHide=i(this,"nanoHide",7);this.nanoAfterHide=i(this,"nanoAfterHide",7);this.dropdownId=`dropdown-${h++}`;this.labelId=this.dropdownId+"-title";this.ignoreOpenWatcher=false;this.didLoad=false;this.autoOpen=true;this.open=false;this.closeOnSelect=true;this.tetherTo=null;this.placement="bottom-start";this.distance=2;this.skidding=0;this.hoist=false;this.togglePanel=()=>{if(!this.autoOpen)return;this.open?this.hide():this.show()};this.handleTriggerKeyDown=t=>{if(["ArrowDown","ArrowUp"," "].includes(t.key)){this.show();t.preventDefault();t.stopPropagation();if(this.menu)this.menu.setFocus()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()}}get menu(){return this.host.querySelector("nano-menu")}handleOpenChange(){if(this.ignoreOpenWatcher)return;this.open?this.show():this.hide();if(this.accessibleTrigger){this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString());return}this.updateAccessibleTrigger()}handleTetherToChange(){this.createPopover();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}secondaryOpen(t){if(!t.detail.secondaryMenu)return;t.stopPropagation();this.panel.classList.add("loading");this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:true});this.panel.style.minHeight=t.detail.secondaryMenu.scrollHeight+"px"}secondaryClose(t){if(!t.detail.secondaryMenu)return;t.stopPropagation();if(!t.target.parentElement)return;this.panel.style.minHeight=t.target.parentElement.scrollHeight+"px"}handlePanelSelect(t){const i=t.target;if(this.closeOnSelect&&i.tagName.toLowerCase()==="nano-menu")this.hide()}async show(){this.ignoreOpenWatcher=true;this.open=true;const t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;this.ignoreOpenWatcher=false;return}this.popover.show();this.ignoreOpenWatcher=false;document.addEventListener("mousedown",this.handleDocumentMouseDown);document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){this.ignoreOpenWatcher=true;this.open=false;const t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;this.ignoreOpenWatcher=false;return}if(this.popover)this.popover.hide();this.ignoreOpenWatcher=false;document.removeEventListener("mousedown",this.handleDocumentMouseDown);document.removeEventListener("keydown",this.handleDocumentKeyDown);if(this.accessibleTrigger&&this.focusEleInDropDwn()){this.accessibleTrigger.focus()}}focusEleInDropDwn(t){var i;const s=n();if(t&&((i=t.composedPath())===null||i===void 0?void 0:i.length)){const i=t.composedPath().includes(this.containingElement);return!t.composedPath().includes(this.accessibleTrigger)&&i}return s&&s.closest(this.containingElement.tagName.toLowerCase())===this.containingElement&&s!==this.accessibleTrigger}updateAccessibleTrigger(){if(!this.didLoad)return;let t;this.accessibleTrigger=null;if(!this.tetherTo){const i=Array.from(this.host.querySelectorAll('[slot="trigger"]'));t=i.map(r)[0]}else{t=r(this.tetherTo)}if(t){t.setAttribute("aria-haspopup","true");t.setAttribute("aria-expanded",this.open?"true":"false");this.accessibleTrigger=t}}handleDocumentKeyDown(t){if(t.key==="Escape"){this.hide();return}if(t.key==="Tab"){setTimeout((()=>{if(document.activeElement&&document.activeElement.closest(this.containingElement.tagName.toLowerCase())!==this.containingElement){this.hide();return}}))}if(this.menu&&["ArrowDown","ArrowUp"].includes(t.key)){if(!this.open||this.focusEleInDropDwn(t))return;t.preventDefault();this.menu.setFocus();return}const i=t.composedPath();if(this.menu&&i.length&&!i.find((t=>t!==this.menu))){this.menu.dispatchEvent(new KeyboardEvent(t.type,t));return}}handleDocumentMouseDown(t){if(!this.focusEleInDropDwn(t)){this.hide();return}}createPopover(){if(this.popover){if(this.open)this.hide();this.popover.destroy();this.popover=null}this.popover=new o(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.nanoAfterHide.emit(),onAfterShow:()=>this.nanoAfterShow.emit(),onTransitionEnd:()=>{if(!this.open){this.panel.scrollTop=0}else if(this.menu){this.menu.showActiveElement()}}});if(this.open){this.show()}}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this);this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this);if(!this.containingElement)this.containingElement=this.host}componentDidLoad(){this.didLoad=true;this.createPopover();setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){this.hide();if(this.popover)this.popover.destroy()}render(){return s("div",{part:"base",id:this.dropdownId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},s("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),s("div",{ref:t=>this.positioner=t,class:"dropdown__positioner"},s("div",{ref:t=>this.panel=t,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:"dialog","aria-modal":"true","aria-labelledby":this.dialogTitle?this.labelId:undefined},this.dialogTitle&&s("h2",{id:this.labelId,class:"dropdown__accessible-title","aria-live":"polite"},this.dialogTitle),s("slot",null))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};d.style=a;export{d as nano_dropdown};
|
5
|
+
//# sourceMappingURL=p-73985eda.entry.js.map
|
File without changes
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
import{r as t,c as e,i,h as s,e as o,g as r}from"./p-b5c33aff.js";import{d as n}from"./p-1da5f8df.js";let a=class{constructor(i){t(this,i);this.nanoResizeStateChange=e(this,"nanoResizeStateChange",7);this.classNames=[];this.assessChanges=()=>{if(!this.currentWidth&&!this.currentHeight)return;const t={h:new Map,w:new Map};let e=false;Object.keys(this.appliedStates).forEach((i=>{let s;if(i==="h")s=this.currentHeight;else s=this.currentWidth;this.appliedStates[i].forEach(((o,r)=>{if(s>=r&&o.applied===false){o.applied=true;t[i].set(r,o);e=true}else if(s<r&&o.applied===true){o.applied=false;t[i].set(r,o);e=true}}))}));if(e)this.applyChanges(t);else if(!this.classNames.includes("is-ready"))this.classNames=["is-ready"]}}dimensionChanged(){this.assessChanges()}statesChanged(){if(!this.states)return;if(!this.ro)this.attachRO();const t=t=>{const e=t.split(/(\d+)/).filter((t=>t.length));return{bp:parseInt(e[0]),dir:e[1]}};this.appliedStates={h:new Map,w:new Map};this.states.split(",").map((e=>{e=e.trim();if(e.includes(" ")){const[i,...s]=e.split(" ");const{bp:o,dir:r}=t(i);this.appliedStates[r].set(o,{states:s,applied:false})}else{const{bp:i,dir:s}=t(e);this.appliedStates[s].set(i,{applied:false})}}))}applyChanges(t){let e=[...this.classNames];Object.keys(t).forEach((i=>{t[i].forEach((t=>{if(!t.states)return;t.states.map((i=>{if(t.applied)e.push(i);else e=e.filter((t=>t!==i))}))}))}));this.classNames=["is-ready",...e];this.nanoResizeStateChange.emit(this.toSimpleObj(t))}toSimpleObj(t){const e={};Object.keys(t).forEach((i=>{t[i].forEach(((t,s)=>{e[s+i]=t.applied}))}));return e}attachRO(){this.ro=new ResizeObserver((t=>{for(const e of t){this.currentWidth=e.contentRect.width;this.currentHeight=e.contentRect.height}}));this.ro.observe(this.host)}connectedCallback(){this.assessChanges=n(this.assessChanges,50)}componentDidLoad(){if(!this.states)return;if(!this.currentWidth||!this.currentHeight){i((()=>{const{width:t,height:e}=this.host.getBoundingClientRect();this.currentWidth=t;this.currentHeight=e}))}this.statesChanged()}disconnectedCallback(){if(this.ro)this.ro.disconnect()}render(){return s(o,{class:{[this.classNames.join(" ")]:true}},s("slot",null))}get host(){return r(this)}static get watchers(){return{currentHeight:["dimensionChanged"],currentWidth:["dimensionChanged"],states:["statesChanged"]}}};a.style=":host { display: inline-block } div { height: 100%; }";const h=":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{--base-color-rgb:var(--nano-skeleton-base-rgb, 228, 230, 232);--color:var(--nano-skeleton-color, rgba(var(--base-color-rgb), 1));--tint:var(--nano-skeleton-tint, rgba(var(--base-color-rgb), 0.5));display:block;position:relative;border-radius:0.25rem;height:1em}.skeleton{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%;border-radius:inherit}.skeleton__indicator{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;background:var(--color);border-radius:inherit}.skeleton.animate .skeleton__indicator{background:-webkit-gradient(linear, right top, left top, from(var(--tint)), color-stop(var(--color)), color-stop(var(--color)), to(var(--tint)));background:linear-gradient(270deg, var(--tint), var(--color), var(--color), var(--tint));background-size:400% 100%;-webkit-animation:loader 6s ease-in-out infinite;animation:loader 6s ease-in-out infinite}@-webkit-keyframes loader{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes loader{0%{background-position:200% 0}to{background-position:-200% 0}}";let l=class{constructor(e){t(this,e);this.animated=true}render(){return s("div",{class:{skeleton:true,animate:this.animated}},s("div",{class:"skeleton__indicator"}))}};l.style=h;export{a as nano_resize_observe,l as nano_skeleton};
|
5
|
+
//# sourceMappingURL=p-755d9227.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/resize-observe/resize-observe.tsx","src/components/skeleton/skeleton.scss?tag=nano-skeleton&encapsulation=shadow","src/components/skeleton/skeleton.tsx"],"names":["ResizeObserve","[object Object]","hostRef","this","classNames","assessChanges","currentWidth","currentHeight","changedStates","h","Map","w","hasChanged","Object","keys","appliedStates","forEach","dimType","dim","state","bp","applied","set","applyChanges","includes","states","ro","attachRO","toBpDir","bpDir","bpDirSpl","split","filter","bs","length","parseInt","dir","map","st","trim","key","classes","changes","push","cl","nanoResizeStateChange","emit","toSimpleObj","stateMaps","retObj","ResizeObserver","entries","entry","contentRect","width","height","observe","host","debounce","readTask","getBoundingClientRect","statesChanged","disconnect","Host","class","join","skeletonCss","Skeleton","animated","skeleton","animate"],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Prop,\n Element,\n Host,\n State,\n Watch,\n ComponentInterface,\n Event,\n EventEmitter,\n readTask,\n} from '@stencil/core';\nimport { debounce } from '../../utils';\nimport type { ResizeStateChangeEventDetail } from '../../interface';\n\ntype ResizeObserverState = { states?: string[]; applied?: boolean };\ninterface StateMaps {\n h: Map<number, ResizeObserverState>;\n w: Map<number, ResizeObserverState>;\n}\n\n/**\n * A Resize-Observer utility component.\n * Takes a string list of sizes and optional class-names. Adds class-names and fires `nanoResizeStateChange` events when the component reaches those sizes.\n * @slot - Main slot for any content.\n */\n@Component({\n tag: 'nano-resize-observe',\n shadow: true,\n styles: `:host { display: inline-block } div { height: 100%; }`,\n})\nexport class ResizeObserve implements ComponentInterface {\n private ro: ResizeObserver;\n private appliedStates: StateMaps;\n\n @Element() host: HTMLNanoResizeObserveElement;\n @State() currentWidth: number;\n @State() currentHeight: number;\n @State() classNames: string[] = [];\n\n /** string list of sizes and optional class-names. Adds class-names and fires nanoResizeStateChange events. Upon hitting breakpoints.\n * Format: `states=\"800w, 300h class1 class2\"` */\n @Prop() states: string;\n\n /** A resize break point is switched on or off */\n @Event() nanoResizeStateChange!: EventEmitter<ResizeStateChangeEventDetail>;\n\n @Watch('currentHeight')\n @Watch('currentWidth')\n dimensionChanged() {\n this.assessChanges();\n }\n\n @Watch('states')\n statesChanged() {\n if (!this.states) return;\n if (!this.ro) this.attachRO();\n\n const toBpDir = (bpDir: string) => {\n const bpDirSpl = bpDir.split(/(\\d+)/).filter((bs) => bs.length);\n return { bp: parseInt(bpDirSpl[0]), dir: bpDirSpl[1] };\n };\n this.appliedStates = { h: new Map(), w: new Map() };\n\n // parse state string\n this.states.split(',').map((st) => {\n st = st.trim();\n if (st.includes(' ')) {\n const [key, ...classes] = st.split(' ');\n const { bp, dir } = toBpDir(key);\n this.appliedStates[dir as keyof StateMaps].set(bp, {\n states: classes,\n applied: false,\n });\n } else {\n const { bp, dir } = toBpDir(st);\n this.appliedStates[dir as keyof StateMaps].set(bp, { applied: false });\n }\n });\n }\n\n private assessChanges = () => {\n if (!this.currentWidth && !this.currentHeight) return;\n const changedStates: StateMaps = { h: new Map(), w: new Map() };\n let hasChanged = false;\n\n Object.keys(this.appliedStates).forEach((dimType) => {\n let dim: number;\n if (dimType === 'h') dim = this.currentHeight;\n else dim = this.currentWidth;\n\n this.appliedStates[dimType].forEach(\n (state: ResizeObserverState, bp: number) => {\n if (dim >= bp && state.applied === false) {\n state.applied = true;\n changedStates[dimType].set(bp, state);\n hasChanged = true;\n } else if (dim < bp && state.applied === true) {\n state.applied = false;\n changedStates[dimType].set(bp, state);\n hasChanged = true;\n }\n }\n );\n });\n if (hasChanged) this.applyChanges(changedStates);\n else if (!this.classNames.includes('is-ready'))\n this.classNames = ['is-ready'];\n };\n\n private applyChanges(changes: StateMaps) {\n let classNames = [...this.classNames];\n Object.keys(changes).forEach((dimType: keyof StateMaps) => {\n changes[dimType].forEach((state) => {\n if (!state.states) return;\n state.states.map((st) => {\n if (state.applied) classNames.push(st);\n else classNames = classNames.filter((cl) => cl !== st);\n });\n });\n });\n this.classNames = ['is-ready', ...classNames];\n this.nanoResizeStateChange.emit(this.toSimpleObj(changes));\n }\n\n private toSimpleObj(stateMaps: StateMaps) {\n const retObj = {};\n Object.keys(stateMaps).forEach((dimType: keyof StateMaps) => {\n stateMaps[dimType].forEach((state: ResizeObserverState, bp: number) => {\n retObj[bp + dimType] = state.applied;\n });\n });\n return retObj;\n }\n\n private attachRO() {\n this.ro = new ResizeObserver((entries) => {\n for (const entry of entries) {\n this.currentWidth = entry.contentRect.width;\n this.currentHeight = entry.contentRect.height;\n }\n });\n this.ro.observe(this.host);\n }\n\n connectedCallback() {\n this.assessChanges = debounce(this.assessChanges, 50);\n }\n\n componentDidLoad() {\n if (!this.states) return;\n if (!this.currentWidth || !this.currentHeight) {\n readTask(() => {\n const { width, height } = this.host.getBoundingClientRect();\n this.currentWidth = width;\n this.currentHeight = height;\n });\n }\n this.statesChanged();\n }\n\n disconnectedCallback() {\n if (this.ro) this.ro.disconnect();\n }\n\n render() {\n return (\n <Host\n class={{\n [this.classNames.join(' ')]: true,\n }}\n >\n <slot />\n </Host>\n );\n }\n}\n","@import '../../global/style/nano-theme/components';\n\n:host {\n /**\n * @prop --base-color-rgb: default #{$skeleton-color-rgb};\n * @prop --color: default var(--nano-skeleton-color, rgba(var(--base-color-rgb), 1));\n * @prop --tint: default var(--nano-skeleton-tint, rgba(var(--base-color-rgb), .3));\n */\n\n --base-color-rgb: #{$skeleton-color-rgb};\n --color: var(--nano-skeleton-color, rgba(var(--base-color-rgb), 1));\n --tint: var(--nano-skeleton-tint, rgba(var(--base-color-rgb), 0.5));\n\n display: block;\n position: relative;\n border-radius: 0.25rem;\n height: 1em;\n}\n\n.skeleton {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n}\n\n.skeleton__indicator {\n flex: 1 1 auto;\n background: var(--color);\n border-radius: inherit;\n}\n\n.skeleton.animate .skeleton__indicator {\n background:\n linear-gradient(\n 270deg,\n var(--tint),\n var(--color),\n var(--color),\n var(--tint)\n );\n background-size: 400% 100%;\n animation: loader 6s ease-in-out infinite;\n}\n\n@keyframes loader {\n 0% {\n background-position: 200% 0;\n }\n\n to {\n background-position: -200% 0;\n }\n}\n","import { Component, Prop, h, ComponentInterface } from '@stencil/core';\n\n/**\n * Skeletons are used to show where content will eventually be drawn.\n * Simple containers for scaffolding layouts that mimic what users will see when content has finished loading.\n * Prevents large areas of empty space during asynchronous operations.\n */\n@Component({\n tag: 'nano-skeleton',\n styleUrl: 'skeleton.scss',\n shadow: true,\n})\nexport class Skeleton implements ComponentInterface {\n /** When `true`, the skeleton will animate. */\n @Prop() animated = true;\n\n render() {\n return (\n <div\n class={{\n skeleton: true,\n animate: this.animated,\n }}\n >\n <div class=\"skeleton__indicator\" />\n </div>\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 i,c as t,h as e,e as s,g as n}from"./p-
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{r as i,c as t,h as e,e as s,g as n}from"./p-b5c33aff.js";import{c as o,r}from"./p-289aa03f.js";import{d as h}from"./p-1da5f8df.js";function a(i,t){function e(e){const s=i.getBoundingClientRect();const n=i.ownerDocument.defaultView;const o=s.left+n.pageXOffset;const r=s.top+n.pageYOffset;const h=e.pageX-o;const a=e.pageY-r;t(h,a)}function s(){document.removeEventListener("pointermove",e);document.removeEventListener("pointerup",s)}document.addEventListener("pointermove",e,{passive:true});document.addEventListener("pointerup",s)}const d=':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{--divider-width:12px;--divider-hit-area:14px;--min:0%;--max:100%;--background-color:#e4e6e8;--content-color:#918b86;display:-ms-grid;display:grid}.start,.end{overflow:hidden}.divider{-webkit-box-flex:0;-ms-flex:0 0 var(--divider-width);flex:0 0 var(--divider-width);display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:var(--background-color);color:var(--content-color);z-index:1;font-size:0.8rem}.divider:focus{outline:none}:host(:not([disabled])) .divider:focus-visible{background-color:var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}:host([disabled]) .divider{cursor:not-allowed}:host(:not([vertical],[disabled])) .divider{cursor:col-resize}:host(:not([vertical])) .divider::after{display:-webkit-box;display:-ms-flexbox;display:flex;content:"";position:absolute;height:100%;left:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);width:var(--divider-hit-area)}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host([vertical]:not([disabled])) .divider{cursor:row-resize}:host([vertical]) .divider::after{content:"";position:absolute;width:100%;top:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);height:var(--divider-hit-area)}';let l=class{constructor(e){i(this,e);this.nanoReposition=t(this,"nanoReposition",7);this.nanoDragging=t(this,"nanoDragging",7);this.isAnimating=false;this.didLoad=false;this._shouldAnimate=true;this.vertical=false;this.disabled=false;this.snapThreshold=12;this.animationDuration=.6;this.handleDrag=i=>{if(this.disabled){return}i.preventDefault();a(this.host,((i,t)=>{let e=this.vertical?t:i;this.nanoDragging.emit(e);if(this.primary==="end"){e=this.size-e}if(this.snap){const i=this.snap.split(" ");i.forEach((i=>{let t;if(i.endsWith("%")){t=this.size*(parseFloat(i)/100)}else{t=parseFloat(i)}if(e>=t-this.snapThreshold&&e<=t+this.snapThreshold){e=t}}))}this.shouldAnimate=false;this.position=o(this.pixelsToPercentage(e),0,100);r((()=>this.shouldAnimate=true))}))};this.handleKeyDown=i=>{if(this.disabled){return}if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(i.key)){let t=this.position;const e=(i.shiftKey?10:1)*(this.primary==="end"?-1:1);i.preventDefault();if(i.key==="ArrowLeft"&&!this.vertical||i.key==="ArrowUp"&&this.vertical){t-=e}if(i.key==="ArrowRight"&&!this.vertical||i.key==="ArrowDown"&&this.vertical){t+=e}if(i.key==="Home"){t=this.primary==="end"?100:0}if(i.key==="End"){t=this.primary==="end"?0:100}this.shouldAnimate=false;this.position=o(t,0,100);r((()=>this.shouldAnimate=true))}};this.handleResize=()=>{if(!this.didLoad||this.isAnimating)return;if(this.primary){this.shouldAnimate=false;this.position=this.pixelsToPercentage(this.cachedPositionInPixels);r((()=>this.shouldAnimate=true))}};this.handlePositionChange=h(this.handlePositionChange.bind(this),100)}get size(){const{width:i,height:t}=this.host.getBoundingClientRect();return this.vertical?t:i}get shouldAnimate(){return this.didLoad&&this._shouldAnimate}set shouldAnimate(i){this._shouldAnimate=i}get position(){return this._position}set position(i){i=Math.min(Math.max(i,0),100);if(isNaN(i)||i===this._position)return;if(this.shouldAnimate&&this.animationDuration>0&&!isNaN(this.position)){this.animatePosition(i);return}this._position=i}handlePositionChange(){this.cachedPositionInPixels=this.percentageToPixels(this.position);this.positionInPixels=this.percentageToPixels(this.position);this.nanoReposition.emit()}handlePositionInPixelsChange(){this.position=this.pixelsToPercentage(this.positionInPixels)}async getPercentageToPixels(i){return this.percentageToPixels(i)}async getPixelsToPercentage(i){return this.pixelsToPercentage(i)}animatePosition(i){if(this.isAnimating)return;const t=this.animationDuration;const e=60;const s=this.position;const n=i-s;let o=s;let h=0;function a(i,t,e,s){if((i/=s/2)<1)return e/2*i*i+t;else return-e/2*(--i*(i-2)-1)+t}const d=()=>{h+=1/e;o=a(h,s,n,t);if(i>s&&o>=i||i<s&&o<=i){this.position=i;this.shouldAnimate=true;this.isAnimating=false;return}this.position=o;r(d)};this.shouldAnimate=false;this.isAnimating=true;r(d)}percentageToPixels(i){return this.size*(i/100)}pixelsToPercentage(i){return i/this.size*100}attachRO(){this.detachRO();this.ro=new ResizeObserver((()=>this.handleResize()));this.ro.observe(this.host)}detachRO(){if(!this.ro)return;this.ro.unobserve(this.host);this.ro=undefined}componentDidLoad(){if(this.positionInPixels)this.handlePositionInPixelsChange();setTimeout((()=>this.didLoad=true))}connectedCallback(){this.cachedPositionInPixels=this.percentageToPixels(this.position);this.attachRO()}disconnectedCallback(){this.detachRO()}componentDidRender(){r((()=>{if(typeof this.position==="undefined"){this.position=50}}))}render(){if(typeof this.position==="undefined")return;const i={};const t=this.vertical?"gridTemplateRows":"gridTemplateColumns";const n=`\n clamp(\n 0%,\n clamp(\n var(--min),\n ${this.position}% - var(--divider-width) / 2,\n var(--max)\n ),\n calc(100% - var(--divider-width))\n )\n `;const o="auto";if(this.primary==="end"){i[t]=`${o} var(--divider-width) ${n}`}else{i[t]=`${n} var(--divider-width) ${o}`}return e(s,{style:i},e("div",{part:"panel start",class:"start"},e("slot",{name:"start"})),e("div",{part:"divider",class:"divider",tabindex:this.disabled?undefined:"0",role:"separator","aria-label":"Resize",onKeyDown:this.handleKeyDown,onMouseDown:this.handleDrag,onTouchStart:this.handleDrag},e("slot",{name:"handle"},!this.disabled&&this.vertical?e("nano-icon",{slot:"handle",name:"solid/grip-lines"}):e("nano-icon",{slot:"handle",name:"solid/grip-lines-vertical"}))),e("div",{part:"panel end",class:"end"},e("slot",{name:"end"})))}get host(){return n(this)}static get watchers(){return{position:["handlePositionChange"],positionInPixels:["handlePositionInPixelsChange"]}}};l.style=d;export{l as nano_split_pane};
|
5
|
+
//# sourceMappingURL=p-76c903db.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","./p-89edc042.system.js"],(function(n){"use strict";var i,t,r,e,o,a;return{setters:[function(n){i=n.l;t=n.r;r=n.h;e=n.e;o=n.g},function(n){a=n.c}],execute:function(){var s;var c=function(){if(!s){var n=window;n.Nanoicons=n.Nanoicons||{};s=n.Nanoicons.map=n.Nanoicons.map||new Map}return s};var l=function(n){var i=d(n.src);if(i){return i}i=u(n.name,n.icon);if(i){return f(i)}if(n.icon){i=d(n.icon);if(i){return i}}return null};var f=function(n){var t=c().get(n);if(t){return t}return i("../node_modules/@fortawesome/fontawesome-pro/svgs/"+n+".svg")};var u=function(n,i){if(!n&&i&&!v(i)){n=i}if(h(n)){n=g(n)}if(!h(n)||n.trim()===""){return null}var t=n.replace(/[a-z]|-|\/|\d/gi,"");if(t!==""){console.warn("invalid characters in icon name "+n);return null}return n};var d=function(n){if(h(n)){n=n.trim();if(v(n)){return n}}return null};var v=function(n){return n.length>0&&/(\/|\.)/.test(n)};var h=function(n){return typeof n==="string"};var g=function(n){return n.toLowerCase()};var m=function(n){if(n){var i=document.createElement("div");i.innerHTML=n;for(var t=i.childNodes.length-1;t>=0;t--){if(i.childNodes[t].nodeName.toLowerCase()!=="svg"){i.removeChild(i.childNodes[t])}}var r=i.firstElementChild;if(r&&r.nodeName.toLowerCase()==="svg"){var e=r.getAttribute("class")||"";r.setAttribute("class",(e+" sc-nano-icon s-nano-icon svg").trim());if(p(r)){return i.innerHTML}}}return""};var p=function(n){if(n.nodeType===1){if(n.nodeName.toLowerCase()==="script"){return false}for(var i=0;i<n.attributes.length;i++){var t=n.attributes[i].value;if(h(t)&&t.toLowerCase().indexOf("on")===0){return false}}for(var i=0;i<n.childNodes.length;i++){if(!p(n.childNodes[i])){return false}}}return true};var b=new Map;var w=new Map;var y=function(n){var i=w.get(n);if(!i){i=fetch(n).then((function(i){if(i.ok){return i.text().then((function(i){b.set(n,m(i))}))}b.set(n,"")}));w.set(n,i)}return i};var x=':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{--color:var(--nano-color-base, "currentColor");--primary-color:var(--nano-color-tint, "currentColor");--secondary-color:var(--nano-color-shade, "currentColor");--stroke-width:32px;--primary-opacity:0.8;--secondary-opacity:1;--icon-size:var(--nano-icon-size, 1em);--icon-margin-top:var(--nano-icon-margin-top, 0);--icon-margin-end:var(--nano-icon-margin-end, 0);--icon-margin-bottom:var(--nano-icon-margin-bottom, 0);--icon-margin-start:var(--nano-icon-margin-start, 0);display:inline-block;width:var(--icon-size);height:var(--icon-size);min-width:var(--icon-size);min-height:var(--icon-size);contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important;-webkit-transition:opacity 0.3s ease;transition:opacity 0.3s ease;color:var(--color);margin-left:var(--icon-margin-start);margin-right:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end)}}:host .nanoicon{stroke:currentColor}.nanoicon-fill-none{fill:none}.nanoicon-stroke-width{stroke-width:32px;stroke-width:var(--stroke-width)}.icon-inner,.nanoicon,svg,.svg{display:block;height:100%;width:100%;overflow:visible}:host(.loading){opacity:0}.fa-primary{color:var(--primary-color);opacity:var(--primary-opacity, 1)}.fa-secondary{color:var(--secondary-color);opacity:var(--secondary-opacity) !important}:host(.flip-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !important}';var k=!!document.head.attachShadow;var z=n("nano_icon",function(){function n(n){t(this,n);this.isVisible=false;this.isLoading=true;this.lazy=true}n.prototype.setAriaLabel=function(){if(!this.ariaLabel){var n=u(this.name,this.icon);if(n){this.ariaLabel=n.split("/").slice(-1)[0].replace(/\-/g," ")}}};n.prototype.connectedCallback=function(){var n=this;this.waitUntilVisible(this.el,"50px",(function(){n.isVisible=true;n.loadIcon()}))};n.prototype.disconnectedCallback=function(){if(this.io){this.io.disconnect();this.io=undefined}};n.prototype.componentWillLoad=function(){this.setAriaLabel()};n.prototype.waitUntilVisible=function(n,i,t){var r=this;if(k&&this.lazy&&typeof window!=="undefined"&&window.IntersectionObserver){var e=this.io=new window.IntersectionObserver((function(n){if(n[0].isIntersecting||n[1]&&n[1].isIntersecting){e.disconnect();r.io=undefined;t()}}),{rootMargin:i});e.observe(n)}else{t()}};n.prototype.loadIcon=function(){var n=this;if(this.isVisible){var i=l(this);if(i){if(b.has(i)){this.svgContent=b.get(i);this.isLoading=false}else{y(i).then((function(){n.svgContent=b.get(i);n.isLoading=false}))}}}this.setAriaLabel()};n.prototype.render=function(){var n;var i=this.flipRtl||this.name&&(this.name.indexOf("arrow")>-1||this.name.indexOf("chevron")>-1)&&this.el.ownerDocument.dir==="rtl"&&this.flipRtl!==false;return r(e,{role:"img",class:Object.assign(Object.assign({},a(this.color)),(n={loading:this.isLoading},n["icon-"+this.size]=!!this.size,n["flip-rtl"]=!!i,n))},this.svgContent?r("div",{class:"icon-inner",innerHTML:this.svgContent}):r("div",{class:"icon-inner"}))};Object.defineProperty(n,"assetsDirs",{get:function(){return["../../../node_modules/@fortawesome/fontawesome-pro/svgs"]},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});Object.defineProperty(n,"watchers",{get:function(){return{name:["loadIcon"],src:["loadIcon"],icon:["loadIcon"]}},enumerable:false,configurable:true});return n}());z.style=x}}}));
|
5
|
+
//# sourceMappingURL=p-7aa7425d.system.entry.js.map
|
package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["src/components/icon/utils.ts","src/components/icon/validate.ts","src/components/icon/request.ts","src/components/icon/icon.scss?tag=nano-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"names":["CACHED_MAP","getIconMap","win","window","Nanoicons","map","Map","getUrl","i","url","getSrc","src","getName","name","icon","getNamedUrl","iconName","get","getAssetPath","isSrc","isStr","toLower","trim","invalidChars","replace","console","warn","str","length","test","val","toLowerCase","validateContent","svgContent","div","document","createElement","innerHTML","childNodes","nodeName","removeChild","svgElm","firstElementChild","svgClass","getAttribute","setAttribute","isValid","elm","nodeType","attributes","value","indexOf","iconContent","requests","getSvgContent","req","fetch","then","rsp","ok","text","set","iconCss","CANSHADOW","head","attachShadow","Icon","exports","class_1","hostRef","this","isVisible","isLoading","lazy","prototype","setAriaLabel","ariaLabel","label","split","slice","connectedCallback","_this","waitUntilVisible","el","loadIcon","disconnectedCallback","io","disconnect","undefined","componentWillLoad","rootMargin","cb","IntersectionObserver","io_1","data","isIntersecting","observe","url_1","has","render","flipRtl","ownerDocument","dir","h","Host","role","class","Object","assign","createColorClasses","color","_a","loading","size"],"mappings":"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","sourcesContent":["import { getAssetPath } from '@stencil/core';\nimport { Icon } from './icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const getIconMap = (): Map<string, string> => {\n if (!CACHED_MAP) {\n const win = window as any;\n win.Nanoicons = win.Nanoicons || {};\n CACHED_MAP = win.Nanoicons.map = win.Nanoicons.map || new Map();\n }\n return CACHED_MAP;\n};\n\nexport const addIcons = (icons: { [name: string]: string }) => {\n const map = getIconMap();\n Object.keys(icons).forEach((name) => map.set(name, icons[name]));\n};\n\nexport const getUrl = (i: Icon) => {\n let url = getSrc(i.src);\n if (url) {\n return url;\n }\n\n url = getName(i.name, i.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (i.icon) {\n url = getSrc(i.icon);\n if (url) {\n return url;\n }\n }\n return null;\n};\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n return getAssetPath(\n `../node_modules/@fortawesome/fontawesome-pro/svgs/${iconName}.svg`\n );\n};\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n) => {\n if (!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n // only allow alpha characters and dash\n const invalidChars = iconName.replace(/[a-z]|-|\\/|\\d/gi, '');\n if (invalidChars !== '') {\n console.warn('invalid characters in icon name ' + iconName);\n return null;\n }\n return iconName;\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n if (isSrc(src)) {\n return src;\n }\n }\n return null;\n};\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string';\nexport const toLower = (val: string) => val.toLowerCase();\n","import { isStr } from './utils';\n\nexport const validateContent = (svgContent: string | null) => {\n if (svgContent) {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // setup this way to ensure it works on our buddy IE\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {\n const svgClass = svgElm.getAttribute('class') || '';\n svgElm.setAttribute(\n 'class',\n (svgClass + ' sc-nano-icon s-nano-icon svg').trim()\n );\n\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm as any)) {\n return div.innerHTML;\n }\n }\n }\n return '';\n};\n\nexport const isValid = (elm: HTMLElement) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n for (let i = 0; i < elm.attributes.length; i++) {\n const val = elm.attributes[i].value;\n if (isStr(val) && val.toLowerCase().indexOf('on') === 0) {\n return false;\n }\n }\n\n for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i] as any)) {\n return false;\n }\n }\n }\n return true;\n};\n","import { validateContent } from './validate';\nexport const iconContent = new Map<string, string>();\nconst requests = new Map<string, Promise<any>>();\n\nexport const getSvgContent = (url: string) => {\n // see if we already have a request for this url\n let req = requests.get(url);\n if (!req) {\n // we don't already have a request\n req = fetch(url).then((rsp) => {\n if (rsp.ok) {\n return rsp.text().then((svgContent) => {\n iconContent.set(url, validateContent(svgContent));\n });\n }\n iconContent.set(url, '');\n });\n\n // cache for the same requests\n requests.set(url, req);\n }\n return req;\n};\n","@import '../../global/style/utilities/globals';\n\n:host {\n /**\n * @prop --color: defaults to current context color\n * @prop --primary-color: used for duotone icons to set the primary color\n * @prop --secondary-color: used for duotone icons to set the secondary color\n * @prop --primary-opacity: used for duotone icons to set the primary opacity\n * @prop --secondary-opacity: used for duotone icons to set the secondary opacity\n * @prop --stroke-width: 32px default stroke width\n */\n\n --color: var(--nano-color-base, 'currentColor');\n --primary-color: var(--nano-color-tint, 'currentColor');\n --secondary-color: var(--nano-color-shade, 'currentColor');\n --stroke-width: 32px;\n --primary-opacity: 0.8;\n --secondary-opacity: 1;\n --icon-size: var(--nano-icon-size, 1em);\n --icon-margin-top: var(--nano-icon-margin-top, 0);\n --icon-margin-end: var(--nano-icon-margin-end, 0);\n --icon-margin-bottom: var(--nano-icon-margin-bottom, 0);\n --icon-margin-start: var(--nano-icon-margin-start, 0);\n\n display: inline-block;\n width: var(--icon-size);\n height: var(--icon-size);\n min-width: var(--icon-size);\n min-height: var(--icon-size);\n contain: strict;\n fill: currentColor;\n box-sizing: content-box !important;\n transition: opacity 0.3s ease;\n color: var(--color);\n\n @include margin(\n var(--icon-margin-top),\n var(--icon-margin-end),\n var(--icon-margin-bottom),\n var(--icon-margin-start)\n );\n}\n\n:host .nanoicon {\n stroke: currentColor;\n}\n\n.nanoicon-fill-none {\n fill: none;\n}\n\n.nanoicon-stroke-width {\n stroke-width: 32px;\n stroke-width: var(--stroke-width);\n}\n\n.icon-inner,\n.nanoicon,\nsvg,\n.svg {\n display: block;\n height: 100%;\n width: 100%;\n overflow: visible;\n}\n\n:host(.loading) {\n opacity: 0;\n}\n\n.fa-primary {\n color: var(--primary-color);\n opacity: var(--primary-opacity, 1);\n}\n\n.fa-secondary {\n color: var(--secondary-color);\n opacity: var(--secondary-opacity) !important;\n}\n\n/* Icon RTL\n * -----------------------------------------------------------\n */\n:host(.flip-rtl) .icon-inner {\n transform: scaleX(-1);\n}\n\n/* Icon Sizes\n * -----------------------------------------------------------\n */\n:host(.icon-small) {\n font-size: 18px !important;\n}\n\n:host(.icon-large) {\n font-size: 32px !important;\n}\n","import {\n Build,\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { getSvgContent, iconContent } from './request';\nimport { getName, getUrl } from './utils';\nimport { Color } from '../../interface';\nimport { createColorClasses } from '../../utils/theme';\n\nconst CANSHADOW = !!document.head.attachShadow;\n\n/**\n * An SVG loader / helper. Comes bundled with all fontawesome pro icons by default but can use any custom SVG (with an correct path). Lazily loads SVG for each icon, so will only request the icons that you're using and that are visible.\n */\n@Component({\n tag: 'nano-icon',\n assetsDirs: ['../../../node_modules/@fortawesome/fontawesome-pro/svgs'],\n styleUrl: 'icon.scss',\n shadow: true,\n})\nexport class Icon {\n private io?: IntersectionObserver;\n\n @Element() el!: HTMLNanoIconElement;\n\n @State() private svgContent?: string;\n @State() private isVisible = false;\n @State() private isLoading = true;\n\n /**\n * Color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * Specifies the label to use for accessibility. Defaults to the icon name.\n */\n @Prop({ mutable: true, reflect: true }) ariaLabel?: string;\n\n /**\n * Specifies whether the icon should horizontally flip when `dir` is `\"rtl\"`.\n */\n @Prop() flipRtl?: boolean;\n\n /**\n * Specifies which icon to use from the built-in set of icons.\n */\n @Prop() name?: string;\n\n /**\n * Specifies the exact `src` of an SVG file to use.\n */\n @Prop() src?: string;\n\n /**\n * A combination of both `name` and `src`. If a `src` url is detected\n * it will set the `src` property. Otherwise it assumes it's a built-in named\n * SVG and set the `name` property.\n */\n @Prop() icon?: any;\n\n /**\n * The size of the icon.\n * Available options are: `\"small\"` and `\"large\"`.\n */\n @Prop() size?: 'small' | 'large';\n\n /**\n * If enabled, nano-icon will be loaded lazily when it's visible in the viewport.\n * Default, `false`.\n */\n @Prop() lazy = true;\n\n private setAriaLabel() {\n if (!this.ariaLabel) {\n const label = getName(this.name, this.icon);\n // user did not provide a label\n // come up with the label based on the icon name\n if (label) {\n this.ariaLabel = label.split('/').slice(-1)[0].replace(/\\-/g, ' ');\n }\n }\n }\n\n connectedCallback() {\n // purposely do not return the promise here because loading\n // the svg file should not hold up loading the app\n // only load the svg if it's visible\n this.waitUntilVisible(this.el, '50px', () => {\n this.isVisible = true;\n this.loadIcon();\n });\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n\n componentWillLoad() {\n this.setAriaLabel();\n }\n\n private waitUntilVisible(\n el: HTMLElement,\n rootMargin: string,\n cb: () => void\n ) {\n if (\n Build.isBrowser &&\n CANSHADOW &&\n this.lazy &&\n typeof window !== 'undefined' &&\n (window as any).IntersectionObserver\n ) {\n const io = (this.io = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].isIntersecting || (data[1] && data[1].isIntersecting)) {\n io.disconnect();\n this.io = undefined;\n cb();\n }\n },\n { rootMargin }\n ));\n\n io.observe(el);\n } else {\n // browser doesn't support IntersectionObserver\n // so just fallback to always show it\n cb();\n }\n }\n\n @Watch('name')\n @Watch('src')\n @Watch('icon')\n loadIcon() {\n if (Build.isBrowser && this.isVisible) {\n const url = getUrl(this);\n if (url) {\n if (iconContent.has(url)) {\n // sync if it's already loaded\n this.svgContent = iconContent.get(url);\n this.isLoading = false;\n } else {\n // async if it hasn't been loaded\n getSvgContent(url).then(() => {\n this.svgContent = iconContent.get(url);\n this.isLoading = false;\n });\n }\n }\n }\n this.setAriaLabel();\n }\n\n render() {\n const flipRtl =\n this.flipRtl ||\n (this.name &&\n (this.name.indexOf('arrow') > -1 ||\n this.name.indexOf('chevron') > -1) &&\n (this.el.ownerDocument as Document).dir === 'rtl' &&\n this.flipRtl !== false);\n\n return (\n <Host\n role=\"img\"\n class={{\n ...createColorClasses(this.color),\n loading: this.isLoading,\n [`icon-${this.size}`]: !!this.size,\n 'flip-rtl': !!flipRtl,\n }}\n >\n {Build.isBrowser && this.svgContent ? (\n <div class=\"icon-inner\" innerHTML={this.svgContent}></div>\n ) : (\n <div class=\"icon-inner\"></div>\n )}\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["src/components/icon/utils.ts","src/components/icon/validate.ts","src/components/icon/request.ts","src/components/icon/icon.scss?tag=nano-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"names":["CACHED_MAP","getIconMap","win","window","Nanoicons","map","Map","getUrl","i","url","getSrc","src","getName","name","icon","getNamedUrl","iconName","get","getAssetPath","isSrc","isStr","toLower","trim","invalidChars","replace","console","warn","str","length","test","val","toLowerCase","validateContent","svgContent","div","document","createElement","innerHTML","childNodes","nodeName","removeChild","svgElm","firstElementChild","svgClass","getAttribute","setAttribute","isValid","elm","nodeType","attributes","value","indexOf","iconContent","requests","getSvgContent","req","fetch","then","rsp","ok","text","set","iconCss","CANSHADOW","head","attachShadow","Icon","exports","class_1","hostRef","this","isVisible","isLoading","lazy","prototype","setAriaLabel","ariaLabel","label","split","slice","connectedCallback","_this","waitUntilVisible","el","loadIcon","disconnectedCallback","io","disconnect","undefined","componentWillLoad","rootMargin","cb","IntersectionObserver","io_1","data","isIntersecting","observe","url_1","has","render","flipRtl","ownerDocument","dir","h","Host","role","class","Object","assign","createColorClasses","color","_a","loading","size"],"mappings":"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","sourcesContent":["import { getAssetPath } from '@stencil/core';\nimport { Icon } from './icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const getIconMap = (): Map<string, string> => {\n if (!CACHED_MAP) {\n const win = window as any;\n win.Nanoicons = win.Nanoicons || {};\n CACHED_MAP = win.Nanoicons.map = win.Nanoicons.map || new Map();\n }\n return CACHED_MAP;\n};\n\nexport const addIcons = (icons: { [name: string]: string }) => {\n const map = getIconMap();\n Object.keys(icons).forEach((name) => map.set(name, icons[name]));\n};\n\nexport const getUrl = (i: Icon) => {\n let url = getSrc(i.src);\n if (url) {\n return url;\n }\n\n url = getName(i.name, i.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (i.icon) {\n url = getSrc(i.icon);\n if (url) {\n return url;\n }\n }\n return null;\n};\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n return getAssetPath(\n `../node_modules/@fortawesome/fontawesome-pro/svgs/${iconName}.svg`\n );\n};\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n) => {\n if (!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n // only allow alpha characters and dash\n const invalidChars = iconName.replace(/[a-z]|-|\\/|\\d/gi, '');\n if (invalidChars !== '') {\n console.warn('invalid characters in icon name ' + iconName);\n return null;\n }\n return iconName;\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n if (isSrc(src)) {\n return src;\n }\n }\n return null;\n};\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string';\nexport const toLower = (val: string) => val.toLowerCase();\n","import { isStr } from './utils';\n\nexport const validateContent = (svgContent: string | null) => {\n if (svgContent) {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // setup this way to ensure it works on our buddy IE\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {\n const svgClass = svgElm.getAttribute('class') || '';\n svgElm.setAttribute(\n 'class',\n (svgClass + ' sc-nano-icon s-nano-icon svg').trim()\n );\n\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm as any)) {\n return div.innerHTML;\n }\n }\n }\n return '';\n};\n\nexport const isValid = (elm: HTMLElement) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n for (let i = 0; i < elm.attributes.length; i++) {\n const val = elm.attributes[i].value;\n if (isStr(val) && val.toLowerCase().indexOf('on') === 0) {\n return false;\n }\n }\n\n for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i] as any)) {\n return false;\n }\n }\n }\n return true;\n};\n","import { validateContent } from './validate';\nexport const iconContent = new Map<string, string>();\nconst requests = new Map<string, Promise<any>>();\n\nexport const getSvgContent = (url: string) => {\n // see if we already have a request for this url\n let req = requests.get(url);\n if (!req) {\n // we don't already have a request\n req = fetch(url).then((rsp) => {\n if (rsp.ok) {\n return rsp.text().then((svgContent) => {\n iconContent.set(url, validateContent(svgContent));\n });\n }\n iconContent.set(url, '');\n });\n\n // cache for the same requests\n requests.set(url, req);\n }\n return req;\n};\n","@import '../../global/style/utilities/globals';\n\n:host {\n /**\n * @prop --color: defaults to current context color\n * @prop --primary-color: used for duotone icons to set the primary color\n * @prop --secondary-color: used for duotone icons to set the secondary color\n * @prop --primary-opacity: used for duotone icons to set the primary opacity\n * @prop --secondary-opacity: used for duotone icons to set the secondary opacity\n * @prop --stroke-width: 32px default stroke width\n */\n\n --color: var(--nano-color-base, 'currentColor');\n --primary-color: var(--nano-color-tint, 'currentColor');\n --secondary-color: var(--nano-color-shade, 'currentColor');\n --stroke-width: 32px;\n --primary-opacity: 0.8;\n --secondary-opacity: 1;\n --icon-size: var(--nano-icon-size, 1em);\n --icon-margin-top: var(--nano-icon-margin-top, 0);\n --icon-margin-end: var(--nano-icon-margin-end, 0);\n --icon-margin-bottom: var(--nano-icon-margin-bottom, 0);\n --icon-margin-start: var(--nano-icon-margin-start, 0);\n\n display: inline-block;\n width: var(--icon-size);\n height: var(--icon-size);\n min-width: var(--icon-size);\n min-height: var(--icon-size);\n contain: strict;\n fill: currentColor;\n box-sizing: content-box !important;\n transition: opacity 0.3s ease;\n color: var(--color);\n\n @include margin(\n var(--icon-margin-top),\n var(--icon-margin-end),\n var(--icon-margin-bottom),\n var(--icon-margin-start)\n );\n}\n\n:host .nanoicon {\n stroke: currentColor;\n}\n\n.nanoicon-fill-none {\n fill: none;\n}\n\n.nanoicon-stroke-width {\n stroke-width: 32px;\n stroke-width: var(--stroke-width);\n}\n\n.icon-inner,\n.nanoicon,\nsvg,\n.svg {\n display: block;\n height: 100%;\n width: 100%;\n overflow: visible;\n}\n\n:host(.loading) {\n opacity: 0;\n}\n\n.fa-primary {\n color: var(--primary-color);\n opacity: var(--primary-opacity, 1);\n}\n\n.fa-secondary {\n color: var(--secondary-color);\n opacity: var(--secondary-opacity) !important;\n}\n\n/* Icon RTL\n * -----------------------------------------------------------\n */\n:host(.flip-rtl) .icon-inner {\n transform: scaleX(-1);\n}\n\n/* Icon Sizes\n * -----------------------------------------------------------\n */\n:host(.icon-small) {\n font-size: 18px !important;\n}\n\n:host(.icon-large) {\n font-size: 32px !important;\n}\n","import {\n Build,\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { getSvgContent, iconContent } from './request';\nimport { getName, getUrl } from './utils';\nimport { Color } from '../../interface';\nimport { createColorClasses } from '../../utils/theme';\n\nconst CANSHADOW = !!document.head.attachShadow;\n\n/**\n * An SVG loader / helper. Comes bundled with all fontawesome pro icons by default but can use any custom SVG (with an correct path). Lazily loads SVG for each icon, so will only request the icons that you're using and that are visible.\n */\n@Component({\n tag: 'nano-icon',\n assetsDirs: ['../../../node_modules/@fortawesome/fontawesome-pro/svgs'],\n styleUrl: 'icon.scss',\n shadow: true,\n})\nexport class Icon {\n private io?: IntersectionObserver;\n\n @Element() el!: HTMLNanoIconElement;\n\n @State() private svgContent?: string;\n @State() private isVisible = false;\n @State() private isLoading = true;\n\n /**\n * Color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * Specifies the label to use for accessibility. Defaults to the icon name.\n */\n @Prop({ mutable: true, reflect: true }) ariaLabel: string;\n\n /**\n * Specifies whether the icon should horizontally flip when `dir` is `\"rtl\"`.\n */\n @Prop() flipRtl?: boolean;\n\n /**\n * Specifies which icon to use from the built-in set of icons.\n */\n @Prop() name?: string;\n\n /**\n * Specifies the exact `src` of an SVG file to use.\n */\n @Prop() src?: string;\n\n /**\n * A combination of both `name` and `src`. If a `src` url is detected\n * it will set the `src` property. Otherwise it assumes it's a built-in named\n * SVG and set the `name` property.\n */\n @Prop() icon?: any;\n\n /**\n * The size of the icon.\n * Available options are: `\"small\"` and `\"large\"`.\n */\n @Prop() size?: 'small' | 'large';\n\n /**\n * If enabled, nano-icon will be loaded lazily when it's visible in the viewport.\n * Default, `false`.\n */\n @Prop() lazy = true;\n\n private setAriaLabel() {\n if (!this.ariaLabel) {\n const label = getName(this.name, this.icon);\n // user did not provide a label\n // come up with the label based on the icon name\n if (label) {\n this.ariaLabel = label.split('/').slice(-1)[0].replace(/\\-/g, ' ');\n }\n }\n }\n\n connectedCallback() {\n // purposely do not return the promise here because loading\n // the svg file should not hold up loading the app\n // only load the svg if it's visible\n this.waitUntilVisible(this.el, '50px', () => {\n this.isVisible = true;\n this.loadIcon();\n });\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n\n componentWillLoad() {\n this.setAriaLabel();\n }\n\n private waitUntilVisible(\n el: HTMLElement,\n rootMargin: string,\n cb: () => void\n ) {\n if (\n Build.isBrowser &&\n CANSHADOW &&\n this.lazy &&\n typeof window !== 'undefined' &&\n (window as any).IntersectionObserver\n ) {\n const io = (this.io = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].isIntersecting || (data[1] && data[1].isIntersecting)) {\n io.disconnect();\n this.io = undefined;\n cb();\n }\n },\n { rootMargin }\n ));\n\n io.observe(el);\n } else {\n // browser doesn't support IntersectionObserver\n // so just fallback to always show it\n cb();\n }\n }\n\n @Watch('name')\n @Watch('src')\n @Watch('icon')\n loadIcon() {\n if (Build.isBrowser && this.isVisible) {\n const url = getUrl(this);\n if (url) {\n if (iconContent.has(url)) {\n // sync if it's already loaded\n this.svgContent = iconContent.get(url);\n this.isLoading = false;\n } else {\n // async if it hasn't been loaded\n getSvgContent(url).then(() => {\n this.svgContent = iconContent.get(url);\n this.isLoading = false;\n });\n }\n }\n }\n this.setAriaLabel();\n }\n\n render() {\n const flipRtl =\n this.flipRtl ||\n (this.name &&\n (this.name.indexOf('arrow') > -1 ||\n this.name.indexOf('chevron') > -1) &&\n (this.el.ownerDocument as Document).dir === 'rtl' &&\n this.flipRtl !== false);\n\n return (\n <Host\n role=\"img\"\n class={{\n ...createColorClasses(this.color),\n loading: this.isLoading,\n [`icon-${this.size}`]: !!this.size,\n 'flip-rtl': !!flipRtl,\n }}\n >\n {Build.isBrowser && this.svgContent ? (\n <div class=\"icon-inner\" innerHTML={this.svgContent}></div>\n ) : (\n <div class=\"icon-inner\"></div>\n )}\n </Host>\n );\n }\n}\n"]}
|