@nanoporetech-digital/components 7.9.1 → 8.0.0-alpha.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 (1783) hide show
  1. package/dist/cjs/active-element-DB7WRcF-.js +69 -0
  2. package/dist/cjs/algolia-data-JweofGji.js +49 -0
  3. package/dist/cjs/algoliasearch-lite.esm.browser-DWj6KfUw.js +951 -0
  4. package/dist/cjs/component-store-DKMzj8Ei.js +326 -0
  5. package/dist/cjs/date-utils-DqYlulq4.js +232 -0
  6. package/dist/cjs/dom-a3wgHxbn.js +71 -0
  7. package/dist/cjs/drag-B5XXLJW9.js +72 -0
  8. package/dist/cjs/events-pBdXJwIU.js +37 -0
  9. package/dist/cjs/fade-run1oYFS.js +212 -0
  10. package/dist/cjs/form-control-zW-pmQ5Y.js +84 -0
  11. package/dist/cjs/fullscreen-DGiusO_n.js +132 -0
  12. package/dist/cjs/index-BV7Y7Zvi.js +198 -0
  13. package/dist/cjs/index-D0X7QVou.js +655 -0
  14. package/dist/cjs/index-DYD4xvxr.js +3328 -0
  15. package/dist/cjs/index-browser-3bwVgSYS.js +13 -0
  16. package/dist/cjs/index.cjs.js +41 -24
  17. package/dist/cjs/lazyload-CavfHrQV.js +94 -0
  18. package/dist/cjs/loader.cjs.js +4 -9
  19. package/dist/cjs/local-logged-in-C8Qr7Q7o.js +223 -0
  20. package/dist/cjs/local-logged-out-fCQ614s8.js +219 -0
  21. package/dist/cjs/math-DIjJ3V87.js +39 -0
  22. package/dist/cjs/modal-lJ_KdrUQ.js +49 -0
  23. package/dist/cjs/nano-accordion.cjs.entry.js +13 -27
  24. package/dist/cjs/nano-alert.cjs.entry.js +85 -36
  25. package/dist/cjs/nano-algolia-filter.cjs.entry.js +10 -15
  26. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +5 -9
  27. package/dist/cjs/nano-algolia-results.cjs.entry.js +7 -11
  28. package/dist/cjs/nano-algolia.cjs.entry.js +22 -27
  29. package/dist/cjs/nano-animation.cjs.entry.js +4 -8
  30. package/dist/cjs/nano-avatar_5.cjs.entry.js +1778 -0
  31. package/dist/cjs/nano-breadcrumb.cjs.entry.js +41 -0
  32. package/dist/cjs/nano-card-carousel.cjs.entry.js +95 -0
  33. package/dist/cjs/nano-card.cjs.entry.js +23 -0
  34. package/dist/cjs/nano-checkbox-group.cjs.entry.js +79 -47
  35. package/dist/cjs/nano-checkbox.cjs.entry.js +34 -24
  36. package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +62 -0
  37. package/dist/cjs/nano-components.cjs.js +8 -11
  38. package/dist/cjs/nano-content-links.cjs.entry.js +17 -0
  39. package/dist/cjs/nano-cta.cjs.entry.js +42 -0
  40. package/dist/cjs/nano-data-table-DlJaR4KG.js +1847 -0
  41. package/dist/cjs/nano-data-table.cjs.entry.js +17 -0
  42. package/dist/cjs/nano-datalist_3.cjs.entry.js +85 -258
  43. package/dist/cjs/nano-date-input.cjs.entry.js +14 -27
  44. package/dist/cjs/nano-date-picker_2.cjs.entry.js +999 -0
  45. package/dist/cjs/nano-details.cjs.entry.js +61 -81
  46. package/dist/cjs/nano-dialog.cjs.entry.js +45 -42
  47. package/dist/cjs/nano-dropdown_2.cjs.entry.js +640 -0
  48. package/dist/cjs/nano-field-validator.cjs.entry.js +9 -17
  49. package/dist/cjs/nano-file-upload.cjs.entry.js +6 -11
  50. package/dist/cjs/nano-footer.cjs.entry.js +25 -0
  51. package/dist/cjs/nano-global-nav.cjs.entry.js +416 -1171
  52. package/dist/cjs/nano-grid-item.cjs.entry.js +3 -7
  53. package/dist/cjs/nano-grid_2.cjs.entry.js +12 -18
  54. package/dist/cjs/nano-hero.cjs.entry.js +9 -16
  55. package/dist/cjs/nano-icon-item.cjs.entry.js +21 -0
  56. package/dist/cjs/nano-icon_3.cjs.entry.js +655 -0
  57. package/dist/cjs/nano-in-page-nav.cjs.entry.js +212 -0
  58. package/dist/cjs/nano-intersection-observe.cjs.entry.js +15 -10
  59. package/dist/cjs/nano-masked-overflow.cjs.entry.js +351 -0
  60. package/dist/cjs/nano-menu-drawer.cjs.entry.js +8 -13
  61. package/dist/cjs/nano-more-less.cjs.entry.js +5 -9
  62. package/dist/cjs/nano-nav-item.cjs.entry.js +271 -0
  63. package/dist/cjs/nano-progress-bar.cjs.entry.js +8 -13
  64. package/dist/cjs/nano-range.cjs.entry.js +9 -14
  65. package/dist/cjs/nano-rating.cjs.entry.js +10 -20
  66. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +8 -13
  67. package/dist/cjs/nano-slide.cjs.entry.js +6 -11
  68. package/dist/cjs/nano-slides-D5q9vQ4P.js +3050 -0
  69. package/dist/cjs/nano-slides.cjs.entry.js +4 -8
  70. package/dist/cjs/nano-sortable.cjs.entry.js +11 -14
  71. package/dist/cjs/nano-spinner.cjs.entry.js +6 -11
  72. package/dist/cjs/nano-split-pane.cjs.entry.js +9 -14
  73. package/dist/cjs/nano-sticker.cjs.entry.js +12 -17
  74. package/dist/cjs/nano-tab-content.cjs.entry.js +9 -14
  75. package/dist/cjs/nano-tab-group.cjs.entry.js +64 -228
  76. package/dist/cjs/nano-tab.cjs.entry.js +18 -20
  77. package/dist/cjs/nano-table.cjs.entry.js +232 -13
  78. package/dist/cjs/page-dots-D-QQnR4W.js +138 -0
  79. package/dist/cjs/popover-CpIMxMWJ.js +1947 -0
  80. package/dist/cjs/renderer-SkVn69pT.js +71 -0
  81. package/dist/cjs/scroll-DXjC771e.js +185 -0
  82. package/dist/cjs/search-insights-BtxuX7Wv.js +50 -0
  83. package/dist/cjs/slot-CBvkJee9.js +107 -0
  84. package/dist/cjs/style-BccHkuhC.js +58 -0
  85. package/dist/cjs/tabbable-M9OUrhLE.js +124 -0
  86. package/dist/cjs/table.worker-BTF0UXAd.js +4 -0
  87. package/dist/cjs/table.worker-FkRsUwRY.js +32 -0
  88. package/dist/cjs/theme-2potFCtG.js +46 -0
  89. package/dist/cjs/throttle-CrRDOkln.js +52 -0
  90. package/dist/collection/assets/img/bsi/27001.svg +188 -0
  91. package/dist/collection/assets/img/bsi/9001.svg +172 -0
  92. package/dist/collection/assets/img/bsi/mark-of-trust.svg +230 -0
  93. package/dist/collection/assets/img/flags/en.svg +15 -0
  94. package/dist/collection/assets/img/flags/es.svg +544 -0
  95. package/dist/collection/assets/img/flags/ja.svg +11 -0
  96. package/dist/collection/assets/img/flags/zh.svg +14 -0
  97. package/dist/collection/collection-manifest.json +16 -4
  98. package/dist/collection/components/accordion/accordion.css +24 -10
  99. package/dist/collection/components/accordion/accordion.js +20 -55
  100. package/dist/collection/components/alert/alert.css +127 -58
  101. package/dist/collection/components/alert/alert.helpers.js +19 -12
  102. package/dist/collection/components/alert/alert.js +147 -32
  103. package/dist/collection/components/algolia/algolia-data.js +1 -2
  104. package/dist/collection/components/algolia/algolia-filter.css +23 -9
  105. package/dist/collection/components/algolia/algolia-filter.js +8 -9
  106. package/dist/collection/components/algolia/algolia-interface.js +0 -1
  107. package/dist/collection/components/algolia/algolia-pagination.js +4 -5
  108. package/dist/collection/components/algolia/algolia-results.js +5 -6
  109. package/dist/collection/components/algolia/algolia.css +23 -9
  110. package/dist/collection/components/algolia/algolia.js +20 -18
  111. package/dist/collection/components/algolia/lib/squirrelly/browser.js +1 -2
  112. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js +1 -2
  113. package/dist/collection/components/algolia/lib/squirrelly/compile.js +1 -2
  114. package/dist/collection/components/algolia/lib/squirrelly/config.js +1 -2
  115. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js +1 -2
  116. package/dist/collection/components/algolia/lib/squirrelly/containers.js +1 -2
  117. package/dist/collection/components/algolia/lib/squirrelly/err.js +1 -2
  118. package/dist/collection/components/algolia/lib/squirrelly/parse.js +1 -2
  119. package/dist/collection/components/algolia/lib/squirrelly/render.js +1 -2
  120. package/dist/collection/components/algolia/lib/squirrelly/storage.js +1 -2
  121. package/dist/collection/components/algolia/lib/squirrelly/utils.js +1 -2
  122. package/dist/collection/components/algolia/lib/template.js +1 -2
  123. package/dist/collection/components/animation/animation.js +15 -15
  124. package/dist/collection/components/animation/animations/attention_seekers/bounce.js +1 -2
  125. package/dist/collection/components/animation/animations/attention_seekers/flash.js +1 -2
  126. package/dist/collection/components/animation/animations/attention_seekers/headShake.js +1 -2
  127. package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js +1 -2
  128. package/dist/collection/components/animation/animations/attention_seekers/jello.js +1 -2
  129. package/dist/collection/components/animation/animations/attention_seekers/pulse.js +1 -2
  130. package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js +1 -2
  131. package/dist/collection/components/animation/animations/attention_seekers/shake.js +1 -2
  132. package/dist/collection/components/animation/animations/attention_seekers/shakeX.js +1 -2
  133. package/dist/collection/components/animation/animations/attention_seekers/shakeY.js +1 -2
  134. package/dist/collection/components/animation/animations/attention_seekers/swing.js +1 -2
  135. package/dist/collection/components/animation/animations/attention_seekers/tada.js +1 -2
  136. package/dist/collection/components/animation/animations/attention_seekers/wobble.js +1 -2
  137. package/dist/collection/components/animation/animations/back_entrances/backInDown.js +1 -2
  138. package/dist/collection/components/animation/animations/back_entrances/backInLeft.js +1 -2
  139. package/dist/collection/components/animation/animations/back_entrances/backInRight.js +1 -2
  140. package/dist/collection/components/animation/animations/back_entrances/backInUp.js +1 -2
  141. package/dist/collection/components/animation/animations/back_exits/backOutDown.js +1 -2
  142. package/dist/collection/components/animation/animations/back_exits/backOutLeft.js +1 -2
  143. package/dist/collection/components/animation/animations/back_exits/backOutRight.js +1 -2
  144. package/dist/collection/components/animation/animations/back_exits/backOutUp.js +1 -2
  145. package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js +1 -2
  146. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js +1 -2
  147. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js +1 -2
  148. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js +1 -2
  149. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js +1 -2
  150. package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js +1 -2
  151. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js +1 -2
  152. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js +1 -2
  153. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js +1 -2
  154. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js +1 -2
  155. package/dist/collection/components/animation/animations/easings/easings.js +1 -2
  156. package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js +1 -2
  157. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js +1 -2
  158. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js +1 -2
  159. package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js +1 -2
  160. package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js +1 -2
  161. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js +1 -2
  162. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js +1 -2
  163. package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js +1 -2
  164. package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js +1 -2
  165. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js +1 -2
  166. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js +1 -2
  167. package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js +1 -2
  168. package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js +1 -2
  169. package/dist/collection/components/animation/animations/fading_exits/fadeOut.js +1 -2
  170. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js +1 -2
  171. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js +1 -2
  172. package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js +1 -2
  173. package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js +1 -2
  174. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js +1 -2
  175. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js +1 -2
  176. package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js +1 -2
  177. package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js +1 -2
  178. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js +1 -2
  179. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js +1 -2
  180. package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js +1 -2
  181. package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js +1 -2
  182. package/dist/collection/components/animation/animations/flippers/flip.js +1 -2
  183. package/dist/collection/components/animation/animations/flippers/flipInX.js +1 -2
  184. package/dist/collection/components/animation/animations/flippers/flipInY.js +1 -2
  185. package/dist/collection/components/animation/animations/flippers/flipOutX.js +1 -2
  186. package/dist/collection/components/animation/animations/flippers/flipOutY.js +1 -2
  187. package/dist/collection/components/animation/animations/index.js +1 -2
  188. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js +1 -2
  189. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js +1 -2
  190. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js +1 -2
  191. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js +1 -2
  192. package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js +1 -2
  193. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js +1 -2
  194. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js +1 -2
  195. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js +1 -2
  196. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js +1 -2
  197. package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js +1 -2
  198. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js +1 -2
  199. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js +1 -2
  200. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js +1 -2
  201. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js +1 -2
  202. package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js +1 -2
  203. package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js +1 -2
  204. package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js +1 -2
  205. package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js +1 -2
  206. package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js +1 -2
  207. package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js +1 -2
  208. package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js +1 -2
  209. package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js +1 -2
  210. package/dist/collection/components/animation/animations/specials/hinge.js +1 -2
  211. package/dist/collection/components/animation/animations/specials/jackInTheBox.js +1 -2
  212. package/dist/collection/components/animation/animations/specials/rollIn.js +1 -2
  213. package/dist/collection/components/animation/animations/specials/rollOut.js +1 -2
  214. package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js +1 -2
  215. package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js +1 -2
  216. package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js +1 -2
  217. package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js +1 -2
  218. package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js +1 -2
  219. package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js +1 -2
  220. package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js +1 -2
  221. package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js +1 -2
  222. package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js +1 -2
  223. package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js +1 -2
  224. package/dist/collection/components/avatar/avatar.css +41 -0
  225. package/dist/collection/components/avatar/avatar.js +47 -0
  226. package/dist/collection/components/badge/badge.js +84 -0
  227. package/dist/collection/components/breadcrumb/breadcrumb.css +168 -0
  228. package/dist/collection/components/breadcrumb/breadcrumb.js +83 -0
  229. package/dist/collection/components/card/card.css +43 -0
  230. package/dist/collection/components/card/card.js +92 -0
  231. package/dist/collection/components/card-carousel/card-carousel.css +167 -0
  232. package/dist/collection/components/card-carousel/card-carousel.js +144 -0
  233. package/dist/collection/components/checkbox/checkbox-group.css +96 -106
  234. package/dist/collection/components/checkbox/checkbox-group.js +95 -56
  235. package/dist/collection/components/checkbox/checkbox-interface.js +0 -1
  236. package/dist/collection/components/checkbox/checkbox.css +303 -305
  237. package/dist/collection/components/checkbox/checkbox.js +76 -59
  238. package/dist/collection/components/collapsible-comparison/collapsible-comparison.css +80 -0
  239. package/dist/collection/components/collapsible-comparison/collapsible-comparison.js +120 -0
  240. package/dist/collection/components/content-links/content-links.css +46 -0
  241. package/dist/collection/components/content-links/content-links.js +21 -0
  242. package/dist/collection/components/cta/cta.css +49 -0
  243. package/dist/collection/components/cta/cta.js +175 -0
  244. package/dist/collection/components/data-table/table.cell.js +114 -0
  245. package/dist/collection/components/data-table/table.constants.js +4 -0
  246. package/dist/collection/components/data-table/table.css +327 -0
  247. package/dist/collection/components/data-table/table.header.js +65 -0
  248. package/dist/collection/components/data-table/table.js +1721 -0
  249. package/dist/collection/components/data-table/table.pin-service.js +388 -0
  250. package/dist/collection/components/data-table/table.row.js +112 -0
  251. package/dist/collection/components/data-table/table.store.js +144 -0
  252. package/dist/collection/components/data-table/table.utils.js +133 -0
  253. package/dist/collection/components/data-table/table.worker.js +220 -0
  254. package/dist/collection/components/datalist/datalist.css +43 -26
  255. package/dist/collection/components/datalist/datalist.js +35 -32
  256. package/dist/collection/components/date-input/date-input.css +25 -13
  257. package/dist/collection/components/date-input/date-input.js +49 -48
  258. package/dist/collection/components/date-picker/date-picker.css +51 -53
  259. package/dist/collection/components/date-picker/date-picker.js +41 -73
  260. package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js +1 -2
  261. package/dist/collection/components/date-picker/duet-date-picker/date-localization.js +1 -2
  262. package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js +1 -2
  263. package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js +2 -3
  264. package/dist/collection/components/details/details.css +80 -106
  265. package/dist/collection/components/details/details.js +83 -134
  266. package/dist/collection/components/dialog/dialog.css +89 -87
  267. package/dist/collection/components/dialog/dialog.helpers.js +18 -7
  268. package/dist/collection/components/dialog/dialog.js +47 -57
  269. package/dist/collection/components/drawer/drawer.css +119 -50
  270. package/dist/collection/components/drawer/drawer.js +144 -55
  271. package/dist/collection/components/dropdown/dropdown.css +46 -31
  272. package/dist/collection/components/dropdown/dropdown.js +82 -64
  273. package/dist/collection/components/field-validator/field-validator.js +22 -25
  274. package/dist/collection/components/file-upload/file-upload-list.js +1 -2
  275. package/dist/collection/components/file-upload/file-upload.css +29 -17
  276. package/dist/collection/components/file-upload/file-upload.js +20 -20
  277. package/dist/collection/components/footer/footer.css +185 -0
  278. package/dist/collection/components/footer/footer.js +43 -0
  279. package/dist/collection/components/form-control/form-control.js +8 -8
  280. package/dist/collection/components/global-nav/assets/local-logged-in.json +202 -0
  281. package/dist/collection/components/global-nav/assets/local-logged-out.json +198 -0
  282. package/dist/collection/components/global-nav/global-nav.css +435 -0
  283. package/dist/collection/components/global-nav/global-nav.js +573 -1468
  284. package/dist/collection/components/global-search-results/global-search-results.css +26 -14
  285. package/dist/collection/components/global-search-results/global-search-results.js +36 -27
  286. package/dist/collection/components/grid/grid-item.js +2 -3
  287. package/dist/collection/components/grid/grid.css +23 -9
  288. package/dist/collection/components/grid/grid.js +21 -24
  289. package/dist/collection/components/hero/hero.css +23 -9
  290. package/dist/collection/components/hero/hero.js +12 -13
  291. package/dist/collection/components/icon/device/elysion.svg +5 -0
  292. package/dist/collection/components/icon/device/flongle.svg +4 -0
  293. package/dist/collection/components/icon/device/gridion.svg +9 -0
  294. package/dist/collection/components/icon/device/minion-mk1d.svg +4 -0
  295. package/dist/collection/components/icon/device/p2-integrated.svg +7 -0
  296. package/dist/collection/components/icon/device/p2-solo.svg +5 -0
  297. package/dist/collection/components/icon/device/p24.svg +6 -0
  298. package/dist/collection/components/icon/device/q.svg +4 -0
  299. package/dist/collection/components/icon/icon.css +76 -37
  300. package/dist/collection/components/icon/icon.js +144 -103
  301. package/dist/collection/components/icon/pictogram/analyse.svg +10 -0
  302. package/dist/collection/components/icon/pictogram/animal-research.svg +4 -0
  303. package/dist/collection/components/icon/pictogram/assembly.svg +3 -0
  304. package/dist/collection/components/icon/pictogram/biopharma.svg +3 -0
  305. package/dist/collection/components/icon/pictogram/cancer-research.svg +15 -0
  306. package/dist/collection/components/icon/pictogram/chromatin-conformation.svg +3 -0
  307. package/dist/collection/components/icon/pictogram/clinical-research.svg +3 -0
  308. package/dist/collection/components/icon/pictogram/environmental-conservation.svg +5 -0
  309. package/dist/collection/components/icon/pictogram/epigenetics.svg +5 -0
  310. package/dist/collection/components/icon/pictogram/fusion-transcripts.svg +3 -0
  311. package/dist/collection/components/icon/pictogram/gene-expression.svg +3 -0
  312. package/dist/collection/components/icon/pictogram/genome-research.svg +3 -0
  313. package/dist/collection/components/icon/pictogram/human-genomics.svg +4 -0
  314. package/dist/collection/components/icon/pictogram/infectious-disease.svg +13 -0
  315. package/dist/collection/components/icon/pictogram/microbial-genomics.svg +15 -0
  316. package/dist/collection/components/icon/pictogram/microbiome-metagenomics.svg +16 -0
  317. package/dist/collection/components/icon/pictogram/multiomics.svg +13 -0
  318. package/dist/collection/components/icon/pictogram/plant-research.svg +3 -0
  319. package/dist/collection/components/icon/pictogram/population-genomics.svg +6 -0
  320. package/dist/collection/components/icon/pictogram/prepare.svg +4 -0
  321. package/dist/collection/components/icon/pictogram/scalable.svg +12 -0
  322. package/dist/collection/components/icon/pictogram/sequence.svg +3 -0
  323. package/dist/collection/components/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  324. package/dist/collection/components/icon/pictogram/snvs-phasing.svg +4 -0
  325. package/dist/collection/components/icon/pictogram/splice-variation.svg +4 -0
  326. package/dist/collection/components/icon/pictogram/structural-variation.svg +4 -0
  327. package/dist/collection/components/icon/pictogram/targeted-sequencing.svg +10 -0
  328. package/dist/collection/components/icon/pictogram/transcriptomics.svg +3 -0
  329. package/dist/collection/components/icon/pictogram/unrestricted-read-length.svg +10 -0
  330. package/dist/collection/components/icon/pictogram/whole-genome-sequencing.svg +3 -0
  331. package/dist/collection/components/icon/pictogram/workflow-end-to-end.svg +3 -0
  332. package/dist/collection/components/icon/request.js +1 -2
  333. package/dist/collection/components/icon/utils.js +8 -11
  334. package/dist/collection/components/icon/validate.js +1 -2
  335. package/dist/collection/components/icon-button/icon-button.css +45 -37
  336. package/dist/collection/components/icon-button/icon-button.js +17 -26
  337. package/dist/collection/components/icon-item/icon-item.css +41 -0
  338. package/dist/collection/components/icon-item/icon-item.js +72 -0
  339. package/dist/collection/components/img/img.css +23 -9
  340. package/dist/collection/components/img/img.js +10 -11
  341. package/dist/collection/components/in-page-nav/in-page-nav.css +122 -0
  342. package/dist/collection/components/in-page-nav/in-page-nav.js +278 -0
  343. package/dist/collection/components/input/input.css +215 -167
  344. package/dist/collection/components/input/input.js +372 -133
  345. package/dist/collection/components/intersection-observe/intersection-observe.js +21 -10
  346. package/dist/collection/components/masked-overflow/masked-overflow.css +241 -0
  347. package/dist/collection/components/masked-overflow/masked-overflow.js +610 -0
  348. package/dist/collection/components/menu/menu.css +38 -46
  349. package/dist/collection/components/menu/menu.js +93 -36
  350. package/dist/collection/components/menu-drawer/menu-drawer.css +23 -9
  351. package/dist/collection/components/menu-drawer/menu-drawer.js +7 -8
  352. package/dist/collection/components/more-less/more-less.js +7 -8
  353. package/dist/collection/components/nav-item/nav-item.css +73 -270
  354. package/dist/collection/components/nav-item/nav-item.js +128 -291
  355. package/dist/collection/components/option/option.css +57 -39
  356. package/dist/collection/components/option/option.js +33 -18
  357. package/dist/collection/components/progress-bar/progress-bar.css +23 -9
  358. package/dist/collection/components/progress-bar/progress-bar.js +11 -9
  359. package/dist/collection/components/range/range.css +23 -9
  360. package/dist/collection/components/range/range.js +17 -19
  361. package/dist/collection/components/rating/rating.css +24 -10
  362. package/dist/collection/components/rating/rating.js +13 -18
  363. package/dist/collection/components/resize-observe/resize-observe.js +6 -9
  364. package/dist/collection/components/select/select.css +194 -223
  365. package/dist/collection/components/select/select.js +108 -136
  366. package/dist/collection/components/skeleton/skeleton.css +23 -9
  367. package/dist/collection/components/skeleton/skeleton.js +7 -7
  368. package/dist/collection/components/slides/lib/js/animate.js +1 -2
  369. package/dist/collection/components/slides/lib/js/cell.js +1 -2
  370. package/dist/collection/components/slides/lib/js/drag.js +1 -2
  371. package/dist/collection/components/slides/lib/js/fade.js +1 -2
  372. package/dist/collection/components/slides/lib/js/flickity.js +15 -5
  373. package/dist/collection/components/slides/lib/js/fullscreen.js +1 -2
  374. package/dist/collection/components/slides/lib/js/index.js +1 -2
  375. package/dist/collection/components/slides/lib/js/lazyload.js +1 -2
  376. package/dist/collection/components/slides/lib/js/page-dots.js +5 -7
  377. package/dist/collection/components/slides/lib/js/player.js +1 -2
  378. package/dist/collection/components/slides/lib/js/prev-next-button.js +1 -2
  379. package/dist/collection/components/slides/lib/js/slide.js +1 -2
  380. package/dist/collection/components/slides/lib/js/utils/event-emitter.js +1 -2
  381. package/dist/collection/components/slides/lib/js/utils/gestures.js +1 -2
  382. package/dist/collection/components/slides/lib/js/utils/get-size.js +1 -2
  383. package/dist/collection/components/slides/lib/js/utils/utils.js +1 -2
  384. package/dist/collection/components/slides/slide.css +23 -9
  385. package/dist/collection/components/slides/slide.js +3 -4
  386. package/dist/collection/components/slides/slides.css +49 -24
  387. package/dist/collection/components/slides/slides.js +16 -16
  388. package/dist/collection/components/sortable/sortable.css +25 -13
  389. package/dist/collection/components/sortable/sortable.js +34 -25
  390. package/dist/collection/components/spinner/spinner.css +23 -11
  391. package/dist/collection/components/spinner/spinner.js +8 -5
  392. package/dist/collection/components/split-pane/split-pane.css +33 -20
  393. package/dist/collection/components/split-pane/split-pane.js +13 -11
  394. package/dist/collection/components/sticker/sticker.css +23 -9
  395. package/dist/collection/components/sticker/sticker.js +14 -14
  396. package/dist/collection/components/table/table.css +31 -383
  397. package/dist/collection/components/table/table.js +211 -1566
  398. package/dist/collection/components/tabs/tab-content.css +23 -9
  399. package/dist/collection/components/tabs/tab-content.js +11 -7
  400. package/dist/collection/components/tabs/tab-group.css +70 -229
  401. package/dist/collection/components/tabs/tab-group.js +98 -266
  402. package/dist/collection/components/tabs/tab.css +83 -134
  403. package/dist/collection/components/tabs/tab.js +25 -18
  404. package/dist/collection/components/tag/tag.css +45 -0
  405. package/dist/collection/components/tag/tag.js +122 -0
  406. package/dist/collection/components/tooltip/tooltip.css +93 -66
  407. package/dist/collection/components/tooltip/tooltip.js +30 -14
  408. package/dist/collection/global/script/global.js +1 -2
  409. package/dist/collection/index.js +2 -2
  410. package/dist/collection/types/shared.js +0 -1
  411. package/dist/collection/utils/active-element.js +49 -2
  412. package/dist/collection/utils/constructible-style.js +3 -4
  413. package/dist/collection/utils/custom-template.js +1 -2
  414. package/dist/collection/utils/date-utils.js +1 -2
  415. package/dist/collection/utils/dom.js +10 -11
  416. package/dist/collection/utils/drag.js +1 -2
  417. package/dist/collection/utils/events.js +1 -2
  418. package/dist/collection/utils/fetch.js +1 -2
  419. package/dist/collection/utils/form.js +1 -2
  420. package/dist/collection/utils/gesture/gesture-controller.js +1 -2
  421. package/dist/collection/utils/gesture/index.js +1 -2
  422. package/dist/collection/utils/gesture/listener.js +1 -2
  423. package/dist/collection/utils/gesture/pointer-events.js +1 -2
  424. package/dist/collection/utils/gesture/recognizers.js +1 -2
  425. package/dist/collection/utils/gesture/swipe-back.js +1 -2
  426. package/dist/collection/utils/math.js +1 -2
  427. package/dist/collection/utils/modal.js +1 -2
  428. package/dist/collection/utils/popover.js +7 -4
  429. package/dist/collection/utils/promise-queue.js +1 -2
  430. package/dist/collection/utils/renderer.js +12 -3
  431. package/dist/collection/utils/scroll.js +59 -3
  432. package/dist/collection/utils/search-insights.js +1 -2
  433. package/dist/collection/utils/slot.js +82 -28
  434. package/dist/collection/utils/store/component-store.js +25 -14
  435. package/dist/collection/utils/store/get-set.js +1 -2
  436. package/dist/collection/utils/style.js +54 -0
  437. package/dist/collection/utils/tabbable.js +41 -27
  438. package/dist/collection/utils/testing/index.js +1 -2
  439. package/dist/collection/utils/theme.js +2 -4
  440. package/dist/collection/utils/throttle.js +1 -2
  441. package/dist/collection/utils/transitions.js +24 -7
  442. package/dist/components/active-element.js +50 -4
  443. package/dist/components/algolia-data.js +1 -3
  444. package/dist/components/algolia.js +964 -23
  445. package/dist/components/avatar.js +33 -0
  446. package/dist/components/badge.js +36 -0
  447. package/dist/components/component-store.js +27 -26
  448. package/dist/components/cta.js +61 -0
  449. package/dist/components/datalist.js +24 -27
  450. package/dist/components/date-picker.js +33 -45
  451. package/dist/components/details.js +198 -0
  452. package/dist/components/dom.js +11 -22
  453. package/dist/components/drag.js +1 -3
  454. package/dist/components/drawer.js +402 -0
  455. package/dist/components/dropdown.js +65 -59
  456. package/dist/components/events.js +1 -3
  457. package/dist/components/fade.js +2 -4
  458. package/dist/components/form-control.js +11 -9
  459. package/dist/components/fullscreen.js +2 -4
  460. package/dist/components/global-search-results.js +735 -0
  461. package/dist/components/grid.js +6 -9
  462. package/dist/components/icon-button.js +3 -17
  463. package/dist/components/icon.js +98 -90
  464. package/dist/components/img.js +6 -9
  465. package/dist/components/index-browser.js +3 -5
  466. package/dist/components/index.js +41 -22
  467. package/dist/components/index2.js +1 -3
  468. package/dist/components/index3.js +4 -9
  469. package/dist/components/input.js +178 -65
  470. package/dist/components/lazyload.js +2 -4
  471. package/dist/components/local-logged-in.js +214 -0
  472. package/dist/components/local-logged-out.js +210 -0
  473. package/dist/components/masked-overflow.js +402 -0
  474. package/dist/components/math.js +2 -4
  475. package/dist/components/menu.js +76 -29
  476. package/dist/components/modal.js +1 -3
  477. package/dist/components/nano-accordion.js +13 -26
  478. package/dist/components/nano-alert.js +82 -28
  479. package/dist/components/nano-algolia-filter.js +5 -8
  480. package/dist/components/nano-algolia-pagination.js +3 -5
  481. package/dist/components/nano-algolia-results.js +4 -6
  482. package/dist/components/nano-algolia.js +1 -3
  483. package/dist/components/nano-animation.js +2 -4
  484. package/dist/components/nano-avatar.d.ts +11 -0
  485. package/dist/components/nano-avatar.js +9 -0
  486. package/dist/components/nano-badge.d.ts +11 -0
  487. package/dist/components/nano-badge.js +9 -0
  488. package/dist/components/nano-breadcrumb.d.ts +11 -0
  489. package/dist/components/nano-breadcrumb.js +84 -0
  490. package/dist/components/nano-card-carousel.d.ts +11 -0
  491. package/dist/components/nano-card-carousel.js +124 -0
  492. package/dist/components/nano-card.d.ts +11 -0
  493. package/dist/components/nano-card.js +42 -0
  494. package/dist/components/nano-checkbox-group.js +76 -42
  495. package/dist/components/nano-checkbox.js +35 -22
  496. package/dist/components/nano-collapsible-comparison.d.ts +11 -0
  497. package/dist/components/nano-collapsible-comparison.js +106 -0
  498. package/dist/components/nano-content-links.d.ts +11 -0
  499. package/dist/components/nano-content-links.js +32 -0
  500. package/dist/components/nano-cta.d.ts +11 -0
  501. package/dist/components/nano-cta.js +9 -0
  502. package/dist/components/nano-data-table.d.ts +11 -0
  503. package/dist/components/nano-data-table.js +1945 -0
  504. package/dist/components/nano-datalist.js +1 -3
  505. package/dist/components/nano-date-input.js +35 -34
  506. package/dist/components/nano-date-picker.js +3 -5
  507. package/dist/components/nano-details.js +3 -209
  508. package/dist/components/nano-dialog.js +38 -34
  509. package/dist/components/nano-drawer.js +2 -335
  510. package/dist/components/nano-dropdown.js +1 -3
  511. package/dist/components/nano-field-validator.js +8 -14
  512. package/dist/components/nano-file-upload.js +4 -7
  513. package/dist/components/nano-footer.d.ts +11 -0
  514. package/dist/components/nano-footer.js +47 -0
  515. package/dist/components/nano-global-nav.js +519 -1251
  516. package/dist/components/nano-global-search-results.js +2 -669
  517. package/dist/components/nano-grid-item.js +2 -4
  518. package/dist/components/nano-grid.js +1 -3
  519. package/dist/components/nano-hero.js +9 -12
  520. package/dist/components/nano-icon-button.js +1 -3
  521. package/dist/components/nano-icon-item.d.ts +11 -0
  522. package/dist/components/nano-icon-item.js +39 -0
  523. package/dist/components/nano-icon.js +1 -3
  524. package/dist/components/nano-img.js +1 -3
  525. package/dist/components/nano-in-page-nav.d.ts +11 -0
  526. package/dist/components/nano-in-page-nav.js +246 -0
  527. package/dist/components/nano-input.js +1 -3
  528. package/dist/components/nano-intersection-observe.js +11 -5
  529. package/dist/components/nano-masked-overflow.d.ts +11 -0
  530. package/dist/components/nano-masked-overflow.js +9 -0
  531. package/dist/components/nano-menu-drawer.js +5 -8
  532. package/dist/components/nano-menu.js +1 -3
  533. package/dist/components/nano-more-less.js +3 -5
  534. package/dist/components/nano-nav-item.js +1 -3
  535. package/dist/components/nano-option.js +1 -3
  536. package/dist/components/nano-progress-bar.js +1 -3
  537. package/dist/components/nano-range.js +4 -7
  538. package/dist/components/nano-rating.js +8 -16
  539. package/dist/components/nano-resize-observe.js +1 -3
  540. package/dist/components/nano-select.js +1 -3
  541. package/dist/components/nano-skeleton.js +1 -3
  542. package/dist/components/nano-slide.js +4 -7
  543. package/dist/components/nano-slides.js +3 -3087
  544. package/dist/components/nano-sortable.js +12 -13
  545. package/dist/components/nano-spinner.js +1 -3
  546. package/dist/components/nano-split-pane.js +5 -8
  547. package/dist/components/nano-sticker.js +1 -3
  548. package/dist/components/nano-tab-content.js +8 -11
  549. package/dist/components/nano-tab-group.js +85 -239
  550. package/dist/components/nano-tab.js +17 -17
  551. package/dist/components/nano-table.js +205 -1882
  552. package/dist/components/nano-tag.d.ts +11 -0
  553. package/dist/components/nano-tag.js +9 -0
  554. package/dist/components/nano-tooltip.js +1 -3
  555. package/dist/components/nav-item.js +174 -225
  556. package/dist/components/option.js +12 -13
  557. package/dist/components/page-dots.js +6 -9
  558. package/dist/components/popover.js +31 -16
  559. package/dist/components/progress-bar.js +6 -9
  560. package/dist/components/renderer.js +12 -4
  561. package/dist/components/resize-observe.js +2 -4
  562. package/dist/components/scroll.js +60 -5
  563. package/dist/components/select.js +111 -100
  564. package/dist/components/skeleton.js +5 -8
  565. package/dist/components/slides.js +3097 -0
  566. package/dist/components/slot.js +84 -36
  567. package/dist/components/spinner.js +4 -7
  568. package/dist/components/sticker.js +7 -10
  569. package/dist/components/style.js +56 -0
  570. package/dist/components/tabbable.js +42 -28
  571. package/dist/components/table.worker.js +3 -5
  572. package/dist/components/tag.js +89 -0
  573. package/dist/components/theme.js +2 -5
  574. package/dist/components/throttle.js +1 -3
  575. package/dist/components/tooltip.js +20 -10
  576. package/dist/esm/active-element-C1pBwzyj.js +65 -0
  577. package/dist/esm/algolia-data-BNDipgId.js +47 -0
  578. package/dist/esm/algoliasearch-lite.esm.browser-C1SNUAIj.js +949 -0
  579. package/dist/esm/component-store-DqCSKpAK.js +324 -0
  580. package/dist/esm/date-utils-BZYdjI1P.js +217 -0
  581. package/dist/esm/dom-CF0Ycs9M.js +67 -0
  582. package/dist/esm/drag-BLOEuv-q.js +70 -0
  583. package/dist/esm/events-ClRFmcmJ.js +34 -0
  584. package/dist/esm/fade-CdIyPeai.js +210 -0
  585. package/dist/esm/form-control-DXPQniNX.js +81 -0
  586. package/dist/esm/fullscreen-C4GllGer.js +130 -0
  587. package/dist/esm/index-BQSuCPXH.js +652 -0
  588. package/dist/esm/index-CFYZ-ZOT.js +3289 -0
  589. package/dist/esm/index-DxKBolVo.js +196 -0
  590. package/dist/esm/index-browser-BvSm1vXe.js +6 -0
  591. package/dist/esm/index.js +43 -24
  592. package/dist/esm/lazyload-pTbJ7q2S.js +92 -0
  593. package/dist/esm/loader.js +4 -7
  594. package/dist/esm/local-logged-in-DNQyU0ot.js +214 -0
  595. package/dist/esm/local-logged-out-CD2oXHpq.js +210 -0
  596. package/dist/esm/math-BEqsTfVK.js +36 -0
  597. package/dist/esm/modal-B50PWCuY.js +47 -0
  598. package/dist/esm/nano-accordion.entry.js +13 -25
  599. package/dist/esm/nano-alert.entry.js +85 -34
  600. package/dist/esm/nano-algolia-filter.entry.js +10 -13
  601. package/dist/esm/nano-algolia-pagination.entry.js +5 -7
  602. package/dist/esm/nano-algolia-results.entry.js +7 -9
  603. package/dist/esm/nano-algolia.entry.js +22 -25
  604. package/dist/esm/nano-animation.entry.js +4 -6
  605. package/dist/esm/nano-avatar_5.entry.js +1772 -0
  606. package/dist/esm/nano-breadcrumb.entry.js +39 -0
  607. package/dist/esm/nano-card-carousel.entry.js +93 -0
  608. package/dist/esm/nano-card.entry.js +21 -0
  609. package/dist/esm/nano-checkbox-group.entry.js +79 -45
  610. package/dist/esm/nano-checkbox.entry.js +34 -22
  611. package/dist/esm/nano-collapsible-comparison.entry.js +60 -0
  612. package/dist/esm/nano-components.js +6 -8
  613. package/dist/esm/nano-content-links.entry.js +15 -0
  614. package/dist/esm/nano-cta.entry.js +40 -0
  615. package/dist/esm/nano-data-table-DsTG4mqR.js +1844 -0
  616. package/dist/esm/nano-data-table.entry.js +11 -0
  617. package/dist/esm/nano-datalist_3.entry.js +84 -255
  618. package/dist/esm/nano-date-input.entry.js +14 -25
  619. package/dist/esm/nano-date-picker_2.entry.js +996 -0
  620. package/dist/esm/nano-details.entry.js +61 -79
  621. package/dist/esm/nano-dialog.entry.js +45 -40
  622. package/dist/esm/nano-dropdown_2.entry.js +637 -0
  623. package/dist/esm/nano-field-validator.entry.js +9 -15
  624. package/dist/esm/nano-file-upload.entry.js +6 -9
  625. package/dist/esm/nano-footer.entry.js +23 -0
  626. package/dist/esm/nano-global-nav.entry.js +416 -1169
  627. package/dist/esm/nano-grid-item.entry.js +3 -5
  628. package/dist/esm/nano-grid_2.entry.js +12 -16
  629. package/dist/esm/nano-hero.entry.js +9 -14
  630. package/dist/esm/nano-icon-item.entry.js +19 -0
  631. package/dist/esm/nano-icon_3.entry.js +651 -0
  632. package/dist/esm/nano-in-page-nav.entry.js +210 -0
  633. package/dist/esm/nano-intersection-observe.entry.js +14 -7
  634. package/dist/esm/nano-masked-overflow.entry.js +349 -0
  635. package/dist/esm/nano-menu-drawer.entry.js +8 -11
  636. package/dist/esm/nano-more-less.entry.js +5 -7
  637. package/dist/esm/nano-nav-item.entry.js +269 -0
  638. package/dist/esm/nano-progress-bar.entry.js +8 -11
  639. package/dist/esm/nano-range.entry.js +9 -12
  640. package/dist/esm/nano-rating.entry.js +10 -18
  641. package/dist/esm/nano-resize-observe_2.entry.js +8 -11
  642. package/dist/esm/nano-slide.entry.js +6 -9
  643. package/dist/esm/nano-slides-BcyK9Szs.js +3045 -0
  644. package/dist/esm/nano-slides.entry.js +4 -6
  645. package/dist/esm/nano-sortable.entry.js +11 -12
  646. package/dist/esm/nano-spinner.entry.js +6 -9
  647. package/dist/esm/nano-split-pane.entry.js +9 -12
  648. package/dist/esm/nano-sticker.entry.js +10 -13
  649. package/dist/esm/nano-tab-content.entry.js +9 -12
  650. package/dist/esm/nano-tab-group.entry.js +64 -226
  651. package/dist/esm/nano-tab.entry.js +18 -18
  652. package/dist/esm/nano-table.entry.js +234 -9
  653. package/dist/esm/page-dots-Cq8hjoql.js +136 -0
  654. package/dist/esm/popover-D1cBIHdr.js +1945 -0
  655. package/dist/esm/renderer-LJzCFyMt.js +66 -0
  656. package/dist/esm/scroll-BRRzrkAi.js +179 -0
  657. package/dist/esm/search-insights-8OL2oeQN.js +48 -0
  658. package/dist/esm/slot-DBzVpliZ.js +104 -0
  659. package/dist/esm/style-BrRDhFfF.js +56 -0
  660. package/dist/esm/tabbable-BpHwrUYt.js +121 -0
  661. package/dist/esm/table.worker-BTF0UXAd.js +4 -0
  662. package/dist/esm/table.worker-BoX4CUXT.js +28 -0
  663. package/dist/esm/theme-aiuyr36I.js +43 -0
  664. package/dist/esm/throttle-C93FMm2Z.js +48 -0
  665. package/dist/nano-assets/font/jp/noto-sans-jp-v53-japanese_latin-300.woff2 +0 -0
  666. package/dist/nano-assets/font/latin/noto-sans-v39-latin-300.woff2 +0 -0
  667. package/dist/nano-assets/font/latin/noto-sans-v39-latin-300italic.woff2 +0 -0
  668. package/dist/nano-assets/font/sc/noto-sans-sc-v37-chinese-simplified_latin-300.woff2 +0 -0
  669. package/dist/nano-assets/hash.txt +1 -1
  670. package/dist/nano-assets/icon/device/elysion.svg +5 -0
  671. package/dist/nano-assets/icon/device/flongle.svg +4 -0
  672. package/dist/nano-assets/icon/device/gridion.svg +9 -0
  673. package/dist/nano-assets/icon/device/minion-mk1d.svg +4 -0
  674. package/dist/nano-assets/icon/device/p2-integrated.svg +7 -0
  675. package/dist/nano-assets/icon/device/p2-solo.svg +5 -0
  676. package/dist/nano-assets/icon/device/p24.svg +6 -0
  677. package/dist/nano-assets/icon/device/q.svg +4 -0
  678. package/dist/nano-assets/icon/pictogram/analyse.svg +10 -0
  679. package/dist/nano-assets/icon/pictogram/animal-research.svg +4 -0
  680. package/dist/nano-assets/icon/pictogram/assembly.svg +3 -0
  681. package/dist/nano-assets/icon/pictogram/biopharma.svg +3 -0
  682. package/dist/nano-assets/icon/pictogram/cancer-research.svg +15 -0
  683. package/dist/nano-assets/icon/pictogram/chromatin-conformation.svg +3 -0
  684. package/dist/nano-assets/icon/pictogram/clinical-research.svg +3 -0
  685. package/dist/nano-assets/icon/pictogram/environmental-conservation.svg +5 -0
  686. package/dist/nano-assets/icon/pictogram/epigenetics.svg +5 -0
  687. package/dist/nano-assets/icon/pictogram/fusion-transcripts.svg +3 -0
  688. package/dist/nano-assets/icon/pictogram/gene-expression.svg +3 -0
  689. package/dist/nano-assets/icon/pictogram/genome-research.svg +3 -0
  690. package/dist/nano-assets/icon/pictogram/human-genomics.svg +4 -0
  691. package/dist/nano-assets/icon/pictogram/infectious-disease.svg +13 -0
  692. package/dist/nano-assets/icon/pictogram/microbial-genomics.svg +15 -0
  693. package/dist/nano-assets/icon/pictogram/microbiome-metagenomics.svg +16 -0
  694. package/dist/nano-assets/icon/pictogram/multiomics.svg +13 -0
  695. package/dist/nano-assets/icon/pictogram/plant-research.svg +3 -0
  696. package/dist/nano-assets/icon/pictogram/population-genomics.svg +6 -0
  697. package/dist/nano-assets/icon/pictogram/prepare.svg +4 -0
  698. package/dist/nano-assets/icon/pictogram/scalable.svg +12 -0
  699. package/dist/nano-assets/icon/pictogram/sequence.svg +3 -0
  700. package/dist/nano-assets/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  701. package/dist/nano-assets/icon/pictogram/snvs-phasing.svg +4 -0
  702. package/dist/nano-assets/icon/pictogram/splice-variation.svg +4 -0
  703. package/dist/nano-assets/icon/pictogram/structural-variation.svg +4 -0
  704. package/dist/nano-assets/icon/pictogram/targeted-sequencing.svg +10 -0
  705. package/dist/nano-assets/icon/pictogram/transcriptomics.svg +3 -0
  706. package/dist/nano-assets/icon/pictogram/unrestricted-read-length.svg +10 -0
  707. package/dist/nano-assets/icon/pictogram/whole-genome-sequencing.svg +3 -0
  708. package/dist/nano-assets/icon/pictogram/workflow-end-to-end.svg +3 -0
  709. package/dist/nano-assets/img/bsi/27001.svg +188 -0
  710. package/dist/nano-assets/img/bsi/9001.svg +172 -0
  711. package/dist/nano-assets/img/bsi/mark-of-trust.svg +230 -0
  712. package/dist/nano-assets/img/flags/en.svg +15 -0
  713. package/dist/nano-assets/img/flags/es.svg +544 -0
  714. package/dist/nano-assets/img/flags/ja.svg +11 -0
  715. package/dist/nano-assets/img/flags/zh.svg +14 -0
  716. package/dist/nano-assets/local-logged-in.json +202 -0
  717. package/dist/nano-assets/local-logged-out.json +198 -0
  718. package/dist/nano-components/active-element-C1pBwzyj.js +4 -0
  719. package/dist/nano-components/algolia-data-BNDipgId.js +4 -0
  720. package/dist/nano-components/algoliasearch-lite.esm.browser-C1SNUAIj.js +4 -0
  721. package/dist/nano-components/assets/local-logged-in.json +202 -0
  722. package/dist/nano-components/assets/local-logged-out.json +198 -0
  723. package/dist/nano-components/component-store-DqCSKpAK.js +4 -0
  724. package/dist/nano-components/date-utils-BZYdjI1P.js +4 -0
  725. package/dist/nano-components/device/elysion.svg +5 -0
  726. package/dist/nano-components/device/flongle.svg +4 -0
  727. package/dist/nano-components/device/gridion.svg +9 -0
  728. package/dist/nano-components/device/minion-mk1d.svg +4 -0
  729. package/dist/nano-components/device/p2-integrated.svg +7 -0
  730. package/dist/nano-components/device/p2-solo.svg +5 -0
  731. package/dist/nano-components/device/p24.svg +6 -0
  732. package/dist/nano-components/device/q.svg +4 -0
  733. package/dist/nano-components/dom-CF0Ycs9M.js +4 -0
  734. package/dist/nano-components/drag-BLOEuv-q.js +4 -0
  735. package/dist/nano-components/events-ClRFmcmJ.js +4 -0
  736. package/dist/nano-components/fade-CdIyPeai.js +4 -0
  737. package/dist/nano-components/form-control-DXPQniNX.js +4 -0
  738. package/dist/nano-components/fullscreen-C4GllGer.js +4 -0
  739. package/dist/nano-components/index-BQSuCPXH.js +4 -0
  740. package/dist/nano-components/index-CFYZ-ZOT.js +5 -0
  741. package/dist/nano-components/index-DxKBolVo.js +4 -0
  742. package/dist/nano-components/index-browser-BvSm1vXe.js +4 -0
  743. package/dist/nano-components/index.esm.js +2 -3
  744. package/dist/nano-components/lazyload-pTbJ7q2S.js +4 -0
  745. package/dist/nano-components/local-logged-in-DNQyU0ot.js +4 -0
  746. package/dist/nano-components/local-logged-out-CD2oXHpq.js +4 -0
  747. package/dist/nano-components/math-BEqsTfVK.js +4 -0
  748. package/dist/nano-components/modal-B50PWCuY.js +4 -0
  749. package/dist/nano-components/nano-accordion.entry.js +2 -3
  750. package/dist/nano-components/nano-alert.entry.js +2 -3
  751. package/dist/nano-components/nano-algolia-filter.entry.js +2 -3
  752. package/dist/nano-components/nano-algolia-pagination.entry.js +2 -3
  753. package/dist/nano-components/nano-algolia-results.entry.js +2 -3
  754. package/dist/nano-components/nano-algolia.entry.js +2 -3
  755. package/dist/nano-components/nano-animation.entry.js +2 -3
  756. package/dist/nano-components/nano-avatar_5.entry.js +4 -0
  757. package/dist/nano-components/nano-breadcrumb.entry.js +4 -0
  758. package/dist/nano-components/nano-card-carousel.entry.js +4 -0
  759. package/dist/nano-components/nano-card.entry.js +4 -0
  760. package/dist/nano-components/nano-checkbox-group.entry.js +2 -3
  761. package/dist/nano-components/nano-checkbox.entry.js +2 -3
  762. package/dist/nano-components/nano-collapsible-comparison.entry.js +4 -0
  763. package/dist/nano-components/nano-components.css +2025 -1
  764. package/dist/nano-components/nano-components.esm.js +2 -3
  765. package/dist/nano-components/nano-content-links.entry.js +4 -0
  766. package/dist/nano-components/nano-cta.entry.js +4 -0
  767. package/dist/nano-components/nano-data-table-DsTG4mqR.js +4 -0
  768. package/dist/nano-components/nano-data-table.entry.js +4 -0
  769. package/dist/nano-components/nano-datalist_3.entry.js +2 -3
  770. package/dist/nano-components/nano-date-input.entry.js +2 -3
  771. package/dist/nano-components/nano-date-picker_2.entry.js +4 -0
  772. package/dist/nano-components/nano-details.entry.js +2 -3
  773. package/dist/nano-components/nano-dialog.entry.js +2 -3
  774. package/dist/nano-components/nano-dropdown_2.entry.js +4 -0
  775. package/dist/nano-components/nano-field-validator.entry.js +2 -3
  776. package/dist/nano-components/nano-file-upload.entry.js +2 -3
  777. package/dist/nano-components/nano-footer.entry.js +4 -0
  778. package/dist/nano-components/nano-global-nav.entry.js +2 -3
  779. package/dist/nano-components/nano-grid-item.entry.js +2 -3
  780. package/dist/nano-components/nano-grid_2.entry.js +2 -3
  781. package/dist/nano-components/nano-hero.entry.js +2 -3
  782. package/dist/nano-components/nano-icon-item.entry.js +4 -0
  783. package/dist/nano-components/nano-icon_3.entry.js +4 -0
  784. package/dist/nano-components/nano-in-page-nav.entry.js +4 -0
  785. package/dist/nano-components/nano-intersection-observe.entry.js +2 -3
  786. package/dist/nano-components/nano-masked-overflow.entry.js +4 -0
  787. package/dist/nano-components/nano-menu-drawer.entry.js +2 -3
  788. package/dist/nano-components/nano-more-less.entry.js +2 -3
  789. package/dist/nano-components/nano-nav-item.entry.js +4 -0
  790. package/dist/nano-components/nano-progress-bar.entry.js +2 -3
  791. package/dist/nano-components/nano-range.entry.js +2 -3
  792. package/dist/nano-components/nano-rating.entry.js +2 -3
  793. package/dist/nano-components/nano-resize-observe_2.entry.js +2 -3
  794. package/dist/nano-components/nano-slide.entry.js +2 -3
  795. package/dist/nano-components/nano-slides-BcyK9Szs.js +22 -0
  796. package/dist/nano-components/nano-slides.entry.js +2 -3
  797. package/dist/nano-components/nano-sortable.entry.js +2 -3
  798. package/dist/nano-components/nano-spinner.entry.js +2 -3
  799. package/dist/nano-components/nano-split-pane.entry.js +2 -3
  800. package/dist/nano-components/nano-sticker.entry.js +2 -3
  801. package/dist/nano-components/nano-tab-content.entry.js +2 -3
  802. package/dist/nano-components/nano-tab-group.entry.js +2 -3
  803. package/dist/nano-components/nano-tab.entry.js +2 -3
  804. package/dist/nano-components/nano-table.entry.js +2 -3
  805. package/dist/nano-components/page-dots-Cq8hjoql.js +4 -0
  806. package/dist/nano-components/pictogram/analyse.svg +10 -0
  807. package/dist/nano-components/pictogram/animal-research.svg +4 -0
  808. package/dist/nano-components/pictogram/assembly.svg +3 -0
  809. package/dist/nano-components/pictogram/biopharma.svg +3 -0
  810. package/dist/nano-components/pictogram/cancer-research.svg +15 -0
  811. package/dist/nano-components/pictogram/chromatin-conformation.svg +3 -0
  812. package/dist/nano-components/pictogram/clinical-research.svg +3 -0
  813. package/dist/nano-components/pictogram/environmental-conservation.svg +5 -0
  814. package/dist/nano-components/pictogram/epigenetics.svg +5 -0
  815. package/dist/nano-components/pictogram/fusion-transcripts.svg +3 -0
  816. package/dist/nano-components/pictogram/gene-expression.svg +3 -0
  817. package/dist/nano-components/pictogram/genome-research.svg +3 -0
  818. package/dist/nano-components/pictogram/human-genomics.svg +4 -0
  819. package/dist/nano-components/pictogram/infectious-disease.svg +13 -0
  820. package/dist/nano-components/pictogram/microbial-genomics.svg +15 -0
  821. package/dist/nano-components/pictogram/microbiome-metagenomics.svg +16 -0
  822. package/dist/nano-components/pictogram/multiomics.svg +13 -0
  823. package/dist/nano-components/pictogram/plant-research.svg +3 -0
  824. package/dist/nano-components/pictogram/population-genomics.svg +6 -0
  825. package/dist/nano-components/pictogram/prepare.svg +4 -0
  826. package/dist/nano-components/pictogram/scalable.svg +12 -0
  827. package/dist/nano-components/pictogram/sequence.svg +3 -0
  828. package/dist/nano-components/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  829. package/dist/nano-components/pictogram/snvs-phasing.svg +4 -0
  830. package/dist/nano-components/pictogram/splice-variation.svg +4 -0
  831. package/dist/nano-components/pictogram/structural-variation.svg +4 -0
  832. package/dist/nano-components/pictogram/targeted-sequencing.svg +10 -0
  833. package/dist/nano-components/pictogram/transcriptomics.svg +3 -0
  834. package/dist/nano-components/pictogram/unrestricted-read-length.svg +10 -0
  835. package/dist/nano-components/pictogram/whole-genome-sequencing.svg +3 -0
  836. package/dist/nano-components/pictogram/workflow-end-to-end.svg +3 -0
  837. package/dist/nano-components/popover-D1cBIHdr.js +4 -0
  838. package/dist/nano-components/renderer-LJzCFyMt.js +4 -0
  839. package/dist/nano-components/scroll-BRRzrkAi.js +4 -0
  840. package/dist/nano-components/search-insights-8OL2oeQN.js +4 -0
  841. package/dist/nano-components/slot-DBzVpliZ.js +4 -0
  842. package/dist/nano-components/style-BrRDhFfF.js +4 -0
  843. package/dist/nano-components/tabbable-BpHwrUYt.js +4 -0
  844. package/dist/nano-components/table.worker-BTF0UXAd.js +4 -0
  845. package/dist/nano-components/table.worker-BoX4CUXT.js +4 -0
  846. package/dist/nano-components/theme-aiuyr36I.js +4 -0
  847. package/dist/nano-components/throttle-C93FMm2Z.js +4 -0
  848. package/dist/plugins/postcss/scoped-part.js +26 -0
  849. package/dist/plugins/stencil/vue-output/generate-vue-component.js +73 -0
  850. package/dist/plugins/stencil/vue-output/index.js +4 -0
  851. package/dist/plugins/stencil/vue-output/output-vue.js +95 -0
  852. package/dist/plugins/stencil/vue-output/plugin.js +43 -0
  853. package/dist/plugins/stencil/vue-output/types.js +1 -0
  854. package/dist/plugins/stencil/vue-output/utils.js +81 -0
  855. package/dist/stencil.config.js +50 -22
  856. package/dist/stencil.config.prod.js +4 -2
  857. package/dist/style/components.css +1 -0
  858. package/dist/style/components.css.map +1 -0
  859. package/dist/style/core.css +1 -0
  860. package/dist/style/core.css.map +1 -0
  861. package/dist/style/dark.css +1 -0
  862. package/dist/style/dark.css.map +1 -0
  863. package/dist/style/light.css +1 -0
  864. package/dist/style/light.css.map +1 -0
  865. package/dist/style/nano.css +1 -0
  866. package/dist/style/nano.css.map +1 -0
  867. package/dist/testing/mocks/intersection-observer.js +1 -2
  868. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/postcss/scoped-part.d.ts +8 -0
  869. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.d.ts +2 -0
  870. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +2 -0
  871. package/dist/types/components/accordion/accordion.d.ts +10 -12
  872. package/dist/types/components/alert/alert.d.ts +35 -5
  873. package/dist/types/components/alert/alert.helpers.d.ts +7 -5
  874. package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
  875. package/dist/types/components/avatar/avatar.d.ts +13 -0
  876. package/dist/types/components/badge/badge.d.ts +17 -0
  877. package/dist/types/components/breadcrumb/breadcrumb.d.ts +22 -0
  878. package/dist/types/components/card/card.d.ts +20 -0
  879. package/dist/types/components/card-carousel/card-carousel.d.ts +32 -0
  880. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -7
  881. package/dist/types/components/checkbox/checkbox.d.ts +16 -11
  882. package/dist/types/components/collapsible-comparison/collapsible-comparison.d.ts +30 -0
  883. package/dist/types/components/content-links/content-links.d.ts +10 -0
  884. package/dist/types/components/cta/cta.d.ts +30 -0
  885. package/dist/types/components/data-table/table-interface.d.ts +280 -0
  886. package/dist/types/components/data-table/table.d.ts +250 -0
  887. package/dist/types/components/data-table/table.store.d.ts +24 -0
  888. package/dist/types/components/data-table/table.utils.d.ts +63 -0
  889. package/dist/types/components/datalist/datalist.d.ts +5 -5
  890. package/dist/types/components/date-input/date-input.d.ts +8 -5
  891. package/dist/types/components/date-picker/date-picker.d.ts +11 -15
  892. package/dist/types/components/details/details.d.ts +25 -27
  893. package/dist/types/components/dialog/dialog.d.ts +4 -5
  894. package/dist/types/components/dialog/dialog.helpers.d.ts +2 -5
  895. package/dist/types/components/drawer/drawer.d.ts +14 -3
  896. package/dist/types/components/dropdown/dropdown.d.ts +11 -9
  897. package/dist/types/components/field-validator/field-validator.d.ts +4 -6
  898. package/dist/types/components/footer/footer.d.ts +21 -0
  899. package/dist/types/components/form-control/form-control.d.ts +4 -1
  900. package/dist/types/components/global-nav/global-nav.d.ts +111 -280
  901. package/dist/types/components/global-search-results/global-search-results.d.ts +8 -7
  902. package/dist/types/components/grid/grid.d.ts +4 -6
  903. package/dist/types/components/icon/icon.d.ts +21 -14
  904. package/dist/types/components/icon-button/icon-button.d.ts +4 -4
  905. package/dist/types/components/icon-item/icon-item.d.ts +17 -0
  906. package/dist/types/components/in-page-nav/in-page-nav.d.ts +52 -0
  907. package/dist/types/components/input/input.d.ts +59 -21
  908. package/dist/types/components/intersection-observe/intersection-observe.d.ts +6 -2
  909. package/dist/types/components/masked-overflow/masked-overflow.d.ts +94 -0
  910. package/dist/types/components/menu/menu.d.ts +15 -7
  911. package/dist/types/components/nav-item/nav-item.d.ts +30 -84
  912. package/dist/types/components/option/option.d.ts +2 -1
  913. package/dist/types/components/progress-bar/progress-bar.d.ts +4 -1
  914. package/dist/types/components/range/range.d.ts +3 -4
  915. package/dist/types/components/rating/rating.d.ts +0 -1
  916. package/dist/types/components/resize-observe/resize-observe.d.ts +2 -4
  917. package/dist/types/components/select/select.d.ts +20 -21
  918. package/dist/types/components/skeleton/skeleton.d.ts +3 -2
  919. package/dist/types/components/slides/slides.d.ts +3 -3
  920. package/dist/types/components/sortable/sortable.d.ts +5 -5
  921. package/dist/types/components/spinner/spinner.d.ts +4 -0
  922. package/dist/types/components/split-pane/split-pane.d.ts +3 -0
  923. package/dist/types/components/table/table.d.ts +27 -245
  924. package/dist/types/components/tabs/tab-content.d.ts +6 -1
  925. package/dist/types/components/tabs/tab-group.d.ts +17 -37
  926. package/dist/types/components/tabs/tab.d.ts +9 -4
  927. package/dist/types/components/tag/tag.d.ts +30 -0
  928. package/dist/types/components/tooltip/tooltip.d.ts +4 -0
  929. package/dist/types/components.d.ts +2617 -1108
  930. package/dist/types/stencil-public-runtime.d.ts +23 -1
  931. package/dist/types/types/shared.d.ts +1 -1
  932. package/dist/types/utils/active-element.d.ts +20 -0
  933. package/dist/types/utils/popover.d.ts +1 -0
  934. package/dist/types/utils/scroll.d.ts +15 -1
  935. package/dist/types/utils/slot.d.ts +25 -9
  936. package/dist/types/utils/store/component-store.d.ts +21 -0
  937. package/dist/types/utils/style.d.ts +9 -0
  938. package/dist/types/utils/tabbable.d.ts +4 -2
  939. package/dist/types/utils/transitions.d.ts +2 -0
  940. package/dist/wdio.conf.js +1 -3
  941. package/docs-json.json +15694 -12511
  942. package/docs-vscode.json +807 -442
  943. package/hydrate/index.d.ts +38 -24
  944. package/hydrate/index.js +15164 -14544
  945. package/hydrate/index.mjs +15163 -14543
  946. package/loader/cdn.js +1 -1
  947. package/loader/index.cjs.js +1 -1
  948. package/loader/index.es2017.js +1 -1
  949. package/loader/index.js +1 -1
  950. package/package.json +26 -19
  951. package/dist/cjs/active-element-8ffcfe49.js +0 -21
  952. package/dist/cjs/active-element-8ffcfe49.js.map +0 -1
  953. package/dist/cjs/algolia-data-ca9cd58e.js +0 -51
  954. package/dist/cjs/algolia-data-ca9cd58e.js.map +0 -1
  955. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js +0 -968
  956. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js.map +0 -1
  957. package/dist/cjs/app-globals-3e14cb71.js +0 -41
  958. package/dist/cjs/app-globals-3e14cb71.js.map +0 -1
  959. package/dist/cjs/component-store-b8d4bd91.js +0 -325
  960. package/dist/cjs/component-store-b8d4bd91.js.map +0 -1
  961. package/dist/cjs/date-utils-d9d3e6b4.js +0 -234
  962. package/dist/cjs/date-utils-d9d3e6b4.js.map +0 -1
  963. package/dist/cjs/dom-b99a1aec.js +0 -83
  964. package/dist/cjs/dom-b99a1aec.js.map +0 -1
  965. package/dist/cjs/drag-c0a99167.js +0 -74
  966. package/dist/cjs/drag-c0a99167.js.map +0 -1
  967. package/dist/cjs/events-96e9a3d4.js +0 -39
  968. package/dist/cjs/events-96e9a3d4.js.map +0 -1
  969. package/dist/cjs/fade-6a5004f4.js +0 -214
  970. package/dist/cjs/fade-6a5004f4.js.map +0 -1
  971. package/dist/cjs/focus-visible-39b54d1f.js +0 -68
  972. package/dist/cjs/focus-visible-39b54d1f.js.map +0 -1
  973. package/dist/cjs/form-control-5bb39cc2.js +0 -82
  974. package/dist/cjs/form-control-5bb39cc2.js.map +0 -1
  975. package/dist/cjs/fullscreen-f5db9bbe.js +0 -134
  976. package/dist/cjs/fullscreen-f5db9bbe.js.map +0 -1
  977. package/dist/cjs/index-41263d6e.js +0 -660
  978. package/dist/cjs/index-41263d6e.js.map +0 -1
  979. package/dist/cjs/index-615cdb64.js +0 -3085
  980. package/dist/cjs/index-615cdb64.js.map +0 -1
  981. package/dist/cjs/index-a92a0379.js +0 -200
  982. package/dist/cjs/index-a92a0379.js.map +0 -1
  983. package/dist/cjs/index-browser-745018ea.js +0 -16
  984. package/dist/cjs/index-browser-745018ea.js.map +0 -1
  985. package/dist/cjs/index.cjs.js.map +0 -1
  986. package/dist/cjs/lazyload-13d72e60.js +0 -96
  987. package/dist/cjs/lazyload-13d72e60.js.map +0 -1
  988. package/dist/cjs/loader.cjs.js.map +0 -1
  989. package/dist/cjs/local-my-account-53c19159.js +0 -472
  990. package/dist/cjs/local-my-account-53c19159.js.map +0 -1
  991. package/dist/cjs/math-ea9cdc71.js +0 -41
  992. package/dist/cjs/math-ea9cdc71.js.map +0 -1
  993. package/dist/cjs/modal-ff47c677.js +0 -51
  994. package/dist/cjs/modal-ff47c677.js.map +0 -1
  995. package/dist/cjs/nano-accordion.cjs.entry.js.map +0 -1
  996. package/dist/cjs/nano-alert.cjs.entry.js.map +0 -1
  997. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +0 -1
  998. package/dist/cjs/nano-algolia-pagination.cjs.entry.js.map +0 -1
  999. package/dist/cjs/nano-algolia-results.cjs.entry.js.map +0 -1
  1000. package/dist/cjs/nano-algolia.cjs.entry.js.map +0 -1
  1001. package/dist/cjs/nano-animation.cjs.entry.js.map +0 -1
  1002. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +0 -1
  1003. package/dist/cjs/nano-checkbox.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/nano-components.cjs.js.map +0 -1
  1005. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +0 -1
  1006. package/dist/cjs/nano-date-input.cjs.entry.js.map +0 -1
  1007. package/dist/cjs/nano-date-picker.cjs.entry.js +0 -393
  1008. package/dist/cjs/nano-date-picker.cjs.entry.js.map +0 -1
  1009. package/dist/cjs/nano-details.cjs.entry.js.map +0 -1
  1010. package/dist/cjs/nano-dialog.cjs.entry.js.map +0 -1
  1011. package/dist/cjs/nano-drawer.cjs.entry.js +0 -289
  1012. package/dist/cjs/nano-drawer.cjs.entry.js.map +0 -1
  1013. package/dist/cjs/nano-dropdown.cjs.entry.js +0 -373
  1014. package/dist/cjs/nano-dropdown.cjs.entry.js.map +0 -1
  1015. package/dist/cjs/nano-field-validator.cjs.entry.js.map +0 -1
  1016. package/dist/cjs/nano-file-upload.cjs.entry.js.map +0 -1
  1017. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +0 -1107
  1018. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +0 -1
  1019. package/dist/cjs/nano-global-nav.cjs.entry.js.map +0 -1
  1020. package/dist/cjs/nano-global-search-results.cjs.entry.js +0 -636
  1021. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +0 -1
  1022. package/dist/cjs/nano-grid-item.cjs.entry.js.map +0 -1
  1023. package/dist/cjs/nano-grid_2.cjs.entry.js.map +0 -1
  1024. package/dist/cjs/nano-hero.cjs.entry.js.map +0 -1
  1025. package/dist/cjs/nano-icon-button_2.cjs.entry.js +0 -341
  1026. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +0 -1
  1027. package/dist/cjs/nano-icon.cjs.entry.js +0 -320
  1028. package/dist/cjs/nano-icon.cjs.entry.js.map +0 -1
  1029. package/dist/cjs/nano-input.cjs.entry.js +0 -548
  1030. package/dist/cjs/nano-input.cjs.entry.js.map +0 -1
  1031. package/dist/cjs/nano-intersection-observe.cjs.entry.js.map +0 -1
  1032. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +0 -1
  1033. package/dist/cjs/nano-more-less.cjs.entry.js.map +0 -1
  1034. package/dist/cjs/nano-overflow-nav.cjs.entry.js +0 -342
  1035. package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +0 -1
  1036. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +0 -1
  1037. package/dist/cjs/nano-range.cjs.entry.js.map +0 -1
  1038. package/dist/cjs/nano-rating.cjs.entry.js.map +0 -1
  1039. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +0 -1
  1040. package/dist/cjs/nano-slide.cjs.entry.js.map +0 -1
  1041. package/dist/cjs/nano-slides-0a60315d.js +0 -3043
  1042. package/dist/cjs/nano-slides-0a60315d.js.map +0 -1
  1043. package/dist/cjs/nano-slides.cjs.entry.js.map +0 -1
  1044. package/dist/cjs/nano-sortable.cjs.entry.js.map +0 -1
  1045. package/dist/cjs/nano-spinner.cjs.entry.js.map +0 -1
  1046. package/dist/cjs/nano-split-pane.cjs.entry.js.map +0 -1
  1047. package/dist/cjs/nano-sticker.cjs.entry.js.map +0 -1
  1048. package/dist/cjs/nano-tab-content.cjs.entry.js.map +0 -1
  1049. package/dist/cjs/nano-tab-group.cjs.entry.js.map +0 -1
  1050. package/dist/cjs/nano-tab.cjs.entry.js.map +0 -1
  1051. package/dist/cjs/nano-table-54523fe5.js +0 -1880
  1052. package/dist/cjs/nano-table-54523fe5.js.map +0 -1
  1053. package/dist/cjs/nano-table.cjs.entry.js.map +0 -1
  1054. package/dist/cjs/page-dots-ecdd64d1.js +0 -141
  1055. package/dist/cjs/page-dots-ecdd64d1.js.map +0 -1
  1056. package/dist/cjs/popover-3dfc73f6.js +0 -1932
  1057. package/dist/cjs/popover-3dfc73f6.js.map +0 -1
  1058. package/dist/cjs/renderer-cd8b6098.js +0 -63
  1059. package/dist/cjs/renderer-cd8b6098.js.map +0 -1
  1060. package/dist/cjs/scroll-a3e5c6c6.js +0 -128
  1061. package/dist/cjs/scroll-a3e5c6c6.js.map +0 -1
  1062. package/dist/cjs/scroll-parent-798d9651.js +0 -31
  1063. package/dist/cjs/scroll-parent-798d9651.js.map +0 -1
  1064. package/dist/cjs/search-insights-694b3436.js +0 -53
  1065. package/dist/cjs/search-insights-694b3436.js.map +0 -1
  1066. package/dist/cjs/slot-4e057042.js +0 -61
  1067. package/dist/cjs/slot-4e057042.js.map +0 -1
  1068. package/dist/cjs/tabbable-619dc959.js +0 -112
  1069. package/dist/cjs/tabbable-619dc959.js.map +0 -1
  1070. package/dist/cjs/table.worker-99f69a43.js +0 -33
  1071. package/dist/cjs/table.worker-99f69a43.js.map +0 -1
  1072. package/dist/cjs/table.worker-da5412ed.js +0 -4
  1073. package/dist/cjs/theme-a2f7ddf8.js +0 -49
  1074. package/dist/cjs/theme-a2f7ddf8.js.map +0 -1
  1075. package/dist/cjs/throttle-46a497fb.js +0 -54
  1076. package/dist/cjs/throttle-46a497fb.js.map +0 -1
  1077. package/dist/cjs/transitions-a2b2090b.js +0 -62
  1078. package/dist/cjs/transitions-a2b2090b.js.map +0 -1
  1079. package/dist/collection/components/accordion/accordion.js.map +0 -1
  1080. package/dist/collection/components/alert/alert.helpers.js.map +0 -1
  1081. package/dist/collection/components/alert/alert.js.map +0 -1
  1082. package/dist/collection/components/algolia/algolia-data.js.map +0 -1
  1083. package/dist/collection/components/algolia/algolia-filter.js.map +0 -1
  1084. package/dist/collection/components/algolia/algolia-interface.js.map +0 -1
  1085. package/dist/collection/components/algolia/algolia-pagination.js.map +0 -1
  1086. package/dist/collection/components/algolia/algolia-results.js.map +0 -1
  1087. package/dist/collection/components/algolia/algolia.js.map +0 -1
  1088. package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +0 -1
  1089. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +0 -1
  1090. package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +0 -1
  1091. package/dist/collection/components/algolia/lib/squirrelly/config.js.map +0 -1
  1092. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +0 -1
  1093. package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +0 -1
  1094. package/dist/collection/components/algolia/lib/squirrelly/err.js.map +0 -1
  1095. package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +0 -1
  1096. package/dist/collection/components/algolia/lib/squirrelly/render.js.map +0 -1
  1097. package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +0 -1
  1098. package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +0 -1
  1099. package/dist/collection/components/algolia/lib/template.js.map +0 -1
  1100. package/dist/collection/components/animation/animation.js.map +0 -1
  1101. package/dist/collection/components/animation/animations/attention_seekers/bounce.js.map +0 -1
  1102. package/dist/collection/components/animation/animations/attention_seekers/flash.js.map +0 -1
  1103. package/dist/collection/components/animation/animations/attention_seekers/headShake.js.map +0 -1
  1104. package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js.map +0 -1
  1105. package/dist/collection/components/animation/animations/attention_seekers/jello.js.map +0 -1
  1106. package/dist/collection/components/animation/animations/attention_seekers/pulse.js.map +0 -1
  1107. package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js.map +0 -1
  1108. package/dist/collection/components/animation/animations/attention_seekers/shake.js.map +0 -1
  1109. package/dist/collection/components/animation/animations/attention_seekers/shakeX.js.map +0 -1
  1110. package/dist/collection/components/animation/animations/attention_seekers/shakeY.js.map +0 -1
  1111. package/dist/collection/components/animation/animations/attention_seekers/swing.js.map +0 -1
  1112. package/dist/collection/components/animation/animations/attention_seekers/tada.js.map +0 -1
  1113. package/dist/collection/components/animation/animations/attention_seekers/wobble.js.map +0 -1
  1114. package/dist/collection/components/animation/animations/back_entrances/backInDown.js.map +0 -1
  1115. package/dist/collection/components/animation/animations/back_entrances/backInLeft.js.map +0 -1
  1116. package/dist/collection/components/animation/animations/back_entrances/backInRight.js.map +0 -1
  1117. package/dist/collection/components/animation/animations/back_entrances/backInUp.js.map +0 -1
  1118. package/dist/collection/components/animation/animations/back_exits/backOutDown.js.map +0 -1
  1119. package/dist/collection/components/animation/animations/back_exits/backOutLeft.js.map +0 -1
  1120. package/dist/collection/components/animation/animations/back_exits/backOutRight.js.map +0 -1
  1121. package/dist/collection/components/animation/animations/back_exits/backOutUp.js.map +0 -1
  1122. package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js.map +0 -1
  1123. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js.map +0 -1
  1124. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js.map +0 -1
  1125. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js.map +0 -1
  1126. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js.map +0 -1
  1127. package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js.map +0 -1
  1128. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js.map +0 -1
  1129. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js.map +0 -1
  1130. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js.map +0 -1
  1131. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js.map +0 -1
  1132. package/dist/collection/components/animation/animations/easings/easings.js.map +0 -1
  1133. package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js.map +0 -1
  1134. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js.map +0 -1
  1135. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js.map +0 -1
  1136. package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js.map +0 -1
  1137. package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js.map +0 -1
  1138. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js.map +0 -1
  1139. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js.map +0 -1
  1140. package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js.map +0 -1
  1141. package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js.map +0 -1
  1142. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js.map +0 -1
  1143. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js.map +0 -1
  1144. package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js.map +0 -1
  1145. package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js.map +0 -1
  1146. package/dist/collection/components/animation/animations/fading_exits/fadeOut.js.map +0 -1
  1147. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js.map +0 -1
  1148. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js.map +0 -1
  1149. package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js.map +0 -1
  1150. package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js.map +0 -1
  1151. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js.map +0 -1
  1152. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js.map +0 -1
  1153. package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js.map +0 -1
  1154. package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js.map +0 -1
  1155. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js.map +0 -1
  1156. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js.map +0 -1
  1157. package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js.map +0 -1
  1158. package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js.map +0 -1
  1159. package/dist/collection/components/animation/animations/flippers/flip.js.map +0 -1
  1160. package/dist/collection/components/animation/animations/flippers/flipInX.js.map +0 -1
  1161. package/dist/collection/components/animation/animations/flippers/flipInY.js.map +0 -1
  1162. package/dist/collection/components/animation/animations/flippers/flipOutX.js.map +0 -1
  1163. package/dist/collection/components/animation/animations/flippers/flipOutY.js.map +0 -1
  1164. package/dist/collection/components/animation/animations/index.js.map +0 -1
  1165. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js.map +0 -1
  1166. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js.map +0 -1
  1167. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js.map +0 -1
  1168. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js.map +0 -1
  1169. package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js.map +0 -1
  1170. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js.map +0 -1
  1171. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js.map +0 -1
  1172. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js.map +0 -1
  1173. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js.map +0 -1
  1174. package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js.map +0 -1
  1175. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js.map +0 -1
  1176. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js.map +0 -1
  1177. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js.map +0 -1
  1178. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js.map +0 -1
  1179. package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js.map +0 -1
  1180. package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js.map +0 -1
  1181. package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js.map +0 -1
  1182. package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js.map +0 -1
  1183. package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js.map +0 -1
  1184. package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js.map +0 -1
  1185. package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js.map +0 -1
  1186. package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js.map +0 -1
  1187. package/dist/collection/components/animation/animations/specials/hinge.js.map +0 -1
  1188. package/dist/collection/components/animation/animations/specials/jackInTheBox.js.map +0 -1
  1189. package/dist/collection/components/animation/animations/specials/rollIn.js.map +0 -1
  1190. package/dist/collection/components/animation/animations/specials/rollOut.js.map +0 -1
  1191. package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js.map +0 -1
  1192. package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js.map +0 -1
  1193. package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js.map +0 -1
  1194. package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js.map +0 -1
  1195. package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js.map +0 -1
  1196. package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js.map +0 -1
  1197. package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js.map +0 -1
  1198. package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js.map +0 -1
  1199. package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js.map +0 -1
  1200. package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js.map +0 -1
  1201. package/dist/collection/components/checkbox/checkbox-group.js.map +0 -1
  1202. package/dist/collection/components/checkbox/checkbox-interface.js.map +0 -1
  1203. package/dist/collection/components/checkbox/checkbox.js.map +0 -1
  1204. package/dist/collection/components/datalist/datalist.js.map +0 -1
  1205. package/dist/collection/components/date-input/date-input.js.map +0 -1
  1206. package/dist/collection/components/date-picker/date-picker.js.map +0 -1
  1207. package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js.map +0 -1
  1208. package/dist/collection/components/date-picker/duet-date-picker/date-localization.js.map +0 -1
  1209. package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js.map +0 -1
  1210. package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js.map +0 -1
  1211. package/dist/collection/components/details/details.js.map +0 -1
  1212. package/dist/collection/components/dialog/dialog.helpers.js.map +0 -1
  1213. package/dist/collection/components/dialog/dialog.js.map +0 -1
  1214. package/dist/collection/components/drawer/drawer.js.map +0 -1
  1215. package/dist/collection/components/dropdown/dropdown.js.map +0 -1
  1216. package/dist/collection/components/field-validator/field-validator.js.map +0 -1
  1217. package/dist/collection/components/file-upload/file-upload-list.js.map +0 -1
  1218. package/dist/collection/components/file-upload/file-upload.js.map +0 -1
  1219. package/dist/collection/components/form-control/form-control.js.map +0 -1
  1220. package/dist/collection/components/global-nav/assets/local-my-account.json +0 -447
  1221. package/dist/collection/components/global-nav/global-nav-user-profile.js +0 -70
  1222. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +0 -1
  1223. package/dist/collection/components/global-nav/global-nav.js.map +0 -1
  1224. package/dist/collection/components/global-nav/style/global-nav.css +0 -893
  1225. package/dist/collection/components/global-search-results/global-search-results.js.map +0 -1
  1226. package/dist/collection/components/grid/grid-item.js.map +0 -1
  1227. package/dist/collection/components/grid/grid.js.map +0 -1
  1228. package/dist/collection/components/hero/hero.js.map +0 -1
  1229. package/dist/collection/components/icon/icon.js.map +0 -1
  1230. package/dist/collection/components/icon/request.js.map +0 -1
  1231. package/dist/collection/components/icon/utils.js.map +0 -1
  1232. package/dist/collection/components/icon/validate.js.map +0 -1
  1233. package/dist/collection/components/icon-button/icon-button.js.map +0 -1
  1234. package/dist/collection/components/img/img.js.map +0 -1
  1235. package/dist/collection/components/input/input.js.map +0 -1
  1236. package/dist/collection/components/intersection-observe/intersection-observe.js.map +0 -1
  1237. package/dist/collection/components/menu/menu.js.map +0 -1
  1238. package/dist/collection/components/menu-drawer/menu-drawer.js.map +0 -1
  1239. package/dist/collection/components/more-less/more-less.js.map +0 -1
  1240. package/dist/collection/components/nav-item/nav-item.js.map +0 -1
  1241. package/dist/collection/components/option/option.js.map +0 -1
  1242. package/dist/collection/components/overflow-nav/overflow-nav.css +0 -226
  1243. package/dist/collection/components/overflow-nav/overflow-nav.js +0 -537
  1244. package/dist/collection/components/overflow-nav/overflow-nav.js.map +0 -1
  1245. package/dist/collection/components/progress-bar/progress-bar.js.map +0 -1
  1246. package/dist/collection/components/range/range.js.map +0 -1
  1247. package/dist/collection/components/rating/rating.js.map +0 -1
  1248. package/dist/collection/components/resize-observe/resize-observe.js.map +0 -1
  1249. package/dist/collection/components/select/select.js.map +0 -1
  1250. package/dist/collection/components/skeleton/skeleton.js.map +0 -1
  1251. package/dist/collection/components/slides/lib/js/animate.js.map +0 -1
  1252. package/dist/collection/components/slides/lib/js/cell.js.map +0 -1
  1253. package/dist/collection/components/slides/lib/js/drag.js.map +0 -1
  1254. package/dist/collection/components/slides/lib/js/fade.js.map +0 -1
  1255. package/dist/collection/components/slides/lib/js/flickity.js.map +0 -1
  1256. package/dist/collection/components/slides/lib/js/fullscreen.js.map +0 -1
  1257. package/dist/collection/components/slides/lib/js/index.js.map +0 -1
  1258. package/dist/collection/components/slides/lib/js/lazyload.js.map +0 -1
  1259. package/dist/collection/components/slides/lib/js/page-dots.js.map +0 -1
  1260. package/dist/collection/components/slides/lib/js/player.js.map +0 -1
  1261. package/dist/collection/components/slides/lib/js/prev-next-button.js.map +0 -1
  1262. package/dist/collection/components/slides/lib/js/slide.js.map +0 -1
  1263. package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +0 -1
  1264. package/dist/collection/components/slides/lib/js/utils/gestures.js.map +0 -1
  1265. package/dist/collection/components/slides/lib/js/utils/get-size.js.map +0 -1
  1266. package/dist/collection/components/slides/lib/js/utils/utils.js.map +0 -1
  1267. package/dist/collection/components/slides/slide.js.map +0 -1
  1268. package/dist/collection/components/slides/slides.js.map +0 -1
  1269. package/dist/collection/components/sortable/sortable.js.map +0 -1
  1270. package/dist/collection/components/spinner/spinner.js.map +0 -1
  1271. package/dist/collection/components/split-pane/split-pane.js.map +0 -1
  1272. package/dist/collection/components/sticker/sticker.js.map +0 -1
  1273. package/dist/collection/components/table/table.cell.js +0 -113
  1274. package/dist/collection/components/table/table.cell.js.map +0 -1
  1275. package/dist/collection/components/table/table.constants.js +0 -5
  1276. package/dist/collection/components/table/table.constants.js.map +0 -1
  1277. package/dist/collection/components/table/table.header.js +0 -63
  1278. package/dist/collection/components/table/table.header.js.map +0 -1
  1279. package/dist/collection/components/table/table.js.map +0 -1
  1280. package/dist/collection/components/table/table.pin-service.js +0 -389
  1281. package/dist/collection/components/table/table.pin-service.js.map +0 -1
  1282. package/dist/collection/components/table/table.row.js +0 -113
  1283. package/dist/collection/components/table/table.row.js.map +0 -1
  1284. package/dist/collection/components/table/table.store.js +0 -145
  1285. package/dist/collection/components/table/table.store.js.map +0 -1
  1286. package/dist/collection/components/table/table.utils.js +0 -157
  1287. package/dist/collection/components/table/table.utils.js.map +0 -1
  1288. package/dist/collection/components/table/table.worker.js +0 -221
  1289. package/dist/collection/components/table/table.worker.js.map +0 -1
  1290. package/dist/collection/components/tabs/tab-content.js.map +0 -1
  1291. package/dist/collection/components/tabs/tab-group.js.map +0 -1
  1292. package/dist/collection/components/tabs/tab.js.map +0 -1
  1293. package/dist/collection/components/tooltip/tooltip.js.map +0 -1
  1294. package/dist/collection/global/script/global.js.map +0 -1
  1295. package/dist/collection/index.js.map +0 -1
  1296. package/dist/collection/types/shared.js.map +0 -1
  1297. package/dist/collection/utils/active-element.js.map +0 -1
  1298. package/dist/collection/utils/constructible-style.js.map +0 -1
  1299. package/dist/collection/utils/custom-template.js.map +0 -1
  1300. package/dist/collection/utils/date-utils.js.map +0 -1
  1301. package/dist/collection/utils/dom.js.map +0 -1
  1302. package/dist/collection/utils/drag.js.map +0 -1
  1303. package/dist/collection/utils/events.js.map +0 -1
  1304. package/dist/collection/utils/fetch.js.map +0 -1
  1305. package/dist/collection/utils/focus-visible.js +0 -63
  1306. package/dist/collection/utils/focus-visible.js.map +0 -1
  1307. package/dist/collection/utils/form.js.map +0 -1
  1308. package/dist/collection/utils/gesture/gesture-controller.js.map +0 -1
  1309. package/dist/collection/utils/gesture/index.js.map +0 -1
  1310. package/dist/collection/utils/gesture/listener.js.map +0 -1
  1311. package/dist/collection/utils/gesture/pointer-events.js.map +0 -1
  1312. package/dist/collection/utils/gesture/recognizers.js.map +0 -1
  1313. package/dist/collection/utils/gesture/swipe-back.js.map +0 -1
  1314. package/dist/collection/utils/math.js.map +0 -1
  1315. package/dist/collection/utils/modal.js.map +0 -1
  1316. package/dist/collection/utils/popover.js.map +0 -1
  1317. package/dist/collection/utils/promise-queue.js.map +0 -1
  1318. package/dist/collection/utils/renderer.js.map +0 -1
  1319. package/dist/collection/utils/scroll-parent.js +0 -26
  1320. package/dist/collection/utils/scroll-parent.js.map +0 -1
  1321. package/dist/collection/utils/scroll.js.map +0 -1
  1322. package/dist/collection/utils/search-insights.js.map +0 -1
  1323. package/dist/collection/utils/slot.js.map +0 -1
  1324. package/dist/collection/utils/store/component-store.js.map +0 -1
  1325. package/dist/collection/utils/store/get-set.js.map +0 -1
  1326. package/dist/collection/utils/tabbable.js.map +0 -1
  1327. package/dist/collection/utils/testing/index.js.map +0 -1
  1328. package/dist/collection/utils/theme.js.map +0 -1
  1329. package/dist/collection/utils/throttle.js.map +0 -1
  1330. package/dist/collection/utils/transitions.js.map +0 -1
  1331. package/dist/components/active-element.js.map +0 -1
  1332. package/dist/components/algolia-data.js.map +0 -1
  1333. package/dist/components/algolia.js.map +0 -1
  1334. package/dist/components/algoliasearch-lite.esm.browser.js +0 -966
  1335. package/dist/components/algoliasearch-lite.esm.browser.js.map +0 -1
  1336. package/dist/components/component-store.js.map +0 -1
  1337. package/dist/components/datalist.js.map +0 -1
  1338. package/dist/components/date-picker.js.map +0 -1
  1339. package/dist/components/dom.js.map +0 -1
  1340. package/dist/components/drag.js.map +0 -1
  1341. package/dist/components/dropdown.js.map +0 -1
  1342. package/dist/components/events.js.map +0 -1
  1343. package/dist/components/fade.js.map +0 -1
  1344. package/dist/components/focus-visible.js +0 -66
  1345. package/dist/components/focus-visible.js.map +0 -1
  1346. package/dist/components/form-control.js.map +0 -1
  1347. package/dist/components/fullscreen.js.map +0 -1
  1348. package/dist/components/global-nav-user-profile.js +0 -50
  1349. package/dist/components/global-nav-user-profile.js.map +0 -1
  1350. package/dist/components/grid.js.map +0 -1
  1351. package/dist/components/icon-button.js.map +0 -1
  1352. package/dist/components/icon.js.map +0 -1
  1353. package/dist/components/img.js.map +0 -1
  1354. package/dist/components/index-browser.js.map +0 -1
  1355. package/dist/components/index.js.map +0 -1
  1356. package/dist/components/index2.js.map +0 -1
  1357. package/dist/components/index3.js.map +0 -1
  1358. package/dist/components/input.js.map +0 -1
  1359. package/dist/components/lazyload.js.map +0 -1
  1360. package/dist/components/local-my-account.js +0 -462
  1361. package/dist/components/local-my-account.js.map +0 -1
  1362. package/dist/components/math.js.map +0 -1
  1363. package/dist/components/menu.js.map +0 -1
  1364. package/dist/components/modal.js.map +0 -1
  1365. package/dist/components/nano-accordion.js.map +0 -1
  1366. package/dist/components/nano-alert.js.map +0 -1
  1367. package/dist/components/nano-algolia-filter.js.map +0 -1
  1368. package/dist/components/nano-algolia-pagination.js.map +0 -1
  1369. package/dist/components/nano-algolia-results.js.map +0 -1
  1370. package/dist/components/nano-algolia.js.map +0 -1
  1371. package/dist/components/nano-animation.js.map +0 -1
  1372. package/dist/components/nano-checkbox-group.js.map +0 -1
  1373. package/dist/components/nano-checkbox.js.map +0 -1
  1374. package/dist/components/nano-datalist.js.map +0 -1
  1375. package/dist/components/nano-date-input.js.map +0 -1
  1376. package/dist/components/nano-date-picker.js.map +0 -1
  1377. package/dist/components/nano-details.js.map +0 -1
  1378. package/dist/components/nano-dialog.js.map +0 -1
  1379. package/dist/components/nano-drawer.js.map +0 -1
  1380. package/dist/components/nano-dropdown.js.map +0 -1
  1381. package/dist/components/nano-field-validator.js.map +0 -1
  1382. package/dist/components/nano-file-upload.js.map +0 -1
  1383. package/dist/components/nano-global-nav-user-profile.d.ts +0 -11
  1384. package/dist/components/nano-global-nav-user-profile.js +0 -11
  1385. package/dist/components/nano-global-nav-user-profile.js.map +0 -1
  1386. package/dist/components/nano-global-nav.js.map +0 -1
  1387. package/dist/components/nano-global-search-results.js.map +0 -1
  1388. package/dist/components/nano-grid-item.js.map +0 -1
  1389. package/dist/components/nano-grid.js.map +0 -1
  1390. package/dist/components/nano-hero.js.map +0 -1
  1391. package/dist/components/nano-icon-button.js.map +0 -1
  1392. package/dist/components/nano-icon.js.map +0 -1
  1393. package/dist/components/nano-img.js.map +0 -1
  1394. package/dist/components/nano-input.js.map +0 -1
  1395. package/dist/components/nano-intersection-observe.js.map +0 -1
  1396. package/dist/components/nano-menu-drawer.js.map +0 -1
  1397. package/dist/components/nano-menu.js.map +0 -1
  1398. package/dist/components/nano-more-less.js.map +0 -1
  1399. package/dist/components/nano-nav-item.js.map +0 -1
  1400. package/dist/components/nano-option.js.map +0 -1
  1401. package/dist/components/nano-overflow-nav.d.ts +0 -11
  1402. package/dist/components/nano-overflow-nav.js +0 -390
  1403. package/dist/components/nano-overflow-nav.js.map +0 -1
  1404. package/dist/components/nano-progress-bar.js.map +0 -1
  1405. package/dist/components/nano-range.js.map +0 -1
  1406. package/dist/components/nano-rating.js.map +0 -1
  1407. package/dist/components/nano-resize-observe.js.map +0 -1
  1408. package/dist/components/nano-select.js.map +0 -1
  1409. package/dist/components/nano-skeleton.js.map +0 -1
  1410. package/dist/components/nano-slide.js.map +0 -1
  1411. package/dist/components/nano-slides.js.map +0 -1
  1412. package/dist/components/nano-sortable.js.map +0 -1
  1413. package/dist/components/nano-spinner.js.map +0 -1
  1414. package/dist/components/nano-split-pane.js.map +0 -1
  1415. package/dist/components/nano-sticker.js.map +0 -1
  1416. package/dist/components/nano-tab-content.js.map +0 -1
  1417. package/dist/components/nano-tab-group.js.map +0 -1
  1418. package/dist/components/nano-tab.js.map +0 -1
  1419. package/dist/components/nano-table.js.map +0 -1
  1420. package/dist/components/nano-tooltip.js.map +0 -1
  1421. package/dist/components/nav-item.js.map +0 -1
  1422. package/dist/components/option.js.map +0 -1
  1423. package/dist/components/page-dots.js.map +0 -1
  1424. package/dist/components/popover.js.map +0 -1
  1425. package/dist/components/progress-bar.js.map +0 -1
  1426. package/dist/components/renderer.js.map +0 -1
  1427. package/dist/components/resize-observe.js.map +0 -1
  1428. package/dist/components/scroll-parent.js +0 -29
  1429. package/dist/components/scroll-parent.js.map +0 -1
  1430. package/dist/components/scroll.js.map +0 -1
  1431. package/dist/components/search-insights.js +0 -51
  1432. package/dist/components/search-insights.js.map +0 -1
  1433. package/dist/components/select.js.map +0 -1
  1434. package/dist/components/skeleton.js.map +0 -1
  1435. package/dist/components/slot.js.map +0 -1
  1436. package/dist/components/spinner.js.map +0 -1
  1437. package/dist/components/sticker.js.map +0 -1
  1438. package/dist/components/tabbable.js.map +0 -1
  1439. package/dist/components/table.worker.js.map +0 -1
  1440. package/dist/components/theme.js.map +0 -1
  1441. package/dist/components/throttle.js.map +0 -1
  1442. package/dist/components/tooltip.js.map +0 -1
  1443. package/dist/components/transitions.js +0 -60
  1444. package/dist/components/transitions.js.map +0 -1
  1445. package/dist/esm/active-element-a2502948.js +0 -19
  1446. package/dist/esm/active-element-a2502948.js.map +0 -1
  1447. package/dist/esm/algolia-data-f0f72f1d.js +0 -49
  1448. package/dist/esm/algolia-data-f0f72f1d.js.map +0 -1
  1449. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js +0 -966
  1450. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1451. package/dist/esm/app-globals-f0120bbe.js +0 -39
  1452. package/dist/esm/app-globals-f0120bbe.js.map +0 -1
  1453. package/dist/esm/component-store-199a9fd8.js +0 -323
  1454. package/dist/esm/component-store-199a9fd8.js.map +0 -1
  1455. package/dist/esm/date-utils-1e39c114.js +0 -219
  1456. package/dist/esm/date-utils-1e39c114.js.map +0 -1
  1457. package/dist/esm/dom-fafdec9a.js +0 -78
  1458. package/dist/esm/dom-fafdec9a.js.map +0 -1
  1459. package/dist/esm/drag-9d765d2d.js +0 -72
  1460. package/dist/esm/drag-9d765d2d.js.map +0 -1
  1461. package/dist/esm/events-f38f3e59.js +0 -36
  1462. package/dist/esm/events-f38f3e59.js.map +0 -1
  1463. package/dist/esm/fade-ce1a4958.js +0 -212
  1464. package/dist/esm/fade-ce1a4958.js.map +0 -1
  1465. package/dist/esm/focus-visible-e5f02c46.js +0 -66
  1466. package/dist/esm/focus-visible-e5f02c46.js.map +0 -1
  1467. package/dist/esm/form-control-f48fa873.js +0 -79
  1468. package/dist/esm/form-control-f48fa873.js.map +0 -1
  1469. package/dist/esm/fullscreen-52d62028.js +0 -132
  1470. package/dist/esm/fullscreen-52d62028.js.map +0 -1
  1471. package/dist/esm/index-6cc72cd9.js +0 -3045
  1472. package/dist/esm/index-6cc72cd9.js.map +0 -1
  1473. package/dist/esm/index-a2043fcd.js +0 -657
  1474. package/dist/esm/index-a2043fcd.js.map +0 -1
  1475. package/dist/esm/index-browser-8c563093.js +0 -8
  1476. package/dist/esm/index-browser-8c563093.js.map +0 -1
  1477. package/dist/esm/index-f5f7b950.js +0 -198
  1478. package/dist/esm/index-f5f7b950.js.map +0 -1
  1479. package/dist/esm/index.js.map +0 -1
  1480. package/dist/esm/lazyload-8ff69ba4.js +0 -94
  1481. package/dist/esm/lazyload-8ff69ba4.js.map +0 -1
  1482. package/dist/esm/loader.js.map +0 -1
  1483. package/dist/esm/local-my-account-3ba1ec04.js +0 -462
  1484. package/dist/esm/local-my-account-3ba1ec04.js.map +0 -1
  1485. package/dist/esm/math-d160f8a6.js +0 -38
  1486. package/dist/esm/math-d160f8a6.js.map +0 -1
  1487. package/dist/esm/modal-02828a39.js +0 -49
  1488. package/dist/esm/modal-02828a39.js.map +0 -1
  1489. package/dist/esm/nano-accordion.entry.js.map +0 -1
  1490. package/dist/esm/nano-alert.entry.js.map +0 -1
  1491. package/dist/esm/nano-algolia-filter.entry.js.map +0 -1
  1492. package/dist/esm/nano-algolia-pagination.entry.js.map +0 -1
  1493. package/dist/esm/nano-algolia-results.entry.js.map +0 -1
  1494. package/dist/esm/nano-algolia.entry.js.map +0 -1
  1495. package/dist/esm/nano-animation.entry.js.map +0 -1
  1496. package/dist/esm/nano-checkbox-group.entry.js.map +0 -1
  1497. package/dist/esm/nano-checkbox.entry.js.map +0 -1
  1498. package/dist/esm/nano-components.js.map +0 -1
  1499. package/dist/esm/nano-datalist_3.entry.js.map +0 -1
  1500. package/dist/esm/nano-date-input.entry.js.map +0 -1
  1501. package/dist/esm/nano-date-picker.entry.js +0 -389
  1502. package/dist/esm/nano-date-picker.entry.js.map +0 -1
  1503. package/dist/esm/nano-details.entry.js.map +0 -1
  1504. package/dist/esm/nano-dialog.entry.js.map +0 -1
  1505. package/dist/esm/nano-drawer.entry.js +0 -285
  1506. package/dist/esm/nano-drawer.entry.js.map +0 -1
  1507. package/dist/esm/nano-dropdown.entry.js +0 -369
  1508. package/dist/esm/nano-dropdown.entry.js.map +0 -1
  1509. package/dist/esm/nano-field-validator.entry.js.map +0 -1
  1510. package/dist/esm/nano-file-upload.entry.js.map +0 -1
  1511. package/dist/esm/nano-global-nav-user-profile_3.entry.js +0 -1101
  1512. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1513. package/dist/esm/nano-global-nav.entry.js.map +0 -1
  1514. package/dist/esm/nano-global-search-results.entry.js +0 -632
  1515. package/dist/esm/nano-global-search-results.entry.js.map +0 -1
  1516. package/dist/esm/nano-grid-item.entry.js.map +0 -1
  1517. package/dist/esm/nano-grid_2.entry.js.map +0 -1
  1518. package/dist/esm/nano-hero.entry.js.map +0 -1
  1519. package/dist/esm/nano-icon-button_2.entry.js +0 -336
  1520. package/dist/esm/nano-icon-button_2.entry.js.map +0 -1
  1521. package/dist/esm/nano-icon.entry.js +0 -316
  1522. package/dist/esm/nano-icon.entry.js.map +0 -1
  1523. package/dist/esm/nano-input.entry.js +0 -544
  1524. package/dist/esm/nano-input.entry.js.map +0 -1
  1525. package/dist/esm/nano-intersection-observe.entry.js.map +0 -1
  1526. package/dist/esm/nano-menu-drawer.entry.js.map +0 -1
  1527. package/dist/esm/nano-more-less.entry.js.map +0 -1
  1528. package/dist/esm/nano-overflow-nav.entry.js +0 -338
  1529. package/dist/esm/nano-overflow-nav.entry.js.map +0 -1
  1530. package/dist/esm/nano-progress-bar.entry.js.map +0 -1
  1531. package/dist/esm/nano-range.entry.js.map +0 -1
  1532. package/dist/esm/nano-rating.entry.js.map +0 -1
  1533. package/dist/esm/nano-resize-observe_2.entry.js.map +0 -1
  1534. package/dist/esm/nano-slide.entry.js.map +0 -1
  1535. package/dist/esm/nano-slides-2715825b.js +0 -3038
  1536. package/dist/esm/nano-slides-2715825b.js.map +0 -1
  1537. package/dist/esm/nano-slides.entry.js.map +0 -1
  1538. package/dist/esm/nano-sortable.entry.js.map +0 -1
  1539. package/dist/esm/nano-spinner.entry.js.map +0 -1
  1540. package/dist/esm/nano-split-pane.entry.js.map +0 -1
  1541. package/dist/esm/nano-sticker.entry.js.map +0 -1
  1542. package/dist/esm/nano-tab-content.entry.js.map +0 -1
  1543. package/dist/esm/nano-tab-group.entry.js.map +0 -1
  1544. package/dist/esm/nano-tab.entry.js.map +0 -1
  1545. package/dist/esm/nano-table-3965ddd0.js +0 -1877
  1546. package/dist/esm/nano-table-3965ddd0.js.map +0 -1
  1547. package/dist/esm/nano-table.entry.js.map +0 -1
  1548. package/dist/esm/page-dots-5b23db8c.js +0 -139
  1549. package/dist/esm/page-dots-5b23db8c.js.map +0 -1
  1550. package/dist/esm/popover-30ce6cac.js +0 -1930
  1551. package/dist/esm/popover-30ce6cac.js.map +0 -1
  1552. package/dist/esm/renderer-4bc3e2dc.js +0 -58
  1553. package/dist/esm/renderer-4bc3e2dc.js.map +0 -1
  1554. package/dist/esm/scroll-1afc6a4e.js +0 -124
  1555. package/dist/esm/scroll-1afc6a4e.js.map +0 -1
  1556. package/dist/esm/scroll-parent-be39fbd0.js +0 -29
  1557. package/dist/esm/scroll-parent-be39fbd0.js.map +0 -1
  1558. package/dist/esm/search-insights-1a7b7dc5.js +0 -51
  1559. package/dist/esm/search-insights-1a7b7dc5.js.map +0 -1
  1560. package/dist/esm/slot-1cd90e53.js +0 -58
  1561. package/dist/esm/slot-1cd90e53.js.map +0 -1
  1562. package/dist/esm/tabbable-44932eb7.js +0 -109
  1563. package/dist/esm/tabbable-44932eb7.js.map +0 -1
  1564. package/dist/esm/table.worker-8e04f768.js +0 -29
  1565. package/dist/esm/table.worker-8e04f768.js.map +0 -1
  1566. package/dist/esm/table.worker-da5412ed.js +0 -4
  1567. package/dist/esm/theme-d553c17a.js +0 -46
  1568. package/dist/esm/theme-d553c17a.js.map +0 -1
  1569. package/dist/esm/throttle-df960210.js +0 -50
  1570. package/dist/esm/throttle-df960210.js.map +0 -1
  1571. package/dist/esm/transitions-c09bd7f6.js +0 -60
  1572. package/dist/esm/transitions-c09bd7f6.js.map +0 -1
  1573. package/dist/generators/custom-element-doc-generator.js +0 -75
  1574. package/dist/generators/custom-element-doc-generator.js.map +0 -1
  1575. package/dist/generators/vue/generate-vue-component.js +0 -74
  1576. package/dist/generators/vue/generate-vue-component.js.map +0 -1
  1577. package/dist/generators/vue/index.js +0 -5
  1578. package/dist/generators/vue/index.js.map +0 -1
  1579. package/dist/generators/vue/output-vue.js +0 -96
  1580. package/dist/generators/vue/output-vue.js.map +0 -1
  1581. package/dist/generators/vue/plugin.js +0 -44
  1582. package/dist/generators/vue/plugin.js.map +0 -1
  1583. package/dist/generators/vue/types.js +0 -2
  1584. package/dist/generators/vue/types.js.map +0 -1
  1585. package/dist/generators/vue/utils.js +0 -82
  1586. package/dist/generators/vue/utils.js.map +0 -1
  1587. package/dist/nano-assets/fonts/jp/noto-sans-jp-v53-japanese-500.woff2 +0 -0
  1588. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500.woff2 +0 -0
  1589. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500italic.woff2 +0 -0
  1590. package/dist/nano-assets/fonts/sc/noto-sans-sc-v37-chinese-simplified-500.woff2 +0 -0
  1591. package/dist/nano-assets/local-my-account.json +0 -447
  1592. package/dist/nano-components/active-element-a2502948.js +0 -5
  1593. package/dist/nano-components/active-element-a2502948.js.map +0 -1
  1594. package/dist/nano-components/algolia-data-f0f72f1d.js +0 -5
  1595. package/dist/nano-components/algolia-data-f0f72f1d.js.map +0 -1
  1596. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js +0 -5
  1597. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1598. package/dist/nano-components/app-globals-f0120bbe.js +0 -5
  1599. package/dist/nano-components/app-globals-f0120bbe.js.map +0 -1
  1600. package/dist/nano-components/assets/local-my-account.json +0 -447
  1601. package/dist/nano-components/component-store-199a9fd8.js +0 -5
  1602. package/dist/nano-components/component-store-199a9fd8.js.map +0 -1
  1603. package/dist/nano-components/date-utils-1e39c114.js +0 -5
  1604. package/dist/nano-components/date-utils-1e39c114.js.map +0 -1
  1605. package/dist/nano-components/dom-fafdec9a.js +0 -5
  1606. package/dist/nano-components/dom-fafdec9a.js.map +0 -1
  1607. package/dist/nano-components/drag-9d765d2d.js +0 -5
  1608. package/dist/nano-components/drag-9d765d2d.js.map +0 -1
  1609. package/dist/nano-components/events-f38f3e59.js +0 -5
  1610. package/dist/nano-components/events-f38f3e59.js.map +0 -1
  1611. package/dist/nano-components/fade-ce1a4958.js +0 -5
  1612. package/dist/nano-components/fade-ce1a4958.js.map +0 -1
  1613. package/dist/nano-components/focus-visible-e5f02c46.js +0 -5
  1614. package/dist/nano-components/focus-visible-e5f02c46.js.map +0 -1
  1615. package/dist/nano-components/form-control-f48fa873.js +0 -5
  1616. package/dist/nano-components/form-control-f48fa873.js.map +0 -1
  1617. package/dist/nano-components/fullscreen-52d62028.js +0 -5
  1618. package/dist/nano-components/fullscreen-52d62028.js.map +0 -1
  1619. package/dist/nano-components/index-6cc72cd9.js +0 -6
  1620. package/dist/nano-components/index-6cc72cd9.js.map +0 -1
  1621. package/dist/nano-components/index-a2043fcd.js +0 -5
  1622. package/dist/nano-components/index-a2043fcd.js.map +0 -1
  1623. package/dist/nano-components/index-browser-8c563093.js +0 -5
  1624. package/dist/nano-components/index-browser-8c563093.js.map +0 -1
  1625. package/dist/nano-components/index-f5f7b950.js +0 -5
  1626. package/dist/nano-components/index-f5f7b950.js.map +0 -1
  1627. package/dist/nano-components/index.esm.js.map +0 -1
  1628. package/dist/nano-components/lazyload-8ff69ba4.js +0 -5
  1629. package/dist/nano-components/lazyload-8ff69ba4.js.map +0 -1
  1630. package/dist/nano-components/local-my-account-3ba1ec04.js +0 -5
  1631. package/dist/nano-components/local-my-account-3ba1ec04.js.map +0 -1
  1632. package/dist/nano-components/math-d160f8a6.js +0 -5
  1633. package/dist/nano-components/math-d160f8a6.js.map +0 -1
  1634. package/dist/nano-components/modal-02828a39.js +0 -5
  1635. package/dist/nano-components/modal-02828a39.js.map +0 -1
  1636. package/dist/nano-components/nano-accordion.entry.js.map +0 -1
  1637. package/dist/nano-components/nano-alert.entry.js.map +0 -1
  1638. package/dist/nano-components/nano-algolia-filter.entry.js.map +0 -1
  1639. package/dist/nano-components/nano-algolia-pagination.entry.js.map +0 -1
  1640. package/dist/nano-components/nano-algolia-results.entry.js.map +0 -1
  1641. package/dist/nano-components/nano-algolia.entry.js.map +0 -1
  1642. package/dist/nano-components/nano-animation.entry.js.map +0 -1
  1643. package/dist/nano-components/nano-checkbox-group.entry.js.map +0 -1
  1644. package/dist/nano-components/nano-checkbox.entry.js.map +0 -1
  1645. package/dist/nano-components/nano-components.esm.js.map +0 -1
  1646. package/dist/nano-components/nano-datalist_3.entry.js.map +0 -1
  1647. package/dist/nano-components/nano-date-input.entry.js.map +0 -1
  1648. package/dist/nano-components/nano-date-picker.entry.js +0 -5
  1649. package/dist/nano-components/nano-date-picker.entry.js.map +0 -1
  1650. package/dist/nano-components/nano-details.entry.js.map +0 -1
  1651. package/dist/nano-components/nano-dialog.entry.js.map +0 -1
  1652. package/dist/nano-components/nano-drawer.entry.js +0 -5
  1653. package/dist/nano-components/nano-drawer.entry.js.map +0 -1
  1654. package/dist/nano-components/nano-dropdown.entry.js +0 -5
  1655. package/dist/nano-components/nano-dropdown.entry.js.map +0 -1
  1656. package/dist/nano-components/nano-field-validator.entry.js.map +0 -1
  1657. package/dist/nano-components/nano-file-upload.entry.js.map +0 -1
  1658. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +0 -5
  1659. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1660. package/dist/nano-components/nano-global-nav.entry.js.map +0 -1
  1661. package/dist/nano-components/nano-global-search-results.entry.js +0 -5
  1662. package/dist/nano-components/nano-global-search-results.entry.js.map +0 -1
  1663. package/dist/nano-components/nano-grid-item.entry.js.map +0 -1
  1664. package/dist/nano-components/nano-grid_2.entry.js.map +0 -1
  1665. package/dist/nano-components/nano-hero.entry.js.map +0 -1
  1666. package/dist/nano-components/nano-icon-button_2.entry.js +0 -5
  1667. package/dist/nano-components/nano-icon-button_2.entry.js.map +0 -1
  1668. package/dist/nano-components/nano-icon.entry.js +0 -5
  1669. package/dist/nano-components/nano-icon.entry.js.map +0 -1
  1670. package/dist/nano-components/nano-input.entry.js +0 -5
  1671. package/dist/nano-components/nano-input.entry.js.map +0 -1
  1672. package/dist/nano-components/nano-intersection-observe.entry.js.map +0 -1
  1673. package/dist/nano-components/nano-menu-drawer.entry.js.map +0 -1
  1674. package/dist/nano-components/nano-more-less.entry.js.map +0 -1
  1675. package/dist/nano-components/nano-overflow-nav.entry.js +0 -5
  1676. package/dist/nano-components/nano-overflow-nav.entry.js.map +0 -1
  1677. package/dist/nano-components/nano-progress-bar.entry.js.map +0 -1
  1678. package/dist/nano-components/nano-range.entry.js.map +0 -1
  1679. package/dist/nano-components/nano-rating.entry.js.map +0 -1
  1680. package/dist/nano-components/nano-resize-observe_2.entry.js.map +0 -1
  1681. package/dist/nano-components/nano-slide.entry.js.map +0 -1
  1682. package/dist/nano-components/nano-slides-2715825b.js +0 -20
  1683. package/dist/nano-components/nano-slides-2715825b.js.map +0 -1
  1684. package/dist/nano-components/nano-slides.entry.js.map +0 -1
  1685. package/dist/nano-components/nano-sortable.entry.js.map +0 -1
  1686. package/dist/nano-components/nano-spinner.entry.js.map +0 -1
  1687. package/dist/nano-components/nano-split-pane.entry.js.map +0 -1
  1688. package/dist/nano-components/nano-sticker.entry.js.map +0 -1
  1689. package/dist/nano-components/nano-tab-content.entry.js.map +0 -1
  1690. package/dist/nano-components/nano-tab-group.entry.js.map +0 -1
  1691. package/dist/nano-components/nano-tab.entry.js.map +0 -1
  1692. package/dist/nano-components/nano-table-3965ddd0.js +0 -5
  1693. package/dist/nano-components/nano-table-3965ddd0.js.map +0 -1
  1694. package/dist/nano-components/nano-table.entry.js.map +0 -1
  1695. package/dist/nano-components/page-dots-5b23db8c.js +0 -5
  1696. package/dist/nano-components/page-dots-5b23db8c.js.map +0 -1
  1697. package/dist/nano-components/popover-30ce6cac.js +0 -5
  1698. package/dist/nano-components/popover-30ce6cac.js.map +0 -1
  1699. package/dist/nano-components/renderer-4bc3e2dc.js +0 -5
  1700. package/dist/nano-components/renderer-4bc3e2dc.js.map +0 -1
  1701. package/dist/nano-components/scroll-1afc6a4e.js +0 -5
  1702. package/dist/nano-components/scroll-1afc6a4e.js.map +0 -1
  1703. package/dist/nano-components/scroll-parent-be39fbd0.js +0 -5
  1704. package/dist/nano-components/scroll-parent-be39fbd0.js.map +0 -1
  1705. package/dist/nano-components/search-insights-1a7b7dc5.js +0 -5
  1706. package/dist/nano-components/search-insights-1a7b7dc5.js.map +0 -1
  1707. package/dist/nano-components/slot-1cd90e53.js +0 -5
  1708. package/dist/nano-components/slot-1cd90e53.js.map +0 -1
  1709. package/dist/nano-components/tabbable-44932eb7.js +0 -5
  1710. package/dist/nano-components/tabbable-44932eb7.js.map +0 -1
  1711. package/dist/nano-components/table.worker-8e04f768.js +0 -5
  1712. package/dist/nano-components/table.worker-8e04f768.js.map +0 -1
  1713. package/dist/nano-components/table.worker-da5412ed.js +0 -4
  1714. package/dist/nano-components/theme-d553c17a.js +0 -5
  1715. package/dist/nano-components/theme-d553c17a.js.map +0 -1
  1716. package/dist/nano-components/throttle-df960210.js +0 -5
  1717. package/dist/nano-components/throttle-df960210.js.map +0 -1
  1718. package/dist/nano-components/transitions-c09bd7f6.js +0 -5
  1719. package/dist/nano-components/transitions-c09bd7f6.js.map +0 -1
  1720. package/dist/stencil.config.js.map +0 -1
  1721. package/dist/stencil.config.prod.js.map +0 -1
  1722. package/dist/testing/mocks/intersection-observer.js.map +0 -1
  1723. package/dist/themes/base/normalize.css +0 -1
  1724. package/dist/themes/base/normalize.css.map +0 -1
  1725. package/dist/themes/base/noto-sans-jp.css +0 -1
  1726. package/dist/themes/base/noto-sans-jp.css.map +0 -1
  1727. package/dist/themes/base/noto-sans-sc.css +0 -1
  1728. package/dist/themes/base/noto-sans-sc.css.map +0 -1
  1729. package/dist/themes/base/noto-sans.css +0 -1
  1730. package/dist/themes/base/noto-sans.css.map +0 -1
  1731. package/dist/themes/base/structure.css +0 -1
  1732. package/dist/themes/base/structure.css.map +0 -1
  1733. package/dist/themes/london-calling.css +0 -1
  1734. package/dist/themes/london-calling.css.map +0 -1
  1735. package/dist/themes/nanopore.css +0 -1
  1736. package/dist/themes/nanopore.css.map +0 -1
  1737. package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -8
  1738. package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -2
  1739. package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -2
  1740. package/dist/types/components/global-nav/global-nav-user-profile.d.ts +0 -16
  1741. package/dist/types/components/overflow-nav/overflow-nav.d.ts +0 -89
  1742. package/dist/types/components/table/table-interface.d.ts +0 -278
  1743. package/dist/types/components/table/table.store.d.ts +0 -24
  1744. package/dist/types/components/table/table.utils.d.ts +0 -70
  1745. package/dist/types/utils/focus-visible.d.ts +0 -8
  1746. package/dist/types/utils/scroll-parent.d.ts +0 -6
  1747. package/dist/wdio.conf.js.map +0 -1
  1748. package/themes/base/normalize.css +0 -1
  1749. package/themes/base/normalize.css.map +0 -1
  1750. package/themes/base/noto-sans-jp.css +0 -1
  1751. package/themes/base/noto-sans-jp.css.map +0 -1
  1752. package/themes/base/noto-sans-sc.css +0 -1
  1753. package/themes/base/noto-sans-sc.css.map +0 -1
  1754. package/themes/base/noto-sans.css +0 -1
  1755. package/themes/base/noto-sans.css.map +0 -1
  1756. package/themes/base/structure.css +0 -1
  1757. package/themes/base/structure.css.map +0 -1
  1758. package/themes/london-calling.css +0 -1
  1759. package/themes/london-calling.css.map +0 -1
  1760. package/themes/nanopore.css +0 -1
  1761. package/themes/nanopore.css.map +0 -1
  1762. /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-700.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-700.woff2} +0 -0
  1763. /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-regular.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-regular.woff2} +0 -0
  1764. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700.woff2 +0 -0
  1765. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700italic.woff2 +0 -0
  1766. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-italic.woff2 +0 -0
  1767. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-regular.woff2 +0 -0
  1768. /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-700.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-700.woff2} +0 -0
  1769. /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-regular.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-regular.woff2} +0 -0
  1770. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/generate-vue-component.d.ts +0 -0
  1771. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/index.d.ts +0 -0
  1772. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/output-vue.d.ts +0 -0
  1773. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/plugin.d.ts +0 -0
  1774. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/types.d.ts +0 -0
  1775. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/utils.d.ts +0 -0
  1776. /package/dist/types/{builds/6SyqsxUA/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  1777. /package/dist/types/{builds/6SyqsxUA/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
  1778. /package/dist/types/components/{table → data-table}/table.cell.d.ts +0 -0
  1779. /package/dist/types/components/{table → data-table}/table.constants.d.ts +0 -0
  1780. /package/dist/types/components/{table → data-table}/table.header.d.ts +0 -0
  1781. /package/dist/types/components/{table → data-table}/table.pin-service.d.ts +0 -0
  1782. /package/dist/types/components/{table → data-table}/table.row.d.ts +0 -0
  1783. /package/dist/types/components/{table → data-table}/table.worker.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["CSSNAMESPACE","isInstanceOf","value","className","C","globalThis","getTransferables","constructor","Object","values","Array","isArray","flatMap","buffer","pendingIds","callbackIds","pending","Map","callbacks","createWorker","workerPath","workerName","workerMsgId","worker","Worker","name","addEventListener","data","workerMsg","id","err","resolve","reject","get","delete","errObj","assign","Error","message","consoleError","forEach","e","createWorkerProxy","exportedMethod","args","Promise","pendingId","i","argLen","length","mainData","set","callbackId","push","postMessage","w","then","colsToWorker","columns","safeColumns","JSON","parse","stringify","c","sortCompareFn","safeCol","find","sc","prop","toString","stores","WeakMap","async","generateStore","host","scrollParent","isReady","store","createStore","rows","config","general","workerId","createWorkerStore","state","use","reset","syncDataToWorker","dispose","syncConfigToWorker","getStore","getDataType","Date","includes","storeSetData","cols","dateCols","filter","col","type","reduce","prev","curr","unknownCols","map","row","colName","coerceDate","Number","cyrb53","join","storeSetConfig","storeSearch","term","workerSearch","console","warn","storeFilter","filters","workerFilter","storeSort","order","workerSort","colDataModel","rowIndex","colIndex","fetchStores","column","rowModel","cellModel","rowDataModel","mergeProperties","current","extra","props","class","style","getElement","getRenderingRef","mergeCellProperties","defaultProps","extraPropsFunc","cellProperties","colheadFootRender","tpl","columnTemplate","h","Fragment","title","headerPinClasses","vPinned","classes","classListToStr","classString","entries","on","isInViewport","el","percentVisible","r","getBoundingClientRect","windowHeight","window","innerHeight","document","documentElement","clientHeight","bottom","top","left","right","height","width","x","y","Math","floor","TableColHead","onColumnSortClick","defaults","handleColumnSortClick","target","closest","isSortable","sortable","extraProps","columnProperties","baseProps","pinned","undefined","content","colSpan","scope","sort","key","onClick","cellRender","cellTemplate","model","tableInstance","d","isNaN","toLocaleDateString","toLocaleTimeString","hCalled","hWrap","tplResult","customRenderer","Element","templateEle","createElement","result","baseCellClasses","TableCell","nestedContent","Content","CellType","rowHeader","rowSpan","ContentWrap","ref","replaceChildren","append","res","innerHTML","wrap","role","autoTooltip","notifyContentFit","onNanoResizeContentFitChange","firstElementChild","disabled","detail","placement","onNanoShow","zIndex","onNanoHide","slot","tableCellContent","children","ctx","cell","wrapperProps","header","cellProps","TableRow","rowRenderer","utils","rowProperties","rowPinned","template","applyCellClasses","cNode","vtag","vattrs","toRender","renderedRow","__uuid","node","vkey","vchildren","TableHeadFootRow","TableHeadFootCell","addStyleSheet","css","styleSheet","getElementById","isConnected","head","TablePinService","cachedColMeta","tableId","tableEle","scrollElement","startColumns","endColumns","topRows","bottomRows","tableDims","table","this","querySelector","getElementsByClassName","onResize","pinnedStart","_pinnedStart","handlePinnedStartChange","writeTask","classList","add","lastActiveCol","idx","remove","pinnedEnd","_pinnedEnd","handlePinnedEndChange","firstActiveCol","cssColDimensionCacheKey","_cssColDimensionCacheKey","createPinnedColDimensionStyles","generateCssCacheKey","colMeta","widthS","widthE","startCols","from","endCols","reverse","getParentOffsets","offsetX","offsetY","offsetLeft","offsetTop","assessRows","readTask","heightAggregate","cacheParent","topRow","currParent","parentElement","pinTop","getComputedStyle","getPropertyValue","offset","parseFloat","setProperty","bottomRow","pinBottom","assessCols","boundBox","currPinned","parentEles","done","widthAggregate","startCol","indexOf","endCol","cacheX","cacheY","onScroll","pos","clientWidth","tableCss","NanoTableStyle0","measurePerf","perMark","end","performance","mark","measure","getEntriesByName","info","Table","hostRef","debounceSetLoading","debounce","bind","caption","showCaption","loading","_loading","internalLoading","l","placeholderSize","handleRowsChange","currentFilters","currentSort","columnInit","requestAnimationFrame","setInitialBlockDimension","tablePinnedService","handleColsChange","headRender","rowRender","footRender","showFooter","perBlock","blocksLength","blocks","searchTerm","customFilterFn","customSortFn","defaultSort","handleSearchTermChange","searchStart","virtualTotalItems","virtualTotalItemsChangeHandler","setBlocks","appliedFilters","nanoTblReady","nanoTblBlockRendered","nanoTblBeforeSort","nanoTblAfterSort","nanoTblBeforeFilter","nanoTblAfterFilter","nanoTblBeforeSearch","nanoTblAfterSearch","nanoTblBeforeEdit","resetSorting","sortStart","addSort","resetFilters","filterStart","addFilters","additive","removeFilters","columnNames","f","updateRow","splice","renderId","topAnchorEle","tableWrapperEle","activeWatcherIo","activeBlocks","measureHeight","blockElements","blockHeights","measureEle","potentialHeight","abs","unitHeight","_scrollParent","ele","removeEventListener","scrollHandler","primaryBlockIndex","_primaryBlockIndex","blockIndex","emit","block","totalBlocks","_isReady","ready","handleReady","hash","location","idRow","scrollIntoView","_e","element","sortEvent","defaultPrevented","scrollToTop","sortComplete","ff","filterComplete","cFilter","scrollBehaviour","scrollBehavior","scrollX","scrollLeft","setTimeout","setMeasureElement","b","contains","testForDimensions","dimensionsReady","observer","IntersectionObserver","disconnect","root","observe","dRows","getBlockHeight","cachedBlockHeight","bh","blockLength","setBlockHeight","fBhIdx","findIndex","scrollPos","isActive","scrollTop","scrollY","cumulativeHeight","blockLen","potentialBlocks","processSlots","error","handleResizeChange","split","cl","setupActiveWatcher","io","isIntersecting","threshold","componentWillLoad","onChange","findScrollParent","connectedCallback","componentDidLoad","componentShouldUpdate","_newVal","_oldVal","stateName","componentWillRender","componentDidRender","disconnectedCallback","render","Host","a","states","onNanoResizeStateChange","onNanoResize","div","tabindex","indeterminate","tbl","colModel","headRenderer","keys","_colModel","hidden","tb"],"sources":["src/components/table/table.constants.ts","@worker-helper","src/components/table/table.store.ts","src/components/table/table.utils.tsx","src/components/table/table.header.tsx","src/components/table/table.cell.tsx","src/components/table/table.row.tsx","src/components/table/table.pin-service.ts","src/components/table/table.scss?tag=nano-table","src/components/table/table.tsx"],"sourcesContent":["export const CSSNAMESPACE = 'nano-tbl';\n","\nimport { consoleError } from '@stencil/core/internal';\n\n\nconst isInstanceOf = (value, className) => {\n const C = globalThis[className];\n return C != null && value instanceof C;\n}\nconst getTransferables = (value) => {\n if (value != null) {\n if (\n isInstanceOf(value, \"ArrayBuffer\") ||\n isInstanceOf(value, \"MessagePort\") ||\n isInstanceOf(value, \"ImageBitmap\") ||\n isInstanceOf(value, \"OffscreenCanvas\")\n ) {\n return [value];\n }\n if (typeof value === \"object\") {\n if (value.constructor === Object) {\n value = Object.values(value);\n }\n if (Array.isArray(value)) {\n return value.flatMap(getTransferables);\n }\n return getTransferables(value.buffer);\n }\n }\n return [];\n};\n\nlet pendingIds = 0;\nlet callbackIds = 0;\nconst pending = new Map();\nconst callbacks = new Map();\n\nexport const createWorker = (workerPath, workerName, workerMsgId) => {\n const worker = new Worker(workerPath, {name:workerName});\n\n worker.addEventListener('message', ({data}) => {\n if (data) {\n const workerMsg = data[0];\n const id = data[1];\n const value = data[2];\n\n if (workerMsg === workerMsgId) {\n const err = data[3];\n const [resolve, reject, callbackIds] = pending.get(id);\n pending.delete(id);\n\n if (err) {\n const errObj = (err.isError)\n ? Object.assign(new Error(err.value.message), err.value)\n : err.value;\n\n consoleError(errObj);\n reject(errObj);\n } else {\n if (callbackIds) {\n callbackIds.forEach(id => callbacks.delete(id));\n }\n resolve(value);\n }\n } else if (workerMsg === workerMsgId + '.cb') {\n try {\n callbacks.get(id)(...value);\n } catch (e) {\n consoleError(e);\n }\n }\n }\n });\n\n return worker;\n};\n\nexport const createWorkerProxy = (worker, workerMsgId, exportedMethod) => (\n (...args) => new Promise((resolve, reject) => {\n let pendingId = pendingIds++;\n let i = 0;\n let argLen = args.length;\n let mainData = [resolve, reject];\n pending.set(pendingId, mainData);\n\n for (; i < argLen; i++) {\n if (typeof args[i] === 'function') {\n const callbackId = callbackIds++;\n callbacks.set(callbackId, args[i]);\n args[i] = [workerMsgId + '.cb', callbackId];\n (mainData[2] = mainData[2] || []).push(callbackId);\n }\n }\n const postMessage = (w) => (\n w.postMessage(\n [workerMsgId, pendingId, exportedMethod, args],\n getTransferables(args)\n )\n );\n if (worker.then) {\n worker.then(postMessage);\n } else {\n postMessage(worker);\n }\n })\n);\n","import { createStore, ObservableMap } from '@stencil/store';\nimport { cyrb53 } from '../../utils/math';\nimport {\n createWorkerStore,\n syncConfigToWorker,\n syncDataToWorker,\n workerFilter,\n workerSearch,\n workerSort,\n} from './table.worker';\nimport type { TableTypes } from './table-interface';\n\nexport interface TableStores {\n data: ObservableMap<{ rows: TableTypes.NanoTable['rows'] }>;\n config: ObservableMap<{ columns: TableTypes.NanoTable['columns'] }>;\n general: ObservableMap<{\n workerId: string;\n scrollParent: HTMLElement;\n host: HTMLNanoTableElement;\n isReady: boolean;\n isActive?: boolean;\n }>;\n}\n\nfunction colsToWorker(columns: TableTypes.NanoTable['columns']) {\n const safeColumns: Partial<TableTypes.ColumnConfig>[] = JSON.parse(\n JSON.stringify(columns)\n );\n columns.forEach((c) => {\n if (c?.sortCompareFn) {\n const safeCol = safeColumns.find((sc) => sc.prop === c.prop);\n safeCol.sortCompareFn = c.sortCompareFn.toString();\n }\n });\n return safeColumns;\n}\n\nconst stores: WeakMap<HTMLElement, TableStores> = new WeakMap();\n\nexport async function generateStore(\n host: HTMLNanoTableElement,\n columns: TableTypes.NanoTable['columns'],\n scrollParent: HTMLElement,\n isReady: boolean\n) {\n const store: TableStores = {\n data: createStore({ rows: [] }),\n config: createStore({ columns }),\n general: createStore({ workerId: null, scrollParent, host, isReady }),\n };\n\n const id = await createWorkerStore(\n store.data.state.rows,\n colsToWorker(store.config.state.columns)\n );\n store.general.state.workerId = id;\n stores.set(host, store);\n\n // sync data from our store to our worker\n\n store.data.use({\n reset: () => {\n if (store.general.state.workerId)\n syncDataToWorker(store.general.state.workerId, null);\n },\n dispose: () => {\n if (store.general.state.workerId)\n syncDataToWorker(store.general.state.workerId, null);\n },\n });\n store.config.use({\n reset: () => {\n if (store.general.state.workerId)\n syncConfigToWorker(store.general.state.workerId, null);\n },\n dispose: () => {\n if (store.general.state.workerId)\n syncConfigToWorker(store.general.state.workerId, null);\n },\n });\n return store;\n}\n\nexport function getStore(host: HTMLElement) {\n return stores.get(host);\n}\n\nfunction getDataType(value: any): TableTypes.ColumnType {\n if (value instanceof Date) {\n return 'date';\n }\n if (['number', 'string', 'boolean'].includes(typeof value)) {\n return typeof value as 'string' | 'number' | 'boolean';\n }\n return 'unknown';\n}\n\nexport function storeSetData(host: HTMLElement, rows: TableTypes.RowData[]) {\n const store = stores.get(host);\n if (!store) return;\n\n const cols = store.config.state.columns;\n const dateCols: (keyof TableTypes.RowData)[] = cols\n .filter((col) => col.type === 'date')\n .reduce((prev, curr) => {\n return [...prev, curr.prop];\n }, []);\n const unknownCols: TableTypes.RowData[] = cols.filter((col) => !col.type);\n\n // augments data with some internal props.\n // discern unknown column types\n // convert dates to numbers for worker\n rows = rows.map((row, i) => {\n // try our best to discern the column type (from first row) if unset\n if (unknownCols.length && i === 0) {\n store.config.state.columns = cols.map((col) => {\n if (unknownCols.includes(col) && row[col.prop] && !col.type) {\n col.type = getDataType(row[col.prop]);\n if (col.type === 'date') dateCols.push(col.prop);\n }\n return col;\n });\n }\n\n // convert date columns into numbers to send to our worker\n dateCols.forEach((colName) => {\n // coerce any date type;\n // Date(), timestamp, valid date string\n const coerceDate = new Date(row[colName]);\n if (!!coerceDate && Number(coerceDate)) row[colName] = Number(coerceDate);\n });\n\n row['__index'] = i;\n row['__uuid'] = cyrb53(cols.map((c) => row[c.prop]).join());\n\n return row;\n });\n store.data.state.rows = rows;\n\n if (store.general.state.workerId)\n return syncDataToWorker(store.general.state.workerId, rows);\n}\n\nexport function storeSetConfig(\n host: HTMLElement,\n columns: TableTypes.ColumnConfig[]\n) {\n const store = stores.get(host);\n if (!store) return;\n\n store.config.state.columns = columns;\n\n if (store.general.state.workerId)\n return syncConfigToWorker(\n store.general.state.workerId,\n colsToWorker(columns)\n );\n}\n\nexport async function storeSearch(host: HTMLElement, term: string) {\n const store = stores.get(host);\n if (!store || !store.general.state.workerId) return;\n\n try {\n store.data.state.rows = await workerSearch(\n store.general.state.workerId,\n term\n );\n } catch (e) {\n console.warn(e);\n }\n}\n\nexport async function storeFilter(\n host: HTMLElement,\n filters: TableTypes.Filter[]\n) {\n const store = stores.get(host);\n if (!store || !store.general.state.workerId) return;\n\n try {\n store.data.state.rows = await workerFilter(\n store.general.state.workerId,\n filters\n );\n } catch (e) {\n console.warn(e);\n }\n}\n\nexport async function storeSort(\n host: HTMLNanoTableElement,\n prop: TableTypes.Prop,\n order: TableTypes.Order\n) {\n const store = stores.get(host);\n if (!store || !store.general.state.workerId) return;\n\n try {\n store.data.state.rows = await workerSort(\n store.general.state.workerId,\n prop,\n order\n );\n } catch (e) {\n console.warn(e);\n }\n}\n","import { getRenderingRef, getElement, VNode, h, Fragment } from '@stencil/core';\nimport { getStore } from './table.store';\nimport { CSSNAMESPACE } from './table.constants';\nimport type { TableTypes } from './table-interface';\n\ntype ValidRenderTypes = 'tr' | 'th' | 'td';\n\n/**\n * Get a model object for custom cell / property renderers.\n * @param rowIndex - the current row index being rendered\n * @param colIndex - the current column index being rendered\n * @returns a model object which will be passed to custom renderers\n */\nexport function colDataModel(\n rowIndex: number,\n colIndex: number\n): TableTypes.RenderModel {\n const store = fetchStores();\n const columns = store.config.state.columns;\n const rows = store.data.state.rows;\n\n const column = columns[colIndex];\n const prop: TableTypes.ColumnProp | undefined = column?.prop;\n const rowModel = rows[rowIndex];\n const cellModel = rowModel ? rowModel[columns[colIndex].prop] : '';\n\n return {\n prop,\n cellModel,\n column,\n rowIndex,\n rowModel,\n };\n}\n\n/**\n * Get a model object for custom row renderers.\n * @param rowIndex\n * @returns a model object passed to custom row renderers\n */\nexport function rowDataModel(rowIndex: number): TableTypes.RowDataSchemaModel {\n const store = fetchStores();\n const rows = store.data.state.rows;\n const rowModel = rows[rowIndex];\n\n return {\n rowModel,\n rowIndex,\n };\n}\n\n/**\n * Merges 2 objects of properties together\n * @param current - property object\n * @param extra - additional object property\n * @returns - merged properties that can be applied to a node\n */\nexport function mergeProperties<T extends TableTypes.CellProps>(\n current: T,\n extra: T\n) {\n if (!extra) return current;\n\n // top level merge\n const props: T = { ...extra, ...current };\n\n // deeper merge\n // merge classes maps or strings\n if (extra.class) {\n if (typeof extra.class === 'object' && typeof props.class === 'object') {\n props.class = { ...extra.class, ...props.class };\n } else if (\n typeof extra.class === 'string' &&\n typeof props.class === 'object'\n ) {\n props.class[extra.class] = true;\n } else if (\n typeof props.class === 'string' &&\n typeof extra.class === 'string'\n ) {\n props.class += ' ' + extra.class;\n }\n }\n // merge style\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n}\n\n/**\n * Returns the current nano-table's stores.\n * @returns the current nano-table stores\n */\nexport function fetchStores() {\n return getStore(getElement(getRenderingRef()));\n}\n\n/**\n * Merges any defined cell properties with properties\n * required by `nano-table` functionality\n * @param rowIndex - the current row index being rendered\n * @param colIndex = the current column index being rendered\n * @param defaultProps - default properties required by `nano-table`\n * @returns - the merged properties that will be applied to a node\n */\nexport function mergeCellProperties(\n rowIndex: number,\n colIndex: number,\n defaultProps: TableTypes.CellProps\n): TableTypes.CellProps {\n const props: TableTypes.CellProps = { ...defaultProps };\n const extraPropsFunc =\n fetchStores().config.state.columns[colIndex]?.cellProperties;\n if (!extraPropsFunc) return props;\n\n const data = colDataModel(rowIndex, colIndex);\n const extra = extraPropsFunc(data);\n if (!extra) return props;\n\n return mergeProperties(props, extra);\n}\n\n/**\n * Renders a table header (within a thead) using a custom template if set.\n * @param col - the current column config object\n * @returns - a JSX node\n */\nexport function colheadFootRender(col: TableTypes.ColumnConfig): VNode {\n const tpl = col?.columnTemplate;\n return tpl ? (\n tpl(h as TableTypes.HFunc<VNode>, col)\n ) : (\n <Fragment>{col.title}</Fragment>\n );\n}\n\n/**\n * Renders a class string or map for pinned classes on the v axis.\n * @param type - element tagName\n * @param vPinned - whether element is currently pinned vertically to top or bottom\n * @param toString - render as a string (defaults to class map)\n * @returns a class string or class map\n */\nexport function headerPinClasses(\n type: ValidRenderTypes,\n vPinned?: TableTypes.Position,\n toString?: false\n): { [key: string]: boolean };\nexport function headerPinClasses(\n type: ValidRenderTypes,\n vPinned?: TableTypes.Position,\n toString?: true\n): string;\nexport function headerPinClasses(\n type: ValidRenderTypes,\n vPinned?: TableTypes.Position,\n toString = false\n): { [key: string]: boolean } | string {\n const classes = {\n [`${CSSNAMESPACE}__${type}`]: true,\n [`${CSSNAMESPACE}__pin`]: !!vPinned,\n [`${CSSNAMESPACE}__pin--top`]: vPinned === 'top',\n [`${CSSNAMESPACE}__pin--bottom`]: vPinned === 'bottom',\n };\n\n if (toString) return classListToStr(classes);\n return classes;\n}\n\n/**\n * Turns a class map {'string': boolean} to class string\n * @param classes - the class map to convert\n * @returns a class string\n */\nexport function classListToStr(classes: { [key: string]: boolean }): string {\n let classString = '';\n Object.entries(classes).forEach(([className, on]) => {\n if (on) classString += className + ' ';\n });\n return classString;\n}\n\n/**\n * Checks whether an element is currently viewable within the viewport\n * @param el - element to check\n * @param percentVisible - the percentage of the element that should be within the viewport\n * @returns true if the element's area percentage is visible\n */\nexport function isInViewport(el: Element, percentVisible = 100) {\n const r = el.getBoundingClientRect();\n const windowHeight =\n window.innerHeight || document.documentElement.clientHeight;\n\n if (\n !r.bottom &&\n !r.top &&\n !r.left &&\n !r.right &&\n !r.height &&\n !r.width &&\n !r.x &&\n !r.y\n )\n return false;\n\n return !(\n Math.floor(100 - ((r.top >= 0 ? 0 : r.top) / +-r.height) * 100) <\n percentVisible ||\n Math.floor(100 - ((r.bottom - windowHeight) / r.height) * 100) <\n percentVisible\n );\n}\n","import { Fragment, FunctionalComponent } from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n colheadFootRender,\n headerPinClasses,\n mergeProperties,\n} from './table.utils';\nimport type { TableTypes } from './table-interface';\n\n// TABLE HEADERS\n// (thead > tr > th, tfoot > tr > th)\n\ntype TableColHeadProps = {\n column: TableTypes.ColumnConfig;\n headRenderer: TableTypes.HeadFootRenderer;\n onColumnSortClick?: (\n order: TableTypes.Order,\n column: TableTypes.Prop,\n el: HTMLTableCellElement\n ) => any;\n defaults: { sortable?: boolean };\n};\n\nexport const TableColHead: FunctionalComponent<TableColHeadProps> = ({\n column,\n onColumnSortClick,\n defaults,\n}) => {\n // Sort handling\n\n function handleColumnSortClick(e: MouseEvent & { target: HTMLElement }) {\n let order;\n switch (column.order) {\n case 'asc':\n order = 'desc';\n break;\n case 'desc':\n order = null;\n break;\n default:\n order = 'asc';\n }\n onColumnSortClick(order, column.prop, e.target.closest('th'));\n }\n\n function isSortable() {\n return (\n (!!defaults.sortable && column.sortable !== false) ||\n (!defaults.sortable && column.sortable === true)\n );\n }\n\n let extraProps = {};\n if (column.columnProperties) {\n extraProps = column.columnProperties(column) || extraProps;\n }\n\n const baseProps = {\n class: {\n ...headerPinClasses('th', column.pinned),\n [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',\n [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',\n [`${CSSNAMESPACE}__ordered`]: !!column.order,\n [`${CSSNAMESPACE}__filtered`]:\n column.filter !== undefined && column.filter !== null,\n },\n };\n let props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;\n const content = colheadFootRender(column);\n\n if (!content) return <Fragment></Fragment>;\n\n props =\n Number((props as TableTypes.CellProps).colSpan) > 1\n ? { ...props, scope: 'colgroup' }\n : { ...props, scope: 'col' };\n\n if (isSortable()) {\n const sort = column.order\n ? column.order === 'asc'\n ? 'ascending'\n : 'descending'\n : 'none';\n\n props = { ...props, 'aria-sort': sort };\n }\n\n return (\n <th {...props} key={column.prop}>\n {isSortable() ? (\n <button\n class={{\n [`${CSSNAMESPACE}__order-btn`]: true,\n [`${CSSNAMESPACE}__cell-content`]: true,\n }}\n onClick={handleColumnSortClick}\n >\n {colheadFootRender(column)}\n {column.filter !== undefined && column.filter !== null && (\n <nano-icon name=\"light/filter\" />\n )}\n {!!column.order &&\n (column.order === 'desc' ? (\n <nano-icon name=\"solid/arrow-down-long\" />\n ) : (\n <nano-icon name=\"solid/arrow-up-long\" />\n ))}\n <div class={`${CSSNAMESPACE}__status-icons`}>\n <nano-icon name=\"light/chevron-down\" />\n </div>\n </button>\n ) : (\n <div class={`${CSSNAMESPACE}__cell-content`}>\n {colheadFootRender(column)}\n {column.filter !== undefined && column.filter !== null && (\n <nano-icon name=\"light/bars-filter\" />\n )}\n </div>\n )}\n </th>\n );\n};\n","import {\n Fragment,\n FunctionalComponent,\n VNode,\n getRenderingRef,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n classListToStr,\n colDataModel,\n fetchStores,\n mergeCellProperties,\n} from './table.utils';\nimport type { TableTypes } from './table-interface';\nimport type { Table } from './table';\nimport type { NanoResizeObserveCustomEvent } from '../../components';\n\n// TABLE CELL\n// (tbody > tr > td, tbody > tr > th)\n\n/**\n * Renders a cell using a custom renderer if set.\n * @param rowIndex - the current row index being rendered\n * @param colIndex - the current column index being rendered\n * @returns - a JSX node\n */\nfunction cellRender(\n rowIndex: number,\n colIndex: number\n): VNode | string | Element {\n const store = fetchStores();\n const columns = store.config.state.columns;\n const tpl = columns[colIndex]?.cellTemplate;\n const model = colDataModel(rowIndex, colIndex);\n const tableInstance = getRenderingRef() as Table;\n\n if (!!model.cellModel && columns[colIndex].type === 'date') {\n const d = new Date(model.cellModel);\n if (d instanceof Date && !isNaN(d as any)) {\n model.cellModel = !tpl\n ? `${new Date(model.cellModel).toLocaleDateString()} ${new Date(\n model.cellModel\n ).toLocaleTimeString()}`\n : d;\n }\n }\n\n // Wrap the h pragma, then we can know if we're using Stencil's\n // jsx renderer or a different one\n let hCalled = false;\n const hWrap = (...args: [any[]]) => {\n hCalled = true;\n // @ts-expect-error - h mismatch\n return h(...args);\n };\n let tplResult = tpl ? tpl(hWrap, model) : undefined;\n\n if (\n tplResult &&\n tableInstance.customRenderer &&\n tplResult['$attrs$'] === undefined &&\n !(tplResult instanceof Element) &&\n typeof tplResult !== 'string' &&\n !hCalled\n ) {\n // template result is jsx *not* from Stencil.\n // Render it now and output it later.\n const templateEle = document.createElement('template');\n const result = tableInstance.customRenderer(tplResult, templateEle.content);\n // custom rendering can render to the templateEle OR return a promise<string>\n tplResult = result && result['then'] ? result : templateEle;\n }\n\n return tplResult ? (\n tplResult\n ) : model.cellModel !== undefined && model.cellModel !== null ? (\n <Fragment>{model.cellModel?.toString()}</Fragment>\n ) : (\n ''\n );\n}\n\nexport const baseCellClasses = (\n colIndex: number,\n toString: boolean = false\n) => {\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n\n const classes = {\n [`${CSSNAMESPACE}__td`]: true,\n [`${CSSNAMESPACE}__ordered`]: !!column.order,\n [`${CSSNAMESPACE}__pin`]: !!column.pinned,\n [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',\n [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',\n };\n\n if (toString) return classListToStr(classes);\n return classes;\n};\n\ntype TableCellProps = {\n rowIndex: number;\n colIndex: number;\n nestedContent?: () => VNode;\n};\n\nexport const TableCell: FunctionalComponent<TableCellProps> = ({\n rowIndex,\n colIndex,\n nestedContent,\n}) => {\n const Content = (): TableTypes.TplResult =>\n nestedContent\n ? nestedContent()\n : cellRender(rowIndex, colIndex) || (\n <span class=\"placeholder\">&nbsp;</span>\n );\n\n let CellType: 'td' | 'th' = 'td';\n const tableInstance = getRenderingRef() as Table;\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n let props = mergeCellProperties(rowIndex, colIndex, {\n class: baseCellClasses(colIndex),\n });\n\n if (column.rowHeader) {\n props =\n Number(props.rowSpan) > 1\n ? { ...props, scope: 'rowgroup' }\n : { ...props, scope: 'row' };\n CellType = 'th';\n }\n\n const ContentWrap = (props) => {\n const content = Content();\n\n return (\n <div\n ref={(d) => {\n if (!d) return;\n\n if (content instanceof Element) {\n // custom rendered an element\n d.replaceChildren();\n d.append(content['content'] || content);\n } else if (content['then']) {\n // custom rendered a promise. Most likely within SSR.\n (content as Promise<string>).then((res) => (d.innerHTML = res));\n }\n }}\n {...props}\n class={{\n [`${CSSNAMESPACE}__cell-content`]: true,\n [`${CSSNAMESPACE}__cell-content--wrap`]: !!column.wrap,\n }}\n innerHTML={\n typeof content === 'string' && content.includes('<')\n ? content\n : undefined\n }\n >\n {(typeof content !== 'string' || !content.includes('<')) &&\n !content['then'] &&\n !(content instanceof Element) &&\n content}\n </div>\n );\n };\n\n return (\n <CellType\n role={tableInstance.type === 'grid' ? 'gridcell' : undefined}\n {...props}\n >\n {column.autoTooltip && !column.wrap ? (\n <nano-resize-observe\n notifyContentFit=\"x\"\n onNanoResizeContentFitChange={(\n e: NanoResizeObserveCustomEvent<{ x: boolean }>\n ) =>\n ((e.target.firstElementChild as HTMLNanoTooltipElement).disabled =\n e.detail.x)\n }\n >\n <nano-tooltip\n disabled\n placement=\"top\"\n onNanoShow={(e) =>\n (e.target.closest(CellType).style.zIndex = '100')\n }\n onNanoHide={(e) => (e.target.closest(CellType).style.zIndex = '')}\n >\n <ContentWrap />\n <span slot=\"content\">\n <Content />\n </span>\n </nano-tooltip>\n </nano-resize-observe>\n ) : (\n <ContentWrap />\n )}\n </CellType>\n );\n};\n","import { FunctionalComponent, VNode } from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { headerPinClasses, mergeProperties, rowDataModel } from './table.utils';\nimport { baseCellClasses } from './table.cell';\nimport { CSSNAMESPACE } from './table.constants';\nimport type { TableTypes } from './table-interface';\n\n// TABLE ROWS\n// (thead > tr, tfoot > tr, tr)\n\ntype TableRowProps = {\n rowRenderer: TableTypes.RowRenderer;\n rowIndex: number;\n rowModel: TableTypes.RowData;\n onRowPinned?: TableTypes.PinnedCb;\n};\n\nconst tableCellContent = (\n props: TableTypes.TableRowCellHelperProps,\n children: VNode[],\n ctx: 'col' | 'row'\n): VNode => {\n const cell = (\n <div\n {...props.wrapperProps}\n class={{\n [`${CSSNAMESPACE}__cell-content`]: true,\n [`${CSSNAMESPACE}__cell-content--wrap`]: props.wrap,\n }}\n >\n {children}\n </div>\n );\n return props.header ? (\n <th scope={ctx} {...props.cellProps}>\n {cell}\n </th>\n ) : (\n <td {...props.cellProps}>{cell}</td>\n );\n};\n\nexport const TableRow: FunctionalComponent<TableRowProps> = (\n { rowRenderer, rowIndex, rowModel },\n children,\n utils\n) => {\n // helper, generates <td> or <th>\n const TableCell: FunctionalComponent<TableTypes.TableRowCellHelperProps> = (\n { header, wrap, cellProps, wrapperProps },\n children\n ): VNode => {\n return tableCellContent(\n { header, wrap, cellProps, wrapperProps },\n children,\n 'row'\n );\n };\n\n let extraProps = {};\n\n if (!rowModel) {\n const model = rowDataModel(rowIndex);\n rowModel = model.rowModel;\n }\n\n if (rowRenderer?.rowProperties) {\n extraProps =\n rowRenderer.rowProperties({ rowModel, rowIndex }) || extraProps;\n }\n\n let rowPinned: TableTypes.Position;\n if (rowRenderer?.pinned && typeof rowRenderer.pinned === 'function') {\n rowPinned = rowRenderer.pinned({ rowModel, rowIndex });\n }\n\n const props = mergeProperties(\n { class: headerPinClasses('tr', rowPinned, true) },\n extraProps\n );\n const tpl = rowRenderer?.template;\n\n /**\n * Applies appropriate classes to td / th VNodes;\n * which can be supplied by user defined templates\n * @param children virtual / jsx node array\n * @returns virtual / jsx node array\n */\n const applyCellClasses = (children: VNode[]) => {\n return utils.map(children, (cNode, i) => {\n if (['td', 'th'].includes(cNode.vtag.toString())) {\n cNode.vattrs = mergeProperties(\n {\n class: baseCellClasses(i, true),\n },\n cNode.vattrs\n );\n }\n return cNode;\n });\n };\n\n if (tpl) {\n let toRender = tpl(\n h as TableTypes.HFunc<VNode>,\n {\n renderedRow: (\n <tr {...props} key={rowModel.__uuid}>\n {children}\n </tr>\n ),\n rowModel,\n rowIndex,\n },\n TableCell\n );\n\n if (Array.isArray(toRender)) {\n toRender = utils.map(toRender, (node, i) => {\n if (node.vtag === 'tr') {\n if (!node.vkey) node.vkey = `${rowModel.__uuid}_${i}`;\n\n node.vattrs = mergeProperties(\n { class: headerPinClasses('tr', rowPinned, true) },\n node.vattrs\n );\n\n if (node.vchildren) {\n node.vchildren = applyCellClasses(node.vchildren);\n }\n }\n return node;\n });\n }\n return toRender;\n }\n\n return (\n <tr {...props} key={rowModel.__uuid}>\n {applyCellClasses(children)}\n </tr>\n );\n};\n\ntype TableHeadFootProps = {\n rowRenderer: TableTypes.HeadFootRenderer;\n onRowPinned?: TableTypes.PinnedCb;\n onColPinned?: TableTypes.PinnedCb;\n};\n\nexport const TableHeadFootRow: FunctionalComponent<TableHeadFootProps> = (\n { rowRenderer }, // onRowPinned, onColPinned\n children,\n utils\n) => {\n let extraProps = {};\n if (rowRenderer.rowProperties) {\n extraProps = rowRenderer.rowProperties() || {};\n }\n\n const TableHeadFootCell: FunctionalComponent<\n TableTypes.TableRowCellHelperProps\n > = ({ header, wrap, cellProps, wrapperProps }, children): VNode => {\n return tableCellContent(\n { header, wrap, cellProps, wrapperProps },\n children,\n 'col'\n );\n };\n\n const pinned = rowRenderer.pinned || null;\n const baseProps = { class: headerPinClasses('tr', pinned) };\n const props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;\n const tpl = rowRenderer?.template;\n\n if (tpl) {\n let toRender = tpl(\n h as TableTypes.HFunc<VNode>,\n {\n renderedRow: <tr {...props}>{children}</tr>,\n },\n TableHeadFootCell\n );\n\n if (Array.isArray(toRender)) {\n toRender = utils.map(toRender, (node) => {\n if (node.vtag === 'tr') {\n node.vattrs = mergeProperties(\n { class: headerPinClasses('tr', pinned, true) },\n node.vattrs\n );\n\n if (node.vchildren) {\n node.vchildren = utils.map(node.vchildren, (cNode) => {\n if (['td', 'th'].includes(cNode.vtag.toString())) {\n cNode.vattrs = mergeProperties(\n {\n class: headerPinClasses(\n cNode.vtag.toString() as 'th' | 'td',\n pinned,\n true\n ),\n },\n cNode.vattrs\n );\n }\n return cNode;\n });\n }\n }\n return node;\n });\n }\n return toRender;\n }\n\n return <tr {...props}>{children}</tr>;\n};\n","import { readTask, writeTask } from '@stencil/core';\nimport { CSSNAMESPACE } from './table.constants';\n\nfunction addStyleSheet(id, css) {\n const styleSheet =\n (document.getElementById(id) as HTMLStyleElement) ||\n document.createElement('style');\n styleSheet.id = id;\n styleSheet.innerHTML = css;\n if (!styleSheet.isConnected) document.head.append(styleSheet);\n}\n\n/**\n * Manages the complex business of table 'pinning'; sticking columns and rows to the scrolling parent element.\n *\n * *knowing* when an element is pinned is tricky.\n * Managing the display of multiple, side-by-side pinned elements is trickier still.\n *\n * Pinning table columns are very different from pinning table rows:\n * - Rows are actual elements we can select, measure and apply styles to.\n * - Columns are disparate collections of elements that are much harder to select, measure and apply styles to.\n *\n * With this in mind, how columns and rows are pinned is different:\n * Rows can have changes applied directly, Columns have changes applied via dynamic stylesheets.\n *\n * The service is slightly opinionated on how it pins rows and columns (with some room for override):\n * - Pinned columns are stuck consecutively, without overlapping.\n * e.g. If column 'name' and 'surname' are both `pin: 'start'`; 'surname' will display **next** to name.\n * Both columns are important for context\n *\n * - Pinned rows are set to overlap *when* they have the same ancestor,\n * and stuck consecutively when they have a different ancestor.\n * e.g. `tbody > tr.pin ~ tr.pin` the second row will **overlap** the first; it's unlikely both rows will be important for context.\n * `thead > tr.pin`, `tbody > tr.pin`. Both rows are required for context so will require next to each other.\n *\n * Devs can override this behaviour by setting `--pin-start`, `--pin-end`, `--pin-top`, `--pin-bottom` custom vars.\n */\nexport class TablePinService {\n // Private state\n\n private cachedColMeta: WeakMap<HTMLElement, { width: number; idx: number }> =\n new WeakMap();\n private tableId: string;\n private tableEle: HTMLTableElement;\n private scrollElement: HTMLElement;\n private startColumns: HTMLCollection;\n private endColumns: HTMLCollection;\n private topRows: HTMLCollection;\n private bottomRows: HTMLCollection;\n private tableDims: { height: number; width: number };\n\n constructor(table: HTMLTableElement, scrollElement: HTMLElement) {\n this.tableEle = table;\n this.tableId = this.tableEle.id;\n this.scrollElement = scrollElement;\n\n // Secret sauce - `getElementsByClassName` is a live collection.\n // An HTMLCollection will keep itself up-to-date as elements come and go\n // So we can keep assessing on scroll\n\n this.startColumns = table\n .querySelector('thead')\n .getElementsByClassName(`${CSSNAMESPACE}__pin--start`);\n this.endColumns = table\n .querySelector('thead')\n .getElementsByClassName(`${CSSNAMESPACE}__pin--end`);\n this.topRows = table.getElementsByClassName(`${CSSNAMESPACE}__pin--top`);\n this.bottomRows = table.getElementsByClassName(\n `${CSSNAMESPACE}__pin--bottom`\n );\n this.onResize();\n }\n\n // Pinned cols & change detection\n private get pinnedStart() {\n return this._pinnedStart;\n }\n private set pinnedStart(cols: HTMLElement[]) {\n this._pinnedStart = cols;\n this.handlePinnedStartChange();\n }\n private _pinnedStart: HTMLElement[] = [];\n\n /**\n * Called when columns are either pinned or unpinned.\n * Attaches a tiny stylesheet to target the 'last' start column.\n * (e.g. We only want to apply drop shadow on last pinned start column - not all pinned columns)\n */\n private handlePinnedStartChange() {\n writeTask(() => {\n if (this.pinnedStart.length) {\n this.tableEle.classList.add(`${CSSNAMESPACE}__pinned--start`);\n const lastActiveCol = this.cachedColMeta.get(\n this.pinnedStart[this.pinnedStart.length - 1]\n );\n\n addStyleSheet(\n `${this.tableId}-col-start-active-style`,\n /* css */ `\n #${this.tableId} tr > :nth-child(${lastActiveCol.idx + 1}) {\n --pin-start-active: 1;\n }\n `\n );\n } else {\n this.tableEle.classList.remove(`${CSSNAMESPACE}__pinned--start`);\n addStyleSheet(`${this.tableId}-col-start-active-style`, ``);\n }\n });\n }\n\n private get pinnedEnd() {\n return this._pinnedEnd;\n }\n private set pinnedEnd(cols: HTMLElement[]) {\n this._pinnedEnd = cols;\n this.handlePinnedEndChange();\n }\n private _pinnedEnd: HTMLElement[] = [];\n\n /**\n * Called when columns are either pinned or unpinned.\n * Attaches a tiny stylesheet to target the 'first' end column.\n * (e.g. We only want to apply drop shadow on first pinned end column - not all pinned columns)\n */\n private handlePinnedEndChange() {\n writeTask(() => {\n if (this.pinnedEnd.length) {\n this.tableEle.classList.add(`${CSSNAMESPACE}__pinned--end`);\n const firstActiveCol = this.cachedColMeta.get(this.pinnedEnd[0]);\n\n addStyleSheet(\n `${this.tableId}-col-end-active-style`,\n /* css */ `\n #${this.tableId} tr > :nth-child(${\n firstActiveCol.idx + 1\n }) { --pin-end-active: 1; }\n `\n );\n } else {\n this.tableEle.classList.remove(`${CSSNAMESPACE}__pinned--end`);\n addStyleSheet(`${this.tableId}-col-end-active-style`, ``);\n }\n });\n }\n\n private get cssColDimensionCacheKey() {\n return this._cssColDimensionCacheKey;\n }\n private set cssColDimensionCacheKey(key: string) {\n if (key === this._cssColDimensionCacheKey) return;\n this._cssColDimensionCacheKey = key;\n this.createPinnedColDimensionStyles();\n }\n private _cssColDimensionCacheKey: string = '';\n\n /**\n * To only generate column dimension styles when necessary we\n * maintain a cache key string via serialised column meta.\n * Only when this key changes do we generate a new stylesheet\n */\n private generateCssCacheKey() {\n let key = '';\n for (const col of this.startColumns) {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n key += `${colMeta.idx}-start-${colMeta.width}`;\n }\n for (const col of this.endColumns) {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n key += `${colMeta.idx}-start-${colMeta.width}`;\n }\n this.cssColDimensionCacheKey = key;\n }\n\n /**\n * Generates pinned column width offset styles\n * so pinned columns can appear stuck together,\n * then attaches a stylesheet.\n */\n private createPinnedColDimensionStyles() {\n let widthS = 0;\n let widthE = 0;\n const startCols = Array.from(this.startColumns);\n const endCols = Array.from(this.endColumns).reverse();\n\n const css = /* css */ `\n ${startCols\n .map((col) => {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n widthS += colMeta.width - 1 || -1;\n return /* css */ `\n #${this.tableId} tr > :nth-child(${colMeta.idx + 1}) ~ td,\n #${this.tableId} tr > :nth-child(${colMeta.idx + 1}) ~ th {\n --pin-start: ${widthS - 1}px;\n }\n `;\n })\n .join('')}\n ${endCols\n .map((col) => {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n widthE += colMeta.width - 1 || -1;\n return /* css */ `\n #${this.tableId} tr > td:has(~ :nth-child(${colMeta.idx + 1})),\n #${this.tableId} tr > th:has(~ :nth-child(${colMeta.idx + 1})) {\n --pin-end: ${widthE - 1}px;\n }\n `;\n })\n .join('')}\n `;\n addStyleSheet(`${this.tableId}-dimension-style`, css);\n }\n\n private getParentOffsets() {\n const { x, y } = this.scrollElement.getBoundingClientRect();\n\n let offsetX = x;\n let offsetY = y;\n\n if (this.scrollElement === document.documentElement) {\n offsetX = this.scrollElement.offsetLeft;\n offsetY = this.scrollElement.offsetTop;\n }\n return { offsetX, offsetY };\n }\n\n /**\n * Loops through all 'top' & 'bottom' rows (on scroll or resize)\n * Manages their visual state by applying classes on stuck / unstuck\n * And their pinned offset / distance\n */\n public assessRows() {\n if (!this.topRows.length && !this.bottomRows.length) return;\n\n // top rows\n if (this.topRows.length) {\n readTask(async () => {\n let heightAggregate = 0;\n let cacheParent: HTMLElement;\n const { offsetY } = this.getParentOffsets();\n\n for (const topRow of this.topRows) {\n const { y, height } = topRow.getBoundingClientRect();\n const currParent = topRow.parentElement;\n // we'll use the applied `--pin-top` css var to decide row offset.\n // This allows devs to override this behaviour through selector specificity\n const pinTop = getComputedStyle(topRow).getPropertyValue('--pin-top');\n const offset = pinTop !== '' ? parseFloat(pinTop) : heightAggregate;\n\n // we need to wait for the row to finish sticking\n // and generating it's offset (`--pin-top`) so we can see, on\n // subsequent rows *if* the offset was applied\n writeTask(() => {\n if (y - offsetY <= offset) {\n topRow.classList.add(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--top`\n );\n } else {\n topRow.classList.remove(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--top`\n );\n }\n\n // by default, we only want to stick one row from each parental block (thead, tbody, tfoot)\n // so only aggregate height / offset when cacheParent is different from current parent.\n // Devs can override this behaviour by manually setting `--pin-bottom` on the table row\n if (cacheParent !== currParent) {\n currParent.style.setProperty(\n '--pin-top',\n `${heightAggregate - 1}px`\n );\n heightAggregate += height - 1;\n cacheParent = currParent;\n }\n });\n }\n });\n }\n\n // bottom rows\n if (this.bottomRows.length) {\n const bottomRows = Array.from(this.bottomRows).reverse();\n readTask(async () => {\n let cacheParent: HTMLElement;\n let heightAggregate = 0;\n const { offsetY } = this.getParentOffsets();\n\n for (const bottomRow of bottomRows) {\n if (!bottomRow.isConnected) continue;\n\n const { y, height } = bottomRow.getBoundingClientRect();\n const currParent = bottomRow.parentElement;\n // we'll use the applied `--pin-bottom` css var to decide row offset.\n // This allows devs to override this behaviour through selector specificity\n const pinBottom =\n getComputedStyle(bottomRow).getPropertyValue('--pin-bottom');\n const offset =\n pinBottom !== '' ? parseFloat(pinBottom) : heightAggregate;\n\n // we need to wait for the row to finish sticking\n // and generating it's offset (`--pin-bottom`) to we can see, on\n // subsequent rows *if* the offset was applied\n await new Promise<void>((resolve) =>\n writeTask(() => {\n if (this.tableDims.height + offsetY - (y + height) <= offset) {\n bottomRow.classList.add(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--bottom`\n );\n } else {\n bottomRow.classList.remove(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--bottom`\n );\n }\n\n // by default, we only want to stick one row from each parental block (thead, tbody, tfoot)\n // so only aggregate height / offset when cacheParent is different from current parent.\n // Devs can override this behaviour by manually setting `--pin-bottom` on the table row\n if (cacheParent !== currParent) {\n currParent.style.setProperty(\n '--pin-bottom',\n `${heightAggregate - 1}px`\n );\n heightAggregate += height - 1;\n cacheParent = currParent;\n }\n resolve();\n })\n );\n }\n });\n }\n }\n\n /**\n * Loops through all 'start' & 'end' columns (on scroll or resize)\n * Caches meta about each column (e.g. size, position-index)\n * and decides which columns are pinned\n */\n public async assessCols() {\n if (!this.startColumns.length && !this.endColumns.length) return;\n\n let boundBox: DOMRect;\n let currPinned: HTMLElement;\n let parentEles: Element[];\n\n const done = new Promise<void>((resolve) => {\n // start cols\n if (this.startColumns.length) {\n readTask(() => {\n const { offsetX } = this.getParentOffsets();\n // cumulatively add widths of columns together\n // 'cos columns stick together\n let widthAggregate = offsetX;\n parentEles = Array.from(this.startColumns[0].parentElement.children);\n\n for (const startCol of this.startColumns) {\n boundBox = startCol.getBoundingClientRect();\n // cache meta for later\n this.cachedColMeta.set(startCol as HTMLElement, {\n width: boundBox.width,\n idx: parentEles.indexOf(startCol),\n });\n\n currPinned = this.pinnedStart.find((c) => c === startCol);\n if (boundBox.x < widthAggregate) {\n // this column is pinned\n if (!currPinned)\n this.pinnedStart = [\n ...this.pinnedStart,\n startCol as HTMLElement,\n ];\n } else if (currPinned) {\n // this column is unpinned\n this.pinnedStart = this.pinnedStart.filter((c) => c !== startCol);\n }\n widthAggregate += boundBox.width;\n }\n if (!this.endColumns.length) resolve();\n });\n }\n\n // end cols\n if (this.endColumns.length) {\n readTask(() => {\n const endCols = Array.from(this.endColumns).reverse();\n parentEles = Array.from(this.endColumns[0].parentElement.children);\n const { offsetX } = this.getParentOffsets();\n // cumulatively add widths of columns together\n // 'cos columns stick together\n let widthAggregate = 0;\n\n for (const endCol of endCols) {\n boundBox = endCol.getBoundingClientRect();\n // cache meta for later\n this.cachedColMeta.set(endCol as HTMLElement, {\n width: boundBox.width,\n idx: parentEles.indexOf(endCol),\n });\n\n currPinned = this.pinnedEnd.find((c) => c === endCol);\n if (\n this.tableDims.width + offsetX - boundBox.right <=\n widthAggregate\n ) {\n // this column is pinned\n if (!currPinned)\n this.pinnedEnd = [endCol as HTMLElement, ...this.pinnedEnd];\n } else if (currPinned) {\n // this column is unpinned\n this.pinnedEnd = this.pinnedEnd.filter((c) => c !== endCol);\n }\n widthAggregate += boundBox.width;\n }\n resolve();\n });\n }\n });\n\n await done;\n // potentially generate a new css stylesheet if anything changed\n this.generateCssCacheKey();\n }\n\n private cacheX = 0;\n private cacheY = 0;\n\n public onScroll(pos: { x: number; y: number }) {\n if (this.cacheX !== pos.x) {\n this.cacheX = pos.x;\n this.assessCols();\n }\n if (this.cacheY !== pos.y) {\n this.cacheY = pos.y;\n this.assessRows();\n }\n }\n\n public onResize() {\n const width = this.scrollElement.clientWidth;\n const height = this.scrollElement.clientHeight;\n\n this.tableDims = { width, height };\n this.assessCols();\n this.assessRows();\n }\n}\n","@use '../../global/style/utilities/mixins' as mx;\n@use '../../global/style/nano-theme/tokens/form' as f;\n\n.nano-table {\n /**\n * @prop --max-col-width: Default 200px;\n\n * @prop --color: Deafults to var(--nano-color-mediumgrey, #68767e);\n * @prop --font-size: Deafults to 0.87rem;\n * @prop --cell-line-height: Deafults to 1.5;\n\n * @prop --border-color: Deafults to var(--nano-color-palegrey, #b5aea7);\n * @prop --border-style: Deafults to thin solid var(--border-color);\n * @prop --border-tint-color: Deafults to var(--nano-color-blue, #90c6e7);\n * @prop --border-tint-style: Deafults to 2px solid var(--border-tint-color);\n\n * @prop --cell-bg-rgb: Deafults to var(--nano-color-white-rgb, 255 255 255);\n * @prop --head-bg-rgb: Deafults to var(--cell-bg-rgb);\n * @prop --foot-bg-rgb: Deafults to var(--cell-bg-rgb);\n * @prop --th-row-bg-rgb: Deafults to var(--cell-bg-rgb);\n * @prop --ordered-bg-rgb: Deafults to var(--nano-color-offwhite-rgb, 249 249 251);\n\n * @prop --td-padding-start: Deafults to 0.625rem;\n * @prop --td-padding-end: Deafults to 0.625rem;\n * @prop --td-padding-top: Deafults to 0.5rem;\n * @prop --td-padding-bottom: Deafults to 0.4125rem;\n\n * @prop --th-padding-start: Deafults to 0.625rem;\n * @prop --th-padding-end: Deafults to 0.625rem;\n * @prop --th-padding-top: Deafults to 0.875rem;\n * @prop --th-padding-bottom: Deafults to 0.6875rem;\n\n * @prop --td-padding-v: Deafults to var(--td-padding-top) var(--td-padding-bottom);\n * @prop --td-padding-h: Deafults to var(--td-padding-start) var(--td-padding-end);\n\n * @prop --th-padding-v: Deafults to var(--th-padding-top) var(--th-padding-bottom);\n * @prop --th-padding-h: Deafults to var(--th-padding-start) var(--th-padding-end);\n\n * @prop --foot-th-padding-v: Deafults to var(--td-padding-top) var(--td-padding-bottom);\n * @prop --foot-th-padding-h: Deafults to var(--td-padding-start) var(--td-padding-end);\n\n * @prop --head-th-padding-v: Deafults to var(--th-padding-top) var(--th-padding-bottom);\n * @prop --head-th-padding-h: Deafults to var(--th-padding-start) var(--th-padding-end);\n\n * @prop --bookend-col-padding: Deafults to 2rem;\n */\n\n display: block;\n inline-size: 100%;\n\n // general\n --max-col-width: clamp(200px, 500px, 50vw);\n\n // text\n --color: var(--nano-color-mediumgrey, #68767e);\n --font-size: 0.87rem;\n --cell-line-height: 1.5;\n --thead-font-size: 0.95rem;\n --thead-color: #455560;\n --tfoot-color: #455560;\n\n // borders\n --border-color: #dddbda;\n --border-style: thin solid var(--border-color);\n --border-tint-color: #0084a9;\n --border-tint-style: 3px solid var(--border-tint-color);\n\n // backgrounds\n --cell-bg-rgb: var(--nano-color-white-rgb, 255 255 255);\n --head-bg-rgb: 250 250 249;\n --foot-bg-rgb: var(--head-bg-rgb);\n --th-row-bg-rgb: var(--cell-bg-rgb);\n --ordered-bg-rgb: var(--nano-color-offwhite-rgb, 249 249 251);\n\n // spacing\n --td-padding-start: 0.625rem;\n --td-padding-end: 0.625rem;\n --td-padding-top: 0.6rem;\n --td-padding-bottom: 0.6125rem;\n --th-padding-start: 0.725rem;\n --th-padding-end: 0.625rem;\n --th-padding-top: 0.875rem;\n --th-padding-bottom: 0.6875rem;\n --td-padding-v: var(--td-padding-top) var(--td-padding-bottom);\n --td-padding-h: var(--td-padding-start) var(--td-padding-end);\n --th-padding-v: var(--th-padding-top) var(--th-padding-bottom);\n --th-padding-h: var(--th-padding-start) var(--th-padding-end);\n --foot-th-padding-v: var(--td-padding-top) var(--td-padding-bottom);\n --foot-th-padding-h: var(--td-padding-start) var(--td-padding-end);\n --head-th-padding-v: var(--th-padding-top) var(--th-padding-bottom);\n --head-th-padding-h: var(--th-padding-start) var(--th-padding-end);\n --bookend-col-padding: 2rem;\n}\n\n.nano-tbl {\n $base: &;\n\n color: var(--color);\n text-align: start;\n inline-size: 100%;\n font-size: var(--font-size);\n border-spacing: 0 0;\n border-collapse: separate;\n background: rgb(var(--cell-bg-rgb));\n border-inline-end: 1px solid transparent;\n border-block-start: 1px solid transparent;\n position: relative;\n z-index: 1;\n\n &__wrap {\n display: table;\n min-inline-size: 100%;\n // container-type: inline-size;\n }\n\n &__top-anchor {\n @include mx.visually-hide;\n\n position: relative;\n }\n\n &__ordered {\n background-color: var(--ordered-bg);\n border-inline-start: var(--border-style);\n border-inline-end: var(--border-style);\n }\n\n &__order-btn {\n padding: 0;\n border: none;\n outline: none;\n font: inherit;\n background: none;\n appearance: none;\n color: inherit;\n display: flex;\n gap: 10px;\n align-items: center;\n inline-size: 100%;\n\n &:focus-visible {\n outline: none;\n box-shadow: #{f.$control-focus-style} inset;\n }\n }\n\n &__status-icons {\n margin-inline: auto 10px;\n display: flex;\n gap: 10px;\n }\n\n &__progress-bar {\n font-size: 0.2rem;\n position: sticky;\n inset-block-start: 0;\n inset-inline: 0;\n z-index: 10;\n transition: scale 0.25s;\n transform: scale(0);\n inline-size: 100%;\n block-size: 0;\n\n &--show {\n transform: scale(1);\n block-size: auto;\n }\n }\n\n &__caption {\n &--hide {\n @include mx.visually-hide;\n }\n }\n\n // Shared styles in th, td across thead / tbody / tfoot\n\n &__td,\n &__th {\n line-height: var(--cell-line-height);\n text-align: start;\n border-block-start: var(--border-style);\n max-inline-size: var(--max-col-width);\n background-color: rgb(var(--cell-bg-rgb));\n\n // @container (min-width: 700px) {\n // color: red !important;\n // }\n\n tbody:first-of-type tr:first-child & {\n border-block-start: none;\n }\n\n tbody:last-of-type tr:last-child & {\n border-block-end: var(--border-style);\n }\n\n // 'bookend' (larger) padding on larger screens\n .md & {\n &:first-child #{$base}__cell-content {\n padding-inline-start: var(--bookend-col-padding);\n }\n\n &:last-child #{$base}__cell-content {\n padding-inline-end: var(--bookend-col-padding);\n }\n }\n\n // force override of bookend on small screens css media\n // queries are faster than the breakpoints from `nano-resize-observer`\n @include mx.media-breakpoint-down('md') {\n &:first-child #{$base}__cell-content {\n padding-inline-start: var(--td-padding-start) !important;\n }\n\n &:last-child #{$base}__cell-content {\n padding-inline-end: var(--td-padding-end) !important;\n }\n }\n\n thead & {\n color: var(--thead-color);\n font-weight: 800;\n background: rgb(var(--head-bg-rgb) / 100%);\n font-size: var(--thead-font-size);\n border-block-start: none !important;\n\n #{$base}__cell-content {\n padding-block: var(--head-th-padding-v);\n padding-inline: var(--head-th-padding-h);\n }\n\n .nano-sortable__keyboard-handle {\n position: absolute;\n inset-inline-end: 5px;\n inset-block-start: 50%;\n transform: translateY(-50%);\n background: white;\n z-index: 10;\n }\n }\n\n tfoot & {\n color: var(--tfoot-color);\n font-weight: 800;\n border-block-start: none;\n background: rgb(var(--foot-bg-rgb) / 100%);\n font-size: var(--thead-font-size);\n\n #{$base}__cell-content {\n padding-block: var(--foot-th-padding-v);\n padding-inline: var(--foot-th-padding-h);\n }\n }\n\n &.nano-tbl__ordered {\n background-color: rgb(var(--ordered-bg-rgb) / 80%) !important;\n }\n }\n\n &__cell-content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding-block: var(--td-padding-v);\n padding-inline: var(--td-padding-h);\n\n &--no-result {\n padding-block: 2rem;\n }\n\n &--wrap {\n white-space: normal;\n overflow: visible;\n }\n }\n\n tbody {\n will-change: scroll-position;\n opacity: 1;\n transition: 0.1s ease opacity;\n\n &#{$base}__loading {\n z-index: -1;\n position: relative;\n }\n\n &#{$base}__inactive {\n opacity: 0;\n }\n #{$base}__tr:has(~ #{$base}__tr--placeholder) {\n display: none;\n }\n #{$base}__tr--placeholder ~ #{$base}__tr {\n display: none;\n }\n }\n\n // tbody th\n\n th[scope='row'] {\n font-weight: 800;\n margin: 0;\n }\n\n // pinned styles\n\n &__tr {\n --base-z: 0;\n }\n\n &__pin {\n $pin: &;\n\n z-index: var(--z, var(--base-z, 0));\n\n #{$base}__th, #{$base}__td {\n z-index: var(--z, var(--base-z, 0));\n }\n\n // Pinned start columns\n // Base: table ... tr > th.__pin--start, td.__pin--start\n // Pinned: table.__pinned--start ... tr > th.__pin--end, td.__pin--start\n\n &--start {\n // base styles\n position: sticky;\n inset-inline-start: var(--pin-start, -1px);\n // transition: max-width 0.25s ease;\n\n &::after {\n // Perf: Box shadow applied on pseudo element\n // and hidden / shown > than applying new box shadow on the fly\n\n content: '';\n position: absolute;\n inset: 0;\n box-shadow: 5px 0 4px -1px rgb(0 0 0 / 20%);\n opacity: var(--pin-start-active, 0);\n z-index: -1;\n }\n\n // pinned styles\n #{$base}__pinned--start & {\n // max-width: 125px !important;\n --z: calc(var(--base-z) + 3) !important;\n\n // .sm & {\n // max-width: var(--max-col-width) !important;\n // }\n }\n }\n\n // Pinned end columns\n // Base: table ... tr > th.__pin--end, td.__pin--end\n // Pinned: table.__pinned--end ... tr > th.__pin--end, td.__pin--end\n\n &--end {\n // base styles\n position: sticky;\n\n // Pinned end columns are deactivated on smaller screens\n #{$base}__pin--start + & {\n inset-inline-end: auto !important;\n\n &::after {\n display: none;\n }\n }\n\n // Breakpoint for larger screens\n .sm & {\n // base styles\n inset-inline-end: var(--pin-end, -1px);\n max-inline-size: min(50vw, 200px);\n\n &::after {\n // Perf: Box shadow applied on pseudo element\n // and hidden / shown > than applying new box shadow on the fly\n\n display: block !important;\n content: '';\n position: absolute;\n inset: 0;\n box-shadow: -5px 1px 4px -1px rgb(0 0 0 / 20%);\n opacity: var(--pin-end-active, 0);\n z-index: -1;\n }\n }\n\n // pinned styles\n #{$base}__pinned--end & {\n .sm & {\n --z: calc(var(--base-z) + 2) !important;\n }\n }\n }\n\n // Pinned top rows\n // Base: table ... tr.__pin--top\n // Pinned: table ... tr.__pin--top.__pinned--top\n\n &--top {\n // base styles\n #{$base}__th, #{$base}__td {\n position: sticky;\n inset-block-start: var(--pin-top, -1px);\n }\n\n #{$base}__pin--end, #{$base}__pin--start {\n --z: calc(var(--base-z) + 1);\n }\n\n // pinned styles\n &#{$base}__pinned--top {\n --base-z: 4;\n }\n\n // tbody pinned styles\n tbody & {\n &#{$base}__pinned--top {\n #{$base}__th, #{$base}__td {\n box-shadow: 1px 3px 4px -1px rgb(0 0 0 / 10%);\n }\n }\n }\n }\n\n // Pinned bottom rows\n // Base: table ... tr.__pin--bottom\n // Pinned: table ... tr.__pin--bottom.__pinned--bottom\n\n &--bottom {\n // base styles\n #{$base}__th, #{$base}__td {\n position: sticky;\n inset-block-end: var(--pin-bottom, -1px);\n }\n\n #{$base}__pin--end, #{$base}__pin--start {\n --z: calc(var(--base-z) + 1);\n }\n\n // pinned styles\n &#{$base}__pinned--bottom {\n --base-z: 5;\n\n // for pinned bottom rows, we want the first to be overlaid on-top of later rows\n &:has(~ &) {\n #{$base}__pin {\n --base-z: 6;\n }\n }\n }\n\n // tbody pinned styles\n tbody & {\n &#{$base}__pinned--bottom {\n #{$base}__th, #{$base}__td {\n box-shadow: 1px -3px 4px -1px rgb(0 0 0 / 7%);\n }\n }\n }\n }\n }\n // end pinned styles\n\n thead tr:last-of-type {\n td,\n th {\n border-block-end: var(--border-tint-style);\n }\n }\n\n tfoot tr:first-of-type {\n td,\n th {\n border-block-start: none;\n }\n }\n\n tfoot tr:last-of-type {\n td,\n th {\n border-block-start: var(--border-style);\n border-block-end: var(--border-tint-style);\n }\n }\n\n tfoot tr.nano-tbl__pin--bottom {\n &:first-of-type {\n .nano-tbl__pinned--bottom & {\n td,\n th {\n border-block-start: var(--border-tint-style) !important;\n }\n }\n }\n\n &:last-of-type {\n .nano-tbl__pinned--bottom & {\n td,\n th {\n border-block-end: none !important;\n }\n }\n }\n }\n\n .unlimited-width {\n max-inline-size: none;\n }\n\n &__spinner {\n font-size: 1.5rem;\n transition: scale 0.25s;\n scale: 0;\n padding: 0.5rem;\n position: absolute;\n inset-block-end: 0;\n inset-inline-start: calc(50% - 0.75rem);\n z-index: 0;\n\n &--show {\n scale: 1;\n position: sticky;\n }\n }\n\n .nano-skeleton {\n line-height: var(--cell-line-height);\n }\n}\n","import {\n Component,\n Prop,\n ComponentInterface,\n Element,\n Host,\n Watch,\n State,\n readTask,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { cyrb53 } from '../../utils/math';\nimport { debounce } from '../../utils/throttle';\nimport { findScrollParent } from '../../utils/scroll-parent';\nimport { TableColHead } from './table.header';\nimport { TableRow, TableHeadFootRow } from './table.row';\nimport { TableCell } from './table.cell';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n generateStore,\n storeSearch,\n storeSetConfig,\n storeSetData,\n storeSort,\n storeFilter,\n TableStores,\n} from './table.store';\nimport { isInViewport } from './table.utils';\nimport { TablePinService } from './table.pin-service';\nimport type { TableTypes } from './table-interface';\nimport type { ResizeStateChangeEventDetail } from '../resize-observe/resize-observe-interface';\nimport type { NanoResizeObserveCustomEvent } from '../../components';\n\nconst measurePerf = false;\n\nfunction perMark(name: string, end: boolean = false) {\n if (!performance || !measurePerf) return;\n if (end) {\n performance?.mark('end' + name);\n performance?.measure(name, 'start' + name, 'end' + name);\n const entries = performance?.getEntriesByName(name);\n console.info(entries[entries.length ? entries.length - 1 : 0]);\n } else {\n performance?.mark('start' + name);\n }\n}\n\nlet id = 0;\n/**\n * A performant, accessible and semantic (uses real html `<table />`, `<tr />` etc) table and data-grid solution.\n *\n *- Built-in search\n *- Built-in column filter\n *- Built-in column sort\n *- Easily swap in API / async based search / filter & sort\n *- Pin headers, footers, rows, columns\n *- Add custom rendering at every level\n *- Add custom properties at every level\n *\n * @slot caption - The table's caption. You must either use this or the `caption` attribute.\n * @slot no-results - text to display when search or filtering yields no results\n */\n@Component({\n tag: 'nano-table',\n styleUrl: 'table.scss',\n})\nexport class Table implements ComponentInterface {\n constructor() {\n this.debounceSetLoading = debounce(this.debounceSetLoading.bind(this), 50);\n }\n // Public API\n\n // Props\n\n /** Function called whenever `col.cellTemplate` renders an unknown object.\n * The function should render a valid HTMLElement to the cell arg.\n * Example usage - render JSX from a 3rd party lib and append the result to the cell element. */\n @Prop() customRenderer: (\n node: any,\n cell: HTMLElement | DocumentFragment\n ) => void | Promise<string>;\n\n /** The type of table. Grid type will make cells navigable by keyboard */\n @Prop() type: 'grid' | 'table' = 'table';\n\n /** A descriptive title of the table.\n * You must use this or the `slot=\"caption\"` for accessibility */\n @Prop() caption: string;\n\n /** Show the caption on-screen */\n @Prop() showCaption: boolean = false;\n\n /** Will show a loading state when set to true.\n * By default, will be shown automatically if `rows` is a promise waiting to resolve / or falsy\n * *or* when performing custom filtering or sorting.\n * *Note* when set manually, will overwrite any internal loading state.\n * Set to 'undefined' to revert to default behaviour. */\n @Prop() loading: boolean = undefined;\n\n get _loading() {\n return this.loading !== undefined ? this.loading : this.internalLoading;\n }\n set _loading(l: boolean) {\n if (this.loading !== undefined) return;\n this.debounceSetLoading(l);\n }\n private debounceSetLoading(l: boolean) {\n this.internalLoading = l;\n }\n @State() internalLoading = true;\n\n /** When loading rows asynchronously, this will render this number of placeholder rows */\n @Prop() placeholderSize = 5;\n\n /** The data to place in the table */\n @Prop() rows:\n | TableTypes.NanoTable['rows']\n | Promise<TableTypes.NanoTable['rows']>;\n\n @Watch('rows')\n handleRowsChange() {\n if (!this.rows) {\n this._loading = true;\n return;\n }\n\n this._loading = true;\n Promise.resolve(this.rows).then(async (rows) => {\n await storeSetData(this.host, rows);\n\n // reset everything\n this.currentFilters = '';\n this.currentSort = '';\n await this.columnInit();\n\n if (!this.isReady)\n requestAnimationFrame(() => this.setInitialBlockDimension());\n this._loading = false;\n if (this.tablePinnedService) this.tablePinnedService.assessRows();\n });\n }\n\n /** The column config used to present the rows of data */\n @Prop({ mutable: true }) columns: TableTypes.NanoTable<any>['columns'] = [];\n\n @Watch('columns')\n async handleColsChange() {\n await storeSetConfig(this.host, this.columns);\n if (this.isReady) this.columnInit();\n }\n\n /** Used for custom thead row rendering */\n @Prop() headRender: TableTypes.HeadFootRenderer = { pinned: 'top' };\n\n /** Used for custom row rendering */\n @Prop() rowRender: TableTypes.RowRenderer;\n\n /** Used for custom tfoot row rendering */\n @Prop() footRender: TableTypes.HeadFootRenderer = { pinned: 'bottom' };\n\n /** Whether to show a `<tfoot>` component */\n @Prop() showFooter = false;\n\n /** To improve performance, data is split into blocks\n * which are shown / hidden and rendered as they become visible.\n * Use this to control the number of hits within a block -\n * A block should fill a scrolling viewport.\n * The less perBlock the better for performance */\n @Prop() perBlock = 50;\n\n /** The number of total blocks currently rendered in the table. @readonly */\n @Prop()\n get blocksLength() {\n return this.blocks.length;\n }\n\n /** Term to search for in the data */\n @Prop() searchTerm: string;\n\n /** A custom filtering function. Should return a promise.\n * If the promise resolves as `true` the column UI will be updated.\n * If the promise resolves as falsy, the sort will be performed by the component.\n * A good use-case would be performing the filter on a server / via fetch.\n * Then on success, updating the table's data via the `rows` property */\n @Prop() customFilterFn?: (\n filters: TableTypes.Filter[]\n ) => Promise<true | TableTypes.Falsy>;\n\n /** A custom sorting function. Should return a promise.\n * If the promise resolves as `true` the column UI will be updated.\n * If the promise resolves as falsey, the sort will be performed by the component.\n * A good use-case would be performing the sort on a server / via fetch.\n * Then on success, updating the table's data via the `rows` property */\n @Prop() customSortFn?: (\n property: TableTypes.Prop,\n order: TableTypes.Order\n ) => Promise<true | TableTypes.Falsy>;\n\n /**\n * The default sortable option for all columns.\n * `true` will enable column sorting unless you set `sortable: false` on a column\n * `false` will disable column sorting unless you set `sortable: true` on a column\n */\n @Prop() defaultSort = true;\n\n @Watch('searchTerm')\n handleSearchTermChange() {\n this.searchStart();\n }\n\n /** Use this to render the table with roughly the correct dimensions.\n * a use-case might be; fetch a small initial dataset to minimise load-time,\n * render the table with the correct dimensions, the table becomes interactive,\n * load the rest of the data\n */\n @Prop() virtualTotalItems: number = 0;\n\n @Watch('virtualTotalItems')\n virtualTotalItemsChangeHandler() {\n this.setBlocks();\n }\n\n /** @readonly - shows the currently applied filters */\n @Prop()\n get appliedFilters() {\n return this.filters;\n }\n\n /** Fired when the table has done it's first complete render */\n @Event() nanoTblReady: EventEmitter;\n\n /** Fired whenever a block is activated by scrolling into view / becoming visible\n * This could be leveraged for infinite scrolling / to fetch more data.\n */\n @Event() nanoTblBlockRendered: EventEmitter<{\n block: number;\n totalBlocks: number;\n }>;\n\n /** Fired before a column is sorted.\n * `event.preventDefault()` to stop sorting. */\n @Event() nanoTblBeforeSort: EventEmitter<{\n column: TableTypes.Prop;\n order: TableTypes.Order;\n }>;\n\n /** Fired after a column is sorted */\n @Event() nanoTblAfterSort: EventEmitter<{\n column: TableTypes.Prop;\n order: TableTypes.Order;\n }>;\n\n /** Fired before a column is filtered.\n * `event.preventDefault()` to stop filtering. */\n @Event() nanoTblBeforeFilter: EventEmitter<{ filters: TableTypes.Filter[] }>;\n\n /** Fired after a column is sorted */\n @Event() nanoTblAfterFilter: EventEmitter<{ filters: TableTypes.Filter[] }>;\n\n /** Fired before a general search.\n * `event.preventDefault()` to stop searching. */\n @Event() nanoTblBeforeSearch: EventEmitter<{ term: string }>;\n\n /** Fired after a general / cross column search */\n @Event() nanoTblAfterSearch: EventEmitter<{ term: string }>;\n\n /** Fired before a general search.\n * `event.preventDefault()` to stop searching. */\n @Event() nanoTblBeforeEdit: EventEmitter<{ term: string }>;\n\n /** Remove any column sorts currently applied\n * @returns a promise which resolves when complete */\n @Method()\n async resetSorting() {\n const col = (this.columns as TableTypes.NanoTable['columns']).find(\n (c) => !!c.order\n );\n if (!col) return;\n return this.sortStart(null, col.prop);\n }\n\n /** Apply a sort on a column\n * @returns a promise which resolves when complete */\n @Method()\n async addSort(column: TableTypes.Prop, order: TableTypes.Order) {\n const col = (this.columns as TableTypes.NanoTable['columns']).find(\n (c) => c.prop === column\n );\n if (!col) throw new Error('Cannot find column with ' + column);\n return this.sortStart(order, col.prop);\n }\n\n /** Remove any column filters currently applied\n * @returns a promise which resolves when complete */\n @Method()\n async resetFilters() {\n this.filters = [];\n return this.filterStart();\n }\n\n /** Apply a filter on a column\n * @param filters - the filters to apply\n * @param additive - if true, will add the filters to any currently applied\n * @returns a promise which resolves when complete\n */\n @Method()\n async addFilters(filters: TableTypes.Filter[], additive: boolean = true) {\n if (!additive) this.filters = [];\n return this.filterStart(filters, additive);\n }\n\n /** Remove filters from a column\n * @param columnNames - the filters to apply\n * @returns a promise which resolves when complete\n */\n @Method()\n async removeFilters(columnNames: TableTypes.Prop[]) {\n this.filters = this.filters.filter((f) => !columnNames.includes(f.prop));\n return this.filterStart();\n }\n\n /** Updates a row model at a given index\n * @param row - the row to update.\n * @param rowIndex - the row index to insert this row\n */\n @Method()\n async updateRow(row: TableTypes.RowData, rowIndex: number) {\n (this.rows as TableTypes.NanoTable['rows']).splice(rowIndex, 1, row);\n this.handleRowsChange();\n }\n\n // TODO.\n // change this.rows to be a Map instead?\n // this will allow 'padding' < inserting row data at a non-adjacent index\n\n // /**\n // * During pagination or infinite scroll\n // * you may not always want to load data in serial order.\n // * This method allows you to insert a block of results at a particular index.\n // * Use in-conjunction with `virtualTotalItems`\n // * @param blockIndex - where to insert\n // * @param rows - what to insert\n // */\n // @Method()\n // async insertBlock(blockIndex: number, rows: TableTypes.NanoTable['rows']) {\n // this.pauseAutoBlockAssign = true;\n // const cRows = (this.rows as TableTypes.NanoTable['rows']);\n\n // if (cRows.length < (blockIndex * this.perBlock)) {\n // (this.rows as TableTypes.NanoTable['rows'])\n // }\n\n // (this.rows as TableTypes.NanoTable['rows']).splice((blockIndex * this.perBlock)-1, 0, ...rows);\n\n // console.log(this.rows)\n // debugger;\n\n // await this.handleRowsChange(this.rows);\n // this.blocks[blockIndex] = {rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join())};\n // this.blocks = this.blocks;\n // this.pauseAutoBlockAssign = true;\n\n // console.log(this.rows, this.blocks)\n // }\n\n // Private State\n\n @Element() host: HTMLNanoTableElement;\n private renderId = 'tbl-' + id++;\n private store: TableStores;\n private filters: TableTypes.Filter[] = [];\n private currentFilters = '[]';\n private currentSort = '';\n private tableEle: HTMLTableElement;\n private topAnchorEle: HTMLElement;\n private tableWrapperEle: HTMLElement;\n private activeWatcherIo: IntersectionObserver;\n private tablePinnedService: TablePinService;\n\n // Block view management\n\n /** `tr` elements split into units - defined by `perBlock`\n These are show / hidden for perf */\n @State() blocks: TableTypes.TBody[] = [];\n @State() activeBlocks: number[] = [0, 1];\n\n private measureHeight = 0;\n private blockElements: HTMLTableSectionElement[];\n private blockHeights: { blockIndex: number; height: number }[] = [];\n\n // uses the first 'tr' of an active block as our yard stick\n private set measureEle(el: HTMLTableSectionElement) {\n if (!el) return;\n const potentialHeight = el.getBoundingClientRect().height;\n this.measureHeight =\n Math.abs(this.measureHeight - potentialHeight) < 5\n ? this.measureHeight\n : potentialHeight;\n this.unitHeight =\n el.querySelector('tr')?.getBoundingClientRect().height || this.unitHeight;\n }\n\n private unitHeight = 0;\n\n private get scrollParent() {\n return this._scrollParent;\n }\n\n private set scrollParent(ele: HTMLElement) {\n if (ele === this._scrollParent) return;\n\n if (this._scrollParent) {\n (this._scrollParent === document.documentElement\n ? document\n : this._scrollParent\n ).removeEventListener('scroll', this.scrollHandler);\n }\n (ele === document.documentElement ? document : ele).addEventListener(\n 'scroll',\n this.scrollHandler\n );\n this._scrollParent = ele;\n }\n\n private _scrollParent: HTMLElement;\n\n // used to fire `nanoTblBlockRendered` on block render change\n private get primaryBlockIndex() {\n return this._primaryBlockIndex;\n }\n\n private set primaryBlockIndex(blockIndex) {\n if (this._primaryBlockIndex === blockIndex) return;\n\n this._primaryBlockIndex = blockIndex;\n\n // fire block change event\n this.nanoTblBlockRendered.emit({\n block: blockIndex,\n totalBlocks: this.blockElements.length,\n });\n }\n\n private _primaryBlockIndex;\n\n // Misc.\n\n private get isReady() {\n return this._isReady;\n }\n private set isReady(ready: boolean) {\n if (ready === this._isReady) return;\n this._isReady = ready;\n if (this.isReady) requestAnimationFrame(() => this.handleReady());\n }\n private _isReady = false;\n\n // Private Logic\n\n // Listeners\n\n private handleReady() {\n const hash = window.location.hash;\n if (hash.length > 1) {\n try {\n const idRow = document.querySelector(hash);\n if (idRow) idRow.scrollIntoView();\n // eslint-disable-next-line no-empty\n } catch (_e) {}\n }\n this.nanoTblReady.emit();\n }\n\n /**\n * Start a sort - can be cancelled by `preventDefault`\n * @param order - column order\n * @param column - column config object\n * @returns A promise\n */\n private sortStart = async (\n order: TableTypes.Order,\n column: TableTypes.Prop,\n element?: HTMLElement\n ) => {\n // did order change?\n if (this.currentSort === order + ':' + column) return;\n\n this._loading = true;\n const sortEvent = this.nanoTblBeforeSort.emit({ column: column, order });\n if (sortEvent.defaultPrevented) return;\n perMark('sort');\n this.currentSort = order + ':' + column;\n\n // doesn't make sense to leave user in place for a sort\n this.scrollToTop(element);\n\n if (this.customSortFn) {\n try {\n const res = await this.customSortFn(column, order);\n\n // if the response is 'true', the custom sort did it's thing\n // handover to finish and stop loading state.\n // if response is falsey, carry on to do a FE sort\n if (res === true) {\n this.sortComplete(order, column);\n this._loading = false;\n return;\n }\n } catch (e) {\n // if response errored, stop loading state\n // clear current sort cache\n console.warn('custom sort failed', e);\n this.currentSort = '';\n this._loading = false;\n return;\n }\n }\n\n try {\n await storeSort(this.host, column, order);\n this.sortComplete(order, column);\n } catch (e) {\n console.warn('sort failed', e);\n this.currentSort = '';\n } finally {\n if (this.blocks.length) this._loading = false;\n }\n };\n\n /**\n * Complete a sort. Reflects the order to ui.\n * @param order - column order\n * @param column - column config object\n */\n private sortComplete(order: TableTypes.Order, column: TableTypes.Prop) {\n this.columns = this.columns.map((c) => {\n if (c.prop === column) return { ...c, order };\n return { ...c, order: null };\n });\n this.nanoTblAfterSort.emit({ column: column, order });\n perMark('sort', true);\n }\n\n private async searchStart() {\n this._loading = true;\n const sortEvent = this.nanoTblBeforeSearch.emit({ term: this.searchTerm });\n if (sortEvent.defaultPrevented) return;\n perMark('search');\n\n // doesn't make sense to leave user in place for a search\n this.scrollToTop();\n\n try {\n await storeSearch(this.host, this.searchTerm);\n this.nanoTblAfterSearch.emit({ term: this.searchTerm });\n perMark('search', true);\n } catch (e) {\n console.warn('search failed', e);\n } finally {\n this._loading = false;\n }\n }\n\n private async filterStart(\n filters?: TableTypes.Filter[],\n additive: boolean = true\n ) {\n if (filters) {\n if (additive) {\n this.filters = [\n ...this.filters.filter(\n (f) => !filters.find((ff) => ff.prop === f.prop)\n ),\n ...filters,\n ];\n } else {\n this.filters = filters;\n }\n }\n\n if (this.currentFilters === JSON.stringify(this.filters)) return;\n\n this._loading = true;\n const sortEvent = this.nanoTblBeforeFilter.emit({ filters: this.filters });\n if (sortEvent.defaultPrevented) return;\n perMark('filter');\n this.currentFilters = JSON.stringify(this.filters);\n\n // doesn't make sense to leave user in place for a search\n this.scrollToTop();\n\n if (this.customFilterFn) {\n try {\n const res = await this.customFilterFn(this.filters);\n\n // if the response is 'true', the custom filter did it's thing\n // handover to finish and stop loading state.\n // if response is falsy, carry on to do a FE filter\n if (res === true) {\n await this.filterComplete();\n this._loading = false;\n return;\n }\n } catch (e) {\n // if response errored, stop loading state\n // clear current sort cache\n console.warn('custom filter failed', e);\n this.currentFilters = '';\n this._loading = false;\n return;\n }\n }\n\n try {\n await this.filterComplete();\n } catch (e) {\n console.warn('filter failed', e);\n } finally {\n this._loading = false;\n }\n }\n\n private async filterComplete() {\n this.columns = this.columns.map((c) => {\n const cFilter = this.filters.find((f) => f.prop === c.prop);\n // if we found a filter AND\n // it isn't true / false and has a length OR\n // it is true or false\n if (\n cFilter &&\n ((typeof cFilter.filter !== 'boolean' && cFilter.filter.length) ||\n typeof cFilter.filter === 'boolean')\n )\n c.filter = cFilter.filter;\n // if a filter value is not set OR\n // it isn't true / false and has no length\n else if (\n (c.filter !== null && c.filter !== undefined) ||\n (!!c.filter && typeof c.filter !== 'boolean' && !c.filter.length)\n )\n c.filter = undefined;\n\n return c;\n });\n await storeFilter(this.host, this.filters);\n this.nanoTblAfterFilter.emit({ filters: this.filters });\n perMark('filter', true);\n }\n\n /** Scrolls to the top immediately - used whilst sorting / filtering */\n private scrollToTop(element?: HTMLElement) {\n const scrollBehaviour = this.scrollParent.style?.scrollBehavior;\n const scrollX = this.scrollParent.scrollLeft;\n this.scrollParent.style.scrollBehavior = 'auto';\n\n if (this.topAnchorEle && !isInViewport(this.topAnchorEle, 0.1)) {\n this.host.scrollIntoView();\n }\n if (element && !isInViewport(element, 1))\n setTimeout(() => element.scrollIntoView({ block: 'start' }), 500);\n\n if (scrollX) this.scrollParent.scrollLeft = scrollX;\n\n if (scrollBehaviour)\n this.scrollParent.style.scrollBehavior = scrollBehaviour;\n\n this.scrollHandler();\n }\n\n private setMeasureElement(): Promise<void> {\n return new Promise((resolve) => {\n readTask(() => {\n this.measureEle = this.blockElements.find(\n (b) => !b?.classList?.contains(`${CSSNAMESPACE}__inactive`)\n );\n resolve();\n });\n });\n }\n\n /**\n * Makes sure we have dimensions on at least one, active tbody element.\n * We'll use this is a yard stick for inactive tbody elements in future.\n * These elements have no natural height (on account of all their rows being hidden)\n */\n private setInitialBlockDimension() {\n if (!this.blockElements?.length) return;\n perMark('blockDims');\n\n const testForDimensions = async () => {\n await this.setMeasureElement();\n if (this.unitHeight) return true;\n return false;\n };\n\n const dimensionsReady: Promise<void> = new Promise((resolve) => {\n testForDimensions().then(async (ready) => {\n if (ready) resolve();\n else {\n // it's likely this table is hidden in the dom.\n // we need to wait until it's visible\n const observer = new IntersectionObserver(\n async () => {\n if (await testForDimensions()) {\n resolve();\n observer.disconnect();\n }\n },\n { root: this.scrollParent }\n );\n observer.observe(this.tableEle);\n }\n });\n });\n\n // we're all finished.\n dimensionsReady.then(() => {\n perMark('blockDims', true);\n perMark('init', true);\n requestAnimationFrame(() => (this.isReady = true));\n });\n }\n\n /** Apply initial columns settings */\n private async columnInit() {\n this.filters = (this.columns as TableTypes.NanoTable['columns'])\n .filter((c) => c.filter !== undefined && c.filter !== null)\n .map((c) => {\n const { filter, prop } = c;\n return { prop, filter };\n });\n\n if (this.searchTerm) {\n await this.searchStart();\n }\n\n if (this.filters.length) {\n await this.filterStart();\n }\n // apply sort\n const col = (this.columns as TableTypes.NanoTable['columns']).find(\n (c) => !!c.order\n );\n if (col) {\n await this.sortStart(col.order, col.prop);\n }\n if (this.tablePinnedService) this.tablePinnedService.assessCols();\n }\n\n /** Split up all incoming rows into 'blocks' split amongst tbody elements.\n * These can then be hidden / shown to improve performance.\n */\n private setBlocks() {\n const dRows = this.store.data.state.rows;\n if (!dRows.length) {\n this.blocks = [];\n return;\n }\n\n perMark('setBlocks');\n // this.ignoreIO = true;\n let i = 1;\n const l =\n this.virtualTotalItems > dRows.length\n ? this.virtualTotalItems\n : dRows.length;\n let rows: TableTypes.RowData[] = [];\n const blocks: TableTypes.TBody[] = [];\n\n // old skool loop for perf\n for (i; i <= l; i++) {\n rows.push(this.store.data.state.rows[i - 1] || { __uuid: '' });\n\n if (i % this.perBlock === 0) {\n // assign a UUID for the whole block\n // for block diffing\n blocks.push({ rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join()) });\n rows = [];\n }\n }\n\n // any leftover rows\n if (rows.length) {\n blocks.push({ rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join()) });\n }\n\n this.blocks = blocks;\n perMark('setBlocks', true);\n }\n\n /**\n * Returns a block render height.\n * If it's currently active - let auto do it's thing\n * If we've rendered it before - return that\n * If all else fails, let's guess it\n * @param blockIndex\n * @returns a height string (incl px)\n */\n private getBlockHeight(blockIndex: number): number {\n if (this.blockHeights.length) {\n const cachedBlockHeight = this.blockHeights.find(\n (bh) => bh.blockIndex === blockIndex\n );\n if (cachedBlockHeight && cachedBlockHeight.height)\n return cachedBlockHeight.height;\n }\n const blockLength = this.blocks[blockIndex].rows.length;\n if (blockLength === this.perBlock && this.measureHeight) {\n return this.measureHeight;\n }\n return this.unitHeight ? this.unitHeight * blockLength : 100;\n }\n\n /** cache the height for all active blocks for later renders */\n private setBlockHeight() {\n this.activeBlocks.forEach((blockIndex) => {\n const el = this.blockElements[blockIndex];\n if (!el) return;\n\n readTask(() => {\n if (el.classList.contains(`${CSSNAMESPACE}__inactive`)) return;\n\n const height = el.getBoundingClientRect().height;\n // cache height to our block heights array\n // for subsequent renders\n const fBhIdx = this.blockHeights.findIndex(\n (bh) => bh.blockIndex === blockIndex\n );\n if (fBhIdx > -1) {\n this.blockHeights[fBhIdx] = { height, blockIndex };\n } else this.blockHeights.push({ height, blockIndex });\n });\n });\n }\n\n /**\n * On scroll, loop through all blocks' heights and cumulatively, add them together.\n * When we find that the scroll position is less than this cumulative block height -\n * stop loop - it's on the current active block.\n */\n private scrollHandler = () => {\n let scrollPos: number = 0;\n\n perMark('scrollHandler');\n // don't listen if this table isn't in the viewport\n if (!this.store?.general.state.isActive || !this.rows) return;\n if (this.primaryBlockIndex === undefined) this.primaryBlockIndex = 0;\n\n readTask(() => {\n scrollPos =\n typeof this.scrollParent.scrollTop !== 'undefined'\n ? this.scrollParent.scrollTop\n : window.scrollY;\n scrollPos += this.host.offsetTop;\n\n if (this.tablePinnedService) {\n this.tablePinnedService.onScroll({\n x:\n typeof this.scrollParent.scrollLeft !== 'undefined'\n ? this.scrollParent.scrollLeft\n : window.scrollX,\n y: scrollPos,\n });\n }\n\n let cumulativeHeight = this.host.offsetTop;\n let blockIndex = 0;\n const blockLen = this.blocks.length;\n\n while (blockIndex < blockLen && scrollPos >= cumulativeHeight) {\n cumulativeHeight += this.getBlockHeight(blockIndex);\n\n if (scrollPos < cumulativeHeight) {\n const potentialBlocks = [\n blockIndex,\n blockIndex + 1,\n // Math.max(0, blockIndex - 1),\n ];\n if (potentialBlocks.toString() !== this.activeBlocks.toString()) {\n this.activeBlocks = potentialBlocks;\n }\n this.primaryBlockIndex = blockIndex;\n }\n blockIndex++;\n }\n perMark('scrollHandler', true);\n });\n };\n\n /** Process slotted content */\n private processSlots() {\n // see if we have slot content\n if (!this.caption && !this.host.querySelector('[slot=\"caption\"]')) {\n console.error(\n 'For accessibility you must set a `caption` prop or use the `caption` slot'\n );\n }\n }\n\n private handleResizeChange = (\n e: NanoResizeObserveCustomEvent<ResizeStateChangeEventDetail>\n ) => {\n this.tableWrapperEle.className = '';\n\n let classes: string[] = [`${CSSNAMESPACE}__wrap`];\n if (e.target?.className)\n classes = [...e.target.className.split(' '), ...classes];\n\n this.tableWrapperEle.classList.add(...classes.filter((cl) => !!cl));\n };\n\n /** Adds an IO. Makes sure our scroll listener is only active when\n * the table is in viewport */\n private setupActiveWatcher() {\n if (!this.host || !this.scrollParent || !this.store) return;\n\n if (this.activeWatcherIo) {\n this.activeWatcherIo.disconnect();\n this.activeWatcherIo = undefined;\n }\n const io = (this.activeWatcherIo = new IntersectionObserver(\n ([e]) => {\n if (e.isIntersecting) this.store.general.state.isActive = true;\n else this.store.general.state.isActive = false;\n },\n { root: this.scrollParent, threshold: 0 }\n ));\n io.observe(this.host);\n }\n\n // Component lifecycle\n\n async componentWillLoad() {\n perMark('init');\n // setup stores\n this.store = await generateStore(\n this.host,\n this.columns,\n this.scrollParent,\n this.isReady\n );\n this.handleRowsChange();\n this.store.general.onChange('isActive', () => {\n this.scrollHandler();\n });\n this.store.data.onChange('rows', () => this.setBlocks());\n\n // setup dom and attach listeners\n this.processSlots();\n this.setBlocks();\n this.scrollParent = findScrollParent(this.host);\n this.setupActiveWatcher();\n }\n\n connectedCallback(): void {\n this.scrollParent = findScrollParent(this.host);\n this.setupActiveWatcher();\n }\n\n componentDidLoad(): void {\n this.setInitialBlockDimension();\n if (!this.tablePinnedService) {\n this.tablePinnedService = new TablePinService(\n this.tableEle,\n this.scrollParent\n );\n }\n }\n\n componentShouldUpdate(_newVal, _oldVal, stateName: keyof Table) {\n // stop double rendering - we use the store for rendering internally\n // the public facing props are kept in-sync with the store\n // but we don't want it to cause renders\n if (['rows', 'columns'].includes(stateName)) return false;\n\n if (measurePerf) console.info(stateName, _newVal, _oldVal);\n }\n\n componentWillRender(): void | Promise<void> {\n perMark('render');\n }\n\n componentDidRender(): void {\n this.setMeasureElement().then(() => this.setBlockHeight());\n perMark('render', true);\n }\n\n disconnectedCallback(): void {\n if (!this.activeWatcherIo) return;\n this.activeWatcherIo.disconnect();\n this.activeWatcherIo = undefined;\n\n (this.scrollParent === document.documentElement\n ? document\n : this.scrollParent\n ).removeEventListener('scroll', this.scrollHandler);\n }\n\n render() {\n this.blockElements = [];\n\n return (\n <Host class=\"nano-table\">\n <div\n class={`${CSSNAMESPACE}__top-anchor`}\n ref={(a) => (this.topAnchorEle = a)}\n >\n &nbsp;\n </div>\n\n <nano-resize-observe\n states=\"576w sm, 768w md\"\n class=\"sm md\"\n onNanoResizeStateChange={this.handleResizeChange}\n onNanoResize={() => {\n if (this.tablePinnedService) this.tablePinnedService.onResize();\n }}\n ></nano-resize-observe>\n\n <div\n class={`${CSSNAMESPACE}__wrap sm md`}\n ref={(div) => (this.tableWrapperEle = div)}\n aria-labelledby={'nano-table-caption-' + this.renderId}\n tabindex={this.type === 'grid' ? '0' : undefined}\n >\n <nano-progress-bar\n indeterminate\n class={{\n [`${CSSNAMESPACE}__progress-bar`]: true,\n [`${CSSNAMESPACE}__progress-bar--show`]: this._loading,\n }}\n />\n <table\n role={this.type === 'grid' ? 'grid' : undefined}\n aria-rowcount={this.store.data.state.rows.length}\n aria-colcount={this.store.config.state.columns.length}\n class={`${CSSNAMESPACE}`}\n ref={(tbl) => (this.tableEle = tbl)}\n id={'nano-table-' + this.renderId}\n >\n <caption\n class={{\n [`${CSSNAMESPACE}__caption`]: true,\n [`${CSSNAMESPACE}__caption--hide`]: !this.showCaption,\n }}\n id={'nano-table-caption-' + this.renderId}\n >\n <slot name=\"caption\">{this.caption}</slot>\n </caption>\n\n {/* Header */}\n <thead>\n <TableHeadFootRow rowRenderer={this.headRender}>\n {this.store.config.state.columns.map((colModel) => [\n <TableColHead\n column={colModel}\n headRenderer={this.headRender}\n onColumnSortClick={this.sortStart}\n defaults={{\n sortable: this.defaultSort,\n }}\n />,\n ])}\n </TableHeadFootRow>\n </thead>\n\n {this._loading && !this.blocks.length && (\n <tbody class={`${CSSNAMESPACE}__active ${CSSNAMESPACE}__loading`}>\n {[...Array(10).keys()].map((rowIndex) => (\n <tr>\n {this.store.config.state.columns.map(\n (_colModel, colIndex) => (\n <TableCell\n rowIndex={rowIndex}\n colIndex={colIndex}\n nestedContent={() => <nano-skeleton />}\n />\n )\n )}\n </tr>\n ))}\n </tbody>\n )}\n\n <tr hidden={!!this._loading || !!this.blocks.length}>\n <th\n class={`${CSSNAMESPACE}__th`}\n colSpan={this.store.config.state.columns.length}\n >\n <div class=\"nano-tbl__cell-content nano-tbl__cell-content--no-result\">\n <slot name=\"no-results\">No results found</slot>\n </div>\n </th>\n </tr>\n\n {/* Body */}\n {this.blocks.map((block, blockIndex) => (\n <tbody\n key={block.__uuid}\n id={`tbody-${this.renderId}-${blockIndex}`}\n ref={(tb) => {\n this.blockElements.push(tb);\n }}\n class={{\n [`${CSSNAMESPACE}__inactive`]:\n !this.activeBlocks.includes(blockIndex),\n [`${CSSNAMESPACE}__active`]:\n this.activeBlocks.includes(blockIndex),\n }}\n >\n {this.activeBlocks.includes(blockIndex) ? (\n block.rows.map((row, i) => {\n const rowIndex =\n blockIndex > 0 ? blockIndex * this.perBlock + i : i;\n return (\n <TableRow\n rowRenderer={this.rowRender}\n rowModel={row}\n rowIndex={rowIndex}\n >\n {this.store.config.state.columns.map(\n (_colModel, colIndex) => (\n <TableCell\n rowIndex={rowIndex}\n colIndex={colIndex}\n />\n )\n )}\n </TableRow>\n );\n })\n ) : (\n <tr class={`${CSSNAMESPACE}__tr--placeholder`}>\n <td\n colSpan={this.store.config.state.columns.length}\n style={{\n height: this.getBlockHeight(blockIndex) + 'px',\n }}\n />\n </tr>\n )}\n </tbody>\n ))}\n\n {/* Footer */}\n {this.showFooter && (\n <tfoot>\n <TableHeadFootRow rowRenderer={this.footRender}>\n {this.store.config.state.columns.map((colModel) => [\n <TableColHead\n column={colModel}\n headRenderer={this.footRender}\n onColumnSortClick={this.sortStart}\n defaults={{\n sortable: this.defaultSort,\n }}\n />,\n ])}\n </TableHeadFootRow>\n </tfoot>\n )}\n </table>\n\n {!!this.blocks.length && (\n <nano-spinner\n type=\"circle\"\n class={{\n [`${CSSNAMESPACE}__spinner`]: true,\n [`${CSSNAMESPACE}__spinner--show`]: this._loading,\n }}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- import{F as t,u as i,U as s}from"./nano-slides-2715825b.js";import"./index-6cc72cd9.js";import"./renderer-4bc3e2dc.js";function h(t){this.parent=t;this.parentElement=this.parent.element.shadowRoot||this.parent.element;this._create()}h.prototype=Object.create(s.prototype);h.prototype._create=function(){this.holder=document.createElement("ol");this.holder.className="flickity-page-dots";this.holder.part.add("pagination");this.dots=[];this.handleClick=this.onClick.bind(this);this.on("pointerDown",this.parent.childUIPointerDown.bind(this.parent))};h.prototype.activate=function(){this.setDots();this.holder.addEventListener("click",this.handleClick);this.bindStartEvent(this.holder);this.parentElement.appendChild(this.holder)};h.prototype.deactivate=function(){this.holder.removeEventListener("click",this.handleClick);this.unbindStartEvent(this.holder);this.parentElement.removeChild(this.holder)};h.prototype.setDots=function(){const t=this.parent.slides.length-this.dots.length;if(t>0){this.addDots(t)}else if(t<0){this.removeDots(-t)}};h.prototype.addDots=function(t){const i=document.createDocumentFragment();const s=[];const h=this.dots.length;const n=h+t;for(let t=h;t<n;t++){const h=document.createElement("li");h.classList.add("dot");h.part.add("pagination-item");h.setAttribute("aria-label","Page dot "+(t+1));i.appendChild(h);s.push(h)}this.holder.appendChild(i);this.dots=this.dots.concat(s)};h.prototype.removeDots=function(t){const i=this.dots.splice(this.dots.length-t,t);i.forEach((function(t){this.holder.removeChild(t)}),this)};h.prototype.updateSelected=function(){if(this.selectedDot){this.selectedDot.classList.remove("is-selected");this.selectedDot.part.remove("pagination-item--active");this.selectedDot.removeAttribute("aria-current")}if(!this.dots.length){return}this.selectedDot=this.dots[this.parent.selectedIndex];this.selectedDot.classList.add("is-selected");this.selectedDot.part.add("pagination-item--active");this.selectedDot.setAttribute("aria-current","step")};h.prototype.onTap=h.prototype.onClick=function(t){const i=t.target;if(i.nodeName!="LI"){return}this.parent.uiChange();const s=this.dots.indexOf(i);this.parent.select(s)};h.prototype.destroy=function(){this.deactivate();this.allOff()};t.PageDots=h;i.extend(t.defaults,{pageDots:true});t.createMethods.push("_createPageDots");const n=t.prototype;n._createPageDots=function(){if(!this.options.pageDots){return}this.pageDots=new h(this);this.on("activate",this.activatePageDots);this.on("select",this.updateSelectedPageDots);this.on("cellChange",this.updatePageDots);this.on("resize",this.updatePageDots);this.on("deactivate",this.deactivatePageDots)};n.activatePageDots=function(){this.pageDots.activate()};n.updateSelectedPageDots=function(){this.pageDots.updateSelected()};n.updatePageDots=function(){this.pageDots.setDots()};n.deactivatePageDots=function(){this.pageDots.deactivate()};t.PageDots=h;
5
- //# sourceMappingURL=page-dots-5b23db8c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["PageDots","parent","this","parentElement","element","shadowRoot","_create","prototype","Object","create","Unipointer","holder","document","createElement","className","part","add","dots","handleClick","onClick","bind","on","childUIPointerDown","activate","setDots","addEventListener","bindStartEvent","appendChild","deactivate","removeEventListener","unbindStartEvent","removeChild","delta","slides","length","addDots","removeDots","count","fragment","createDocumentFragment","newDots","max","i","dot","classList","setAttribute","push","concat","splice","forEach","updateSelected","selectedDot","remove","removeAttribute","selectedIndex","onTap","event","target","nodeName","uiChange","index","indexOf","select","destroy","allOff","Flickity","utils","extend","defaults","pageDots","createMethods","proto","_createPageDots","options","activatePageDots","updateSelectedPageDots","updatePageDots","deactivatePageDots"],"sources":["src/components/slides/lib/js/page-dots.ts"],"sourcesContent":["import Flickity from './flickity';\nimport { Unipointer } from './utils/gestures';\nimport { utils } from './utils/utils';\n\n// -------------------------- PageDots -------------------------- //\n\nfunction PageDots(parent) {\n this.parent = parent;\n this.parentElement = this.parent.element.shadowRoot || this.parent.element;\n this._create();\n}\n\nPageDots.prototype = Object.create(Unipointer.prototype);\n\nPageDots.prototype._create = function () {\n // create holder element\n this.holder = document.createElement('ol');\n this.holder.className = 'flickity-page-dots';\n this.holder.part.add('pagination');\n\n // create dots, array of elements\n this.dots = [];\n // events\n this.handleClick = this.onClick.bind(this);\n this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));\n};\n\nPageDots.prototype.activate = function () {\n this.setDots();\n this.holder.addEventListener('click', this.handleClick);\n this.bindStartEvent(this.holder);\n // add to DOM\n this.parentElement.appendChild(this.holder);\n};\n\nPageDots.prototype.deactivate = function () {\n this.holder.removeEventListener('click', this.handleClick);\n this.unbindStartEvent(this.holder);\n // remove from DOM\n this.parentElement.removeChild(this.holder);\n};\n\nPageDots.prototype.setDots = function () {\n // get difference between number of slides and number of dots\n const delta = this.parent.slides.length - this.dots.length;\n if (delta > 0) {\n this.addDots(delta);\n } else if (delta < 0) {\n this.removeDots(-delta);\n }\n};\n\nPageDots.prototype.addDots = function (count) {\n const fragment = document.createDocumentFragment();\n const newDots = [];\n const length = this.dots.length;\n const max = length + count;\n\n for (let i = length; i < max; i++) {\n const dot = document.createElement('li');\n dot.classList.add('dot');\n dot.part.add('pagination-item');\n dot.setAttribute('aria-label', 'Page dot ' + (i + 1));\n fragment.appendChild(dot);\n newDots.push(dot);\n }\n\n this.holder.appendChild(fragment);\n this.dots = this.dots.concat(newDots);\n};\n\nPageDots.prototype.removeDots = function (count) {\n // remove from this.dots collection\n const removeDots = this.dots.splice(this.dots.length - count, count);\n // remove from DOM\n removeDots.forEach(function (dot) {\n this.holder.removeChild(dot);\n }, this);\n};\n\nPageDots.prototype.updateSelected = function () {\n // remove selected class on previous\n if (this.selectedDot) {\n this.selectedDot.classList.remove('is-selected');\n this.selectedDot.part.remove('pagination-item--active');\n this.selectedDot.removeAttribute('aria-current');\n }\n // don't proceed if no dots\n if (!this.dots.length) {\n return;\n }\n this.selectedDot = this.dots[this.parent.selectedIndex];\n this.selectedDot.classList.add('is-selected');\n this.selectedDot.part.add('pagination-item--active');\n this.selectedDot.setAttribute('aria-current', 'step');\n};\n\nPageDots.prototype.onTap = PageDots.prototype.onClick = function (event) {\n // old method name, backwards-compatible\n const target = event.target;\n // only care about dot clicks\n if (target.nodeName != 'LI') {\n return;\n }\n\n this.parent.uiChange();\n const index = this.dots.indexOf(target);\n this.parent.select(index);\n};\n\nPageDots.prototype.destroy = function () {\n this.deactivate();\n this.allOff();\n};\n\n// @ts-ignore\nFlickity.PageDots = PageDots;\n\n// -------------------------- Flickity -------------------------- //\n\nutils.extend(Flickity.defaults, {\n pageDots: true,\n});\n\nFlickity.createMethods.push('_createPageDots');\n\nconst proto = Flickity.prototype;\n\nproto._createPageDots = function () {\n if (!this.options.pageDots) {\n return;\n }\n this.pageDots = new PageDots(this);\n // events\n this.on('activate', this.activatePageDots);\n this.on('select', this.updateSelectedPageDots);\n this.on('cellChange', this.updatePageDots);\n this.on('resize', this.updatePageDots);\n this.on('deactivate', this.deactivatePageDots);\n};\n\nproto.activatePageDots = function () {\n this.pageDots.activate();\n};\n\nproto.updateSelectedPageDots = function () {\n this.pageDots.updateSelected();\n};\n\nproto.updatePageDots = function () {\n this.pageDots.setDots();\n};\n\nproto.deactivatePageDots = function () {\n this.pageDots.deactivate();\n};\n\n// @ts-ignore\nFlickity.PageDots = PageDots;\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- var r="top";var t="bottom";var e="right";var n="left";var a="auto";var i=[r,t,e,n];var o="start";var f="end";var v="clippingParents";var u="viewport";var s="popper";var c="reference";var l=i.reduce((function(r,t){return r.concat([t+"-"+o,t+"-"+f])}),[]);var d=[].concat(i,[a]).reduce((function(r,t){return r.concat([t,t+"-"+o,t+"-"+f])}),[]);var p="beforeRead";var h="read";var b="afterRead";var m="beforeMain";var y="main";var x="afterMain";var w="beforeWrite";var O="write";var g="afterWrite";var j=[p,h,b,m,y,x,w,O,g];function A(r){return r?(r.nodeName||"").toLowerCase():null}function k(r){if(r==null){return window}if(r.toString()!=="[object Window]"){var t=r.ownerDocument;return t?t.defaultView||window:window}return r}function M(r){var t=k(r).Element;return r instanceof t||r instanceof Element}function q(r){var t=k(r).HTMLElement;return r instanceof t||r instanceof HTMLElement}function E(r){if(typeof ShadowRoot==="undefined"){return false}var t=k(r).ShadowRoot;return r instanceof t||r instanceof ShadowRoot}function P(r){var t=r.state;Object.keys(t.elements).forEach((function(r){var e=t.styles[r]||{};var n=t.attributes[r]||{};var a=t.elements[r];if(!q(a)||!A(a)){return}Object.assign(a.style,e);Object.keys(n).forEach((function(r){var t=n[r];if(t===false){a.removeAttribute(r)}else{a.setAttribute(r,t===true?"":t)}}))}))}function S(r){var t=r.state;var e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,e.popper);t.styles=e;if(t.elements.arrow){Object.assign(t.elements.arrow.style,e.arrow)}return function(){Object.keys(t.elements).forEach((function(r){var n=t.elements[r];var a=t.attributes[r]||{};var i=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:e[r]);var o=i.reduce((function(r,t){r[t]="";return r}),{});if(!q(n)||!A(n)){return}Object.assign(n.style,o);Object.keys(a).forEach((function(r){n.removeAttribute(r)}))}))}}const W={name:"applyStyles",enabled:true,phase:"write",fn:P,effect:S,requires:["computeStyles"]};function B(r){return r.split("-")[0]}var T=Math.max;var R=Math.min;var H=Math.round;function L(){var r=navigator.userAgentData;if(r!=null&&r.brands&&Array.isArray(r.brands)){return r.brands.map((function(r){return r.brand+"/"+r.version})).join(" ")}return navigator.userAgent}function F(){return!/^((?!chrome|android).)*safari/i.test(L())}function I(r,t,e){if(t===void 0){t=false}if(e===void 0){e=false}var n=r.getBoundingClientRect();var a=1;var i=1;if(t&&q(r)){a=r.offsetWidth>0?H(n.width)/r.offsetWidth||1:1;i=r.offsetHeight>0?H(n.height)/r.offsetHeight||1:1}var o=M(r)?k(r):window,f=o.visualViewport;var v=!F()&&e;var u=(n.left+(v&&f?f.offsetLeft:0))/a;var s=(n.top+(v&&f?f.offsetTop:0))/i;var c=n.width/a;var l=n.height/i;return{width:c,height:l,top:s,right:u+c,bottom:s+l,left:u,x:u,y:s}}function C(r){var t=I(r);var e=r.offsetWidth;var n=r.offsetHeight;if(Math.abs(t.width-e)<=1){e=t.width}if(Math.abs(t.height-n)<=1){n=t.height}return{x:r.offsetLeft,y:r.offsetTop,width:e,height:n}}function z(r,t){var e=t.getRootNode&&t.getRootNode();if(r.contains(t)){return true}else if(e&&E(e)){var n=t;do{if(n&&r.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function V(r){return k(r).getComputedStyle(r)}function D(r){return["table","td","th"].indexOf(A(r))>=0}function U(r){return((M(r)?r.ownerDocument:r.document)||window.document).documentElement}function $(r){if(A(r)==="html"){return r}return r.assignedSlot||r.parentNode||(E(r)?r.host:null)||U(r)}function _(r){if(!q(r)||V(r).position==="fixed"){return null}return r.offsetParent}function G(r){var t=/firefox/i.test(L());var e=/Trident/i.test(L());if(e&&q(r)){var n=V(r);if(n.position==="fixed"){return null}}var a=$(r);if(E(a)){a=a.host}while(q(a)&&["html","body"].indexOf(A(a))<0){var i=V(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none"){return a}else{a=a.parentNode}}return null}function J(r){var t=k(r);var e=_(r);while(e&&D(e)&&V(e).position==="static"){e=_(e)}if(e&&(A(e)==="html"||A(e)==="body"&&V(e).position==="static")){return t}return e||G(r)||t}function K(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function N(r,t,e){return T(r,R(t,e))}function Q(r,t,e){var n=N(r,t,e);return n>e?e:n}function X(){return{top:0,right:0,bottom:0,left:0}}function Y(r){return Object.assign({},X(),r)}function Z(r,t){return t.reduce((function(t,e){t[e]=r;return t}),{})}var rr=function r(t,e){t=typeof t==="function"?t(Object.assign({},e.rects,{placement:e.placement})):t;return Y(typeof t!=="number"?t:Z(t,i))};function tr(a){var i;var o=a.state,f=a.name,v=a.options;var u=o.elements.arrow;var s=o.modifiersData.popperOffsets;var c=B(o.placement);var l=K(c);var d=[n,e].indexOf(c)>=0;var p=d?"height":"width";if(!u||!s){return}var h=rr(v.padding,o);var b=C(u);var m=l==="y"?r:n;var y=l==="y"?t:e;var x=o.rects.reference[p]+o.rects.reference[l]-s[l]-o.rects.popper[p];var w=s[l]-o.rects.reference[l];var O=J(u);var g=O?l==="y"?O.clientHeight||0:O.clientWidth||0:0;var j=x/2-w/2;var A=h[m];var k=g-b[p]-h[y];var M=g/2-b[p]/2+j;var q=N(A,M,k);var E=l;o.modifiersData[f]=(i={},i[E]=q,i.centerOffset=q-M,i)}function er(r){var t=r.state,e=r.options;var n=e.element,a=n===void 0?"[data-popper-arrow]":n;if(a==null){return}if(typeof a==="string"){a=t.elements.popper.querySelector(a);if(!a){return}}if(!z(t.elements.popper,a)){return}t.elements.arrow=a}const nr={name:"arrow",enabled:true,phase:"main",fn:tr,effect:er,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ar(r){return r.split("-")[1]}var ir={top:"auto",right:"auto",bottom:"auto",left:"auto"};function or(r,t){var e=r.x,n=r.y;var a=t.devicePixelRatio||1;return{x:H(e*a)/a||0,y:H(n*a)/a||0}}function fr(a){var i;var o=a.popper,v=a.popperRect,u=a.placement,s=a.variation,c=a.offsets,l=a.position,d=a.gpuAcceleration,p=a.adaptive,h=a.roundOffsets,b=a.isFixed;var m=c.x,y=m===void 0?0:m,x=c.y,w=x===void 0?0:x;var O=typeof h==="function"?h({x:y,y:w}):{x:y,y:w};y=O.x;w=O.y;var g=c.hasOwnProperty("x");var j=c.hasOwnProperty("y");var A=n;var M=r;var q=window;if(p){var E=J(o);var P="clientHeight";var S="clientWidth";if(E===k(o)){E=U(o);if(V(E).position!=="static"&&l==="absolute"){P="scrollHeight";S="scrollWidth"}}E=E;if(u===r||(u===n||u===e)&&s===f){M=t;var W=b&&E===q&&q.visualViewport?q.visualViewport.height:E[P];w-=W-v.height;w*=d?1:-1}if(u===n||(u===r||u===t)&&s===f){A=e;var B=b&&E===q&&q.visualViewport?q.visualViewport.width:E[S];y-=B-v.width;y*=d?1:-1}}var T=Object.assign({position:l},p&&ir);var R=h===true?or({x:y,y:w},k(o)):{x:y,y:w};y=R.x;w=R.y;if(d){var H;return Object.assign({},T,(H={},H[M]=j?"0":"",H[A]=g?"0":"",H.transform=(q.devicePixelRatio||1)<=1?"translate("+y+"px, "+w+"px)":"translate3d("+y+"px, "+w+"px, 0)",H))}return Object.assign({},T,(i={},i[M]=j?w+"px":"",i[A]=g?y+"px":"",i.transform="",i))}function vr(r){var t=r.state,e=r.options;var n=e.gpuAcceleration,a=n===void 0?true:n,i=e.adaptive,o=i===void 0?true:i,f=e.roundOffsets,v=f===void 0?true:f;var u={placement:B(t.placement),variation:ar(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};if(t.modifiersData.popperOffsets!=null){t.styles.popper=Object.assign({},t.styles.popper,fr(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:v})))}if(t.modifiersData.arrow!=null){t.styles.arrow=Object.assign({},t.styles.arrow,fr(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:v})))}t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const ur={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:vr,data:{}};var sr={passive:true};function cr(r){var t=r.state,e=r.instance,n=r.options;var a=n.scroll,i=a===void 0?true:a,o=n.resize,f=o===void 0?true:o;var v=k(t.elements.popper);var u=[].concat(t.scrollParents.reference,t.scrollParents.popper);if(i){u.forEach((function(r){r.addEventListener("scroll",e.update,sr)}))}if(f){v.addEventListener("resize",e.update,sr)}return function(){if(i){u.forEach((function(r){r.removeEventListener("scroll",e.update,sr)}))}if(f){v.removeEventListener("resize",e.update,sr)}}}const lr={name:"eventListeners",enabled:true,phase:"write",fn:function r(){},effect:cr,data:{}};var dr={left:"right",right:"left",bottom:"top",top:"bottom"};function pr(r){return r.replace(/left|right|bottom|top/g,(function(r){return dr[r]}))}var hr={start:"end",end:"start"};function br(r){return r.replace(/start|end/g,(function(r){return hr[r]}))}function mr(r){var t=k(r);var e=t.pageXOffset;var n=t.pageYOffset;return{scrollLeft:e,scrollTop:n}}function yr(r){return I(U(r)).left+mr(r).scrollLeft}function xr(r,t){var e=k(r);var n=U(r);var a=e.visualViewport;var i=n.clientWidth;var o=n.clientHeight;var f=0;var v=0;if(a){i=a.width;o=a.height;var u=F();if(u||!u&&t==="fixed"){f=a.offsetLeft;v=a.offsetTop}}return{width:i,height:o,x:f+yr(r),y:v}}function wr(r){var t;var e=U(r);var n=mr(r);var a=(t=r.ownerDocument)==null?void 0:t.body;var i=T(e.scrollWidth,e.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0);var o=T(e.scrollHeight,e.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0);var f=-n.scrollLeft+yr(r);var v=-n.scrollTop;if(V(a||e).direction==="rtl"){f+=T(e.clientWidth,a?a.clientWidth:0)-i}return{width:i,height:o,x:f,y:v}}function Or(r){var t=V(r),e=t.overflow,n=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+a+n)}function gr(r){if(["html","body","#document"].indexOf(A(r))>=0){return r.ownerDocument.body}if(q(r)&&Or(r)){return r}return gr($(r))}function jr(r,t){var e;if(t===void 0){t=[]}var n=gr(r);var a=n===((e=r.ownerDocument)==null?void 0:e.body);var i=k(n);var o=a?[i].concat(i.visualViewport||[],Or(n)?n:[]):n;var f=t.concat(o);return a?f:f.concat(jr($(o)))}function Ar(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function kr(r,t){var e=I(r,false,t==="fixed");e.top=e.top+r.clientTop;e.left=e.left+r.clientLeft;e.bottom=e.top+r.clientHeight;e.right=e.left+r.clientWidth;e.width=r.clientWidth;e.height=r.clientHeight;e.x=e.left;e.y=e.top;return e}function Mr(r,t,e){return t===u?Ar(xr(r,e)):M(t)?kr(t,e):Ar(wr(U(r)))}function qr(r){var t=jr($(r));var e=["absolute","fixed"].indexOf(V(r).position)>=0;var n=e&&q(r)?J(r):r;if(!M(n)){return[]}return t.filter((function(r){return M(r)&&z(r,n)&&A(r)!=="body"}))}function Er(r,t,e,n){var a=t==="clippingParents"?qr(r):[].concat(t);var i=[].concat(a,[e]);var o=i[0];var f=i.reduce((function(t,e){var a=Mr(r,e,n);t.top=T(a.top,t.top);t.right=R(a.right,t.right);t.bottom=R(a.bottom,t.bottom);t.left=T(a.left,t.left);return t}),Mr(r,o,n));f.width=f.right-f.left;f.height=f.bottom-f.top;f.x=f.left;f.y=f.top;return f}function Pr(a){var i=a.reference,v=a.element,u=a.placement;var s=u?B(u):null;var c=u?ar(u):null;var l=i.x+i.width/2-v.width/2;var d=i.y+i.height/2-v.height/2;var p;switch(s){case r:p={x:l,y:i.y-v.height};break;case t:p={x:l,y:i.y+i.height};break;case e:p={x:i.x+i.width,y:d};break;case n:p={x:i.x-v.width,y:d};break;default:p={x:i.x,y:i.y}}var h=s?K(s):null;if(h!=null){var b=h==="y"?"height":"width";switch(c){case o:p[h]=p[h]-(i[b]/2-v[b]/2);break;case f:p[h]=p[h]+(i[b]/2-v[b]/2);break}}return p}function Sr(n,a){if(a===void 0){a={}}var o=a,f=o.placement,l=f===void 0?n.placement:f,d=o.strategy,p=d===void 0?n.strategy:d,h=o.boundary,b=h===void 0?v:h,m=o.rootBoundary,y=m===void 0?u:m,x=o.elementContext,w=x===void 0?s:x,O=o.altBoundary,g=O===void 0?false:O,j=o.padding,A=j===void 0?0:j;var k=Y(typeof A!=="number"?A:Z(A,i));var q=w===s?c:s;var E=n.rects.popper;var P=n.elements[g?q:w];var S=Er(M(P)?P:P.contextElement||U(n.elements.popper),b,y,p);var W=I(n.elements.reference);var B=Pr({reference:W,element:E,strategy:"absolute",placement:l});var T=Ar(Object.assign({},E,B));var R=w===s?T:W;var H={top:S.top-R.top+k.top,bottom:R.bottom-S.bottom+k.bottom,left:S.left-R.left+k.left,right:R.right-S.right+k.right};var L=n.modifiersData.offset;if(w===s&&L){var F=L[l];Object.keys(H).forEach((function(n){var a=[e,t].indexOf(n)>=0?1:-1;var i=[r,t].indexOf(n)>=0?"y":"x";H[n]+=F[i]*a}))}return H}function Wr(r,t){if(t===void 0){t={}}var e=t,n=e.placement,a=e.boundary,o=e.rootBoundary,f=e.padding,v=e.flipVariations,u=e.allowedAutoPlacements,s=u===void 0?d:u;var c=ar(n);var p=c?v?l:l.filter((function(r){return ar(r)===c})):i;var h=p.filter((function(r){return s.indexOf(r)>=0}));if(h.length===0){h=p}var b=h.reduce((function(t,e){t[e]=Sr(r,{placement:e,boundary:a,rootBoundary:o,padding:f})[B(e)];return t}),{});return Object.keys(b).sort((function(r,t){return b[r]-b[t]}))}function Br(r){if(B(r)===a){return[]}var t=pr(r);return[br(r),t,br(t)]}function Tr(i){var f=i.state,v=i.options,u=i.name;if(f.modifiersData[u]._skip){return}var s=v.mainAxis,c=s===void 0?true:s,l=v.altAxis,d=l===void 0?true:l,p=v.fallbackPlacements,h=v.padding,b=v.boundary,m=v.rootBoundary,y=v.altBoundary,x=v.flipVariations,w=x===void 0?true:x,O=v.allowedAutoPlacements;var g=f.options.placement;var j=B(g);var A=j===g;var k=p||(A||!w?[pr(g)]:Br(g));var M=[g].concat(k).reduce((function(r,t){return r.concat(B(t)===a?Wr(f,{placement:t,boundary:b,rootBoundary:m,padding:h,flipVariations:w,allowedAutoPlacements:O}):t)}),[]);var q=f.rects.reference;var E=f.rects.popper;var P=new Map;var S=true;var W=M[0];for(var T=0;T<M.length;T++){var R=M[T];var H=B(R);var L=ar(R)===o;var F=[r,t].indexOf(H)>=0;var I=F?"width":"height";var C=Sr(f,{placement:R,boundary:b,rootBoundary:m,altBoundary:y,padding:h});var z=F?L?e:n:L?t:r;if(q[I]>E[I]){z=pr(z)}var V=pr(z);var D=[];if(c){D.push(C[H]<=0)}if(d){D.push(C[z]<=0,C[V]<=0)}if(D.every((function(r){return r}))){W=R;S=false;break}P.set(R,D)}if(S){var U=w?3:1;var $=function r(t){var e=M.find((function(r){var e=P.get(r);if(e){return e.slice(0,t).every((function(r){return r}))}}));if(e){W=e;return"break"}};for(var _=U;_>0;_--){var G=$(_);if(G==="break")break}}if(f.placement!==W){f.modifiersData[u]._skip=true;f.placement=W;f.reset=true}}const Rr={name:"flip",enabled:true,phase:"main",fn:Tr,requiresIfExists:["offset"],data:{_skip:false}};function Hr(r,t,e){if(e===void 0){e={x:0,y:0}}return{top:r.top-t.height-e.y,right:r.right-t.width+e.x,bottom:r.bottom-t.height+e.y,left:r.left-t.width-e.x}}function Lr(a){return[r,e,t,n].some((function(r){return a[r]>=0}))}function Fr(r){var t=r.state,e=r.name;var n=t.rects.reference;var a=t.rects.popper;var i=t.modifiersData.preventOverflow;var o=Sr(t,{elementContext:"reference"});var f=Sr(t,{altBoundary:true});var v=Hr(o,n);var u=Hr(f,a,i);var s=Lr(v);var c=Lr(u);t.modifiersData[e]={referenceClippingOffsets:v,popperEscapeOffsets:u,isReferenceHidden:s,hasPopperEscaped:c};t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":s,"data-popper-escaped":c})}const Ir={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Fr};function Cr(t,a,i){var o=B(t);var f=[n,r].indexOf(o)>=0?-1:1;var v=typeof i==="function"?i(Object.assign({},a,{placement:t})):i,u=v[0],s=v[1];u=u||0;s=(s||0)*f;return[n,e].indexOf(o)>=0?{x:s,y:u}:{x:u,y:s}}function zr(r){var t=r.state,e=r.options,n=r.name;var a=e.offset,i=a===void 0?[0,0]:a;var o=d.reduce((function(r,e){r[e]=Cr(e,t.rects,i);return r}),{});var f=o[t.placement],v=f.x,u=f.y;if(t.modifiersData.popperOffsets!=null){t.modifiersData.popperOffsets.x+=v;t.modifiersData.popperOffsets.y+=u}t.modifiersData[n]=o}const Vr={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:zr};function Dr(r){var t=r.state,e=r.name;t.modifiersData[e]=Pr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Ur={name:"popperOffsets",enabled:true,phase:"read",fn:Dr,data:{}};function $r(r){return r==="x"?"y":"x"}function _r(a){var i=a.state,f=a.options,v=a.name;var u=f.mainAxis,s=u===void 0?true:u,c=f.altAxis,l=c===void 0?false:c,d=f.boundary,p=f.rootBoundary,h=f.altBoundary,b=f.padding,m=f.tether,y=m===void 0?true:m,x=f.tetherOffset,w=x===void 0?0:x;var O=Sr(i,{boundary:d,rootBoundary:p,padding:b,altBoundary:h});var g=B(i.placement);var j=ar(i.placement);var A=!j;var k=K(g);var M=$r(k);var q=i.modifiersData.popperOffsets;var E=i.rects.reference;var P=i.rects.popper;var S=typeof w==="function"?w(Object.assign({},i.rects,{placement:i.placement})):w;var W=typeof S==="number"?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S);var H=i.modifiersData.offset?i.modifiersData.offset[i.placement]:null;var L={x:0,y:0};if(!q){return}if(s){var F;var I=k==="y"?r:n;var z=k==="y"?t:e;var V=k==="y"?"height":"width";var D=q[k];var U=D+O[I];var $=D-O[z];var _=y?-P[V]/2:0;var G=j===o?E[V]:P[V];var Y=j===o?-P[V]:-E[V];var Z=i.elements.arrow;var rr=y&&Z?C(Z):{width:0,height:0};var tr=i.modifiersData["arrow#persistent"]?i.modifiersData["arrow#persistent"].padding:X();var er=tr[I];var nr=tr[z];var ir=N(0,E[V],rr[V]);var or=A?E[V]/2-_-ir-er-W.mainAxis:G-ir-er-W.mainAxis;var fr=A?-E[V]/2+_+ir+nr+W.mainAxis:Y+ir+nr+W.mainAxis;var vr=i.elements.arrow&&J(i.elements.arrow);var ur=vr?k==="y"?vr.clientTop||0:vr.clientLeft||0:0;var sr=(F=H==null?void 0:H[k])!=null?F:0;var cr=D+or-sr-ur;var lr=D+fr-sr;var dr=N(y?R(U,cr):U,D,y?T($,lr):$);q[k]=dr;L[k]=dr-D}if(l){var pr;var hr=k==="x"?r:n;var br=k==="x"?t:e;var mr=q[M];var yr=M==="y"?"height":"width";var xr=mr+O[hr];var wr=mr-O[br];var Or=[r,n].indexOf(g)!==-1;var gr=(pr=H==null?void 0:H[M])!=null?pr:0;var jr=Or?xr:mr-E[yr]-P[yr]-gr+W.altAxis;var Ar=Or?mr+E[yr]+P[yr]-gr-W.altAxis:wr;var kr=y&&Or?Q(jr,mr,Ar):N(y?jr:xr,mr,y?Ar:wr);q[M]=kr;L[M]=kr-mr}i.modifiersData[v]=L}const Gr={name:"preventOverflow",enabled:true,phase:"main",fn:_r,requiresIfExists:["offset"]};function Jr(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function Kr(r){if(r===k(r)||!q(r)){return mr(r)}else{return Jr(r)}}function Nr(r){var t=r.getBoundingClientRect();var e=H(t.width)/r.offsetWidth||1;var n=H(t.height)/r.offsetHeight||1;return e!==1||n!==1}function Qr(r,t,e){if(e===void 0){e=false}var n=q(t);var a=q(t)&&Nr(t);var i=U(t);var o=I(r,a,e);var f={scrollLeft:0,scrollTop:0};var v={x:0,y:0};if(n||!n&&!e){if(A(t)!=="body"||Or(i)){f=Kr(t)}if(q(t)){v=I(t,true);v.x+=t.clientLeft;v.y+=t.clientTop}else if(i){v.x=yr(i)}}return{x:o.left+f.scrollLeft-v.x,y:o.top+f.scrollTop-v.y,width:o.width,height:o.height}}function Xr(r){var t=new Map;var e=new Set;var n=[];r.forEach((function(r){t.set(r.name,r)}));function a(r){e.add(r.name);var i=[].concat(r.requires||[],r.requiresIfExists||[]);i.forEach((function(r){if(!e.has(r)){var n=t.get(r);if(n){a(n)}}}));n.push(r)}r.forEach((function(r){if(!e.has(r.name)){a(r)}}));return n}function Yr(r){var t=Xr(r);return j.reduce((function(r,e){return r.concat(t.filter((function(r){return r.phase===e})))}),[])}function Zr(r){var t;return function(){if(!t){t=new Promise((function(e){Promise.resolve().then((function(){t=undefined;e(r())}))}))}return t}}function rt(r){var t=r.reduce((function(r,t){var e=r[t.name];r[t.name]=e?Object.assign({},e,t,{options:Object.assign({},e.options,t.options),data:Object.assign({},e.data,t.data)}):t;return r}),{});return Object.keys(t).map((function(r){return t[r]}))}var tt={placement:"bottom",modifiers:[],strategy:"absolute"};function et(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}return!t.some((function(r){return!(r&&typeof r.getBoundingClientRect==="function")}))}function nt(r){if(r===void 0){r={}}var t=r,e=t.defaultModifiers,n=e===void 0?[]:e,a=t.defaultOptions,i=a===void 0?tt:a;return function r(t,e,a){if(a===void 0){a=i}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},tt,i),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}};var f=[];var v=false;var u={state:o,setOptions:function r(a){var f=typeof a==="function"?a(o.options):a;c();o.options=Object.assign({},i,o.options,f);o.scrollParents={reference:M(t)?jr(t):t.contextElement?jr(t.contextElement):[],popper:jr(e)};var v=Yr(rt([].concat(n,o.options.modifiers)));o.orderedModifiers=v.filter((function(r){return r.enabled}));s();return u.update()},forceUpdate:function r(){if(v){return}var t=o.elements,e=t.reference,n=t.popper;if(!et(e,n)){return}o.rects={reference:Qr(e,J(n),o.options.strategy==="fixed"),popper:C(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(r){return o.modifiersData[r.name]=Object.assign({},r.data)}));for(var a=0;a<o.orderedModifiers.length;a++){if(o.reset===true){o.reset=false;a=-1;continue}var i=o.orderedModifiers[a],f=i.fn,s=i.options,c=s===void 0?{}:s,l=i.name;if(typeof f==="function"){o=f({state:o,options:c,name:l,instance:u})||o}}},update:Zr((function(){return new Promise((function(r){u.forceUpdate();r(o)}))})),destroy:function r(){c();v=true}};if(!et(t,e)){return u}u.setOptions(a).then((function(r){if(!v&&a.onFirstUpdate){a.onFirstUpdate(r)}}));function s(){o.orderedModifiers.forEach((function(r){var t=r.name,e=r.options,n=e===void 0?{}:e,a=r.effect;if(typeof a==="function"){var i=a({state:o,name:t,instance:u,options:n});var v=function r(){};f.push(i||v)}}))}function c(){f.forEach((function(r){return r()}));f=[]}return u}}var at=[lr,Ur,ur,W,Vr,Rr,Gr,nr,Ir];var it=nt({defaultModifiers:at});class ot{anchor;isVisible;popover;popper;options;constructor(r,t,e){this.handleTransitionEnd=this.handleTransitionEnd.bind(this);this.anchor=r;this.popover=t;this.options={skidding:0,distance:0,placement:"bottom-start",strategy:"absolute",transitionElement:this.popover,visibleClass:"popover-visible",onAfterShow:()=>{},onAfterHide:()=>{},onTransitionEnd:()=>{},...e};this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.popover.addEventListener("transitionend",this.handleTransitionEnd.bind(this))}handleTransitionEnd(r){const t=r.target;if(t===this.options.transitionElement){this.options.onTransitionEnd.call(this,r);if(this.isVisible===false&&!this.popover.hidden){this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.options.onAfterHide.call(this)}}}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd.bind(this));if(this.popper){this.popper.destroy();this.popper=null}}show(){this.isVisible=true;this.popover.hidden=false;requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass)));if(this.popper){this.popper.destroy()}const r=this.options.placement.includes("center")?"top":this.options.placement;this.popper=it(this.anchor,this.popover,{placement:r,strategy:this.options.strategy,modifiers:[{name:"sameWidth",enabled:true,fn:({state:r})=>{r.styles.popper.minWidth=`${r.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]},{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{padding:5,offset:({reference:r})=>{if(this.options.placement!=="center")return[this.options.skidding,this.options.distance];return[this.options.skidding,(r.height+1)*-1]}}}]});this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:true});requestAnimationFrame((()=>{this.popper.update().catch((r=>{console.error(r)}))}))}hide(){this.isVisible=false;this.popover.classList.remove(this.options.visibleClass)}setOptions(r){this.options=Object.assign(this.options,r);if(this.isVisible)this.popover.classList.add(this.options.visibleClass);else this.popover.classList.remove(this.options.visibleClass);const t=this.options.placement.includes("center")?"top":this.options.placement;if(this.popper){this.popper.setOptions({placement:t,strategy:this.options.strategy}).catch((r=>{console.error(r)}));requestAnimationFrame((()=>{this.popper.update().catch((r=>{console.error(r)}))}))}}}export{ot as P};
5
- //# sourceMappingURL=popover-30ce6cac.js.map