@nanoporetech-digital/components 1.13.21 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (706) hide show
  1. package/CHANGELOG.md +653 -14
  2. package/README.md +3 -2
  3. package/dist/cjs/{algolia-data-771a61ea.js → algolia-data-a98ccf4f.js} +2 -2
  4. package/dist/cjs/algolia-data-a98ccf4f.js.map +1 -0
  5. package/dist/cjs/algoliasearch.umd-5dc661c5.js +12 -0
  6. package/dist/cjs/algoliasearch.umd-5dc661c5.js.map +1 -0
  7. package/dist/cjs/{component-store-c8440fd7.js → component-store-8d99743e.js} +2 -2
  8. package/dist/cjs/{component-store-c8440fd7.js.map → component-store-8d99743e.js.map} +1 -1
  9. package/dist/cjs/{css-shim-208c6c2d.js → css-shim-8983f2ba.js} +2 -2
  10. package/dist/cjs/{css-shim-208c6c2d.js.map → css-shim-8983f2ba.js.map} +1 -1
  11. package/dist/cjs/{dom-1b5e30a5.js → dom-28d4395c.js} +2 -2
  12. package/dist/cjs/{dom-1b5e30a5.js.map → dom-28d4395c.js.map} +1 -1
  13. package/dist/cjs/{global-befb7a64.js → global-aa92d50f.js} +5 -3
  14. package/dist/cjs/global-aa92d50f.js.map +1 -0
  15. package/dist/cjs/{utils-e9e37c80.js → index-e517a673.js} +1 -1
  16. package/dist/cjs/{utils-e9e37c80.js.map → index-e517a673.js.map} +1 -1
  17. package/dist/cjs/{index-43791691.js → index-f12395b8.js} +10 -3
  18. package/dist/cjs/index-f12395b8.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +4 -4
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/loader.cjs.js +5 -5
  22. package/dist/cjs/loader.cjs.js.map +1 -1
  23. package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
  24. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nano-alert.cjs.entry.js +7 -7
  26. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
  28. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-algolia-input.cjs.entry.js +5 -5
  30. package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  32. package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
  33. package/dist/cjs/nano-algolia.cjs.entry.js +5 -5
  34. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +12 -4
  36. package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nano-checkbox-group.cjs.entry.js +31 -16
  38. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nano-checkbox.cjs.entry.js +33 -15
  40. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nano-components.cjs.js +5 -5
  42. package/dist/cjs/nano-components.cjs.js.map +1 -1
  43. package/dist/cjs/nano-date-input.cjs.entry.js +45 -13
  44. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nano-date-picker_2.cjs.entry.js +117 -72
  46. package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nano-details.cjs.entry.js +16 -10
  48. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nano-dialog.cjs.entry.js +5 -9
  50. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nano-drawer.cjs.entry.js +1 -1
  52. package/dist/cjs/nano-file-upload.cjs.entry.js +7 -14
  53. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-global-nav.cjs.entry.js +6 -6
  55. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -2
  57. package/dist/cjs/nano-grid_3.cjs.entry.js +1 -1
  58. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nano-hero.cjs.entry.js +3 -3
  60. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  61. package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
  62. package/dist/cjs/nano-icon.cjs.entry.js +1 -1
  63. package/dist/cjs/nano-input.cjs.entry.js +12 -2
  64. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  65. package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
  66. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nano-menu.cjs.entry.js +2 -2
  68. package/dist/cjs/nano-menu.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nano-nav-item_2.cjs.entry.js +6 -6
  70. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nano-range.cjs.entry.js +11 -11
  72. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nano-rating.cjs.entry.js +3 -3
  74. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  75. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
  76. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nano-select-option.cjs.entry.js +1 -1
  78. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  79. package/dist/cjs/nano-slides.cjs.entry.js +2 -2
  80. package/dist/cjs/nano-spinner.cjs.entry.js +2 -2
  81. package/dist/cjs/nano-sticker.cjs.entry.js +9 -9
  82. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  83. package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
  84. package/dist/cjs/nano-tab-group.cjs.entry.js +6 -6
  85. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  86. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  87. package/dist/cjs/nano-tooltip.cjs.entry.js +49 -35
  88. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  89. package/dist/cjs/{popover-eccc07bd.js → popover-9289f217.js} +32 -32
  90. package/dist/cjs/popover-9289f217.js.map +1 -0
  91. package/dist/cjs/{shadow-css-c5dce0c8.js → shadow-css-a482ec93.js} +2 -2
  92. package/dist/cjs/shadow-css-a482ec93.js.map +1 -0
  93. package/dist/collection/collection-manifest.json +1 -1
  94. package/dist/collection/components/accordion/accordion.js +2 -2
  95. package/dist/collection/components/accordion/accordion.js.map +1 -1
  96. package/dist/collection/components/alert/alert.css +3 -3
  97. package/dist/collection/components/alert/alert.helpers.js +1 -1
  98. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  99. package/dist/collection/components/alert/alert.js +2 -2
  100. package/dist/collection/components/alert/alert.js.map +1 -1
  101. package/dist/collection/components/algolia/algolia-data.js.map +1 -1
  102. package/dist/collection/components/algolia/algolia-filter.js +3 -3
  103. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  104. package/dist/collection/components/algolia/algolia-input.js +7 -7
  105. package/dist/collection/components/algolia/algolia-input.js.map +1 -1
  106. package/dist/collection/components/algolia/algolia-results.js +1 -1
  107. package/dist/collection/components/algolia/algolia.js +8 -8
  108. package/dist/collection/components/algolia/algolia.js.map +1 -1
  109. package/dist/collection/components/aspect-ratio/aspect-ratio.js +9 -1
  110. package/dist/collection/components/aspect-ratio/aspect-ratio.js.map +1 -1
  111. package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js +117 -0
  112. package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js.map +1 -0
  113. package/dist/collection/components/checkbox/checkbox-group.css +3 -3
  114. package/dist/collection/components/checkbox/checkbox-group.js +39 -26
  115. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  116. package/dist/collection/components/checkbox/checkbox.css +13 -2
  117. package/dist/collection/components/checkbox/checkbox.js +63 -28
  118. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  119. package/dist/collection/components/date-input/date-input.css +2 -4
  120. package/dist/collection/components/date-input/date-input.js +81 -29
  121. package/dist/collection/components/date-input/date-input.js.map +1 -1
  122. package/dist/collection/components/date-picker/date-picker.css +15 -4
  123. package/dist/collection/components/date-picker/date-picker.js +45 -17
  124. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  125. package/dist/collection/components/details/details.css +3 -3
  126. package/dist/collection/components/details/details.js +14 -8
  127. package/dist/collection/components/details/details.js.map +1 -1
  128. package/dist/collection/components/dialog/dialog.css +2 -3
  129. package/dist/collection/components/dialog/dialog.js +6 -10
  130. package/dist/collection/components/dialog/dialog.js.map +1 -1
  131. package/dist/collection/components/dropdown/dropdown.js +134 -85
  132. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  133. package/dist/collection/components/file-upload/file-upload-interface.js.map +1 -1
  134. package/dist/collection/components/file-upload/file-upload.css +9 -17
  135. package/dist/collection/components/file-upload/file-upload.js +17 -20
  136. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  137. package/dist/collection/components/global-nav/global-nav.css +2 -2
  138. package/dist/collection/components/global-nav/global-nav.js +5 -5
  139. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  140. package/dist/collection/components/global-search-results/global-search-results.css +3 -3
  141. package/dist/collection/components/grid/grid-item.js +1 -1
  142. package/dist/collection/components/grid/grid.js +1 -1
  143. package/dist/collection/components/grid/grid.js.map +1 -1
  144. package/dist/collection/components/hero/hero.js +1 -1
  145. package/dist/collection/components/hero/hero.js.map +1 -1
  146. package/dist/collection/components/icon/icon.js +1 -1
  147. package/dist/collection/components/icon-button/icon-button.css +2 -2
  148. package/dist/collection/components/input/input.css +9 -11
  149. package/dist/collection/components/input/input.js +26 -7
  150. package/dist/collection/components/input/input.js.map +1 -1
  151. package/dist/collection/components/menu/menu.css +7 -7
  152. package/dist/collection/components/menu/menu.js +1 -1
  153. package/dist/collection/components/menu/menu.js.map +1 -1
  154. package/dist/collection/components/menu-drawer/menu-drawer.js +1 -1
  155. package/dist/collection/components/menu-drawer/menu-drawer.js.map +1 -1
  156. package/dist/collection/components/nav-item/nav-item.js +5 -5
  157. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  158. package/dist/collection/components/range/range.css +4 -4
  159. package/dist/collection/components/range/range.js +5 -5
  160. package/dist/collection/components/range/range.js.map +1 -1
  161. package/dist/collection/components/rating/rating.js +1 -1
  162. package/dist/collection/components/rating/rating.js.map +1 -1
  163. package/dist/collection/components/resize-observe/resize-observe.js +2 -2
  164. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  165. package/dist/collection/components/select/select.css +4 -4
  166. package/dist/collection/components/select/select.js +6 -6
  167. package/dist/collection/components/select/select.js.map +1 -1
  168. package/dist/collection/components/slides/slides.css +2 -2
  169. package/dist/collection/components/slides/slides.js +7 -7
  170. package/dist/collection/components/spinner/spinner.css +2 -2
  171. package/dist/collection/components/sticky/sticker.js +1 -1
  172. package/dist/collection/components/sticky/sticker.js.map +1 -1
  173. package/dist/collection/components/tabs/tab-group.css +6 -6
  174. package/dist/collection/components/tabs/tab-group.js +3 -3
  175. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  176. package/dist/collection/components/tabs/tab.css +2 -2
  177. package/dist/collection/components/tooltip/tooltip.css +15 -13
  178. package/dist/collection/components/tooltip/tooltip.js +50 -34
  179. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  180. package/dist/collection/global/script/global.js +4 -2
  181. package/dist/collection/global/script/global.js.map +1 -1
  182. package/dist/collection/index.js +1 -1
  183. package/dist/collection/index.js.map +1 -1
  184. package/dist/collection/utils/gesture/swipe-back.js +1 -1
  185. package/dist/collection/utils/gesture/swipe-back.js.map +1 -1
  186. package/dist/collection/utils/{utils.js → index.js} +1 -1
  187. package/dist/collection/utils/{utils.js.map → index.js.map} +1 -1
  188. package/dist/collection/utils/store/component-store.js +1 -1
  189. package/dist/collection/utils/store/component-store.js.map +1 -1
  190. package/dist/collection/utils/testing/index.js +242 -0
  191. package/dist/collection/utils/testing/index.js.map +1 -0
  192. package/dist/custom-elements/index.js +374 -228
  193. package/dist/custom-elements/index.js.map +1 -1
  194. package/dist/esm/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
  195. package/dist/esm/algolia-data-b31a9800.js.map +1 -0
  196. package/dist/esm/algoliasearch.umd-7ecbe0e9.js +10 -0
  197. package/dist/esm/algoliasearch.umd-7ecbe0e9.js.map +1 -0
  198. package/dist/esm/{component-store-182d1931.js → component-store-93172454.js} +2 -2
  199. package/dist/esm/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
  200. package/dist/esm/{css-shim-f12af614.js → css-shim-4e602522.js} +2 -2
  201. package/dist/esm/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
  202. package/dist/esm/{dom-2f25dd5a.js → dom-acc01cc2.js} +2 -2
  203. package/dist/esm/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
  204. package/dist/esm/{global-c85d24a2.js → global-118ae701.js} +5 -3
  205. package/dist/esm/global-118ae701.js.map +1 -0
  206. package/dist/esm/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
  207. package/dist/esm/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
  208. package/dist/esm/{index-20becda2.js → index-912ef959.js} +10 -3
  209. package/dist/esm/index-912ef959.js.map +1 -0
  210. package/dist/esm/index.js +2 -2
  211. package/dist/esm/index.js.map +1 -1
  212. package/dist/esm/loader.js +5 -5
  213. package/dist/esm/loader.js.map +1 -1
  214. package/dist/esm/nano-accordion.entry.js +1 -1
  215. package/dist/esm/nano-accordion.entry.js.map +1 -1
  216. package/dist/esm/nano-alert.entry.js +3 -3
  217. package/dist/esm/nano-alert.entry.js.map +1 -1
  218. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  219. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  220. package/dist/esm/nano-algolia-input.entry.js +5 -5
  221. package/dist/esm/nano-algolia-input.entry.js.map +1 -1
  222. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  223. package/dist/esm/nano-algolia-results.entry.js +2 -2
  224. package/dist/esm/nano-algolia.entry.js +5 -5
  225. package/dist/esm/nano-algolia.entry.js.map +1 -1
  226. package/dist/esm/nano-aspect-ratio.entry.js +12 -4
  227. package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
  228. package/dist/esm/nano-checkbox-group.entry.js +31 -16
  229. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  230. package/dist/esm/nano-checkbox.entry.js +33 -15
  231. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  232. package/dist/esm/nano-components.js +5 -5
  233. package/dist/esm/nano-components.js.map +1 -1
  234. package/dist/esm/nano-date-input.entry.js +45 -13
  235. package/dist/esm/nano-date-input.entry.js.map +1 -1
  236. package/dist/esm/nano-date-picker_2.entry.js +116 -71
  237. package/dist/esm/nano-date-picker_2.entry.js.map +1 -1
  238. package/dist/esm/nano-details.entry.js +15 -9
  239. package/dist/esm/nano-details.entry.js.map +1 -1
  240. package/dist/esm/nano-dialog.entry.js +5 -9
  241. package/dist/esm/nano-dialog.entry.js.map +1 -1
  242. package/dist/esm/nano-drawer.entry.js +1 -1
  243. package/dist/esm/nano-file-upload.entry.js +7 -14
  244. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  245. package/dist/esm/nano-global-nav.entry.js +5 -5
  246. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  247. package/dist/esm/nano-global-search-results.entry.js +2 -2
  248. package/dist/esm/nano-grid_3.entry.js +1 -1
  249. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  250. package/dist/esm/nano-hero.entry.js +2 -2
  251. package/dist/esm/nano-hero.entry.js.map +1 -1
  252. package/dist/esm/nano-icon-button.entry.js +2 -2
  253. package/dist/esm/nano-icon.entry.js +1 -1
  254. package/dist/esm/nano-input.entry.js +12 -2
  255. package/dist/esm/nano-input.entry.js.map +1 -1
  256. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  257. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  258. package/dist/esm/nano-menu.entry.js +2 -2
  259. package/dist/esm/nano-menu.entry.js.map +1 -1
  260. package/dist/esm/nano-nav-item_2.entry.js +4 -4
  261. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  262. package/dist/esm/nano-range.entry.js +3 -3
  263. package/dist/esm/nano-range.entry.js.map +1 -1
  264. package/dist/esm/nano-rating.entry.js +2 -2
  265. package/dist/esm/nano-rating.entry.js.map +1 -1
  266. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  267. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  268. package/dist/esm/nano-select-option.entry.js +1 -1
  269. package/dist/esm/nano-slide.entry.js +1 -1
  270. package/dist/esm/nano-slides.entry.js +2 -2
  271. package/dist/esm/nano-spinner.entry.js +2 -2
  272. package/dist/esm/nano-sticker.entry.js +2 -2
  273. package/dist/esm/nano-sticker.entry.js.map +1 -1
  274. package/dist/esm/nano-tab-content.entry.js +1 -1
  275. package/dist/esm/nano-tab-group.entry.js +4 -4
  276. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  277. package/dist/esm/nano-tab.entry.js +2 -2
  278. package/dist/esm/nano-tooltip.entry.js +49 -35
  279. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  280. package/dist/esm/{popover-05f61b5f.js → popover-a57d8413.js} +32 -32
  281. package/dist/esm/popover-a57d8413.js.map +1 -0
  282. package/dist/esm/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +2 -2
  283. package/dist/esm/shadow-css-460f0f5c.js.map +1 -0
  284. package/dist/esm-es5/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
  285. package/dist/esm-es5/algolia-data-b31a9800.js.map +1 -0
  286. package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js +4 -0
  287. package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js.map +1 -0
  288. package/dist/esm-es5/{component-store-182d1931.js → component-store-93172454.js} +2 -2
  289. package/dist/esm-es5/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
  290. package/dist/esm-es5/{css-shim-f12af614.js → css-shim-4e602522.js} +1 -1
  291. package/dist/esm-es5/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
  292. package/dist/esm-es5/{dom-2f25dd5a.js → dom-acc01cc2.js} +1 -1
  293. package/dist/esm-es5/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
  294. package/dist/esm-es5/{global-c85d24a2.js → global-118ae701.js} +2 -2
  295. package/dist/esm-es5/global-118ae701.js.map +1 -0
  296. package/dist/esm-es5/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
  297. package/dist/esm-es5/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
  298. package/dist/esm-es5/index-912ef959.js +2 -0
  299. package/dist/esm-es5/index-912ef959.js.map +1 -0
  300. package/dist/esm-es5/index.js +1 -1
  301. package/dist/esm-es5/index.js.map +1 -1
  302. package/dist/esm-es5/loader.js +1 -1
  303. package/dist/esm-es5/loader.js.map +1 -1
  304. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  305. package/dist/esm-es5/nano-accordion.entry.js.map +1 -1
  306. package/dist/esm-es5/nano-alert.entry.js +1 -1
  307. package/dist/esm-es5/nano-alert.entry.js.map +1 -1
  308. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  309. package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
  310. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  311. package/dist/esm-es5/nano-algolia-input.entry.js.map +1 -1
  312. package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
  313. package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
  314. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  315. package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
  316. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  317. package/dist/esm-es5/nano-aspect-ratio.entry.js.map +1 -1
  318. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  319. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  320. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  321. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  322. package/dist/esm-es5/nano-components.js +1 -1
  323. package/dist/esm-es5/nano-components.js.map +1 -1
  324. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  325. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  326. package/dist/esm-es5/nano-date-picker_2.entry.js +1 -1
  327. package/dist/esm-es5/nano-date-picker_2.entry.js.map +1 -1
  328. package/dist/esm-es5/nano-details.entry.js +1 -1
  329. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  330. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  331. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  332. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  333. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  334. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  335. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  336. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  337. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  338. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  339. package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
  340. package/dist/esm-es5/nano-hero.entry.js +1 -1
  341. package/dist/esm-es5/nano-hero.entry.js.map +1 -1
  342. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  343. package/dist/esm-es5/nano-icon.entry.js +1 -1
  344. package/dist/esm-es5/nano-input.entry.js +1 -1
  345. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  346. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  347. package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
  348. package/dist/esm-es5/nano-menu.entry.js +1 -1
  349. package/dist/esm-es5/nano-menu.entry.js.map +1 -1
  350. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  351. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  352. package/dist/esm-es5/nano-range.entry.js +1 -1
  353. package/dist/esm-es5/nano-range.entry.js.map +1 -1
  354. package/dist/esm-es5/nano-rating.entry.js +1 -1
  355. package/dist/esm-es5/nano-rating.entry.js.map +1 -1
  356. package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
  357. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  358. package/dist/esm-es5/nano-select-option.entry.js +1 -1
  359. package/dist/esm-es5/nano-slide.entry.js +1 -1
  360. package/dist/esm-es5/nano-slides.entry.js +2 -2
  361. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  362. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  363. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  364. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  365. package/dist/esm-es5/nano-tab-group.entry.js +1 -1
  366. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  367. package/dist/esm-es5/nano-tab.entry.js +1 -1
  368. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  369. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  370. package/dist/esm-es5/popover-a57d8413.js +2 -0
  371. package/dist/{esm/popover-05f61b5f.js.map → esm-es5/popover-a57d8413.js.map} +1 -1
  372. package/dist/esm-es5/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +1 -1
  373. package/dist/esm-es5/shadow-css-460f0f5c.js.map +1 -0
  374. package/dist/nano-components/index.esm.js +1 -1
  375. package/dist/nano-components/index.esm.js.map +1 -1
  376. package/dist/nano-components/nano-components.esm.js +1 -1
  377. package/dist/nano-components/nano-components.esm.js.map +1 -1
  378. package/dist/nano-components/nano-components.js +1 -1
  379. package/dist/nano-components/{p-c8ff45ab.system.entry.js → p-007c6041.system.entry.js} +2 -2
  380. package/dist/nano-components/{p-c8ff45ab.system.entry.js.map → p-007c6041.system.entry.js.map} +0 -0
  381. package/dist/nano-components/{p-1ce90ea4.entry.js → p-02177814.entry.js} +2 -2
  382. package/dist/nano-components/p-02177814.entry.js.map +1 -0
  383. package/dist/nano-components/{p-9b9ca075.system.entry.js → p-046af455.system.entry.js} +2 -2
  384. package/dist/nano-components/p-046af455.system.entry.js.map +1 -0
  385. package/dist/nano-components/p-05c062ae.js +4 -0
  386. package/dist/nano-components/p-05c062ae.js.map +1 -0
  387. package/dist/nano-components/{p-4365edc6.js → p-0c9eb057.js} +1 -1
  388. package/dist/nano-components/{p-4365edc6.js.map → p-0c9eb057.js.map} +1 -1
  389. package/dist/nano-components/{p-dce1f547.entry.js → p-104a9d64.entry.js} +2 -2
  390. package/dist/nano-components/p-104a9d64.entry.js.map +1 -0
  391. package/dist/nano-components/{p-8611e764.system.entry.js → p-10f24f67.system.entry.js} +2 -2
  392. package/dist/nano-components/{p-8611e764.system.entry.js.map → p-10f24f67.system.entry.js.map} +0 -0
  393. package/dist/nano-components/p-1477b91d.system.js +2 -0
  394. package/dist/nano-components/p-1477b91d.system.js.map +1 -0
  395. package/dist/nano-components/{p-461c539f.system.entry.js → p-1c7614c4.system.entry.js} +2 -2
  396. package/dist/nano-components/p-1c7614c4.system.entry.js.map +1 -0
  397. package/dist/nano-components/{p-8a41ccd9.system.entry.js → p-1d16e897.system.entry.js} +2 -2
  398. package/dist/nano-components/{p-8a41ccd9.system.entry.js.map → p-1d16e897.system.entry.js.map} +0 -0
  399. package/dist/nano-components/{p-4042379b.system.entry.js → p-21a6f295.system.entry.js} +2 -2
  400. package/dist/nano-components/p-21a6f295.system.entry.js.map +1 -0
  401. package/dist/nano-components/{p-9a456956.system.js → p-2671d998.system.js} +2 -2
  402. package/dist/nano-components/p-2671d998.system.js.map +1 -0
  403. package/dist/nano-components/{p-7367dfd5.system.entry.js → p-273b19b0.system.entry.js} +2 -2
  404. package/dist/nano-components/{p-7367dfd5.system.entry.js.map → p-273b19b0.system.entry.js.map} +0 -0
  405. package/dist/nano-components/p-28123e6e.entry.js +2 -0
  406. package/dist/nano-components/p-28123e6e.entry.js.map +1 -0
  407. package/dist/nano-components/{p-7b3de191.entry.js → p-2ae39fa1.entry.js} +2 -2
  408. package/dist/nano-components/p-2ae39fa1.entry.js.map +1 -0
  409. package/dist/nano-components/{p-47d2a49e.system.js → p-2d0b8da6.system.js} +1 -1
  410. package/dist/nano-components/{p-47d2a49e.system.js.map → p-2d0b8da6.system.js.map} +1 -1
  411. package/dist/nano-components/{p-6a9fe61f.system.entry.js → p-2edaf0eb.system.entry.js} +3 -3
  412. package/dist/nano-components/{p-6a9fe61f.system.entry.js.map → p-2edaf0eb.system.entry.js.map} +0 -0
  413. package/dist/nano-components/{p-be430309.system.entry.js → p-2f876f68.system.entry.js} +2 -2
  414. package/dist/nano-components/{p-be430309.system.entry.js.map → p-2f876f68.system.entry.js.map} +1 -1
  415. package/dist/nano-components/{p-e1429ff0.system.entry.js → p-305ba54b.system.entry.js} +2 -2
  416. package/dist/nano-components/p-305ba54b.system.entry.js.map +1 -0
  417. package/dist/nano-components/{p-e142f6b6.system.entry.js → p-30a22cd0.system.entry.js} +2 -2
  418. package/dist/nano-components/p-30a22cd0.system.entry.js.map +1 -0
  419. package/dist/nano-components/{p-a897cfae.system.entry.js → p-31c52d0a.system.entry.js} +2 -2
  420. package/dist/nano-components/p-31c52d0a.system.entry.js.map +1 -0
  421. package/dist/nano-components/{p-f578998d.system.entry.js → p-325f32b3.system.entry.js} +2 -2
  422. package/dist/nano-components/p-325f32b3.system.entry.js.map +1 -0
  423. package/dist/nano-components/{p-bc09eba8.entry.js → p-3b2ea5fd.entry.js} +2 -2
  424. package/dist/nano-components/p-3b2ea5fd.entry.js.map +1 -0
  425. package/dist/nano-components/{p-0283a2ec.js → p-4370f8ae.js} +2 -2
  426. package/dist/nano-components/p-4370f8ae.js.map +1 -0
  427. package/dist/nano-components/{p-d7eb8c22.system.js → p-4647a31f.system.js} +2 -2
  428. package/dist/nano-components/{p-d7eb8c22.system.js.map → p-4647a31f.system.js.map} +1 -1
  429. package/dist/nano-components/{p-79e11525.system.entry.js → p-491096f0.system.entry.js} +2 -2
  430. package/dist/nano-components/p-491096f0.system.entry.js.map +1 -0
  431. package/dist/nano-components/{p-fb8aa0a7.system.entry.js → p-4e21bfe1.system.entry.js} +2 -2
  432. package/dist/nano-components/{p-fb8aa0a7.system.entry.js.map → p-4e21bfe1.system.entry.js.map} +0 -0
  433. package/dist/nano-components/{p-847ce50c.entry.js → p-4fa0b560.entry.js} +2 -2
  434. package/dist/nano-components/{p-847ce50c.entry.js.map → p-4fa0b560.entry.js.map} +0 -0
  435. package/dist/nano-components/{p-1bd92497.system.entry.js → p-4fbc3c8b.system.entry.js} +2 -2
  436. package/dist/nano-components/{p-1bd92497.system.entry.js.map → p-4fbc3c8b.system.entry.js.map} +0 -0
  437. package/dist/nano-components/{p-5198e4c6.system.js → p-508484f8.system.js} +2 -2
  438. package/dist/nano-components/p-508484f8.system.js.map +1 -0
  439. package/dist/nano-components/p-5672ebbb.system.entry.js +2 -0
  440. package/dist/nano-components/p-5672ebbb.system.entry.js.map +1 -0
  441. package/dist/nano-components/{p-405d92a0.entry.js → p-574143b5.entry.js} +2 -2
  442. package/dist/nano-components/{p-405d92a0.entry.js.map → p-574143b5.entry.js.map} +0 -0
  443. package/dist/nano-components/{p-346f0d8c.system.entry.js → p-57434dc5.system.entry.js} +2 -2
  444. package/dist/nano-components/{p-346f0d8c.system.entry.js.map → p-57434dc5.system.entry.js.map} +0 -0
  445. package/dist/nano-components/{p-7b94cd1c.entry.js → p-574f1393.entry.js} +2 -2
  446. package/dist/nano-components/p-574f1393.entry.js.map +1 -0
  447. package/dist/nano-components/{p-6b22f5db.entry.js → p-580eac05.entry.js} +2 -2
  448. package/dist/nano-components/p-580eac05.entry.js.map +1 -0
  449. package/dist/nano-components/{p-fa884269.entry.js → p-59aba360.entry.js} +2 -2
  450. package/dist/nano-components/{p-fa884269.entry.js.map → p-59aba360.entry.js.map} +0 -0
  451. package/dist/nano-components/{p-e886b71e.system.js → p-698a8ab3.system.js} +2 -2
  452. package/dist/nano-components/p-698a8ab3.system.js.map +1 -0
  453. package/dist/nano-components/{p-6ba91d36.entry.js → p-6a3eee01.entry.js} +2 -2
  454. package/dist/nano-components/p-6a3eee01.entry.js.map +1 -0
  455. package/dist/nano-components/{p-1ed74370.entry.js → p-6aab52a0.entry.js} +2 -2
  456. package/dist/nano-components/p-6aab52a0.entry.js.map +1 -0
  457. package/dist/nano-components/{p-e5a19e7f.entry.js → p-6dc59ae8.entry.js} +2 -2
  458. package/dist/nano-components/{p-e5a19e7f.entry.js.map → p-6dc59ae8.entry.js.map} +0 -0
  459. package/dist/nano-components/{p-c171b273.entry.js → p-6eba639a.entry.js} +3 -3
  460. package/dist/nano-components/{p-c171b273.entry.js.map → p-6eba639a.entry.js.map} +0 -0
  461. package/dist/nano-components/{p-4739c706.system.entry.js → p-73d969d0.system.entry.js} +2 -2
  462. package/dist/nano-components/{p-4739c706.system.entry.js.map → p-73d969d0.system.entry.js.map} +1 -1
  463. package/dist/nano-components/{p-a50ca06f.system.entry.js → p-7dc79f13.system.entry.js} +2 -2
  464. package/dist/nano-components/{p-a50ca06f.system.entry.js.map → p-7dc79f13.system.entry.js.map} +0 -0
  465. package/dist/nano-components/{p-ba59977d.entry.js → p-7df31b1c.entry.js} +2 -2
  466. package/dist/nano-components/{p-ba59977d.entry.js.map → p-7df31b1c.entry.js.map} +0 -0
  467. package/dist/nano-components/{p-60b2ba81.system.entry.js → p-7e208086.system.entry.js} +2 -2
  468. package/dist/nano-components/p-7e208086.system.entry.js.map +1 -0
  469. package/dist/nano-components/{p-63cc5e0d.system.entry.js → p-7e4129b4.system.entry.js} +2 -2
  470. package/dist/nano-components/{p-63cc5e0d.system.entry.js.map → p-7e4129b4.system.entry.js.map} +0 -0
  471. package/dist/nano-components/{p-7fdff708.entry.js → p-7e68796f.entry.js} +2 -2
  472. package/dist/nano-components/p-7e68796f.entry.js.map +1 -0
  473. package/dist/nano-components/{p-027c5ed7.entry.js → p-81d7fd45.entry.js} +2 -2
  474. package/dist/nano-components/{p-027c5ed7.entry.js.map → p-81d7fd45.entry.js.map} +0 -0
  475. package/dist/nano-components/{p-d795cbd4.entry.js → p-82571543.entry.js} +2 -2
  476. package/dist/nano-components/p-82571543.entry.js.map +1 -0
  477. package/dist/nano-components/{p-7a0e9c6f.system.entry.js → p-844a1134.system.entry.js} +2 -2
  478. package/dist/nano-components/{p-7a0e9c6f.system.entry.js.map → p-844a1134.system.entry.js.map} +0 -0
  479. package/dist/nano-components/p-8535a942.entry.js +2 -0
  480. package/dist/nano-components/p-8535a942.entry.js.map +1 -0
  481. package/dist/nano-components/{p-c6796f75.entry.js → p-8c1d85ae.entry.js} +2 -2
  482. package/dist/nano-components/p-8c1d85ae.entry.js.map +1 -0
  483. package/dist/nano-components/{p-b6f5e5ef.system.js → p-8d24287e.system.js} +1 -1
  484. package/dist/nano-components/{p-b6f5e5ef.system.js.map → p-8d24287e.system.js.map} +1 -1
  485. package/dist/nano-components/{p-20ad4e90.system.entry.js → p-8ed6acea.system.entry.js} +2 -2
  486. package/dist/nano-components/{p-20ad4e90.system.entry.js.map → p-8ed6acea.system.entry.js.map} +0 -0
  487. package/dist/nano-components/p-9164e5e2.system.entry.js +2 -0
  488. package/dist/nano-components/p-9164e5e2.system.entry.js.map +1 -0
  489. package/dist/nano-components/{p-9920e725.system.js → p-9348c301.system.js} +1 -1
  490. package/dist/nano-components/p-9348c301.system.js.map +1 -0
  491. package/dist/nano-components/p-9371d81b.system.entry.js +2 -0
  492. package/dist/nano-components/p-9371d81b.system.entry.js.map +1 -0
  493. package/dist/nano-components/{p-89a5c54a.system.js → p-94f03788.system.js} +1 -1
  494. package/dist/nano-components/{p-89a5c54a.system.js.map → p-94f03788.system.js.map} +1 -1
  495. package/dist/nano-components/{p-fa926d02.system.entry.js → p-95a4c3f2.system.entry.js} +2 -2
  496. package/dist/nano-components/p-95a4c3f2.system.entry.js.map +1 -0
  497. package/dist/nano-components/p-96ba0d00.entry.js +2 -0
  498. package/dist/nano-components/p-96ba0d00.entry.js.map +1 -0
  499. package/dist/nano-components/p-99637978.entry.js +2 -0
  500. package/dist/nano-components/p-99637978.entry.js.map +1 -0
  501. package/dist/nano-components/{p-f5f76780.entry.js → p-9ccd832b.entry.js} +2 -2
  502. package/dist/nano-components/p-9ccd832b.entry.js.map +1 -0
  503. package/dist/nano-components/{p-e1fd68eb.js → p-a1680208.js} +2 -2
  504. package/dist/nano-components/{p-e1fd68eb.js.map → p-a1680208.js.map} +1 -1
  505. package/dist/nano-components/{p-fb7ae92c.entry.js → p-a53a193c.entry.js} +2 -2
  506. package/dist/nano-components/p-a53a193c.entry.js.map +1 -0
  507. package/dist/nano-components/p-a7ac7964.system.entry.js +2 -0
  508. package/dist/nano-components/p-a7ac7964.system.entry.js.map +1 -0
  509. package/dist/nano-components/{p-ec01a0ad.system.entry.js → p-aadd8c31.system.entry.js} +2 -2
  510. package/dist/nano-components/p-aadd8c31.system.entry.js.map +1 -0
  511. package/dist/nano-components/p-ab666582.entry.js +2 -0
  512. package/dist/nano-components/p-ab666582.entry.js.map +1 -0
  513. package/dist/nano-components/p-acd5d0f0.system.entry.js +2 -0
  514. package/dist/nano-components/p-acd5d0f0.system.entry.js.map +1 -0
  515. package/dist/nano-components/p-af9f6453.system.js +2 -0
  516. package/dist/nano-components/p-af9f6453.system.js.map +1 -0
  517. package/dist/nano-components/p-b1d3ab54.system.entry.js +2 -0
  518. package/dist/nano-components/p-b1d3ab54.system.entry.js.map +1 -0
  519. package/dist/nano-components/{p-27520572.entry.js → p-b3131821.entry.js} +2 -2
  520. package/dist/nano-components/{p-27520572.entry.js.map → p-b3131821.entry.js.map} +0 -0
  521. package/dist/nano-components/{p-e24d3e8a.entry.js → p-b7a58722.entry.js} +2 -2
  522. package/dist/nano-components/p-b7a58722.entry.js.map +1 -0
  523. package/dist/nano-components/p-bb0619e6.js +2 -0
  524. package/dist/nano-components/p-bb0619e6.js.map +1 -0
  525. package/dist/nano-components/{p-d0c501a0.entry.js → p-c3f861c5.entry.js} +2 -2
  526. package/dist/nano-components/{p-d0c501a0.entry.js.map → p-c3f861c5.entry.js.map} +1 -1
  527. package/dist/nano-components/{p-21f484a3.system.entry.js → p-c655e010.system.entry.js} +2 -2
  528. package/dist/nano-components/{p-21f484a3.system.entry.js.map → p-c655e010.system.entry.js.map} +1 -1
  529. package/dist/nano-components/p-c72b22be.entry.js +2 -0
  530. package/dist/nano-components/p-c72b22be.entry.js.map +1 -0
  531. package/dist/nano-components/p-d112948c.js +2 -0
  532. package/dist/nano-components/p-d112948c.js.map +1 -0
  533. package/dist/nano-components/{p-09b702fb.entry.js → p-d250987a.entry.js} +2 -2
  534. package/dist/nano-components/{p-09b702fb.entry.js.map → p-d250987a.entry.js.map} +0 -0
  535. package/dist/nano-components/p-d393d10a.system.entry.js +2 -0
  536. package/dist/nano-components/p-d393d10a.system.entry.js.map +1 -0
  537. package/dist/nano-components/p-db271541.entry.js +2 -0
  538. package/dist/nano-components/p-db271541.entry.js.map +1 -0
  539. package/dist/nano-components/p-dccd86ec.system.js +4 -0
  540. package/dist/nano-components/p-dccd86ec.system.js.map +1 -0
  541. package/dist/nano-components/p-e0cc37fb.entry.js +2 -0
  542. package/dist/nano-components/{p-2e1f6c4a.entry.js.map → p-e0cc37fb.entry.js.map} +1 -1
  543. package/dist/nano-components/{p-76bf0452.system.entry.js → p-e28536b4.system.entry.js} +2 -2
  544. package/dist/nano-components/p-e28536b4.system.entry.js.map +1 -0
  545. package/dist/nano-components/{p-acfe1b68.entry.js → p-ebf34764.entry.js} +2 -2
  546. package/dist/nano-components/{p-acfe1b68.entry.js.map → p-ebf34764.entry.js.map} +0 -0
  547. package/dist/nano-components/{p-e33dd8b9.js → p-ed174626.js} +1 -1
  548. package/dist/nano-components/p-ed174626.js.map +1 -0
  549. package/dist/nano-components/{p-c930d4f5.js → p-ed2efbeb.js} +1 -1
  550. package/dist/nano-components/{p-c930d4f5.js.map → p-ed2efbeb.js.map} +1 -1
  551. package/dist/nano-components/p-edddeaae.system.js +2 -0
  552. package/dist/nano-components/p-edddeaae.system.js.map +1 -0
  553. package/dist/nano-components/p-ef5d9308.entry.js +2 -0
  554. package/dist/nano-components/p-ef5d9308.entry.js.map +1 -0
  555. package/dist/nano-components/p-f234e064.system.entry.js +2 -0
  556. package/dist/nano-components/p-f234e064.system.entry.js.map +1 -0
  557. package/dist/nano-components/{p-507490fc.system.entry.js → p-f27c9429.system.entry.js} +2 -2
  558. package/dist/nano-components/{p-507490fc.system.entry.js.map → p-f27c9429.system.entry.js.map} +1 -1
  559. package/dist/nano-components/{p-372ce425.entry.js → p-f3688bce.entry.js} +2 -2
  560. package/dist/nano-components/{p-372ce425.entry.js.map → p-f3688bce.entry.js.map} +0 -0
  561. package/dist/nano-components/{p-35eb8352.system.entry.js → p-f86db7c0.system.entry.js} +2 -2
  562. package/dist/nano-components/{p-35eb8352.system.entry.js.map → p-f86db7c0.system.entry.js.map} +1 -1
  563. package/dist/nano-components/{p-6747f517.system.entry.js → p-fa86645d.system.entry.js} +2 -2
  564. package/dist/nano-components/p-fa86645d.system.entry.js.map +1 -0
  565. package/dist/nano-components/{p-9c26b459.js → p-fd0fca23.js} +1 -1
  566. package/dist/nano-components/{p-9c26b459.js.map → p-fd0fca23.js.map} +1 -1
  567. package/dist/nano-components/p-fdfa03d7.entry.js +2 -0
  568. package/dist/nano-components/p-fdfa03d7.entry.js.map +1 -0
  569. package/dist/nano-components/p-ff2ff5b0.js +2 -0
  570. package/dist/nano-components/p-ff2ff5b0.js.map +1 -0
  571. package/dist/nano-components/p-ff5890b4.entry.js +2 -0
  572. package/dist/nano-components/p-ff5890b4.entry.js.map +1 -0
  573. package/dist/nano-components/{p-23e9f09e.entry.js → p-ffab923c.entry.js} +2 -2
  574. package/dist/nano-components/p-ffab923c.entry.js.map +1 -0
  575. package/dist/themes/nanopore.css +1 -1
  576. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +1 -1
  577. package/dist/types/components/checkbox/__tests__/__fixtures__/checkbox-templates.d.ts +8 -0
  578. package/dist/types/components/checkbox/checkbox-group.d.ts +4 -2
  579. package/dist/types/components/checkbox/checkbox.d.ts +9 -5
  580. package/dist/types/components/date-input/date-input.d.ts +9 -0
  581. package/dist/types/components/date-picker/date-picker.d.ts +9 -4
  582. package/dist/types/components/details/details.d.ts +1 -0
  583. package/dist/types/components/dropdown/dropdown.d.ts +21 -14
  584. package/dist/types/components/file-upload/file-upload-interface.d.ts +4 -3
  585. package/dist/types/components/file-upload/file-upload.d.ts +2 -12
  586. package/dist/types/components/input/input.d.ts +2 -1
  587. package/dist/types/components/tooltip/tooltip.d.ts +10 -7
  588. package/dist/types/components.d.ts +40 -14
  589. package/dist/types/index.d.ts +1 -1
  590. package/dist/types/utils/{utils.d.ts → index.d.ts} +0 -0
  591. package/dist/types/utils/testing/index.d.ts +49 -0
  592. package/docs-json.json +125 -47
  593. package/docs-vscode.json +9 -1
  594. package/package.json +10 -8
  595. package/dist/cjs/algolia-data-771a61ea.js.map +0 -1
  596. package/dist/cjs/algoliasearch.umd-51f0001d.js +0 -12
  597. package/dist/cjs/algoliasearch.umd-51f0001d.js.map +0 -1
  598. package/dist/cjs/global-befb7a64.js.map +0 -1
  599. package/dist/cjs/index-43791691.js.map +0 -1
  600. package/dist/cjs/popover-eccc07bd.js.map +0 -1
  601. package/dist/cjs/shadow-css-c5dce0c8.js.map +0 -1
  602. package/dist/collection/utils/testing-utils.js +0 -156
  603. package/dist/collection/utils/testing-utils.js.map +0 -1
  604. package/dist/esm/algolia-data-a84aeef1.js.map +0 -1
  605. package/dist/esm/algoliasearch.umd-2c129faa.js +0 -10
  606. package/dist/esm/algoliasearch.umd-2c129faa.js.map +0 -1
  607. package/dist/esm/global-c85d24a2.js.map +0 -1
  608. package/dist/esm/index-20becda2.js.map +0 -1
  609. package/dist/esm/shadow-css-70953e54.js.map +0 -1
  610. package/dist/esm-es5/algolia-data-a84aeef1.js.map +0 -1
  611. package/dist/esm-es5/algoliasearch.umd-2c129faa.js +0 -4
  612. package/dist/esm-es5/algoliasearch.umd-2c129faa.js.map +0 -1
  613. package/dist/esm-es5/global-c85d24a2.js.map +0 -1
  614. package/dist/esm-es5/index-20becda2.js +0 -2
  615. package/dist/esm-es5/index-20becda2.js.map +0 -1
  616. package/dist/esm-es5/popover-05f61b5f.js +0 -2
  617. package/dist/esm-es5/popover-05f61b5f.js.map +0 -1
  618. package/dist/esm-es5/shadow-css-70953e54.js.map +0 -1
  619. package/dist/nano-components/p-0283a2ec.js.map +0 -1
  620. package/dist/nano-components/p-1ce90ea4.entry.js.map +0 -1
  621. package/dist/nano-components/p-1ed74370.entry.js.map +0 -1
  622. package/dist/nano-components/p-1f7502fa.js +0 -2
  623. package/dist/nano-components/p-1f7502fa.js.map +0 -1
  624. package/dist/nano-components/p-1fd60eec.system.js +0 -2
  625. package/dist/nano-components/p-1fd60eec.system.js.map +0 -1
  626. package/dist/nano-components/p-201b5f5b.entry.js +0 -2
  627. package/dist/nano-components/p-201b5f5b.entry.js.map +0 -1
  628. package/dist/nano-components/p-214ad382.entry.js +0 -2
  629. package/dist/nano-components/p-214ad382.entry.js.map +0 -1
  630. package/dist/nano-components/p-23da4de5.js +0 -4
  631. package/dist/nano-components/p-23da4de5.js.map +0 -1
  632. package/dist/nano-components/p-23e9f09e.entry.js.map +0 -1
  633. package/dist/nano-components/p-2d59dda3.system.js +0 -2
  634. package/dist/nano-components/p-2d59dda3.system.js.map +0 -1
  635. package/dist/nano-components/p-2e1f6c4a.entry.js +0 -2
  636. package/dist/nano-components/p-4042379b.system.entry.js.map +0 -1
  637. package/dist/nano-components/p-45e06083.system.entry.js +0 -2
  638. package/dist/nano-components/p-45e06083.system.entry.js.map +0 -1
  639. package/dist/nano-components/p-461c539f.system.entry.js.map +0 -1
  640. package/dist/nano-components/p-4bca8761.entry.js +0 -2
  641. package/dist/nano-components/p-4bca8761.entry.js.map +0 -1
  642. package/dist/nano-components/p-4ee095f3.js +0 -2
  643. package/dist/nano-components/p-4ee095f3.js.map +0 -1
  644. package/dist/nano-components/p-5198e4c6.system.js.map +0 -1
  645. package/dist/nano-components/p-568be88a.entry.js +0 -2
  646. package/dist/nano-components/p-568be88a.entry.js.map +0 -1
  647. package/dist/nano-components/p-5918ac51.entry.js +0 -2
  648. package/dist/nano-components/p-5918ac51.entry.js.map +0 -1
  649. package/dist/nano-components/p-5f716719.system.entry.js +0 -2
  650. package/dist/nano-components/p-5f716719.system.entry.js.map +0 -1
  651. package/dist/nano-components/p-60b2ba81.system.entry.js.map +0 -1
  652. package/dist/nano-components/p-6747f517.system.entry.js.map +0 -1
  653. package/dist/nano-components/p-6b22f5db.entry.js.map +0 -1
  654. package/dist/nano-components/p-6ba91d36.entry.js.map +0 -1
  655. package/dist/nano-components/p-76bf0452.system.entry.js.map +0 -1
  656. package/dist/nano-components/p-79e11525.system.entry.js.map +0 -1
  657. package/dist/nano-components/p-7b3de191.entry.js.map +0 -1
  658. package/dist/nano-components/p-7b94cd1c.entry.js.map +0 -1
  659. package/dist/nano-components/p-7f3b4f80.entry.js +0 -2
  660. package/dist/nano-components/p-7f3b4f80.entry.js.map +0 -1
  661. package/dist/nano-components/p-7fdff708.entry.js.map +0 -1
  662. package/dist/nano-components/p-8fe04c5c.system.entry.js +0 -2
  663. package/dist/nano-components/p-8fe04c5c.system.entry.js.map +0 -1
  664. package/dist/nano-components/p-93b1eeea.system.js +0 -2
  665. package/dist/nano-components/p-93b1eeea.system.js.map +0 -1
  666. package/dist/nano-components/p-9920e725.system.js.map +0 -1
  667. package/dist/nano-components/p-9a456956.system.js.map +0 -1
  668. package/dist/nano-components/p-9b9ca075.system.entry.js.map +0 -1
  669. package/dist/nano-components/p-a897cfae.system.entry.js.map +0 -1
  670. package/dist/nano-components/p-bc09eba8.entry.js.map +0 -1
  671. package/dist/nano-components/p-c3401b82.entry.js +0 -2
  672. package/dist/nano-components/p-c3401b82.entry.js.map +0 -1
  673. package/dist/nano-components/p-c4edcfc5.system.entry.js +0 -2
  674. package/dist/nano-components/p-c4edcfc5.system.entry.js.map +0 -1
  675. package/dist/nano-components/p-c6796f75.entry.js.map +0 -1
  676. package/dist/nano-components/p-c8792b54.system.entry.js +0 -2
  677. package/dist/nano-components/p-c8792b54.system.entry.js.map +0 -1
  678. package/dist/nano-components/p-cb750e49.system.js +0 -4
  679. package/dist/nano-components/p-cb750e49.system.js.map +0 -1
  680. package/dist/nano-components/p-cc5080df.entry.js +0 -2
  681. package/dist/nano-components/p-cc5080df.entry.js.map +0 -1
  682. package/dist/nano-components/p-d2ae5ac1.entry.js +0 -2
  683. package/dist/nano-components/p-d2ae5ac1.entry.js.map +0 -1
  684. package/dist/nano-components/p-d795cbd4.entry.js.map +0 -1
  685. package/dist/nano-components/p-da9f75d2.system.entry.js +0 -2
  686. package/dist/nano-components/p-da9f75d2.system.entry.js.map +0 -1
  687. package/dist/nano-components/p-dce1f547.entry.js.map +0 -1
  688. package/dist/nano-components/p-dd66cc74.entry.js +0 -2
  689. package/dist/nano-components/p-dd66cc74.entry.js.map +0 -1
  690. package/dist/nano-components/p-e1429ff0.system.entry.js.map +0 -1
  691. package/dist/nano-components/p-e142f6b6.system.entry.js.map +0 -1
  692. package/dist/nano-components/p-e24d3e8a.entry.js.map +0 -1
  693. package/dist/nano-components/p-e2848c8a.system.entry.js +0 -2
  694. package/dist/nano-components/p-e2848c8a.system.entry.js.map +0 -1
  695. package/dist/nano-components/p-e33dd8b9.js.map +0 -1
  696. package/dist/nano-components/p-e886b71e.system.js.map +0 -1
  697. package/dist/nano-components/p-e8a97250.system.entry.js +0 -2
  698. package/dist/nano-components/p-e8a97250.system.entry.js.map +0 -1
  699. package/dist/nano-components/p-ec01a0ad.system.entry.js.map +0 -1
  700. package/dist/nano-components/p-f55560d3.js +0 -2
  701. package/dist/nano-components/p-f55560d3.js.map +0 -1
  702. package/dist/nano-components/p-f578998d.system.entry.js.map +0 -1
  703. package/dist/nano-components/p-f5f76780.entry.js.map +0 -1
  704. package/dist/nano-components/p-fa926d02.system.entry.js.map +0 -1
  705. package/dist/nano-components/p-fb7ae92c.entry.js.map +0 -1
  706. package/dist/types/utils/testing-utils.d.ts +0 -41
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/tabs/tab-group.tsx","src/components/tabs/tab-group.scss?tag=nano-tab-group&encapsulation=shadow"],"names":["TabGroup","[object Object]","hostRef","this","initialTouchX","initialTouchY","hasScrollControls","hideControlRight","hideControlLeft","isLegacy","document","head","attachShadow","placement","noScrollControls","storeMethod","updateScrollControls","includes","nav","scrollWidth","clientWidth","tabs","handleClick","event","tab","target","closest","setActiveTab","handleKeyDown","key","preventDefault","activeEl","activeElement","tagName","toLowerCase","getAllTabs","index","indexOf","length","isRtl","Math","max","min","setFocus","scrollIntoView","handleTabScroll","endRight","scrollLeft","handleBtnClick","goRight","navWidth","getNavWidth","leftAmt","scroll","left","behavior","e","handleTouchStart","touch","changedTouches","pageX","pageY","handleTouchEnd","distX","distY","xDiff","clientX","yDiff","clientY","isHorizontalSwipe","abs","currIndex","findIndex","el","active","toGo","activePanel","setAttribute","activeTab","panel","find","syncActiveTabIndicator","rightBtn","displayTransition","leftBtn","setTimeout","includeDisabled","Array","from","host","querySelectorAll","filter","disabled","emitEvents","previousTab","map","getAllPanels","name","removeAttribute","nanoTabHide","emit","nanoTabShow","panels","getAttribute","forEach","getActiveTab","width","height","clientHeight","offset","getOffset","offsetTop","top","scrollTop","offsetLeft","activeTabIndicator","style","transform","computedStyle","getComputedStyle","parseFloat","paddingLeft","paddingRight","IntersectionObserver","entries","observer","intersectionRatio","setAriaLabels","storeId","ComponentStore","init","unobserve","observe","focusVisible","tabGroup","resizeObserver","ResizeObserver","mutationObserver","MutationObserver","mutations","some","mutation","attributeName","attributes","childList","subtree","requestAnimationFrame","dir","ownerDocument","disconnect","h","Host","class","Object","assign","createColorClasses","color","legacy","part","ref","nano-tab-group","nano-tab-group--top","nano-tab-group--start","nano-tab-group--has-scroll-controls","nano-tab-group--has-scroll-controls-left","nano-tab-group--has-scroll-controls-right","onClick","onKeyDown","nano-tab-group__scroll-button","nano-tab-group__scroll-button--left","btn","onScroll","role","nano-tab-group__scroll-button--right","onTouchStart","onTouchEnd"],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n ComponentInterface,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { scrollIntoView } from '../../utils/scroll';\nimport { focusVisible } from '../../utils/focus-visible';\nimport {\n displayTransition,\n createColorClasses,\n getOffset,\n} from '../../utils/utils';\nimport { Color } from '../../interface';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\n/**\n * A tradtional tab implementation. It nests `nano-tab` and `nano-tab-content` sub-components.\n *\n * Tabs can be stacked vertically or horizontally (which presents different styling variations) using the `placement` attribute.\n * Horizonal tabs that don't fit will overflow and scroll appropriately.\n * Tab-content can also be swiped to change tabs.\n *\n * @slot tabs - Add `nano-tab` elements to add clickable tabs.\n * @slot tab-content-header = a header bar displayed above tab content.\n * @slot - Add `nano-tab-content` elements to add tabbable content.\n */\n\n@Component({\n tag: 'nano-tab-group',\n styleUrl: 'tab-group.scss',\n shadow: true,\n})\nexport class TabGroup implements ComponentInterface {\n private activeTab: HTMLNanoTabElement;\n private activePanel: HTMLNanoTabContentElement;\n private activeTabIndicator: HTMLElement;\n private nav: HTMLElement;\n private tabGroup: HTMLElement;\n private tabs: HTMLElement;\n private rightBtn: HTMLButtonElement;\n private leftBtn: HTMLButtonElement;\n\n private isRtl: boolean;\n private initialTouchX: number = null;\n private initialTouchY: number = null;\n\n private resizeObserver: ResizeObserver;\n private mutationObserver: MutationObserver;\n\n @Element() host: HTMLNanoTabGroupElement;\n\n @State() hasScrollControls = false;\n @State() hideControlRight = true;\n @State() hideControlLeft = true;\n @State() isLegacy = !document.head.attachShadow;\n @State() tab: string;\n\n /**\n * The placement of the tabs.\n */\n @Prop() placement: 'top' | 'start' = 'top';\n\n /**\n * Disables the scroll arrows that appear when tabs overflow.\n */\n @Prop() noScrollControls = false;\n\n /**\n * The color to use from the application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * Store the currently open tab (against this ID) in 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 @Watch('tab')\n handleTabNameChange() {\n if (this.activeTab && this.activeTab.panel === this.tab) return;\n const tab = this.getAllTabs().find((el) => el.panel === this.tab);\n this.setActiveTab(tab);\n }\n\n @Watch('placement')\n handlePlacementChange() {\n this.syncActiveTabIndicator();\n }\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n @Watch('hideControlRight')\n hideRightBtn() {\n if (!this.rightBtn) return;\n displayTransition(this.rightBtn, 'is-shown', !this.hideControlRight);\n }\n\n @Watch('hideControlLeft')\n hideLeftBtn() {\n if (!this.leftBtn) return;\n displayTransition(this.leftBtn, 'is-shown', !this.hideControlLeft);\n }\n\n @Watch('hasScrollControls')\n watchScrollControls() {\n if (this.hasScrollControls) setTimeout((_) => this.handleTabScroll(), 20);\n else\n setTimeout((_) => {\n this.hideControlLeft = this.hideControlRight = true;\n }, 20);\n }\n\n /** Emitted when a tab is shown. */\n @Event() nanoTabShow: EventEmitter;\n\n /** Emitted when a tab is hidden. */\n @Event() nanoTabHide: EventEmitter;\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n if (this.activeTab && this.activeTab.panel === panel) return;\n\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab) this.setActiveTab(tab);\n }\n\n // Internal Methods\n\n private getAllTabs(includeDisabled = false) {\n const tabs = Array.from(this.host.querySelectorAll('nano-tab')) as [\n HTMLNanoTabElement\n ];\n if (includeDisabled) return tabs;\n return tabs.filter((el: any) => !el.disabled);\n }\n\n private getAllPanels() {\n return Array.from(this.host.querySelectorAll('nano-tab-content')) as [\n HTMLNanoTabContentElement\n ];\n }\n\n private getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n private updateScrollControls = () => {\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls =\n ['top'].includes(this.placement) &&\n this.nav.scrollWidth > this.nav.clientWidth &&\n this.nav.scrollWidth > this.tabs.clientWidth;\n }\n };\n\n private setActiveTab(tab: HTMLNanoTabElement, emitEvents = true) {\n if (tab && tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n this.tab = tab.panel;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => {\n if (el.name === this.activeTab.panel) {\n el.active = true;\n this.activePanel = el;\n } else el.active = false;\n el.removeAttribute('animation-dir');\n });\n // active tab can be changed on init - this won't be ready. No big thing\n // try {\n this.syncActiveTabIndicator();\n if (['top'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal', 'center');\n }\n // }\n // catch(e) {}\n\n // Emit events\n if (emitEvents) {\n if (previousTab) {\n this.nanoTabHide.emit({ name: previousTab.panel });\n }\n\n this.nanoTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel) {\n tab.setAttribute('aria-controls', panel.getAttribute('id'));\n panel.setAttribute('aria-labelledby', tab.getAttribute('id'));\n }\n });\n }\n\n private syncActiveTabIndicator() {\n this.getAllTabs(true).forEach((tab) =>\n tab.setAttribute(\n 'direction',\n this.placement === 'top' ? 'horizontal' : 'vertical'\n )\n );\n\n const tab = this.getActiveTab();\n const width = tab.clientWidth;\n const height = tab.clientHeight;\n const offset = getOffset(tab, this.nav);\n const offsetTop = offset.top + this.nav.scrollTop;\n const offsetLeft = offset.left + this.nav.scrollLeft;\n\n switch (this.placement) {\n case 'top':\n this.activeTabIndicator.style.width = `${width}px`;\n this.activeTabIndicator.style.height = null;\n this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;\n break;\n\n case 'start':\n this.activeTabIndicator.style.width = null;\n this.activeTabIndicator.style.height = `${height}px`;\n this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;\n break;\n }\n }\n\n private getNavWidth() {\n if (!this.nav) return 0;\n const computedStyle = getComputedStyle(this.nav);\n let clientWidth = this.nav.clientWidth;\n return (clientWidth -=\n parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight));\n }\n\n // Event handlers\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const tab = target.closest('nano-tab');\n\n if (tab) this.setActiveTab(tab);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nano-tab');\n\n if (tab) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (\n [\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ].includes(event.key)\n ) {\n const activeEl = document.activeElement as any;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'nano-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (\n (this.isRtl && event.key === 'ArrowRight') ||\n (!this.isRtl && event.key === 'ArrowLeft')\n ) {\n index = Math.max(0, index - 1);\n } else if (\n (this.isRtl && event.key === 'ArrowLeft') ||\n (!this.isRtl && event.key === 'ArrowRight')\n ) {\n index = Math.min(tabs.length - 1, index + 1);\n }\n tabs[index].setFocus();\n\n if (['top'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal', 'center');\n }\n event.preventDefault();\n }\n }\n };\n\n private handleTabScroll = () => {\n if (!this.hasScrollControls) {\n this.hideControlLeft = this.hideControlRight = true;\n return;\n }\n let endRight = this.isRtl\n ? this.nav.scrollLeft === 0\n : this.nav.scrollWidth - this.nav.scrollLeft === this.nav.clientWidth;\n let endLeft = this.isRtl\n ? this.nav.scrollWidth + this.nav.scrollLeft === this.nav.clientWidth\n : this.nav.scrollLeft === 0;\n\n if (endLeft) {\n this.hideControlLeft = true;\n this.hideControlRight = false;\n } else if (endRight) {\n this.hideControlLeft = false;\n this.hideControlRight = true;\n } else {\n this.hideControlRight = false;\n this.hideControlLeft = false;\n }\n };\n\n private handleBtnClick = (goRight: boolean = false) => {\n const navWidth = this.getNavWidth();\n let leftAmt;\n if (goRight) leftAmt = this.nav.scrollLeft + navWidth - 20;\n else leftAmt = this.nav.scrollLeft - navWidth + 20;\n\n try {\n this.nav.scroll({\n left: leftAmt,\n behavior: 'smooth',\n });\n } catch (e) {\n this.nav.scrollLeft = leftAmt;\n }\n };\n\n private handleTouchStart = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n this.initialTouchX = touch.pageX;\n this.initialTouchY = touch.pageY;\n };\n\n private handleTouchEnd = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled\n const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled\n const threshold = 70;\n\n var xDiff = this.initialTouchX - touch.clientX;\n var yDiff = this.initialTouchY - touch.clientY;\n\n const isHorizontalSwipe =\n Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;\n\n const tabs = this.getAllTabs();\n const currIndex = tabs.findIndex((el) => el.active);\n\n if (isHorizontalSwipe) {\n const toGo =\n (distX < 0 && this.placement === 'top') ||\n (distX > 0 && this.placement !== 'top')\n ? 1\n : -1;\n\n if (tabs[currIndex + toGo]) {\n this.setActiveTab(tabs[currIndex + toGo]);\n\n if (Math.abs(xDiff) > Math.abs(yDiff)) {\n if (xDiff > 0) this.activePanel.setAttribute('animation-dir', 'left');\n else this.activePanel.setAttribute('animation-dir', 'right');\n }\n }\n }\n this.initialTouchX = null;\n this.initialTouchY = null;\n };\n\n // Stencil hooks\n\n componentDidLoad() {\n // Initial IO - watching for all content to be loaded\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n\n if (this.storeId)\n ComponentStore.init(this, ['tab'], this.storeMethod, this.storeId);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n focusVisible.observe(this.tabGroup);\n\n if (this.leftBtn) {\n focusVisible.observe(this.leftBtn);\n focusVisible.observe(this.rightBtn);\n }\n\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(\n mutation.attributeName\n );\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n setTimeout(() => this.handleTabScroll(), 500);\n });\n this.mutationObserver.observe(this.host, {\n attributes: true,\n childList: true,\n subtree: true,\n });\n\n requestAnimationFrame(() => this.updateScrollControls());\n }\n\n connectedCallback() {\n this.isRtl =\n this.host.dir === 'rtl' ||\n (this.host.ownerDocument as Document).dir === 'rtl';\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) this.mutationObserver.disconnect();\n\n focusVisible.unobserve(this.tabGroup);\n if (this.leftBtn) {\n focusVisible.unobserve(this.leftBtn);\n focusVisible.unobserve(this.rightBtn);\n }\n if (this.resizeObserver) this.resizeObserver.unobserve(this.nav);\n }\n\n render() {\n this.isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n\n return (\n <Host\n class={{ ...createColorClasses(this.color), legacy: this.isLegacy }}\n dir={this.isRtl ? 'rtl' : null}\n >\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'nano-tab-group': true,\n 'nano-tab-group--top': this.placement === 'top',\n 'nano-tab-group--start': this.placement === 'start',\n 'nano-tab-group--has-scroll-controls': this.hasScrollControls,\n 'nano-tab-group--has-scroll-controls-left': !this.hideControlLeft,\n 'nano-tab-group--has-scroll-controls-right': !this.hideControlRight,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"nano-tab-group__nav-container\">\n {this.placement === 'top' && (\n <button\n class={{\n 'nano-tab-group__scroll-button': true,\n 'nano-tab-group__scroll-button--left': true,\n }}\n ref={(btn) => (this.leftBtn = btn)}\n onClick={() => this.handleBtnClick(false)}\n >\n <nano-icon name=\"light/chevron-left\"></nano-icon>\n </button>\n )}\n <div\n ref={(el) => (this.nav = el)}\n key=\"nav\"\n part=\"nav\"\n class=\"nano-tab-group__nav\"\n onScroll={this.handleTabScroll}\n >\n <div\n ref={(el) => (this.tabs = el)}\n part=\"tabs\"\n class=\"nano-tab-group__tabs\"\n role=\"tablist\"\n >\n <div\n ref={(el) => (this.activeTabIndicator = el)}\n part=\"active-tab-indicator\"\n class=\"nano-tab-group__active-tab-indicator\"\n />\n <slot name=\"tabs\" />\n </div>\n </div>\n {this.placement === 'top' && (\n <button\n class={{\n 'nano-tab-group__scroll-button': true,\n 'nano-tab-group__scroll-button--right': true,\n }}\n ref={(btn) => (this.rightBtn = btn)}\n onClick={() => this.handleBtnClick(true)}\n >\n <nano-icon name=\"light/chevron-right\"></nano-icon>\n </button>\n )}\n </div>\n <slot name=\"tab-content-header\" />\n <div\n part=\"body\"\n class=\"nano-tab-group__body\"\n onTouchStart={this.handleTouchStart}\n onTouchEnd={this.handleTouchEnd}\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n/**\n * @prop --indicator-transition: Only relevant to placement 'start'. defaults to #{$transition-fast};\n * @prop --indicator-color: defaults to #{$color-lightblue} on placement 'top' and #{$color-blue} on placement 'start';\n * @prop --indicator-track-color: Only relevant to placement 'start'. defaults to #{$color-lightgrey};\n * @prop --indicator-size: defaults to 5px on placement 'top' and 2px on placement 'start';\n\n * @prop --border-radius: defaults to #{$layer-border-radius};\n * @prop --background-rgb: will be used as the default background colour for tabs and content. defaults to #{$layer-bg-color-rgb};\n * @prop --shadow-opacity: opacity of the shadow behind tabs. defaults to 0.1;\n * @prop --scroll-btn-color: defaults to 'currentColor';\n\n * @prop --content-padding: defaults to 2rem 2.5rem;\n * @prop --content-bg: defaults to rgb(var(--background-rgb));\n * @prop --content-border-radius: defaults to var(--border-radius);\n\n * @prop --tabs-padding-start: defaults to 2.5rem on placement 'top' and 0 on placement 'start';\n * @prop --tabs-padding-end: defaults to 2.5rem on placement 'top' and 0 on placement 'start';\n * @prop --tabs-padding-top: defaults to 0;\n * @prop --tabs-padding-bottom: defaults to 0;\n * @prop --tabs-bg-rgb: defaults to var(--bg-color);\n * @prop --tab-border-radius: defaults to var(--border-radius);\n * @prop --tab-text-color: defaults to #{$color-blue} on placement 'top' and #{$color-darkgrey} on placement 'start';\n */\n\n:host {\n --indicator-transition: #{$transition-fast};\n --indicator-color: #{$color-lightblue};\n --indicator-track-color: #{$color-lightgrey};\n --indicator-size: 5px;\n --border-radius: #{$layer-border-radius};\n --background-rgb: #{$layer-bg-color-rgb};\n --scroll-btn-color: 'currentColor';\n --content-padding: 2rem 2.5rem;\n --content-bg: rgb(var(--background-rgb));\n --content-border-radius: var(--border-radius);\n --tabs-padding-start: 2.5rem;\n --tabs-padding-end: 2.5rem;\n --tabs-padding-top: 0;\n --tabs-padding-bottom: 0;\n --tabs-bg-rgb: var(--background-rgb);\n --tab-border-radius: var(--border-radius);\n --tab-text-color: #{$color-blue};\n --shadow-opacity: 0.1;\n\n display: block;\n position: relative;\n z-index: #{$layer-index-raised};\n\n @media only screen and (max-width: 768px) {\n --tabs-padding-start: 1.5rem;\n --tabs-padding-end: 1.5rem;\n }\n\n ::slotted(nano-tab) {\n --tab-indicator-color: var(--indicator-color);\n --tab-indicator-size: var(--indicator-size);\n --bg-rgb: var(--tabs-bg-rgb);\n --border-radius: var(--tab-border-radius);\n }\n}\n\n// IE bugfix - set this stuff statically\n:host(.legacy) {\n ::slotted(nano-tab) {\n --tab-indicator-color: #{$color-lightblue};\n --border-radius: 3px;\n --tab-indicator-size: 5px;\n --bg-rgb: 255, 255, 255;\n }\n}\n\n:host([placement='start']),\n:host([placement='end']) {\n --content-padding: 1rem;\n --tabs-padding-start: 0;\n --tabs-padding-end: 0;\n --tabs-padding-top: 0;\n --tabs-padding-bottom: 0;\n --tab-text-color: #{$color-darkgrey};\n --indicator-color: #{$color-blue};\n --indicator-size: 2px;\n}\n\n:host(.nano-color) {\n --indicator-color: var(--nano-color-tint, #{nano-color(primary, tint)});\n --tab-text-color: rgba(var(--nano-color-base-rgb), 0.7);\n\n ::slotted(nano-tab) {\n --active-text-color: var(--nano-color-shade, #{nano-color(primary, shade)});\n }\n}\n\n.nano-tab-group {\n display: flex;\n border-radius: 0;\n width: 100%;\n\n &__tabs {\n display: flex;\n position: relative;\n width: 100%;\n }\n\n &__active-tab-indicator {\n position: absolute;\n transition: var(--indicator-transition) transform ease;\n }\n\n &__body {\n background: var(--content-bg);\n }\n\n &:not(.focus-visible) ::slotted(nano-tab) {\n --focus-shadow: none;\n }\n\n .nano-tab-group__nav-container {\n position: relative;\n display: flex;\n flex: 1 0 auto;\n }\n\n button {\n appearance: none;\n background-color: transparent;\n }\n\n &__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n border: unset;\n z-index: 2;\n transition: #{$transition-fast} ease opacity;\n opacity: 0;\n color: var(--scroll-btn-color);\n\n &:focus {\n outline: none;\n }\n\n &.is-shown {\n opacity: 1;\n }\n\n &.focus-visible:focus {\n box-shadow: #{$control-focus-style} inset;\n }\n\n &--left {\n left: 0;\n }\n\n &--right {\n right: 0;\n }\n\n nano-icon {\n font-size: 16px;\n }\n }\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n // Top\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n &--top {\n flex-direction: column;\n\n .nano-tab-group__nav-container {\n &::after {\n content: '';\n width: 86%;\n box-shadow: 0 10px 40px 10px rgba(0, 0, 0, var(--shadow-opacity));\n height: 10px;\n position: absolute;\n left: 7%;\n bottom: -10px;\n border-radius: 10px;\n z-index: -1;\n }\n }\n\n .nano-tab-group__nav {\n @include hide-scrollbar();\n @include padding(\n var(--tabs-padding-top),\n var(--tabs-padding-end),\n var(--tabs-padding-bottom),\n var(--tabs-padding-start)\n );\n\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n transition: #{$transition-medium} ease;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);\n mask-repeat: no-repeat;\n mask-image:\n linear-gradient(\n to left,\n rgba(0, 0, 0, 0) 0,\n rgba(0, 0, 0, 0) var(--tabs-padding-start),\n rgba(0, 0, 0, 1) calc(var(--tabs-padding-start) * 2),\n rgba(0, 0, 0, 1) calc(100% - (var(--tabs-padding-end) * 2)),\n rgba(0, 0, 0, 0) calc(100% - var(--tabs-padding-end)),\n rgba(0, 0, 0, 0)\n );\n mask-size: calc(100% + calc(var(--tabs-padding-end) * 4));\n mask-position: calc(var(--tabs-padding-end) * -2);\n\n &::after {\n content: ' ';\n\n @include padding(\n var(--tabs-padding-top),\n var(--tabs-padding-end),\n var(--tabs-padding-bottom),\n 0\n );\n\n line-height: 1;\n flex: 0 0 auto;\n }\n }\n\n &.nano-tab-group--has-scroll-controls-left {\n .nano-tab-group__nav {\n mask-position: 0;\n mask-size: calc(100% + (var(--tabs-padding-end) * 2));\n }\n }\n\n &.nano-tab-group--has-scroll-controls-right {\n .nano-tab-group__nav {\n mask-position: calc(var(--tabs-padding-end) * -1);\n mask-size: calc(100% + var(--tabs-padding-end));\n }\n }\n\n &.nano-tab-group--has-scroll-controls-left.nano-tab-group--has-scroll-controls-right {\n .nano-tab-group__nav {\n mask-size: 100%;\n mask-position: 0;\n }\n }\n\n .nano-tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n text-align: center;\n color: var(--tab-text-color);\n width: auto;\n }\n\n .nano-tab-group__body {\n order: 2;\n background: var(--content-bg);\n position: relative;\n overflow: hidden;\n width: auto;\n display: flex;\n justify-content: center;\n padding: var(--content-padding);\n border-radius: var(--content-border-radius);\n }\n }\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n // Start\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n &--start {\n flex-direction: row;\n\n .nano-tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n color: var(--tab-text-color);\n background: rgb(var(--tabs-bg-rgb));\n\n @include ltr-host() {\n border-left: solid var(--indicator-size) var(--indicator-track-color);\n text-align: left;\n }\n\n @include rtl-host() {\n border-right: solid var(--indicator-size) var(--indicator-track-color);\n text-align: right;\n }\n }\n\n .nano-tab-group__active-tab-indicator {\n @include ltr-host() {\n left: calc(-1 * 2px);\n border-left: solid var(--indicator-size) var(--indicator-color);\n }\n\n @include rtl-host() {\n right: calc(-1 * 2px);\n border-right: solid var(--indicator-size) var(--indicator-color);\n }\n }\n\n .nano-tab-group__body {\n flex: 1 1 auto;\n order: 2;\n padding: var(--content-padding);\n overflow: hidden;\n\n @include border-radius(\n 0,\n var(--content-border-radius),\n var(--content-border-radius),\n 0\n );\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["node_modules/stencil-wormhole/dist/esm/universe.js","node_modules/squirrelly/dist/browser/squirrelly.min.js","src/utils/template.ts","src/utils/promise-queue.ts","src/components/algolia/algolia.scss?tag=nano-algolia&encapsulation=shadow","src/components/algolia/algolia.tsx"],"names":["multiverse","Map","updateConsumer","_a","state","updater","fields","forEach","field","Universe","children","creator","getRenderingRef","has","universe","get","wormholes","opening","e","t","n","r","a","Error","prototype","Object","setPrototypeOf","__proto__","slice","split","i","length","s","Array","join","create","name","value","enumerable","Function","Promise","SyntaxError","hasOwnProperty","call","c","o","l","f","u","p","test","replace","h","rmWhitespace","lastIndex","prefixes","b","reduce","RegExp","tags","d","g","v","m","trim","raw","async","push","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","this","cache","define","remove","reset","load","&","<",">","\"","'","each","params","then","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","exports","squirrel","str","options","year","month","day","Date","parseInt","toLocaleDateString","format","date","getDate","toString","getMonth","getFullYear","map","val","toUpperCase","charAt","substr","result","domain","domains","origin","found","find","dm","match","location","protocol","toLowerCase","Squirrel","PromiseQueue","[object Object]","queue","workingOnPromise","stop","limit","promise","resolve","reject","dequeue","item","shift","catch","err","pendingPromise","CANSHADOW","document","head","attachShadow","Algolia","hostRef","staticFacetFilters","dynFacetFilters","hasLoadSlot","placedAlgoliaEles","promiseQueue","_dynFacetFilters","indeces","filterChanged","changeEvent","SearchChangeEvent","Init","isLoading","wormholeState","showResults","resultsPage","searchIndex","searchIndexName","listenTo","query","operator","tplEngine","tplRenderFn","replicaIndex","browseIndex","minChars","storeMethod","searchChange","algoliaIndex","handleSearchReset","setTimeout","resetPage","algoliaSearch","updateContent","nanoResultsShown","emit","indexResults","makeAppliedFilters","appliedFtrs","makeAppliedFilter","facetFilters","values","filter","appFilter","facetName","eventType","enqueue","queueSearch","nanoBeforeQuery","clearAllFacetFilters","searchParams","algoliaFilterStr","page","currentPage","facets","hitsPerPage","fixDomain","totalHits","nbHits","origFilters","legacy","totalHitsWithFilters","results","totalPages","appliedFilters","indexName","dynFilters","hits","nbPages","Page","Replica","nanoAfterQuery","currentHits","handleInputChange","ev","target","inputField","onResultDisplay","writeTask","resultsDiv","removeEventListener","defaultDiv","style","display","classList","add","minHeight","width","facetValue","filterId","element","stopPropagation","detail","Math","min","max","dynFilterObj","assign","Filter","host","ownerDocument","algoliaClient","initIndex","onPageChange","appId","apiKey","algoliasearch","querySelector","attachInputListener","scrollWidth","scrollHeight","addEventListener","slottedInput","focus","preventScroll","hit","url","facetFilterObj","groupFilters","filterOp","or","and","not","formatVal","operatorGrp","filterName","filterStrParts","filterProp","toLocaleUpperCase","setup","eventName","tagName","toLocaleLowerCase","updateContentQueue","outputTo","outputSlot","tpl","tmpCont","createElement","innerHTML","algoliaEles","from","querySelectorAll","el","placeholder","dataset","placeholderId","parentNode","replaceChild","childrenResolver","ele","readTask","tplSlot","getDirectChildren","HTMLInputElement","searchIndexNameChange","initAlgoliaClient","initAlgoliaIndex","initialState","getElement","set","connectedCallback","disconnectedCallback","delete","event","consumer","onOpen","connectedCallback_1","disconnectedCallback_1","storeId","ComponentStore","init","internalIndexSwitch","debounce","browseIndexChange","dispatchEvent","CustomEvent","globalStoreMethod","Host","class","show-results","is-loading","aria-busy","hidden","loader","loading","overlay","type","aria-live","ref","div","tabindex"],"mappings":"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","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","!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={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};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 { IndexResult, AlgoliaResultHit } from '../interface';\nimport * as Sqrl from 'squirrelly';\n\nconst squirrel = Sqrl;\n\nsquirrel.filters.define(\n 'date_long',\n (\n str: string,\n options: {\n year: 'numeric' | '2-digit';\n month: 'numeric' | '2-digit' | 'long';\n day: 'numeric' | '2-digit';\n } = { year: 'numeric', month: 'long', day: 'numeric' }\n ) => {\n if (!str) return;\n let 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 let 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 let 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","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",":host {\n position: relative;\n display: block;\n\n ::slotted([slot='search-template']),\n &::slotted([slot='search-template']) {\n display: none !important;\n }\n}\n\n.loader {\n opacity: 0;\n position: fixed;\n height: 100%;\n width: 100%;\n min-height: 100%;\n max-height: 100vh !important;\n max-width: 100vw !important;\n left: 0;\n top: 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 height: 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 top: 0;\n left: 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 transform: translate(0, 0);\n visibility: visible;\n opacity: 1;\n z-index: 10;\n overflow: hidden;\n }\n\n &.shown {\n height: auto !important;\n width: auto !important;\n display: block;\n position: static;\n transform: none;\n z-index: auto;\n visibility: inherit;\n opacity: initial;\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 {\n AlgoliaMultiResult,\n IndexResult,\n AlgoliaResultHit,\n FilterChangeEventDetail,\n PageChangeEventDetail,\n AppliedFilter,\n AlgoliaFacet,\n SearchIndex,\n} from '../../interface';\nimport { Universe, SearchChangeEvent } from './algolia-data';\nimport { debounce, getDirectChildren } from '../../utils/utils';\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport { Squirrel } from '../../utils/template';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { PromiseQueue } from '../../utils/promise-queue';\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\nconst CANSHADOW = !!document.head.attachShadow;\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() appId: string;\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n */\n @Prop() 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() 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 automtically 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() 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() browseIndex: boolean = false;\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 // 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) {\n ev.stopPropagation();\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 let dynFilterObj: FilterGroup = {};\n let 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('listenTo')\n newListenTo() {\n if (!this.listenTo) this.attachInputListener(false);\n else {\n setTimeout(() => {\n this.inputField = document.querySelector(this.listenTo);\n if (this.inputField) this.attachInputListener(true);\n }, 50);\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 // 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 let 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 let 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 let 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 legacy: !CANSHADOW,\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 let 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 private attachInputListener(setup: boolean = true) {\n if (!this.inputField) return;\n let eventName =\n this.inputField.tagName.toLocaleLowerCase() === 'nano-input'\n ? 'nanoChange'\n : 'change';\n\n if (setup)\n this.inputField.addEventListener(eventName, this.handleInputChange);\n else this.inputField.removeEventListener(eventName, this.handleInputChange);\n }\n\n private handleInputChange = (ev) => {\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 let outputTo = this.outputSlot || this.resultsDiv;\n\n if (!outputTo || !this.tpl) return 'no tpl';\n\n let tmpCont = document.createElement('div');\n tmpCont.innerHTML = this.tpl;\n\n let 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 let 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(/&gt;/gm, '>')\n .replace(/&lt;/gm, '<')\n .replace(/&amp;/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) this.tpl = this.tplSlot.innerHTML;\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 if (!this.inputField && this.listenTo)\n this.inputField = document.querySelector(this.listenTo);\n if (this.inputField) this.attachInputListener(true);\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"]}
@@ -1,2 +0,0 @@
1
- import{r as o,c as n,j as t,h as r,e as i,g as a}from"./p-f55560d3.js";import{d as e}from"./p-0e826935.js";import{g as s}from"./p-d3af43d2.js";let c=class{constructor(t){o(this,t),this.nanoValidate=n(this,"nanoValidate",7),this.grpId="nano-checkbox-group-"+h++,this.errorMessage="",this.showErrorMsg=!1,this.hasHelperSlot=!1,this.validateOn="submit",this.showInlineError=!0,this.min=0,this.max=null,this.disabled=null,this.legend="",this.handleInvalid=o=>{this.invalid=!0,"submit"===this.validateOn&&(this.invalid=this.showErrorMsg=this.customValidate()),this.showInlineError&&o.preventDefault(),setTimeout((()=>this.showInlineValidation(o)),20)},this.showInlineValidation=o=>{this.nativeCbs&&this.nativeCbs.length&&("submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this.showErrorMsg=!1,this.invalid=!1,this.nativeCbs.forEach(((o,n)=>{o.validity.valid||(this.errorMessage=o.validationMessage,this.showErrorMsg=!0,this.invalid=!0,this.showInlineError&&this.checkboxes[n].setFocus())})),this.nanoValidate.emit({isValid:!this.invalid,errorMessage:this.errorMessage,originalEvent:o}))}}async reportValidity(o){return o&&this.showInlineValidation(),{isValid:!this.invalid,errorMessage:this.errorMessage}}handleCbChange(){this.invalid&&(this.showErrorMsg=this.invalid=!1),this.customValidate(),"dirty"===this.validateOn&&this.showInlineValidation()}customValidate(){if(!this.nativeCbs||!this.nativeCbs.length||!this.checkboxes)return;let o=this.nativeCbs.filter((o=>"checkbox"===o.type));if(!o||!o.length)return;let n=o.filter((o=>o.checked)).length,t=!1;return this.checkboxes.forEach((o=>{o.setError(""),t||(this.min&&n<this.min&&(o.setError(`You must select a minimum of ${this.min} values.`),t=!0),this.max&&n>this.max&&(o.setError(`Only up to ${this.max} values are allowed.`),t=!0))})),t}handleComponentChange(){this.checkboxTypes=s(this.checkboxes.map((o=>"types-"+o.type)))}handleDisabledChange(){null!==this.disabled&&this.checkboxes.map((o=>o.disabled=this.disabled))}attachSlotObserver(){(this.mo=new MutationObserver((()=>this.handleSlotChange()))).observe(this.host,{childList:!0})}async handleSlotChange(){t(this.host),this.checkboxes=Array.from(this.host.querySelectorAll("nano-checkbox")),this.hasHelperSlot=!!this.host.querySelector('[slot="helper"]'),this.nativeCbs=await Promise.all(this.checkboxes.reduce(((o,n)=>(o.push(n.getInputElement()),o)),[])),this.nativeCbs.forEach((o=>o.addEventListener("invalid",this.handleInvalid)))}componentWillLoad(){this.showInlineValidation=e(this.showInlineValidation,20),this.customValidate=this.customValidate.bind(this)}connectedCallback(){this.attachSlotObserver()}disconnectedCallback(){this.mo&&this.mo.disconnect()}render(){const o=this.grpId+"-lbl",n=this.showInlineError||this.hasHelperSlot?this.grpId+"-more":"";return r(i,Object.assign({},this.checkboxTypes,{dir:"rtl"===this.host.ownerDocument.dir?"rtl":null}),r("fieldset",{disabled:this.disabled,class:{nanogroupcb:!0,"show-error":this.showErrorMsg}},r("legend",{class:"nanogroupcb__legend",id:o},this.legend),r("div",{class:"nanogroupcb__cbs",role:"group","aria-labelledby":o+" "+n},r("slot",null)),(this.showInlineError||this.hasHelperSlot)&&r("div",{class:"nanogroupcb__more",id:n},this.showInlineError?r("div",{class:"nanogroupcb__error"},this.errorMessage):"",r("div",{class:"nanogroupcb__help"},r("slot",{name:"helper"})))))}get host(){return a(this)}static get watchers(){return{validateOn:["handleCbChange"],min:["handleCbChange"],max:["handleCbChange"],nativeCbs:["customValidate"],checkboxes:["handleComponentChange","handleDisabledChange"],disabled:["handleDisabledChange"]}}},h=0;c.style='.sc-nano-checkbox-group-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{-webkit-box-sizing:border-box;box-sizing:border-box}.sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:0;--control-margin-bottom:0;--control-margin-start:0;--invalid-msg-color:var(--nano-color-danger, #ef4135);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #687576);--label-color:var(--nano-input-label-color, "currentColor");--label-color--invalid:var(--nano-input-label-color-invalid, "currentColor");--label-font-size:var(--nano-input-label-color, 1em);--label-padding:var(--nano-input-padding-bottom, var(--nano-input-padding, 8px));display:block}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{-webkit-box-sizing:inherit;box-sizing:inherit}[types-tag].sc-nano-checkbox-group-h,[types-segment].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:8px;--control-margin-bottom:8px;--control-margin-start:0}[types-checkbox].sc-nano-checkbox-group-h,[types-radio].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:10px;--control-margin-bottom:0;--control-margin-start:0}.nanogroupcb.sc-nano-checkbox-group{border:none;margin:0;padding:0}.nanogroupcb__legend.sc-nano-checkbox-group,.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group,.nanogroupcb__more.sc-nano-checkbox-group{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nanogroupcb__legend.sc-nano-checkbox-group{font-size:var(--label-font-size);padding:0 0 var(--label-padding);margin:0;line-height:1}[invalid].sc-nano-checkbox-group-h:not([invalid=false]) .nanogroupcb__legend.sc-nano-checkbox-group{color:var(--label-color--invalid)}.nanogroupcb__more.sc-nano-checkbox-group{height:1em;margin-left:3px;margin-right:0;margin-top:calc(var(--label-padding) - var(--control-margin-bottom));margin-bottom:var(--label-padding);position:relative}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__more.sc-nano-checkbox-group{margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:0;margin-inline-end:0}}.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group{top:0;left:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;-webkit-transition:0.3s ease-out opacity;transition:0.3s ease-out opacity}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:1}.nanogroupcb__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);font-stretch:condensed;opacity:0}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group{opacity:1}.nanogroupcb__help.sc-nano-checkbox-group{font-style:italic;opacity:1;color:var(--help-msg-color)}.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:0}.nanogroupcb__cbs.sc-nano-checkbox-group{margin:0;padding:0;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]),.nanogroupcb__cbs .sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]){--check-base-size:1.2em;font-size:0.85em}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:var(--control-margin-start);margin-top:var(--control-margin-top);margin-right:var(--control-margin-end);margin-bottom:var(--control-margin-bottom)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--control-margin-start);margin-inline-start:var(--control-margin-start);-webkit-margin-end:var(--control-margin-end);margin-inline-end:var(--control-margin-end)}}';export{c as nano_checkbox_group}
2
- //# sourceMappingURL=p-7f3b4f80.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/checkbox/checkbox-group.tsx","src/components/checkbox/checkbox-group.scss?tag=nano-checkbox-group&encapsulation=scoped"],"names":["CheckboxGroup","[object Object]","hostRef","this","grpId","grpIds","errorMessage","showErrorMsg","hasHelperSlot","validateOn","showInlineError","min","max","disabled","legend","handleInvalid","ev","invalid","customValidate","preventDefault","setTimeout","showInlineValidation","nativeCbs","length","forEach","cb","i","validity","valid","validationMessage","checkboxes","setFocus","nanoValidate","emit","isValid","originalEvent","validateFirst","onlyCbs","filter","type","checked","setError","checkboxTypes","getClassMap","map","mo","MutationObserver","handleSlotChange","observe","host","childList","forceUpdate","Array","from","querySelectorAll","querySelector","Promise","all","reduce","acc","push","getInputElement","addEventListener","debounce","bind","attachSlotObserver","disconnect","legendId","moreId","h","Host","Object","assign","dir","ownerDocument","class","nanogroupcb","show-error","id","role","aria-labelledby","name"],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n ComponentInterface,\n State,\n Listen,\n Watch,\n Host,\n Method,\n forceUpdate,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport {\n CssClassMap,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\nimport { debounce, getClassMap } from '../../utils/utils';\n\n/**\n * `nano-checkbox-group` is an optional wrapper for all `nano-checkbox` controls.\n * It provides a convenient place to anchor a collective label and any validation issues.\n *\n * @slot - Used for grouping checkboxes inside the group wrapper\n * @slot helper - helper text to accompany the form field underneath.\n */\n@Component({\n tag: 'nano-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n scoped: true,\n})\nexport class CheckboxGroup implements ComponentInterface {\n private mo?: MutationObserver;\n private checkboxTypes: CssClassMap;\n private grpId = `nano-checkbox-group-${grpIds++}`;\n\n @Element() host: HTMLNanoCheckboxGroupElement;\n\n // internal state\n\n @State() checkboxes: HTMLNanoCheckboxElement[];\n @State() nativeCbs: HTMLInputElement[];\n @State() errorMessage: string = '';\n @State() showErrorMsg = false;\n @State() hasHelperSlot = false;\n\n // public properties\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * The minimum number of checkboxes required to be valid. Only relevant for checkbox type controls.\n * A validation error will be thrown if not enough controls are checked.\n */\n @Prop() min: number = 0;\n\n /**\n * The maximum number of checkboxes allowed. Only relevant for checkbox type controls.\n * Other controls will automatically be disabled upon reaching this number.\n */\n @Prop() max: number = null;\n\n /**\n * Disable all the nested form controls\n */\n @Prop({ reflect: true }) disabled: boolean | null = null;\n\n /**\n * A common label for children controls\n */\n @Prop() legend: string = '';\n\n /**\n * @internal - just a hook for styling on the current validity state\n */\n @Prop({ reflect: true, mutable: true }) invalid: boolean;\n\n // Public methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n if (validateFirst) this.showInlineValidation();\n return {\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n };\n }\n\n // Events\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // listeners & watchers\n\n /**\n * Notes on validation... custom validation messages should be set\n * no matter whether we show inline messages or native html5.\n * this will mean forms cannot submit when there are pending validation issues.\n */\n @Listen('nanoChange')\n @Watch('validateOn')\n @Watch('min')\n @Watch('max')\n handleCbChange() {\n if (this.invalid) this.showErrorMsg = this.invalid = false;\n this.customValidate();\n\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n @Watch('nativeCbs')\n customValidate() {\n if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes) return;\n\n // we only care about checkbox controls.\n let onlyCbs = this.nativeCbs.filter((cb) => cb.type === 'checkbox');\n if (!onlyCbs || !onlyCbs.length) return;\n\n let checked = onlyCbs.filter((cb) => cb.checked).length;\n let invalid = false;\n\n this.checkboxes.forEach((cb) => {\n cb.setError('');\n if (invalid) return;\n\n if (this.min && checked < this.min) {\n cb.setError(`You must select a minimum of ${this.min} values.`);\n invalid = true;\n }\n if (this.max && checked > this.max) {\n cb.setError(`Only up to ${this.max} values are allowed.`);\n invalid = true;\n }\n });\n return invalid;\n }\n\n @Watch('checkboxes')\n handleComponentChange() {\n this.checkboxTypes = getClassMap(\n this.checkboxes.map((cb) => 'types-' + cb.type)\n );\n }\n\n @Watch('disabled')\n @Watch('checkboxes')\n handleDisabledChange() {\n if (this.disabled === null) return;\n this.checkboxes.map((cb) => (cb.disabled = this.disabled));\n }\n\n // private methods\n\n private attachSlotObserver() {\n const mo = (this.mo = new MutationObserver(() => this.handleSlotChange()));\n mo.observe(this.host, { childList: true });\n }\n\n private async handleSlotChange() {\n forceUpdate(this.host);\n this.checkboxes = Array.from(this.host.querySelectorAll('nano-checkbox'));\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n this.nativeCbs = await Promise.all(\n this.checkboxes.reduce((acc: Array<Promise<HTMLInputElement>>, cb) => {\n acc.push(cb.getInputElement());\n return acc;\n }, [])\n );\n\n this.nativeCbs.forEach((cb) =>\n cb.addEventListener('invalid', this.handleInvalid)\n );\n }\n\n private handleInvalid = (ev: Event) => {\n this.invalid = true;\n\n if (this.validateOn === 'submit') {\n this.invalid = this.showErrorMsg = this.customValidate();\n }\n if (!!this.showInlineError) ev.preventDefault();\n\n setTimeout((_) => this.showInlineValidation(ev), 20);\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (!this.nativeCbs || !this.nativeCbs.length) return;\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.showErrorMsg = false;\n this.invalid = false;\n\n this.nativeCbs.forEach((cb, i) => {\n if (!cb.validity.valid) {\n this.errorMessage = cb.validationMessage;\n this.showErrorMsg = true;\n this.invalid = true;\n if (!!this.showInlineError) this.checkboxes[i].setFocus();\n }\n });\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n // stencil hooks\n\n componentWillLoad() {\n this.showInlineValidation = debounce(this.showInlineValidation, 20);\n this.customValidate = this.customValidate.bind(this);\n }\n\n connectedCallback() {\n this.attachSlotObserver();\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n render() {\n let isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n const legendId = this.grpId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot ? this.grpId + '-more' : '';\n\n return (\n <Host {...this.checkboxTypes} dir={isRtl ? 'rtl' : null}>\n <fieldset\n disabled={this.disabled}\n class={{ nanogroupcb: true, 'show-error': this.showErrorMsg }}\n >\n <legend class=\"nanogroupcb__legend\" id={legendId}>\n {this.legend}\n </legend>\n <div\n class=\"nanogroupcb__cbs\"\n role=\"group\"\n aria-labelledby={legendId + ' ' + moreId}\n >\n <slot />\n </div>\n {(this.showInlineError || this.hasHelperSlot) && (\n <div class=\"nanogroupcb__more\" id={moreId}>\n {!!this.showInlineError ? (\n <div class=\"nanogroupcb__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"nanogroupcb__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n )}\n </fieldset>\n </Host>\n );\n }\n}\n\nlet grpIds = 0;\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n\n:host {\n /**\n * @prop --control-margin-top: Margin between controls. Default depends on control type;\n * @prop --control-margin-end: Margin between controls. Default depends on control type;\n * @prop --control-margin-bottom: Margin between controls. Default depends on control type;\n * @prop --control-margin-start: Margin between controls. Default depends on control type;\n\n * @prop --invalid-msg-color: Default #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default #{$input-help-font-size};\n\n * @prop --help-msg-color: Font color applied to slot=\"helper\". Default #{$input-help-color};\n\n * @prop --label-color: Default #{$label-color};\n * @prop --label-color--invalid: Default #{$label-color-invalid};\n * @prop --label-font-size: Default #{$label-font-size};\n * @prop --label-padding: space between legend and control. Default #{$input-padding-bottom};\n */\n\n --control-margin-top: 0;\n --control-margin-end: 0;\n --control-margin-bottom: 0;\n --control-margin-start: 0;\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-color--invalid: #{$label-color-invalid};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n\n display: block;\n\n * {\n box-sizing: inherit;\n }\n}\n\n:host([types-tag]),\n:host([types-segment]) {\n --control-margin-top: 0;\n --control-margin-end: 8px;\n --control-margin-bottom: 8px;\n --control-margin-start: 0;\n}\n\n:host([types-checkbox]),\n:host([types-radio]) {\n --control-margin-top: 0;\n --control-margin-end: 10px;\n --control-margin-bottom: 0;\n --control-margin-start: 0;\n}\n\n.nanogroupcb {\n border: none;\n margin: 0;\n padding: 0;\n\n &__legend,\n &__error,\n &__help,\n &__more {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__legend {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) - var(--control-margin-bottom)),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .show-error & {\n opacity: 0;\n }\n }\n\n &__cbs {\n margin: 0;\n padding: 0;\n line-height: 1;\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(*:not([type='tag']):not([type='segment']):not([type='segment-pill'])) {\n --check-base-size: 1.2em;\n\n font-size: 0.85em;\n }\n\n ::slotted(*) {\n margin-left: var(--control-margin-start);\n margin-top: var(--control-margin-top);\n margin-right: var(--control-margin-end);\n margin-bottom: var(--control-margin-bottom);\n }\n }\n}\n\n/* autoprefixer: ignore next */\n@supports ((margin-inline-start: 0) or (-webkit-margin-start: 0)) {\n .nanogroupcb__cbs {\n &::slotted(*),\n ::slotted(*) {\n margin-left: unset;\n margin-right: unset;\n margin-inline-start: var(--control-margin-start);\n margin-inline-end: var(--control-margin-end);\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/hero/hero.tsx","src/components/hero/hero.scss?tag=nano-hero&encapsulation=shadow"],"names":["Hero","[object Object]","hostRef","this","isLegacy","imgSrcSet","largeScreenBP","theme","level","HeroContent","hasIconBox","hasCtas","h","class","name","xlCols","xlSize","gridStates","hasSecondaryContent","hasQuote","breadCrumbs","filter","crumb","tagName","nextElementSibling","classList","contains","forEach","insertAdjacentHTML","iconBoxItems","item","remove","length","add","mo","disconnect","MutationObserver","processSlottedContent","observe","host","childList","querySelector","Array","from","querySelectorAll","hasScrim","hasBg","imgSrc","hasBackBtn","hasShadowDom","slotChangeObserver","hero","hero--light","hero--secondary","hero--iconbox","hero--rtl","dir","ownerDocument","hero--scrim","hero--legacy","hero--breadcrumb","hero--hasbg","hero--backbtn","hero--sub","lazy","background","srcSet","src"],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n ComponentInterface,\n VNode,\n State,\n Element,\n Watch,\n} from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\n/**\n * Hero components are designed to be used once per content page to add visual impact to the introductory section of a page.\n * @slot primary-content - title, leading paragraph and CTA\n * @slot breadcrumb - each individual bread crumb should be assigned seperately\n * @slot secondary-content - free form secondary content.\n * @slot icon-box - free form icon box container\n * @slot icon-box-item - seperate icon box items. Designed to contain 1 icon and 1 text element.\n * @slot secondary-ctas - CTAs. each individual button should be assigned seperately\n * @slot quote - quote content\n * @slot quote-author - quote author\n * @slot scrim - optional background overlay (e.g. faded colour or gradient)\n * @slot background - custom background. Only active when img-src is empty\n * @slot back-btn - a back button.\n */\n@Component({\n tag: 'nano-hero',\n styleUrl: 'hero.scss',\n shadow: true,\n})\nexport class Hero implements ComponentInterface {\n private mo?: MutationObserver;\n private isLegacy = false;\n\n @Element() host: HTMLNanoHeroElement;\n\n @State() hasIconBox: boolean;\n @State() hasScrim: boolean;\n @State() hasSecondaryContent: boolean;\n @State() hasQuote: boolean;\n @State() hasBg: boolean;\n @State() hasBackBtn: boolean;\n @State() hasCtas: boolean;\n @State() breadCrumbs: Element[];\n @Watch('breadCrumbs')\n breadCrumbChange() {\n // safari doesn't support ::slotted()::after ... so this :/\n this.breadCrumbs\n .filter(\n (crumb) =>\n crumb.tagName === 'A' &&\n !crumb.nextElementSibling.classList.contains('slash')\n )\n .forEach((crumb) => {\n crumb.insertAdjacentHTML(\n 'afterend',\n '<span slot=\"breadcrumb\" class=\"slash\">/</span>'\n );\n });\n }\n @State() iconBoxItems: Element[];\n @Watch('iconBoxItems')\n iconBoxItemChange() {\n this.iconBoxItems.forEach((item) => item.classList.remove('last'));\n if (\n this.iconBoxItems[this.iconBoxItems.length - 1] &&\n this.iconBoxItems[this.iconBoxItems.length - 1].classList\n )\n this.iconBoxItems[this.iconBoxItems.length - 1].classList.add('last');\n }\n\n /** src for backgronund image. For more control use the `background` slot instead. */\n @Prop() imgSrc?: string;\n\n /** Optional list string providing media sizes with corresponding image srcs.\n * i.e. show img-x at 300px wide. Format `srcSet=\"200w src/imgSmall.jpg, 500h src/imgMed.png\"` */\n @Prop() imgSrcSet?: string = null;\n\n /** The Break Point width that the hero component will change to the large view. Defaults to the XL grid size (900px) */\n @Prop() largeScreenBP: number = 900;\n\n /** Base style for the hero. Either 'light' (white bg / dark text), or 'dark' (dark bg / white text) */\n @Prop() theme: 'dark' | 'light' = 'dark';\n\n /** Set the content structure level of the hero. Defaults to 'top' */\n @Prop() level: 'top' | 'sub' = 'top';\n\n private slotChangeObserver() {\n if (this.mo) this.mo.disconnect();\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.host, { childList: true });\n }\n\n private processSlottedContent() {\n this.hasCtas = !!this.host.querySelector('[slot=\"secondary-ctas\"]');\n this.iconBoxItems = Array.from(\n this.host.querySelectorAll('[slot=\"icon-box-item\"]')\n );\n this.hasIconBox =\n !!this.host.querySelector('[slot=\"icon-box\"]') ||\n !!this.iconBoxItems.length;\n this.hasScrim = !!this.host.querySelector('[slot=\"scrim\"]');\n this.breadCrumbs = Array.from(\n this.host.querySelectorAll('[slot=\"breadcrumb\"]')\n );\n this.hasSecondaryContent =\n !!this.host.querySelector('[slot=\"icon-box\"]') ||\n !!this.host.querySelector('[slot=\"quote\"]') ||\n !!this.host.querySelector('[slot=\"icon-box-item\"]') ||\n !!this.host.querySelector('[slot=\"secondary-content\"]');\n this.hasBg =\n !!this.host.querySelector('[slot=\"background\"]') || !!this.imgSrc;\n this.hasBackBtn = !!this.host.querySelector('[slot=\"back-btn\"]');\n this.hasQuote = !!this.host.querySelector('[slot=\"quote\"]');\n }\n\n connectedCallback() {\n this.isLegacy = !hasShadowDom(this.host);\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n private HeroContent = (): VNode[] => {\n return [\n !this.hasIconBox && this.hasCtas ? (\n <div class=\"hero__ctas\">\n <slot name=\"secondary-ctas\" />\n </div>\n ) : (\n ''\n ),\n <div class=\"hero__scrim\">\n <slot name=\"scrim\" />\n </div>,\n <nano-grid class=\"hero__content\" xlCols={2} xlSize={this.largeScreenBP}>\n <nano-grid-item gridStates=\"xl-col-span-2\">\n <div class=\"hero__breadcrumbs\">\n <slot name=\"breadcrumb\" />\n </div>\n </nano-grid-item>\n <nano-grid-item\n gridStates={\n this.hasSecondaryContent\n ? 'xl-col-span-1 xl-col-start-1 xl-row-start-2'\n : 'xl-col-span-2 xl-col-start-1 xl-row-start-2'\n }\n >\n <div class=\"hero__primary\">\n <div class=\"hero__primary-content\">\n <slot name=\"back-btn\" />\n <div>\n <slot name=\"primary-content\" />\n </div>\n </div>\n </div>\n </nano-grid-item>\n {this.hasSecondaryContent && (\n <nano-grid-item gridStates=\"xl-col-span-1 xl-col-start-2 xl-row-start-2\">\n <div class=\"hero__secondary\">\n <slot name=\"secondary-content\" />\n {this.hasIconBox && (\n <div class=\"hero__icon-box\">\n <slot name=\"icon-box\" />\n <slot name=\"icon-box-item\" />\n </div>\n )}\n {this.hasQuote && (\n <div class=\"hero__quote-content\">\n <span class=\"hero__quote\">\n <slot name=\"quote\" />\n </span>\n <div class=\"hero__quote-author\">\n <slot name=\"quote-author\" />\n </div>\n </div>\n )}\n </div>\n </nano-grid-item>\n )}\n </nano-grid>,\n ];\n };\n\n render() {\n const rtl =\n this.host.dir === 'rtl' ||\n (this.host.ownerDocument as Document).dir === 'rtl';\n\n return (\n <div\n class={{\n hero: true,\n 'hero--light': this.theme === 'light',\n 'hero--secondary': this.hasSecondaryContent,\n 'hero--iconbox': this.hasIconBox,\n 'hero--rtl': rtl,\n 'hero--scrim': this.hasScrim,\n 'hero--legacy': this.isLegacy,\n 'hero--breadcrumb': !!this.breadCrumbs.length,\n 'hero--hasbg': this.hasBg,\n 'hero--backbtn': this.hasBackBtn,\n 'hero--sub': this.level === 'sub',\n }}\n >\n <div class=\"hero__bg-wrap\">\n {!!this.imgSrc && (\n <nano-img\n class=\"hero__img\"\n lazy={false}\n background\n srcSet={this.imgSrcSet}\n src={this.imgSrc}\n >\n <this.HeroContent />\n </nano-img>\n )}\n {!this.imgSrc && [\n <div class=\"hero__bg-slot\">\n <slot name=\"background\" />\n </div>,\n <this.HeroContent />,\n ]}\n </div>\n </div>\n );\n }\n}\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/colours';\n\n:host {\n /**\n * @prop --nano-loader-base: Base colour of nano-skeleton. Default depends on theme;\n * @prop --nano-loader-tint: Tint colour of nano-skeleton. Default depends on theme;\n * @prop --theme-color: Text color. Default depends on theme;\n * @prop --theme-tint-color: Color used for bread crumbs and icons. Defaults to #{$color-lightblue};\n * @prop --scrim-color: Color of the gradient covering the background. Default depends on theme;\n * @prop --scrim-direction: Direction of the gradient covering the background. Default what content slots are present;\n * @prop --scrim-opacity-from: Starting opactiy of the gradient covering the background. Default .25;\n * @prop --scrim-opacity-to: Final opactiy of the gradient covering the background. Default depends on `theme`;\n */\n\n display: block;\n\n --nano-loader-base: #{$color-black};\n --nano-loader-tint: #{lighten($color-black, 20%)};\n --theme-color: #{$color-white};\n --theme-tint-color: #{$color-lightblue};\n --scrim-color: 0, 0, 0;\n --scrim-direction: 90deg;\n --scrim-opacity-from: 0.25;\n --scrim-opacity-to: 0.7;\n --padding: 0;\n\n color: var(--theme-color);\n}\n\n:host([theme='light']) {\n --nano-loader-base: #{$color-white};\n --nano-loader-tint: #{lighten($color-white, 20%)};\n --theme-color: #{$color-black};\n --scrim-color: 255, 255, 255;\n --scrim-opacity-from: 0.25;\n --scrim-opacity-to: 1;\n --scrim-direction: 270deg;\n\n color: var(--theme-color);\n\n .hero__primary-content {\n --color: #{$color-black};\n }\n}\n\n.hero {\n position: relative;\n\n &--rtl {\n --scrim-direction: 270deg;\n }\n\n &--secondary:not(.hero--iconbox) {\n --scrim-direction: 0deg;\n }\n\n &__bg-wrap {\n overflow: hidden;\n }\n\n &__bg-slot {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n &__ctas {\n @media (max-width: 52em) {\n display: none;\n }\n\n @media (max-width: 58em) {\n margin-bottom: -48px;\n }\n\n display: flex;\n justify-content: flex-end;\n padding: 32px 32px 0;\n margin-bottom: -64px;\n position: relative;\n z-index: 1;\n\n ::slotted(a.button[slot='secondary-ctas']),\n &::slotted(a.button[slot='secondary-ctas']) {\n padding: 0.25rem 0.5rem !important;\n font-size: 0.875rem !important;\n margin: 0 0.25rem !important;\n }\n }\n\n &__img {\n display: block;\n\n --padding: inherit;\n }\n\n &__breadcrumbs {\n display: none;\n margin: 20px 14px 0;\n line-height: 14px;\n\n .hero--breadcrumb & {\n display: block;\n }\n\n .is-xl & {\n margin: 0 50px;\n max-width: 50%;\n }\n\n .is-xxl & {\n margin: 0 83px;\n }\n\n ::slotted(*[slot='breadcrumb']),\n &::slotted(*[slot='breadcrumb']) {\n font-size: 0.85rem;\n text-transform: uppercase;\n letter-spacing: 1.5px;\n font-weight: 600;\n font-stretch: 125%;\n display: inline-block;\n margin-bottom: 16px;\n position: relative;\n z-index: 2;\n\n .hero--hasbg & {\n text-shadow: 1px 1px rgb(0 0 0 / 15%);\n }\n }\n\n ::slotted(a[slot='breadcrumb']),\n &::slotted(a[slot='breadcrumb']) {\n color: var(--theme-tint-color) !important;\n cursor: pointer;\n }\n\n ::slotted(.slash[slot='breadcrumb']),\n &::slotted(.slash[slot='breadcrumb']) {\n color: var(--theme-color);\n position: relative;\n margin: 0 0.5rem;\n display: inline-block;\n }\n }\n\n &__scrim {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 0;\n background:\n linear-gradient(\n var(--scrim-direction),\n rgba(var(--scrim-color), var(--scrim-opacity-from)) 0%,\n rgba(var(--scrim-color), var(--scrim-opacity-to)) 100%\n );\n\n .hero--scrim & {\n background: none;\n }\n }\n\n &__content {\n max-width: 1440px;\n\n --grid-row-gap: 0;\n\n margin: 0 auto;\n position: relative;\n\n &.is-xl {\n margin-top: 50px;\n max-width: 1540px;\n }\n\n &.is-xxl {\n margin-top: 83px;\n max-width: 1606px;\n }\n }\n\n &__primary {\n margin: 16px;\n\n .hero--breadcrumb & {\n margin: 0 16px;\n }\n\n .hero--backbtn & {\n margin-left: 0;\n }\n\n ::slotted(nano-icon-button[slot='back-btn']),\n &::slotted(nano-icon-button[slot='back-btn']) {\n font-size: 2rem;\n }\n\n .is-xl & {\n margin: 0 0 50px 50px;\n\n ::slotted(nano-icon-button[slot='back-btn']),\n &::slotted(nano-icon-button[slot='back-btn']) {\n @include margin(0, 0, 0, -3rem);\n }\n }\n\n .is-xxl & {\n margin: 0 0 83px 83px;\n }\n }\n\n &__primary-content {\n max-width: 45rem;\n\n --color: #fff;\n\n display: flex;\n\n .hero--backbtn & {\n > div {\n padding: 10px 0 0 0;\n }\n }\n\n ::slotted(h1[slot='primary-content']),\n &::slotted(h1[slot='primary-content']) {\n line-height: 26px !important;\n margin-top: 0 !important;\n margin-bottom: 18px !important;\n font-size: 2rem !important;\n }\n\n .is-xl & {\n ::slotted(h1[slot='primary-content']),\n &::slotted(h1[slot='primary-content']) {\n line-height: 31px !important;\n margin-bottom: 30px !important;\n }\n\n ::slotted(.button[slot='primary-content']),\n &::slotted(.button[slot='primary-content']) {\n margin-top: 20px !important;\n }\n }\n }\n\n &__secondary {\n display: none;\n height: 100%;\n padding: 0 14px 20px;\n\n .hero--secondary & {\n display: flex;\n align-items: center;\n }\n\n .is-xl & {\n padding: 0 50px 50px;\n justify-content: flex-end;\n }\n\n .is-xxl & {\n padding: 0 83px 83px;\n }\n }\n\n &__icon-box {\n background: rgba(0, 0, 0, 0.7);\n padding: 24px;\n width: 100%;\n margin-bottom: auto;\n display: flex;\n flex-direction: column;\n color: white;\n\n .is-xl & {\n max-width: 410px;\n flex: 0 1 410px;\n }\n\n // for silly IE\n &::slotted([slot='icon-box-item'] nano-icon) {\n color: var(--theme-tint-color);\n\n --nano-icon-size: 32px;\n --nano-icon-margin-end: 20px;\n }\n\n ::slotted([slot='icon-box-item']) {\n --nano-color-base: var(--theme-tint-color);\n --nano-icon-size: 32px;\n --nano-icon-margin-end: 20px;\n\n display: flex;\n align-items: center;\n font-size: 0.8125rem;\n margin-bottom: 20px;\n }\n\n ::slotted(.last[slot='icon-box-item']),\n &::slotted(.last[slot='icon-box-item']) {\n margin-bottom: 0;\n }\n }\n\n &__quote-content {\n margin-top: auto;\n text-align: center;\n width: 100%;\n\n .is-xl & {\n max-width: 500px;\n flex: 0 1 500px;\n text-align: initial;\n }\n }\n\n &__quote {\n &::before,\n &::after {\n content: '\"';\n font-size: 2.5rem;\n font-weight: 700;\n font-style: italic;\n color: #abb6b8;\n display: inline;\n }\n\n ::slotted([slot='quote']),\n &::slotted([slot='quote']) {\n font-size: 32px;\n font-weight: 300;\n font-style: italic;\n display: inline;\n\n .is-xl & {\n font-size: 42px;\n }\n }\n }\n\n &__quote-author {\n text-align: right;\n text-align: end;\n font-size: 1rem;\n opacity: 0.8;\n }\n\n &--sub {\n .hero__content.is-xl {\n margin-top: 40px;\n\n .hero__primary {\n margin: 0 0 40px 50px;\n }\n\n .hero__secondary {\n padding: 0 50px 50px 40px;\n }\n\n ::slotted(.button[slot='primary-content']),\n &::slotted(.button[slot='primary-content']) {\n margin-top: 8px !important;\n }\n\n ::slotted(h1[slot='primary-content']),\n &::slotted(h1[slot='primary-content']) {\n margin-bottom: 18px !important;\n }\n }\n\n .hero__content.is-xxl {\n .hero__primary {\n margin: 0 0 40px 83px;\n }\n\n .hero__secondary {\n padding: 0 83px 83px 40px;\n }\n }\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(t,n,e,i){function a(t){return t instanceof e?t:new e((function(n){n(t)}))}return new(e||(e=Promise))((function(e,o){function r(t){try{s(i.next(t))}catch(n){o(n)}}function l(t){try{s(i["throw"](t))}catch(n){o(n)}}function s(t){t.done?e(t.value):a(t.value).then(r,l)}s((i=i.apply(t,n||[])).next())}))};var __generator=this&&this.__generator||function(t,n){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i,a,o,r;return r={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function l(t){return function(n){return s([t,n])}}function s(r){if(i)throw new TypeError("Generator is already executing.");while(e)try{if(i=1,a&&(o=r[0]&2?a["return"]:r[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,r[1])).done)return o;if(a=0,o)r=[r[0]&2,o.value];switch(r[0]){case 0:case 1:o=r;break;case 4:e.label++;return{value:r[1],done:false};case 5:e.label++;a=r[1];r=[0];continue;case 7:r=e.ops.pop();e.trys.pop();continue;default:if(!(o=e.trys,o=o.length>0&&o[o.length-1])&&(r[0]===6||r[0]===2)){e=0;continue}if(r[0]===3&&(!o||r[1]>o[0]&&r[1]<o[3])){e.label=r[1];break}if(r[0]===6&&e.label<o[1]){e.label=o[1];o=r;break}if(o&&e.label<o[2]){e.label=o[2];e.ops.push(r);break}if(o[2])e.ops.pop();e.trys.pop();continue}r=n.call(t,e)}catch(l){r=[6,l];a=0}finally{i=o=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};System.register(["./p-2d59dda3.system.js","./p-3d1c1c19.system.js","./p-22b50344.system.js","./p-a057ad2d.system.js"],(function(t){"use strict";var n,e,i,a,o,r,l,s;return{setters:[function(t){n=t.r;e=t.c;i=t.h;a=t.e;o=t.g},function(t){r=t.c},function(t){l=t.a},function(t){s=t.c}],execute:function(){var p='.sc-nano-input-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-input,*.sc-nano-input::before,*.sc-nano-input::after{-webkit-box-sizing:border-box;box-sizing:border-box}.sc-nano-input-h{--placeholder-color:var(--nano-input-placeholder-color, initial);--placeholder-font-style:var(--nano-input-placeholder-style, initial);--placeholder-font-weight:var(--nano-input-placeholder-weight, initial);--placeholder-opacity:var(--nano-input-placeholder-opacity, 0.5);--padding-top:var(--nano-input-padding-top, var(--nano-input-padding, 8px));--padding-end:var(--nano-input-padding-end, var(--nano-input-padding, 8px));--padding-bottom:var(--nano-input-padding-bottom, var(--nano-input-padding, 8px));--padding-start:var(--nano-input-padding-start, var(--nano-input-padding, 8px));--color-invalid:var(--nano-color-danger-rgb, 239, 65, 53);--color--focus-rgb:var(\n --nano-color-base-rgb,\n var(--nano-color-primary-rgb, 0, 132, 169)\n );--input-font-size:var(--nano-input-font-size, 0.87em);--input-text-color:var(--nano-input-text-color, #4a4a4a);--input-border-width:var(--input-border-width-sh, var(--nano-input-border-width, 2px));--input-border-color:var(--nano-input-border-color, #e4e6e8);--input-border-radius:var(--nano-input-border-radius, 0);--input-border-style:var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);--input-border-style--focus:var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);--input-border-style--invalid:var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #fac6c3);--input-border-style--invalid-focus:var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #f36d64);--input-bg-color:var(--nano-input-background-color, #fff);--input-bg-color--focus:var(--input-bg-color);--input-bg-color--invalid:var(--nano-input-background-color, #fee8de);--invalid-msg-color:rgba(var(--color-invalid), 1);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #687576);--clear-btn-color:var(--nano-clear-btn-color, rgba(0, 0, 0, 0.3));--clear-btn-color--hover:rgba(var(--color--focus-rgb), 1);--clear-btn-color--invalid:rgba(var(--color-invalid), 1);--label-color:var(--nano-input-label-color, "currentColor");--label-color--focus:var(--label-color);--label-color--invalid:var(--nano-input-label-color-invalid, "currentColor");--label-font-size:var(--nano-input-label-color, 1em);--multi-input-value-bg:var(--nano-input-tag-bg, 186, 220, 240);--multi-input-value-text-color:var(--nano-input-tag-color, #455556);--multi-input-value-border:var(--nano-input-tag-color, #90c6e7);position:relative;width:100%;padding:0 !important;color:currentColor;display:inline-block}.nano-color.sc-nano-input-h{color:var(--nano-color-base);--input-border-style--focus:var(--nano-input-border-style, solid) var(--nano-color-tint, var(--nano-color-primary-tint, #2696b6))}[disabled].sc-nano-input-h:not([disabled=false]){opacity:0.7}label.sc-nano-input,.more.sc-nano-input,.error.sc-nano-input,.helper.sc-nano-input{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}label.visually-hide.sc-nano-input,.more.visually-hide.sc-nano-input,.error.visually-hide.sc-nano-input,.helper.visually-hide.sc-nano-input{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.placeholder-as-label.sc-nano-input{padding-left:var(--padding-start);padding-right:0;padding-top:0;padding-bottom:0;color:var(--label-color);position:absolute;font-size:1.4em;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transform-origin:top left;transform-origin:top left;top:50%;-webkit-transition:0.125s ease-in;transition:0.125s ease-in;opacity:0.7}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.placeholder-as-label.sc-nano-input{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:0;padding-inline-end:0}}.has-focus.sc-nano-input-h .placeholder-as-label.sc-nano-input{-webkit-transform:translateY(-120%);transform:translateY(-120%);font-size:0.9em}.is-invalid.sc-nano-input-h .placeholder-as-label.sc-nano-input{color:var(--invalid-msg-color)}.has-value.sc-nano-input-h .placeholder-as-label.sc-nano-input{-webkit-transform:translateY(-120%);transform:translateY(-120%);font-size:0.9em}.placeholder-as-label.sc-nano-input~.native-input-wrap.sc-nano-input{font-size:1.1em}.textarea.sc-nano-input .placeholder-as-label.sc-nano-input{top:50%}.has-focus.sc-nano-input-h .textarea.sc-nano-input .placeholder-as-label.sc-nano-input{top:0;-webkit-transform:translateY(38%);transform:translateY(38%)}.has-value.sc-nano-input-h .textarea.sc-nano-input .placeholder-as-label.sc-nano-input{top:0;-webkit-transform:translateY(38%);transform:translateY(38%)}.label.sc-nano-input{color:var(--label-color);font-size:var(--label-font-size);padding-bottom:var(--padding-bottom);line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.label.sc-nano-input .label-placeholder.sc-nano-input{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.label.sc-nano-input .placeholder.sc-nano-input{margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:0.3s ease opacity;transition:0.3s ease opacity;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.label.sc-nano-input .placeholder.sc-nano-input{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}.label.sc-nano-input .charcount.sc-nano-input{margin-left:auto;margin-right:0;margin-top:0;margin-bottom:0;font-size:0.9em;opacity:0.5}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.label.sc-nano-input .charcount.sc-nano-input{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:0;margin-inline-end:0}}.has-value.sc-nano-input-h .label.sc-nano-input .placeholder.sc-nano-input{opacity:0.5}.has-focus.sc-nano-input-h .label.sc-nano-input{color:var(--label-color--focus)}.is-invalid.sc-nano-input-h .label.sc-nano-input{color:var(--label-color--invalid)}.more.sc-nano-input{height:1em;margin-left:3px;margin-right:0;margin-top:4px;margin-bottom:var(--padding-bottom);position:relative}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.more.sc-nano-input{margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:0;margin-inline-end:0}}.helper.sc-nano-input,.error.sc-nano-input{top:0;left:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;-webkit-transition:0.3s ease-out opacity;transition:0.3s ease-out opacity;width:auto}.helper.sc-nano-input{font-style:italic;color:var(--help-msg-color)}[show-inline-error].sc-nano-input-h:not([show-inline-error=false]).is-invalid .helper.sc-nano-input{opacity:0}.error.sc-nano-input{opacity:0;color:var(--invalid-msg-color);font-stretch:condensed}.is-invalid.sc-nano-input-h .error.sc-nano-input{opacity:1}.input.sc-nano-input{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--input-border-radius);width:100%;padding:0 !important;position:relative;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;background:var(--input-bg-color);border:var(--input-border-style);border-width:var(--input-border-width);font-size:var(--input-font-size)}.has-focus.sc-nano-input-h .input.sc-nano-input{background:var(--input-bg-color--focus);border:var(--input-border-style--focus);border-width:var(--input-border-width);z-index:1}.is-invalid.sc-nano-input-h .input.sc-nano-input{background:var(--input-bg-color--invalid);border:var(--input-border-style--invalid);border-width:var(--input-border-width)}.is-invalid.has-focus.sc-nano-input-h .input.sc-nano-input{background:var(--input-bg-color--invalid);border:var(--input-border-style--invalid-focus);border-width:var(--input-border-width)}.native-input-wrap.sc-nano-input{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex:1;flex:1}.native-input.sc-nano-input{border-radius:var(--input-border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:0;padding-bottom:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;text-overflow:ellipsis;color:var(--input-text-color);display:inline-block;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:2.5em;min-height:2.5em;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-nano-input{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-input.sc-nano-input::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity);line-height:2.5em;min-height:2.5em}.native-input.sc-nano-input::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity);line-height:2.5em;min-height:2.5em}.native-input.sc-nano-input:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity);line-height:2.5em;min-height:2.5em}.native-input.sc-nano-input::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity);line-height:2.5em;min-height:2.5em}.native-input.sc-nano-input::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity);line-height:2.5em;min-height:2.5em}.native-input.sc-nano-input::-moz-placeholder{line-height:2.8em;text-overflow:ellipsis}.native-input.sc-nano-input:-webkit-autofill{background-color:transparent}.native-input.sc-nano-input::-webkit-search-decoration,.native-input.sc-nano-input::-webkit-search-cancel-button,.native-input.sc-nano-input::-webkit-search-results-button,.native-input.sc-nano-input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.native-input.sc-nano-input:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-nano-input::-ms-clear,.native-input.sc-nano-input::-ms-reveal{display:none}.native-input.resizable.sc-nano-input{resize:vertical;overflow:auto}.textarea.sc-nano-input .native-input.sc-nano-input{line-height:1.5em;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);white-space:pre-wrap}.textarea.sc-nano-input .native-input.sc-nano-input::-webkit-input-placeholder{line-height:1.5em}.textarea.sc-nano-input .native-input.sc-nano-input::-moz-placeholder{line-height:1.5em}.textarea.sc-nano-input .native-input.sc-nano-input:-ms-input-placeholder{line-height:1.5em}.textarea.sc-nano-input .native-input.sc-nano-input::-ms-input-placeholder{line-height:1.5em}.textarea.sc-nano-input .native-input.sc-nano-input::placeholder{line-height:1.5em}.has-float-label.sc-nano-input .native-input.sc-nano-input{padding-top:1.4em}.has-float-label.textarea.sc-nano-input .native-input.sc-nano-input{padding-top:1.8em}.legacy.sc-nano-input .native-input.sc-nano-input{-webkit-box-sizing:content-box;box-sizing:content-box}.native-input[disabled].sc-nano-input{opacity:0.4}.input-clear-icon.sc-nano-input,.inline-button.sc-nano-input{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;background-position:center;font-size:1.4em;color:var(--clear-btn-color);border:0;outline:none;background-color:transparent;background-repeat:no-repeat;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:auto}.is-invalid.sc-nano-input-h .input-clear-icon.sc-nano-input,.is-invalid.sc-nano-input-h .inline-button.sc-nano-input{color:var(--clear-btn-color--invalid)}.has-float-label.sc-nano-input .input-clear-icon.sc-nano-input,.has-float-label.sc-nano-input .inline-button.sc-nano-input{right:0;position:absolute;top:0;height:100%;left:auto}.rtl.has-float-label.sc-nano-input .input-clear-icon.sc-nano-input,.rtl.has-float-label.sc-nano-input .inline-button.sc-nano-input{right:auto;left:0}.inline-button.sc-nano-input-s>*,.inline-button .sc-nano-input-s>*{font-size:1em;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:0;padding-bottom:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inline-button.sc-nano-input-s>*,.inline-button .sc-nano-input-s>*{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.sc-nano-input-h[disabled]:not([disabled=false]) .inline-button.sc-nano-input-s>*,.sc-nano-input-h[disabled]:not([disabled=false]) .inline-button .sc-nano-input-s>*{pointer-events:none}.input-clear-icon.sc-nano-input{padding:0;opacity:0;width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.has-value.sc-nano-input-h .input-clear-icon.sc-nano-input{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:0;padding-bottom:0;opacity:1;width:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.has-value.sc-nano-input-h .input-clear-icon.sc-nano-input{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.input-clear-icon.sc-nano-input:hover{color:var(--clear-btn-color--hover)}.has-inline-button.has-float-label.sc-nano-input .input-clear-icon.sc-nano-input{right:1.5em;position:absolute;top:0;height:100%;left:auto}.rtl.has-float-label.has-inline-button.sc-nano-input .input-clear-icon.sc-nano-input{right:auto;left:1.2em}';var u=t("nano_input",function(){function t(t){var i=this;n(this,t);this.nanoInput=e(this,"nanoInput",7);this.nanoChange=e(this,"nanoChange",7);this.nanoBlur=e(this,"nanoBlur",7);this.nanoFocus=e(this,"nanoFocus",7);this.nanoDidLoad=e(this,"nanoDidLoad",7);this.nanoDidUnload=e(this,"nanoDidUnload",7);this.nanoValidate=e(this,"nanoValidate",7);this.inputId="nano-input-"+d++;this.didBlurAfterEdit=false;this.rtl=false;this.charCount=0;this.hasRendered=false;this.hasFocus=false;this.isLegacy=!document.head.attachShadow;this.hasLabelSlot=false;this.hasButtonSlot=false;this.hasHelperSlot=false;this._invalid=false;this.autocapitalise="none";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.clearInput=false;this.debounce=0;this.disabled=false;this.validateOn="submit";this.showInlineError=true;this.hideLabel=false;this.floatLabel=false;this.name=this.inputId;this.readonly=false;this.required=false;this.spellcheck=false;this.type="text";this.value="";this.resize="auto";this.rows=2;this.showCharCount=false;this.validate=function(t){if(i.validateOn==="submitThenDirty")i.validateOn="dirty";if(!i.nativeInput.validity.valid){if(i.showInlineError&&!!i.errorContainer){if(t)t.preventDefault();i.errorContainer.innerText=i.nativeInput.validationMessage}i._invalid=true}else i._invalid=false;i.nanoValidate.emit({isValid:!i._invalid,errorMessage:i.nativeInput.validationMessage,originalEvent:t})};this.onInput=function(t){var n=t.target;if(n)i.value=n.value||"";i.nanoInput.emit(t)};this.handleDocumentMouseDown=function(t){var n=t.target;if(r(i.el.tagName.toLowerCase(),n)!==i.el){i.onBlur()}};this.handleDocumentKeyDown=function(t){if(t.key!=="Tab")return;setTimeout((function(){if(document.activeElement&&r(i.el.tagName.toLowerCase(),document.activeElement)!==i.el){i.onBlur();return}}))};this.onBlur=function(){i.hasFocus=false;i.focusChanged();if(i.validateOn==="dirty")i.validate();document.removeEventListener("keydown",i.handleDocumentKeyDown);document.removeEventListener("mousedown",i.handleDocumentMouseDown);i.nanoBlur.emit()};this.onFocus=function(){i.hasFocus=true;i.focusChanged();document.addEventListener("keydown",i.handleDocumentKeyDown);document.addEventListener("mousedown",i.handleDocumentMouseDown);i.nanoFocus.emit()};this.onKeydown=function(){if(i.shouldClearOnEdit()){if(i.didBlurAfterEdit&&i.hasValue()){i.clearTextInput()}i.didBlurAfterEdit=false}};this.clearTextInput=function(t){if(i.clearInput&&!i.readonly&&!i.disabled&&t){t.preventDefault();t.stopPropagation()}i.value="";if(i.nativeInput){i.nativeInput.value=""}}}Object.defineProperty(t.prototype,"invalid",{get:function(){return this._invalid},enumerable:false,configurable:true});t.prototype.shouldValidate=function(){var t=this;if(!this.hasRendered)return;setTimeout((function(){if(t.validateOn==="dirty")t.validate()}),20)};t.prototype.valueChanged=function(){var t=this;this.nanoChange.emit({value:this.value});this.charCount=this.value.length;if(this.type==="textarea"&&this.resize==="auto"){this.nativeInput.style.height="auto";if(this.value.length)this.nativeInput.style.height=this.nativeInput.scrollHeight+"px"}setTimeout((function(){if(t.validateOn==="dirty")t.validate()}),20)};t.prototype.debounceChanged=function(){this.nanoChange=l(this.nanoChange,this.debounce)};t.prototype.reportValidity=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(t)this.validate();return[2,{isValid:!this._invalid,errorMessage:this.nativeInput.validationMessage}]}))}))};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(this.nativeInput){this.nativeInput.focus()}return[2]}))}))};t.prototype.getInputElement=function(){return Promise.resolve(this.nativeInput)};t.prototype.showError=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(this.nativeInput){this.nativeInput.setCustomValidity(t);this.validate()}return[2]}))}))};t.prototype.shouldClearOnEdit=function(){var t=this,n=t.type,e=t.clearOnEdit;return e===undefined?n==="password":e};t.prototype.getValue=function(){return this.value||""};t.prototype.focusChanged=function(){if(!this.hasFocus&&this.shouldClearOnEdit()&&this.hasValue()){this.didBlurAfterEdit=true}};t.prototype.hasValue=function(){return this.getValue().length>0};t.prototype.slotChangeObserver=function(){var t=this;if(this.mo)this.mo.disconnect();var n=this.mo=new MutationObserver((function(){return t.processSlottedContent()}));n.observe(this.el,{childList:true,subtree:true})};t.prototype.processSlottedContent=function(){var t=this;this.hasLabelSlot=!!this.el.querySelectorAll('[slot="label"]');this.hasButtonSlot=!!this.el.querySelector('[slot="inline-button"]');this.hasHelperSlot=!!this.el.querySelector('[slot="helper"]');var n=!!this.el.querySelector('[slot="legacy"]');if(!n)return;var e=this.el.querySelector('input:not([class*="sc-nano-input"])');var i=this.el.querySelector('label:not([class*="sc-nano-input"])');if(i)this.label=this.label||i.innerHTML;if(e){Array.from(e.attributes).filter((function(n){return n.specified&&n.nodeName in t})).map((function(n){return t[n.nodeName]=n.nodeValue}))}if(i||e){var a=this.el.querySelectorAll('[slot="legacy"]');if(a)a.forEach((function(t){return t.parentNode.removeChild(t)}))}};t.prototype.connectedCallback=function(){this.debounceChanged();{this.el.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.el}))}};t.prototype.disconnectedCallback=function(){{document.dispatchEvent(new CustomEvent("nanoDidUnload",{detail:this.el}))}if(this.mo)this.mo.disconnect()};t.prototype.componentDidLoad=function(){this.slotChangeObserver();this.hasRendered=true};t.prototype.componentWillLoad=function(){this.processSlottedContent()};t.prototype.renderLabel=function(t,n){if(!this.label&&!this.hasLabelSlot)return;if(n==="float"){return i("label",{class:"placeholder-as-label",htmlFor:this.inputId,id:t},this.label&&this.label,!this.label&&this.hasLabelSlot&&i("slot",{name:"label"}))}else{return i("label",{class:{label:true,"visually-hide":this.hideLabel},htmlFor:this.inputId,id:t},i("div",{class:"label-placeholder"},this.placeholder&&this.hasValue()&&this.rtl&&i("span",{class:"placeholder"},this.placeholder," / "),i("span",{class:"labeltext"},this.label&&this.label,!this.label&&this.hasLabelSlot&&i("slot",{name:"label"})),this.placeholder&&this.hasValue()&&!this.rtl&&i("span",{class:"placeholder"}," / ",this.placeholder)),this.showCharCount&&i("span",{class:"charcount"},this.maxlength?this.maxlength-this.charCount+" left":this.charCount+" characters"))}};t.prototype.render=function(){var t=this;var n=this.getValue();var e=this.inputId+"-lbl";var o=this.showInlineError||this.hasHelperSlot?this.inputId+"-more":"";this.rtl=this.el.ownerDocument.dir==="rtl";return i(a,{"aria-disabled":this.disabled?"true":null,dir:this.rtl?"rtl":null,class:Object.assign(Object.assign({},s(this.color)),{"has-value":this.hasValue(),"has-focus":this.hasFocus,"is-invalid":this._invalid})},!this.floatLabel&&this.renderLabel(e),i("div",{class:{"has-label":this.label!==null&&!this.floatLabel,"has-float-label":this.label!==null&&this.floatLabel,rtl:this.rtl,"has-inline-button":this.hasButtonSlot,legacy:this.isLegacy,input:true,textarea:this.type==="textarea"}},this.floatLabel&&this.renderLabel(e,"float"),i("div",{class:"native-input-wrap"},this.type!=="textarea"&&i("input",{id:this.inputId,class:"native-input",ref:function(n){return t.nativeInput=n},"aria-labelledby":e+" "+o,disabled:this.disabled,accept:this.accept,autoCapitalize:this.autocapitalise,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,autoFocus:this.autofocus,inputMode:this.inputmode,form:this.form,min:this.min,max:this.max,minLength:this.minlength,maxLength:this.maxlength,multiple:this.multiple,name:this.name,pattern:this.pattern,placeholder:!this.floatLabel&&this.placeholder?this.placeholder:"",readOnly:this.readonly,required:this.required,spellcheck:this.spellcheck,step:this.step,size:this.size,type:this.type,value:n,onInput:this.onInput,onFocus:this.onFocus,onKeyDown:this.onKeydown,onInvalid:this.validate}),this.type==="textarea"&&i("textarea",{rows:this.floatLabel?1:this.rows,id:this.inputId,class:{"native-input":true,resizable:this.resize==="true"},ref:function(n){return t.nativeInput=n},"aria-labelledby":e+" "+o,disabled:this.disabled,autoCapitalize:this.autocapitalise,autoCorrect:this.autocorrect,autoFocus:this.autofocus,inputMode:this.inputmode,form:this.form,minLength:this.minlength,maxLength:this.maxlength,name:this.name,placeholder:!this.floatLabel&&this.placeholder?this.placeholder:"",readOnly:this.readonly,required:this.required,spellcheck:this.spellcheck,value:n,onInput:this.onInput,onFocus:this.onFocus,onKeyDown:this.onKeydown,onInvalid:this.validate}),this.clearInput&&!this.readonly&&!this.disabled&&i("button",{type:"button",class:"icon input-clear-icon",tabindex:"-1",onTouchStart:this.clearTextInput,onMouseDown:this.clearTextInput},i("nano-icon",{name:"light/times"})),this.hasButtonSlot?i("span",{class:"inline-button"},i("slot",{name:"inline-button"})):"")),(this.showInlineError||this.hasHelperSlot)&&i("div",{class:"more",id:o},!!this.showInlineError?i("div",{class:"error",ref:function(n){return t.errorContainer=n}}):"",i("div",{class:"helper"},i("slot",{name:"helper"}))),i("slot",null))};Object.defineProperty(t.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{minlength:["shouldValidate"],maxlength:["shouldValidate"],min:["shouldValidate"],max:["shouldValidate"],required:["shouldValidate"],disabled:["shouldValidate"],validateOn:["shouldValidate"],readonly:["shouldValidate"],pattern:["shouldValidate"],inputmode:["shouldValidate"],value:["valueChanged"],debounce:["debounceChanged"]}},enumerable:false,configurable:true});return t}());var d=0;u.style=p}}}));
2
- //# sourceMappingURL=p-8fe04c5c.system.entry.js.map