@nanoporetech-digital/components 5.2.1 → 5.3.1
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 +31 -0
- package/dist/cjs/{_commonjsHelpers-9f2314fc.js → _commonjsHelpers-29614748.js} +1 -17
- package/dist/cjs/_commonjsHelpers-29614748.js.map +1 -0
- package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js +922 -0
- package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js.map +1 -0
- package/dist/cjs/component-store-21cb4901.js +328 -0
- package/dist/cjs/component-store-21cb4901.js.map +1 -0
- package/dist/cjs/events-db0a42ee.js +39 -0
- package/dist/cjs/events-db0a42ee.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +9 -2
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -2
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +8 -4
- package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia.cjs.entry.js +4 -4
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +23 -22
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +169 -111
- package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +16 -2
- package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +5 -6
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +1 -1
- package/dist/cjs/nano-sortable.cjs.entry.js +3 -15
- package/dist/cjs/nano-sortable.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +16 -9
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +1 -2
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-10a40ab3.js → nano-table-3bfe9c30.js} +9 -10
- package/dist/cjs/nano-table-3bfe9c30.js.map +1 -0
- package/dist/cjs/nano-table.cjs.entry.js +1 -1
- package/dist/cjs/{slot-a448c1a7.js → slot-2dd6ed1d.js} +20 -15
- package/dist/cjs/slot-2dd6ed1d.js.map +1 -0
- package/dist/cjs/{table.worker-f04588c1.js → table.worker-b3818c42.js} +2 -2
- package/dist/cjs/table.worker-b3818c42.js.map +1 -0
- package/dist/collection/components/alert/alert.css +15 -0
- package/dist/collection/components/alert/alert.js +10 -2
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/algolia/algolia-interface.js.map +1 -1
- package/dist/collection/components/algolia/algolia.js +1 -1
- package/dist/collection/components/algolia/algolia.js.map +1 -1
- package/dist/collection/components/dialog/dialog.css +1 -17
- package/dist/collection/components/dialog/dialog.js +31 -20
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/drawer/drawer.css +136 -67
- package/dist/collection/components/drawer/drawer.js +282 -154
- package/dist/collection/components/drawer/drawer.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +10 -0
- package/dist/collection/components/dropdown/dropdown.js +15 -1
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.js +2 -2
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-nav/style/global-nav.css +5 -1
- package/dist/collection/components/global-search-results/global-search-results.js +2 -1
- package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
- package/dist/collection/components/sticker/sticker.js +16 -9
- package/dist/collection/components/sticker/sticker.js.map +1 -1
- package/dist/collection/components/table/table.css +21 -12
- package/dist/collection/components/table/table.js +0 -1
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/collection/components/table/table.pin-service.js +6 -6
- package/dist/collection/components/table/table.pin-service.js.map +1 -1
- package/dist/collection/utils/events.js +17 -0
- package/dist/collection/utils/events.js.map +1 -1
- package/dist/collection/utils/slot.js +19 -14
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/collection/utils/store/get-set.js +6 -12
- package/dist/collection/utils/store/get-set.js.map +1 -1
- package/dist/components/_commonjsHelpers.js +1 -16
- package/dist/components/_commonjsHelpers.js.map +1 -1
- package/dist/components/algolia.js +2 -2
- package/dist/components/algolia.js.map +1 -1
- package/dist/components/algoliasearch-lite.esm.browser.js +920 -0
- package/dist/components/algoliasearch-lite.esm.browser.js.map +1 -0
- package/dist/components/component-store.js +68 -2001
- package/dist/components/component-store.js.map +1 -1
- package/dist/components/dropdown.js +16 -2
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/events.js +36 -0
- package/dist/components/events.js.map +1 -0
- package/dist/components/nano-alert.js +10 -2
- package/dist/components/nano-alert.js.map +1 -1
- package/dist/components/nano-algolia-input.js +6 -1
- package/dist/components/nano-algolia-input.js.map +1 -1
- package/dist/components/nano-dialog.js +21 -20
- package/dist/components/nano-dialog.js.map +1 -1
- package/dist/components/nano-drawer.js +205 -122
- package/dist/components/nano-drawer.js.map +1 -1
- package/dist/components/nano-global-nav.js +4 -4
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-global-search-results.js +2 -1
- package/dist/components/nano-global-search-results.js.map +1 -1
- package/dist/components/nano-sortable.js +1 -13
- package/dist/components/nano-sortable.js.map +1 -1
- package/dist/components/slot.js +19 -14
- package/dist/components/slot.js.map +1 -1
- package/dist/components/sticker.js +16 -9
- package/dist/components/sticker.js.map +1 -1
- package/dist/components/table.js +7 -8
- package/dist/components/table.js.map +1 -1
- package/dist/esm/{_commonjsHelpers-e401b2a2.js → _commonjsHelpers-04a0e019.js} +2 -17
- package/dist/esm/_commonjsHelpers-04a0e019.js.map +1 -0
- package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js +920 -0
- package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js.map +1 -0
- package/dist/esm/component-store-65d7e36a.js +326 -0
- package/dist/esm/component-store-65d7e36a.js.map +1 -0
- package/dist/esm/events-6a805b42.js +36 -0
- package/dist/esm/events-6a805b42.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nano-alert.entry.js +9 -2
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +1 -2
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-input.entry.js +7 -3
- package/dist/esm/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm/nano-algolia.entry.js +4 -4
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/nano-datalist_3.entry.js +1 -1
- package/dist/esm/nano-dialog.entry.js +23 -22
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +171 -113
- package/dist/esm/nano-drawer.entry.js.map +1 -1
- package/dist/esm/nano-dropdown.entry.js +16 -2
- package/dist/esm/nano-dropdown.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +5 -6
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +2 -1
- package/dist/esm/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm/nano-slides.entry.js +1 -1
- package/dist/esm/nano-sortable.entry.js +1 -13
- package/dist/esm/nano-sortable.entry.js.map +1 -1
- package/dist/esm/nano-sticker.entry.js +16 -9
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-group.entry.js +1 -2
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/{nano-table-2bbcaa8d.js → nano-table-7fb21169.js} +9 -10
- package/dist/esm/nano-table-7fb21169.js.map +1 -0
- package/dist/esm/nano-table.entry.js +1 -1
- package/dist/esm/{slot-a4f6e2af.js → slot-8126e238.js} +20 -15
- package/dist/esm/slot-8126e238.js.map +1 -0
- package/dist/esm/{table.worker-7324ad73.js → table.worker-a37fa949.js} +2 -2
- package/dist/esm/table.worker-a37fa949.js.map +1 -0
- package/dist/nano-components/nano-components.css +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/p-00a18187.js +5 -0
- package/dist/nano-components/p-00a18187.js.map +1 -0
- package/dist/nano-components/p-0301e8f7.entry.js +5 -0
- package/dist/nano-components/p-0301e8f7.entry.js.map +1 -0
- package/dist/nano-components/p-27422aa9.entry.js +5 -0
- package/dist/nano-components/{p-6920ad69.entry.js.map → p-27422aa9.entry.js.map} +1 -1
- package/dist/nano-components/{p-0697795a.entry.js → p-31c23d6e.entry.js} +2 -2
- package/dist/nano-components/p-31c23d6e.entry.js.map +1 -0
- package/dist/nano-components/{p-39aec880.entry.js → p-35d3072e.entry.js} +2 -2
- package/dist/nano-components/p-487de04d.entry.js.map +1 -1
- package/dist/nano-components/p-570d2e50.entry.js +5 -0
- package/dist/nano-components/p-570d2e50.entry.js.map +1 -0
- package/dist/nano-components/{p-3eb6d833.entry.js → p-5a4b3fa9.entry.js} +2 -2
- package/dist/nano-components/p-653ae985.js +5 -0
- package/dist/nano-components/p-653ae985.js.map +1 -0
- package/dist/nano-components/p-676a4744.entry.js +5 -0
- package/dist/nano-components/{p-d0eefd52.entry.js.map → p-676a4744.entry.js.map} +1 -1
- package/dist/nano-components/p-8fe51abf.js +5 -0
- package/dist/nano-components/{p-4884b65a.entry.js → p-90cd4f56.entry.js} +2 -2
- package/dist/nano-components/p-90cd4f56.entry.js.map +1 -0
- package/dist/nano-components/p-9bfdee71.js +5 -0
- package/dist/nano-components/p-9bfdee71.js.map +1 -0
- package/dist/nano-components/p-a8d6ca38.entry.js +5 -0
- package/dist/nano-components/p-a8d6ca38.entry.js.map +1 -0
- package/dist/nano-components/p-ace7743c.entry.js +5 -0
- package/dist/nano-components/p-ace7743c.entry.js.map +1 -0
- package/dist/nano-components/p-bdb5b6fc.entry.js +5 -0
- package/dist/nano-components/p-bdb5b6fc.entry.js.map +1 -0
- package/dist/nano-components/{p-52ae36ec.js → p-c579d9aa.js} +2 -2
- package/dist/nano-components/p-cad86fb8.js +5 -0
- package/dist/nano-components/p-cad86fb8.js.map +1 -0
- package/dist/nano-components/p-dc565459.js +5 -0
- package/dist/nano-components/p-dc565459.js.map +1 -0
- package/dist/nano-components/p-ede12d35.entry.js +5 -0
- package/dist/nano-components/p-ede12d35.entry.js.map +1 -0
- package/dist/nano-components/p-f504b1df.entry.js +7 -0
- package/dist/nano-components/p-f504b1df.entry.js.map +1 -0
- package/dist/nano-components/{p-db370094.entry.js → p-f7a4c62b.entry.js} +2 -2
- package/dist/themes/london-calling.css.map +1 -1
- package/dist/themes/nanopore.cn.css.map +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/alert/alert.d.ts +1 -0
- package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
- package/dist/types/components/algolia/algolia.d.ts +1 -1
- package/dist/types/components/dialog/dialog.d.ts +15 -4
- package/dist/types/components/drawer/drawer.d.ts +69 -50
- package/dist/types/components/sticker/sticker.d.ts +4 -4
- package/dist/types/components.d.ts +50 -28
- package/dist/types/types/algolia.d.ts +4 -0
- package/dist/types/types/scss.vars.d.ts +4 -0
- package/dist/types/utils/events.d.ts +7 -0
- package/dist/types/utils/slot.d.ts +3 -3
- package/docs-json.json +268 -61
- package/docs-vscode.json +28 -11
- package/hydrate/index.js +1338 -2240
- package/package.json +4 -4
- package/dist/cjs/_commonjsHelpers-9f2314fc.js.map +0 -1
- package/dist/cjs/algoliasearch.umd-689c1560.js +0 -15
- package/dist/cjs/algoliasearch.umd-689c1560.js.map +0 -1
- package/dist/cjs/component-store-f1dc1276.js +0 -2261
- package/dist/cjs/component-store-f1dc1276.js.map +0 -1
- package/dist/cjs/nano-table-10a40ab3.js.map +0 -1
- package/dist/cjs/slot-a448c1a7.js.map +0 -1
- package/dist/cjs/table.worker-f04588c1.js.map +0 -1
- package/dist/components/algoliasearch.umd.js +0 -13
- package/dist/components/algoliasearch.umd.js.map +0 -1
- package/dist/esm/_commonjsHelpers-e401b2a2.js.map +0 -1
- package/dist/esm/algoliasearch.umd-4f7efa84.js +0 -13
- package/dist/esm/algoliasearch.umd-4f7efa84.js.map +0 -1
- package/dist/esm/component-store-c23ebc9c.js +0 -2259
- package/dist/esm/component-store-c23ebc9c.js.map +0 -1
- package/dist/esm/nano-table-2bbcaa8d.js.map +0 -1
- package/dist/esm/slot-a4f6e2af.js.map +0 -1
- package/dist/esm/table.worker-7324ad73.js.map +0 -1
- package/dist/nano-components/p-0697795a.entry.js.map +0 -1
- package/dist/nano-components/p-17b099cc.entry.js +0 -5
- package/dist/nano-components/p-17b099cc.entry.js.map +0 -1
- package/dist/nano-components/p-1a0b5bc3.js +0 -5
- package/dist/nano-components/p-1a0b5bc3.js.map +0 -1
- package/dist/nano-components/p-4884b65a.entry.js.map +0 -1
- package/dist/nano-components/p-58cf5446.js +0 -5
- package/dist/nano-components/p-58cf5446.js.map +0 -1
- package/dist/nano-components/p-6920ad69.entry.js +0 -5
- package/dist/nano-components/p-69a3e911.js +0 -5
- package/dist/nano-components/p-7baa9e14.entry.js +0 -5
- package/dist/nano-components/p-7baa9e14.entry.js.map +0 -1
- package/dist/nano-components/p-9b533dc3.js +0 -5
- package/dist/nano-components/p-9b533dc3.js.map +0 -1
- package/dist/nano-components/p-a362bd23.entry.js +0 -5
- package/dist/nano-components/p-a362bd23.entry.js.map +0 -1
- package/dist/nano-components/p-b04fd7ca.entry.js +0 -5
- package/dist/nano-components/p-b04fd7ca.entry.js.map +0 -1
- package/dist/nano-components/p-b72df1aa.entry.js +0 -5
- package/dist/nano-components/p-b72df1aa.entry.js.map +0 -1
- package/dist/nano-components/p-ce5efc3f.entry.js +0 -5
- package/dist/nano-components/p-ce5efc3f.entry.js.map +0 -1
- package/dist/nano-components/p-d0eefd52.entry.js +0 -5
- package/dist/nano-components/p-e2b2b015.entry.js +0 -5
- package/dist/nano-components/p-e2b2b015.entry.js.map +0 -1
- package/dist/nano-components/p-ed6adde2.js +0 -7
- package/dist/nano-components/p-ed6adde2.js.map +0 -1
- package/dist/types/dom.ie.d.ts +0 -3
- /package/dist/nano-components/{p-39aec880.entry.js.map → p-35d3072e.entry.js.map} +0 -0
- /package/dist/nano-components/{p-3eb6d833.entry.js.map → p-5a4b3fa9.entry.js.map} +0 -0
- /package/dist/nano-components/{p-52ae36ec.js.map → p-8fe51abf.js.map} +0 -0
- /package/dist/nano-components/{p-69a3e911.js.map → p-c579d9aa.js.map} +0 -0
- /package/dist/nano-components/{p-db370094.entry.js.map → p-f7a4c62b.entry.js.map} +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["multiverse","Map","updateConsumer","_a","state","fields","updater","forEach","field","Universe","create","creator","initialState","el","getElement","wormholes","universe","set","connectedCallback","call","disconnectedCallback","delete","addEventListener","event","stopPropagation","detail","consumer","onOpen","has","connectedCallback_1","disconnectedCallback_1","resolve","Provider","children","getRenderingRef","get","opening","PromiseQueue","constructor","this","queue","workingOnPromise","stop","limit","enqueue","promise","Promise","reject","push","dequeue","item","shift","then","value","catch","err","pendingPromise","e","t","exports","n","r","a","Error","prototype","Object","setPrototypeOf","__proto__","slice","split","i","length","s","Array","join","name","enumerable","Function","SyntaxError","hasOwnProperty","c","o","l","f","u","p","test","replace","h","rmWhitespace","lastIndex","prefixes","b","reduce","RegExp","tags","d","g","v","m","trim","raw","async","search","exec","y","x","w","F","S","index","I","indexOf","autoTrim","isArray","String","trimLeft","trimRight","R","T","plugins","processAST","useWith","varName","processFnString","res","defaultFilter","autoEscape","storage","nativeHelpers","cache","define","remove","reset","load","each","params","foreach","keys","include","templates","extends","content","useScope","if","try","block","E","j","helpers","filters","H","bind","O","message","_","compile","compileScope","compileScopeIntoFunction","compileToString","defaultConfig","getConfig","parse","render","defineProperty","squirrel","Sqrl","str","options","year","month","day","date","Date","parseInt","toLocaleDateString","format","getDate","toString","getMonth","getFullYear","map","val","toUpperCase","charAt","substr","result","domain","undefined","domains","origin","found","find","dm","match","location","protocol","toLowerCase","Squirrel","algoliaCss","Algolia","staticFacetFilters","dynFacetFilters","hasLoadSlot","placedAlgoliaEles","promiseQueue","searchChange","algoliaIndex","query","minChars","browseIndex","handleSearchReset","isLoading","setTimeout","resetPage","algoliaSearch","SearchChangeEvent","Init","updateContent","showResults","nanoResultsShown","emit","indexResults","makeAppliedFilters","appliedFtrs","makeAppliedFilter","facetFilters","values","filter","appFilter","facetName","eventType","queueSearch","searchIndex","nanoBeforeQuery","clearAllFacetFilters","searchParams","algoliaFilterStr","page","currentPage","facets","hitsPerPage","fixDomain","changeEvent","totalHits","nbHits","origFilters","totalHitsWithFilters","results","totalPages","appliedFilters","indexName","dynFilters","hits","nbPages","Page","Replica","nanoAfterQuery","currentHits","resultsPage","onResultDisplay","writeTask","resultsDiv","removeEventListener","style","display","defaultDiv","classList","add","minHeight","width","facetValue","_dynFacetFilters","filterId","element","onAllTplUpdate","ev","target","tagName","requestAnimationFrame","nanoNewResults","Math","min","max","dynFilterObj","assign","filterChanged","Filter","dynFacetFiltersChange","host","ownerDocument","browseIndexChange","inputFieldSet","inputField","queryChange","replicaIndex","algoliaClient","initIndex","pageChange","onPageChange","searchIndexNameChange","searchIndexName","initAlgoliaClient","appId","apiKey","algoliasearch","initAlgoliaIndex","showResultsChange","scrollWidth","scrollHeight","slottedInput","focus","preventScroll","handleFilterpropChange","hit","url","facetFilterObj","groupFilters","filterOp","or","and","not","operator","formatVal","filterStrParts","operatorGrp","filterName","filterProp","toLocaleUpperCase","handleInputChange","updateContentQueue","outputTo","outputSlot","tpl","tmpCont","document","createElement","innerHTML","algoliaEles","from","querySelectorAll","placeholder","dataset","placeholderId","parentNode","replaceChild","tplRenderFn","childrenResolver","ele","componentWillLoad","readTask","tplSlot","getDirectChildren","innerText","toLocaleLowerCase","HTMLInputElement","querySelector","wormholeState","storeId","ComponentStore","init","storeMethod","internalIndexSwitch","debounce","dispatchEvent","CustomEvent","globalStoreMethod","Host","class","hidden","loader","loading","overlay","type","ref","div","tabindex"],"sources":["./node_modules/stencil-wormhole/dist/esm/universe.js","./src/utils/promise-queue.ts","./node_modules/squirrelly/dist/browser/squirrelly.min.js","./src/utils/template.ts","./src/components/algolia/algolia.scss?tag=nano-algolia&encapsulation=shadow","./src/components/algolia/algolia.tsx"],"sourcesContent":["import { getElement, getRenderingRef } from \"@stencil/core\";\nvar multiverse = new Map();\nvar updateConsumer = function (_a, state) {\n var fields = _a.fields, updater = _a.updater;\n fields.forEach(function (field) { updater(field, state[field]); });\n};\nexport var Universe = {\n create: function (creator, initialState) {\n var el = getElement(creator);\n var wormholes = new Map();\n var universe = { wormholes: wormholes, state: initialState };\n multiverse.set(creator, universe);\n var connectedCallback = creator.connectedCallback;\n creator.connectedCallback = function () {\n multiverse.set(creator, universe);\n if (connectedCallback) {\n connectedCallback.call(creator);\n }\n };\n var disconnectedCallback = creator.disconnectedCallback;\n creator.disconnectedCallback = function () {\n multiverse.delete(creator);\n if (disconnectedCallback) {\n disconnectedCallback.call(creator);\n }\n };\n el.addEventListener('openWormhole', function (event) {\n event.stopPropagation();\n var _a = event.detail, consumer = _a.consumer, onOpen = _a.onOpen;\n if (wormholes.has(consumer))\n return;\n if (typeof consumer !== 'symbol') {\n var connectedCallback_1 = consumer.connectedCallback, disconnectedCallback_1 = consumer.disconnectedCallback;\n consumer.connectedCallback = function () {\n wormholes.set(consumer, event.detail);\n if (connectedCallback_1) {\n connectedCallback_1.call(consumer);\n }\n };\n consumer.disconnectedCallback = function () {\n wormholes.delete(consumer);\n if (disconnectedCallback_1) {\n disconnectedCallback_1.call(consumer);\n }\n };\n }\n wormholes.set(consumer, event.detail);\n updateConsumer(event.detail, universe.state);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen.resolve(function () { wormholes.delete(consumer); });\n });\n el.addEventListener('closeWormhole', function (event) {\n var consumer = event.detail;\n wormholes.delete(consumer);\n });\n },\n Provider: function (_a, children) {\n var state = _a.state;\n var creator = getRenderingRef();\n if (multiverse.has(creator)) {\n var universe = multiverse.get(creator);\n universe.state = state;\n universe.wormholes.forEach(function (opening) { updateConsumer(opening, state); });\n }\n return children;\n }\n};\n","export class PromiseQueue {\n public queue = [];\n private workingOnPromise = false;\n static pendingPromise = false;\n public stop = false;\n public limit = null;\n\n public enqueue(promise: () => Promise<unknown>) {\n return new Promise((resolve, reject) => {\n this.queue.push({\n promise,\n resolve,\n reject,\n });\n this.dequeue();\n });\n }\n\n public dequeue() {\n if (this.workingOnPromise) {\n return false;\n }\n if (this.stop) {\n this.queue = [];\n this.stop = false;\n return;\n }\n const item = this.queue.shift();\n if (!item) {\n return false;\n }\n try {\n this.workingOnPromise = true;\n item\n .promise()\n .then((value) => {\n this.workingOnPromise = false;\n item.resolve(value);\n this.dequeue();\n })\n .catch((err) => {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n });\n } catch (err) {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n }\n return true;\n }\n}\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).Sqrl={})}(this,(function(e){\"use strict\";function t(e){var n,r,a=new Error(e);return n=a,r=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,r):n.__proto__=r,a}function n(e,n,r){var a=n.slice(0,r).split(/\\n/),i=a.length,s=a[i-1].length+1;throw t(e+=\" at line \"+i+\" col \"+s+\":\\n\\n \"+n.split(/\\n/)[i-1]+\"\\n \"+Array(s).join(\" \")+\"^\")}t.prototype=Object.create(Error.prototype,{name:{value:\"Squirrelly Error\",enumerable:!1}});var r=new Function(\"return this\")().Promise,a=!1;try{a=new Function(\"return (async function(){}).constructor\")()}catch(e){if(!(e instanceof SyntaxError))throw e}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function s(e,t,n){for(var r in t)i(t,r)&&(null==t[r]||\"object\"!=typeof t[r]||\"storage\"!==r&&\"prefixes\"!==r||n?e[r]=t[r]:e[r]=s({},t[r]));return e}var c=/^async +/,o=/`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\\${)[^\\\\`])*`/g,l=/'(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r'\\\\])*?'/g,f=/\"(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r\"\\\\])*?\"/g,u=/[.*+\\-?^${}()|[\\]\\\\]/g;function p(e){return u.test(e)?e.replace(u,\"\\\\$&\"):e}function h(e,r){r.rmWhitespace&&(e=e.replace(/[\\r\\n]+/g,\"\\n\").replace(/^\\s+|\\s+$/gm,\"\")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var a=r.prefixes,i=[a.h,a.b,a.i,a.r,a.c,a.e].reduce((function(e,t){return e&&t?e+\"|\"+p(t):t?p(t):e}),\"\"),s=new RegExp(\"([|()]|=>)|('|\\\"|`|\\\\/\\\\*)|\\\\s*((\\\\/)?(-|_)?\"+p(r.tags[1])+\")\",\"g\"),u=new RegExp(\"([^]*?)\"+p(r.tags[0])+\"(-|_)?\\\\s*(\"+i+\")?\\\\s*\",\"g\"),h=0,d=!1;function g(t,a){var i,p={f:[]},g=0,v=\"c\";function m(t){var a=e.slice(h,t),i=a.trim();if(\"f\"===v)\"safe\"===i?p.raw=!0:r.async&&c.test(i)?(i=i.replace(c,\"\"),p.f.push([i,\"\",!0])):p.f.push([i,\"\"]);else if(\"fp\"===v)p.f[p.f.length-1][1]+=i;else if(\"err\"===v){if(i){var s=a.search(/\\S/);n(\"invalid syntax\",e,h+s)}}else p[v]=i;h=t+1}for(\"h\"===a||\"b\"===a||\"c\"===a?v=\"n\":\"r\"===a&&(p.raw=!0,a=\"i\"),s.lastIndex=h;null!==(i=s.exec(e));){var y=i[1],x=i[2],b=i[3],w=i[4],F=i[5],S=i.index;if(y)\"(\"===y?(0===g&&(\"n\"===v?(m(S),v=\"p\"):\"f\"===v&&(m(S),v=\"fp\")),g++):\")\"===y?0===--g&&\"c\"!==v&&(m(S),v=\"err\"):0===g&&\"|\"===y?(m(S),v=\"f\"):\"=>\"===y&&(m(S),h+=1,v=\"res\");else if(x){if(\"/*\"===x){var I=e.indexOf(\"*/\",s.lastIndex);-1===I&&n(\"unclosed comment\",e,i.index),s.lastIndex=I+2}else if(\"'\"===x){l.lastIndex=i.index,l.exec(e)?s.lastIndex=l.lastIndex:n(\"unclosed string\",e,i.index)}else if('\"'===x){f.lastIndex=i.index,f.exec(e)?s.lastIndex=f.lastIndex:n(\"unclosed string\",e,i.index)}else if(\"`\"===x){o.lastIndex=i.index,o.exec(e)?s.lastIndex=o.lastIndex:n(\"unclosed string\",e,i.index)}}else if(b)return m(S),h=S+i[0].length,u.lastIndex=h,d=F,w&&\"h\"===a&&(a=\"s\"),p.t=a,p}return n(\"unclosed tag\",e,t),p}var v=function i(s,o){s.b=[],s.d=[];var l,f=!1,p=[];function v(e,t){e&&(e=function(e,t,n,r){var a,i;return\"string\"==typeof t.autoTrim?a=i=t.autoTrim:Array.isArray(t.autoTrim)&&(a=t.autoTrim[1],i=t.autoTrim[0]),(n||!1===n)&&(a=n),(r||!1===r)&&(i=r),\"slurp\"===a&&\"slurp\"===i?e.trim():(\"_\"===a||\"slurp\"===a?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\\s\\uFEFF\\xA0]+/,\"\"):\"-\"!==a&&\"nl\"!==a||(e=e.replace(/^(?:\\n|\\r|\\r\\n)/,\"\")),\"_\"===i||\"slurp\"===i?e=String.prototype.trimRight?e.trimRight():e.replace(/[\\s\\uFEFF\\xA0]+$/,\"\"):\"-\"!==i&&\"nl\"!==i||(e=e.replace(/(?:\\n|\\r|\\r\\n)$/,\"\")),e)}(e,r,d,t))&&(e=e.replace(/\\\\|'/g,\"\\\\$&\").replace(/\\r\\n|\\n|\\r/g,\"\\\\n\"),p.push(e))}for(;null!==(l=u.exec(e));){var m,y=l[1],x=l[2],b=l[3]||\"\";for(var w in a)if(a[w]===b){m=w;break}v(y,x),h=l.index+l[0].length,m||n(\"unrecognized tag type: \"+b,e,h);var F=g(l.index,m),S=F.t;if(\"h\"===S){var I=F.n||\"\";r.async&&c.test(I)&&(F.a=!0,F.n=I.replace(c,\"\")),F=i(F),p.push(F)}else if(\"c\"===S){if(s.n===F.n)return f?(f.d=p,s.b.push(f)):s.d=p,s;n(\"Helper start and end don't match\",e,l.index+l[0].length)}else if(\"b\"===S){f?(f.d=p,s.b.push(f)):s.d=p;var R=F.n||\"\";r.async&&c.test(R)&&(F.a=!0,F.n=R.replace(c,\"\")),f=F,p=[]}else if(\"s\"===S){var T=F.n||\"\";r.async&&c.test(T)&&(F.a=!0,F.n=T.replace(c,\"\")),p.push(F)}else p.push(F)}if(!o)throw t('unclosed helper \"'+s.n+'\"');return v(e.slice(h,e.length),!1),s.d=p,s}({f:[]},!0);if(r.plugins)for(var m=0;m<r.plugins.length;m++){var y=r.plugins[m];y.processAST&&(v.d=y.processAST(v.d,r))}return v.d}function d(e,t){var n=h(e,t),r=\"var tR='';\"+(t.useWith?\"with(\"+t.varName+\"||{}){\":\"\")+x(n,t)+\"if(cb){cb(null,tR)} return tR\"+(t.useWith?\"}\":\"\");if(t.plugins)for(var a=0;a<t.plugins.length;a++){var i=t.plugins[a];i.processFnString&&(r=i.processFnString(r,t))}return r}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n][0],a=t[n][1];e=(t[n][2]?\"await \":\"\")+\"c.l('F','\"+r+\"')(\"+e,a&&(e+=\",\"+a),e+=\")\"}return e}function v(e,t,n,r,a,i){var s=\"{exec:\"+(a?\"async \":\"\")+y(n,t,e)+\",params:[\"+r+\"]\";return i&&(s+=\",name:'\"+i+\"'\"),a&&(s+=\",async:true\"),s+=\"}\"}function m(e,t){for(var n=\"[\",r=0;r<e.length;r++){var a=e[r];n+=v(t,a.res||\"\",a.d,a.p||\"\",a.a,a.n),r<e.length&&(n+=\",\")}return n+=\"]\"}function y(e,t,n){return\"function(\"+t+\"){var tR='';\"+x(e,n)+\"return tR}\"}function x(e,t){for(var n=0,r=e.length,a=\"\";n<r;n++){var i=e[n];if(\"string\"==typeof i){a+=\"tR+='\"+i+\"';\"}else{var s=i.t,c=i.c||\"\",o=i.f,l=i.n||\"\",f=i.p||\"\",u=i.res||\"\",p=i.b,h=!!i.a;if(\"i\"===s){t.defaultFilter&&(c=\"c.l('F','\"+t.defaultFilter+\"')(\"+c+\")\");var d=g(c,o);!i.raw&&t.autoEscape&&(d=\"c.l('F','e')(\"+d+\")\"),a+=\"tR+=\"+d+\";\"}else if(\"h\"===s)if(t.storage.nativeHelpers.get(l))a+=t.storage.nativeHelpers.get(l)(i,t);else{var y=(h?\"await \":\"\")+\"c.l('H','\"+l+\"')(\"+v(t,u,i.d,f,h);y+=p?\",\"+m(p,t):\",[]\",a+=\"tR+=\"+g(y+=\",c)\",o)+\";\"}else\"s\"===s?a+=\"tR+=\"+g((h?\"await \":\"\")+\"c.l('H','\"+l+\"')({params:[\"+f+\"]},[],c)\",o)+\";\":\"e\"===s&&(a+=c+\"\\n\")}}return a}var b=function(){function e(e){this.cache=e}return e.prototype.define=function(e,t){this.cache[e]=t},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e]},e.prototype.reset=function(){this.cache={}},e.prototype.load=function(e){s(this.cache,e,!0)},e}();function w(e,n,r,a){if(n&&n.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept blocks\");if(r&&r.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept filters\")}var F={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};function S(e){return F[e]}var I=new b({}),R=new b({each:function(e,t){var n=\"\",r=e.params[0];if(w(\"each\",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i){r(t[n],n).then((function(s){a+=s,n===t.length-1?i(a):e(t,n+1,r,a,i)}))}(r,0,e.exec,n,t)}));for(var a=0;a<r.length;a++)n+=e.exec(r[a],a);return n},foreach:function(e,t){var n=e.params[0];if(w(\"foreach\",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i,s){a(n[r],t[n[r]]).then((function(c){i+=c,r===n.length-1?s(i):e(t,n,r+1,a,i,s)}))}(n,Object.keys(n),0,e.exec,\"\",t)}));var r=\"\";for(var a in n)i(n,a)&&(r+=e.exec(a,n[a]));return r},include:function(e,n,r){w(\"include\",n,!1);var a=r.storage.templates.get(e.params[0]);if(!a)throw t('Could not fetch template \"'+e.params[0]+'\"');return a(e.params[1],r)},extends:function(e,n,r){var a=e.params[1]||{};a.content=e.exec();for(var i=0;i<n.length;i++){var s=n[i];a[s.name]=s.exec()}var c=r.storage.templates.get(e.params[0]);if(!c)throw t('Could not fetch template \"'+e.params[0]+'\"');return c(a,r)},useScope:function(e,t){return w(\"useScope\",t,!1),e.exec(e.params[0])}}),T=new b({if:function(e,t){w(\"if\",!1,e.f,!0);var n=\"if(\"+e.p+\"){\"+x(e.d,t)+\"}\";if(e.b)for(var r=0;r<e.b.length;r++){var a=e.b[r];\"else\"===a.n?n+=\"else{\"+x(a.d,t)+\"}\":\"elif\"===a.n&&(n+=\"else if(\"+a.p+\"){\"+x(a.d,t)+\"}\")}return n},try:function(e,n){if(w(\"try\",!1,e.f,!0),!e.b||1!==e.b.length||\"catch\"!==e.b[0].n)throw t(\"native helper 'try' only accepts 1 block, 'catch'\");var r=\"try{\"+x(e.d,n)+\"}\",a=e.b[0];return r+=\"catch\"+(a.res?\"(\"+a.res+\")\":\"\")+\"{\"+x(a.d,n)+\"}\"},block:function(e,t){return w(\"block\",e.b,e.f,!0),\"if(!\"+t.varName+\"[\"+e.p+\"]){tR+=(\"+y(e.d,\"\",t)+\")()}else{tR+=\"+t.varName+\"[\"+e.p+\"]}\"}}),E=new b({e:function(e){var t=String(e);return/[&<>\"']/.test(t)?t.replace(/[&<>\"']/g,S):t}}),j={varName:\"it\",autoTrim:[!1,\"nl\"],autoEscape:!0,defaultFilter:!1,tags:[\"{{\",\"}}\"],l:function(e,n){if(\"H\"===e){var r=this.storage.helpers.get(n);if(r)return r;throw t(\"Can't find helper '\"+n+\"'\")}if(\"F\"===e){var a=this.storage.filters.get(n);if(a)return a;throw t(\"Can't find filter '\"+n+\"'\")}},async:!1,storage:{helpers:R,nativeHelpers:T,filters:E,templates:I},prefixes:{h:\"@\",b:\"#\",i:\"\",r:\"*\",c:\"/\",e:\"!\"},cache:!1,plugins:[],useWith:!1};function H(e,t){var n={};return s(n,j),t&&s(n,t),e&&s(n,e),n.l.bind(n),n}function O(e,n){var r=H(n||{}),i=Function;if(r.async){if(!a)throw t(\"This environment doesn't support async/await\");i=a}try{return new i(r.varName,\"c\",\"cb\",d(e,r))}catch(n){throw n instanceof SyntaxError?t(\"Bad template syntax\\n\\n\"+n.message+\"\\n\"+Array(n.message.length+1).join(\"=\")+\"\\n\"+d(e,r)):n}}function _(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n=\"function\"==typeof e?e:O(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}j.l.bind(j),e.compile=O,e.compileScope=x,e.compileScopeIntoFunction=y,e.compileToString=d,e.defaultConfig=j,e.filters=E,e.getConfig=H,e.helpers=R,e.nativeHelpers=T,e.parse=h,e.render=function(e,n,a,i){var s=H(a||{});if(!s.async)return _(e,s)(n,s);if(!i){if(\"function\"==typeof r)return new r((function(t,r){try{t(_(e,s)(n,s))}catch(e){r(e)}}));throw t(\"Please provide a callback function, this env doesn't support Promises\")}try{_(e,s)(n,s,i)}catch(e){return i(e)}},e.templates=I,Object.defineProperty(e,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=squirrelly.min.js.map\n","import * as Sqrl from 'squirrelly';\nimport type { IndexResult, AlgoliaResultHit } from '../interface';\n\nconst squirrel = Sqrl;\n\nsquirrel.filters.define(\n 'date_long',\n (\n str: string,\n options: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }\n ) => {\n if (!str) return;\n const date = new Date(parseInt(str) * 1000);\n str = date.toLocaleDateString('en-GB', options);\n return str;\n }\n);\n\nsquirrel.filters.define(\n 'date_short',\n (str: string, format: string = 'd/m/y') => {\n if (!str) return;\n const date = new Date(parseInt(str) * 1000);\n str = format.replace(/(d)/, date.getDate().toString());\n str = str.replace(/(m)/, (date.getMonth() + 1).toString());\n str = str.replace(/(y)/, date.getFullYear().toString());\n return str;\n }\n);\n\nsquirrel.filters.define('public_name', (str: string) => {\n if (!str) return;\n str = str\n .split('_')\n .map((val) => {\n return val.length < 3 ? val.toUpperCase() : val;\n })\n .join(' ');\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n\nsquirrel.filters.define('trim_to', (str: string, length: number = 100) => {\n if (!str) return;\n if (str.length <= length) return str;\n return str.substr(0, length) + '...';\n});\n\nsquirrel.filters.define('classname', (str: string) => {\n if (!str) return;\n return str.replace(/[\\W]+/g, '');\n});\n\nsquirrel.filters.define(\n 'abs_url',\n (str: string, index: IndexResult = null, result?: AlgoliaResultHit) => {\n if (!index) return str;\n if (!str) return;\n\n let domain = undefined;\n if (index.domains && result && result.origin) {\n const found = index.domains.find((dm) => dm.origin === result.origin);\n domain = found ? found.domain : '';\n } else if (index.domain) domain = index.domain;\n\n if (!domain) return str;\n return str.match(/^http/) ? str : location.protocol + '//' + domain + str;\n }\n);\n\nsquirrel.filters.define(\n 'replace',\n (str: string, search?: string, replace?: string) =>\n str.replace(search, replace)\n);\nsquirrel.filters.define('remove_spaces', (str: string) =>\n str.replace(/ /g, '_')\n);\nsquirrel.filters.define(\n 'add_spaces',\n (str: string) => (str = str.replace(/[_\\-]/g, ' '))\n);\nsquirrel.filters.define(\n 'capitalise',\n (str: string) => (str = str.charAt(0).toUpperCase() + str.slice(1))\n);\nsquirrel.filters.define(\n 'lowercase',\n (str: string) => (str = str.toLowerCase())\n);\n\nexport const Squirrel = squirrel;\n",":host {\n position: relative;\n display: block;\n\n ::slotted([slot='search-template']) {\n display: none !important;\n }\n}\n\n.loader {\n opacity: 0;\n position: fixed;\n block-size: 100%;\n inline-size: 100%;\n min-block-size: 100%;\n max-block-size: 100vh !important;\n max-inline-size: 100vw !important;\n inset-inline-start: 0;\n inset-block-start: 0;\n z-index: -10;\n font-size: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 0.2s ease, z-index 0.01s ease 0.2s;\n\n &.loading {\n opacity: 1;\n z-index: 10;\n transition: z-index 0.01s ease, opacity 0.2s ease 0.01s;\n }\n}\n\n.default {\n block-size: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.results {\n opacity: 0;\n outline: none;\n overflow: auto;\n transition:\n transform 0.3s ease,\n opacity 0.3s ease,\n visibility 0.01s ease 0.3s,\n z-index 0.01s ease 0.3s;\n transform: translate(0, 100px);\n visibility: hidden;\n z-index: -1;\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n display: none;\n\n &-container {\n position: relative;\n }\n\n &.show {\n transition:\n z-index 0.01s ease,\n visibility 0.01s ease,\n transform 0.3s ease 0.01s,\n opacity 0.3s ease 0.01s,\n overflow 0.01s ease 0.31s;\n transform: translate(0, 0);\n visibility: visible;\n opacity: 1;\n z-index: 10;\n overflow: hidden;\n }\n\n &.shown {\n block-size: auto !important;\n inline-size: auto !important;\n display: block;\n position: static;\n transform: none;\n z-index: auto;\n visibility: inherit;\n opacity: initial;\n overflow: visible;\n }\n}\n","import {\n Component,\n h,\n Element,\n Host,\n Prop,\n Watch,\n State,\n Listen,\n Method,\n EventEmitter,\n Event,\n Build,\n writeTask,\n ComponentInterface,\n readTask,\n} from '@stencil/core';\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport { getDirectChildren } from '../../utils/dom';\nimport { PromiseQueue } from '../../utils/promise-queue';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { Squirrel } from '../../utils/template';\nimport { debounce } from '../../utils/throttle';\nimport { Universe, SearchChangeEvent } from './algolia-data';\nimport type {\n AlgoliaMultiResult,\n IndexResult,\n AlgoliaResultHit,\n FilterChangeEventDetail,\n PageChangeEventDetail,\n AppliedFilter,\n AlgoliaFacet,\n SearchIndex,\n} from '../../interface';\n\ninterface FacetFilterQueryBlock {\n or: Array<string>;\n and: Array<string>;\n not: Array<string>;\n name: string;\n}\ninterface FacetFilter extends FilterChangeEventDetail {\n element: HTMLNanoAlgoliaFilterElement;\n}\ntype FilterGroup = { [prop: string]: FacetFilter };\n\n/**\n * Algolia search container to contain and sync nano-algolia-results and nano-algolia-filter components.\n * Can optionally contain nano-algolia-input components or use them as a 'resultsEmitter'\n * @slot search-input - optional. Should contain an algolia-input component.\n * @slot loader - optional. Elements to show when search results are loading.\n * @slot template - optional. Template string (format depends on 'tplEngine' property). May contain other algolia-... components with nested templates.\n * @slot output - Search result output. Will be a placeholder for template output or optionally nest algolia-... components.\n */\n@Component({\n tag: 'nano-algolia',\n shadow: true,\n styleUrl: 'algolia.scss',\n})\nexport class Algolia implements ComponentInterface {\n // filters that have an initial value\n private staticFacetFilters: FilterGroup = {};\n private dynFacetFilters: FilterGroup = {};\n private tplSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private slottedInput: HTMLElement;\n private hasLoadSlot: boolean = false;\n private resultsDiv: HTMLDivElement;\n private defaultDiv: HTMLDivElement;\n private tpl: string;\n private facets: AlgoliaFacet;\n private placedAlgoliaEles: Element[] = [];\n private algoliaClient: AlgoliaClient;\n // lots of stuff happens asynchronously. This makes sure they fire in the corrent order\n private promiseQueue = new PromiseQueue();\n\n @Element() host: HTMLNanoAlgoliaElement;\n\n // Internal state\n\n // filters that change via a template. They have no initial value\n @State() _dynFacetFilters: FilterGroup = {};\n @State() inputField: HTMLNanoInputElement | HTMLInputElement;\n @State() algoliaIndex: AlgoliaIndex;\n @State() indeces: IndexResult[] = [];\n @State() resultsEmitterEle: HTMLElement;\n @State() indexResults: IndexResult;\n @State() filterChanged: string = '';\n @State() currentHits: AlgoliaResultHit[];\n @State() changeEvent: SearchChangeEvent = SearchChangeEvent.Init;\n @State() isLoading: boolean = false;\n @State() wormholeState: any = this;\n\n // Public props\n\n /**\n * Show the result panel. By default it will automatically show when the result receives new hits.\n */\n @Prop({ mutable: true }) showResults: boolean = false;\n\n /**\n * The current algolia page of results currently being viewed or to get.\n */\n @Prop({ mutable: true }) resultsPage: number = 0;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n */\n @Prop({ mutable: true }) appId: string;\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n */\n @Prop({ mutable: true }) apiKey: string;\n\n /**\n * Algolia search index. Used in conjunction with 'apiKey' & 'appId'.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filters to resolve incomplete url fields\n * filters?: [string], // algolia facets to retrive\n * hitsPerPage?: number,\n * name?: string // human readable index name\n * }\n * ```\n */\n @Prop({ mutable: true }) searchIndex: SearchIndex = {} as SearchIndex;\n\n /**\n * Algolia search index name. Alternative to 'searchIndex'.\n * A simplified shortcut for setting an index.\n * Properties such as hitsPerPage and facets will come from the algolia index\n */\n @Prop({ mutable: true }) searchIndexName: string = '';\n\n /**\n * JS querSelector string of a `nano-input` / `input` element from which\n * to listen to `nano-change` or `change` events and change the `query` prop.\n * Not required if an appropriate field is in the 'search-input' slot\n */\n @Prop() listenTo?: string = null;\n\n /**\n * The query string used to search the index. Will automatically be set with any slotted\n * `search-input` input elements or from elements linked to from `listen-to`\n */\n @Prop({ mutable: true }) query: string = '';\n\n /**\n * The external operator joining filter values.\n */\n @Prop() operator: 'or' | 'and' = 'and';\n\n /**\n * Query filters to apply to all searches.\n * Refer to https://www.algolia.com/doc/api-reference/api-parameters/filters for format.\n */\n @Prop() filters: Array<string> = [];\n\n /**\n * Template engine to use when rendering results and filters.\n * Defaults to Squirrel v8 (https://squirrelly.js.org/). This gives you access\n * to the underlying squirrel object allowing you to modify it's configuration / add filters.\n */\n @Prop() tplEngine: Object = Squirrel;\n\n /**\n * Template engine render function to use when rendering results and filters.\n * Defaults to Squirrel v8's render (https://squirrelly.js.org/).\n */\n @Prop() tplRenderFn: (...args: any[]) => string = Squirrel.render;\n\n /**\n * Changes the index without removing any current filters. Most appropriate for algolia replicas.\n */\n @Prop({ mutable: true }) replicaIndex: string = '';\n\n /**\n * Will maintain a search all / '*' on init and reset allowing for a view\n * then filter experience rather than a search first experience\n */\n @Prop({ mutable: true }) browseIndex: boolean = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n // Events\n\n /**\n * Emitted when the algolia element has been created.\n */\n @Event() nanoDidLoad!: EventEmitter<HTMLNanoAlgoliaElement>;\n\n /**\n * Emitted when results and all filters are shown and have loaded.\n */\n @Event({ bubbles: false }) nanoResultsShown!: EventEmitter<IndexResult>;\n\n /**\n * Emitted before an algolia search.\n */\n @Event() nanoBeforeQuery!: EventEmitter<IndexResult>;\n\n /**\n * Emitted after an algolia search.\n */\n @Event() nanoAfterQuery!: EventEmitter<IndexResult>;\n\n /**\n * Emitted after an results have been updated\n */\n @Event() nanoNewResults!: EventEmitter<IndexResult>;\n\n // Public methods\n\n /**\n * @param facetName - will clear all filter selections of that type\n * @param facetValue - will remove a single filter selection\n * Remove facet filters (as set from nano-algolia-filter elements).\n * The omission or both will remove all facet filters\n */\n @Method()\n async removeFilters(facetName?: string, facetValue?: string) {\n if (!facetName && !facetValue) this.clearAllFacetFilters();\n else {\n Object.keys(this._dynFacetFilters).forEach((filterId) => {\n if (\n facetName &&\n this._dynFacetFilters[filterId].facetName === facetName\n ) {\n if (!facetValue) this._dynFacetFilters[filterId].element.value = '';\n else {\n this._dynFacetFilters[filterId].element.value =\n this._dynFacetFilters[filterId].value.filter(\n (val) => val !== facetValue\n );\n }\n }\n });\n }\n }\n\n // Listeners to external events\n\n // a child nano-algolia-... updated their template\n @Listen('nanoTplUpdated')\n onAllTplUpdate(ev: CustomEvent & { target: HTMLElement }) {\n ev.stopPropagation();\n\n if (ev.target.tagName === 'NANO-ALGOLIA-RESULTS') {\n requestAnimationFrame(() => {\n this.nanoNewResults.emit(this.indexResults);\n });\n }\n }\n\n // a nano-algolia-pagination or nano-algolia-results changed the page\n @Listen('nanoPageChanged')\n async onPageChange(ev?: CustomEvent) {\n if (!this.indexResults) return;\n let page = this.resultsPage;\n if (ev) {\n ev.stopPropagation();\n page = (ev.detail as PageChangeEventDetail).page;\n }\n\n page = Math.min(this.indexResults.totalPages - 1, page);\n page = Math.max(page, 0);\n\n if (this.indexResults.currentPage === page) return;\n\n this.indexResults.currentPage = page;\n await this.algoliaSearch(SearchChangeEvent.Page);\n }\n\n /**\n * nano-algolia-filter changed value.\n * If that happened before a indexResults were setup, it was a static filter.\n * Static filters persist accross search changes\n */\n @Listen('nanoFilterChanged')\n async onFilterChange(ev: CustomEvent) {\n ev.stopPropagation();\n\n const dynFilterObj: FilterGroup = {};\n const filter = ev.detail as FacetFilter;\n filter.element = ev.target as HTMLNanoAlgoliaFilterElement;\n\n if (this.indexResults) {\n if (this.staticFacetFilters[filter.filterId])\n this.staticFacetFilters[filter.filterId] = filter;\n else {\n dynFilterObj[filter.filterId] = filter;\n this._dynFacetFilters = { ...this._dynFacetFilters, ...dynFilterObj };\n }\n\n this.indexResults.appliedFilters = this.makeAppliedFilters();\n } else this.staticFacetFilters[filter.filterId] = filter;\n\n this.filterChanged =\n filter.value && filter.value.length ? filter.filterId : 'all';\n\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Filter);\n }\n\n // Internal state watchers\n\n // Filters can fire a change event, cause a re-render then get detached.\n // This can cause filter dupes. Check to see if the original element is still in the DOM.\n @Watch('_dynFacetFilters')\n dynFacetFiltersChange() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n if (this.host.ownerDocument === filter.element.ownerDocument)\n this.dynFacetFilters[filter.filterId] = filter;\n else delete this.dynFacetFilters[filter.filterId];\n });\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (\n this.browseIndex &&\n (!this.query || this.query.length < this.minChars)\n ) {\n this.query = '*';\n }\n }\n\n @Watch('inputField')\n inputFieldSet() {\n if (!this.inputField) return;\n if (\n this.query !== '*' &&\n this.inputField &&\n this.inputField.value !== this.query\n )\n this.inputField.value = this.query;\n }\n\n @Watch('query')\n queryChange() {\n this.searchChange();\n }\n private searchChange = async () => {\n if (!this.algoliaIndex) return;\n\n if (!this.query || this.query.length < this.minChars) {\n if (!this.browseIndex) {\n if (!this.query || this.query.length === 0) {\n this.handleSearchReset();\n return;\n } else return;\n } else if (this.query !== '*') {\n this.query = '*';\n return;\n }\n }\n // Do an initialise search (setup searchIndex)\n this.isLoading = true;\n\n setTimeout(async () => {\n // Clear dynamic filters and reset page\n this.resetPage();\n\n await this.algoliaSearch(SearchChangeEvent.Init);\n // Populate master content - optionally from template\n await this.updateContent();\n\n setTimeout((_) => (this.isLoading = false), 800);\n this.showResults = true;\n this.nanoResultsShown.emit(this.indexResults);\n }, 200);\n };\n\n @Watch('replicaIndex')\n async internalIndexSwitch() {\n if (\n !this.replicaIndex ||\n !this.indexResults ||\n this.indexResults.index === this.replicaIndex\n )\n return;\n this.indexResults.index = this.replicaIndex;\n this.algoliaIndex = this.algoliaClient.initIndex(this.indexResults.index);\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Replica);\n }\n\n @Watch('resultsPage')\n pageChange() {\n this.onPageChange();\n }\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (\n !this.searchIndexName ||\n !this.searchIndexName.length ||\n (this.searchIndex && this.searchIndex.index === this.searchIndexName)\n )\n return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('apiKey')\n @Watch('appId')\n initAlgoliaClient() {\n if (!this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n }\n\n @Watch('searchIndex')\n initAlgoliaIndex() {\n if (!this.algoliaClient || !this.searchIndex) return;\n if (this.searchIndex.index) {\n if (this.replicaIndex) this.searchIndex.index = this.replicaIndex;\n this.searchIndexName = this.searchIndex.index;\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n this.searchChange();\n }\n }\n\n @Watch('showResults')\n showResultsChange() {\n if (!this.resultsDiv || !this.defaultDiv) return;\n\n if (this.showResults) {\n this.resultsDiv.style.width = this.host.scrollWidth + 'px';\n this.resultsDiv.style.minHeight = this.host.scrollHeight + 'px';\n\n writeTask(() => {\n this.resultsDiv.addEventListener('transitionend', this.onResultDisplay);\n this.resultsDiv.style.display = 'block';\n setTimeout(() => this.resultsDiv.classList.add('show'), 50);\n });\n } else {\n writeTask(() => {\n this.resultsDiv.classList.remove('shown');\n this.defaultDiv.style.display = 'block';\n setTimeout(() => {\n this.resultsDiv.addEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n this.resultsDiv.classList.remove('show');\n\n if (!!this.slottedInput)\n this.slottedInput.focus({ preventScroll: true });\n else this.defaultDiv.focus({ preventScroll: true });\n }, 50);\n });\n }\n }\n\n @Watch('filters')\n handleFilterpropChange() {\n this.algoliaSearch(SearchChangeEvent.Init);\n }\n\n // Internal methods\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex || !this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n // Takes all current filters (dynamic and static)\n // and merges common filters' values togther\n private makeAppliedFilters = (): AppliedFilter[] => {\n const appliedFtrs: AppliedFilter[] = [];\n\n const makeAppliedFilter = (facetFilters: {\n [prop: string]: FacetFilter;\n }) => {\n Object.values(facetFilters).forEach((filter) => {\n if (filter.value && filter.value.length) {\n const found = appliedFtrs.find(\n (appFilter) => appFilter.name === filter.facetName\n );\n if (!found)\n appliedFtrs.push({\n name: filter.facetName,\n values: [...filter.value],\n });\n else found.values = [...found.values, ...filter.value];\n }\n });\n };\n makeAppliedFilter(this.dynFacetFilters);\n makeAppliedFilter(this.staticFacetFilters);\n\n if (appliedFtrs.length) return appliedFtrs;\n return null;\n };\n\n // Queue up a search\n private algoliaSearch = async (eventType: SearchChangeEvent) => {\n return this.promiseQueue.enqueue(() => this.queueSearch(eventType));\n };\n\n // Do a search\n private queueSearch = async (eventType: SearchChangeEvent) => {\n if (\n !this.algoliaIndex ||\n !this.query ||\n !this.searchIndex ||\n !this.searchIndex.index\n )\n return;\n\n this.nanoBeforeQuery.emit(this.indexResults);\n\n // clear all facet filters on init (new query)\n if (SearchChangeEvent.Init === eventType) this.clearAllFacetFilters();\n\n const searchParams: any = {\n filters: this.algoliaFilterStr(),\n page: this.indexResults ? this.indexResults.currentPage : 0,\n };\n\n if (this.searchIndex.filters)\n searchParams.facets = this.searchIndex.filters;\n if (this.searchIndex.hitsPerPage)\n searchParams.hitsPerPage = this.searchIndex.hitsPerPage;\n\n let result = (await this.algoliaIndex.search(\n this.query,\n searchParams\n )) as AlgoliaMultiResult;\n result = this.fixDomain(result);\n\n // set event type - this informs children components why things changed\n this.changeEvent = eventType;\n\n // Setup initial meta on new queries. Some of it should not change on filter / pagination\n if (eventType === SearchChangeEvent.Init || !this.indexResults) {\n this.indexResults = {\n currentPage: 0,\n totalHits: result.nbHits,\n hitsPerPage: null,\n origFilters: result.facets,\n query: this.query,\n domain: this.searchIndex.domain || null,\n totalHitsWithFilters: 0,\n results: [],\n totalPages: 0,\n appliedFilters: this.makeAppliedFilters(),\n indexName: this.searchIndex.name || null,\n index: this.searchIndex.index,\n };\n }\n\n this.indexResults.dynFilters = result.facets;\n this.indexResults.results = result.hits as AlgoliaResultHit[];\n this.indexResults.totalHitsWithFilters = result.nbHits;\n this.indexResults.currentPage = result.page;\n this.indexResults.totalPages = result.nbPages;\n this.indexResults.hitsPerPage = result.hitsPerPage;\n this.indexResults.query = result.query;\n // console.log('I GOT NEW RESULTS', eventType, this.query, this.algoliaFilterStr(), this.indexResults.results.length, this.indexResults.currentPage )\n\n if (\n this.changeEvent !== SearchChangeEvent.Page &&\n this.changeEvent !== SearchChangeEvent.Replica\n ) {\n this.facets = result.facets;\n }\n this.nanoAfterQuery.emit(this.indexResults);\n\n // current hits and page will cause re-renders in children components.\n // Wait a tick before firing otherwise events can fire in the wrong order\n return new Promise((resolve) => {\n setTimeout(() => resolve('tpl updated'), 20);\n }).then((_) => {\n this.currentHits = this.indexResults.results;\n this.resultsPage = this.indexResults.currentPage;\n });\n };\n\n private resetPage() {\n if (!this.indexResults) return;\n this.indexResults.currentPage = 0;\n }\n\n private clearAllFacetFilters() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n filter.element.value = '';\n });\n this._dynFacetFilters = {};\n }\n\n private algoliaFilterStr() {\n // groups applied facet filters (from algolia-filter components)\n // with their applied, 'internal' operators (and, or, not)\n\n const facetFilterObj: { [prop: string]: FacetFilterQueryBlock } = {};\n\n const groupFilters = (facetFilters: { [prop: string]: FacetFilter }) => {\n let filter: FilterChangeEventDetail;\n let filterOp: Array<string>;\n\n Object.keys(facetFilters).forEach((filterId) => {\n filter = facetFilters[filterId];\n facetFilterObj[filterId] = facetFilterObj[filterId] || {\n name: filter.facetName,\n or: [],\n and: [],\n not: [],\n };\n\n filterOp = facetFilterObj[filterId][filter.operator];\n if (filter.value && filter.value.length) {\n facetFilterObj[filterId][filter.operator] = [\n ...filterOp,\n ...filter.value,\n ];\n }\n });\n };\n\n groupFilters(this.dynFacetFilters);\n groupFilters(this.staticFacetFilters);\n\n const formatVal = (name: string, val: string) => {\n if (val.indexOf(' ') > -1) return name + ':\"' + val + '\"';\n else return name + ':' + val;\n };\n let filterStrParts: Array<string> = [];\n let operatorGrp: FacetFilterQueryBlock;\n let filterName: string;\n // let processedFilters: string[] = [];\n\n // joins all applied facet filter operator groups with the set 'outer'\n // operator into an algolia filter query string\n Object.values(facetFilterObj).forEach(function (filter) {\n Object.keys(filter)\n .filter((filterProp) => filterProp.match(/(or|and|not)/))\n .forEach((operator) => {\n operatorGrp = filter;\n filterName = filter.name;\n\n if (operator === 'or' || operator === 'and') {\n if (operatorGrp[operator].length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length) return formatVal(filterName, val);\n })\n .join(' ' + operator.toLocaleUpperCase() + ' ') +\n ' \\\n )'\n );\n }\n } else {\n if (operatorGrp.not.length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length)\n return 'NOT ' + formatVal(filterName, val);\n })\n .join(' AND ') +\n ' \\\n )'\n );\n }\n }\n });\n });\n\n // add in any static applied filters from filters prop\n filterStrParts = [...this.filters, ...filterStrParts];\n // console.log('filterStr:', filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' '))\n return filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' ');\n }\n\n @Listen('nanoChange', { target: 'body' })\n @Listen('change', { target: 'body' })\n handleInputChange(ev: CustomEvent | (Event & { target: HTMLElement })) {\n if (ev.target !== this.inputField) return;\n this.query = this.inputField.value;\n }\n\n private handleSearchReset = () => {\n this.showResults = false;\n this.indexResults = null;\n };\n\n private onResultDisplay = () => {\n writeTask(() => {\n this.resultsDiv.removeEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n if (!this.showResults) this.resultsDiv.style.display = 'none';\n else {\n this.defaultDiv.style.display = 'none';\n this.resultsDiv.classList.add('shown');\n this.resultsDiv.style.minHeight = '';\n this.resultsDiv.style.width = '';\n }\n });\n };\n\n private async updateContent() {\n return this.promiseQueue.enqueue(() => this.updateContentQueue());\n }\n\n private async updateContentQueue() {\n const outputTo = this.outputSlot || this.resultsDiv;\n\n if (!outputTo || !this.tpl) return 'no tpl';\n\n const tmpCont = document.createElement('div');\n tmpCont.innerHTML = this.tpl;\n\n const algoliaEles: Element[] = [];\n this.placedAlgoliaEles = [];\n\n // take out children algolia elements 'cos they have their own templates\n // don't want to swap in their templates\n Array.from(\n tmpCont.querySelectorAll(\n 'nano-algolia, nano-algolia-filter, nano-algolia-results'\n )\n ).forEach((el, i) => {\n const placeholder = document.createElement('div');\n placeholder.dataset.placeholderId = i.toString();\n placeholder.classList.add('nano-ele-placeholder');\n algoliaEles.push(el);\n el.parentNode.replaceChild(placeholder, el);\n });\n\n // swap in template content\n // (all this nonsense htmlencodes any < or >)\n\n outputTo.innerHTML = this.tplRenderFn(\n tmpCont.innerHTML\n .replace(/>/gm, '>')\n .replace(/</gm, '<')\n .replace(/&/gm, '&'),\n this.indexResults\n );\n\n // put back in algolia elements\n Array.from(outputTo.querySelectorAll('div.nano-ele-placeholder')).forEach(\n (el: HTMLDivElement) => {\n el.parentNode.replaceChild(\n algoliaEles[parseInt(el.dataset.placeholderId)],\n el\n );\n this.placedAlgoliaEles.push(\n algoliaEles[parseInt(el.dataset.placeholderId)]\n );\n }\n );\n\n if (!this.placedAlgoliaEles.length) return Promise.resolve('algolia setup');\n\n // wait for all children algolia elements to resolve before calling 'done'\n return new Promise((resolve) => {\n const childrenResolver = (ev: CustomEvent) => {\n this.placedAlgoliaEles = this.placedAlgoliaEles.filter(\n (ele) => ele !== (ev.detail as HTMLElement)\n );\n if (!this.placedAlgoliaEles.length) {\n setTimeout(() => resolve('tpl updated'), 500);\n outputTo.removeEventListener('nanoTplUpdated', childrenResolver);\n }\n };\n outputTo.addEventListener('nanoTplUpdated', childrenResolver);\n });\n }\n\n // Stencil hooks\n\n componentWillLoad() {\n readTask((_) => {\n this.tplSlot = getDirectChildren(this.host, '[slot=\"template\"]')[0];\n this.outputSlot = getDirectChildren(this.host, '[slot=\"output\"]')[0];\n this.slottedInput = getDirectChildren(\n this.host,\n '[slot=\"search-input\"]'\n )[0];\n this.hasLoadSlot = !!getDirectChildren(this.host, '[slot=\"loader\"]')[0];\n if (!!this.tplSlot)\n this.tpl = this.tplSlot.innerHTML || this.tplSlot.innerText;\n\n // get input field to listen to\n if (\n this.slottedInput &&\n (this.slottedInput.tagName.toLocaleLowerCase() === 'nano-input' ||\n this.slottedInput instanceof HTMLInputElement)\n ) {\n this.inputField = this.slottedInput as HTMLNanoInputElement;\n } else if (this.slottedInput) {\n this.inputField = this.slottedInput.querySelector(\n 'nano-input, input:not([type=\"radio\"]):not([type=\"checkbox\"])'\n );\n }\n\n writeTask((_) => {\n if (this.showResults && this.tpl) this.searchChange();\n });\n });\n\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n this.initAlgoliaIndex();\n\n // Create wormwhole shared 'universe' (https://github.com/mihar-22/stencil-wormhole)\n Universe.create(this, this.wormholeState);\n\n if (this.storeId) {\n ComponentStore.init(\n this,\n ['query', 'replicaIndex'],\n this.storeMethod,\n this.storeId\n );\n ComponentStore.init(\n this,\n ['apiKey', 'appId', 'searchIndex'],\n 'session',\n this.storeId + '_api'\n );\n }\n this.internalIndexSwitch();\n }\n\n connectedCallback() {\n this.searchChange = debounce(this.searchChange, 300);\n this.browseIndexChange();\n\n if (!Build.isBrowser) return;\n this.host.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.host,\n })\n );\n }\n\n render() {\n const wormholeState = {\n indexResults: this.indexResults,\n results: this.currentHits,\n filterChanged: this.filterChanged,\n tplRenderFn: this.tplRenderFn,\n resultsPage: this.resultsPage,\n changeEvent: this.changeEvent,\n facets: this.facets,\n algoliaIndex: this.algoliaIndex,\n searchIndex: this.searchIndex,\n globalStoreMethod: this.storeMethod,\n isLoading: this.isLoading,\n };\n return (\n <Host\n class={{\n 'show-results': this.showResults,\n 'is-loading': this.isLoading,\n }}\n aria-busy={this.isLoading}\n >\n {this.hasLoadSlot && (\n <div hidden={!this.isLoading}>\n <slot name=\"loader\" />\n </div>\n )}\n {!this.hasLoadSlot && (\n <div\n class={{\n loader: true,\n loading: this.isLoading,\n }}\n >\n <nano-spinner overlay={true} type=\"circle\"></nano-spinner>\n </div>\n )}\n\n <Universe.Provider state={wormholeState}>\n <slot name=\"search-input\"></slot>\n <div class=\"results-container\" aria-live=\"polite\">\n <div ref={(div) => (this.resultsDiv = div)} class=\"results\">\n <slot name=\"output\" />\n </div>\n </div>\n </Universe.Provider>\n\n <div\n ref={(div) => (this.defaultDiv = div)}\n class=\"default\"\n tabindex=\"-1\"\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
function t(t){const r=t.assignedNodes({flatten:true});let n="";[...r].map((t=>{n+=t.textContent+" "}));return n.trim()}function r(t,r){if(r){return t.querySelector(`[slot="${r}"]`)!==null}return[...Array.from(t.childNodes)].some((t=>{if(t.nodeType===t.TEXT_NODE&&t.textContent.trim()!==""){return true}if(t.nodeType===t.ELEMENT_NODE){const r=t;if(!r.hasAttribute("slot")){return true}}return false}))}export{t as g,r as h};
|
5
|
-
//# sourceMappingURL=p-58cf5446.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["getTextContent","slot","nodes","assignedNodes","flatten","text","map","node","textContent","trim","hasSlot","el","name","querySelector","Array","from","childNodes","some","nodeType","TEXT_NODE","ELEMENT_NODE","hasAttribute"],"sources":["./src/utils/slot.ts"],"sourcesContent":["/**\n * Given a slot, this function iterates over all of its assigned elements and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n * @param slot\n * @returns a concatenated string from html and text nodes\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n * @param slot\n * @returns a concatenated string of text\n */\nexport function getTextContent(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let text = '';\n\n [...nodes].map((node) => {\n text += node.textContent + ' ';\n });\n\n return text.trim();\n}\n\n/**\n * Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n * slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n * @param el\n * @param name\n * @returns boolean\n */\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return [...Array.from(el.childNodes)].some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n}\n"],"mappings":";;;SA6BgBA,EAAeC,GAC7B,MAAMC,EAAQD,EAAKE,cAAc,CAAEC,QAAS,OAC5C,IAAIC,EAAO,GAEX,IAAIH,GAAOI,KAAKC,IACdF,GAAQE,EAAKC,YAAc,GAAG,IAGhC,OAAOH,EAAKI,MACd,C,SASgBC,EAAQC,EAAiBC,GAEvC,GAAIA,EAAM,CACR,OAAOD,EAAGE,cAAc,UAAUD,SAAc,I,CAIlD,MAAO,IAAIE,MAAMC,KAAKJ,EAAGK,aAAaC,MAAMV,IAC1C,GAAIA,EAAKW,WAAaX,EAAKY,WAAaZ,EAAKC,YAAYC,SAAW,GAAI,CACtE,OAAO,I,CAGT,GAAIF,EAAKW,WAAaX,EAAKa,aAAc,CACvC,MAAMT,EAAKJ,EACX,IAAKI,EAAGU,aAAa,QAAS,CAC5B,OAAO,I,EAIX,OAAO,KAAK,GAEhB,Q"}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
import{r as t,c as i,w as s,h as e,a as h,g as n}from"./p-f6a8467a.js";import{C as l}from"./p-1a0b5bc3.js";import{W as r}from"./p-60a8c896.js";import"./p-7bff5224.js";import"./p-69a3e911.js";const o=":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{display:none}:host ::slotted([slot=filter-template]){display:none !important}:host(.show-filter){display:block}";const a=class{constructor(s){t(this,s);this.nanoFilterChanged=i(this,"nanoFilterChanged",7);this.nanoTplUpdated=i(this,"nanoTplUpdated",7);this.filterId=null;this.tplWillRnder=new Promise((t=>{this.tplDidRnder=t}));this.changeEvent=undefined;this.internalValue=[undefined];this.showFilter=false;this.indexResults=null;this.filterChanged=null;this.facets=undefined;this.tplRenderFn=undefined;this.globalStoreMethod=undefined;this.filterName=null;this.value="";this.operator="or";this.storeId=undefined;this.storeMethod="session"}valueSet(){const t=this.value;let i;if(typeof t==="string")i=t.length?t.split("|"):[];else i=this.value;if(this.didValueChange(i)){const t=this.setFieldValues(i);if(t&&t.length)this.internalValue=i;else{this.tplWillRnder.then((t=>{this.setFieldValues(i);this.internalValue=i}))}}}valueChanged(){this.value=this.internalValue;this.nanoFilterChanged.emit({filterId:this.filterId,facetName:this.filterName,value:this.internalValue,operator:this.operator})}appliedFilterChanged(){if(this.filterName&&this.filterChanged&&(this.filterChanged!==this.filterId||this.operator==="and")){this.updateContent()}}tplUpdate(){this.updateContent()}handleFilterChange(){if(this.indexResults&&this.indexResults.appliedFilters){const t=this.indexResults.appliedFilters.find((t=>t.name===this.filterName));if(!t)return;this.tplWillRnder.then((i=>{const s=this.setFieldValues(t.values);if(s&&s.length)this.value=s}))}this.updateContent()}handleChangeEvent(){const t=this.getFieldValues();if(this.didValueChange(t)){this.internalValue=t;return true}return false}updateContent(){const t=this.outputSlot||this.outputEle;if(!this.el)return;if(!this.templateStr)this.showFilter=true;else if(!this.filterName||!t||this.templateStr&&(!this.indexResults||!this.indexResults.origFilters[this.filterName])){this.showFilter=false}if(!t)return;if(!this.indexResults){if(this.templateStr){s((()=>{t.innerHTML=this.tplRenderFn(this.templateStr,{orig:{},dyn:{},selected:this.internalValue&&this.internalValue.length?this.internalValue:this.value});if(!this.value||!this.value.length)this.handleChangeEvent()}))}else if(!this.value||!this.value.length)this.handleChangeEvent();return}s((()=>{t.innerHTML=this.tplRenderFn(this.templateStr,{orig:Object.assign({},this.indexResults.origFilters[this.filterName]),dyn:Object.assign({},this.indexResults.dynFilters[this.filterName]),selected:this.internalValue&&this.internalValue.length?this.internalValue:this.value});this.tplDidRnder();this.setFieldValues();if(!this.showFilter)this.showFilter=true;this.nanoTplUpdated.emit(this.el)}))}getFieldValues(){const t=[];const i=this.outputSlot.querySelectorAll('input[type="checkbox"], input[type="radio"], select');for(let s=0;s<i.length;s++){const e=i[s];if(e.type==="select-multiple"){const i=e;for(let s=0;s<i.options.length;s++){if(!i.options[s].selected||!i.options[s].value.length)continue;t.push(i.options[s].value)}}else if(e.type!=="checkbox"&&e.type!=="radio"||e.checked&&e.value.length){t.push(e.value)}}return t}setFieldValues(t){t=t||this.internalValue;if(!t)return;const i=[];const s=this.outputSlot.querySelectorAll('input[type="checkbox"], input[type="radio"], select, nano-select, nano-checkbox');for(let e=0;e<s.length;e++){const h=s[e];if(h.disabled||h.type==="file"||h.type==="reset"||h.type==="submit"||h.type==="button")continue;if(h.type==="select-multiple"||h.type==="select-one"){const s=h;for(let e=0;e<s.options.length;e++){if(!t.includes(s.options[e].value))s.options[e].selected=false;else{i.push(s.value);s.options[e].selected=true;if(h.type==="select-one")s.value=s.options[e].value}}}else if(["checkbox","radio","tag","segment","segment-pill"].includes(h.type)){if(t.includes(h.value)){i.push(h.value);h.checked=true}else if(!t.length&&!h.value.length){h.checked=true}else h.checked=false}}return i}didValueChange(t){if(!!this.internalValue&&!t)return true;if(!this.internalValue&&!t)return false;if(this.internalValue&&t.length!==this.internalValue.length)return true;let i=false;for(let s=0;s<t.length;s++){if(!i&&(!this.internalValue||!this.internalValue.includes(t[s])))i=true}return i}connectedCallback(){this.templateSlot=this.el.querySelector('[slot="filter-template"]');this.outputSlot=this.el.querySelector('[slot="output"]');this.filterId=this.filterName+"_"+f++;if(!!this.templateSlot){this.templateStr=this.templateSlot.innerHTML;this.templateStr=this.templateStr.replace(/=>/gm,"=>")}}componentWillLoad(){if(this.storeId)l.init(this,["value"],this.storeMethod||this.globalStoreMethod,this.storeId)}componentDidLoad(){this.updateContent();if(this.templateStr&&this.filterName&&this.indexResults&&this.indexResults.origFilters[this.filterName])this.showFilter=true}render(){return e(h,{class:{"show-filter":this.showFilter}},e("div",{ref:t=>this.outputEle=t},e("slot",{name:"output"})))}get el(){return n(this)}static get watchers(){return{value:["valueSet"],internalValue:["valueChanged"],facets:["appliedFilterChanged"],tplRenderFn:["tplUpdate"],indexResults:["handleFilterChange"]}}};r(a,["globalStoreMethod","indexResults","filterChanged","facets","tplRenderFn","changeEvent"]);let f=0;a.style=o;export{a as nano_algolia_filter};
|
5
|
-
//# sourceMappingURL=p-6920ad69.entry.js.map
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
var e=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}function r(e,n,r){return r={path:n,exports:{},require:function(e,n){return u()}},e(r,r.exports),r.exports}function t(e){if(e.__esModule)return e;var n=Object.defineProperty({},"__esModule",{value:true});Object.keys(e).forEach((function(r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:true,get:function(){return e[r]}})}));return n}function u(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}export{e as a,n as b,r as c,t as g};
|
5
|
-
//# sourceMappingURL=p-69a3e911.js.map
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
import{r as i,c as t,h as s,a as h,g as e}from"./p-f6a8467a.js";import{a as n}from"./p-ed6adde2.js";import{C as a}from"./p-1a0b5bc3.js";import{W as r}from"./p-60a8c896.js";import"./p-69a3e911.js";import"./p-7bff5224.js";const o=class{constructor(s){i(this,s);this.nanoSearchResult=t(this,"nanoSearchResult",7);this.nanoSearch=t(this,"nanoSearch",7);this.nanoSearchReset=t(this,"nanoSearchReset",7);this.handleFocus=()=>{if(this.inputField)this.inputField.setFocus()};this.searchStr="";this.algoliaIndex=null;this.currentResults=undefined;this.appId="";this.apiKey="";this.searchIndex=null;this.searchIndexName=undefined;this.minChars=2;this.autoEmit=true;this.browseIndex=false;this.storeId=undefined;this.storeMethod="session"}async search(){this.emitResults()}searchIndexNameChange(){if(!this.searchIndexName||!this.searchIndexName.length)return;this.searchIndex={index:this.searchIndexName}}algoliaChange(){this.internalIndex=this.algoliaIndex}browseIndexChange(){if(this.browseIndex){this.searchStr="*";this.searchSubmit()}}initAlgoliaClient(){if(this.isNested||!this.appId||!this.apiKey)return;this.algoliaClient=n(this.appId,this.apiKey);if(this.searchIndex)this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index)}async searchSubmit(i){if(!this.internalIndex){console.error("No algolia index set");return}if(i){if(i.target.tagName.toLowerCase()!=="nano-input")return;this.searchStr=i.detail.value}else{this.inputField=this.inputField||this.host.querySelector("nano-input");if(!this.inputField)return;this.searchStr=this.inputField.value}if(this.searchStr.length<this.minChars){if(this.browseIndex)this.searchStr="*";else{if(this.searchStr.length===0){this.nanoSearchResult.emit({results:[],client:{apiKey:this.appId,appId:this.appId}});return}if(this.searchStr.length<this.minChars)return}}let t={};if(this.searchIndex.filters)t={facets:this.searchIndex.filters};const s=this.fixDomain(await this.internalIndex.search(this.searchStr,t));s.indexName=this.searchIndex.name;s.selected=true;s.domain=this.searchIndex.domain||null;s.index=this.searchIndex.index;this.currentResults=s;this.nanoSearch.emit({results:[this.currentResults],client:{apiKey:this.appId,appId:this.appId}});if(this.autoEmit)this.emitResults()}emitResults(){this.nanoSearchResult.emit({results:[this.currentResults],client:{apiKey:this.appId,appId:this.appId}})}fixDomain(i){if(!this.searchIndex.domain)return i;i.hits.map((i=>{if(i.url&&!i.url.match(/^http/))i.url=location.protocol+"//"+this.searchIndex.domain+i.url}));return i}connectedCallback(){this.isNested=this.host.parentElement.tagName.toLowerCase()==="nano-algolia"&&this.host.hasAttribute("slot")&&this.host.getAttribute("slot")==="search-input";if(!this.isNested){this.host.addEventListener("openWormhole",(i=>{i.detail.onOpen.resolve();this.searchIndexNameChange();this.initAlgoliaClient()}))}}componentWillLoad(){this.inputField=this.host.querySelector("nano-input");if(this.storeId)a.init(this,["searchStr"],this.storeMethod,this.storeId)}render(){return s(h,{onFocus:this.handleFocus,tabindex:"-1"},s("slot",null))}get host(){return e(this)}static get watchers(){return{searchIndexName:["searchIndexNameChange"],algoliaIndex:["algoliaChange"],browseIndex:["browseIndexChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaClient"]}}};r(o,["algoliaIndex","searchIndex","browseIndex"]);export{o as nano_algolia_input};
|
5
|
-
//# sourceMappingURL=p-7baa9e14.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["AlgoliaInput","this","handleFocus","inputField","setFocus","async","emitResults","searchIndexNameChange","searchIndexName","length","searchIndex","index","algoliaChange","internalIndex","algoliaIndex","browseIndexChange","browseIndex","searchStr","searchSubmit","initAlgoliaClient","isNested","appId","apiKey","algoliaClient","algoliasearch","initIndex","ev","console","error","target","tagName","toLowerCase","detail","value","host","querySelector","minChars","nanoSearchResult","emit","results","client","options","filters","facets","fixDomain","search","indexName","name","selected","domain","currentResults","nanoSearch","autoEmit","hits","map","hit","url","match","location","protocol","connectedCallback","parentElement","hasAttribute","getAttribute","addEventListener","onOpen","resolve","componentWillLoad","storeId","ComponentStore","init","storeMethod","render","h","Host","onFocus","tabindex","Wormhole"],"sources":["./src/components/algolia/algolia-input.tsx"],"sourcesContent":["import {\n Component,\n h,\n Element,\n Host,\n Prop,\n State,\n EventEmitter,\n Event,\n Listen,\n Method,\n Watch,\n ComponentInterface,\n} from '@stencil/core';\n\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { Wormhole } from '../algolia/algolia-data';\nimport {\n InputChangeEventDetail,\n AloliaSearchResultDetail,\n SearchIndex,\n AlgoliaMultiResult,\n} from '../../interface';\n\n/**\n * @deprecated\n * Component for querying Algolia Indeces.\n * Can be nested within an algolia element or used outside as a 'resultsEmitter' (see algolia component documentation)\n * Must include one 'nano-input' component\n */\n@Component({\n tag: 'nano-algolia-input',\n shadow: true,\n})\nexport class AlgoliaInput implements ComponentInterface {\n private internalIndex: AlgoliaIndex;\n private algoliaClient: AlgoliaClient;\n private isNested: boolean;\n private inputField: HTMLNanoInputElement;\n\n @Element() host: HTMLNanoAlgoliaInputElement;\n\n @State() searchStr: string = '';\n @State() algoliaIndex: AlgoliaIndex = null;\n @State() currentResults: AlgoliaMultiResult;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() appId: string = '';\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() apiKey: string = '';\n\n /**\n * Algolia search index. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically if you're using a 'resultsEmitter' element.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filers to resolve incomplete url fields\n * filters?: [string], // algolia facets to retrive\n * hitsPerPage?: number,\n * name?: string // human readable index name\n * }\n * ```\n */\n @Prop({ mutable: true }) searchIndex: SearchIndex = null;\n\n /**\n * Algolia search index name. Alternative to 'searchIndex'.\n * A simplified shortcut for setting an index.\n * properties such as hitsPerPage and facets will come from the algolia index\n */\n @Prop() searchIndexName: string;\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Automatically emit results data to algolia components.\n * For example, if you wanted to provide an 'autocomplete' style dropdown\n * before showing the main results with a submit button\n */\n @Prop() autoEmit: boolean = true;\n\n /**\n * Will maintain a search all / '*' on init and reset allowing for a view\n * then filter experience rather than a search first experience\n */\n @Prop({ mutable: true }) browseIndex: boolean = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n /**\n * Manually emit search results to algolia components.\n * Useful if you don't wish to search on input change / want to provide 'autocomplete' options\n * or / and want to use a submit button */\n @Method()\n async search() {\n this.emitResults();\n }\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n * @internal\n */\n @Event() nanoSearchResult!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n */\n @Event() nanoSearch!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search field is cleared.\n */\n @Event() nanoSearchReset!: EventEmitter<AloliaSearchResultDetail>;\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (!this.searchIndexName || !this.searchIndexName.length) return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('algoliaIndex')\n algoliaChange() {\n this.internalIndex = this.algoliaIndex;\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (this.browseIndex) {\n this.searchStr = '*';\n this.searchSubmit();\n }\n }\n\n @Watch('apiKey')\n @Watch('appId')\n @Watch('searchIndex')\n initAlgoliaClient() {\n if (this.isNested || !this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n if (this.searchIndex)\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n }\n\n @Listen('nanoChange')\n async searchSubmit(ev?: CustomEvent<InputChangeEventDetail>) {\n if (!this.internalIndex) {\n console.error('No algolia index set');\n return;\n }\n\n if (ev) {\n if ((ev.target as HTMLElement).tagName.toLowerCase() !== 'nano-input')\n return;\n this.searchStr = ev.detail.value;\n } else {\n this.inputField =\n this.inputField || this.host.querySelector('nano-input');\n if (!this.inputField) return;\n this.searchStr = this.inputField.value;\n }\n\n if (this.searchStr.length < this.minChars) {\n if (this.browseIndex) this.searchStr = '*';\n else {\n if (this.searchStr.length === 0) {\n this.nanoSearchResult.emit({\n results: [],\n client: { apiKey: this.appId, appId: this.appId },\n });\n return;\n }\n if (this.searchStr.length < this.minChars) return;\n }\n }\n\n let options = {};\n if (this.searchIndex.filters)\n options = { facets: this.searchIndex.filters };\n\n const results = this.fixDomain(\n await this.internalIndex.search(this.searchStr, options)\n );\n results.indexName = this.searchIndex.name;\n results.selected = true;\n results.domain = this.searchIndex.domain || null;\n results.index = this.searchIndex.index;\n\n this.currentResults = results;\n this.nanoSearch.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n\n if (this.autoEmit) this.emitResults();\n }\n\n private emitResults() {\n this.nanoSearchResult.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n }\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n private handleFocus = () => {\n if (this.inputField) this.inputField.setFocus();\n };\n\n connectedCallback() {\n this.isNested =\n this.host.parentElement.tagName.toLowerCase() === 'nano-algolia' &&\n this.host.hasAttribute('slot') &&\n this.host.getAttribute('slot') === 'search-input';\n\n if (!this.isNested) {\n this.host.addEventListener(\n 'openWormhole',\n (ev: CustomEvent<{ onOpen: any }>) => {\n ev.detail.onOpen.resolve();\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n }\n );\n }\n }\n\n componentWillLoad() {\n this.inputField = this.host.querySelector('nano-input');\n if (this.storeId)\n ComponentStore.init(this, ['searchStr'], this.storeMethod, this.storeId);\n }\n\n render() {\n return (\n <Host onFocus={this.handleFocus} tabindex=\"-1\">\n <slot />\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaInput, ['algoliaIndex', 'searchIndex', 'browseIndex']);\n"],"mappings":"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"}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
import{j as t,h as n,F as e,g as i,e as o,w as s,d as r,r as a,c as l,a as d}from"./p-f6a8467a.js";import{a as h}from"./p-ee045579.js";import{d as c}from"./p-7bff5224.js";import{c as b}from"./p-9ebbb814.js";const p="nano-tbl";const f=(t,n)=>{const e=globalThis[n];return e!=null&&t instanceof e};const _=t=>{if(t!=null){if(f(t,"ArrayBuffer")||f(t,"MessagePort")||f(t,"ImageBitmap")||f(t,"OffscreenCanvas")){return[t]}if(typeof t==="object"){if(t.constructor===Object){t=Object.values(t)}if(Array.isArray(t)){return t.flatMap(_)}return _(t.buffer)}}return[]};let u=0;let m=0;const g=new Map;const w=new Map;const v=(n,e,i)=>{const o=new Worker(n,{name:e});o.addEventListener("message",(({data:n})=>{if(n){const e=n[0];const o=n[1];const s=n[2];if(e===i){const e=n[3];const[i,r,a]=g.get(o);g.delete(o);if(e){const n=e.isError?Object.assign(new Error(e.value.message),e.value):e.value;t(n);r(n)}else{if(a){a.forEach((t=>w.delete(t)))}i(s)}}else if(e===i+".cb"){try{w.get(o)(...s)}catch(n){t(n)}}}}));return o};const y=(t,n,e)=>(...i)=>new Promise(((o,s)=>{let r=u++;let a=0;let l=i.length;let d=[o,s];g.set(r,d);for(;a<l;a++){if(typeof i[a]==="function"){const t=m++;w.set(t,i[a]);i[a]=[n+".cb",t];(d[2]=d[2]||[]).push(t)}}const h=t=>t.postMessage([n,r,e,i],_(i));if(t.then){t.then(h)}else{h(t)}}));const k=import("./p-52ae36ec.js").then((t=>t.worker));const x=y(k,"stencil.table.worker","createWorkerStore");const $=y(k,"stencil.table.worker","syncConfigToWorker");const j=y(k,"stencil.table.worker","syncDataToWorker");const O=y(k,"stencil.table.worker","workerFilter");const C=y(k,"stencil.table.worker","workerSearch");const z=y(k,"stencil.table.worker","workerSort");function S(t){const n=JSON.parse(JSON.stringify(t));t.forEach((t=>{if(!!(t===null||t===void 0?void 0:t.sortCompareFn)){const e=n.find((n=>n.prop===t.prop));e.sortCompareFn=t.sortCompareFn.toString()}}));return n}const I=new WeakMap;async function R(t,n,e,i){const o={data:b({rows:[]}),config:b({columns:n}),general:b({workerId:null,scrollParent:e,host:t,isReady:i})};const s=await x(o.data.state.rows,S(o.config.state.columns));o.general.state.workerId=s;I.set(t,o);o.data.use({reset:()=>{if(o.general.state.workerId)j(o.general.state.workerId,null)},dispose:()=>{if(o.general.state.workerId)j(o.general.state.workerId,null)}});o.config.use({reset:()=>{if(o.general.state.workerId)$(o.general.state.workerId,null)},dispose:()=>{if(o.general.state.workerId)$(o.general.state.workerId,null)}});return o}function P(t){return I.get(t)}function T(t){if(t instanceof Date){return"date"}if(["number","string","boolean"].includes(typeof t)){return typeof t}return"unknown"}function A(t,n){const e=I.get(t);if(!e)return;const i=e.config.state.columns;const o=i.filter((t=>t.type==="date")).reduce(((t,n)=>[...t,n.prop]),[]);const s=i.filter((t=>!t.type));n=n.map(((t,n)=>{if(s.length&&n===0){e.config.state.columns=i.map((n=>{if(s.includes(n)&&t[n.prop]&&!n.type){n.type=T(t[n.prop]);if(n.type==="date")o.push(n.prop)}return n}))}o.forEach((n=>{var e;const i=(e=new Date(t[n]))!==null&&e!==void 0?e:null;if(!!i&&Number(i))t[n]=Number(i)}));t["__index"]=n;t["__uuid"]=h(i.map((n=>t[n.prop])).join());return t}));e.data.state.rows=n;if(e.general.state.workerId)return j(e.general.state.workerId,n)}function M(t,n){const e=I.get(t);if(!e)return;e.config.state.columns=n;if(e.general.state.workerId)return $(e.general.state.workerId,S(n))}async function B(t,n){const e=I.get(t);if(!e||!e.general.state.workerId)return;try{e.data.state.rows=await C(e.general.state.workerId,n)}catch(t){console.warn(t)}}async function F(t,n){const e=I.get(t);if(!e||!e.general.state.workerId)return;try{e.data.state.rows=await O(e.general.state.workerId,n)}catch(t){console.warn(t)}}async function N(t,n,e){const i=I.get(t);if(!i||!i.general.state.workerId)return;try{i.data.state.rows=await z(i.general.state.workerId,n,e)}catch(t){console.warn(t)}}function D(t,n){const e=H();const i=e.config.state.columns;const o=e.data.state.rows;const s=i[n];const r=s===null||s===void 0?void 0:s.prop;const a=o[t];const l=a?a[i[n].prop]:"";return{prop:r,cellModel:l,column:s,rowIndex:t,rowModel:a}}function E(t){const n=H();const e=n.data.state.rows;const i=e[t];return{rowModel:i,rowIndex:t}}function W(t,n){if(!n)return t;const e=Object.assign(Object.assign({},n),t);if(n.class){if(typeof n.class==="object"&&typeof e.class==="object"){e.class=Object.assign(Object.assign({},n.class),e.class)}else if(typeof n.class==="string"&&typeof e.class==="object"){e.class[n.class]=true}else if(typeof e.class==="string"){e.class+=" "+n.class}}if(n.style){e.style=Object.assign(Object.assign({},n.style),e.style)}return e}function H(){return P(i(o()))}function L(t,n,e){var i;const o=Object.assign({},e);const s=(i=H().config.state.columns[n])===null||i===void 0?void 0:i.cellProperties;if(!s)return o;const r=D(t,n);const a=s(r);if(!a)return o;return W(o,a)}function J(t){const i=t===null||t===void 0?void 0:t.columnTemplate;return i?i(n,t):n(e,null,t.title)}function Y(t,n,e=false){const i={[`${p}__${t}`]:true,[`${p}__pin`]:!!n,[`${p}__pin--top`]:n==="top",[`${p}__pin--bottom`]:n==="bottom"};if(e)return q(i);return i}function q(t){let n="";Object.entries(t).forEach((([t,e])=>{if(e)n+=t+" "}));return n}function K(t){let n=getComputedStyle(t);const e=n.position==="absolute";const i=/(auto|scroll)/;if(n.position==="fixed")return document.documentElement;for(let o=t;o=o.parentElement;){n=getComputedStyle(o);if(e&&n.position==="static"){continue}if(i.test(n.overflow+n.overflowY+n.overflowX))return o}return document.documentElement}function X(t,n=100){const e=t.getBoundingClientRect();const i=window.innerHeight||document.documentElement.clientHeight;if(!e.bottom&&!e.top&&!e.left&&!e.right&&!e.height&&!e.width&&!e.x&&!e.y)return false;return!(Math.floor(100-(e.top>=0?0:e.top)/+-e.height*100)<n||Math.floor(100-(e.bottom-i)/e.height*100)<n)}const U=({column:t,onColumnSortClick:i,defaults:o})=>{function s(n){let e;switch(t.order){case"asc":e="desc";break;case"desc":e=null;break;default:e="asc"}i(e,t.prop,n.target.closest("th"))}function r(){return!!o.sortable&&t.sortable!==false||!o.sortable&&t.sortable===true}let a={};if(t.columnProperties){a=t.columnProperties(t)||a}const l={class:Object.assign(Object.assign({},Y("th",t.pinned)),{[`${p}__pin--start`]:t.pinned==="start",[`${p}__pin--end`]:t.pinned==="end",[`${p}__ordered`]:!!t.order,[`${p}__filtered`]:t.filter!==undefined&&t.filter!==null})};let d=a?W(l,a):l;const h=J(t);if(!h)return n(e,null);d=Number(d.colSpan)>1?Object.assign(Object.assign({},d),{scope:"colgroup"}):Object.assign(Object.assign({},d),{scope:"col"});if(r()){const n=t.order?t.order==="asc"?"ascending":"descending":"none";d=Object.assign(Object.assign({},d),{"aria-sort":n})}return n("th",Object.assign({},d,{key:t.prop}),r()?n("button",{class:{[`${p}__order-btn`]:true,[`${p}__cell-content`]:true},onClick:s},J(t),t.filter!==undefined&&t.filter!==null&&n("nano-icon",{name:"light/filter"}),!!t.order&&(t.order==="desc"?n("nano-icon",{name:"solid/long-arrow-down"}):n("nano-icon",{name:"solid/long-arrow-up"})),n("div",{class:`${p}__status-icons`},n("nano-icon",{name:"light/chevron-down"}))):n("div",{class:`${p}__cell-content`},J(t),t.filter!==undefined&&t.filter!==null&&n("nano-icon",{name:"light/bars-filter"})))};function G(t,i){var s,r;const a=H();const l=a.config.state.columns;const d=(s=l[i])===null||s===void 0?void 0:s.cellTemplate;const h=D(t,i);const c=o();if(!!h.cellModel&&l[i].type==="date"){const t=new Date(h.cellModel);if(t instanceof Date&&!isNaN(t)){h.cellModel=!d?`${new Date(h.cellModel).toLocaleDateString()} ${new Date(h.cellModel).toLocaleTimeString()}`:t}}let b=false;const p=(...t)=>{b=true;return n(...t)};let f=d?d(p,h):undefined;if(f&&c.customRenderer&&f["t"]===undefined&&!(f instanceof Element)&&typeof f!=="string"&&!b){const t=document.createElement("template");c.customRenderer(f,t.content);f=t}return f?f:h.cellModel!==undefined&&h.cellModel!==null?n(e,null,(r=h.cellModel)===null||r===void 0?void 0:r.toString()):""}const Q=(t,n=false)=>{const e=H();const i=e.config.state.columns[t];const o={[`${p}__td`]:true,[`${p}__ordered`]:!!i.order,[`${p}__pin`]:!!i.pinned,[`${p}__pin--start`]:i.pinned==="start",[`${p}__pin--end`]:i.pinned==="end"};if(n)return q(o);return o};const V=({rowIndex:t,colIndex:e,nestedContent:i})=>{const s=()=>i?i():G(t,e)||n("span",{class:"placeholder"}," ");let r="td";const a=o();const l=H();const d=l.config.state.columns[e];let h=L(t,e,{class:Q(e)});if(d.rowHeader){h=Number(h.rowSpan)>1?Object.assign(Object.assign({},h),{scope:"rowgroup"}):Object.assign(Object.assign({},h),{scope:"row"});r="th"}const c=t=>{const e=s();return n("div",Object.assign({ref:t=>{if(t&&e instanceof Element){t.replaceChildren();t.append(e["content"]||e)}}},t,{class:{[`${p}__cell-content`]:true,[`${p}__cell-content--wrap`]:!!d.wrap},innerHTML:typeof e==="string"&&e.includes("<")?e:undefined}),(typeof e!=="string"||!e.includes("<"))&&!(e instanceof Element)&&e)};return n(r,Object.assign({role:a.type==="grid"?"gridcell":undefined},h),d.autoTooltip&&!d.wrap?n("nano-resize-observe",{notifyContentFit:"x",onNanoResizeContentFitChange:t=>t.target.firstElementChild.disabled=t.detail.x},n("nano-tooltip",{disabled:true,placement:"top",onNanoShow:t=>t.target.closest(r).style.zIndex="100",onNanoHide:t=>t.target.closest(r).style.zIndex=""},n(c,null),n("span",{slot:"content"},n(s,null)))):n(c,null))};const Z=(t,e,i)=>{const o=n("div",Object.assign({},t.wrapperProps,{class:{[`${p}__cell-content`]:true,[`${p}__cell-content--wrap`]:t.wrap}}),e);return t.header?n("th",Object.assign({scope:i},t.cellProps),o):n("td",Object.assign({},t.cellProps),o)};const tt=({rowRenderer:t,rowIndex:e,rowModel:i},o,s)=>{const r=({header:t,wrap:n,cellProps:e,wrapperProps:i},o)=>Z({header:t,wrap:n,cellProps:e,wrapperProps:i},o,"row");let a={};if(!i){const t=E(e);i=t.rowModel}if(t===null||t===void 0?void 0:t.rowProperties){a=t.rowProperties({rowModel:i,rowIndex:e})||a}let l;if((t===null||t===void 0?void 0:t.pinned)&&typeof t.pinned==="function"){l=t.pinned({rowModel:i,rowIndex:e})}const d=W({class:Y("tr",l,true)},a);const h=t===null||t===void 0?void 0:t.template;const c=t=>s.map(t,((t,n)=>{if(["td","th"].includes(t.vtag.toString())){t.vattrs=W({class:Q(n,true)},t.vattrs)}return t}));if(h){let t=h(n,{renderedRow:n("tr",Object.assign({},d,{key:i.__uuid}),o),rowModel:i,rowIndex:e},r);if(Array.isArray(t)){t=s.map(t,((t,n)=>{if(t.vtag==="tr"){if(!t.vkey)t.vkey=`${i.__uuid}_${n}`;t.vattrs=W({class:Y("tr",l,true)},t.vattrs);if(!!t.vchildren){t.vchildren=c(t.vchildren)}}return t}))}return t}return n("tr",Object.assign({},d,{key:i.__uuid}),c(o))};const nt=({rowRenderer:t},e,i)=>{let o={};if(t.rowProperties){o=t.rowProperties()||{}}const s=({header:t,wrap:n,cellProps:e,wrapperProps:i},o)=>Z({header:t,wrap:n,cellProps:e,wrapperProps:i},o,"col");const r=t.pinned||null;const a={class:Y("tr",r)};const l=o?W(a,o):a;const d=t===null||t===void 0?void 0:t.template;if(d){let t=d(n,{renderedRow:n("tr",Object.assign({},l),e)},s);if(Array.isArray(t)){t=i.map(t,(t=>{if(t.vtag==="tr"){t.vattrs=W({class:Y("tr",r,true)},t.vattrs);if(!!t.vchildren){t.vchildren=i.map(t.vchildren,(t=>{if(["td","th"].includes(t.vtag.toString())){t.vattrs=W({class:Y(t.vtag.toString(),r,true)},t.vattrs)}return t}))}}return t}))}return t}return n("tr",Object.assign({},l),e)};function et(t,n){const e=document.getElementById(t)||document.createElement("style");e.id=t;e.innerHTML=n;if(!e.isConnected)document.head.append(e)}class it{constructor(t,n){this.cachedColMeta=new WeakMap;this._pinnedStart=[];this._pinnedEnd=[];this._cssColDimensionCacheKey="";this.cacheX=0;this.cacheY=0;this.tableEle=t;this.tableId=this.tableEle.id;this.scrollElement=n;this.startColumns=t.querySelector("thead").getElementsByClassName(`${p}__pin--start`);this.endColumns=t.querySelector("thead").getElementsByClassName(`${p}__pin--end`);this.topRows=t.getElementsByClassName(`${p}__pin--top`);this.bottomRows=t.getElementsByClassName(`${p}__pin--bottom`);this.onResize()}get pinnedStart(){return this._pinnedStart}set pinnedStart(t){this._pinnedStart=t;this.handlePinnedStartChange()}handlePinnedStartChange(){s((()=>{if(this.pinnedStart.length){this.tableEle.classList.add(`${p}__pinned--start`);const t=this.cachedColMeta.get(this.pinnedStart[this.pinnedStart.length-1]);et(`${this.tableId}-col-start-active-style`,`\n #${this.tableId} tr > :nth-child(${t.idx+1}) {\n --pin-start-active: 1;\n }\n `)}else{this.tableEle.classList.remove(`${p}__pinned--start`);et(`${this.tableId}-col-start-active-style`,``)}}))}get pinnedEnd(){return this._pinnedEnd}set pinnedEnd(t){this._pinnedEnd=t;this.handlePinnedEndChange()}handlePinnedEndChange(){s((()=>{if(this.pinnedEnd.length){this.tableEle.classList.add(`${p}__pinned--end`);const t=this.cachedColMeta.get(this.pinnedEnd[0]);et(`${this.tableId}-col-end-active-style`,`\n #${this.tableId} tr > :nth-child(${t.idx+1}) { --pin-end-active: 1; }\n `)}else{this.tableEle.classList.remove(`${p}__pinned--end`);et(`${this.tableId}-col-end-active-style`,``)}}))}get cssColDimensionCacheKey(){return this._cssColDimensionCacheKey}set cssColDimensionCacheKey(t){if(t===this._cssColDimensionCacheKey)return;this._cssColDimensionCacheKey=t;this.createPinnedColDimensionStyles()}generateCssCacheKey(){let t="";for(const n of this.startColumns){const e=this.cachedColMeta.get(n);t+=`${e.idx}-start-${e.width}`}for(const n of this.endColumns){const e=this.cachedColMeta.get(n);t+=`${e.idx}-start-${e.width}`}this.cssColDimensionCacheKey=t}createPinnedColDimensionStyles(){let t=0;let n=0;const e=Array.from(this.startColumns);const i=Array.from(this.endColumns).reverse();const o=`\n ${e.map((n=>{const e=this.cachedColMeta.get(n);t+=e.width||0;return`\n #${this.tableId} tr > :nth-child(${e.idx+1}) ~ td,\n #${this.tableId} tr > :nth-child(${e.idx+1}) ~ th {\n --pin-start: ${t-1}px;\n }\n `})).join("")}\n ${i.map((t=>{const e=this.cachedColMeta.get(t);n+=e.width;return`\n #${this.tableId} tr > td:has(~ :nth-child(${e.idx+1})),\n #${this.tableId} tr > th:has(~ :nth-child(${e.idx+1})) {\n --pin-end: ${n-1}px;\n }\n `})).join("")}\n `;et(`${this.tableId}-dimension-style`,o)}getParentOffsets(){const{x:t,y:n}=this.scrollElement.getBoundingClientRect();let e=t;let i=n;if(this.scrollElement===document.documentElement){e=this.scrollElement.offsetLeft;i=this.scrollElement.offsetTop}return{offsetX:e,offsetY:i}}assessRows(){if(!this.topRows.length&&!this.bottomRows.length)return;if(this.topRows.length){r((async()=>{let t=0;let n;const{offsetY:e}=this.getParentOffsets();for(const i of this.topRows){const{y:o,height:r}=i.getBoundingClientRect();const a=i.parentElement;const l=getComputedStyle(i).getPropertyValue("--pin-top");const d=l!==""?parseFloat(l):t;await new Promise((l=>s((()=>{if(o-e<=d){i.classList.add(`${p}__pinned`,`${p}__pinned--top`)}else{i.classList.remove(`${p}__pinned`,`${p}__pinned--top`)}if(n!==a){a.style.setProperty("--pin-top",`${t}px`);t+=r;n=a}l()}))))}}))}if(this.bottomRows.length){const t=Array.from(this.bottomRows).reverse();r((async()=>{let n;let e=0;const{offsetY:i}=this.getParentOffsets();for(const o of t){if(!o.isConnected)continue;const{y:t,height:r}=o.getBoundingClientRect();const a=o.parentElement;const l=getComputedStyle(o).getPropertyValue("--pin-bottom");const d=l!==""?parseFloat(l):e;await new Promise((l=>s((()=>{if(this.tableDims.height+i-(t+r)<=d){o.classList.add(`${p}__pinned`,`${p}__pinned--bottom`)}else{o.classList.remove(`${p}__pinned`,`${p}__pinned--bottom`)}if(n!==a){a.style.setProperty("--pin-bottom",`${e}px`);e+=r;n=a}l()}))))}}))}}async assessCols(){if(!this.startColumns.length&&!this.endColumns.length)return;let t;let n;let e;const i=new Promise((i=>{if(this.startColumns.length){r((()=>{const{offsetX:o}=this.getParentOffsets();let s=o;e=Array.from(this.startColumns[0].parentElement.children);for(const i of this.startColumns){t=i.getBoundingClientRect();this.cachedColMeta.set(i,{width:t.width,idx:e.indexOf(i)});n=this.pinnedStart.find((t=>t===i));if(t.x<s){if(!n)this.pinnedStart=[...this.pinnedStart,i]}else if(n){this.pinnedStart=this.pinnedStart.filter((t=>t!==i))}s+=t.width}if(!this.endColumns.length)i()}))}if(this.endColumns.length){r((()=>{const o=Array.from(this.endColumns).reverse();e=Array.from(this.endColumns[0].parentElement.children);const{offsetX:s}=this.getParentOffsets();let r=0;for(const i of o){t=i.getBoundingClientRect();this.cachedColMeta.set(i,{width:t.width,idx:e.indexOf(i)});n=this.pinnedEnd.find((t=>t===i));if(this.tableDims.width+s-t.right<=r){if(!n)this.pinnedEnd=[i,...this.pinnedEnd]}else if(n){this.pinnedEnd=this.pinnedEnd.filter((t=>t!==i))}r+=t.width}i()}))}}));await i;this.generateCssCacheKey()}onScroll(t){if(this.cacheX!==t.x){this.cacheX=t.x;this.assessCols()}if(this.cacheY!==t.y){this.cacheY=t.y;this.assessRows()}}onResize(){const t=this.scrollElement.clientWidth;const n=this.scrollElement.clientHeight;this.tableDims={width:t,height:n};this.assessCols();this.assessRows()}}const ot=':host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}nano-table{display:block;width:100%;--max-col-width:clamp(200px, 500px, 50vw);--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--thead-font-size:0.95rem;--thead-color:#455560;--tfoot-color:#455560;--border-color:#dddbda;--border-style:thin solid var(--border-color);--border-tint-color:#0084a9;--border-tint-style:3px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:250 250 249;--foot-bg-rgb:var(--head-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding-start:0.625rem;--td-padding-end:0.625rem;--td-padding-top:0.6rem;--td-padding-bottom:0.6125rem;--th-padding-start:0.725rem;--th-padding-end:0.625rem;--th-padding-top:0.875rem;--th-padding-bottom:0.6875rem;--td-padding-v:var(--td-padding-top) var(--td-padding-bottom);--td-padding-h:var(--td-padding-start) var(--td-padding-end);--th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--th-padding-h:var(--th-padding-start) var(--th-padding-end);--foot-th-padding-v:var(--td-padding-top) var(--td-padding-bottom);--foot-th-padding-h:var(--td-padding-start) var(--td-padding-end);--head-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--head-th-padding-h:var(--th-padding-start) var(--th-padding-end);--bookend-col-padding:2rem}.nano-tbl{color:var(--color);text-align:start;width:100%;font-size:var(--font-size);border-spacing:0 0;border-collapse:separate;background:rgb(var(--cell-bg-rgb));-webkit-border-end:1px solid transparent;border-inline-end:1px solid transparent;-webkit-border-before:1px solid transparent;border-block-start:1px solid transparent;position:relative;z-index:1}.nano-tbl__wrap{display:table;min-width:100%}.nano-tbl__top-anchor{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;position:relative}.nano-tbl__ordered{background-color:var(--ordered-bg);-webkit-border-start:var(--border-style);border-inline-start:var(--border-style);-webkit-border-end:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;-webkit-appearance:none;appearance:none;color:inherit;display:flex;gap:10px;align-items:center;width:100%}.nano-tbl__order-btn:focus-visible{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))) inset}.nano-tbl__status-icons{margin-inline:auto 10px;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;transition:scale 0.25s;transform:scale(0);width:100%;height:0}.nano-tbl__progress-bar--show{transform:scale(1);height:auto}.nano-tbl__caption--hide{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__td,.nano-tbl__th{line-height:var(--cell-line-height);text-align:start;-webkit-border-before:var(--border-style);border-block-start:var(--border-style);max-width:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}tbody:first-of-type tr:first-child .nano-tbl__td,tbody:first-of-type tr:first-child .nano-tbl__th{-webkit-border-before:none;border-block-start:none}tbody:last-of-type tr:last-child .nano-tbl__td,tbody:last-of-type tr:last-child .nano-tbl__th{-webkit-border-after:var(--border-style);border-block-end:var(--border-style)}.md .nano-tbl__td:first-child .nano-tbl__cell-content,.md .nano-tbl__th:first-child .nano-tbl__cell-content{-webkit-padding-start:var(--bookend-col-padding);padding-inline-start:var(--bookend-col-padding)}.md .nano-tbl__td:last-child .nano-tbl__cell-content,.md .nano-tbl__th:last-child .nano-tbl__cell-content{-webkit-padding-end:var(--bookend-col-padding);padding-inline-end:var(--bookend-col-padding)}@media (max-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{-webkit-padding-start:var(--td-padding-start) !important;padding-inline-start:var(--td-padding-start) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{-webkit-padding-end:var(--td-padding-end) !important;padding-inline-end:var(--td-padding-end) !important}}thead .nano-tbl__td,thead .nano-tbl__th{color:var(--thead-color);font-weight:800;background:rgb(var(--head-bg-rgb)/100%);font-size:var(--thead-font-size);-webkit-border-before:none !important;border-block-start:none !important}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--head-th-padding-v);padding-inline:var(--head-th-padding-h)}thead .nano-tbl__td .nano-sortable__keyboard-handle,thead .nano-tbl__th .nano-sortable__keyboard-handle{position:absolute;inset-inline-end:5px;inset-block-start:50%;transform:translateY(-50%);background:white;z-index:10}tfoot .nano-tbl__td,tfoot .nano-tbl__th{color:var(--tfoot-color);font-weight:800;-webkit-border-before:none;border-block-start:none;background:rgb(var(--foot-bg-rgb)/100%);font-size:var(--thead-font-size)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--foot-th-padding-v);padding-inline:var(--foot-th-padding-h)}.nano-tbl__td.nano-tbl__ordered,.nano-tbl__th.nano-tbl__ordered{background-color:rgb(var(--ordered-bg-rgb)/80%) !important}.nano-tbl__cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:var(--td-padding-v);padding-inline:var(--td-padding-h)}.nano-tbl__cell-content--no-result{padding-block:2rem}.nano-tbl__cell-content--wrap{white-space:normal;overflow:visible}.nano-tbl tbody{will-change:scroll-position;opacity:1;transition:0.1s ease opacity}.nano-tbl tbody.nano-tbl__loading{z-index:-1;position:relative}.nano-tbl tbody.nano-tbl__inactive{opacity:0}.nano-tbl tbody .nano-tbl__tr:has(~.nano-tbl__tr--placeholder){display:none}.nano-tbl tbody .nano-tbl__tr--placeholder~.nano-tbl__tr{display:none}.nano-tbl th[scope=row]{font-weight:800;margin:0}.nano-tbl__pin--start{position:sticky;inset-inline-start:var(--pin-start, -1px)}.nano-tbl__pin--start::after{content:"";position:absolute;inset:0;box-shadow:5px 0 4px -1px rgba(0, 0, 0, 0.2);opacity:var(--pin-start-active, 0);z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{z-index:2}.nano-tbl__pin--end{position:sticky}.nano-tbl__pin--start+.nano-tbl__pin--end{inset-inline-end:auto !important}.nano-tbl__pin--start+.nano-tbl__pin--end::after{display:none}.sm .nano-tbl__pin--end{inset-inline-end:var(--pin-end, -1px);max-width:min(50vw, 200px)}.sm .nano-tbl__pin--end::after{display:block !important;content:"";position:absolute;inset:0;box-shadow:-5px 1px 4px -1px rgba(0, 0, 0, 0.2);opacity:var(--pin-end-active, 0);z-index:-1}.sm .nano-tbl__pinned--end .nano-tbl__pin--end{z-index:3}.nano-tbl__pin--top .nano-tbl__th,.nano-tbl__pin--top .nano-tbl__td{position:sticky;inset-block-start:var(--pin-top, -1px)}.nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__th,.nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__td{z-index:4 !important}.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__pin--start{z-index:6 !important}tbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__th,tbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__td{box-shadow:1px 3px 4px -1px rgba(0, 0, 0, 0.1)}.nano-tbl__pin--bottom .nano-tbl__th,.nano-tbl__pin--bottom .nano-tbl__td{position:sticky;inset-block-end:var(--pin-bottom, -1px)}.nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__th,.nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__td{z-index:5 !important}.nano-tbl__pin--bottom.nano-tbl__pinned--bottom:has(~.nano-tbl__pin--bottom.nano-tbl__pinned--bottom) .nano-tbl__th,.nano-tbl__pin--bottom.nano-tbl__pinned--bottom:has(~.nano-tbl__pin--bottom.nano-tbl__pinned--bottom) .nano-tbl__td{z-index:6 !important}.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__pin--start{z-index:6 !important}tbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__th,tbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__td{box-shadow:1px -3px 4px -1px rgba(0, 0, 0, 0.07)}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th{-webkit-border-after:var(--border-tint-style);border-block-end:var(--border-tint-style)}.nano-tbl tfoot tr:first-of-type td,.nano-tbl tfoot tr:first-of-type th{-webkit-border-before:none;border-block-start:none}.nano-tbl tfoot tr:last-of-type td,.nano-tbl tfoot tr:last-of-type th{-webkit-border-before:var(--border-style);border-block-start:var(--border-style);-webkit-border-after:var(--border-tint-style);border-block-end:var(--border-tint-style)}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type th{-webkit-border-before:var(--border-tint-style) !important;border-block-start:var(--border-tint-style) !important}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type th{-webkit-border-after:none !important;border-block-end:none !important}.nano-tbl .unlimited-width{max-width:none}.nano-tbl__spinner{font-size:1.5rem;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:0}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl nano-skeleton{line-height:var(--cell-line-height)}';const st=false;function rt(t,n=false){if(!performance||!st)return;if(n){performance===null||performance===void 0?void 0:performance.mark("end"+t);performance===null||performance===void 0?void 0:performance.measure(t,"start"+t,"end"+t);const n=performance===null||performance===void 0?void 0:performance.getEntriesByName(t);console.log(n[n.length?n.length-1:0])}else{performance===null||performance===void 0?void 0:performance.mark("start"+t)}}let at=0;const lt=class{constructor(t){a(this,t);this.nanoTblReady=l(this,"nanoTblReady",7);this.nanoTblBlockRendered=l(this,"nanoTblBlockRendered",7);this.nanoTblBeforeSort=l(this,"nanoTblBeforeSort",7);this.nanoTblAfterSort=l(this,"nanoTblAfterSort",7);this.nanoTblBeforeFilter=l(this,"nanoTblBeforeFilter",7);this.nanoTblAfterFilter=l(this,"nanoTblAfterFilter",7);this.nanoTblBeforeSearch=l(this,"nanoTblBeforeSearch",7);this.nanoTblAfterSearch=l(this,"nanoTblAfterSearch",7);this.nanoTblBeforeEdit=l(this,"nanoTblBeforeEdit",7);this.renderId="tbl-"+at++;this.filters=[];this.currentFilters="[]";this.currentSort="";this.measureHeight=0;this.blockHeights=[];this.unitHeight=0;this._isReady=false;this.sortStart=async(t,n,e)=>{if(this.currentSort===t+":"+n)return;this._loading=true;const i=this.nanoTblBeforeSort.emit({column:n,order:t});if(i.defaultPrevented)return;rt("sort");this.currentSort=t+":"+n;this.scrollToTop(e);if(this.customSortFn){try{const e=await this.customSortFn(n,t);if(e===true){this.sortComplete(t,n);this._loading=false;return}}catch(t){console.warn("custom sort failed",t);this.currentSort="";this._loading=false;return}}try{await N(this.host,n,t);this.sortComplete(t,n)}catch(t){console.warn("sort failed",t);this.currentSort=""}finally{if(this.blocks.length)this._loading=false}};this.scrollHandler=()=>{var t;let n=0;rt("scrollHandler");if(!((t=this.store)===null||t===void 0?void 0:t.general.state.isActive)||!this.rows)return;if(this.primaryBlockIndex===undefined)this.primaryBlockIndex=0;r((()=>{n=typeof this.scrollParent.scrollTop!=="undefined"?this.scrollParent.scrollTop:window.scrollY;n+=this.host.offsetTop;if(this.tablePinnedService){this.tablePinnedService.onScroll({x:typeof this.scrollParent.scrollLeft!=="undefined"?this.scrollParent.scrollLeft:window.scrollX,y:n})}let t=this.host.offsetTop;let e=0;const i=this.blocks.length;while(e<i&&n>=t){t+=this.getBlockHeight(e);if(n<t){const t=[e,e+1];console.log(t);if(t.toString()!==this.activeBlocks.toString()){this.activeBlocks=t}this.primaryBlockIndex=e}e++}rt("scrollHandler",true)}))};this.handleResizeChange=t=>{var n;this.tableWrapperEle.className="";let e=[`${p}__wrap`];if((n=t.target)===null||n===void 0?void 0:n.className)e=[...t.target.className.split(" "),...e];this.tableWrapperEle.classList.add(...e.filter((t=>!!t)))};this.customRenderer=undefined;this.type="table";this.caption=undefined;this.showCaption=false;this.loading=undefined;this.internalLoading=true;this.placeholderSize=5;this.rows=undefined;this.columns=[];this.headRender={pinned:"top"};this.rowRender=undefined;this.footRender={pinned:"bottom"};this.showFooter=false;this.perBlock=50;this.searchTerm=undefined;this.customFilterFn=undefined;this.customSortFn=undefined;this.defaultSort=true;this.virtualTotalItems=0;this.blocks=[];this.activeBlocks=[0,1];this.debounceSetLoading=c(this.debounceSetLoading.bind(this),50)}get _loading(){return this.loading!==undefined?this.loading:this.internalLoading}set _loading(t){if(this.loading!==undefined)return;this.debounceSetLoading(t)}debounceSetLoading(t){this.internalLoading=t}handleRowsChange(){if(!this.rows){this._loading=true;return}this._loading=true;Promise.resolve(this.rows).then((async t=>{await A(this.host,t);this.currentFilters="";this.currentSort="";await this.columnInit();if(!this.isReady)requestAnimationFrame((()=>this.setInitialBlockDimension()));this._loading=false;if(this.tablePinnedService)this.tablePinnedService.assessRows()}))}async handleColsChange(){await M(this.host,this.columns);if(this.isReady)this.columnInit()}get blocksLength(){return this.blocks.length}handleSearchTermChange(){this.searchStart()}virtualTotalItemsChangeHandler(){this.setBlocks()}get appliedFilters(){return this.filters}async resetSorting(){const t=this.columns.find((t=>!!t.order));if(!t)return;return this.sortStart(null,t.prop)}async addSort(t,n){const e=this.columns.find((n=>n.prop===t));if(!e)throw"Cannot find column with "+t;return this.sortStart(n,e.prop)}async resetFilters(){this.filters=[];return this.filterStart()}async addFilters(t,n=true){if(!n)this.filters=[];return this.filterStart(t,n)}async removeFilters(t){this.filters=this.filters.filter((n=>!t.includes(n.prop)));return this.filterStart()}async updateRow(t,n){this.rows.splice(n,1,t);this.handleRowsChange()}set measureEle(t){var n;if(!t)return;const e=t.getBoundingClientRect().height;this.measureHeight=Math.abs(this.measureHeight-e)<5?this.measureHeight:e;this.unitHeight=((n=t.querySelector("tr"))===null||n===void 0?void 0:n.getBoundingClientRect().height)||this.unitHeight}get scrollParent(){return this._scrollParent}set scrollParent(t){if(t===this._scrollParent)return;if(this._scrollParent){(this._scrollParent===document.documentElement?document:this._scrollParent).removeEventListener("scroll",this.scrollHandler)}(t===document.documentElement?document:t).addEventListener("scroll",this.scrollHandler);this._scrollParent=t}get primaryBlockIndex(){return this._primaryBlockIndex}set primaryBlockIndex(t){if(this._primaryBlockIndex===t)return;this._primaryBlockIndex=t;this.nanoTblBlockRendered.emit({block:t,totalBlocks:this.blockElements.length})}get isReady(){return this._isReady}set isReady(t){if(t===this._isReady)return;this._isReady=t;if(this.isReady)requestAnimationFrame((()=>this.handleReady()))}handleReady(){const t=window.location.hash;if(t.length>1){try{const n=document.querySelector(t);if(n)n.scrollIntoView()}catch(t){}}this.nanoTblReady.emit()}sortComplete(t,n){this.columns=this.columns.map((e=>{if(e.prop===n)return Object.assign(Object.assign({},e),{order:t});return Object.assign(Object.assign({},e),{order:null})}));this.nanoTblAfterSort.emit({column:n,order:t});rt("sort",true)}async searchStart(){this._loading=true;const t=this.nanoTblBeforeSearch.emit({term:this.searchTerm});if(t.defaultPrevented)return;rt("search");this.scrollToTop();try{await B(this.host,this.searchTerm);this.nanoTblAfterSearch.emit({term:this.searchTerm});rt("search",true)}catch(t){console.warn("search failed",t)}finally{this._loading=false}}async filterStart(t,n=true){if(t){if(n){this.filters=[...this.filters.filter((n=>!t.find((t=>t.prop===n.prop)))),...t]}else{this.filters=t}}if(this.currentFilters===JSON.stringify(this.filters))return;this._loading=true;const e=this.nanoTblBeforeFilter.emit({filters:this.filters});if(e.defaultPrevented)return;rt("filter");this.currentFilters=JSON.stringify(this.filters);this.scrollToTop();if(this.customFilterFn){try{const t=await this.customFilterFn(this.filters);if(t===true){this.filterComplete();this._loading=false;return}}catch(t){console.warn("custom filter failed",t);this.currentFilters="";this._loading=false;return}}try{await F(this.host,this.filters);this.filterComplete()}catch(t){console.warn("filter failed",t)}finally{this._loading=false}}filterComplete(){this.columns=this.columns.map((t=>{const n=this.filters.find((n=>n.prop===t.prop));if(n&&(typeof n.filter!=="boolean"&&n.filter.length||typeof n.filter==="boolean"))t.filter=n.filter;else if(t.filter!==null&&t.filter!==undefined||!!t.filter&&typeof t.filter!=="boolean"&&!t.filter.length)t.filter=undefined;return t}));this.nanoTblAfterFilter.emit({filters:this.filters});rt("filter",true)}scrollToTop(t){var n;const e=(n=this.scrollParent.style)===null||n===void 0?void 0:n.scrollBehavior;const i=this.scrollParent.scrollLeft;this.scrollParent.style.scrollBehavior="auto";if(this.topAnchorEle&&!X(this.topAnchorEle,.1)){this.host.scrollIntoView()}if(t&&!X(t,1))setTimeout((()=>t.scrollIntoView({block:"start"})),500);if(i)this.scrollParent.scrollLeft=i;if(e)this.scrollParent.style.scrollBehavior=e;this.scrollHandler()}setMeasureElement(){return new Promise((t=>{r((()=>{this.measureEle=this.blockElements.find((t=>{var n;return!((n=t===null||t===void 0?void 0:t.classList)===null||n===void 0?void 0:n.contains(`${p}__inactive`))}));t()}))}))}setInitialBlockDimension(){var t;if(!((t=this.blockElements)===null||t===void 0?void 0:t.length))return;rt("blockDims");const n=async()=>{await this.setMeasureElement();if(this.unitHeight)return true;return false};const e=new Promise((async t=>{if(await n())t();else{const e=new IntersectionObserver((async()=>{if(await n()){t();e.disconnect()}}),{root:this.scrollParent});e.observe(this.tableEle)}}));e.then((()=>{rt("blockDims",true);rt("init",true);requestAnimationFrame((()=>this.isReady=true))}))}async columnInit(){this.filters=this.columns.filter((t=>t.filter!==undefined&&t.filter!==null)).map((t=>{const{filter:n,prop:e}=t;return{filter:n,prop:e}}));if(this.searchTerm){await this.searchStart()}if(this.filters.length){await this.filterStart()}const t=this.columns.find((t=>!!t.order));if(!!t){await this.sortStart(t.order,t.prop)}if(this.tablePinnedService)this.tablePinnedService.assessCols()}setBlocks(){const t=this.store.data.state.rows;if(!t.length){this.blocks=[];return}rt("setBlocks");let n=1;const e=this.virtualTotalItems>t.length?this.virtualTotalItems:t.length;let i=[];const o=[];for(n;n<=e;n++){i.push(this.store.data.state.rows[n-1]||{__uuid:""});if(n%this.perBlock===0){o.push({rows:i,__uuid:h(i.map((t=>t.__uuid)).join())});i=[]}}if(i.length){o.push({rows:i,__uuid:h(i.map((t=>t.__uuid)).join())})}this.blocks=o;rt("setBlocks",true)}getBlockHeight(t){if(this.blockHeights.length){const n=this.blockHeights.find((n=>n.blockIndex===t));if(n&&n.height)return n.height}const n=this.blocks[t].rows.length;if(n===this.perBlock&&this.measureHeight){return this.measureHeight}return this.unitHeight?this.unitHeight*n:100}setBlockHeight(){this.activeBlocks.forEach((t=>{const n=this.blockElements[t];if(!n)return;r((()=>{if(n.classList.contains(`${p}__inactive`))return;const e=n.getBoundingClientRect().height;const i=this.blockHeights.findIndex((n=>n.blockIndex===t));if(i>-1){this.blockHeights[i]={height:e,blockIndex:t}}else this.blockHeights.push({height:e,blockIndex:t})}))}))}processSlots(){if(!this.caption&&!this.host.querySelector('[slot="caption"]')){console.error("For accessibility you must set a `caption` prop or use the `caption` slot")}}setupActiveWatcher(){if(!this.host||!this.scrollParent||!this.store)return;if(this.activeWatcherIo){this.activeWatcherIo.disconnect();this.activeWatcherIo=undefined}const t=this.activeWatcherIo=new IntersectionObserver((async([t])=>{if(t.isIntersecting)this.store.general.state.isActive=true;else this.store.general.state.isActive=false}),{root:this.scrollParent,threshold:0});t.observe(this.host)}async componentWillLoad(){rt("init");this.store=await R(this.host,this.columns,this.scrollParent,this.isReady);await this.handleRowsChange();this.store.general.onChange("isActive",(()=>{this.scrollHandler()}));this.store.data.onChange("rows",(()=>this.setBlocks()));this.processSlots();this.setBlocks();this.scrollParent=K(this.host);this.setupActiveWatcher()}connectedCallback(){this.scrollParent=K(this.host);this.setupActiveWatcher()}componentDidLoad(){this.setInitialBlockDimension();if(!this.tablePinnedService){this.tablePinnedService=new it(this.tableEle,this.scrollParent)}}componentShouldUpdate(t,n,e){if(["rows","columns"].includes(e))return false}componentWillRender(){rt("render")}componentDidRender(){this.setMeasureElement().then((()=>this.setBlockHeight()));rt("render",true)}disconnectedCallback(){if(!this.activeWatcherIo)return;this.activeWatcherIo.disconnect();this.activeWatcherIo=undefined;(this.scrollParent===document.documentElement?document:this.scrollParent).removeEventListener("scroll",this.scrollHandler)}render(){this.blockElements=[];return n(d,null,n("div",{class:`${p}__top-anchor`,ref:t=>this.topAnchorEle=t}," "),n("nano-resize-observe",{states:"576w sm, 768w md",class:"sm md",onNanoResizeStateChange:this.handleResizeChange,onNanoResize:()=>{if(this.tablePinnedService)this.tablePinnedService.onResize()}}),n("div",{class:`${p}__wrap sm md`,ref:t=>this.tableWrapperEle=t,"aria-labelledby":"nano-table-caption-"+this.renderId,tabindex:this.type==="grid"?"0":undefined},n("nano-progress-bar",{indeterminate:true,class:{[`${p}__progress-bar`]:true,[`${p}__progress-bar--show`]:this._loading}}),n("table",{role:this.type==="grid"?"grid":undefined,"aria-rowcount":this.store.data.state.rows.length,"aria-colcount":this.store.config.state.columns.length,class:`${p}`,ref:t=>this.tableEle=t,id:"nano-table-"+this.renderId},n("caption",{class:{[`${p}__caption`]:true,[`${p}__caption--hide`]:!this.showCaption},id:"nano-table-caption-"+this.renderId},n("slot",{name:"caption"},this.caption)),n("thead",null,n(nt,{rowRenderer:this.headRender},this.store.config.state.columns.map((t=>[n(U,{column:t,headRenderer:this.headRender,onColumnSortClick:this.sortStart,defaults:{sortable:this.defaultSort}})])))),this._loading&&!this.blocks.length&&n("tbody",{class:`${p}__active ${p}__loading`},[...Array(10).keys()].map((t=>n("tr",null,this.store.config.state.columns.map(((e,i)=>n(V,{rowIndex:t,colIndex:i,nestedContent:()=>n("nano-skeleton",null)}))))))),n("tr",{hidden:!!this._loading||!!this.blocks.length},n("th",{class:`${p}__th`,colSpan:this.store.config.state.columns.length},n("div",{class:"nano-tbl__cell-content nano-tbl__cell-content--no-result"},n("slot",{name:"no-results"},"No results found")))),this.blocks.map(((t,e)=>n("tbody",{key:t.__uuid,id:`tbody-${this.renderId}-${e}`,ref:t=>{this.blockElements.push(t)},class:{[`${p}__inactive`]:!this.activeBlocks.includes(e),[`${p}__active`]:this.activeBlocks.includes(e)}},this.activeBlocks.includes(e)?t.rows.map(((t,i)=>{const o=e>0?e*this.perBlock+i:i;return n(tt,{rowRenderer:this.rowRender,rowModel:t,rowIndex:o},this.store.config.state.columns.map(((t,e)=>n(V,{rowIndex:o,colIndex:e}))))})):n("tr",{class:`${p}__tr--placeholder`},n("td",{colSpan:this.store.config.state.columns.length,style:{height:this.getBlockHeight(e)+"px"}}))))),this.showFooter&&n("tfoot",null,n(nt,{rowRenderer:this.footRender},this.store.config.state.columns.map((t=>[n(U,{column:t,headRenderer:this.footRender,onColumnSortClick:this.sortStart,defaults:{sortable:this.defaultSort}})]))))),!!this.blocks.length&&n("nano-spinner",{type:"circle",class:{[`${p}__spinner`]:true,[`${p}__spinner--show`]:this._loading}})))}get host(){return i(this)}static get watchers(){return{rows:["handleRowsChange"],columns:["handleColsChange"],searchTerm:["handleSearchTermChange"],virtualTotalItems:["virtualTotalItemsChangeHandler"]}}};lt.style=ot;export{lt as T,v as c};
|
5
|
-
//# sourceMappingURL=p-9b533dc3.js.map
|