@nanoporetech-digital/components 7.9.2 → 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 +86 -260
  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 +36 -36
  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 +110 -138
  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 +25 -30
  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 +113 -102
  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 +85 -257
  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 +15165 -14546
  945. package/hydrate/index.mjs +15164 -14545
  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-132f2056.js +0 -1880
  1052. package/dist/cjs/nano-table-132f2056.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-1a4b9015.js +0 -33
  1071. package/dist/cjs/table.worker-1a4b9015.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-5eaf3a0c.js +0 -1877
  1546. package/dist/esm/nano-table-5eaf3a0c.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-94b9c69e.js +0 -29
  1565. package/dist/esm/table.worker-94b9c69e.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-5eaf3a0c.js +0 -5
  1693. package/dist/nano-components/nano-table-5eaf3a0c.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-94b9c69e.js +0 -5
  1712. package/dist/nano-components/table.worker-94b9c69e.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/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -8
  1738. package/dist/types/builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -2
  1739. package/dist/types/builds/WUhA-BsM/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/WUhA-BsM/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/WUhA-BsM/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/WUhA-BsM/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/WUhA-BsM/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/WUhA-BsM/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/WUhA-BsM/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/WUhA-BsM/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  1777. /package/dist/types/{builds/WUhA-BsM/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
- {"file":"nano-table.js","mappings":"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","names":["h"],"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"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"nano-tooltip.js","mappings":";;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"nav-item.js","mappings":"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","names":[],"sources":["src/components/nav-item/nav-item.scss?tag=nano-nav-item&encapsulation=shadow","src/components/nav-item/nav-item.tsx"],"sourcesContent":["@use '../../global/style/utilities/mixins' as mx;\n@use '../../global/style/nano-theme/tokens/form';\n\n:host {\n // These can be overwritten, but are automatically set from context components\n\n // --padding-top: inherit;\n // --padding-bottom: inherit;\n // --padding-start: inherit;\n // --padding-end: inherit;\n // --margin: inherit;\n\n // --secondary-padding-top: inherit;\n // --secondary-padding-bottom: inherit;\n // --secondary-padding-start: inherit;\n // --secondary-padding-end: inherit;\n\n // --border-bottom: inherit;\n // --icon-size: inherit;\n\n // --color: inherit;\n // --color-hover: inherit;\n // --color-focus: inherit;\n // --color-selected: inherit;\n // --color-open: inherit;\n\n // --bg-color: inherit;\n // --bg-color-hover: inherit;\n // --bg-color-selected: inherit;\n // --bg-color-open: inherit;\n // --bg-color-focus: inherit;\n\n // --secondary-bg-color: inherit;\n // --secondary-color: inherit;\n\n opacity: inherit;\n display: block;\n color: var(--color) !important;\n margin: var(--margin);\n outline: none !important;\n\n .nav-item,\n .link {\n outline: none !important;\n border-radius: inherit;\n }\n\n ::slotted(*),\n * {\n box-sizing: border-box;\n }\n\n ::slotted(button),\n button {\n background: none;\n border: none;\n margin: 0;\n }\n\n ::slotted(button),\n ::slotted(a),\n ::slotted(a:visited),\n button,\n a,\n a:visited {\n @include mx.text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n display: var(--display, block);\n white-space: nowrap;\n color: var(--color) !important;\n background-color: var(--bg-color);\n line-height: inherit;\n outline: none !important;\n }\n\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline-end: var(--padding-end);\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding-inline-start: var(--padding-start);\n }\n\n .link {\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline: var(--padding-start) 0;\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding-inline: 0 var(--padding-end);\n }\n }\n\n .link,\n button,\n a {\n border-block-end: var(--border-bottom);\n display: flex;\n align-items: center;\n border-radius: inherit;\n }\n\n .secondary-menu {\n display: none;\n }\n\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n text-decoration: inherit !important;\n }\n\n button:focus-visible,\n a:focus-visible {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{form.$control-focus-style};\n }\n\n ::slotted(a:focus-visible),\n ::slotted(button:focus-visible) {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{form.$control-focus-style};\n }\n}\n\n.nav-item {\n &.selected {\n .link,\n button,\n a {\n color: var(--color-selected, var(--color-open, var(--color))) !important;\n background-color:\n var(\n --bg-color-selected,\n var(--bg-color-open, var(--bg-color))\n );\n }\n }\n\n &.secondary-open {\n button,\n a {\n color: var(--color-open, var(--color-selected, var(--color))) !important;\n background-color:\n var(\n --bg-color-open,\n var(--secondary-bg-color, var(--bg-color-selected, var(--bg-color)))\n );\n }\n }\n\n &.disabled {\n opacity: 0.6;\n\n button,\n a {\n color: var(--color-disabled, var(--color)) !important;\n }\n }\n\n &:not(.nano-menu) {\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n color: var(--color-hover, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-hover,\n var(--bg-color-focus, var(--bg-color))\n );\n }\n }\n}\n\n:host(.has-focus) {\n .link {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n outline: var(--focus-outline, 5px auto -webkit-focus-ring-color);\n }\n}\n\n:host(.nano-global-nav-menu),\n:host(.nano-menu) {\n a,\n a:visited,\n button,\n .link {\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: currentcolor;\n text-decoration: inherit;\n white-space: normal;\n cursor: pointer;\n line-height: 1.2;\n inline-size: 100%;\n }\n\n .text {\n padding-inline: 0 var(--padding-end);\n flex: 1;\n }\n\n ::slotted(a),\n ::slotted(button) {\n flex: 1;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n color: var(--secondary-color, currentcolor);\n min-block-size: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n inline-size: 100%;\n z-index: 1;\n opacity: 0;\n transition: opacity 0.3s ease, transform 0.3s ease;\n background-color: var(--secondary-bg-color, white);\n transform: translate3d(100%, 0, 0);\n\n &:focus {\n outline: none;\n }\n\n &.open {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n transition: opacity 0.3s ease, transform 0.3s ease;\n }\n }\n}\n\n:host(.nano-global-nav-menu) {\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: 10px;\n flex: 0 0 10px;\n pointer-events: none;\n }\n\n button,\n a {\n ::slotted(.nano-icon[slot='icon-end']) {\n padding: 0;\n }\n }\n}\n\n:host(.nano-global-nav-menu[dir='rtl']),\n:host(.nano-menu[dir='rtl']) {\n .secondary-menu {\n transform: translateX(-100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n}\n\n:host(.nano-menu) {\n ::slotted(a:focus),\n ::slotted(button:focus) {\n box-shadow: none;\n }\n\n .secondary-menu-content {\n padding-inline: var(--secondary-padding-start) var(--secondary-padding-end);\n padding-block: var(--secondary-padding-top) var(--secondary-padding-bottom);\n }\n}\n\n:host(.nano-global-nav-bar) {\n .link,\n a,\n button {\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n\n .text {\n flex: 1 0 auto;\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n margin-inline: var(--padding-end) 0;\n margin-block: 0;\n }\n\n ::slotted(.nano-icon[slot='icon-start']) {\n margin-inline: 0 var(--padding-start);\n margin-block: 0;\n }\n\n ::slotted(a),\n button {\n position: relative;\n\n &::before {\n content: '';\n background-color: rgb(12 90 113);\n block-size: 9px;\n inset-inline: 0 5px;\n inset-block-end: -22px;\n position: absolute;\n transform: translateZ(0) scaleX(0);\n transform-origin: 0;\n transition: transform 0.2s ease;\n }\n }\n\n .secondary-open button::before {\n transform: translateZ(0) scaleX(1);\n }\n}\n\n:host(.nano-global-nav-bar.selected) {\n ::slotted(a),\n button {\n &::before {\n transform: translateZ(0) scaleX(1);\n }\n }\n}\n\n:host(.nano-global-nav-bar.has-secondary) {\n .secondary-open button::before {\n opacity: 0.7;\n }\n\n .secondary-menu {\n display: none;\n transition: transform 0.3s ease;\n transform: translateY(-100%) translateZ(0);\n background-color: var(--secondary-bg-color, #196c82);\n color: var(--secondary-color);\n position: absolute;\n box-shadow: 0 1px 25px 0 rgb(0 0 0 / 15%);\n inset-inline: 0;\n z-index: -2;\n outline: none;\n\n &.open {\n transform: translateY(12px) translateZ(0);\n }\n }\n}\n\n:host(.nano-menu-drawer) {\n .link,\n a,\n button {\n padding-block: calc(var(--padding-top) / 2) calc(var(--padding-bottom) / 2);\n padding-inline: var(--padding-start) 0;\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: currentcolor;\n text-decoration: inherit;\n white-space: normal;\n border: none;\n cursor: pointer;\n line-height: 1.2;\n inline-size: 100%;\n }\n\n .text {\n padding-inline: 0 var(--padding-end);\n text-align: start;\n flex: 0 1 auto;\n min-inline-size: 130px;\n inline-size: 130px;\n }\n\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: var(--icon-size);\n inline-size: var(--icon-size);\n flex: 0 0 var(--icon-size);\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding: 0 var(--padding-end) 0 0;\n font-size: 10px;\n flex: 0 0 20px;\n min-inline-size: 20px;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n background-color: var(--secondary-bg-color);\n color: var(--secondary-color);\n block-size: 100vh;\n inset-inline: auto 0;\n inset-block: 0;\n transform: translateX(0);\n z-index: -1;\n transition: transform 0.3s ease, opacity 0.2s ease;\n overflow-y: auto;\n inline-size: var(--secondary-width, 400px);\n max-inline-size: 62vw;\n opacity: 1;\n padding-inline:\n var(--secondary-padding-start, var(--padding-start))\n var(--secondary-padding-end, var(--padding-end));\n padding-block:\n var(--secondary-padding-top, var(--padding-top))\n var(--secondary-padding-bottom, var(--padding-bottom));\n\n &:focus {\n outline: none;\n }\n\n &.open {\n transform: translateX(100%);\n }\n }\n\n .notification {\n position: relative;\n\n &::after {\n content: '';\n display: block;\n position: absolute;\n inline-size: 6px;\n block-size: 6px;\n background-color: #ef4135;\n inset-inline-start: 10px;\n inset-block-start: 7px;\n border-radius: 50%;\n\n @media (width >= 52em) {\n inline-size: 7px;\n block-size: 7px;\n inset-inline-start: 8px;\n inset-block-start: 5px;\n }\n }\n }\n}\n\n:host(.nano-menu-drawer[dir='rtl']) {\n .secondary-menu {\n transform: translateX(0%);\n\n &.open {\n transform: translateX(-100%);\n opacity: 1;\n }\n }\n}\n","import {\n Component,\n Host,\n Element,\n Prop,\n Watch,\n EventEmitter,\n Event,\n State,\n Method,\n ComponentInterface,\n Listen,\n} from '@stencil/core';\nimport { getSiblings, getDirectChildren } from '../../utils/dom';\nimport { displayTransition } from '../../utils/transitions';\nimport { getTabbableElements } from '../../utils/tabbable';\nimport { h, transformTag } from '../../utils/renderer';\nimport { NavItemEventDetail } from './nav-item-interface';\n\n/**\n * Nav items to be used with the various nav items.\n * [Globla-Nav](/story/compounds-global-nav)\n * [Menu-Drawer](/story/components-menu-drawer)\n * [Dropdown](/story/components-dropdown)\n *\n * @slot icon-start - an icon at the start of the main control\n * @slot icon-end - an icon at the end of the main control\n * @slot secondary - a content panel in which you can place any html to display on control click\n * @slot - use the default slot for either `<a>` or text (if constructing a secondary content panel or using `href` directly)\n * @part ctrl - the controlling `<a>` or `<button>` element\n * @part ctrl--button - the controlling `<button>` element\n * @part ctrl--anchor - the controlling <a> element\n * @part ctrl-wrapper - the wrapping div around the control (shadow `<button>` / `<a>` or slotted `<a>`)\n * @part secondary-wrapper - the div surrounding slotted secondary content\n * @part secondary-mask - the div that is added when secondary content is shown\n */\n@Component({\n tag: 'nano-nav-item',\n styleUrl: 'nav-item.scss',\n shadow: true,\n})\nexport class NavItem implements ComponentInterface {\n private hasSecondarySlot: boolean = false;\n private btn: HTMLButtonElement | HTMLAnchorElement;\n private fromHover: boolean;\n private animating: boolean = false;\n private waitHide: number;\n private waitShow: number;\n private globalNavEle?: HTMLNanoGlobalNavElement;\n private secondaryDiv: HTMLDivElement;\n\n @State() hasAnchorEle: boolean = false;\n @State() didOpen: boolean = false;\n @State() isInGlobalNav: boolean = false;\n @State() isInMenuDrawer: boolean = false;\n @State() isInMenu: boolean = false;\n @State() hasFocus: boolean = false;\n @Element() private el: HTMLNanoNavItemElement;\n\n /**\n * Href to link to\n */\n @Prop({ mutable: true }) href: string = null;\n\n /**\n * Target to use for links\n */\n @Prop() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n /**\n * Disable the nav item\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether a secondary menu should be or is currently open\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * Whether this menu item is currently 'selected'\n */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /**\n * Screen pixel width to activate the secondary menu\n */\n @Prop() secondaryActiveWidth: number = 0;\n\n /**\n * Secondary fallback function for when the secondary menu is no longer active.\n */\n @Prop() secondaryFallback = () => {};\n\n /**\n * Whether secondary menus should close on blur\n */\n @Prop() closeOnBlur: boolean = true;\n\n /**\n * Will show an indicator badge - only when placed in a nano-menu-draw\n */\n @Prop() notification: boolean = false;\n\n /**\n * Emitted when the nav item closes it's secondary navigation.\n */\n @Event() nanoClose!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item opens it's secondary navigation.\n */\n @Event() nanoOpen!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to open it's secondary navigation.\n */\n @Event() nanoOpening!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to close it's secondary navigation.\n */\n @Event() nanoClosing!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the nav item has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Sets focus on the first button or anchor present. Use this method instead of the global\n * `element.focus()`.\n */\n @Method()\n async setFocus() {\n if (!this.btn) return;\n this.btn.focus();\n }\n\n /**\n * Public open watcher\n */\n @Watch('open')\n openChange() {\n if (this.open) this.openSecondary();\n else this.closeSecondary();\n }\n\n /**\n * Internal open watcher\n */\n @Watch('didOpen')\n didOpenChange() {\n if (!this.hasSecondarySlot) return;\n\n if (!this.didOpen) {\n /* the secondadry panel is not closing via hover,\n remove blur events, add focus back to originating button */\n setTimeout(() => {\n if (\n !this.fromHover &&\n (!document.activeElement || document.activeElement === document.body)\n )\n this.btn.focus({ preventScroll: true });\n this.el.tabIndex = null;\n this.nanoClose.emit({ secondaryMenu: this.secondaryDiv });\n }, 50);\n } else {\n /* the secondary panel is not opening via hover,\n scroll content into view, focus on it and add blur events */\n if (!this.fromHover) {\n const panelIO = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].boundingClientRect.top < 0) {\n this.secondaryDiv.scrollIntoView({\n behavior: 'smooth',\n });\n }\n panelIO.disconnect();\n },\n { threshold: 1 }\n );\n panelIO.observe(this.secondaryDiv);\n this.secondaryDiv.focus({ preventScroll: true });\n\n const focusableChild = getTabbableElements(this.secondaryDiv, true);\n if (focusableChild[0]) focusableChild[0].focus();\n\n this.el.tabIndex = -1;\n this.nanoOpen.emit({ secondaryMenu: this.secondaryDiv });\n }\n }\n }\n\n @Listen('click', { target: 'body' })\n @Listen('keyup', { target: 'body' })\n handleClose(e: MouseEvent | KeyboardEvent) {\n if (!this.didOpen || !this.hasSecondarySlot || !this.closeOnBlur) return;\n if (!e.composedPath().some((el) => el === this.secondaryDiv))\n this.toggleSecondary();\n }\n\n private closeSecondary = async () => {\n if (!this.hasSecondarySlot || !this.didOpen) return;\n this.open = false;\n await displayTransition(this.secondaryDiv, {\n className: 'open',\n show: false,\n });\n this.nanoClosing.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = false;\n };\n\n private openSecondary = async () => {\n if (window.innerWidth < this.secondaryActiveWidth) {\n this.secondaryFallback.call(this);\n return;\n }\n\n if (!this.hasSecondarySlot || this.didOpen) return;\n this.open = true;\n await displayTransition(this.secondaryDiv, {\n className: 'open',\n show: true,\n });\n this.nanoOpening.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = true;\n };\n\n private toggleSecondary = () => {\n if (!this.hasSecondarySlot) return;\n if (this.didOpen) this.closeSecondary();\n else this.openSecondary();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n // opens secondary panel when activated via hover\n if (this.href && !this.animating && this.hasSecondarySlot)\n this.openSecondary();\n this.nanoFocus.emit();\n };\n\n private handleHostBlur = () => {\n if (this.animating) return;\n\n // tab index is added to host when secondary panel opens\n // to return focus after secondary panel closes. Remove now if it was added\n this.el.removeAttribute('tabindex');\n this.hasFocus = false;\n this.nanoBlur.emit();\n };\n\n // direct host clicks to internal button\n private handleHostClick = (ev: MouseEvent) => {\n if (!this.hasAnchorEle) return;\n const foundlink = (ev.target as HTMLElement).closest('a, button');\n if (!foundlink) this.btn.click();\n };\n\n // handles secondary menu hover behaviour.\n private handleMouseEnter = async () => {\n if (\n !this.href ||\n this.animating ||\n !this.hasSecondarySlot ||\n (this.globalNavEle && !this.globalNavEle.classList.contains('ready'))\n )\n return;\n\n // if there are sibling secondary panels currently open,\n // we need to wait before opening otherwise we get unwanted overlapping\n let timeToWait = 0;\n if (getSiblings(this.el, '.secondary-open.has-secondary').length)\n timeToWait = 300;\n\n clearTimeout(this.waitHide);\n this.fromHover = true;\n this.animating = true;\n this.waitShow = window.setTimeout(\n async () => await this.openSecondary(),\n timeToWait\n );\n this.animating = false;\n };\n\n // handles secondary menu hover-out behaviour.\n private handleMouseLeave = () => {\n if (!this.href) return;\n clearTimeout(this.waitShow);\n this.fromHover = true;\n this.animating = true;\n\n // prevent closing immediately - makes navigating to items within more forgiving\n this.waitHide = window.setTimeout(\n async () => await this.closeSecondary(),\n 300\n );\n this.animating = false;\n };\n\n private handleClick = () => {\n this.fromHover = false;\n if (this.hasSecondarySlot) this.toggleSecondary();\n };\n\n connectedCallback() {\n const secondaryEle = this.el.querySelector('[slot=\"secondary\"]');\n this.hasSecondarySlot = !!secondaryEle;\n\n const link = getDirectChildren<HTMLAnchorElement | HTMLButtonElement>(\n this.el,\n 'a, button'\n )[0];\n this.hasAnchorEle = !!link;\n\n if (link) {\n this.href = (link as HTMLAnchorElement).href\n ? (link as HTMLAnchorElement).href\n : null;\n this.btn = link;\n if (this.hasSecondarySlot)\n this.btn.addEventListener('click', this.toggleSecondary);\n\n this.btn.addEventListener('focus', this.handleFocus);\n this.btn.addEventListener('blur', this.handleHostBlur);\n }\n\n this.isInGlobalNav = false;\n this.isInMenuDrawer = false;\n this.globalNavEle = this.el.closest(transformTag('nano-global-nav'));\n\n this.isInMenuDrawer = !!this.el.closest(transformTag('nano-menu-drawer'));\n this.isInMenu = !!this.el.closest(transformTag('nano-menu'));\n this.isInGlobalNav =\n this.el.parentElement === this.globalNavEle ||\n !!this.el.closest('.global-nav');\n }\n\n componentDidLoad() {\n this.openChange();\n }\n\n disconnectedCallback(): void {\n this.btn.removeEventListener('click', this.toggleSecondary);\n this.btn.removeEventListener('focus', this.handleFocus);\n this.btn.removeEventListener('blur', this.handleHostBlur);\n }\n\n render() {\n return (\n <Host\n class={{\n 'has-secondary': this.hasSecondarySlot,\n 'secondary-open': this.open,\n selected: this.selected,\n 'has-focus': this.hasFocus,\n disabled: this.disabled,\n 'nano-global-nav': this.isInGlobalNav,\n 'nano-menu-drawer': this.isInMenuDrawer,\n 'nano-menu': this.isInMenu,\n 'nano-nav-item': true,\n }}\n onBlur={this.handleHostBlur}\n dir={this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleHostClick}\n role={this.el.closest('[role=\"menu\"]') ? 'menuitem' : undefined}\n >\n <div\n class={{\n 'nav-item': true,\n 'secondary-open': this.open,\n selected: this.selected,\n }}\n part=\"ctrl-wrapper\"\n >\n {this.href && !this.hasAnchorEle && !this.disabled && (\n <a\n part=\"ctrl ctrl--anchor\"\n target={this.target}\n ref={(a) => (this.btn = a)}\n href={this.href}\n onFocus={this.handleFocus}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </a>\n )}\n {((!this.hasAnchorEle && !this.href) || this.disabled) && (\n <button\n part=\"ctrl ctrl--button\"\n ref={(btn) => (this.btn = btn)}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n disabled={this.disabled}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </button>\n )}\n {this.hasAnchorEle && !this.disabled && (\n <div class=\"link\">\n <slot name=\"icon-start\" />\n <slot />\n <slot name=\"icon-end\" />\n </div>\n )}\n {this.hasSecondarySlot && !this.disabled && (\n <div\n class=\"secondary-menu\"\n ref={(div) => (this.secondaryDiv = div)}\n tabIndex={-1}\n >\n <div class=\"secondary-menu-content\" part=\"secondary-wrapper\">\n <slot name=\"secondary\" />\n </div>\n <div\n class=\"secondary-menu-mask\"\n onClick={this.closeSecondary}\n part=\"secondary-mask\"\n ></div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"option.js","mappings":"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","names":[],"sources":["src/components/option/option.scss?tag=nano-option&encapsulation=shadow","src/components/option/option.tsx"],"sourcesContent":["@use 'sass:map';\n@use '../../global/style/nano-theme/tokens';\n\n:host {\n /**\n * @prop --padding-top: Defaults to #{tokens.$spacing-small};\n * @prop --padding-bottom: Defaults to #{tokens.$spacing-small};\n * @prop --padding-start: Defaults to #{tokens.$spacing-small};\n * @prop --padding-end: Defaults to #{tokens.$spacing-small};\n\n * @prop --bg: default background. Defaults to none;\n * @prop --bg-selected: background when selected. Defaults to #{tokens.$select-opt-selected};\n * @prop --bg-focus: background when focused. Defaults to var(--nano-color-base, #{nano-color(primary, tint)});\n * @prop --bg-disabled: background when disabled. Defaults to none;\n\n * @prop --color: default text color. Defaults to var(--input-text-color, #{tokens.$input-text-color});\n * @prop --color-selected: text color when selected. Defaults to var(--nano-color-base, #{nano-color(primary, base)});\n * @prop --color-focus: text color when focused. Defaults to var(--nano-color-base, #{nano-color(primary, contrast)});\n * @prop --color-disabled: text color when disabled. Defaults to #{map.get(tokens.$colors, palegrey)};\n\n * @prop --opt-icon-size: Sizes all icons within the option. Defaults to 1.4em;\n */\n\n --bg: none;\n --bg-selected: #{tokens.$select-opt-selected};\n --bg-focus: var(--nano-color-base, #{tokens.nano-color(primary, tint)});\n --bg-disabled: none;\n --color: var(--input-text-color, #{tokens.$input-text-color});\n --color-selected: var(--nano-color-base, #{tokens.nano-color(primary, base)});\n --color-focus: var(--nano-color-contrast, #{tokens.nano-color(primary, contrast)});\n --color-disabled: #{map.get(tokens.$colors, palegrey)};\n --opt-icon-size: 1.6em;\n\n display: block;\n color: var(--color);\n overflow: hidden;\n font-size: 14px;\n font-size: #{'clamp(12px, .9em, 16px)'};\n}\n\n:host(:focus) {\n outline: none;\n}\n\n.option {\n $self: &;\n\n position: relative;\n user-select: none;\n cursor: pointer;\n display: flex;\n align-items: stretch;\n inline-size: 100%;\n background: var(--bg);\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n\n // focus\n :host(:focus) &:not(.option--disabled),\n :host &.option--selected {\n outline: none;\n background: var(--bg-selected);\n color: var(--color-selected);\n }\n\n :host(:focus) &:not(.option--disabled) {\n background: var(--bg-focus);\n color: var(--color-focus);\n }\n\n // disabled\n &.option--disabled {\n outline: none;\n color: var(--color-disabled);\n cursor: not-allowed;\n background: var(--bg-disabled);\n }\n\n // no value\n &.option--novalue {\n font-style: italic;\n opacity: 0.7;\n }\n\n &__label {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n }\n\n &__start {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(.nano-icon) {\n font-size: var(--opt-icon-size);\n }\n\n ::slotted(:last-child) {\n margin-inline-end: 0.5em;\n }\n }\n\n &__end {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(.nano-icon) {\n font-size: var(--opt-icon-size);\n }\n\n ::slotted(:first-child) {\n margin-inline-start: 0.5em;\n }\n }\n\n &__check {\n visibility: hidden;\n display: flex;\n position: absolute;\n inset-inline-start: 0.6em;\n inset-block-start: calc(50% - 0.6em);\n align-items: center;\n font-size: 0.9em;\n\n #{$self}--selected:not(#{$self}--novalue) & {\n visibility: visible;\n }\n }\n}\n","import {\n Component,\n Prop,\n Host,\n State,\n Watch,\n Element,\n Listen,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { getDirectChildren } from '../../utils/dom';\nimport { debounce } from '../../utils/throttle';\nimport type { OptionInterface } from './option-interface';\n\nlet optIds = 0;\n\n/**\n * Select options to be used with [nano-select](/story/nano-components-select) or [nano-datalist](/story/nano-components-select)\n *\n * @slot - main label. Defaults to `label` or `value` prop\n * @slot checked-icon - icon to indicated checked / selected state. Defaults to fontawesome light/check\n * @slot start - suitable for an icon or content displayed at the start of the main label\n * @slot end - suitable for an icon or content displayed at the end of the main label\n */\n@Component({\n tag: 'nano-option',\n styleUrl: 'option.scss',\n shadow: true,\n})\nexport class Option implements OptionInterface {\n private optId = `nano-option-${optIds++}`;\n @Element() host: HTMLNanoOptionElement;\n @State() hasFocus = false;\n\n constructor() {\n this.handleClick = debounce(this.handleClick.bind(this), 5);\n }\n\n // Public API\n\n /**\n * Value of the option\n */\n @Prop({ mutable: true, reflect: true }) value: string = '';\n\n @Watch('value')\n valueChanged() {\n if ((!this.value || !this.value.length) && !this.label)\n this.value = this.labelContent;\n }\n\n /**\n * Label of the option\n */\n @Prop({ mutable: true, reflect: true }) label: string = '';\n\n @Watch('label')\n labelChanged() {\n if (!this.label || !this.label.length)\n this.label = this.labelContent.length ? this.labelContent : this.value;\n }\n\n /**\n * Whether this option is selected\n */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /**\n * Whether this option should be disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** You can add extra meta for this option. When displayed in a list, users\n * search / filter via extra related terms. Another usecase is 'endonyms'\n */\n @Prop() filterMeta: string = '';\n\n /** Fired when an option is selected */\n @Event() nanoSelect!: EventEmitter<HTMLNanoOptionElement>;\n\n // Event handlers\n\n // stop scrolling on select\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (e.key !== ' ' && e.key !== 'Enter') return;\n e.preventDefault();\n this.nanoSelect.emit(this.host);\n }\n\n private handleClick() {\n if (this.disabled) return;\n this.nanoSelect.emit(this.host);\n }\n\n // Private logic\n\n private get labelContent() {\n return getDirectChildren(this.host, '*:not([slot])', false)\n .map((el) => el.textContent)\n .join(' ')\n .trim();\n }\n\n // Component lifecycle\n\n componentWillLoad() {\n this.valueChanged();\n this.labelChanged();\n }\n\n render() {\n return (\n <Host\n role=\"option\"\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n class=\"nano-option\"\n >\n <div\n onMouseDown={this.handleClick}\n id={this.optId}\n class={{\n option: true,\n 'option--selected': this.selected,\n 'option--disabled': this.disabled,\n 'option--novalue': !this.value,\n }}\n >\n <div part=\"check-icon\" class=\"option__check\">\n <slot name=\"check-icon\">\n <nano-icon name=\"light/check\" aria-hidden=\"true\" />\n </slot>\n </div>\n <div part=\"start\" class=\"option__start\">\n <slot name=\"start\"></slot>\n </div>\n <div part=\"label\" class=\"option__label\">\n <slot>{this.label || this.value}</slot>\n </div>\n <div part=\"end\" class=\"option__end\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"page-dots.js","mappings":"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","names":[],"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"],"version":3}