@nanoporetech-digital/components 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -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/index-cb62df44.js +5 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +58 -20
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +27 -15
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +17 -4
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +13 -2
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js +529 -0
- package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-file-upload.cjs.entry.js +59 -36
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +2 -2
- 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 +40 -15
- package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
- package/dist/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 +1 -1
- package/dist/collection/components/date-input/date-input.js +44 -12
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +5 -5
- package/dist/collection/components/details/details.js +1 -1
- package/dist/collection/components/dialog/dialog.js +34 -1
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/field-validator/field-validator.js +577 -0
- package/dist/collection/components/field-validator/field-validator.js.map +1 -0
- package/dist/collection/components/file-upload/file-upload.css +17 -5
- package/dist/collection/components/file-upload/file-upload.js +111 -44
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.js +4 -4
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/icon/icon.js +2 -2
- package/dist/collection/components/icon/icon.js.map +1 -1
- package/dist/collection/components/input/input.css +2 -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 -1
- package/dist/collection/components/select/select.css +2 -2
- package/dist/collection/components/select/select.js +74 -25
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
- package/dist/collection/components/{sticky → sticker}/sticker.js +2 -2
- package/dist/collection/components/sticker/sticker.js.map +1 -0
- package/dist/collection/components/tabs/tab-group.js +2 -2
- package/dist/collection/utils/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/icon.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 +18 -4
- package/dist/components/nano-date-input.js.map +1 -1
- package/dist/components/nano-dialog.js +13 -1
- package/dist/components/nano-dialog.js.map +1 -1
- package/dist/components/nano-field-validator.d.ts +11 -0
- package/dist/components/nano-field-validator.js +557 -0
- package/dist/components/nano-field-validator.js.map +1 -0
- package/dist/components/nano-file-upload.js +62 -37
- package/dist/components/nano-file-upload.js.map +1 -1
- package/dist/components/select.js +44 -17
- package/dist/components/select.js.map +1 -1
- package/dist/components/sticker.js +2 -2
- package/dist/components/sticker.js.map +1 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +2436 -554
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
- package/dist/esm/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +1 -1
- package/dist/esm/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
- package/dist/esm/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
- package/dist/esm/{component-store-b6fbfa35.js → component-store-d238fee4.js} +38 -26
- package/dist/esm/component-store-d238fee4.js.map +1 -0
- package/dist/esm/{form-control-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/{index-5f8d16e7.js → index-c42becad.js} +7 -2
- package/dist/esm/{index-5f8d16e7.js.map → index-c42becad.js.map} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/nano-accordion.entry.js +1 -1
- package/dist/esm/nano-alert.entry.js +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +3 -3
- package/dist/esm/nano-algolia-input.entry.js +4 -4
- package/dist/esm/nano-algolia-pagination.entry.js +2 -2
- package/dist/esm/nano-algolia-results.entry.js +2 -2
- package/dist/esm/nano-algolia.entry.js +4 -4
- package/dist/esm/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +59 -21
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +28 -16
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +2 -2
- package/dist/esm/nano-datalist_3.entry.js +1 -1
- package/dist/esm/nano-date-input.entry.js +18 -5
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker.entry.js +1 -1
- package/dist/esm/nano-details.entry.js +1 -1
- package/dist/esm/nano-dialog.entry.js +14 -3
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +1 -1
- package/dist/esm/nano-dropdown.entry.js +1 -1
- package/dist/esm/nano-field-validator.entry.js +525 -0
- package/dist/esm/nano-field-validator.entry.js.map +1 -0
- package/dist/esm/nano-file-upload.entry.js +60 -37
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +3 -3
- package/dist/esm/nano-global-search-results.entry.js +1 -1
- package/dist/esm/nano-grid_3.entry.js +1 -1
- package/dist/esm/nano-hero.entry.js +1 -1
- package/dist/esm/nano-icon-button.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js.map +1 -1
- package/dist/esm/nano-input.entry.js +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 +43 -18
- 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 +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js +1 -1
- package/dist/esm/nano-spinner.entry.js +1 -1
- package/dist/esm/nano-split-pane.entry.js +1 -1
- package/dist/esm/nano-sticker.entry.js +3 -3
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +2 -2
- package/dist/esm/nano-tab.entry.js +1 -1
- package/dist/esm/nano-tooltip.entry.js +1 -1
- package/dist/esm-es5/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
- package/dist/esm-es5/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +0 -0
- package/dist/esm-es5/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
- package/dist/esm-es5/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
- package/dist/esm-es5/component-store-d238fee4.js +5 -0
- package/dist/esm-es5/component-store-d238fee4.js.map +1 -0
- package/dist/esm-es5/{form-control-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/{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-date-input.entry.js +1 -1
- package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-date-picker.entry.js +1 -1
- package/dist/esm-es5/nano-details.entry.js +1 -1
- package/dist/esm-es5/nano-dialog.entry.js +1 -1
- package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
- package/dist/esm-es5/nano-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-dropdown.entry.js +1 -1
- package/dist/esm-es5/nano-field-validator.entry.js +5 -0
- package/dist/esm-es5/nano-field-validator.entry.js.map +1 -0
- package/dist/esm-es5/nano-file-upload.entry.js +2 -2
- package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js +1 -1
- package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js +1 -1
- package/dist/esm-es5/nano-hero.entry.js +1 -1
- package/dist/esm-es5/nano-icon-button.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js.map +1 -1
- package/dist/esm-es5/nano-input.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-range.entry.js +1 -1
- package/dist/esm-es5/nano-rating.entry.js +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
- package/dist/esm-es5/nano-slide.entry.js +1 -1
- package/dist/esm-es5/nano-slides.entry.js +1 -1
- package/dist/esm-es5/nano-spinner.entry.js +1 -1
- package/dist/esm-es5/nano-split-pane.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab-content.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js +1 -1
- package/dist/esm-es5/nano-tab.entry.js +2 -2
- package/dist/esm-es5/nano-tooltip.entry.js +1 -1
- package/dist/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-6f94d755.entry.js → p-00eaa36a.entry.js} +2 -2
- package/dist/nano-components/{p-6f94d755.entry.js.map → p-00eaa36a.entry.js.map} +0 -0
- package/dist/nano-components/{p-4429caac.system.entry.js → p-0c6c2141.system.entry.js} +2 -2
- package/dist/nano-components/{p-4429caac.system.entry.js.map → p-0c6c2141.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7232c046.system.entry.js → p-0d0dfc06.system.entry.js} +2 -2
- package/dist/nano-components/{p-7232c046.system.entry.js.map → p-0d0dfc06.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-e562bffd.entry.js → p-0e2e3f4a.entry.js} +2 -2
- package/dist/nano-components/{p-e562bffd.entry.js.map → p-0e2e3f4a.entry.js.map} +0 -0
- package/dist/nano-components/{p-56ba0d63.entry.js → p-1030797a.entry.js} +2 -2
- package/dist/nano-components/{p-56ba0d63.entry.js.map → p-1030797a.entry.js.map} +0 -0
- package/dist/nano-components/p-11451a4b.system.entry.js +5 -0
- package/dist/nano-components/p-11451a4b.system.entry.js.map +1 -0
- package/dist/nano-components/p-129e2b4b.system.js +5 -0
- package/dist/nano-components/p-129e2b4b.system.js.map +1 -0
- package/dist/nano-components/{p-c0ddb4c3.entry.js → p-166ade3e.entry.js} +2 -2
- package/dist/nano-components/{p-c0ddb4c3.entry.js.map → p-166ade3e.entry.js.map} +0 -0
- package/dist/nano-components/{p-5653961d.system.entry.js → p-1a30dfdd.system.entry.js} +2 -2
- package/dist/nano-components/p-1a30dfdd.system.entry.js.map +1 -0
- package/dist/nano-components/p-1b120f53.entry.js +5 -0
- package/dist/nano-components/p-1b120f53.entry.js.map +1 -0
- package/dist/nano-components/{p-7d351076.system.entry.js → p-21af2a5e.system.entry.js} +2 -2
- package/dist/nano-components/{p-7d351076.system.entry.js.map → p-21af2a5e.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-346588cc.entry.js → p-222d8095.entry.js} +2 -2
- package/dist/nano-components/{p-346588cc.entry.js.map → p-222d8095.entry.js.map} +0 -0
- package/dist/nano-components/{p-933c35a6.system.entry.js → p-241d90eb.system.entry.js} +2 -2
- package/dist/nano-components/{p-933c35a6.system.entry.js.map → p-241d90eb.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-040b6cda.entry.js → p-2649fc8e.entry.js} +2 -2
- package/dist/nano-components/{p-040b6cda.entry.js.map → p-2649fc8e.entry.js.map} +0 -0
- package/dist/nano-components/{p-3456db01.entry.js → p-27efac97.entry.js} +2 -2
- package/dist/nano-components/{p-3456db01.entry.js.map → p-27efac97.entry.js.map} +0 -0
- package/dist/nano-components/{p-462ad4f1.entry.js → p-2c8d7273.entry.js} +2 -2
- package/dist/nano-components/{p-462ad4f1.entry.js.map → p-2c8d7273.entry.js.map} +0 -0
- package/dist/nano-components/{p-2e6c55e2.entry.js → p-2d53d1a0.entry.js} +2 -2
- package/dist/nano-components/{p-2e6c55e2.entry.js.map → p-2d53d1a0.entry.js.map} +0 -0
- package/dist/nano-components/{p-1f99d776.entry.js → p-3093915f.entry.js} +2 -2
- package/dist/nano-components/{p-1f99d776.entry.js.map → p-3093915f.entry.js.map} +0 -0
- package/dist/nano-components/{p-8a8f893b.system.entry.js → p-316f83a9.system.entry.js} +2 -2
- package/dist/nano-components/{p-8a8f893b.system.entry.js.map → p-316f83a9.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7246bef5.entry.js → p-325c1cad.entry.js} +2 -2
- package/dist/nano-components/{p-7246bef5.entry.js.map → p-325c1cad.entry.js.map} +0 -0
- package/dist/nano-components/{p-ec39b143.system.entry.js → p-32f396c0.system.entry.js} +2 -2
- package/dist/nano-components/{p-ec39b143.system.entry.js.map → p-32f396c0.system.entry.js.map} +0 -0
- package/dist/nano-components/p-32f4516e.js +5 -0
- package/dist/nano-components/p-32f4516e.js.map +1 -0
- package/dist/nano-components/{p-43543d18.entry.js → p-333237e8.entry.js} +2 -2
- package/dist/nano-components/{p-43543d18.entry.js.map → p-333237e8.entry.js.map} +0 -0
- package/dist/nano-components/{p-1e8321ea.entry.js → p-35108e08.entry.js} +2 -2
- package/dist/nano-components/{p-1e8321ea.entry.js.map → p-35108e08.entry.js.map} +0 -0
- package/dist/nano-components/{p-a898bf92.system.entry.js → p-379e21d9.system.entry.js} +2 -2
- package/dist/nano-components/{p-a898bf92.system.entry.js.map → p-379e21d9.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-3ad1d5aa.system.entry.js → p-39d36fd1.system.entry.js} +2 -2
- package/dist/nano-components/{p-3ad1d5aa.system.entry.js.map → p-39d36fd1.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-41a2e2e4.system.js → p-3a00de47.system.js} +2 -2
- package/dist/nano-components/{p-41a2e2e4.system.js.map → p-3a00de47.system.js.map} +0 -0
- package/dist/nano-components/{p-6afdb510.system.entry.js → p-3ccb176c.system.entry.js} +2 -2
- package/dist/nano-components/{p-6afdb510.system.entry.js.map → p-3ccb176c.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-08b43111.entry.js → p-3e930ac7.entry.js} +2 -2
- package/dist/nano-components/{p-08b43111.entry.js.map → p-3e930ac7.entry.js.map} +0 -0
- package/dist/nano-components/{p-d8d8bac6.system.entry.js → p-42cebbfe.system.entry.js} +2 -2
- package/dist/nano-components/{p-d8d8bac6.system.entry.js.map → p-42cebbfe.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-1ca46443.entry.js → p-45070c8f.entry.js} +2 -2
- package/dist/nano-components/{p-1ca46443.entry.js.map → p-45070c8f.entry.js.map} +0 -0
- package/dist/nano-components/{p-3ef30ded.system.entry.js → p-48874481.system.entry.js} +2 -2
- package/dist/nano-components/{p-3ef30ded.system.entry.js.map → p-48874481.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-08ffc9a1.entry.js → p-4e2c0abb.entry.js} +2 -2
- package/dist/nano-components/{p-08ffc9a1.entry.js.map → p-4e2c0abb.entry.js.map} +0 -0
- package/dist/nano-components/{p-090f22a9.system.entry.js → p-5100ae70.system.entry.js} +2 -2
- package/dist/nano-components/{p-090f22a9.system.entry.js.map → p-5100ae70.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-593de29b.system.entry.js → p-52769304.system.entry.js} +2 -2
- package/dist/nano-components/{p-593de29b.system.entry.js.map → p-52769304.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-8278c5d2.system.entry.js → p-56f86047.system.entry.js} +2 -2
- package/dist/nano-components/{p-8278c5d2.system.entry.js.map → p-56f86047.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-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-033296c7.system.entry.js → p-5d17cfbb.system.entry.js} +2 -2
- package/dist/nano-components/{p-033296c7.system.entry.js.map → p-5d17cfbb.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-88f17c86.system.entry.js → p-5d5ea4ab.system.entry.js} +2 -2
- package/dist/nano-components/{p-88f17c86.system.entry.js.map → p-5d5ea4ab.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-20387cde.system.entry.js → p-6b4dd158.system.entry.js} +2 -2
- package/dist/nano-components/{p-20387cde.system.entry.js.map → p-6b4dd158.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-d24811c8.system.js → p-6b5760b1.system.js} +3 -3
- package/dist/nano-components/{p-d24811c8.system.js.map → p-6b5760b1.system.js.map} +1 -1
- package/dist/nano-components/p-6d138abf.entry.js +5 -0
- package/dist/nano-components/p-6d138abf.entry.js.map +1 -0
- package/dist/nano-components/{p-5066e563.system.entry.js → p-6dad332b.system.entry.js} +2 -2
- package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-730f60ea.entry.js → p-6ddb51e4.entry.js} +2 -2
- package/dist/nano-components/p-6ddb51e4.entry.js.map +1 -0
- package/dist/nano-components/p-71bbb7ba.entry.js +5 -0
- package/dist/nano-components/p-71bbb7ba.entry.js.map +1 -0
- package/dist/nano-components/{p-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-39a5280e.system.entry.js → p-72ed603c.system.entry.js} +2 -2
- package/dist/nano-components/{p-39a5280e.system.entry.js.map → p-72ed603c.system.entry.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-58d7f10f.entry.js → p-76c903db.entry.js} +2 -2
- package/dist/nano-components/{p-58d7f10f.entry.js.map → p-76c903db.entry.js.map} +0 -0
- package/dist/nano-components/{p-3aa1d07d.entry.js → p-76d9d1d4.entry.js} +2 -2
- package/dist/nano-components/p-76d9d1d4.entry.js.map +1 -0
- package/dist/nano-components/{p-f53989c3.system.entry.js → p-7aa7425d.system.entry.js} +2 -2
- package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-531d5275.system.entry.js → p-7ad4a27a.system.entry.js} +2 -2
- package/dist/nano-components/p-7ad4a27a.system.entry.js.map +1 -0
- package/dist/nano-components/{p-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-85c8b070.system.entry.js +5 -0
- package/dist/nano-components/p-85c8b070.system.entry.js.map +1 -0
- package/dist/nano-components/{p-f2e7d2f9.system.entry.js → p-88779174.system.entry.js} +2 -2
- package/dist/nano-components/{p-f2e7d2f9.system.entry.js.map → p-88779174.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-4535e3bb.entry.js → p-8b6fcd6d.entry.js} +2 -2
- package/dist/nano-components/{p-4535e3bb.entry.js.map → p-8b6fcd6d.entry.js.map} +0 -0
- package/dist/nano-components/{p-6ade3290.entry.js → p-8eb4f24a.entry.js} +2 -2
- package/dist/nano-components/{p-6ade3290.entry.js.map → p-8eb4f24a.entry.js.map} +0 -0
- package/dist/nano-components/{p-07bdf44d.entry.js → p-8fe2f846.entry.js} +2 -2
- package/dist/nano-components/{p-07bdf44d.entry.js.map → p-8fe2f846.entry.js.map} +0 -0
- package/dist/nano-components/p-96150b2c.system.entry.js +5 -0
- package/dist/nano-components/p-96150b2c.system.entry.js.map +1 -0
- package/dist/nano-components/{p-bcd69559.entry.js → p-97b13ad2.entry.js} +2 -2
- package/dist/nano-components/{p-bcd69559.entry.js.map → p-97b13ad2.entry.js.map} +0 -0
- package/dist/nano-components/{p-c9c1a345.system.entry.js → p-a02cc654.system.entry.js} +2 -2
- package/dist/nano-components/{p-c9c1a345.system.entry.js.map → p-a02cc654.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-a77e3fbb.js → p-a0b93616.js} +3 -3
- package/dist/nano-components/{p-a77e3fbb.js.map → p-a0b93616.js.map} +1 -1
- package/dist/nano-components/p-a4969844.entry.js +5 -0
- package/dist/nano-components/p-a4969844.entry.js.map +1 -0
- package/dist/nano-components/{p-70dec19f.entry.js → p-a6327a9a.entry.js} +2 -2
- package/dist/nano-components/{p-70dec19f.entry.js.map → p-a6327a9a.entry.js.map} +0 -0
- package/dist/nano-components/p-a81db037.entry.js +5 -0
- package/dist/nano-components/p-a81db037.entry.js.map +1 -0
- package/dist/nano-components/{p-a315ed2c.entry.js → p-a9a4fc3e.entry.js} +2 -2
- package/dist/nano-components/{p-a315ed2c.entry.js.map → p-a9a4fc3e.entry.js.map} +1 -1
- package/dist/nano-components/{p-98222c39.system.entry.js → p-ab07c1fa.system.entry.js} +2 -2
- package/dist/nano-components/{p-98222c39.system.entry.js.map → p-ab07c1fa.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-ab5813a7.js → p-b5c33aff.js} +2 -2
- package/dist/nano-components/{p-ab5813a7.js.map → p-b5c33aff.js.map} +0 -0
- package/dist/nano-components/p-bc394857.system.entry.js +5 -0
- package/dist/nano-components/p-bc394857.system.entry.js.map +1 -0
- package/dist/nano-components/{p-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-50514e5e.entry.js → p-c4156fea.entry.js} +2 -2
- package/dist/nano-components/{p-50514e5e.entry.js.map → p-c4156fea.entry.js.map} +0 -0
- package/dist/nano-components/p-c9a2d24c.entry.js +5 -0
- package/dist/nano-components/p-c9a2d24c.entry.js.map +1 -0
- package/dist/nano-components/{p-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-1238f0fc.system.entry.js → p-d0385948.system.entry.js} +2 -2
- package/dist/nano-components/{p-1238f0fc.system.entry.js.map → p-d0385948.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-b59d2bd5.entry.js → p-d122b1ff.entry.js} +2 -2
- package/dist/nano-components/{p-b59d2bd5.entry.js.map → p-d122b1ff.entry.js.map} +0 -0
- package/dist/nano-components/{p-394c3c19.entry.js → p-defd4552.entry.js} +2 -2
- package/dist/nano-components/{p-394c3c19.entry.js.map → p-defd4552.entry.js.map} +0 -0
- package/dist/nano-components/p-e7140887.system.js +5 -0
- package/dist/nano-components/p-e7140887.system.js.map +1 -0
- package/dist/nano-components/{p-69439aa1.system.entry.js → p-e817ab4a.system.entry.js} +2 -2
- package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-e817ab4a.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-22884654.system.entry.js → p-eacf5b5b.system.entry.js} +2 -2
- package/dist/nano-components/{p-22884654.system.entry.js.map → p-eacf5b5b.system.entry.js.map} +0 -0
- package/dist/nano-components/p-ed336501.entry.js +5 -0
- package/dist/nano-components/p-ed336501.entry.js.map +1 -0
- package/dist/nano-components/{p-5ae80fd7.js → p-ef7f1e9c.js} +2 -2
- package/dist/nano-components/{p-5ae80fd7.js.map → p-ef7f1e9c.js.map} +0 -0
- package/dist/nano-components/{p-59b3d24b.system.js → p-f48be9f5.system.js} +2 -2
- package/dist/nano-components/{p-59b3d24b.system.js.map → p-f48be9f5.system.js.map} +0 -0
- package/dist/nano-components/p-f710c763.system.entry.js +5 -0
- package/dist/nano-components/p-f710c763.system.entry.js.map +1 -0
- package/dist/nano-components/{p-65c10b3f.entry.js → p-fbe3c89e.entry.js} +2 -2
- package/dist/nano-components/{p-65c10b3f.entry.js.map → p-fbe3c89e.entry.js.map} +0 -0
- package/dist/nano-components/p-fc3702a0.system.entry.js +5 -0
- package/dist/nano-components/p-fc3702a0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-ba13bb56.entry.js → p-ffc2063a.entry.js} +2 -2
- package/dist/nano-components/{p-ba13bb56.entry.js.map → p-ffc2063a.entry.js.map} +0 -0
- package/dist/nano-components/{p-4870e76d.system.entry.js → p-fff27907.system.entry.js} +2 -2
- package/dist/nano-components/{p-4870e76d.system.entry.js.map → p-fff27907.system.entry.js.map} +0 -0
- package/dist/types/components/checkbox/checkbox-group.d.ts +12 -1
- package/dist/types/components/checkbox/checkbox.d.ts +11 -3
- package/dist/types/components/date-input/date-input.d.ts +4 -0
- package/dist/types/components/dialog/dialog.d.ts +4 -1
- package/dist/types/components/field-validator/field-validator.d.ts +125 -0
- package/dist/types/components/file-upload/file-upload.d.ts +8 -0
- package/dist/types/components/icon/icon.d.ts +1 -1
- package/dist/types/components/input/input.d.ts +6 -1
- package/dist/types/components/select/select.d.ts +7 -1
- package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
- package/dist/types/components.d.ts +187 -4
- package/dist/types/utils/store/get-set.d.ts +1 -1
- package/docs-json.json +436 -14
- package/docs-vscode.json +77 -1
- package/package.json +3 -2
- package/dist/cjs/component-store-722032a5.js.map +0 -1
- package/dist/collection/components/sticky/sticker.js.map +0 -1
- package/dist/esm/component-store-b6fbfa35.js.map +0 -1
- package/dist/esm-es5/component-store-b6fbfa35.js +0 -5
- package/dist/esm-es5/component-store-b6fbfa35.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-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-531d5275.system.entry.js.map +0 -1
- package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
- package/dist/nano-components/p-5a0095f9.js +0 -5
- package/dist/nano-components/p-5a0095f9.js.map +0 -1
- package/dist/nano-components/p-5a315696.entry.js +0 -5
- package/dist/nano-components/p-5a315696.entry.js.map +0 -1
- package/dist/nano-components/p-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-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-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
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["node_modules/has-symbols/shams.js","node_modules/has-symbols/index.js","node_modules/function-bind/implementation.js","node_modules/function-bind/index.js","node_modules/has/src/index.js","node_modules/get-intrinsic/index.js","node_modules/call-bind/index.js","node_modules/call-bind/callBound.js","node_modules/object-inspect/index.js","node_modules/side-channel/index.js","node_modules/qs/lib/formats.js","node_modules/qs/lib/utils.js","node_modules/qs/lib/stringify.js","node_modules/qs/lib/parse.js","node_modules/qs/lib/index.js","src/utils/store/get-set.ts","src/utils/store/component-store.ts"],"names":["shams","hasSymbols","Symbol","Object","getOwnPropertySymbols","iterator","obj","sym","symObj","prototype","toString","call","symVal","keys","length","getOwnPropertyNames","syms","propertyIsEnumerable","getOwnPropertyDescriptor","descriptor","value","enumerable","origSymbol","hasSymbols$1","hasNativeSymbols","hasSymbolSham","ERROR_MESSAGE","slice","Array","toStr","funcType","implementation","bind","that","target","this","TypeError","args","arguments","bound","binder","result","apply","concat","boundLength","Math","max","boundArgs","i","push","Function","join","Empty","functionBind","src","hasOwnProperty","undefined","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","e","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","require$$0","getProto","getPrototypeOf","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","%AggregateError%","AggregateError","%Array%","%ArrayBuffer%","ArrayBuffer","%ArrayIteratorPrototype%","%AsyncFromSyncIteratorPrototype%","%AsyncFunction%","%AsyncGenerator%","%AsyncGeneratorFunction%","%AsyncIteratorPrototype%","%Atomics%","Atomics","%BigInt%","BigInt","%Boolean%","Boolean","%DataView%","DataView","%Date%","Date","%decodeURI%","decodeURI","%decodeURIComponent%","decodeURIComponent","%encodeURI%","encodeURI","%encodeURIComponent%","encodeURIComponent","%Error%","Error","%eval%","eval","%EvalError%","EvalError","%Float32Array%","Float32Array","%Float64Array%","Float64Array","%FinalizationRegistry%","FinalizationRegistry","%Function%","%GeneratorFunction%","%Int8Array%","Int8Array","%Int16Array%","Int16Array","%Int32Array%","Int32Array","%isFinite%","isFinite","%isNaN%","isNaN","%IteratorPrototype%","%JSON%","JSON","%Map%","Map","%MapIteratorPrototype%","%Math%","%Number%","Number","%Object%","%parseFloat%","parseFloat","%parseInt%","parseInt","%Promise%","Promise","%Proxy%","Proxy","%RangeError%","RangeError","%ReferenceError%","ReferenceError","%Reflect%","Reflect","%RegExp%","RegExp","%Set%","Set","%SetIteratorPrototype%","%SharedArrayBuffer%","SharedArrayBuffer","%String%","String","%StringIteratorPrototype%","%Symbol%","%SyntaxError%","%ThrowTypeError%","%TypedArray%","%TypeError%","%Uint8Array%","%Uint8ClampedArray%","Uint8ClampedArray","%Uint16Array%","Uint16Array","%Uint32Array%","Uint32Array","%URIError%","URIError","%WeakMap%","WeakMap","%WeakRef%","WeakRef","%WeakSet%","WeakSet","doEval","name","fn","gen","LEGACY_ALIASES","%ArrayBufferPrototype%","%ArrayPrototype%","%ArrayProto_entries%","%ArrayProto_forEach%","%ArrayProto_keys%","%ArrayProto_values%","%AsyncFunctionPrototype%","%AsyncGeneratorPrototype%","%BooleanPrototype%","%DataViewPrototype%","%DatePrototype%","%ErrorPrototype%","%EvalErrorPrototype%","%Float32ArrayPrototype%","%Float64ArrayPrototype%","%FunctionPrototype%","%Generator%","%GeneratorPrototype%","%Int8ArrayPrototype%","%Int16ArrayPrototype%","%Int32ArrayPrototype%","%JSONParse%","%JSONStringify%","%MapPrototype%","%NumberPrototype%","%ObjectPrototype%","%ObjProto_toString%","%ObjProto_valueOf%","%PromisePrototype%","%PromiseProto_then%","%Promise_all%","%Promise_reject%","%Promise_resolve%","%RangeErrorPrototype%","%ReferenceErrorPrototype%","%RegExpPrototype%","%SetPrototype%","%SharedArrayBufferPrototype%","%StringPrototype%","%SymbolPrototype%","%SyntaxErrorPrototype%","%TypedArrayPrototype%","%TypeErrorPrototype%","%Uint8ArrayPrototype%","%Uint8ClampedArrayPrototype%","%Uint16ArrayPrototype%","%Uint32ArrayPrototype%","%URIErrorPrototype%","%WeakMapPrototype%","%WeakSetPrototype%","$concat","$spliceApply","splice","$replace","replace","$strSlice","rePropName","reEscapeChar","stringToPath","string","first","last","match","number","quote","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","hasOwn","getIntrinsic","GetIntrinsic","parts","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","desc","$apply","$call","$reflectApply","$defineProperty","$max","module","exports","callBind","originalFunction","func","configurable","applyBind","$indexOf","callBound","callBoundIntrinsic","hasMap","mapSizeDescriptor","mapSize","mapForEach","forEach","hasSet","setSizeDescriptor","setSize","setForEach","hasWeakMap","weakMapHas","has","hasWeakSet","weakSetHas","hasWeakRef","weakRefDeref","deref","booleanValueOf","valueOf","objectToString","functionToString","$match","$slice","$toUpperCase","toUpperCase","$toLowerCase","toLowerCase","$test","test","$join","$arrSlice","$floor","floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","num","str","Infinity","sepRegex","int","intStr","dec","inspectCustom","custom","inspectSymbol","isSymbol","objectInspect","inspect_","options","depth","seen","opts","quoteStyle","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","maxDepth","isArray","getIndent","indexOf","inspect","from","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","isElement","s","nodeName","attrs","attributes","wrapQuotes","childNodes","xs","singleLineValues","indentedJoin","isError","cause","isMap","mapParts","key","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","isString","isDate","isRegExp","ys","isPlainObject","constructor","protoTag","stringTag","constructorTag","tag","defaultStyle","quoteChar","f","m","l","HTMLElement","getAttribute","remaining","trailer","lowbyte","c","n","charCodeAt","8","9","10","12","13","type","size","entries","joinedEntries","baseIndent","base","prev","lineJoiner","isArr","symMap","k","j","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","curr","next","listGet","objects","node","listSet","listHas","sideChannel","getSideChannel","$wm","$m","$o","channel","assert","set","percentTwenties","Format","RFC1738","RFC3986","formats","default","formatters","hexTable","array","compactQueue","queue","item","pop","prop","compacted","arrayToObject","source","plainObjects","create","merge","allowPrototypes","mergeTarget","targetItem","reduce","acc","assign","assignSingleSource","decode","decoder","charset","strWithoutPlus","unescape","encode","defaultEncoder","kind","format","escape","$0","out","charAt","compact","o","refs","val","isBuffer","combine","a","b","maybeMap","mapped","utils","arrayPrefixGenerators","brackets","prefix","comma","indices","repeat","split","pushToArray","arr","valueOrArray","toISO","toISOString","defaultFormat","defaults","addQueryPrefix","allowDots","charsetSentinel","delimiter","encoder","encodeValuesOnly","formatter","serializeDate","date","skipNulls","strictNullHandling","isNonNullishPrimitive","v","sentinel","stringify","object","generateArrayPrefix","filter","sort","tmpSc","step","findFlag","pos","keyValue","valuesArray","valuesJoined","values","objKeys","keyPrefix","valueSideChannel","normalizeStringifyOptions","stringify_1","arrayFormat","joined","allowSparse","arrayLimit","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","numberStr","fromCharCode","parseArrayValue","isoSentinel","parseValues","parseQueryStringValues","cleanStr","limit","skipIndex","bracketEqualsPos","encodedVal","parseObject","chain","valuesParsed","leaf","root","cleanRoot","index","0","parseKeys","parseQueryStringKeys","givenKey","child","segment","exec","parent","normalizeParseOptions","parse","tempObj","newObj","lib","STORAGE_NAME_SPACE","urlRead","win","window","location","hash","qs","search","urlSave","to","method","history","oldQuery","basePath","pathname","queryStr","replaceState","pushState","document","querySelector","focus","urlSet","currentData","urlGet","sessionSet","sessionStorage","setItem","sessionGet","configStr","getItem","storageSet","localStorage","storageGet","store","ComponentStore","init","component","id","getId","storeId","getElement","console","error","initialState","Store","componentstore","dispatchToProps","connectedCallback","componentDidRender","savePropsToStore","disconnectedCallback","delete","_this","updateStore","onUrlChange","save","getData","savedData","retrieve","removeEventListener","debounce","addEventListener","equality","val1","val2","defineProperty","data","isEqual","getset.urlGet","getset.storageGet","getset.sessionGet","retObj","getset.urlSet","getset.storageSet","getset.sessionSet"],"mappings":"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","sourcesContent":["'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar inspectCustom = require('./util.inspect').custom;\nvar inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function') {\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if ('cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {\n return obj[inspectSymbol]();\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar split = String.prototype.split;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n if (generateArrayPrefix === 'comma' && encodeValuesOnly) {\n var valuesArray = split.call(String(obj), ',');\n var valuesJoined = '';\n for (var i = 0; i < valuesArray.length; ++i) {\n valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));\n }\n return [formatter(keyValue) + '=' + valuesJoined];\n }\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix\n : prefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","import qs from 'qs';\n\nconst STORAGE_NAME_SPACE = 'nano-component-store:';\n\nconst urlRead = (\n from: 'hash' | 'query' = 'hash',\n win: Window = window\n): void | object => {\n if (!win || !win.location) return {};\n if (from === 'hash' && win.location.hash)\n return qs.parse(win.location.hash.replace(/^\\#/, ''), {\n strictNullHandling: true,\n });\n else if (from === 'query' && win.location.search)\n return qs.parse(win.location.search, { ignoreQueryPrefix: true });\n return {};\n};\n\nconst urlSave = (\n object: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n if (!win || !win.history) return;\n const oldQuery = to === 'query' ? win.location.search : win.location.hash;\n let basePath =\n to === 'query'\n ? win.location.pathname\n : win.location.pathname + win.location.search;\n let queryStr = qs.stringify(object, {\n strictNullHandling: true,\n addQueryPrefix: false,\n encodeValuesOnly: true,\n });\n\n if (!queryStr || !queryStr.length) {\n if (!oldQuery || !oldQuery.length) return;\n if (method === 'replace') win.history.replaceState(null, null, basePath);\n else win.history.pushState(null, null, basePath);\n return;\n }\n\n if (to === 'hash' && win.location.hash === '#' + queryStr) {\n try {\n (document.querySelector('#' + queryStr) as HTMLElement).focus();\n } catch (e) {}\n return;\n }\n queryStr = (to === 'hash' ? '#' : '?') + queryStr;\n if (queryStr === oldQuery) return;\n if (method === 'replace')\n win.history.replaceState(null, null, basePath + queryStr);\n else win.history.pushState(null, null, basePath + queryStr);\n};\n\nexport const urlSet = (\n object: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n let currentData = urlRead(to, win);\n currentData = { ...currentData, ...object };\n urlSave(currentData, to, win, method);\n};\n\nexport const urlGet = (\n key: string,\n to: 'hash' | 'query' = 'hash',\n win: Window = window\n) => {\n let currentData = urlRead(to, win);\n return currentData[key] || null;\n};\n\nexport const sessionSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n win.sessionStorage.setItem(\n STORAGE_NAME_SPACE + key,\n JSON.stringify(object)\n );\n } catch (e) {\n throw e;\n }\n};\n\nexport const sessionGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.sessionStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n win.localStorage.setItem(STORAGE_NAME_SPACE + key, JSON.stringify(object));\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.localStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n","import { getElement } from '@stencil/core';\nimport * as getset from './get-set';\nimport { debounce } from '..';\n\nexport type StorageParams = Record<string, any>;\n\nexport type StorageMethods =\n | 'url-hash'\n | 'url-query'\n | 'url-hash-push'\n | 'url-query-push'\n | 'local'\n | 'session';\n\ninterface Component {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n componentDidRender?(): void;\n [key: string]: any;\n}\n\nconst store = new Map<string, Store>();\n\nexport const ComponentStore = {\n init(\n component: Component,\n keys: string[],\n method?: StorageMethods,\n id?: string\n ) {\n const getId = id || component.storeId || getElement(component).id;\n if (!getId) {\n console.error(\n 'No id set. You can only instantiate a new component store with an id. '\n );\n return;\n }\n if (store.get(getId)) {\n console.error(\n 'Duplicate store id usage. A store ID must be unique!',\n getId\n );\n return;\n }\n\n const initialState = keys.reduce((acc, key) => {\n if (typeof component[key] !== undefined) acc[key] = component[key];\n return acc;\n }, {});\n\n store.set(getId, new Store(getId, component, keys, initialState, method));\n let componentstore = store.get(getId);\n componentstore.dispatchToProps();\n\n const connectedCallback = component.connectedCallback;\n component.connectedCallback = function () {\n store.set(getId, new Store(getId, component, keys, initialState, method));\n let componentstore = store.get(getId);\n if (connectedCallback) {\n connectedCallback.call(component);\n }\n if (componentstore) componentstore.dispatchToProps();\n };\n\n const componentDidRender = component.componentDidRender;\n component.componentDidRender = function () {\n let componentstore = store.get(getId);\n if (componentDidRender) {\n componentDidRender.call(component);\n }\n if (componentstore) componentstore.savePropsToStore();\n };\n\n const disconnectedCallback = component.disconnectedCallback;\n component.disconnectedCallback = function () {\n let componentstore = store.get(getId);\n if (componentstore) componentstore.delete();\n store.delete(getId);\n if (disconnectedCallback) {\n disconnectedCallback.call(component);\n }\n };\n },\n};\n\nclass Store {\n private method: StorageMethods = 'session';\n private keys: string[];\n private id: string;\n private component: Component;\n private initialState: { [key: string]: any } = {};\n private updateStore: boolean = true;\n\n constructor(\n id: string,\n component: Component,\n keys: string[],\n initialState?: any,\n method?: StorageMethods\n ) {\n if (!id)\n throw new Error(\n 'No id set. You can only instantiate a new component store with an id'\n );\n this.id = id;\n this.keys = keys;\n this.component = component;\n if (initialState) this.initialState = initialState;\n if (method) this.method = method;\n\n this.savePropsToStore = debounce(this.savePropsToStore, 500);\n\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.addEventListener('popstate', this.onUrlChange);\n }\n }\n\n private onUrlChange = () => {\n this.dispatchToProps(false);\n };\n\n private equality(val1: any, val2: any) {\n if (typeof val1 !== typeof val2) return false;\n if (typeof val1 !== 'object') return val1 === val2;\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n\n get getData() {\n const data = this.keys.reduce((acc, key) => {\n let isEqual = this.equality(this.component[key], this.initialState[key]);\n if (typeof this.component[key] !== 'undefined' && !isEqual) {\n acc[key] = this.component[key];\n } else if (isEqual) delete acc[key];\n return acc;\n }, {});\n return Object.keys(data).length ? data : undefined;\n }\n\n private retrieve() {\n switch (this.method) {\n case 'url-hash':\n case 'url-hash-push':\n return getset.urlGet(this.id, 'hash');\n case 'url-query':\n case 'url-query-push':\n return getset.urlGet(this.id, 'query');\n case 'local':\n return getset.storageGet(this.id);\n default:\n return getset.sessionGet(this.id);\n }\n }\n\n private save(data: any) {\n let retObj = {};\n switch (this.method) {\n case 'url-hash':\n retObj[this.id] = data;\n return getset.urlSet(retObj, 'hash');\n case 'url-query':\n retObj[this.id] = data;\n return getset.urlSet(retObj, 'query');\n case 'url-hash-push':\n retObj[this.id] = data;\n return getset.urlSet(retObj, 'hash', window, 'push');\n case 'url-query-push':\n retObj[this.id] = data;\n return getset.urlSet(retObj, 'query', window, 'push');\n case 'local':\n if (!data) return;\n return getset.storageSet(this.id, data);\n default:\n if (!data) return;\n return getset.sessionSet(this.id, data);\n }\n }\n\n public savePropsToStore = () => {\n if (this.updateStore) {\n this.save(this.getData);\n } else if (!this.updateStore) this.updateStore = true;\n };\n\n public dispatchToProps = (updateStore = true) => {\n let savedData = this.retrieve();\n if (!savedData && updateStore) return;\n\n // console.log('dispatching', savedData, this.id, this.initialState);\n this.updateStore = updateStore;\n\n this.keys.forEach((key) => {\n this.component[key] = savedData ? savedData[key] : undefined;\n });\n };\n\n public delete = () => {\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.removeEventListener('popstate', this.onUrlChange);\n }\n };\n}\n"]}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
import{r as i,c as t,h as a,e as o,g as n}from"./p-ab5813a7.js";const e='.sc-nano-file-upload-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-file-upload{display:none !important}.sc-nano-file-upload-h{min-height:1rem;display:block;--invalid-msg-color:var(--nano-color-danger, #ef4135);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #616d6e);--label-color:var(--nano-input-label-color, "currentColor");--label-font-size:var(--nano-input-label-color, 1em);--label-padding:var(--nano-input-padding-bottom, var(--nano-input-padding, 8px));--label-color--invalid:var(--nano-input-label-color-invalid, "currentColor");--drop-bg:#f2f7f9;--drop-text:#756f6a;--drop-height:3.5em;--drop-border-tint:var(--nano-color-primary-rgb, 0, 116, 149);--drop-border-width:2px;--drop-border-radius:5px;--drop-bg--invalid:var(--nano-input-background-color, white);--drop-border--invalid:var(--nano-color-danger-rgb, 239, 65, 53);--btn-bg:var(--nano-color-primary, #007495);--btn-text:var(--nano-color-primary-contrast, #fff);--btn-icon-size:var(--nano-btn-icon-size, 1.4em);--btn-padding-top:var(--nano-btn-padding-top, 0.5em);--btn-padding-bottom:var(--nano-btn-padding-bottom, 0.5em);--btn-padding-start:var(--nano-btn-padding-start, 1em);--btn-padding-end:var(--nano-btn-padding-end, 1em)}[disabled].sc-nano-file-upload-h:not([disabled=false]){opacity:0.7}[disabled].sc-nano-file-upload-h:not([disabled=false]) *.sc-nano-file-upload{pointer-events:none !important}.file-upload__label.sc-nano-file-upload{font-size:var(--label-font-size);padding:0 0 var(--label-padding);margin:0;line-height:1}[invalid].sc-nano-file-upload-h:not([invalid=false]) .file-upload__label.sc-nano-file-upload{color:var(--label-color--invalid)}.file-upload__input.sc-nano-file-upload{display:none}.file-upload__error.sc-nano-file-upload,.file-upload__help.sc-nano-file-upload,.file-upload__more.sc-nano-file-upload,.file-upload__label.sc-nano-file-upload{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-upload__more.sc-nano-file-upload{height:1em;margin-left:3px;margin-right:0;margin-top:calc(var(--label-padding) / 2);margin-bottom:var(--label-padding);position:relative}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.file-upload__more.sc-nano-file-upload{margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:0;margin-inline-end:0}}.file-upload__error.sc-nano-file-upload,.file-upload__help.sc-nano-file-upload{top:0;left:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;-webkit-transition:0.3s ease-out opacity;transition:0.3s ease-out opacity}.file-upload--invalid.sc-nano-file-upload .file-upload__error.sc-nano-file-upload,.file-upload--invalid.sc-nano-file-upload .file-upload__help.sc-nano-file-upload{opacity:1}.file-upload__error.sc-nano-file-upload{color:var(--invalid-msg-color);font-stretch:condensed;opacity:0}.file-upload--invalid.sc-nano-file-upload .file-upload__error.sc-nano-file-upload{opacity:1}.file-upload__help.sc-nano-file-upload{font-style:italic;opacity:1;color:var(--help-msg-color)}.file-upload--invalid.sc-nano-file-upload .file-upload__help.sc-nano-file-upload{opacity:0}.file-upload__drop.sc-nano-file-upload{position:relative;width:100%;display:inline-block}.file-upload__drop-area.sc-nano-file-upload{background-color:var(--drop-bg);color:var(--drop-text);min-height:var(--drop-height);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;font-size:0.9em;position:relative;-webkit-transition:background-color 0.15s ease-in-out;transition:background-color 0.15s ease-in-out;padding:0.5rem}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__drop-area.sc-nano-file-upload{opacity:0.7}.file-upload--invalid.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload{background-color:var(--drop-bg--invalid)}.file-upload--dragging.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload{background-color:#fff}.file-upload__drop-area.sc-nano-file-upload::after{content:"";position:absolute;border-radius:var(--drop-border-radius);border-width:var(--drop-border-width);border-color:rgba(var(--drop-border-tint), 0.5);border-style:dashed;top:0;bottom:0;left:0;right:0;-webkit-transition:top 0.1s ease-in-out, bottom 0.1s ease-in-out, left 0.1s ease-in-out, right 0.1s ease-in-out;transition:top 0.1s ease-in-out, bottom 0.1s ease-in-out, left 0.1s ease-in-out, right 0.1s ease-in-out}.file-upload--invalid.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload::after{border-color:rgba(var(--drop-border--invalid), 1)}.file-upload--dragging.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload::after{top:5px;bottom:5px;left:5px;right:5px}.file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{color:rgba(var(--drop-border-tint), 1);text-decoration:underline;border-radius:2px;z-index:1;cursor:pointer;position:relative}.file-upload--focus.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{-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)))}.file-upload__list.sc-nano-file-upload{list-style:none;margin:0;padding:0}.file-upload__list-wrap.sc-nano-file-upload{position:relative;top:-4px}.file-upload__list-item.sc-nano-file-upload{width:100%;margin:0 0 2px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:hideListItem 0.3s ease-in-out forwards;animation:hideListItem 0.3s ease-in-out forwards}@-webkit-keyframes hideListItem{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes hideListItem{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform:translateZ(0);transform:translateZ(0)}}.file-upload__list-item--active.sc-nano-file-upload{-webkit-animation:showListItem 0.3s ease-in-out forwards;animation:showListItem 0.3s ease-in-out forwards}@-webkit-keyframes showListItem{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes showListItem{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:translateZ(0);transform:translateZ(0)}}.file-upload__list.sc-nano-file-upload .list-title.sc-nano-file-upload{background:white;border-radius:5px;padding:5px 5px;margin-right:2px;display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:0.9em;color:var(--help-msg-color)}.file-upload__list.sc-nano-file-upload .list-button.sc-nano-file-upload{background:white;border-radius:5px;margin:2px}.file-upload__list.sc-nano-file-upload .list-error.sc-nano-file-upload{--color:rgba(var(--drop-border--invalid), 1)}.file-upload__button.sc-nano-file-upload{margin:0;padding:0;border:none;background-color:transparent;font:inherit;-webkit-box-align:center;text-decoration:none;color:inherit;-webkit-transition:background-color 100ms ease-in-out, border-color 100ms ease-in-out, color 100ms ease-in-out, -webkit-box-shadow 100ms ease-in-out;transition:background-color 100ms ease-in-out, border-color 100ms ease-in-out, color 100ms ease-in-out, -webkit-box-shadow 100ms ease-in-out;transition:background-color 100ms ease-in-out, box-shadow 100ms ease-in-out, border-color 100ms ease-in-out, color 100ms ease-in-out;transition:background-color 100ms ease-in-out, box-shadow 100ms ease-in-out, border-color 100ms ease-in-out, color 100ms ease-in-out, -webkit-box-shadow 100ms ease-in-out;padding-left:var(--nano-btn-padding-start, 1rem);padding-right:var(--nano-btn-padding-end, 1rem);padding-top:var(--nano-btn-padding-top, 0.5rem);padding-bottom:var(--nano-btn-padding-bottom, 0.5rem);-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));display:inline-block;border-radius:var(--nano-btn-border-radius, 5px);line-height:var(--nano-btn-line-height, 1.5rem);font-weight:500;cursor:pointer;background:rgba(0, 0, 0, 0.02);background-color:var(--btn-bg);color:var(--btn-text);--nano-btn-icon-size:var(--btn-icon-size);--nano-btn-line-height:var(--btn-icon-size);--nano-btn-padding-top:var(--btn-padding-top);--nano-btn-padding-bottom:var(--btn-padding-bottom);--nano-btn-padding-start:var(--btn-padding-start);--nano-btn-padding-end:var(--btn-padding-end);max-width:100%;font-size:0.9em}.file-upload__button.sc-nano-file-upload::-moz-focus-inner{border:0;padding:0}.file-upload__button.sc-nano-file-upload:hover,.file-upload__button.sc-nano-file-upload:focus{text-decoration:none;color:inherit}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.file-upload__button.sc-nano-file-upload{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--nano-btn-padding-start, 1rem);padding-inline-start:var(--nano-btn-padding-start, 1rem);-webkit-padding-end:var(--nano-btn-padding-end, 1rem);padding-inline-end:var(--nano-btn-padding-end, 1rem)}}@media print{.file-upload__button.sc-nano-file-upload{display:none}}.file-upload__button.sc-nano-file-upload:focus,.file-upload__button.button--focus.sc-nano-file-upload{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)))}.file-upload__button.sc-nano-file-upload nano-icon.sc-nano-file-upload{margin-left:0.5rem;margin-right:0;font-size:var(--nano-btn-icon-size, 1rem);vertical-align:middle;margin-top:-0.188rem;display:inline-block}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.file-upload__button.sc-nano-file-upload nano-icon.sc-nano-file-upload{margin-left:unset;margin-right:unset;-webkit-margin-start:0.5rem;margin-inline-start:0.5rem;-webkit-margin-end:0;margin-inline-end:0}}.file-upload__button.button--icon-start.sc-nano-file-upload nano-icon.sc-nano-file-upload{margin-left:0;margin-right:0.5rem}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.file-upload__button.button--icon-start.sc-nano-file-upload nano-icon.sc-nano-file-upload{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0.5rem;margin-inline-end:0.5rem}}.file-upload__button.sc-nano-file-upload:hover:not(.file-upload__button--disabled){-webkit-box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2))}.file-upload__button.sc-nano-file-upload:active:not(.button--disabled):not(:disabled){-webkit-box-shadow:none;box-shadow:none}.file-upload__button--disabled.sc-nano-file-upload,.file-upload__button.sc-nano-file-upload:disabled{opacity:0.6}.file-upload__button--disabled.sc-nano-file-upload:hover,.file-upload__button.sc-nano-file-upload:disabled:hover{cursor:default}.file-upload__button.sc-nano-file-upload:hover:not(.button--disabled):not(:disabled),.file-upload__button.button--active.sc-nano-file-upload{background-color:var(--nano-color-primary-shade, #00637f);color:var(--btn-text)}.file-upload__button.sc-nano-file-upload:hover:not(.button--disabled):not(:disabled).button--keyline,.file-upload__button.button--active.button--keyline.sc-nano-file-upload{background-color:var(--btn-bg);color:var(--btn-text)}.file-upload__button.sc-nano-file-upload:focus{color:var(--btn-text)}.file-upload__button.button--keyline.sc-nano-file-upload{background:transparent;border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);color:var(--btn-bg);border-color:var(--btn-bg)}.file-upload__button.button--keyline.sc-nano-file-upload:hover:not(.button--disabled):not(:disabled),.file-upload__button.button--keyline.sc-nano-file-upload:not(.button--focus),.file-upload__button.button--keyline.button--active.sc-nano-file-upload{-webkit-box-shadow:none;box-shadow:none}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__button.sc-nano-file-upload{opacity:0.4}.file-upload--dragging.sc-nano-file-upload .file-upload__button.sc-nano-file-upload{--nano-btn-border-style:dashed}.file-upload__button.sc-nano-file-upload .file-upload__clear-btn.sc-nano-file-upload{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:inherit;padding:0;border:0;outline:none;background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:auto;color:var(--clear-btn-color)}.is-invalid.sc-nano-file-upload-h .file-upload__button.sc-nano-file-upload .file-upload__clear-btn.sc-nano-file-upload{color:var(--clear-btn-color--invalid)}.file-upload__button.sc-nano-file-upload .file-upload__clear-btn.sc-nano-file-upload nano-icon.sc-nano-file-upload{margin-left:0.4rem;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.file-upload__button.sc-nano-file-upload .file-upload__clear-btn.sc-nano-file-upload nano-icon.sc-nano-file-upload{margin-left:unset;margin-right:unset;-webkit-margin-start:0.4rem;margin-inline-start:0.4rem;-webkit-margin-end:0;margin-inline-end:0}}.file-upload__button.sc-nano-file-upload .file-upload__btn-content.sc-nano-file-upload{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.file-upload__button.sc-nano-file-upload .file-upload__btn-content.sc-nano-file-upload span.sc-nano-file-upload{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}';let l=0;let s=()=>new DataTransfer;try{s()}catch(d){try{s=()=>new ClipboardEvent("").clipboardData;s()}catch(p){s=null}}let r=class{constructor(o){i(this,o);this.nanoChange=t(this,"nanoChange",7);this.nanoFocus=t(this,"nanoFocus",7);this.nanoBlur=t(this,"nanoBlur",7);this.nanoValidate=t(this,"nanoValidate",7);this.fileInputId=`nano-file-upload-${l++}`;this.canChangeFileList=!!s;this.removeFiles=[];this.errorMessage=null;this.isDragging=false;this.fileList=[];this.maxFileSize=1;this.maxFiles=1;this.placeholder="Choose a file...";this.hideLabel=false;this.required=false;this.disabled=false;this.clearInput=false;this.showInlineError=true;this.validateOn="submit";this._invalid=false;this.onClearClick=()=>{this.value=""};this.onBlur=()=>{this.hasFocus=false;if(this.validateOn==="dirty")this.validate();this.nanoBlur.emit()};this.onFocus=()=>{this.hasFocus=true;this.nanoFocus.emit()};this.validate=i=>{this.errorMessage=null;this.inputEl.setCustomValidity("");let t;if(this.validateOn==="submitThenDirty")this.validateOn="dirty";if(!this.inputEl.validity.valid){if(this.showInlineError)this.errorMessage=this.inputEl.validationMessage}else{this.fileList.forEach((i=>{t=null;if(!this.checkFileSize(i.file.size)){t="Maximum file size exceeded. Max file size is "+this.maxFileSize+"Mb"}else if(!this.checkFileType(i.file.type))t=`File type is not allowed (${this.accept})`;if(!this.errorMessage&&t)this.errorMessage=t;i.validationMessage=t;i.valid=!t}));if(this.fileList.length>this.maxFiles)this.errorMessage=`Maxinum number of files exceeded (${this.maxFiles})`}if(!!this.errorMessage){this._invalid=true;this.inputEl.setCustomValidity(this.errorMessage)}else{this._invalid=false}this.nanoValidate.emit({isValid:!this._invalid,errorMessage:this.inputEl.validationMessage,originalEvent:i})};this.onInvalid=i=>{this.validate(i);if(this.showInlineError)i.preventDefault()};this.onFileChoose=i=>{const t=i.target.files;if(t&&t.length)this.addNewFiles(i.target.files)};this.onFileRemoveFileClick=(i,t)=>{if(!this.canChangeFileList)return;this.removeFiles.push(t);i.target.closest(".file-upload__list-item--active").classList.remove("file-upload__list-item--active")};this.onFileRemoveAnim=()=>{if(!this.canChangeFileList||!this.removeFiles.length)return;this.fileList=this.fileList.filter((i=>!this.removeFiles.find((t=>t===i))));this.removeFiles=[]};this.onInputChange=()=>{this.nanoChange.emit({value:this.value,files:this.files})};this.onDragStop=i=>{i.preventDefault();i.stopPropagation();this.isDragging=false};this.onDragStart=i=>{i.preventDefault();i.stopPropagation();this.isDragging=true};this.onDrop=i=>{this.onDragStop(i);if(i.dataTransfer.files&&i.dataTransfer.files.length)this.addNewFiles(i.dataTransfer.files)};this.FileUploadInput=(i,t)=>{const o=this.fileInputId+"-lbl";const n=this.showInlineError||this.hasHelperSlot?this.fileInputId+"-more":"";return[a("div",{class:"file-upload__"+i+"-wrap"},a("label",{class:`file-upload__`+i,htmlFor:this.fileInputId,id:o,onDrop:i=>{this.onDrop(i);this.onDragStop(i)},onDragEnd:this.onDragStop,onDragLeave:this.onDragStop,onDragEnter:this.onDragStart,onDragOver:this.onDragStart},a("div",{class:`file-upload__label ${this.hideLabel||i!=="drop"?"visually-hide":""}`},this.label&&this.label,!this.label&&this.hasLabelSlot&&a("slot",{name:"label"})),i==="drop"&&a("div",{class:"file-upload__drop-area"},"Drap and drop or ",a("span",null,"browse")),i==="btn"&&a("div",{class:`file-upload__button button--keyline button--icon-start ${this.hasFocus?"button--focus":""}`},a("div",{class:`file-upload__btn-content`},a("nano-icon",{name:"regular/cloud-upload"}),a("span",null,!!this.fileList.length?this.fileList[0].file.name:this.placeholder),!!this.value&&this.clearInput&&!this.disabled&&a("button",{type:"button",class:"icon file-upload__clear-btn",tabindex:"-1",onClick:this.onClearClick},a("nano-icon",{name:"light/times"})))),a("input",{"aria-labelledby":o+" "+n+" "+t,type:"file",id:this.fileInputId,accept:this.accept,class:"file-upload__input",multiple:this.maxFiles>1,disabled:this.disabled,name:this.canChangeFileList?undefined:this.name,ref:i=>{if(this.canChangeFileList){this.publicInputEl=i;return}this.inputEl=i},onChange:this.onFileChoose,onFocus:this.onFocus,onReset:this.onInputChange})),a("input",{name:!this.canChangeFileList?undefined:this.name,ref:i=>{if(!this.canChangeFileList)return;this.inputEl=i},type:"file",id:this.fileInputId+"-hidden",tabIndex:-1,multiple:true,class:"file-upload__input",disabled:this.disabled,required:this.required,accept:this.accept,onInvalid:this.onInvalid,onChange:this.onInputChange})),this.showInlineError||this.hasHelperSlot?a("div",{class:"file-upload__more",id:n},this.showInlineError?a("div",{class:"file-upload__error"},this.errorMessage):"",a("div",{class:"file-upload__help"},a("slot",{name:"helper"}))):""]};this.button=()=>this.FileUploadInput("btn");this.dropArea=()=>{const i=this.fileInputId+"-list";return[this.FileUploadInput("drop",i),a("output",{class:"file-upload__list-wrap",id:i},!!this.fileList&&this.fileList.length>0&&a("ul",{class:"file-upload__list list"},this.fileList.map((i=>a("li",{key:i.file.name,class:"file-upload__list-item file-upload__list-item--active list-item",onAnimationEnd:i=>this.onFileRemoveAnim()},a("span",{class:"list-title"},i.file.name),!i.valid&&a("nano-tooltip",{content:i.validationMessage,placement:"left"},a("nano-icon-button",{class:"list-button list-error",iconName:"light/exclamation-triangle",label:"File error"})),this.canChangeFileList&&a("nano-icon-button",{class:"list-button list-button--view",type:"button",iconName:"light/eye",label:"View file",target:"_blank",href:i.location}),this.canChangeFileList&&a("nano-icon-button",{onClick:t=>this.onFileRemoveFileClick(t,i),class:"list-button list-button--remove",iconName:"light/times",label:"Remove file"}))))))]}}fileListChange(){if(this.canChangeFileList){this.publicInputEl.value="";this.inputEl.files=this.arrToFileList(this.fileList.map((i=>i.file)));this.nanoChange.emit({value:this.value,files:this.files})}}shouldValidate(){if(!this.inputEl)return;setTimeout((()=>{if(this.validateOn==="dirty")this.validate()}),20)}get invalid(){return this._invalid}get files(){return this.inputEl?Array.from(this.inputEl.files).map((i=>{i.objectURL=URL.createObjectURL(i);return i})):[]}get value(){return this.inputEl?this.inputEl.value:""}set value(i){if(i===""&&this.inputEl){this.fileList=[];this.inputEl.value=""}}async reportValidity(i){if(i)this.validate();return{isValid:!this.invalid,errorMessage:this.inputEl.validationMessage}}async setFocus(){if(this.inputEl)this.inputEl.focus()}getInputElement(){return Promise.resolve(this.inputEl)}async showError(i){if(this.inputEl){this.inputEl.setCustomValidity(i);this.validate()}}globalClickHandler(i){if(!this.hasFocus)return;if(i.composedPath().every((i=>i!==this.host)))this.onBlur()}globalKeydownHandler(i){if(!this.hasFocus||i.key!=="Tab")return;if(i.target!==this.inputEl)this.onBlur()}arrToFileList(i){const t=s();for(var a=0,o=i.length;a<o;a++)t.items.add(i[a]);return t.files}checkFileSize(i){return i/1e6<=this.maxFileSize}checkFileType(i){if(!this.accept)return true;return this.accept.match(i)&&this.accept.match(i).length>0}slotChangeObserver(){if(this.mo)this.mo.disconnect();const i=this.mo=new MutationObserver((()=>this.processSlottedContent()));i.observe(this.host,{childList:true,subtree:true})}processSlottedContent(){this.hasLabelSlot=!!this.host.querySelectorAll('[slot="label"]');this.hasHelperSlot=!!this.host.querySelector('[slot="helper"]')}addNewFiles(i){const t=Array.from(i).map((i=>({file:i,location:URL.createObjectURL(i),valid:true,validationMessage:null})));if(this.canChangeFileList&&this.maxFiles>1){const i=t.filter((i=>!this.fileList.find((t=>t.file.name===i.file.name))));this.fileList=[...this.fileList,...i]}else this.fileList=t}disconnectedCallback(){if(this.mo)this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver()}componentWillLoad(){this.processSlottedContent()}render(){return a(o,null,a("div",{class:{"file-upload":true,"file-upload--dragging":this.isDragging,"file-upload--focus":this.hasFocus,"file-upload--invalid":this._invalid}},this.maxFiles>1?a(this.dropArea,null):a(this.button,null)))}get host(){return n(this)}static get watchers(){return{fileList:["fileListChange","shouldValidate"],maxFiles:["shouldValidate"],maxFileSize:["shouldValidate"],capture:["shouldValidate"],accept:["shouldValidate"],required:["shouldValidate"],disabled:["shouldValidate"],validateOn:["shouldValidate"]}}};r.style=e;export{r as nano_file_upload};
|
5
|
-
//# sourceMappingURL=p-e7c69d4f.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/file-upload/file-upload.scss?tag=nano-file-upload&encapsulation=scoped","src/components/file-upload/file-upload.tsx"],"names":["fileUploadCss","fileInputIds","getDataTransfer","DataTransfer","_a","ClipboardEvent","clipboardData","_b","FileUpload","[object Object]","hostRef","this","fileInputId","canChangeFileList","removeFiles","errorMessage","isDragging","fileList","maxFileSize","maxFiles","placeholder","hideLabel","required","disabled","clearInput","showInlineError","validateOn","_invalid","onClearClick","value","onBlur","hasFocus","validate","nanoBlur","emit","onFocus","nanoFocus","ev","inputEl","setCustomValidity","error","validity","valid","validationMessage","forEach","fileItem","checkFileSize","file","size","checkFileType","type","accept","length","nanoValidate","isValid","originalEvent","onInvalid","preventDefault","onFileChoose","e","files","target","addNewFiles","onFileRemoveFileClick","push","closest","classList","remove","onFileRemoveAnim","filter","find","rmFile","onInputChange","nanoChange","onDragStop","stopPropagation","onDragStart","onDrop","dataTransfer","FileUploadInput","eleType","listId","labelId","moreId","hasHelperSlot","h","class","htmlFor","id","onDragEnd","onDragLeave","onDragEnter","onDragOver","label","hasLabelSlot","name","tabindex","onClick","aria-labelledby","multiple","undefined","ref","input","publicInputEl","onChange","onReset","tabIndex","button","dropArea","map","key","onAnimationEnd","_","content","placement","iconName","href","location","arrToFileList","setTimeout","invalid","Array","from","objectURL","URL","createObjectURL","val","validateFirst","focus","Promise","resolve","message","composedPath","every","node","host","i","len","items","add","match","mo","disconnect","MutationObserver","processSlottedContent","observe","childList","subtree","querySelectorAll","querySelector","newFiles","findFile","slotChangeObserver","Host","file-upload","file-upload--dragging","file-upload--focus","file-upload--invalid"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/button';\n\n:host {\n /**\n * @prop --invalid-msg-color: Default value #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default value #{$input-help-font-size};\n\n * @prop --help-msg-color: Default value #{$input-help-color};\n\n * @prop --label-color: Default value #{$label-color};\n * @prop --label-color--invalid: Default value #{$label-color-invalid};\n * @prop --label-font-size: Default value #{$label-font-size};\n * @prop --label-padding: Default value #{$input-padding-bottom};\n * @prop --label-color--invalid: Default value #{$label-color-invalid};\n\n * @prop --drop-bg: Default value #{map.get($colors, blue--faded)};\n * @prop --drop-text: Default value #{map.get($colors, dimgrey)};\n * @prop --drop-height: Default value 3.5em;\n * @prop --drop-border-tint: Default value #{nano-color(primary, base, null, true)};\n * @prop --drop-border-width: Default value 2px;\n * @prop --drop-border-radius: Default value 5px;\n * @prop --drop-bg--invalid: Default value #{$input-background-color--invalid};\n * @prop --drop-border--invalid: Default value #{nano-color(danger, base, null, true)};\n\n * @prop --btn-bg: Default value #{nano-color(primary, base)};\n * @prop --btn-text: Default value #{nano-color(primary, contrast)};\n * @prop --btn-icon-size: Default value var(--nano-btn-icon-size, 1.4em);\n * @prop --btn-padding-top: Default value var(--nano-btn-padding-top, .5em);\n * @prop --btn-padding-bottom: Default value var(--nano-btn-padding-bottom, .5em);\n * @prop --btn-padding-start: Default value var(--nano-btn-padding-start, 1em);\n * @prop --btn-padding-end: Default value var(--nano-btn-padding-end, 1em);\n */\n\n min-height: 1rem;\n display: block;\n\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n --label-color--invalid: #{$label-color-invalid};\n --drop-bg: #{map.get($colors, blue--faded)};\n --drop-text: #{darken(map.get($colors, dimgrey), 11%)};\n --drop-height: 3.5em;\n --drop-border-tint: #{nano-color(primary, base, null, true)};\n --drop-border-width: 2px;\n --drop-border-radius: 5px;\n --drop-bg--invalid: #{$input-background-color--invalid};\n --drop-border--invalid: #{nano-color(danger, base, null, true)};\n --btn-bg: #{nano-color(primary, base)};\n --btn-text: #{nano-color(primary, contrast)};\n --btn-icon-size: var(--nano-btn-icon-size, 1.4em);\n --btn-padding-top: var(--nano-btn-padding-top, 0.5em);\n --btn-padding-bottom: var(--nano-btn-padding-bottom, 0.5em);\n --btn-padding-start: var(--nano-btn-padding-start, 1em);\n --btn-padding-end: var(--nano-btn-padding-end, 1em);\n}\n\n:host([disabled]:not([disabled='false'])) {\n opacity: 0.7;\n\n * {\n pointer-events: none !important;\n }\n}\n\n.file-upload {\n $self: &;\n\n /* Common */\n\n &__label {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__input {\n display: none;\n }\n\n &__error,\n &__help,\n &__more,\n &__label {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) / 2),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .file-upload--invalid & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .file-upload--invalid & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .file-upload--invalid & {\n opacity: 0;\n }\n }\n\n /* Drop area / Multi file upload */\n\n &__drop {\n position: relative;\n width: 100%;\n display: inline-block;\n }\n\n &__drop-area {\n background-color: var(--drop-bg);\n color: var(--drop-text);\n min-height: var(--drop-height);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.9em;\n position: relative;\n transition: background-color 0.15s ease-in-out;\n padding: 0.5rem;\n\n :host([disabled]:not([disabled='false'])) & {\n opacity: 0.7;\n }\n\n .file-upload--invalid & {\n background-color: var(--drop-bg--invalid);\n }\n\n .file-upload--dragging & {\n background-color: #{map.get($colors, white)};\n }\n\n &::after {\n content: '';\n position: absolute;\n border-radius: var(--drop-border-radius);\n border-width: var(--drop-border-width);\n border-color: rgba(var(--drop-border-tint), 0.5);\n border-style: dashed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n transition:\n top 0.1s ease-in-out,\n bottom 0.1s ease-in-out,\n left 0.1s ease-in-out,\n right 0.1s ease-in-out;\n\n .file-upload--invalid & {\n border-color: rgba(var(--drop-border--invalid), 1);\n }\n\n .file-upload--dragging & {\n top: 5px;\n bottom: 5px;\n left: 5px;\n right: 5px;\n }\n }\n\n span {\n color: rgba(var(--drop-border-tint), 1);\n text-decoration: underline;\n border-radius: 2px;\n z-index: 1;\n cursor: pointer;\n position: relative;\n\n .file-upload--focus & {\n box-shadow: #{$control-focus-style};\n }\n }\n }\n\n &__list {\n list-style: none;\n margin: 0;\n padding: 0;\n\n &-wrap {\n position: relative;\n top: -4px;\n }\n\n &-item {\n width: 100%;\n margin: 0 0 2px;\n display: flex;\n align-items: center;\n transform: translateZ(0);\n animation: hideListItem 0.3s ease-in-out forwards;\n\n @keyframes hideListItem {\n 0% {\n opacity: 1;\n transform: translateY(0);\n transform: translateZ(0);\n }\n\n 100% {\n opacity: 0;\n transform: translateY(10px);\n transform: translateZ(0);\n }\n }\n\n &--active {\n animation: showListItem 0.3s ease-in-out forwards;\n\n @keyframes showListItem {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n transform: translateZ(0);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n transform: translateZ(0);\n }\n }\n }\n }\n\n .list-title {\n background: white;\n border-radius: 5px;\n padding: 5px 5px;\n margin-right: 2px;\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 0.9em;\n color: var(--help-msg-color);\n }\n\n .list-button {\n background: white;\n border-radius: 5px;\n margin: 2px;\n }\n\n .list-error {\n --color: rgba(var(--drop-border--invalid), 1);\n }\n }\n\n /* Button display / Single file upload */\n\n &__button {\n @include button-base;\n @include button-standard(\n var(--btn-bg),\n var(--btn-text),\n #{nano-color(primary, shade)}\n );\n\n --nano-btn-icon-size: var(--btn-icon-size);\n --nano-btn-line-height: var(--btn-icon-size);\n --nano-btn-padding-top: var(--btn-padding-top);\n --nano-btn-padding-bottom: var(--btn-padding-bottom);\n --nano-btn-padding-start: var(--btn-padding-start);\n --nano-btn-padding-end: var(--btn-padding-end);\n\n max-width: 100%;\n font-size: 0.9em;\n\n :host([disabled]:not([disabled='false'])) & {\n opacity: 0.4;\n }\n\n .file-upload--dragging & {\n --nano-btn-border-style: dashed;\n }\n #{$self}__clear-btn {\n @include margin(0);\n\n font-size: inherit;\n padding: 0;\n border: 0;\n outline: none;\n background-color: transparent;\n display: flex;\n align-items: stretch;\n width: auto;\n color: var(--clear-btn-color);\n\n :host(.is-invalid) & {\n color: var(--clear-btn-color--invalid);\n }\n\n nano-icon {\n @include margin(0, 0, 0, 0.4rem);\n }\n }\n #{$self}__btn-content {\n display: flex;\n align-items: center;\n\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n }\n }\n }\n}\n","import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Event,\n EventEmitter,\n Watch,\n VNode,\n Method,\n Listen,\n} from '@stencil/core';\nimport {\n ControlValidity,\n ControlValidityEventDetail,\n FileInputChangeEventDetail,\n FileWithUrl,\n} from '../../interface';\n\nlet fileInputIds = 0;\n\nlet getDataTransfer = () => new DataTransfer();\ntry {\n getDataTransfer();\n} catch {\n try {\n getDataTransfer = () => new ClipboardEvent('').clipboardData;\n getDataTransfer();\n } catch {\n getDataTransfer = null;\n }\n}\n\ninterface FileValidation {\n file: File;\n valid: boolean;\n validationMessage?: string;\n location?: string;\n}\n/**\n * A better UI experience for `input type=\"file\"` form controls.\n *\n * - Drag and Drop\n * - Validation options\n * - Preview and manage multiple files\n */\n@Component({\n tag: 'nano-file-upload',\n styleUrl: 'file-upload.scss',\n scoped: true,\n})\nexport class FileUpload implements ComponentInterface {\n private inputEl: HTMLInputElement;\n private publicInputEl: HTMLInputElement;\n private mo!: MutationObserver;\n private fileInputId = `nano-file-upload-${fileInputIds++}`;\n private canChangeFileList = !!getDataTransfer;\n private removeFiles: FileValidation[] = [];\n\n @State() hasHelperSlot: boolean;\n @State() hasLabelSlot: boolean;\n @State() errorMessage: string = null;\n @State() isDragging = false;\n @State() fileList: FileValidation[] = [];\n @Watch('fileList')\n fileListChange() {\n if (this.canChangeFileList) {\n this.publicInputEl.value = '';\n this.inputEl.files = this.arrToFileList(\n this.fileList.map((file) => file.file)\n );\n this.nanoChange.emit({ value: this.value, files: this.files });\n }\n }\n @State() hasFocus: boolean;\n\n @Element() host: HTMLNanoFileUploadElement;\n\n // public props\n\n /** Name of the form control. Submitted with the form as part of a name/value pair. */\n @Prop() name!: string;\n\n /** The accept attribute value is a string that defines the file types the file input should accept.\n * E.g. for a MS Word file: `.doc, .docx,application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document` */\n @Prop() accept?: string;\n\n /** Specifies which camera to use for capture of image or video data. `user` for the user-facing camera and/or microphone.\n * `environment` specifies the the outward-facing camera and/or microphone. If the requested facing mode isn't available,\n * the user agent may fall back to its preferred default mode. */\n @Prop() capture?: 'user' | 'environment';\n\n /** The maximum file size allowed per file (Megabytes) */\n @Prop() maxFileSize: number = 1;\n\n /** The maximum file size allowed per file (bytes). */\n @Prop() maxFiles: number = 1;\n\n /** String to place within a label element. */\n @Prop() label!: string;\n\n /** Placeholder only used within single file uploads. */\n @Prop() placeholder: string = 'Choose a file...';\n\n /** Visually hide the label - but make it accessible. */\n @Prop() hideLabel?: boolean = false;\n\n /** If `true`, the user must select a file to upload before submitting a form. */\n @Prop() required = false;\n\n /** If `true`, the user cannot interact with the select. */\n @Prop({ reflect: true }) disabled = false;\n\n /** If `true`, a clear icon will appear in the input when there is a value.\n * Clicking it clears the input. Only used within single file uploads. */\n @Prop() clearInput = false;\n\n /** Whether to show validation errors underneath input */\n @Prop({ reflect: true }) showInlineError = true;\n\n /** When should the field perform validation */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n @Watch('maxFiles')\n @Watch('maxFileSize')\n @Watch('capture')\n @Watch('accept')\n @Watch('required')\n @Watch('disabled')\n @Watch('validateOn')\n @Watch('fileList')\n protected shouldValidate() {\n if (!this.inputEl) return;\n setTimeout(() => {\n if (this.validateOn === 'dirty') this.validate();\n }, 20);\n }\n\n @State() _invalid = false;\n /** This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n\n /** A File array that lists every selected file.\n * Has an added `objectURL` property returning a `DOMString`\n * containing an object URL that can be used to reference the contents of the specified source\n * This list has no more than one member unless the multiple attribute is specified. @readonly */\n @Prop()\n get files(): FileWithUrl[] {\n return this.inputEl\n ? Array.from(this.inputEl.files).map((file: FileWithUrl) => {\n file.objectURL = URL.createObjectURL(file);\n return file;\n })\n : [];\n }\n\n /** A file input's value attribute contains a DOMString that represents the path to the selected file(s).\n * If the user selected multiple files, the value represents the first file in the list of files they selected.\n * You can reset the file-upload control by setting the value to an emptry string e.g. `var input.value = ''` */\n @Prop()\n get value() {\n return this.inputEl ? this.inputEl.value : '';\n }\n set value(val: string) {\n if (val === '' && this.inputEl) {\n this.fileList = [];\n this.inputEl.value = '';\n }\n }\n\n // Events\n\n /** Emitted when the value has changed. */\n @Event() nanoChange!: EventEmitter<FileInputChangeEventDetail>;\n\n /** Emited when the checkbox is focused */\n @Event() nanoFocus: EventEmitter;\n\n /** Emited when the checkbox is blurred */\n @Event() nanoBlur: EventEmitter;\n\n /** Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`. */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Public methods\n\n /** Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }` */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n if (validateFirst) this.validate();\n return {\n isValid: !this.invalid,\n errorMessage: this.inputEl.validationMessage,\n };\n }\n\n /** Sets focus on the specified `nano-input`. Use this method instead of the global\n * `input.focus()`. */\n @Method()\n async setFocus() {\n if (this.inputEl) this.inputEl.focus();\n }\n\n /** Returns the native `<input>` element used under the hood */\n @Method()\n getInputElement(): Promise<HTMLInputElement | HTMLTextAreaElement> {\n return Promise.resolve(this.inputEl!);\n }\n\n /** Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n * @param message */\n @Method()\n async showError(message: string) {\n if (this.inputEl) {\n this.inputEl.setCustomValidity(message);\n this.validate();\n }\n }\n\n // Listeners\n\n @Listen('click', { target: 'window' })\n globalClickHandler(e: Event) {\n if (!this.hasFocus) return;\n if (e.composedPath().every((node) => node !== this.host)) this.onBlur();\n }\n\n @Listen('keydown', { target: 'window' })\n globalKeydownHandler(e: KeyboardEvent) {\n if (!this.hasFocus || e.key !== 'Tab') return;\n if (e.target !== this.inputEl) this.onBlur();\n }\n\n // Private methods\n\n private onClearClick = () => {\n this.value = '';\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n if (this.validateOn === 'dirty') this.validate();\n this.nanoBlur.emit();\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private arrToFileList(files: File[]): FileList {\n const fileList = getDataTransfer();\n for (var i = 0, len = files.length; i < len; i++)\n fileList.items.add(files[i]);\n return fileList.files;\n }\n\n private checkFileSize(size: number): boolean {\n return size / 1000000 <= this.maxFileSize;\n }\n\n private checkFileType(type: string): boolean {\n if (!this.accept) return true;\n return this.accept.match(type) && this.accept.match(type).length > 0;\n }\n\n private validate = (ev?: Event) => {\n this.errorMessage = null;\n this.inputEl.setCustomValidity('');\n let error: string;\n\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n if (!this.inputEl.validity.valid) {\n if (this.showInlineError)\n this.errorMessage = this.inputEl.validationMessage;\n } else {\n this.fileList.forEach((fileItem) => {\n error = null;\n if (!this.checkFileSize(fileItem.file.size)) {\n error =\n 'Maximum file size exceeded. Max file size is ' +\n this.maxFileSize +\n 'Mb';\n } else if (!this.checkFileType(fileItem.file.type))\n error = `File type is not allowed (${this.accept})`;\n\n if (!this.errorMessage && error) this.errorMessage = error;\n fileItem.validationMessage = error;\n fileItem.valid = !error;\n });\n if (this.fileList.length > this.maxFiles)\n this.errorMessage = `Maxinum number of files exceeded (${this.maxFiles})`;\n }\n\n if (!!this.errorMessage) {\n this._invalid = true;\n this.inputEl.setCustomValidity(this.errorMessage);\n } else {\n this._invalid = false;\n }\n\n this.nanoValidate.emit({\n isValid: !this._invalid,\n errorMessage: this.inputEl.validationMessage,\n originalEvent: ev,\n });\n };\n\n private slotChangeObserver() {\n if (this.mo) this.mo.disconnect();\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.host, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have slot content\n this.hasLabelSlot = !!this.host.querySelectorAll('[slot=\"label\"]');\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n }\n\n private addNewFiles(files: FileList) {\n const fileList: FileValidation[] = Array.from(files).map((file) => {\n return {\n file: file,\n location: URL.createObjectURL(file),\n valid: true,\n validationMessage: null,\n };\n });\n\n // if we have a list and we're in a browser that can amend files\n // append files to the list, otherwise replace\n if (this.canChangeFileList && this.maxFiles > 1) {\n const newFiles = fileList.filter(\n (findFile) =>\n !this.fileList.find((file) => file.file.name === findFile.file.name)\n );\n this.fileList = [...this.fileList, ...newFiles];\n } else this.fileList = fileList;\n }\n\n // event handlers & hooks\n\n private onInvalid = (ev: Event) => {\n this.validate(ev);\n if (this.showInlineError) ev.preventDefault();\n };\n\n private onFileChoose = (e: Event) => {\n const files = (e.target as HTMLInputElement).files;\n if (files && files.length)\n this.addNewFiles((e.target as HTMLInputElement).files);\n };\n\n private onFileRemoveFileClick = (e: Event, file: FileValidation) => {\n if (!this.canChangeFileList) return;\n this.removeFiles.push(file);\n\n (e.target as HTMLElement)\n .closest('.file-upload__list-item--active')\n .classList.remove('file-upload__list-item--active');\n };\n\n private onFileRemoveAnim = () => {\n if (!this.canChangeFileList || !this.removeFiles.length) return;\n this.fileList = this.fileList.filter(\n (fileItem) => !this.removeFiles.find((rmFile) => rmFile === fileItem)\n );\n this.removeFiles = [];\n };\n\n private onInputChange = () => {\n this.nanoChange.emit({ value: this.value, files: this.files });\n };\n\n private onDragStop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = false;\n };\n\n private onDragStart = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = true;\n };\n\n private onDrop = (e: DragEvent) => {\n this.onDragStop(e);\n if (e.dataTransfer.files && e.dataTransfer.files.length)\n this.addNewFiles(e.dataTransfer.files);\n };\n\n // Component lifecycle\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n private FileUploadInput = (\n eleType: 'drop' | 'btn',\n listId?: string\n ): VNode[] => {\n const labelId = this.fileInputId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.fileInputId + '-more'\n : '';\n\n return [\n <div class={'file-upload__' + eleType + '-wrap'}>\n <label\n class={`file-upload__` + eleType}\n htmlFor={this.fileInputId}\n id={labelId}\n onDrop={(e) => {\n this.onDrop(e);\n this.onDragStop(e);\n }}\n onDragEnd={this.onDragStop}\n onDragLeave={this.onDragStop}\n onDragEnter={this.onDragStart}\n onDragOver={this.onDragStart}\n >\n <div\n class={`file-upload__label ${\n this.hideLabel || eleType !== 'drop' ? 'visually-hide' : ''\n }`}\n >\n {this.label && this.label}\n {!this.label && this.hasLabelSlot && <slot name=\"label\" />}\n </div>\n {eleType === 'drop' && (\n <div class=\"file-upload__drop-area\">\n Drap and drop or <span>browse</span>\n </div>\n )}\n {eleType === 'btn' && (\n <div\n class={`file-upload__button button--keyline button--icon-start ${\n this.hasFocus ? 'button--focus' : ''\n }`}\n >\n <div class={`file-upload__btn-content`}>\n <nano-icon name=\"regular/cloud-upload\" />\n <span>\n {!!this.fileList.length\n ? this.fileList[0].file.name\n : this.placeholder}\n </span>\n {!!this.value && this.clearInput && !this.disabled && (\n <button\n type=\"button\"\n class=\"icon file-upload__clear-btn\"\n tabindex=\"-1\"\n onClick={this.onClearClick}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n )}\n </div>\n </div>\n )}\n <input\n aria-labelledby={labelId + ' ' + moreId + ' ' + listId}\n type=\"file\"\n id={this.fileInputId}\n accept={this.accept}\n class=\"file-upload__input\"\n multiple={this.maxFiles > 1}\n disabled={this.disabled}\n name={this.canChangeFileList ? undefined : this.name}\n ref={(input) => {\n if (this.canChangeFileList) {\n this.publicInputEl = input;\n return;\n }\n this.inputEl = input;\n }}\n onChange={this.onFileChoose}\n onFocus={this.onFocus}\n onReset={this.onInputChange}\n />\n </label>\n <input\n name={!this.canChangeFileList ? undefined : this.name}\n ref={(input) => {\n if (!this.canChangeFileList) return;\n this.inputEl = input;\n }}\n type=\"file\"\n id={this.fileInputId + '-hidden'}\n tabIndex={-1}\n multiple={true}\n class=\"file-upload__input\"\n disabled={this.disabled}\n required={this.required}\n accept={this.accept}\n onInvalid={this.onInvalid}\n onChange={this.onInputChange}\n />\n </div>,\n this.showInlineError || this.hasHelperSlot ? (\n <div class=\"file-upload__more\" id={moreId}>\n {this.showInlineError ? (\n <div class=\"file-upload__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"file-upload__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n ) : (\n ''\n ),\n ];\n };\n\n private button = (): VNode[] => {\n return this.FileUploadInput('btn');\n };\n\n private dropArea = (): VNode[] => {\n const listId = this.fileInputId + '-list';\n return [\n this.FileUploadInput('drop', listId),\n <output class=\"file-upload__list-wrap\" id={listId}>\n {!!this.fileList && this.fileList.length > 0 && (\n <ul class=\"file-upload__list list\">\n {this.fileList.map((file) => {\n return (\n <li\n key={file.file.name}\n class=\"file-upload__list-item file-upload__list-item--active list-item\"\n onAnimationEnd={(_) => this.onFileRemoveAnim()}\n >\n <span class=\"list-title\">{file.file.name}</span>\n {!file.valid && (\n <nano-tooltip\n content={file.validationMessage}\n placement=\"left\"\n >\n <nano-icon-button\n class=\"list-button list-error\"\n iconName=\"light/exclamation-triangle\"\n label=\"File error\"\n />\n </nano-tooltip>\n )}\n {this.canChangeFileList && (\n <nano-icon-button\n class=\"list-button list-button--view\"\n type=\"button\"\n iconName=\"light/eye\"\n label=\"View file\"\n target=\"_blank\"\n href={file.location}\n />\n )}\n {this.canChangeFileList && (\n <nano-icon-button\n onClick={(e) => this.onFileRemoveFileClick(e, file)}\n class=\"list-button list-button--remove\"\n iconName=\"light/times\"\n label=\"Remove file\"\n />\n )}\n </li>\n );\n })}\n </ul>\n )}\n </output>,\n ];\n };\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'file-upload': true,\n 'file-upload--dragging': this.isDragging,\n 'file-upload--focus': this.hasFocus,\n 'file-upload--invalid': this._invalid,\n }}\n >\n {this.maxFiles > 1 ? <this.dropArea /> : <this.button />}\n </div>\n </Host>\n );\n }\n}\n"]}
|