@nanoporetech-digital/components 7.9.2 → 8.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1782) hide show
  1. package/dist/cjs/active-element-DB7WRcF-.js +69 -0
  2. package/dist/cjs/algolia-data-CFc_52My.js +49 -0
  3. package/dist/cjs/algoliasearch-lite.esm.browser-DWj6KfUw.js +951 -0
  4. package/dist/cjs/component-store-DdyLi-VY.js +326 -0
  5. package/dist/cjs/date-utils-DqYlulq4.js +232 -0
  6. package/dist/cjs/dom-CvQQBdol.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-Bq3U8uF7.js +212 -0
  10. package/dist/cjs/form-control-gUYfW0n-.js +84 -0
  11. package/dist/cjs/fullscreen-Czdw-D-5.js +132 -0
  12. package/dist/cjs/index-B76C6Tm9.js +3299 -0
  13. package/dist/cjs/index-ChTXweZN.js +198 -0
  14. package/dist/cjs/index-D0X7QVou.js +655 -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-BpoUFECt.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-DddxtK2h.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 +5 -9
  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-BNwDI1rg.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 +89 -262
  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 +64 -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 +19 -17
  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-Cj4figHV.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 -20
  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-E6b7S4vs.js +138 -0
  79. package/dist/cjs/popover-CpIMxMWJ.js +1947 -0
  80. package/dist/cjs/renderer-Z8wHFL4e.js +71 -0
  81. package/dist/cjs/scroll-DspYj7mY.js +185 -0
  82. package/dist/cjs/search-insights-BtxuX7Wv.js +50 -0
  83. package/dist/cjs/slot-B4QUWT-c.js +107 -0
  84. package/dist/cjs/style-BccHkuhC.js +58 -0
  85. package/dist/cjs/tabbable-YPytg5sg.js +124 -0
  86. package/dist/cjs/table.worker-BTF0UXAd.js +4 -0
  87. package/dist/cjs/table.worker-bFxUCos7.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 +17 -17
  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 +169 -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 +40 -39
  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 +86 -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 +26 -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 +26 -18
  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 +92 -37
  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 -17
  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 +2 -32
  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 +29 -33
  450. package/dist/components/date-picker.js +33 -45
  451. package/dist/components/details.js +201 -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 -51
  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 +75 -30
  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 +4 -6
  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 +16 -13
  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 -13
  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-CCqzaIh4.js +47 -0
  578. package/dist/esm/algoliasearch-lite.esm.browser-C1SNUAIj.js +949 -0
  579. package/dist/esm/component-store-C-YnXSQE.js +324 -0
  580. package/dist/esm/date-utils-BZYdjI1P.js +217 -0
  581. package/dist/esm/dom-GYcqUAl_.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-C3aqZinc.js +210 -0
  585. package/dist/esm/form-control-BjKTwcqA.js +81 -0
  586. package/dist/esm/fullscreen-T7b44-vN.js +130 -0
  587. package/dist/esm/index-BQSuCPXH.js +652 -0
  588. package/dist/esm/index-DOuz1S3w.js +3260 -0
  589. package/dist/esm/index-DkZY6pJu.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-BdH0bSmg.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-s7sHBYzQ.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 +5 -7
  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-Bm9J8Phu.js +1844 -0
  616. package/dist/esm/nano-data-table.entry.js +11 -0
  617. package/dist/esm/nano-datalist_3.entry.js +88 -259
  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 +64 -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 +18 -14
  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-BEE7xEu_.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 -16
  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-D2WI1eZ0.js +136 -0
  654. package/dist/esm/popover-D1cBIHdr.js +1945 -0
  655. package/dist/esm/renderer-CnE0Hztu.js +66 -0
  656. package/dist/esm/scroll-DHa1CIPP.js +179 -0
  657. package/dist/esm/search-insights-8OL2oeQN.js +48 -0
  658. package/dist/esm/slot-lixS0pd2.js +104 -0
  659. package/dist/esm/style-BrRDhFfF.js +56 -0
  660. package/dist/esm/tabbable-QmV19K7Q.js +121 -0
  661. package/dist/esm/table.worker-BTF0UXAd.js +4 -0
  662. package/dist/esm/table.worker-zeRR3oed.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-CCqzaIh4.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-C-YnXSQE.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-GYcqUAl_.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-C3aqZinc.js +4 -0
  737. package/dist/nano-components/form-control-BjKTwcqA.js +4 -0
  738. package/dist/nano-components/fullscreen-T7b44-vN.js +4 -0
  739. package/dist/nano-components/index-BQSuCPXH.js +4 -0
  740. package/dist/nano-components/index-DOuz1S3w.js +5 -0
  741. package/dist/nano-components/index-DkZY6pJu.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-BdH0bSmg.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-s7sHBYzQ.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 +2050 -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-Bm9J8Phu.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-BEE7xEu_.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-D2WI1eZ0.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-CnE0Hztu.js +4 -0
  839. package/dist/nano-components/scroll-DHa1CIPP.js +4 -0
  840. package/dist/nano-components/search-insights-8OL2oeQN.js +4 -0
  841. package/dist/nano-components/slot-lixS0pd2.js +4 -0
  842. package/dist/nano-components/style-BrRDhFfF.js +4 -0
  843. package/dist/nano-components/tabbable-QmV19K7Q.js +4 -0
  844. package/dist/nano-components/table.worker-BTF0UXAd.js +4 -0
  845. package/dist/nano-components/table.worker-zeRR3oed.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/stencil/vue-output/generate-vue-component.js +73 -0
  849. package/dist/plugins/stencil/vue-output/index.js +4 -0
  850. package/dist/plugins/stencil/vue-output/output-vue.js +95 -0
  851. package/dist/plugins/stencil/vue-output/plugin.js +43 -0
  852. package/dist/plugins/stencil/vue-output/types.js +1 -0
  853. package/dist/plugins/stencil/vue-output/utils.js +81 -0
  854. package/dist/stencil.config.js +49 -22
  855. package/dist/stencil.config.prod.js +4 -2
  856. package/dist/style/components.css +1 -0
  857. package/dist/style/components.css.map +1 -0
  858. package/dist/style/core.css +1 -0
  859. package/dist/style/core.css.map +1 -0
  860. package/dist/style/dark.css +1 -0
  861. package/dist/style/dark.css.map +1 -0
  862. package/dist/style/light.css +1 -0
  863. package/dist/style/light.css.map +1 -0
  864. package/dist/style/nano.css +1 -0
  865. package/dist/style/nano.css.map +1 -0
  866. package/dist/testing/mocks/intersection-observer.js +1 -2
  867. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.d.ts +2 -0
  868. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +2 -0
  869. package/dist/types/components/accordion/accordion.d.ts +10 -12
  870. package/dist/types/components/alert/alert.d.ts +35 -5
  871. package/dist/types/components/alert/alert.helpers.d.ts +7 -5
  872. package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
  873. package/dist/types/components/avatar/avatar.d.ts +13 -0
  874. package/dist/types/components/badge/badge.d.ts +17 -0
  875. package/dist/types/components/breadcrumb/breadcrumb.d.ts +22 -0
  876. package/dist/types/components/card/card.d.ts +20 -0
  877. package/dist/types/components/card-carousel/card-carousel.d.ts +32 -0
  878. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -7
  879. package/dist/types/components/checkbox/checkbox.d.ts +16 -11
  880. package/dist/types/components/collapsible-comparison/collapsible-comparison.d.ts +30 -0
  881. package/dist/types/components/content-links/content-links.d.ts +10 -0
  882. package/dist/types/components/cta/cta.d.ts +30 -0
  883. package/dist/types/components/data-table/table-interface.d.ts +280 -0
  884. package/dist/types/components/data-table/table.d.ts +250 -0
  885. package/dist/types/components/data-table/table.store.d.ts +24 -0
  886. package/dist/types/components/data-table/table.utils.d.ts +63 -0
  887. package/dist/types/components/datalist/datalist.d.ts +5 -5
  888. package/dist/types/components/date-input/date-input.d.ts +8 -5
  889. package/dist/types/components/date-picker/date-picker.d.ts +11 -15
  890. package/dist/types/components/details/details.d.ts +25 -27
  891. package/dist/types/components/dialog/dialog.d.ts +4 -5
  892. package/dist/types/components/dialog/dialog.helpers.d.ts +2 -5
  893. package/dist/types/components/drawer/drawer.d.ts +14 -3
  894. package/dist/types/components/dropdown/dropdown.d.ts +11 -9
  895. package/dist/types/components/field-validator/field-validator.d.ts +4 -6
  896. package/dist/types/components/footer/footer.d.ts +21 -0
  897. package/dist/types/components/form-control/form-control.d.ts +4 -1
  898. package/dist/types/components/global-nav/global-nav.d.ts +111 -280
  899. package/dist/types/components/global-search-results/global-search-results.d.ts +8 -7
  900. package/dist/types/components/grid/grid.d.ts +4 -6
  901. package/dist/types/components/icon/icon.d.ts +21 -14
  902. package/dist/types/components/icon-button/icon-button.d.ts +4 -4
  903. package/dist/types/components/icon-item/icon-item.d.ts +17 -0
  904. package/dist/types/components/in-page-nav/in-page-nav.d.ts +52 -0
  905. package/dist/types/components/input/input.d.ts +59 -21
  906. package/dist/types/components/intersection-observe/intersection-observe.d.ts +6 -2
  907. package/dist/types/components/masked-overflow/masked-overflow.d.ts +94 -0
  908. package/dist/types/components/menu/menu.d.ts +15 -7
  909. package/dist/types/components/nav-item/nav-item.d.ts +30 -84
  910. package/dist/types/components/option/option.d.ts +2 -1
  911. package/dist/types/components/progress-bar/progress-bar.d.ts +4 -1
  912. package/dist/types/components/range/range.d.ts +3 -4
  913. package/dist/types/components/rating/rating.d.ts +0 -1
  914. package/dist/types/components/resize-observe/resize-observe.d.ts +2 -4
  915. package/dist/types/components/select/select.d.ts +20 -21
  916. package/dist/types/components/skeleton/skeleton.d.ts +3 -2
  917. package/dist/types/components/slides/slides.d.ts +3 -3
  918. package/dist/types/components/sortable/sortable.d.ts +5 -5
  919. package/dist/types/components/spinner/spinner.d.ts +4 -0
  920. package/dist/types/components/split-pane/split-pane.d.ts +3 -0
  921. package/dist/types/components/table/table.d.ts +27 -245
  922. package/dist/types/components/tabs/tab-content.d.ts +6 -1
  923. package/dist/types/components/tabs/tab-group.d.ts +17 -37
  924. package/dist/types/components/tabs/tab.d.ts +9 -4
  925. package/dist/types/components/tag/tag.d.ts +30 -0
  926. package/dist/types/components/tooltip/tooltip.d.ts +4 -0
  927. package/dist/types/components.d.ts +2617 -1108
  928. package/dist/types/stencil-public-runtime.d.ts +23 -1
  929. package/dist/types/types/shared.d.ts +1 -1
  930. package/dist/types/utils/active-element.d.ts +20 -0
  931. package/dist/types/utils/popover.d.ts +1 -0
  932. package/dist/types/utils/scroll.d.ts +15 -1
  933. package/dist/types/utils/slot.d.ts +25 -9
  934. package/dist/types/utils/store/component-store.d.ts +21 -0
  935. package/dist/types/utils/style.d.ts +9 -0
  936. package/dist/types/utils/tabbable.d.ts +4 -2
  937. package/dist/types/utils/transitions.d.ts +2 -0
  938. package/dist/wdio.conf.js +1 -3
  939. package/docs-json.json +16655 -13467
  940. package/docs-vscode.json +807 -442
  941. package/hydrate/index.d.ts +38 -24
  942. package/hydrate/index.js +15086 -15545
  943. package/hydrate/index.mjs +15085 -15544
  944. package/loader/cdn.js +1 -1
  945. package/loader/index.cjs.js +1 -1
  946. package/loader/index.es2017.js +1 -1
  947. package/loader/index.js +1 -1
  948. package/package.json +26 -19
  949. package/dist/cjs/active-element-8ffcfe49.js +0 -21
  950. package/dist/cjs/active-element-8ffcfe49.js.map +0 -1
  951. package/dist/cjs/algolia-data-ca9cd58e.js +0 -51
  952. package/dist/cjs/algolia-data-ca9cd58e.js.map +0 -1
  953. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js +0 -968
  954. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js.map +0 -1
  955. package/dist/cjs/app-globals-3e14cb71.js +0 -41
  956. package/dist/cjs/app-globals-3e14cb71.js.map +0 -1
  957. package/dist/cjs/component-store-b8d4bd91.js +0 -325
  958. package/dist/cjs/component-store-b8d4bd91.js.map +0 -1
  959. package/dist/cjs/date-utils-d9d3e6b4.js +0 -234
  960. package/dist/cjs/date-utils-d9d3e6b4.js.map +0 -1
  961. package/dist/cjs/dom-b99a1aec.js +0 -83
  962. package/dist/cjs/dom-b99a1aec.js.map +0 -1
  963. package/dist/cjs/drag-c0a99167.js +0 -74
  964. package/dist/cjs/drag-c0a99167.js.map +0 -1
  965. package/dist/cjs/events-96e9a3d4.js +0 -39
  966. package/dist/cjs/events-96e9a3d4.js.map +0 -1
  967. package/dist/cjs/fade-6a5004f4.js +0 -214
  968. package/dist/cjs/fade-6a5004f4.js.map +0 -1
  969. package/dist/cjs/focus-visible-39b54d1f.js +0 -68
  970. package/dist/cjs/focus-visible-39b54d1f.js.map +0 -1
  971. package/dist/cjs/form-control-5bb39cc2.js +0 -82
  972. package/dist/cjs/form-control-5bb39cc2.js.map +0 -1
  973. package/dist/cjs/fullscreen-f5db9bbe.js +0 -134
  974. package/dist/cjs/fullscreen-f5db9bbe.js.map +0 -1
  975. package/dist/cjs/index-41263d6e.js +0 -660
  976. package/dist/cjs/index-41263d6e.js.map +0 -1
  977. package/dist/cjs/index-615cdb64.js +0 -3085
  978. package/dist/cjs/index-615cdb64.js.map +0 -1
  979. package/dist/cjs/index-a92a0379.js +0 -200
  980. package/dist/cjs/index-a92a0379.js.map +0 -1
  981. package/dist/cjs/index-browser-745018ea.js +0 -16
  982. package/dist/cjs/index-browser-745018ea.js.map +0 -1
  983. package/dist/cjs/index.cjs.js.map +0 -1
  984. package/dist/cjs/lazyload-13d72e60.js +0 -96
  985. package/dist/cjs/lazyload-13d72e60.js.map +0 -1
  986. package/dist/cjs/loader.cjs.js.map +0 -1
  987. package/dist/cjs/local-my-account-53c19159.js +0 -472
  988. package/dist/cjs/local-my-account-53c19159.js.map +0 -1
  989. package/dist/cjs/math-ea9cdc71.js +0 -41
  990. package/dist/cjs/math-ea9cdc71.js.map +0 -1
  991. package/dist/cjs/modal-ff47c677.js +0 -51
  992. package/dist/cjs/modal-ff47c677.js.map +0 -1
  993. package/dist/cjs/nano-accordion.cjs.entry.js.map +0 -1
  994. package/dist/cjs/nano-alert.cjs.entry.js.map +0 -1
  995. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +0 -1
  996. package/dist/cjs/nano-algolia-pagination.cjs.entry.js.map +0 -1
  997. package/dist/cjs/nano-algolia-results.cjs.entry.js.map +0 -1
  998. package/dist/cjs/nano-algolia.cjs.entry.js.map +0 -1
  999. package/dist/cjs/nano-animation.cjs.entry.js.map +0 -1
  1000. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +0 -1
  1001. package/dist/cjs/nano-checkbox.cjs.entry.js.map +0 -1
  1002. package/dist/cjs/nano-components.cjs.js.map +0 -1
  1003. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/nano-date-input.cjs.entry.js.map +0 -1
  1005. package/dist/cjs/nano-date-picker.cjs.entry.js +0 -393
  1006. package/dist/cjs/nano-date-picker.cjs.entry.js.map +0 -1
  1007. package/dist/cjs/nano-details.cjs.entry.js.map +0 -1
  1008. package/dist/cjs/nano-dialog.cjs.entry.js.map +0 -1
  1009. package/dist/cjs/nano-drawer.cjs.entry.js +0 -289
  1010. package/dist/cjs/nano-drawer.cjs.entry.js.map +0 -1
  1011. package/dist/cjs/nano-dropdown.cjs.entry.js +0 -373
  1012. package/dist/cjs/nano-dropdown.cjs.entry.js.map +0 -1
  1013. package/dist/cjs/nano-field-validator.cjs.entry.js.map +0 -1
  1014. package/dist/cjs/nano-file-upload.cjs.entry.js.map +0 -1
  1015. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +0 -1107
  1016. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +0 -1
  1017. package/dist/cjs/nano-global-nav.cjs.entry.js.map +0 -1
  1018. package/dist/cjs/nano-global-search-results.cjs.entry.js +0 -636
  1019. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +0 -1
  1020. package/dist/cjs/nano-grid-item.cjs.entry.js.map +0 -1
  1021. package/dist/cjs/nano-grid_2.cjs.entry.js.map +0 -1
  1022. package/dist/cjs/nano-hero.cjs.entry.js.map +0 -1
  1023. package/dist/cjs/nano-icon-button_2.cjs.entry.js +0 -341
  1024. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +0 -1
  1025. package/dist/cjs/nano-icon.cjs.entry.js +0 -320
  1026. package/dist/cjs/nano-icon.cjs.entry.js.map +0 -1
  1027. package/dist/cjs/nano-input.cjs.entry.js +0 -548
  1028. package/dist/cjs/nano-input.cjs.entry.js.map +0 -1
  1029. package/dist/cjs/nano-intersection-observe.cjs.entry.js.map +0 -1
  1030. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +0 -1
  1031. package/dist/cjs/nano-more-less.cjs.entry.js.map +0 -1
  1032. package/dist/cjs/nano-overflow-nav.cjs.entry.js +0 -342
  1033. package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +0 -1
  1034. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +0 -1
  1035. package/dist/cjs/nano-range.cjs.entry.js.map +0 -1
  1036. package/dist/cjs/nano-rating.cjs.entry.js.map +0 -1
  1037. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +0 -1
  1038. package/dist/cjs/nano-slide.cjs.entry.js.map +0 -1
  1039. package/dist/cjs/nano-slides-0a60315d.js +0 -3043
  1040. package/dist/cjs/nano-slides-0a60315d.js.map +0 -1
  1041. package/dist/cjs/nano-slides.cjs.entry.js.map +0 -1
  1042. package/dist/cjs/nano-sortable.cjs.entry.js.map +0 -1
  1043. package/dist/cjs/nano-spinner.cjs.entry.js.map +0 -1
  1044. package/dist/cjs/nano-split-pane.cjs.entry.js.map +0 -1
  1045. package/dist/cjs/nano-sticker.cjs.entry.js.map +0 -1
  1046. package/dist/cjs/nano-tab-content.cjs.entry.js.map +0 -1
  1047. package/dist/cjs/nano-tab-group.cjs.entry.js.map +0 -1
  1048. package/dist/cjs/nano-tab.cjs.entry.js.map +0 -1
  1049. package/dist/cjs/nano-table-132f2056.js +0 -1880
  1050. package/dist/cjs/nano-table-132f2056.js.map +0 -1
  1051. package/dist/cjs/nano-table.cjs.entry.js.map +0 -1
  1052. package/dist/cjs/page-dots-ecdd64d1.js +0 -141
  1053. package/dist/cjs/page-dots-ecdd64d1.js.map +0 -1
  1054. package/dist/cjs/popover-3dfc73f6.js +0 -1932
  1055. package/dist/cjs/popover-3dfc73f6.js.map +0 -1
  1056. package/dist/cjs/renderer-cd8b6098.js +0 -63
  1057. package/dist/cjs/renderer-cd8b6098.js.map +0 -1
  1058. package/dist/cjs/scroll-a3e5c6c6.js +0 -128
  1059. package/dist/cjs/scroll-a3e5c6c6.js.map +0 -1
  1060. package/dist/cjs/scroll-parent-798d9651.js +0 -31
  1061. package/dist/cjs/scroll-parent-798d9651.js.map +0 -1
  1062. package/dist/cjs/search-insights-694b3436.js +0 -53
  1063. package/dist/cjs/search-insights-694b3436.js.map +0 -1
  1064. package/dist/cjs/slot-4e057042.js +0 -61
  1065. package/dist/cjs/slot-4e057042.js.map +0 -1
  1066. package/dist/cjs/tabbable-619dc959.js +0 -112
  1067. package/dist/cjs/tabbable-619dc959.js.map +0 -1
  1068. package/dist/cjs/table.worker-1a4b9015.js +0 -33
  1069. package/dist/cjs/table.worker-1a4b9015.js.map +0 -1
  1070. package/dist/cjs/table.worker-da5412ed.js +0 -4
  1071. package/dist/cjs/theme-a2f7ddf8.js +0 -49
  1072. package/dist/cjs/theme-a2f7ddf8.js.map +0 -1
  1073. package/dist/cjs/throttle-46a497fb.js +0 -54
  1074. package/dist/cjs/throttle-46a497fb.js.map +0 -1
  1075. package/dist/cjs/transitions-a2b2090b.js +0 -62
  1076. package/dist/cjs/transitions-a2b2090b.js.map +0 -1
  1077. package/dist/collection/components/accordion/accordion.js.map +0 -1
  1078. package/dist/collection/components/alert/alert.helpers.js.map +0 -1
  1079. package/dist/collection/components/alert/alert.js.map +0 -1
  1080. package/dist/collection/components/algolia/algolia-data.js.map +0 -1
  1081. package/dist/collection/components/algolia/algolia-filter.js.map +0 -1
  1082. package/dist/collection/components/algolia/algolia-interface.js.map +0 -1
  1083. package/dist/collection/components/algolia/algolia-pagination.js.map +0 -1
  1084. package/dist/collection/components/algolia/algolia-results.js.map +0 -1
  1085. package/dist/collection/components/algolia/algolia.js.map +0 -1
  1086. package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +0 -1
  1087. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +0 -1
  1088. package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +0 -1
  1089. package/dist/collection/components/algolia/lib/squirrelly/config.js.map +0 -1
  1090. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +0 -1
  1091. package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +0 -1
  1092. package/dist/collection/components/algolia/lib/squirrelly/err.js.map +0 -1
  1093. package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +0 -1
  1094. package/dist/collection/components/algolia/lib/squirrelly/render.js.map +0 -1
  1095. package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +0 -1
  1096. package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +0 -1
  1097. package/dist/collection/components/algolia/lib/template.js.map +0 -1
  1098. package/dist/collection/components/animation/animation.js.map +0 -1
  1099. package/dist/collection/components/animation/animations/attention_seekers/bounce.js.map +0 -1
  1100. package/dist/collection/components/animation/animations/attention_seekers/flash.js.map +0 -1
  1101. package/dist/collection/components/animation/animations/attention_seekers/headShake.js.map +0 -1
  1102. package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js.map +0 -1
  1103. package/dist/collection/components/animation/animations/attention_seekers/jello.js.map +0 -1
  1104. package/dist/collection/components/animation/animations/attention_seekers/pulse.js.map +0 -1
  1105. package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js.map +0 -1
  1106. package/dist/collection/components/animation/animations/attention_seekers/shake.js.map +0 -1
  1107. package/dist/collection/components/animation/animations/attention_seekers/shakeX.js.map +0 -1
  1108. package/dist/collection/components/animation/animations/attention_seekers/shakeY.js.map +0 -1
  1109. package/dist/collection/components/animation/animations/attention_seekers/swing.js.map +0 -1
  1110. package/dist/collection/components/animation/animations/attention_seekers/tada.js.map +0 -1
  1111. package/dist/collection/components/animation/animations/attention_seekers/wobble.js.map +0 -1
  1112. package/dist/collection/components/animation/animations/back_entrances/backInDown.js.map +0 -1
  1113. package/dist/collection/components/animation/animations/back_entrances/backInLeft.js.map +0 -1
  1114. package/dist/collection/components/animation/animations/back_entrances/backInRight.js.map +0 -1
  1115. package/dist/collection/components/animation/animations/back_entrances/backInUp.js.map +0 -1
  1116. package/dist/collection/components/animation/animations/back_exits/backOutDown.js.map +0 -1
  1117. package/dist/collection/components/animation/animations/back_exits/backOutLeft.js.map +0 -1
  1118. package/dist/collection/components/animation/animations/back_exits/backOutRight.js.map +0 -1
  1119. package/dist/collection/components/animation/animations/back_exits/backOutUp.js.map +0 -1
  1120. package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js.map +0 -1
  1121. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js.map +0 -1
  1122. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js.map +0 -1
  1123. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js.map +0 -1
  1124. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js.map +0 -1
  1125. package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js.map +0 -1
  1126. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js.map +0 -1
  1127. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js.map +0 -1
  1128. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js.map +0 -1
  1129. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js.map +0 -1
  1130. package/dist/collection/components/animation/animations/easings/easings.js.map +0 -1
  1131. package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js.map +0 -1
  1132. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js.map +0 -1
  1133. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js.map +0 -1
  1134. package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js.map +0 -1
  1135. package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js.map +0 -1
  1136. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js.map +0 -1
  1137. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js.map +0 -1
  1138. package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js.map +0 -1
  1139. package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js.map +0 -1
  1140. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js.map +0 -1
  1141. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js.map +0 -1
  1142. package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js.map +0 -1
  1143. package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js.map +0 -1
  1144. package/dist/collection/components/animation/animations/fading_exits/fadeOut.js.map +0 -1
  1145. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js.map +0 -1
  1146. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js.map +0 -1
  1147. package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js.map +0 -1
  1148. package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js.map +0 -1
  1149. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js.map +0 -1
  1150. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js.map +0 -1
  1151. package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js.map +0 -1
  1152. package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js.map +0 -1
  1153. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js.map +0 -1
  1154. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js.map +0 -1
  1155. package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js.map +0 -1
  1156. package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js.map +0 -1
  1157. package/dist/collection/components/animation/animations/flippers/flip.js.map +0 -1
  1158. package/dist/collection/components/animation/animations/flippers/flipInX.js.map +0 -1
  1159. package/dist/collection/components/animation/animations/flippers/flipInY.js.map +0 -1
  1160. package/dist/collection/components/animation/animations/flippers/flipOutX.js.map +0 -1
  1161. package/dist/collection/components/animation/animations/flippers/flipOutY.js.map +0 -1
  1162. package/dist/collection/components/animation/animations/index.js.map +0 -1
  1163. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js.map +0 -1
  1164. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js.map +0 -1
  1165. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js.map +0 -1
  1166. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js.map +0 -1
  1167. package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js.map +0 -1
  1168. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js.map +0 -1
  1169. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js.map +0 -1
  1170. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js.map +0 -1
  1171. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js.map +0 -1
  1172. package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js.map +0 -1
  1173. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js.map +0 -1
  1174. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js.map +0 -1
  1175. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js.map +0 -1
  1176. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js.map +0 -1
  1177. package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js.map +0 -1
  1178. package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js.map +0 -1
  1179. package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js.map +0 -1
  1180. package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js.map +0 -1
  1181. package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js.map +0 -1
  1182. package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js.map +0 -1
  1183. package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js.map +0 -1
  1184. package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js.map +0 -1
  1185. package/dist/collection/components/animation/animations/specials/hinge.js.map +0 -1
  1186. package/dist/collection/components/animation/animations/specials/jackInTheBox.js.map +0 -1
  1187. package/dist/collection/components/animation/animations/specials/rollIn.js.map +0 -1
  1188. package/dist/collection/components/animation/animations/specials/rollOut.js.map +0 -1
  1189. package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js.map +0 -1
  1190. package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js.map +0 -1
  1191. package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js.map +0 -1
  1192. package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js.map +0 -1
  1193. package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js.map +0 -1
  1194. package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js.map +0 -1
  1195. package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js.map +0 -1
  1196. package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js.map +0 -1
  1197. package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js.map +0 -1
  1198. package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js.map +0 -1
  1199. package/dist/collection/components/checkbox/checkbox-group.js.map +0 -1
  1200. package/dist/collection/components/checkbox/checkbox-interface.js.map +0 -1
  1201. package/dist/collection/components/checkbox/checkbox.js.map +0 -1
  1202. package/dist/collection/components/datalist/datalist.js.map +0 -1
  1203. package/dist/collection/components/date-input/date-input.js.map +0 -1
  1204. package/dist/collection/components/date-picker/date-picker.js.map +0 -1
  1205. package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js.map +0 -1
  1206. package/dist/collection/components/date-picker/duet-date-picker/date-localization.js.map +0 -1
  1207. package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js.map +0 -1
  1208. package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js.map +0 -1
  1209. package/dist/collection/components/details/details.js.map +0 -1
  1210. package/dist/collection/components/dialog/dialog.helpers.js.map +0 -1
  1211. package/dist/collection/components/dialog/dialog.js.map +0 -1
  1212. package/dist/collection/components/drawer/drawer.js.map +0 -1
  1213. package/dist/collection/components/dropdown/dropdown.js.map +0 -1
  1214. package/dist/collection/components/field-validator/field-validator.js.map +0 -1
  1215. package/dist/collection/components/file-upload/file-upload-list.js.map +0 -1
  1216. package/dist/collection/components/file-upload/file-upload.js.map +0 -1
  1217. package/dist/collection/components/form-control/form-control.js.map +0 -1
  1218. package/dist/collection/components/global-nav/assets/local-my-account.json +0 -447
  1219. package/dist/collection/components/global-nav/global-nav-user-profile.js +0 -70
  1220. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +0 -1
  1221. package/dist/collection/components/global-nav/global-nav.js.map +0 -1
  1222. package/dist/collection/components/global-nav/style/global-nav.css +0 -893
  1223. package/dist/collection/components/global-search-results/global-search-results.js.map +0 -1
  1224. package/dist/collection/components/grid/grid-item.js.map +0 -1
  1225. package/dist/collection/components/grid/grid.js.map +0 -1
  1226. package/dist/collection/components/hero/hero.js.map +0 -1
  1227. package/dist/collection/components/icon/icon.js.map +0 -1
  1228. package/dist/collection/components/icon/request.js.map +0 -1
  1229. package/dist/collection/components/icon/utils.js.map +0 -1
  1230. package/dist/collection/components/icon/validate.js.map +0 -1
  1231. package/dist/collection/components/icon-button/icon-button.js.map +0 -1
  1232. package/dist/collection/components/img/img.js.map +0 -1
  1233. package/dist/collection/components/input/input.js.map +0 -1
  1234. package/dist/collection/components/intersection-observe/intersection-observe.js.map +0 -1
  1235. package/dist/collection/components/menu/menu.js.map +0 -1
  1236. package/dist/collection/components/menu-drawer/menu-drawer.js.map +0 -1
  1237. package/dist/collection/components/more-less/more-less.js.map +0 -1
  1238. package/dist/collection/components/nav-item/nav-item.js.map +0 -1
  1239. package/dist/collection/components/option/option.js.map +0 -1
  1240. package/dist/collection/components/overflow-nav/overflow-nav.css +0 -226
  1241. package/dist/collection/components/overflow-nav/overflow-nav.js +0 -537
  1242. package/dist/collection/components/overflow-nav/overflow-nav.js.map +0 -1
  1243. package/dist/collection/components/progress-bar/progress-bar.js.map +0 -1
  1244. package/dist/collection/components/range/range.js.map +0 -1
  1245. package/dist/collection/components/rating/rating.js.map +0 -1
  1246. package/dist/collection/components/resize-observe/resize-observe.js.map +0 -1
  1247. package/dist/collection/components/select/select.js.map +0 -1
  1248. package/dist/collection/components/skeleton/skeleton.js.map +0 -1
  1249. package/dist/collection/components/slides/lib/js/animate.js.map +0 -1
  1250. package/dist/collection/components/slides/lib/js/cell.js.map +0 -1
  1251. package/dist/collection/components/slides/lib/js/drag.js.map +0 -1
  1252. package/dist/collection/components/slides/lib/js/fade.js.map +0 -1
  1253. package/dist/collection/components/slides/lib/js/flickity.js.map +0 -1
  1254. package/dist/collection/components/slides/lib/js/fullscreen.js.map +0 -1
  1255. package/dist/collection/components/slides/lib/js/index.js.map +0 -1
  1256. package/dist/collection/components/slides/lib/js/lazyload.js.map +0 -1
  1257. package/dist/collection/components/slides/lib/js/page-dots.js.map +0 -1
  1258. package/dist/collection/components/slides/lib/js/player.js.map +0 -1
  1259. package/dist/collection/components/slides/lib/js/prev-next-button.js.map +0 -1
  1260. package/dist/collection/components/slides/lib/js/slide.js.map +0 -1
  1261. package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +0 -1
  1262. package/dist/collection/components/slides/lib/js/utils/gestures.js.map +0 -1
  1263. package/dist/collection/components/slides/lib/js/utils/get-size.js.map +0 -1
  1264. package/dist/collection/components/slides/lib/js/utils/utils.js.map +0 -1
  1265. package/dist/collection/components/slides/slide.js.map +0 -1
  1266. package/dist/collection/components/slides/slides.js.map +0 -1
  1267. package/dist/collection/components/sortable/sortable.js.map +0 -1
  1268. package/dist/collection/components/spinner/spinner.js.map +0 -1
  1269. package/dist/collection/components/split-pane/split-pane.js.map +0 -1
  1270. package/dist/collection/components/sticker/sticker.js.map +0 -1
  1271. package/dist/collection/components/table/table.cell.js +0 -113
  1272. package/dist/collection/components/table/table.cell.js.map +0 -1
  1273. package/dist/collection/components/table/table.constants.js +0 -5
  1274. package/dist/collection/components/table/table.constants.js.map +0 -1
  1275. package/dist/collection/components/table/table.header.js +0 -63
  1276. package/dist/collection/components/table/table.header.js.map +0 -1
  1277. package/dist/collection/components/table/table.js.map +0 -1
  1278. package/dist/collection/components/table/table.pin-service.js +0 -389
  1279. package/dist/collection/components/table/table.pin-service.js.map +0 -1
  1280. package/dist/collection/components/table/table.row.js +0 -113
  1281. package/dist/collection/components/table/table.row.js.map +0 -1
  1282. package/dist/collection/components/table/table.store.js +0 -145
  1283. package/dist/collection/components/table/table.store.js.map +0 -1
  1284. package/dist/collection/components/table/table.utils.js +0 -157
  1285. package/dist/collection/components/table/table.utils.js.map +0 -1
  1286. package/dist/collection/components/table/table.worker.js +0 -221
  1287. package/dist/collection/components/table/table.worker.js.map +0 -1
  1288. package/dist/collection/components/tabs/tab-content.js.map +0 -1
  1289. package/dist/collection/components/tabs/tab-group.js.map +0 -1
  1290. package/dist/collection/components/tabs/tab.js.map +0 -1
  1291. package/dist/collection/components/tooltip/tooltip.js.map +0 -1
  1292. package/dist/collection/global/script/global.js.map +0 -1
  1293. package/dist/collection/index.js.map +0 -1
  1294. package/dist/collection/types/shared.js.map +0 -1
  1295. package/dist/collection/utils/active-element.js.map +0 -1
  1296. package/dist/collection/utils/constructible-style.js.map +0 -1
  1297. package/dist/collection/utils/custom-template.js.map +0 -1
  1298. package/dist/collection/utils/date-utils.js.map +0 -1
  1299. package/dist/collection/utils/dom.js.map +0 -1
  1300. package/dist/collection/utils/drag.js.map +0 -1
  1301. package/dist/collection/utils/events.js.map +0 -1
  1302. package/dist/collection/utils/fetch.js.map +0 -1
  1303. package/dist/collection/utils/focus-visible.js +0 -63
  1304. package/dist/collection/utils/focus-visible.js.map +0 -1
  1305. package/dist/collection/utils/form.js.map +0 -1
  1306. package/dist/collection/utils/gesture/gesture-controller.js.map +0 -1
  1307. package/dist/collection/utils/gesture/index.js.map +0 -1
  1308. package/dist/collection/utils/gesture/listener.js.map +0 -1
  1309. package/dist/collection/utils/gesture/pointer-events.js.map +0 -1
  1310. package/dist/collection/utils/gesture/recognizers.js.map +0 -1
  1311. package/dist/collection/utils/gesture/swipe-back.js.map +0 -1
  1312. package/dist/collection/utils/math.js.map +0 -1
  1313. package/dist/collection/utils/modal.js.map +0 -1
  1314. package/dist/collection/utils/popover.js.map +0 -1
  1315. package/dist/collection/utils/promise-queue.js.map +0 -1
  1316. package/dist/collection/utils/renderer.js.map +0 -1
  1317. package/dist/collection/utils/scroll-parent.js +0 -26
  1318. package/dist/collection/utils/scroll-parent.js.map +0 -1
  1319. package/dist/collection/utils/scroll.js.map +0 -1
  1320. package/dist/collection/utils/search-insights.js.map +0 -1
  1321. package/dist/collection/utils/slot.js.map +0 -1
  1322. package/dist/collection/utils/store/component-store.js.map +0 -1
  1323. package/dist/collection/utils/store/get-set.js.map +0 -1
  1324. package/dist/collection/utils/tabbable.js.map +0 -1
  1325. package/dist/collection/utils/testing/index.js.map +0 -1
  1326. package/dist/collection/utils/theme.js.map +0 -1
  1327. package/dist/collection/utils/throttle.js.map +0 -1
  1328. package/dist/collection/utils/transitions.js.map +0 -1
  1329. package/dist/components/active-element.js.map +0 -1
  1330. package/dist/components/algolia-data.js.map +0 -1
  1331. package/dist/components/algolia.js.map +0 -1
  1332. package/dist/components/algoliasearch-lite.esm.browser.js +0 -966
  1333. package/dist/components/algoliasearch-lite.esm.browser.js.map +0 -1
  1334. package/dist/components/component-store.js.map +0 -1
  1335. package/dist/components/datalist.js.map +0 -1
  1336. package/dist/components/date-picker.js.map +0 -1
  1337. package/dist/components/dom.js.map +0 -1
  1338. package/dist/components/drag.js.map +0 -1
  1339. package/dist/components/dropdown.js.map +0 -1
  1340. package/dist/components/events.js.map +0 -1
  1341. package/dist/components/fade.js.map +0 -1
  1342. package/dist/components/focus-visible.js +0 -66
  1343. package/dist/components/focus-visible.js.map +0 -1
  1344. package/dist/components/form-control.js.map +0 -1
  1345. package/dist/components/fullscreen.js.map +0 -1
  1346. package/dist/components/global-nav-user-profile.js +0 -50
  1347. package/dist/components/global-nav-user-profile.js.map +0 -1
  1348. package/dist/components/grid.js.map +0 -1
  1349. package/dist/components/icon-button.js.map +0 -1
  1350. package/dist/components/icon.js.map +0 -1
  1351. package/dist/components/img.js.map +0 -1
  1352. package/dist/components/index-browser.js.map +0 -1
  1353. package/dist/components/index.js.map +0 -1
  1354. package/dist/components/index2.js.map +0 -1
  1355. package/dist/components/index3.js.map +0 -1
  1356. package/dist/components/input.js.map +0 -1
  1357. package/dist/components/lazyload.js.map +0 -1
  1358. package/dist/components/local-my-account.js +0 -462
  1359. package/dist/components/local-my-account.js.map +0 -1
  1360. package/dist/components/math.js.map +0 -1
  1361. package/dist/components/menu.js.map +0 -1
  1362. package/dist/components/modal.js.map +0 -1
  1363. package/dist/components/nano-accordion.js.map +0 -1
  1364. package/dist/components/nano-alert.js.map +0 -1
  1365. package/dist/components/nano-algolia-filter.js.map +0 -1
  1366. package/dist/components/nano-algolia-pagination.js.map +0 -1
  1367. package/dist/components/nano-algolia-results.js.map +0 -1
  1368. package/dist/components/nano-algolia.js.map +0 -1
  1369. package/dist/components/nano-animation.js.map +0 -1
  1370. package/dist/components/nano-checkbox-group.js.map +0 -1
  1371. package/dist/components/nano-checkbox.js.map +0 -1
  1372. package/dist/components/nano-datalist.js.map +0 -1
  1373. package/dist/components/nano-date-input.js.map +0 -1
  1374. package/dist/components/nano-date-picker.js.map +0 -1
  1375. package/dist/components/nano-details.js.map +0 -1
  1376. package/dist/components/nano-dialog.js.map +0 -1
  1377. package/dist/components/nano-drawer.js.map +0 -1
  1378. package/dist/components/nano-dropdown.js.map +0 -1
  1379. package/dist/components/nano-field-validator.js.map +0 -1
  1380. package/dist/components/nano-file-upload.js.map +0 -1
  1381. package/dist/components/nano-global-nav-user-profile.d.ts +0 -11
  1382. package/dist/components/nano-global-nav-user-profile.js +0 -11
  1383. package/dist/components/nano-global-nav-user-profile.js.map +0 -1
  1384. package/dist/components/nano-global-nav.js.map +0 -1
  1385. package/dist/components/nano-global-search-results.js.map +0 -1
  1386. package/dist/components/nano-grid-item.js.map +0 -1
  1387. package/dist/components/nano-grid.js.map +0 -1
  1388. package/dist/components/nano-hero.js.map +0 -1
  1389. package/dist/components/nano-icon-button.js.map +0 -1
  1390. package/dist/components/nano-icon.js.map +0 -1
  1391. package/dist/components/nano-img.js.map +0 -1
  1392. package/dist/components/nano-input.js.map +0 -1
  1393. package/dist/components/nano-intersection-observe.js.map +0 -1
  1394. package/dist/components/nano-menu-drawer.js.map +0 -1
  1395. package/dist/components/nano-menu.js.map +0 -1
  1396. package/dist/components/nano-more-less.js.map +0 -1
  1397. package/dist/components/nano-nav-item.js.map +0 -1
  1398. package/dist/components/nano-option.js.map +0 -1
  1399. package/dist/components/nano-overflow-nav.d.ts +0 -11
  1400. package/dist/components/nano-overflow-nav.js +0 -390
  1401. package/dist/components/nano-overflow-nav.js.map +0 -1
  1402. package/dist/components/nano-progress-bar.js.map +0 -1
  1403. package/dist/components/nano-range.js.map +0 -1
  1404. package/dist/components/nano-rating.js.map +0 -1
  1405. package/dist/components/nano-resize-observe.js.map +0 -1
  1406. package/dist/components/nano-select.js.map +0 -1
  1407. package/dist/components/nano-skeleton.js.map +0 -1
  1408. package/dist/components/nano-slide.js.map +0 -1
  1409. package/dist/components/nano-slides.js.map +0 -1
  1410. package/dist/components/nano-sortable.js.map +0 -1
  1411. package/dist/components/nano-spinner.js.map +0 -1
  1412. package/dist/components/nano-split-pane.js.map +0 -1
  1413. package/dist/components/nano-sticker.js.map +0 -1
  1414. package/dist/components/nano-tab-content.js.map +0 -1
  1415. package/dist/components/nano-tab-group.js.map +0 -1
  1416. package/dist/components/nano-tab.js.map +0 -1
  1417. package/dist/components/nano-table.js.map +0 -1
  1418. package/dist/components/nano-tooltip.js.map +0 -1
  1419. package/dist/components/nav-item.js.map +0 -1
  1420. package/dist/components/option.js.map +0 -1
  1421. package/dist/components/page-dots.js.map +0 -1
  1422. package/dist/components/popover.js.map +0 -1
  1423. package/dist/components/progress-bar.js.map +0 -1
  1424. package/dist/components/renderer.js.map +0 -1
  1425. package/dist/components/resize-observe.js.map +0 -1
  1426. package/dist/components/scroll-parent.js +0 -29
  1427. package/dist/components/scroll-parent.js.map +0 -1
  1428. package/dist/components/scroll.js.map +0 -1
  1429. package/dist/components/search-insights.js +0 -51
  1430. package/dist/components/search-insights.js.map +0 -1
  1431. package/dist/components/select.js.map +0 -1
  1432. package/dist/components/skeleton.js.map +0 -1
  1433. package/dist/components/slot.js.map +0 -1
  1434. package/dist/components/spinner.js.map +0 -1
  1435. package/dist/components/sticker.js.map +0 -1
  1436. package/dist/components/tabbable.js.map +0 -1
  1437. package/dist/components/table.worker.js.map +0 -1
  1438. package/dist/components/theme.js.map +0 -1
  1439. package/dist/components/throttle.js.map +0 -1
  1440. package/dist/components/tooltip.js.map +0 -1
  1441. package/dist/components/transitions.js +0 -60
  1442. package/dist/components/transitions.js.map +0 -1
  1443. package/dist/esm/active-element-a2502948.js +0 -19
  1444. package/dist/esm/active-element-a2502948.js.map +0 -1
  1445. package/dist/esm/algolia-data-f0f72f1d.js +0 -49
  1446. package/dist/esm/algolia-data-f0f72f1d.js.map +0 -1
  1447. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js +0 -966
  1448. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1449. package/dist/esm/app-globals-f0120bbe.js +0 -39
  1450. package/dist/esm/app-globals-f0120bbe.js.map +0 -1
  1451. package/dist/esm/component-store-199a9fd8.js +0 -323
  1452. package/dist/esm/component-store-199a9fd8.js.map +0 -1
  1453. package/dist/esm/date-utils-1e39c114.js +0 -219
  1454. package/dist/esm/date-utils-1e39c114.js.map +0 -1
  1455. package/dist/esm/dom-fafdec9a.js +0 -78
  1456. package/dist/esm/dom-fafdec9a.js.map +0 -1
  1457. package/dist/esm/drag-9d765d2d.js +0 -72
  1458. package/dist/esm/drag-9d765d2d.js.map +0 -1
  1459. package/dist/esm/events-f38f3e59.js +0 -36
  1460. package/dist/esm/events-f38f3e59.js.map +0 -1
  1461. package/dist/esm/fade-ce1a4958.js +0 -212
  1462. package/dist/esm/fade-ce1a4958.js.map +0 -1
  1463. package/dist/esm/focus-visible-e5f02c46.js +0 -66
  1464. package/dist/esm/focus-visible-e5f02c46.js.map +0 -1
  1465. package/dist/esm/form-control-f48fa873.js +0 -79
  1466. package/dist/esm/form-control-f48fa873.js.map +0 -1
  1467. package/dist/esm/fullscreen-52d62028.js +0 -132
  1468. package/dist/esm/fullscreen-52d62028.js.map +0 -1
  1469. package/dist/esm/index-6cc72cd9.js +0 -3045
  1470. package/dist/esm/index-6cc72cd9.js.map +0 -1
  1471. package/dist/esm/index-a2043fcd.js +0 -657
  1472. package/dist/esm/index-a2043fcd.js.map +0 -1
  1473. package/dist/esm/index-browser-8c563093.js +0 -8
  1474. package/dist/esm/index-browser-8c563093.js.map +0 -1
  1475. package/dist/esm/index-f5f7b950.js +0 -198
  1476. package/dist/esm/index-f5f7b950.js.map +0 -1
  1477. package/dist/esm/index.js.map +0 -1
  1478. package/dist/esm/lazyload-8ff69ba4.js +0 -94
  1479. package/dist/esm/lazyload-8ff69ba4.js.map +0 -1
  1480. package/dist/esm/loader.js.map +0 -1
  1481. package/dist/esm/local-my-account-3ba1ec04.js +0 -462
  1482. package/dist/esm/local-my-account-3ba1ec04.js.map +0 -1
  1483. package/dist/esm/math-d160f8a6.js +0 -38
  1484. package/dist/esm/math-d160f8a6.js.map +0 -1
  1485. package/dist/esm/modal-02828a39.js +0 -49
  1486. package/dist/esm/modal-02828a39.js.map +0 -1
  1487. package/dist/esm/nano-accordion.entry.js.map +0 -1
  1488. package/dist/esm/nano-alert.entry.js.map +0 -1
  1489. package/dist/esm/nano-algolia-filter.entry.js.map +0 -1
  1490. package/dist/esm/nano-algolia-pagination.entry.js.map +0 -1
  1491. package/dist/esm/nano-algolia-results.entry.js.map +0 -1
  1492. package/dist/esm/nano-algolia.entry.js.map +0 -1
  1493. package/dist/esm/nano-animation.entry.js.map +0 -1
  1494. package/dist/esm/nano-checkbox-group.entry.js.map +0 -1
  1495. package/dist/esm/nano-checkbox.entry.js.map +0 -1
  1496. package/dist/esm/nano-components.js.map +0 -1
  1497. package/dist/esm/nano-datalist_3.entry.js.map +0 -1
  1498. package/dist/esm/nano-date-input.entry.js.map +0 -1
  1499. package/dist/esm/nano-date-picker.entry.js +0 -389
  1500. package/dist/esm/nano-date-picker.entry.js.map +0 -1
  1501. package/dist/esm/nano-details.entry.js.map +0 -1
  1502. package/dist/esm/nano-dialog.entry.js.map +0 -1
  1503. package/dist/esm/nano-drawer.entry.js +0 -285
  1504. package/dist/esm/nano-drawer.entry.js.map +0 -1
  1505. package/dist/esm/nano-dropdown.entry.js +0 -369
  1506. package/dist/esm/nano-dropdown.entry.js.map +0 -1
  1507. package/dist/esm/nano-field-validator.entry.js.map +0 -1
  1508. package/dist/esm/nano-file-upload.entry.js.map +0 -1
  1509. package/dist/esm/nano-global-nav-user-profile_3.entry.js +0 -1101
  1510. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1511. package/dist/esm/nano-global-nav.entry.js.map +0 -1
  1512. package/dist/esm/nano-global-search-results.entry.js +0 -632
  1513. package/dist/esm/nano-global-search-results.entry.js.map +0 -1
  1514. package/dist/esm/nano-grid-item.entry.js.map +0 -1
  1515. package/dist/esm/nano-grid_2.entry.js.map +0 -1
  1516. package/dist/esm/nano-hero.entry.js.map +0 -1
  1517. package/dist/esm/nano-icon-button_2.entry.js +0 -336
  1518. package/dist/esm/nano-icon-button_2.entry.js.map +0 -1
  1519. package/dist/esm/nano-icon.entry.js +0 -316
  1520. package/dist/esm/nano-icon.entry.js.map +0 -1
  1521. package/dist/esm/nano-input.entry.js +0 -544
  1522. package/dist/esm/nano-input.entry.js.map +0 -1
  1523. package/dist/esm/nano-intersection-observe.entry.js.map +0 -1
  1524. package/dist/esm/nano-menu-drawer.entry.js.map +0 -1
  1525. package/dist/esm/nano-more-less.entry.js.map +0 -1
  1526. package/dist/esm/nano-overflow-nav.entry.js +0 -338
  1527. package/dist/esm/nano-overflow-nav.entry.js.map +0 -1
  1528. package/dist/esm/nano-progress-bar.entry.js.map +0 -1
  1529. package/dist/esm/nano-range.entry.js.map +0 -1
  1530. package/dist/esm/nano-rating.entry.js.map +0 -1
  1531. package/dist/esm/nano-resize-observe_2.entry.js.map +0 -1
  1532. package/dist/esm/nano-slide.entry.js.map +0 -1
  1533. package/dist/esm/nano-slides-2715825b.js +0 -3038
  1534. package/dist/esm/nano-slides-2715825b.js.map +0 -1
  1535. package/dist/esm/nano-slides.entry.js.map +0 -1
  1536. package/dist/esm/nano-sortable.entry.js.map +0 -1
  1537. package/dist/esm/nano-spinner.entry.js.map +0 -1
  1538. package/dist/esm/nano-split-pane.entry.js.map +0 -1
  1539. package/dist/esm/nano-sticker.entry.js.map +0 -1
  1540. package/dist/esm/nano-tab-content.entry.js.map +0 -1
  1541. package/dist/esm/nano-tab-group.entry.js.map +0 -1
  1542. package/dist/esm/nano-tab.entry.js.map +0 -1
  1543. package/dist/esm/nano-table-5eaf3a0c.js +0 -1877
  1544. package/dist/esm/nano-table-5eaf3a0c.js.map +0 -1
  1545. package/dist/esm/nano-table.entry.js.map +0 -1
  1546. package/dist/esm/page-dots-5b23db8c.js +0 -139
  1547. package/dist/esm/page-dots-5b23db8c.js.map +0 -1
  1548. package/dist/esm/popover-30ce6cac.js +0 -1930
  1549. package/dist/esm/popover-30ce6cac.js.map +0 -1
  1550. package/dist/esm/renderer-4bc3e2dc.js +0 -58
  1551. package/dist/esm/renderer-4bc3e2dc.js.map +0 -1
  1552. package/dist/esm/scroll-1afc6a4e.js +0 -124
  1553. package/dist/esm/scroll-1afc6a4e.js.map +0 -1
  1554. package/dist/esm/scroll-parent-be39fbd0.js +0 -29
  1555. package/dist/esm/scroll-parent-be39fbd0.js.map +0 -1
  1556. package/dist/esm/search-insights-1a7b7dc5.js +0 -51
  1557. package/dist/esm/search-insights-1a7b7dc5.js.map +0 -1
  1558. package/dist/esm/slot-1cd90e53.js +0 -58
  1559. package/dist/esm/slot-1cd90e53.js.map +0 -1
  1560. package/dist/esm/tabbable-44932eb7.js +0 -109
  1561. package/dist/esm/tabbable-44932eb7.js.map +0 -1
  1562. package/dist/esm/table.worker-94b9c69e.js +0 -29
  1563. package/dist/esm/table.worker-94b9c69e.js.map +0 -1
  1564. package/dist/esm/table.worker-da5412ed.js +0 -4
  1565. package/dist/esm/theme-d553c17a.js +0 -46
  1566. package/dist/esm/theme-d553c17a.js.map +0 -1
  1567. package/dist/esm/throttle-df960210.js +0 -50
  1568. package/dist/esm/throttle-df960210.js.map +0 -1
  1569. package/dist/esm/transitions-c09bd7f6.js +0 -60
  1570. package/dist/esm/transitions-c09bd7f6.js.map +0 -1
  1571. package/dist/generators/custom-element-doc-generator.js +0 -75
  1572. package/dist/generators/custom-element-doc-generator.js.map +0 -1
  1573. package/dist/generators/vue/generate-vue-component.js +0 -74
  1574. package/dist/generators/vue/generate-vue-component.js.map +0 -1
  1575. package/dist/generators/vue/index.js +0 -5
  1576. package/dist/generators/vue/index.js.map +0 -1
  1577. package/dist/generators/vue/output-vue.js +0 -96
  1578. package/dist/generators/vue/output-vue.js.map +0 -1
  1579. package/dist/generators/vue/plugin.js +0 -44
  1580. package/dist/generators/vue/plugin.js.map +0 -1
  1581. package/dist/generators/vue/types.js +0 -2
  1582. package/dist/generators/vue/types.js.map +0 -1
  1583. package/dist/generators/vue/utils.js +0 -82
  1584. package/dist/generators/vue/utils.js.map +0 -1
  1585. package/dist/nano-assets/fonts/jp/noto-sans-jp-v53-japanese-500.woff2 +0 -0
  1586. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500.woff2 +0 -0
  1587. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500italic.woff2 +0 -0
  1588. package/dist/nano-assets/fonts/sc/noto-sans-sc-v37-chinese-simplified-500.woff2 +0 -0
  1589. package/dist/nano-assets/local-my-account.json +0 -447
  1590. package/dist/nano-components/active-element-a2502948.js +0 -5
  1591. package/dist/nano-components/active-element-a2502948.js.map +0 -1
  1592. package/dist/nano-components/algolia-data-f0f72f1d.js +0 -5
  1593. package/dist/nano-components/algolia-data-f0f72f1d.js.map +0 -1
  1594. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js +0 -5
  1595. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1596. package/dist/nano-components/app-globals-f0120bbe.js +0 -5
  1597. package/dist/nano-components/app-globals-f0120bbe.js.map +0 -1
  1598. package/dist/nano-components/assets/local-my-account.json +0 -447
  1599. package/dist/nano-components/component-store-199a9fd8.js +0 -5
  1600. package/dist/nano-components/component-store-199a9fd8.js.map +0 -1
  1601. package/dist/nano-components/date-utils-1e39c114.js +0 -5
  1602. package/dist/nano-components/date-utils-1e39c114.js.map +0 -1
  1603. package/dist/nano-components/dom-fafdec9a.js +0 -5
  1604. package/dist/nano-components/dom-fafdec9a.js.map +0 -1
  1605. package/dist/nano-components/drag-9d765d2d.js +0 -5
  1606. package/dist/nano-components/drag-9d765d2d.js.map +0 -1
  1607. package/dist/nano-components/events-f38f3e59.js +0 -5
  1608. package/dist/nano-components/events-f38f3e59.js.map +0 -1
  1609. package/dist/nano-components/fade-ce1a4958.js +0 -5
  1610. package/dist/nano-components/fade-ce1a4958.js.map +0 -1
  1611. package/dist/nano-components/focus-visible-e5f02c46.js +0 -5
  1612. package/dist/nano-components/focus-visible-e5f02c46.js.map +0 -1
  1613. package/dist/nano-components/form-control-f48fa873.js +0 -5
  1614. package/dist/nano-components/form-control-f48fa873.js.map +0 -1
  1615. package/dist/nano-components/fullscreen-52d62028.js +0 -5
  1616. package/dist/nano-components/fullscreen-52d62028.js.map +0 -1
  1617. package/dist/nano-components/index-6cc72cd9.js +0 -6
  1618. package/dist/nano-components/index-6cc72cd9.js.map +0 -1
  1619. package/dist/nano-components/index-a2043fcd.js +0 -5
  1620. package/dist/nano-components/index-a2043fcd.js.map +0 -1
  1621. package/dist/nano-components/index-browser-8c563093.js +0 -5
  1622. package/dist/nano-components/index-browser-8c563093.js.map +0 -1
  1623. package/dist/nano-components/index-f5f7b950.js +0 -5
  1624. package/dist/nano-components/index-f5f7b950.js.map +0 -1
  1625. package/dist/nano-components/index.esm.js.map +0 -1
  1626. package/dist/nano-components/lazyload-8ff69ba4.js +0 -5
  1627. package/dist/nano-components/lazyload-8ff69ba4.js.map +0 -1
  1628. package/dist/nano-components/local-my-account-3ba1ec04.js +0 -5
  1629. package/dist/nano-components/local-my-account-3ba1ec04.js.map +0 -1
  1630. package/dist/nano-components/math-d160f8a6.js +0 -5
  1631. package/dist/nano-components/math-d160f8a6.js.map +0 -1
  1632. package/dist/nano-components/modal-02828a39.js +0 -5
  1633. package/dist/nano-components/modal-02828a39.js.map +0 -1
  1634. package/dist/nano-components/nano-accordion.entry.js.map +0 -1
  1635. package/dist/nano-components/nano-alert.entry.js.map +0 -1
  1636. package/dist/nano-components/nano-algolia-filter.entry.js.map +0 -1
  1637. package/dist/nano-components/nano-algolia-pagination.entry.js.map +0 -1
  1638. package/dist/nano-components/nano-algolia-results.entry.js.map +0 -1
  1639. package/dist/nano-components/nano-algolia.entry.js.map +0 -1
  1640. package/dist/nano-components/nano-animation.entry.js.map +0 -1
  1641. package/dist/nano-components/nano-checkbox-group.entry.js.map +0 -1
  1642. package/dist/nano-components/nano-checkbox.entry.js.map +0 -1
  1643. package/dist/nano-components/nano-components.esm.js.map +0 -1
  1644. package/dist/nano-components/nano-datalist_3.entry.js.map +0 -1
  1645. package/dist/nano-components/nano-date-input.entry.js.map +0 -1
  1646. package/dist/nano-components/nano-date-picker.entry.js +0 -5
  1647. package/dist/nano-components/nano-date-picker.entry.js.map +0 -1
  1648. package/dist/nano-components/nano-details.entry.js.map +0 -1
  1649. package/dist/nano-components/nano-dialog.entry.js.map +0 -1
  1650. package/dist/nano-components/nano-drawer.entry.js +0 -5
  1651. package/dist/nano-components/nano-drawer.entry.js.map +0 -1
  1652. package/dist/nano-components/nano-dropdown.entry.js +0 -5
  1653. package/dist/nano-components/nano-dropdown.entry.js.map +0 -1
  1654. package/dist/nano-components/nano-field-validator.entry.js.map +0 -1
  1655. package/dist/nano-components/nano-file-upload.entry.js.map +0 -1
  1656. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +0 -5
  1657. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1658. package/dist/nano-components/nano-global-nav.entry.js.map +0 -1
  1659. package/dist/nano-components/nano-global-search-results.entry.js +0 -5
  1660. package/dist/nano-components/nano-global-search-results.entry.js.map +0 -1
  1661. package/dist/nano-components/nano-grid-item.entry.js.map +0 -1
  1662. package/dist/nano-components/nano-grid_2.entry.js.map +0 -1
  1663. package/dist/nano-components/nano-hero.entry.js.map +0 -1
  1664. package/dist/nano-components/nano-icon-button_2.entry.js +0 -5
  1665. package/dist/nano-components/nano-icon-button_2.entry.js.map +0 -1
  1666. package/dist/nano-components/nano-icon.entry.js +0 -5
  1667. package/dist/nano-components/nano-icon.entry.js.map +0 -1
  1668. package/dist/nano-components/nano-input.entry.js +0 -5
  1669. package/dist/nano-components/nano-input.entry.js.map +0 -1
  1670. package/dist/nano-components/nano-intersection-observe.entry.js.map +0 -1
  1671. package/dist/nano-components/nano-menu-drawer.entry.js.map +0 -1
  1672. package/dist/nano-components/nano-more-less.entry.js.map +0 -1
  1673. package/dist/nano-components/nano-overflow-nav.entry.js +0 -5
  1674. package/dist/nano-components/nano-overflow-nav.entry.js.map +0 -1
  1675. package/dist/nano-components/nano-progress-bar.entry.js.map +0 -1
  1676. package/dist/nano-components/nano-range.entry.js.map +0 -1
  1677. package/dist/nano-components/nano-rating.entry.js.map +0 -1
  1678. package/dist/nano-components/nano-resize-observe_2.entry.js.map +0 -1
  1679. package/dist/nano-components/nano-slide.entry.js.map +0 -1
  1680. package/dist/nano-components/nano-slides-2715825b.js +0 -20
  1681. package/dist/nano-components/nano-slides-2715825b.js.map +0 -1
  1682. package/dist/nano-components/nano-slides.entry.js.map +0 -1
  1683. package/dist/nano-components/nano-sortable.entry.js.map +0 -1
  1684. package/dist/nano-components/nano-spinner.entry.js.map +0 -1
  1685. package/dist/nano-components/nano-split-pane.entry.js.map +0 -1
  1686. package/dist/nano-components/nano-sticker.entry.js.map +0 -1
  1687. package/dist/nano-components/nano-tab-content.entry.js.map +0 -1
  1688. package/dist/nano-components/nano-tab-group.entry.js.map +0 -1
  1689. package/dist/nano-components/nano-tab.entry.js.map +0 -1
  1690. package/dist/nano-components/nano-table-5eaf3a0c.js +0 -5
  1691. package/dist/nano-components/nano-table-5eaf3a0c.js.map +0 -1
  1692. package/dist/nano-components/nano-table.entry.js.map +0 -1
  1693. package/dist/nano-components/page-dots-5b23db8c.js +0 -5
  1694. package/dist/nano-components/page-dots-5b23db8c.js.map +0 -1
  1695. package/dist/nano-components/popover-30ce6cac.js +0 -5
  1696. package/dist/nano-components/popover-30ce6cac.js.map +0 -1
  1697. package/dist/nano-components/renderer-4bc3e2dc.js +0 -5
  1698. package/dist/nano-components/renderer-4bc3e2dc.js.map +0 -1
  1699. package/dist/nano-components/scroll-1afc6a4e.js +0 -5
  1700. package/dist/nano-components/scroll-1afc6a4e.js.map +0 -1
  1701. package/dist/nano-components/scroll-parent-be39fbd0.js +0 -5
  1702. package/dist/nano-components/scroll-parent-be39fbd0.js.map +0 -1
  1703. package/dist/nano-components/search-insights-1a7b7dc5.js +0 -5
  1704. package/dist/nano-components/search-insights-1a7b7dc5.js.map +0 -1
  1705. package/dist/nano-components/slot-1cd90e53.js +0 -5
  1706. package/dist/nano-components/slot-1cd90e53.js.map +0 -1
  1707. package/dist/nano-components/tabbable-44932eb7.js +0 -5
  1708. package/dist/nano-components/tabbable-44932eb7.js.map +0 -1
  1709. package/dist/nano-components/table.worker-94b9c69e.js +0 -5
  1710. package/dist/nano-components/table.worker-94b9c69e.js.map +0 -1
  1711. package/dist/nano-components/table.worker-da5412ed.js +0 -4
  1712. package/dist/nano-components/theme-d553c17a.js +0 -5
  1713. package/dist/nano-components/theme-d553c17a.js.map +0 -1
  1714. package/dist/nano-components/throttle-df960210.js +0 -5
  1715. package/dist/nano-components/throttle-df960210.js.map +0 -1
  1716. package/dist/nano-components/transitions-c09bd7f6.js +0 -5
  1717. package/dist/nano-components/transitions-c09bd7f6.js.map +0 -1
  1718. package/dist/stencil.config.js.map +0 -1
  1719. package/dist/stencil.config.prod.js.map +0 -1
  1720. package/dist/testing/mocks/intersection-observer.js.map +0 -1
  1721. package/dist/themes/base/normalize.css +0 -1
  1722. package/dist/themes/base/normalize.css.map +0 -1
  1723. package/dist/themes/base/noto-sans-jp.css +0 -1
  1724. package/dist/themes/base/noto-sans-jp.css.map +0 -1
  1725. package/dist/themes/base/noto-sans-sc.css +0 -1
  1726. package/dist/themes/base/noto-sans-sc.css.map +0 -1
  1727. package/dist/themes/base/noto-sans.css +0 -1
  1728. package/dist/themes/base/noto-sans.css.map +0 -1
  1729. package/dist/themes/base/structure.css +0 -1
  1730. package/dist/themes/base/structure.css.map +0 -1
  1731. package/dist/themes/london-calling.css +0 -1
  1732. package/dist/themes/london-calling.css.map +0 -1
  1733. package/dist/themes/nanopore.css +0 -1
  1734. package/dist/themes/nanopore.css.map +0 -1
  1735. package/dist/types/builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -8
  1736. package/dist/types/builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -2
  1737. package/dist/types/builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -2
  1738. package/dist/types/components/global-nav/global-nav-user-profile.d.ts +0 -16
  1739. package/dist/types/components/overflow-nav/overflow-nav.d.ts +0 -89
  1740. package/dist/types/components/table/table-interface.d.ts +0 -278
  1741. package/dist/types/components/table/table.store.d.ts +0 -24
  1742. package/dist/types/components/table/table.utils.d.ts +0 -70
  1743. package/dist/types/utils/focus-visible.d.ts +0 -8
  1744. package/dist/types/utils/scroll-parent.d.ts +0 -6
  1745. package/dist/types/utils/testing/index.d.ts +0 -50
  1746. package/dist/wdio.conf.js.map +0 -1
  1747. package/themes/base/normalize.css +0 -1
  1748. package/themes/base/normalize.css.map +0 -1
  1749. package/themes/base/noto-sans-jp.css +0 -1
  1750. package/themes/base/noto-sans-jp.css.map +0 -1
  1751. package/themes/base/noto-sans-sc.css +0 -1
  1752. package/themes/base/noto-sans-sc.css.map +0 -1
  1753. package/themes/base/noto-sans.css +0 -1
  1754. package/themes/base/noto-sans.css.map +0 -1
  1755. package/themes/base/structure.css +0 -1
  1756. package/themes/base/structure.css.map +0 -1
  1757. package/themes/london-calling.css +0 -1
  1758. package/themes/london-calling.css.map +0 -1
  1759. package/themes/nanopore.css +0 -1
  1760. package/themes/nanopore.css.map +0 -1
  1761. /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
  1762. /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
  1763. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700.woff2 +0 -0
  1764. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700italic.woff2 +0 -0
  1765. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-italic.woff2 +0 -0
  1766. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-regular.woff2 +0 -0
  1767. /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
  1768. /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
  1769. /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
  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}/index.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}/output-vue.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}/plugin.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}/types.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}/utils.d.ts +0 -0
  1775. /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
  1776. /package/dist/types/{builds/WUhA-BsM/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
  1777. /package/dist/types/components/{table → data-table}/table.cell.d.ts +0 -0
  1778. /package/dist/types/components/{table → data-table}/table.constants.d.ts +0 -0
  1779. /package/dist/types/components/{table → data-table}/table.header.d.ts +0 -0
  1780. /package/dist/types/components/{table → data-table}/table.pin-service.d.ts +0 -0
  1781. /package/dist/types/components/{table → data-table}/table.row.d.ts +0 -0
  1782. /package/dist/types/components/{table → data-table}/table.worker.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["EvEmitter","proto","prototype","on","eventName","listener","events","this","_events","listeners","indexOf","push","once","onceEvents","_onceEvents","onceListeners","off","length","index","splice","emitEvent","args","slice","i","isOnce","apply","allOff","getStyleSize","value","num","parseFloat","isValid","isNaN","noop","logError","console","message","error","measurements","measurementsLength","getZeroSize","size","width","height","innerWidth","innerHeight","outerWidth","outerHeight","measurement","getStyle","elem","style","getComputedStyle","isSetup","isBoxSizeOuter","setup","div","document","createElement","padding","borderStyle","borderWidth","boxSizing","body","documentElement","appendChild","Math","round","getSize","removeChild","querySelector","nodeType","display","offsetWidth","offsetHeight","isBorderBox","paddingWidth","paddingLeft","paddingRight","paddingHeight","paddingTop","paddingBottom","marginWidth","marginLeft","marginRight","marginHeight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderHeight","borderTopWidth","borderBottomWidth","isBorderBoxSizeOuter","styleWidth","styleHeight","utils","extend","a","b","prop","docReady","callback","readyState","setTimeout","addEventListener","toDashed","str","replace","_match","$1","$2","toLowerCase","modulo","arraySlice","Array","makeArray","obj","isArray","undefined","isArrayLike","call","getParent","selector","parentNode","parentElement","matches","getQueryElement","handleEvent","event","method","type","filterFindElements","elems","ffElems","forEach","HTMLElement","childElems","querySelectorAll","debounceMethod","_class","methodName","threshold","timeoutName","timeout","clearTimeout","_this","window","htmlInit","WidgetClass","namespace","dashedNamespace","dataAttr","dataAttrElems","jsDashElems","concat","dataOptionsAttr","attr","getAttribute","options","JSON","parse","className","Cell","parent","element","create","position","setAttribute","x","shift","from","destroy","unselect","side","originSide","setPosition","updateTarget","renderPosition","setDefaultTarget","marginProperty","target","cellAlign","getPositionValue","select","classList","add","removeAttribute","remove","wrapShift","slideableWidth","Slide","isOriginLeft","cells","addCell","cell","max","beginMargin","firstMargin","endMargin","lastCell","getLastCell","lastMargin","slideWidth","getCellElements","map","startAnimation","isAnimating","restingFrames","animate","applyDragForce","applySelectedAttraction","previousX","integratePhysics","positionSlider","settle","requestAnimationFrame","animateFrame","wrapAround","shiftWrapCells","setTranslateX","dispatchScrollEvent","_is3d","cursorPosition","rightToLeft","translateX","slider","transform","firstSlide","slides","positionX","progress","slidesWidth","dispatchEvent","positionSliderAtSelected","selectedSlide","velocity","percentPosition","isPointerDown","isFreeScrolling","selectedIndex","beforeGap","_shiftCells","beforeShiftCells","afterGap","afterShiftCells","gap","cellShift","_unshiftCells","getFrictionFactor","applyForce","force","getRestingPosition","isDraggable","dragVelocity","dragX","dragForce","dragDown","distance","selectedAttraction","animatePrototype","moveElements","toElem","GUID","instances","Flickity","queryElement","flickityGUID","instance","option","constructor","defaults","_create","accessibility","freeScrollFriction","friction","namespaceJQueryEvents","resize","setGallerySize","createMethods","id","guid","viewport","part","_createSlider","watchCSS","activate","opts","isActive","cellElems","children","reloadCells","tabIndex","selectInitialIndex","isInitActivated","_filterFindCellElements","cellSelector","_makeCells","getRootNode","host","positionCells","_getWrapShiftCells","cellElem","getLastSlide","_sizeCells","_positionCells","maxCellHeight","cellX","startCell","len","updateSlides","_containSlides","slide","nextMargin","canCellFit","_getCanCellFit","updateSelectedSlide","groupCells","number","parseInt","percentMatch","match","percent","_i","_init","reposition","setCellAlign","cellAlignShorthands","center","left","right","shorthand","adaptiveHeight","gapX","cellIndex","_getGapCells","increment","contain","isRightToLeft","contentWidth","isContentSmaller","beginBound","endBound","min","emitArgs","isWrap","isInstant","_wrapSelect","prevIndex","isWrapping","wrapIndex","delta","abs","backWrapDelta","forewardWrapDelta","isDragSelect","previous","next","unselectSelectedSlide","selectedCells","selectedElements","selectedCell","selectedElement","initialIndex","queryCell","selectCell","getCellSlideIndex","getCell","getCells","getParentCell","getAdjacentCellElements","adjCount","slideIndex","uiChange","childUIPointerDown","preventDefault","focus","onresize","watchOption","afterContent","content","deactivate","onkeydown","isNotFocused","activeElement","handler","keyboardHandlers","keyCode","leftMethod","rightMethod","prevScrollY","pageYOffset","preventScroll","scrollTo","pageXOffset","removeEventListener","data","Unipointer","pointerProto","Object","bindStartEvent","_bindStartEvent","unbindStartEvent","isAdd","bindMethod","startEvent","PointerEvent","getTouch","touches","touch","identifier","pointerIdentifier","onmousedown","button","_pointerDown","ontouchstart","changedTouches","onpointerdown","pointer","pointerId","pointerDown","_bindPostStartEvents","postStartEvents","mousedown","touchstart","pointerdown","_boundPointerEvents","_unbindPostStartEvents","onmousemove","_pointerMove","onpointermove","ontouchmove","pointerMove","onmouseup","_pointerUp","onpointerup","ontouchend","_pointerDone","pointerUp","_pointerReset","pointerDone","onpointercancel","_pointerCancel","ontouchcancel","pointerCancel","getPointerPoint","pageX","y","pageY","Unidragger","draggerProto","bindHandles","_bindHandles","unbindHandles","touchAction","_touchActionValue","handles","handle","isOkay","okayPointerDown","pointerDownPointer","pointerDownBlur","cursorNodes","TEXTAREA","INPUT","SELECT","OPTION","clickTypes","radio","checkbox","submit","image","file","isCursorNode","nodeName","isClickType","focused","canBlur","blur","moveVector","_dragPointerMove","_dragMove","isDragging","hasDragStarted","_dragStart","_dragPointerUp","_dragEnd","_staticClick","isPreventingClicks","dragStart","dragMove","bind","dragEnd","onclick","isIgnoringMouseUp","staticClick","drag","draggable","dragThreshold","isTouch","isTouchmoveScrollCanceled","_createDrag","onActivateDrag","_uiChangeDrag","onDeactivateDrag","updateDraggable","bindDrag","unbindDrag","_pointerDownDefault","_pointerDownPreventDefault","pointerDownFocus","pointerDownScroll","getScrollPosition","focusNodes","isFocusNode","isTouchStart","isTouchPointer","pointerType","isTouchScrolling","dragStartPosition","previousDragX","direction","originBound","dragMoveTime","Date","freeScroll","dragEndRestingSelect","restingX","dragEndBoostSelect","getSlideDistance","positiveResting","_getClosestResting","negativeResting","minDistance","Infinity","condition","d","md","isWrapAround","wrap","floor","clickedCell","onscroll","scroll","scrollMoveX","scrollMoveY","scrollX","scrollY","nowNext","svgURI","PrevNextButton","shadowRoot","isEnabled","isPrevious","leftDirection","isLeft","disable","slot","name","assignedElements","flatten","ele","svg","createSVG","update","createElementNS","path","pathMovements","getArrowMovements","arrowShape","shape","x0","x1","y1","x2","y2","x3","enable","disabled","lastIndex","boundIndex","prevNextButtons","_createPrevNextButtons","prevButton","nextButton","activatePrevNextButtons","deactivatePrevNextButtons","player","Player","state","onVisibilityChange","visibilityChange","onVisibilityPlay","visibilityPlay","play","isPageHidden","hidden","tick","time","autoPlay","clear","stop","pause","unpause","pauseAutoPlayOnHover","_createPlayer","activatePlayer","stopPlayer","deactivatePlayer","playPlayer","pausePlayer","unpausePlayer","onmouseenter","onmouseleave","flickity","slidesCss","NanoSlidesStyle0","Slides","flickityEl","flickityReady","mutationO","resizeO","readyflickity","Promise","resolve","syncflickity","childrenEles","hasFullScreenModule","hasLazyLoadModule","hasDotsModule","hasFadeModule","iCurrentSlide","slidesReady","didInit","optionsChanged","getflickity","newOpts","assign","loadFlickityModules","navbtns","navbtnsChanged","_getRoot","btn","pager","pagerChanged","dots","fullscreenbtn","fullscreenBtnChanged","fullscreen","fullscreenChanged","_","oldFs","viewFullscreen","exitFullscreen","animation","animationChange","oldAnim","flkty","all","waitForSlides","parallax","fade","currentSlide","currentSlideChange","slideTo","internalSlideChange","autoplay","autoPlayChange","stopAutoplay","startAutoplay","ready","nanoSlidesDidLoad","nanoSlidesReady","nanoSlidesSelect","nanoSlidesChange","nanoSlidesScroll","nanoSlidesTransitionEnd","nanoSlidesDragStart","nanoSlidesDragMove","nanoSlidesDragEnd","nanoSlidesTap","nanoSlidesFullscreenChange","transformTag","instant","slideNext","slidePrev","getActiveIndex","isEnd","isBeginning","lockSwipes","lock","reload","destroyflickity","initflickity","async","flkX","animAmount","setProperty","toString","handleFullscreen","isFullScreen","emit","handleSlideSelect","import","lazyLoad","pageDots","finalOptions","normalizeOptions","contains","getBoundingClientRect","flick","disconnect","ro","ResizeObserver","readTask","vp","writeTask","observe","flickityOptions","imagesLoaded","eventOptions","change","fullscreenChange","customEvents","mergedEventOptions","componentDidLoad","MutationObserver","mut","e","addedNodes","childList","subtree","componentWillLoad","disconnectedCallback","render","h","Host","key","class","slideshow","ref","allSlides","toLoadSlides","filter","slideResolver","ev"],"sources":["src/components/slides/lib/js/utils/event-emitter.ts","src/components/slides/lib/js/utils/get-size.ts","src/components/slides/lib/js/utils/utils.ts","src/components/slides/lib/js/cell.ts","src/components/slides/lib/js/slide.ts","src/components/slides/lib/js/animate.ts","src/components/slides/lib/js/flickity.ts","src/components/slides/lib/js/utils/gestures.ts","src/components/slides/lib/js/drag.ts","src/components/slides/lib/js/prev-next-button.ts","src/components/slides/lib/js/player.ts","src/components/slides/lib/js/index.ts","src/components/slides/slides.scss?tag=nano-slides&encapsulation=shadow","src/components/slides/slides.tsx"],"sourcesContent":["export function EvEmitter() {}\n\nconst proto = EvEmitter.prototype;\n\nproto.on = function (eventName, listener) {\n if (!eventName || !listener) {\n return;\n }\n // set events hash\n const events = (this._events = this._events || {});\n // set listeners array\n const listeners = (events[eventName] = events[eventName] || []);\n // only add once\n if (listeners.indexOf(listener) == -1) {\n listeners.push(listener);\n }\n\n return this;\n};\n\nproto.once = function (eventName, listener) {\n if (!eventName || !listener) {\n return;\n }\n // add event\n this.on(eventName, listener);\n // set once flag\n // set onceEvents hash\n const onceEvents = (this._onceEvents = this._onceEvents || {});\n // set onceListeners object\n const onceListeners = (onceEvents[eventName] = onceEvents[eventName] || {});\n // set flag\n onceListeners[listener] = true;\n\n return this;\n};\n\nproto.off = function (eventName, listener) {\n const listeners = this._events && this._events[eventName];\n if (!listeners || !listeners.length) {\n return;\n }\n const index = listeners.indexOf(listener);\n if (index != -1) {\n listeners.splice(index, 1);\n }\n\n return this;\n};\n\nproto.emitEvent = function (eventName, args) {\n let listeners = this._events && this._events[eventName];\n if (!listeners || !listeners.length) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n const onceListeners = this._onceEvents && this._onceEvents[eventName];\n\n for (let i = 0; i < listeners.length; i++) {\n const listener = listeners[i];\n const isOnce = onceListeners && onceListeners[listener];\n if (isOnce) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off(eventName, listener);\n // unset once flag\n delete onceListeners[listener];\n }\n // trigger listener\n listener.apply(this, args);\n }\n\n return this;\n};\n\nproto.allOff = function () {\n delete this._events;\n delete this._onceEvents;\n};\n","/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n// get a number from a string, not a percentage\nfunction getStyleSize(value): number | boolean {\n const num = parseFloat(value);\n // not a percent like '100%', and a number\n const isValid = value.indexOf('%') == -1 && !isNaN(num);\n return isValid && num;\n}\n\nfunction noop() {}\n\nconst logError =\n typeof console == 'undefined'\n ? noop\n : function (message) {\n console.error(message);\n };\n\n// -------------------------- measurements -------------------------- //\n\nconst measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth',\n];\n\nconst measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n const size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0,\n };\n for (let i = 0; i < measurementsLength; i++) {\n const measurement = measurements[i];\n size[measurement] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n * @param elem element to get styles for\n * @returns {CSSStyleDeclaration} styles of element\n */\nfunction getStyle(elem) {\n const style = getComputedStyle(elem);\n if (!style) {\n logError(\n 'Style returned ' +\n style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1'\n );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nlet isSetup = false;\n\nlet isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if (isSetup) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n const div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n const body = document.body || document.documentElement;\n body.appendChild(div);\n const style = getStyle(div);\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round(getStyleSize(style.width) as number) == 200;\n // @ts-ignore\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild(div);\n}\n\n// -------------------------- getSize -------------------------- //\n\nexport function getSize(elem) {\n setup();\n\n // use querySeletor if elem is string\n if (typeof elem == 'string') {\n elem = document.querySelector(elem);\n }\n\n // do not proceed on non-objects\n if (!elem || typeof elem != 'object' || !elem.nodeType) {\n return;\n }\n\n const style = getStyle(elem);\n\n // if hidden, everything is 0\n if (style.display == 'none') {\n return getZeroSize();\n }\n\n const size: any = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n const isBorderBox = (size.isBorderBox = style.boxSizing == 'border-box');\n\n // get all measurements\n for (let i = 0; i < measurementsLength; i++) {\n const measurement = measurements[i];\n const value = style[measurement];\n const num = parseFloat(value);\n // any 'auto', 'medium' value will be 0\n size[measurement] = !isNaN(num) ? num : 0;\n }\n\n const paddingWidth = size.paddingLeft + size.paddingRight;\n const paddingHeight = size.paddingTop + size.paddingBottom;\n const marginWidth = size.marginLeft + size.marginRight;\n const marginHeight = size.marginTop + size.marginBottom;\n const borderWidth = size.borderLeftWidth + size.borderRightWidth;\n const borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n const isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n const styleWidth = getStyleSize(style.width);\n if (styleWidth !== false) {\n size.width =\n styleWidth +\n // add padding and border unless it's already including it\n (isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth);\n }\n\n const styleHeight = getStyleSize(style.height);\n if (styleHeight !== false) {\n size.height =\n styleHeight +\n // add padding and border unless it's already including it\n (isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight);\n }\n\n size.innerWidth = size.width - (paddingWidth + borderWidth);\n size.innerHeight = size.height - (paddingHeight + borderHeight);\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n","/**\n * Fizzy UI utils v2.0.7\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\nexport const utils: any = {};\n\n// ----- extend ----- //\n\n// extends objects\nutils.extend = function (a, b) {\n for (const prop in b) {\n a[prop] = b[prop];\n }\n return a;\n};\n\n// ----- docReady ----- //\n\nutils.docReady = function (callback) {\n const readyState = document.readyState;\n if (readyState == 'complete' || readyState == 'interactive') {\n // do async to allow for other scripts to run. metafizzy/flickity#441\n setTimeout(callback);\n } else {\n document.addEventListener('DOMContentLoaded', callback);\n }\n};\n\n// ----- toDashed ----- //\n\nutils.toDashed = function (str) {\n return str\n .replace(/(.)([A-Z])/g, function (_match, $1, $2) {\n return $1 + '-' + $2;\n })\n .toLowerCase();\n};\n\n// ----- modulo ----- //\n\nutils.modulo = function (num, div) {\n return ((num % div) + div) % div;\n};\n\n// ----- makeArray ----- //\n\nconst arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nutils.makeArray = function (obj) {\n if (Array.isArray(obj)) {\n // use object if already an array\n return obj;\n }\n // return empty array if undefined or null. #6\n if (obj === null || obj === undefined) {\n return [];\n }\n\n const isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n if (isArrayLike) {\n // convert nodeList to array\n return arraySlice.call(obj);\n }\n\n // array of single index\n return [obj];\n};\n\n// ----- getParent ----- //\n\nutils.getParent = function (elem: HTMLElement, selector: string) {\n while (elem.parentNode && elem != document.body) {\n elem = elem.parentElement;\n if (elem.matches(selector)) {\n return elem;\n }\n }\n};\n\n// ----- getQueryElement ----- //\n\n// use element as selector string\nutils.getQueryElement = function (elem) {\n if (typeof elem == 'string') {\n return document.querySelector(elem);\n }\n return elem;\n};\n\n// ----- handleEvent ----- //\n\n// enable .ontype to trigger from .addEventListener( elem, 'type' )\nutils.handleEvent = function (event) {\n const method = 'on' + event.type;\n if (this[method]) {\n this[method](event);\n }\n};\n\n// ----- filterFindElements ----- //\n\nutils.filterFindElements = function (elems, selector) {\n // make array of elems\n elems = utils.makeArray(elems);\n const ffElems = [];\n\n elems.forEach(function (elem: HTMLElement) {\n // check that elem is an actual element\n if (!(elem instanceof HTMLElement)) {\n return;\n }\n // add elem if no selector\n if (!selector) {\n ffElems.push(elem);\n return;\n }\n // filter & find items if we have a selector\n // filter\n if (elem.matches(selector)) {\n ffElems.push(elem);\n }\n // find children\n const childElems = elem.querySelectorAll(selector);\n // concat childElems to filterFound array\n for (let i = 0; i < childElems.length; i++) {\n ffElems.push(childElems[i]);\n }\n });\n\n return ffElems;\n};\n\n// ----- debounceMethod ----- //\n\nutils.debounceMethod = function (_class, methodName, threshold) {\n threshold = threshold || 100;\n // original method\n const method = _class.prototype[methodName];\n const timeoutName = methodName + 'Timeout';\n\n _class.prototype[methodName] = function (...args) {\n const timeout = this[timeoutName];\n clearTimeout(timeout);\n\n const _this = this;\n this[timeoutName] = setTimeout(function () {\n method.apply(_this, args);\n delete _this[timeoutName];\n }, threshold);\n };\n};\n\nconst console = window.console;\n/**\n * allow user to initialize classes via [data-namespace] or .js-namespace class\n * htmlInit( Widget, 'widgetName' )\n * options are parsed from data-namespace-options\n */\nutils.htmlInit = function (WidgetClass, namespace) {\n utils.docReady(function () {\n const dashedNamespace = utils.toDashed(namespace);\n const dataAttr = 'data-' + dashedNamespace;\n const dataAttrElems = document.querySelectorAll('[' + dataAttr + ']');\n const jsDashElems = document.querySelectorAll('.js-' + dashedNamespace);\n const elems = utils\n .makeArray(dataAttrElems)\n .concat(utils.makeArray(jsDashElems));\n const dataOptionsAttr = dataAttr + '-options';\n\n elems.forEach(function (elem) {\n const attr =\n elem.getAttribute(dataAttr) || elem.getAttribute(dataOptionsAttr);\n let options;\n try {\n options = attr && JSON.parse(attr);\n } catch (error) {\n // log error, do not initialize\n if (console) {\n console.error(\n 'Error parsing ' + dataAttr + ' on ' + elem.className + ': ' + error\n );\n }\n return;\n }\n // initialize\n // @ts-ignore\n const instance = new WidgetClass(elem, options);\n });\n });\n};\n","import { getSize } from './utils/get-size';\n\nexport default function Cell(elem, parent) {\n this.element = elem;\n this.parent = parent;\n\n this.create();\n}\n\nconst proto = Cell.prototype;\n\nproto.create = function () {\n this.element.style.position = 'absolute';\n this.element.setAttribute('aria-hidden', 'true');\n this.x = 0;\n this.shift = 0;\n Array.from(this.element.querySelectorAll('*')).forEach((element) => {\n (element as HTMLElement).setAttribute('tabindex', '-1');\n });\n};\n\nproto.destroy = function () {\n // reset style\n this.unselect();\n this.element.style.position = '';\n const side = this.parent.originSide;\n this.element.style[side] = '';\n};\n\nproto.getSize = function () {\n this.size = getSize(this.element);\n};\n\nproto.setPosition = function (x) {\n this.x = x;\n this.updateTarget();\n this.renderPosition(x);\n};\n\n// setDefaultTarget v1 method, backwards compatibility, remove in v3\nproto.updateTarget = proto.setDefaultTarget = function () {\n const marginProperty =\n this.parent.originSide == 'left' ? 'marginLeft' : 'marginRight';\n this.target =\n this.x +\n this.size[marginProperty] +\n this.size.width * this.parent.cellAlign;\n};\n\nproto.renderPosition = function (x) {\n // render position of cell with in slider\n const side = this.parent.originSide;\n this.element.style[side] = this.parent.getPositionValue(x);\n};\n\nproto.select = function () {\n this.element.classList.add('is-selected');\n this.element.removeAttribute('aria-hidden');\n Array.from(this.element.querySelectorAll('*')).forEach((element) => {\n (element as HTMLElement).removeAttribute('tabindex');\n });\n};\n\nproto.unselect = function () {\n this.element.classList.remove('is-selected');\n this.element.setAttribute('aria-hidden', 'true');\n Array.from(this.element.querySelectorAll('*')).forEach((element) => {\n (element as HTMLElement).setAttribute('tabindex', '-1');\n });\n};\n\n/**\n * @param {Integer} shift - 0, 1, or -1\n **/\nproto.wrapShift = function (shift) {\n this.shift = shift;\n this.renderPosition(this.x + this.parent.slideableWidth * shift);\n};\n\nproto.remove = function () {\n this.element.parentNode.removeChild(this.element);\n};\n","export default function Slide(parent) {\n this.parent = parent;\n this.isOriginLeft = parent.originSide == 'left';\n this.cells = [];\n this.outerWidth = 0;\n this.height = 0;\n}\n\nconst proto = Slide.prototype;\n\nproto.addCell = function (cell) {\n this.cells.push(cell);\n this.outerWidth += cell.size.outerWidth;\n this.height = Math.max(cell.size.outerHeight, this.height);\n // first cell stuff\n if (this.cells.length == 1) {\n this.x = cell.x; // x comes from first cell\n const beginMargin = this.isOriginLeft ? 'marginLeft' : 'marginRight';\n this.firstMargin = cell.size[beginMargin];\n }\n};\n\nproto.updateTarget = function () {\n const endMargin = this.isOriginLeft ? 'marginRight' : 'marginLeft';\n const lastCell = this.getLastCell();\n const lastMargin = lastCell ? lastCell.size[endMargin] : 0;\n const slideWidth = this.outerWidth - (this.firstMargin + lastMargin);\n this.target = this.x + this.firstMargin + slideWidth * this.parent.cellAlign;\n};\n\nproto.getLastCell = function () {\n return this.cells[this.cells.length - 1];\n};\n\nproto.select = function () {\n this.cells.forEach(function (cell) {\n cell.select();\n });\n};\n\nproto.unselect = function () {\n this.cells.forEach(function (cell) {\n cell.unselect();\n });\n};\n\nproto.getCellElements = function () {\n return this.cells.map(function (cell) {\n return cell.element;\n });\n};\n","import { utils } from './utils/utils';\n\nconst proto: any = {};\n\nproto.startAnimation = function () {\n if (this.isAnimating) {\n return;\n }\n\n this.isAnimating = true;\n this.restingFrames = 0;\n this.animate();\n};\n\nproto.animate = function () {\n this.applyDragForce();\n this.applySelectedAttraction();\n\n const previousX = this.x;\n\n this.integratePhysics();\n this.positionSlider();\n this.settle(previousX);\n // animate next frame\n if (this.isAnimating) {\n const _this = this;\n requestAnimationFrame(function animateFrame() {\n _this.animate();\n });\n }\n};\n\nproto.positionSlider = function () {\n let x = this.x;\n // wrap position around\n if (this.options.wrapAround && this.cells.length > 1) {\n x = utils.modulo(x, this.slideableWidth);\n x = x - this.slideableWidth;\n this.shiftWrapCells(x);\n }\n\n this.setTranslateX(x, this.isAnimating);\n this.dispatchScrollEvent();\n};\n\nproto.setTranslateX = function (x, _is3d) {\n x += this.cursorPosition;\n // reverse if right-to-left and using transform\n x = this.options.rightToLeft ? -x : x;\n const translateX = this.getPositionValue(x);\n // use 3D tranforms for hardware acceleration on iOS\n // but use 2D when settled, for better font-rendering\n // this.slider.style.transform = is3d\n // ? 'translate3d(' + translateX + ',0,0)'\n // : 'translateX(' + translateX + ')';\n\n this.slider.style.transform = 'translate3d(' + translateX + ',0,0)';\n};\n\nproto.dispatchScrollEvent = function () {\n const firstSlide = this.slides[0];\n if (!firstSlide) {\n return;\n }\n const positionX = -this.x - firstSlide.target;\n const progress = positionX / this.slidesWidth;\n this.dispatchEvent('scroll', null, [progress, positionX]);\n};\n\nproto.positionSliderAtSelected = function () {\n if (!this.cells.length) {\n return;\n }\n this.x = -this.selectedSlide.target;\n this.velocity = 0; // stop wobble\n this.positionSlider();\n};\n\nproto.getPositionValue = function (position) {\n if (this.options.percentPosition) {\n // percent position, round to 2 digits, like 12.34%\n return Math.round((position / this.size.innerWidth) * 10000) * 0.01 + '%';\n } else {\n // pixel positioning\n return Math.round(position) + 'px';\n }\n};\n\nproto.settle = function (previousX) {\n // keep track of frames where x hasn't moved\n if (\n !this.isPointerDown &&\n Math.round(this.x * 100) == Math.round(previousX * 100)\n ) {\n this.restingFrames++;\n }\n // stop animating if resting for 3 or more frames\n if (this.restingFrames > 2) {\n this.isAnimating = false;\n delete this.isFreeScrolling;\n // render position with translateX when settled\n this.positionSlider();\n this.dispatchEvent('settle', null, [this.selectedIndex]);\n }\n};\n\nproto.shiftWrapCells = function (x) {\n // shift before cells\n const beforeGap = this.cursorPosition + x;\n this._shiftCells(this.beforeShiftCells, beforeGap, -1);\n // shift after cells\n const afterGap =\n this.size.innerWidth - (x + this.slideableWidth + this.cursorPosition);\n this._shiftCells(this.afterShiftCells, afterGap, 1);\n};\n\nproto._shiftCells = function (cells, gap, shift) {\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i];\n const cellShift = gap > 0 ? shift : 0;\n cell.wrapShift(cellShift);\n gap -= cell.size.outerWidth;\n }\n};\n\nproto._unshiftCells = function (cells) {\n if (!cells || !cells.length) {\n return;\n }\n for (let i = 0; i < cells.length; i++) {\n cells[i].wrapShift(0);\n }\n};\n\n// -------------------------- physics -------------------------- //\n\nproto.integratePhysics = function () {\n this.x += this.velocity;\n this.velocity *= this.getFrictionFactor();\n};\n\nproto.applyForce = function (force) {\n this.velocity += force;\n};\n\nproto.getFrictionFactor = function () {\n return (\n 1 - this.options[this.isFreeScrolling ? 'freeScrollFriction' : 'friction']\n );\n};\n\nproto.getRestingPosition = function () {\n // my thanks to Steven Wittens, who simplified this math greatly\n return this.x + this.velocity / (1 - this.getFrictionFactor());\n};\n\nproto.applyDragForce = function () {\n if (!this.isDraggable || !this.isPointerDown) {\n return;\n }\n // change the position to drag position by applying force\n const dragVelocity = this.dragX - this.x;\n const dragForce = dragVelocity - this.velocity;\n this.applyForce(dragForce);\n};\n\nproto.applySelectedAttraction = function () {\n // do not attract if pointer down or no slides\n const dragDown = this.isDraggable && this.isPointerDown;\n if (dragDown || this.isFreeScrolling || !this.slides.length) {\n return;\n }\n const distance = this.selectedSlide.target * -1 - this.x;\n const force = distance * this.options.selectedAttraction;\n this.applyForce(force);\n};\n\nexport default proto;\n","import { EvEmitter } from './utils/event-emitter';\nimport { getSize } from './utils/get-size';\nimport { utils } from './utils/utils';\nimport Cell from './cell';\nimport Slide from './slide';\nimport animatePrototype from './animate';\n\n// vars\nconst getComputedStyle = window.getComputedStyle;\nconst console = window.console;\n\nfunction moveElements(elems, toElem) {\n elems = utils.makeArray(elems);\n while (elems.length) {\n toElem.appendChild(elems.shift());\n }\n}\n\n// -------------------------- Flickity -------------------------- //\n\n// globally unique identifiers\nlet GUID = 0;\n// internal store of all Flickity intances\nconst instances = {};\n\nexport default function Flickity(element, options): void {\n const queryElement = utils.getQueryElement(element);\n if (!queryElement) {\n if (console) {\n console.error('Bad element for Flickity: ' + (queryElement || element));\n }\n return;\n }\n this.element = queryElement;\n // do not initialize twice on same element\n if (this.element.flickityGUID) {\n const instance = instances[this.element.flickityGUID];\n if (!instances[this.element.flickityGUID]) return;\n instance.option(options);\n return instance;\n }\n\n // options\n this.options = utils.extend({}, this.constructor.defaults);\n this.option(options);\n\n // kick things off\n this._create();\n}\n\nFlickity.defaults = {\n accessibility: true,\n // adaptiveHeight: false,\n cellAlign: 'center',\n // cellSelector: undefined,\n // contain: false,\n freeScrollFriction: 0.075, // friction when free-scrolling\n friction: 0.28, // friction when selecting\n namespaceJQueryEvents: true,\n // initialIndex: 0,\n percentPosition: true,\n resize: true,\n selectedAttraction: 0.025,\n setGallerySize: true,\n // watchCSS: false,\n // wrapAround: false\n};\n\n// hash of methods triggered on _create()\nFlickity.createMethods = [];\n\nconst proto = Flickity.prototype;\n// inherit EventEmitter\nutils.extend(proto, EvEmitter.prototype);\n\nproto._create = function () {\n // add id for Flickity.data\n const id = (this.guid = ++GUID);\n this.element.flickityGUID = id; // expando\n instances[id] = this; // associate via id\n // initial properties\n this.selectedIndex = 0;\n // how many frames slider has been in same position\n this.restingFrames = 0;\n // initial physics properties\n this.x = 0;\n this.velocity = 0;\n this.originSide = this.options.rightToLeft ? 'right' : 'left';\n // create viewport & slider\n this.viewport = document.createElement('div');\n this.viewport.className = 'flickity-viewport';\n this.viewport.part.add('slide-viewport');\n this._createSlider();\n\n if (this.options.resize || this.options.watchCSS) {\n window.addEventListener('resize', this);\n }\n\n // add listeners from on option\n for (const eventName in this.options.on) {\n const listener = this.options.on[eventName];\n this.on(eventName, listener);\n }\n\n Flickity.createMethods.forEach(function (method) {\n this[method]();\n }, this);\n\n if (this.options.watchCSS) {\n this.watchCSS();\n } else {\n this.activate();\n }\n};\n\n/**\n * set options\n * @param {Object} opts\n */\nproto.option = function (opts) {\n utils.extend(this.options, opts);\n};\n\nproto.activate = function () {\n if (this.isActive) {\n return;\n }\n this.isActive = true;\n this.element.classList.add('flickity-enabled');\n if (this.options.rightToLeft) {\n this.element.classList.add('flickity-rtl');\n }\n\n this.getSize();\n // move initial cell elements so they can be loaded as cells\n const cellElems = this.element.children; //this._filterFindCellElements( this.element.children );\n moveElements(cellElems, this.slider);\n this.viewport.appendChild(this.slider);\n this.element.appendChild(this.viewport);\n // get cells from children\n this.reloadCells();\n\n if (this.options.accessibility) {\n // allow element to focusable\n this.element.tabIndex = 0;\n // listen for key presses\n this.element.addEventListener('keydown', this);\n }\n\n this.emitEvent('activate');\n this.selectInitialIndex();\n // flag for initial activation, for using initialIndex\n this.isInitActivated = true;\n // ready event. #493\n this.dispatchEvent('ready');\n};\n\n// slider positions the cells\nproto._createSlider = function () {\n // slider element does all the positioning\n const slider = document.createElement('div');\n slider.className = 'flickity-slider';\n slider.style[this.originSide as string] = 0;\n this.slider = slider;\n};\n\nproto._filterFindCellElements = function (elems) {\n return utils.filterFindElements(elems, this.options.cellSelector);\n};\n\n// goes through all children\nproto.reloadCells = function () {\n // collection of item elements\n this.cells = this._makeCells(\n this.slider.getRootNode().host\n ? this.slider.getRootNode().host.children\n : this.slider.children\n );\n this.positionCells();\n this._getWrapShiftCells();\n this.setGallerySize();\n};\n\n/**\n * turn elements into Flickity.Cells\n * @param {Array or NodeList or HTMLElement} elems\n * @returns {Array} items - collection of new Flickity Cells\n */\nproto._makeCells = function (elems) {\n const cellElems = this._filterFindCellElements(elems);\n\n // create new Flickity for collection\n const cells = cellElems.map(function (cellElem) {\n return new Cell(cellElem, this);\n }, this);\n\n return cells;\n};\n\nproto.getLastCell = function () {\n return this.cells[this.cells.length - 1];\n};\n\nproto.getLastSlide = function () {\n return this.slides[this.slides.length - 1];\n};\n\n// positions all cells\nproto.positionCells = function () {\n // size all cells\n this._sizeCells(this.cells);\n // position all cells\n this._positionCells(0);\n};\n\n/**\n * position certain cells\n * @param {Integer} index - which cell to start with\n */\nproto._positionCells = function (index) {\n index = index || 0;\n // also measure maxCellHeight\n // start 0 if positioning all cells\n this.maxCellHeight = index ? this.maxCellHeight || 0 : 0;\n let cellX = 0;\n // get cellX\n if (index > 0) {\n const startCell = this.cells[index - 1];\n cellX = startCell.x + startCell.size.outerWidth;\n }\n const len = this.cells.length;\n for (let i = index; i < len; i++) {\n const cell = this.cells[i];\n cell.setPosition(cellX);\n cellX += cell.size.outerWidth;\n this.maxCellHeight = Math.max(cell.size.outerHeight, this.maxCellHeight);\n }\n // keep track of cellX for wrap-around\n this.slideableWidth = cellX;\n // slides\n this.updateSlides();\n // contain slides target\n this._containSlides();\n // update slidesWidth\n this.slidesWidth = len\n ? this.getLastSlide().target - this.slides[0].target\n : 0;\n};\n\n/**\n * cell.getSize() on multiple cells\n * @param {Array} cells\n */\nproto._sizeCells = function (cells) {\n cells.forEach(function (cell) {\n cell.getSize();\n });\n};\n\n// -------------------------- -------------------------- //\n\nproto.updateSlides = function () {\n this.slides = [];\n if (!this.cells.length) {\n return;\n }\n\n let slide = new Slide(this);\n this.slides.push(slide);\n const isOriginLeft = this.originSide == 'left';\n const nextMargin = isOriginLeft ? 'marginRight' : 'marginLeft';\n\n const canCellFit = this._getCanCellFit();\n\n this.cells.forEach(function (cell, i) {\n // just add cell if first cell in slide\n if (!slide.cells.length) {\n slide.addCell(cell);\n return;\n }\n\n const slideWidth =\n slide.outerWidth -\n slide.firstMargin +\n (cell.size.outerWidth - cell.size[nextMargin]);\n\n if (canCellFit.call(this, i, slideWidth)) {\n slide.addCell(cell);\n } else {\n // doesn't fit, new slide\n slide.updateTarget();\n\n slide = new Slide(this);\n this.slides.push(slide);\n slide.addCell(cell);\n }\n }, this);\n // last slide\n slide.updateTarget();\n // update .selectedSlide\n this.updateSelectedSlide();\n};\n\nproto._getCanCellFit = function () {\n const groupCells = this.options.groupCells;\n if (!groupCells) {\n return function () {\n return false;\n };\n } else if (typeof groupCells == 'number') {\n // group by number. 3 -> [0,1,2], [3,4,5], ...\n // @ts-ignore\n const number = parseInt(groupCells, 10);\n return function (i) {\n return i % number !== 0;\n };\n }\n // default, group by width of slide\n // parse '75%\n const percentMatch =\n typeof groupCells == 'string' && groupCells.match(/^(\\d+)%$/);\n const percent = percentMatch ? parseInt(percentMatch[1], 10) / 100 : 1;\n return function (_i, slideWidth) {\n return slideWidth <= (this.size.innerWidth + 1) * percent;\n };\n};\n\n// alias _init for jQuery plugin .flickity()\nproto._init = proto.reposition = function () {\n this.positionCells();\n this.positionSliderAtSelected();\n};\n\nproto.getSize = function () {\n this.size = getSize(this.element);\n this.setCellAlign();\n this.cursorPosition = this.size.innerWidth * this.cellAlign;\n};\n\nconst cellAlignShorthands = {\n // cell align, then based on origin side\n center: {\n left: 0.5,\n right: 0.5,\n },\n left: {\n left: 0,\n right: 1,\n },\n right: {\n right: 0,\n left: 1,\n },\n};\n\nproto.setCellAlign = function () {\n const shorthand = cellAlignShorthands[this.options.cellAlign];\n this.cellAlign = shorthand\n ? shorthand[this.originSide]\n : this.options.cellAlign;\n};\n\nproto.setGallerySize = function () {\n if (this.options.setGallerySize) {\n const height =\n this.options.adaptiveHeight && this.selectedSlide\n ? this.selectedSlide.height\n : this.maxCellHeight;\n this.viewport.style.height = height + 'px';\n }\n};\n\nproto._getWrapShiftCells = function () {\n // only for wrap-around\n if (!this.options.wrapAround) {\n return;\n }\n // unshift previous cells\n this._unshiftCells(this.beforeShiftCells);\n this._unshiftCells(this.afterShiftCells);\n // get before cells\n // initial gap\n let gapX = this.cursorPosition;\n const cellIndex = this.cells.length - 1;\n this.beforeShiftCells = this._getGapCells(gapX, cellIndex, -1);\n // get after cells\n // ending gap between last cell and end of gallery viewport\n gapX = this.size.innerWidth - this.cursorPosition;\n // start cloning at first cell, working forwards\n this.afterShiftCells = this._getGapCells(gapX, 0, 1);\n};\n\nproto._getGapCells = function (gapX, cellIndex, increment) {\n // keep adding cells until the cover the initial gap\n const cells = [];\n while (gapX > 0) {\n const cell = this.cells[cellIndex];\n if (!cell) {\n break;\n }\n cells.push(cell);\n cellIndex += increment;\n gapX -= cell.size.outerWidth;\n }\n return cells;\n};\n\n// ----- contain ----- //\n\n// contain cell targets so no excess sliding\nproto._containSlides = function () {\n if (!this.options.contain || this.options.wrapAround || !this.cells.length) {\n return;\n }\n const isRightToLeft = this.options.rightToLeft;\n const beginMargin = isRightToLeft ? 'marginRight' : 'marginLeft';\n const endMargin = isRightToLeft ? 'marginLeft' : 'marginRight';\n const contentWidth = this.slideableWidth - this.getLastCell().size[endMargin];\n // content is less than gallery size\n const isContentSmaller = contentWidth < this.size.innerWidth;\n // bounds\n const beginBound = this.cursorPosition + this.cells[0].size[beginMargin];\n const endBound = contentWidth - this.size.innerWidth * (1 - this.cellAlign);\n // contain each cell target\n this.slides.forEach(function (slide) {\n if (isContentSmaller) {\n // all cells fit inside gallery\n slide.target = contentWidth * this.cellAlign;\n } else {\n // contain to bounds\n slide.target = Math.max(slide.target, beginBound);\n slide.target = Math.min(slide.target, endBound);\n }\n }, this);\n};\n\n// ----- ----- //\n\n/**\n * emits events via eventEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nproto.dispatchEvent = function (type, event, args) {\n const emitArgs = event ? [event].concat(args) : args;\n this.emitEvent(type, emitArgs);\n};\n\n// -------------------------- select -------------------------- //\n\n/**\n * @param {Integer} index - index of the slide\n * @param {Boolean} isWrap - will wrap-around to last/first if at the end\n * @param {Boolean} isInstant - will immediately set position at selected cell\n */\nproto.select = function (index, isWrap, isInstant) {\n if (!this.isActive) {\n return;\n }\n index = parseInt(index, 10);\n this._wrapSelect(index);\n\n if (this.options.wrapAround || isWrap) {\n index = utils.modulo(index, this.slides.length);\n }\n // bail if invalid index\n if (!this.slides[index]) {\n return;\n }\n const prevIndex = this.selectedIndex;\n this.selectedIndex = index;\n this.updateSelectedSlide();\n if (isInstant) {\n this.positionSliderAtSelected();\n } else {\n this.startAnimation();\n }\n if (this.options.adaptiveHeight) {\n this.setGallerySize();\n }\n // events\n this.dispatchEvent('select', null, [index]);\n // change event if new index\n if (index != prevIndex) {\n this.dispatchEvent('change', null, [index]);\n }\n // old v1 event name, remove in v3\n this.dispatchEvent('cellSelect');\n};\n\n// wraps position for wrapAround, to move to closest slide. #113\nproto._wrapSelect = function (index) {\n const len = this.slides.length;\n const isWrapping = this.options.wrapAround && len > 1;\n if (!isWrapping) {\n return index;\n }\n const wrapIndex = utils.modulo(index, len);\n // go to shortest\n const delta = Math.abs(wrapIndex - this.selectedIndex);\n const backWrapDelta = Math.abs(wrapIndex + len - this.selectedIndex);\n const forewardWrapDelta = Math.abs(wrapIndex - len - this.selectedIndex);\n if (!this.isDragSelect && backWrapDelta < delta) {\n index += len;\n } else if (!this.isDragSelect && forewardWrapDelta < delta) {\n index -= len;\n }\n // wrap position so slider is within normal area\n if (index < 0) {\n this.x -= this.slideableWidth;\n } else if (index >= len) {\n this.x += this.slideableWidth;\n }\n};\n\nproto.previous = function (isWrap, isInstant) {\n this.select(this.selectedIndex - 1, isWrap, isInstant);\n};\n\nproto.next = function (isWrap, isInstant) {\n this.select(this.selectedIndex + 1, isWrap, isInstant);\n};\n\nproto.updateSelectedSlide = function () {\n const slide = this.slides[this.selectedIndex];\n // selectedIndex could be outside of slides, if triggered before resize()\n if (!slide) {\n return;\n }\n // unselect previous selected slide\n this.unselectSelectedSlide();\n // update new selected slide\n this.selectedSlide = slide;\n slide.select();\n this.selectedCells = slide.cells;\n this.selectedElements = slide.getCellElements();\n // HACK: selectedCell & selectedElement is first cell in slide, backwards compatibility\n // Remove in v3?\n this.selectedCell = slide.cells[0];\n this.selectedElement = this.selectedElements[0];\n};\n\nproto.unselectSelectedSlide = function () {\n if (this.selectedSlide) {\n this.selectedSlide.unselect();\n }\n};\n\nproto.selectInitialIndex = function () {\n const initialIndex = this.options.initialIndex;\n // already activated, select previous selectedIndex\n if (this.isInitActivated) {\n this.select(this.selectedIndex, false, true);\n return;\n }\n // select with selector string\n if (initialIndex && typeof initialIndex == 'string') {\n const cell = this.queryCell(initialIndex);\n if (cell) {\n this.selectCell(initialIndex, false, true);\n return;\n }\n }\n\n let index = 0;\n // select with number\n if (initialIndex && this.slides[initialIndex]) {\n index = initialIndex;\n }\n // select instantly\n this.select(index, false, true);\n};\n\n/**\n * select slide from number or cell element\n * @param {Element or Number} elem\n * @param { Boolean } isWrap\n * @param { Boolean } isInstant\n */\nproto.selectCell = function (elem, isWrap, isInstant) {\n // get cell\n const cell = this.queryCell(elem);\n if (!cell) {\n return;\n }\n\n const index = this.getCellSlideIndex(cell);\n this.select(index, isWrap, isInstant);\n};\n\nproto.getCellSlideIndex = function (cell) {\n // get index of slides that has cell\n for (let i = 0; i < this.slides.length; i++) {\n const slide = this.slides[i];\n const index = slide.cells.indexOf(cell);\n if (index != -1) {\n return i;\n }\n }\n};\n\n// -------------------------- get cells -------------------------- //\n\n/**\n * get Flickity.Cell, given an Element\n * @param {Element} elem\n * @returns found flickity cell\n */\nproto.getCell = function (elem) {\n // loop through cells to get the one that matches\n for (let i = 0; i < this.cells.length; i++) {\n const cell = this.cells[i];\n if (cell.element == elem) {\n return cell;\n }\n }\n};\n\n/**\n * get collection of Flickity.Cells, given Elements\n * @param {Element, Array, NodeList} elems\n * @returns {Array} cells - Flickity.Cells\n */\nproto.getCells = function (elems) {\n elems = utils.makeArray(elems);\n const cells = [];\n elems.forEach(function (elem) {\n const cell = this.getCell(elem);\n if (cell) {\n cells.push(cell);\n }\n }, this);\n return cells;\n};\n\n/**\n * get cell elements\n * @returns {Array} cellElems\n */\nproto.getCellElements = function () {\n return this.cells.map(function (cell) {\n return cell.element;\n });\n};\n\n/**\n * get parent cell from an element\n * @param {Element} elem\n * @returns {Flickit.Cell} cell\n */\nproto.getParentCell = function (elem) {\n // first check if elem is cell\n const cell = this.getCell(elem);\n if (cell) {\n return cell;\n }\n // try to get parent cell elem\n elem = utils.getParent(elem, '.flickity-slider > *');\n return this.getCell(elem);\n};\n\n/**\n * get cells adjacent to a slide\n * @param {Integer} adjCount - number of adjacent slides\n * @param {Integer} index - index of slide to start\n * @returns {Array} cells - array of Flickity.Cells\n */\nproto.getAdjacentCellElements = function (adjCount, index) {\n if (!adjCount) {\n return this.selectedSlide.getCellElements();\n }\n index = index === undefined ? this.selectedIndex : index;\n\n const len = this.slides.length;\n if (1 + adjCount * 2 >= len) {\n return this.getCellElements();\n }\n\n let cellElems = [];\n for (let i = index - adjCount; i <= index + adjCount; i++) {\n const slideIndex = this.options.wrapAround ? utils.modulo(i, len) : i;\n const slide = this.slides[slideIndex];\n if (slide) {\n cellElems = cellElems.concat(slide.getCellElements());\n }\n }\n return cellElems;\n};\n\n/**\n * select slide from number or cell element\n * @param {Element, Selector String, or Number} selector\n * @returns {Flickity.Cell} found flickity cell\n */\nproto.queryCell = function (selector) {\n if (typeof selector == 'number') {\n // use number as index\n return this.cells[selector];\n }\n if (typeof selector == 'string') {\n // do not select invalid selectors from hash: #123, #/. #791\n if (selector.match(/^[#\\.]?[\\d\\/]/)) {\n return;\n }\n // use string as selector, get element\n selector = this.element.querySelector(selector);\n }\n // get cell from element\n return this.getCell(selector);\n};\n\n// -------------------------- events -------------------------- //\n\nproto.uiChange = function () {\n this.emitEvent('uiChange');\n};\n\n// keep focus on element when child UI elements are clicked\nproto.childUIPointerDown = function (event) {\n // HACK iOS does not allow touch events to bubble up?!\n if (event.type != 'touchstart') {\n event.preventDefault();\n }\n this.focus();\n};\n\n// ----- resize ----- //\n\nproto.onresize = function () {\n this.watchCSS();\n this.resize();\n};\n\nutils.debounceMethod(Flickity, 'onresize', 150);\n\nproto.resize = function () {\n if (!this.isActive) {\n return;\n }\n this.getSize();\n // wrap values\n if (this.options.wrapAround) {\n this.x = utils.modulo(this.x, this.slideableWidth);\n }\n this.positionCells();\n this._getWrapShiftCells();\n this.setGallerySize();\n this.emitEvent('resize');\n // update selected index for group slides, instant\n // TODO: position can be lost between groups of various numbers\n const selectedElement = this.selectedElements && this.selectedElements[0];\n this.selectCell(selectedElement, false, true);\n};\n\n// watches the :after property, activates/deactivates\nproto.watchCSS = function () {\n const watchOption = this.options.watchCSS;\n if (!watchOption) {\n return;\n }\n\n const afterContent = getComputedStyle(this.element, ':after').content;\n // activate if :after { content: 'flickity' }\n if (afterContent.indexOf('flickity') != -1) {\n this.activate();\n } else {\n this.deactivate();\n }\n};\n\n// ----- keydown ----- //\n\n// go previous/next if left/right keys pressed\nproto.onkeydown = function (event) {\n // only work if element is in focus\n const isNotFocused =\n document.activeElement && document.activeElement != this.element;\n if (!this.options.accessibility || isNotFocused) {\n return;\n }\n\n const handler = Flickity.keyboardHandlers[event.keyCode];\n if (handler) {\n handler.call(this);\n }\n};\n\nFlickity.keyboardHandlers = {\n // left arrow\n 37: function () {\n const leftMethod = this.options.rightToLeft ? 'next' : 'previous';\n this.uiChange();\n this[leftMethod]();\n },\n // right arrow\n 39: function () {\n const rightMethod = this.options.rightToLeft ? 'previous' : 'next';\n this.uiChange();\n this[rightMethod]();\n },\n};\n\n// ----- focus ----- //\n\nproto.focus = function () {\n // TODO remove scrollTo once focus options gets more support\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#Browser_compatibility\n const prevScrollY = window.pageYOffset;\n this.element.focus({ preventScroll: true });\n // hack to fix scroll jump after focus, #76\n if (window.pageYOffset != prevScrollY) {\n window.scrollTo(window.pageXOffset, prevScrollY);\n }\n};\n\n// -------------------------- destroy -------------------------- //\n\n// deactivate all Flickity functionality, but keep stuff available\nproto.deactivate = function () {\n if (!this.isActive) {\n return;\n }\n this.element.classList.remove('flickity-enabled');\n this.element.classList.remove('flickity-rtl');\n this.unselectSelectedSlide();\n // destroy cells\n this.cells.forEach(function (cell) {\n cell.destroy();\n });\n this.element.removeChild(this.viewport);\n // move child elements back into element\n moveElements(this.slider.children, this.element);\n if (this.options.accessibility) {\n this.element.removeAttribute('tabIndex');\n this.element.removeEventListener('keydown', this);\n }\n // set flags\n this.isActive = false;\n this.emitEvent('deactivate');\n};\n\nproto.destroy = function () {\n this.deactivate();\n window.removeEventListener('resize', this);\n this.allOff();\n this.emitEvent('destroy');\n delete this.element.flickityGUID;\n delete instances[this.guid];\n};\n\n// -------------------------- prototype -------------------------- //\n\nutils.extend(proto, animatePrototype);\n\n// -------------------------- extras -------------------------- //\n\n/**\n * get Flickity instance from element\n * @param {Element} elem\n * @returns {Flickity} Flickity instance\n */\nFlickity.data = function (elem) {\n elem = utils.getQueryElement(elem);\n const id = elem && elem.flickityGUID;\n return id && instances[id];\n};\n\nutils.htmlInit(Flickity, 'flickity');\n\nFlickity.Cell = Cell;\nFlickity.Slide = Slide;\n","/*!\n * Unipointer v2.4.0\n * base class for doing one thing with pointer event\n * MIT license\n */\n\nimport { EvEmitter } from './event-emitter';\n\nfunction noop() {}\n\nexport function Unipointer() {}\n\n// inherit EvEmitter\nconst pointerProto = (Unipointer.prototype = Object.create(\n EvEmitter.prototype\n));\n\npointerProto.bindStartEvent = function (elem) {\n this._bindStartEvent(elem, true);\n};\n\npointerProto.unbindStartEvent = function (elem) {\n this._bindStartEvent(elem, false);\n};\n\n/**\n * Add or remove start event\n * @param {Element} elem\n * @param {Boolean} isAdd - remove if falsey\n */\npointerProto._bindStartEvent = function (elem, isAdd) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n const bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n\n // default to mouse events\n let startEvent = 'mousedown';\n if ('ontouchstart' in window) {\n // HACK prefer Touch Events as you can preventDefault on touchstart to\n // disable scroll in iOS & mobile Chrome metafizzy/flickity#1177\n startEvent = 'touchstart';\n } else if (window.PointerEvent) {\n // Pointer Events\n startEvent = 'pointerdown';\n }\n elem[bindMethod](startEvent, this);\n};\n\n// trigger handler methods for events\npointerProto.handleEvent = function (event) {\n const method = 'on' + event.type;\n if (this[method]) {\n this[method](event);\n }\n};\n\n// returns the touch that we're keeping track of\npointerProto.getTouch = function (touches) {\n for (let i = 0; i < touches.length; i++) {\n const touch = touches[i];\n if (touch.identifier == this.pointerIdentifier) {\n return touch;\n }\n }\n};\n\n// ----- start event ----- //\n\npointerProto.onmousedown = function (event) {\n // dismiss clicks from right or middle buttons\n const button = event.button;\n if (button && button !== 0 && button !== 1) {\n return;\n }\n this._pointerDown(event, event);\n};\n\npointerProto.ontouchstart = function (event) {\n this._pointerDown(event, event.changedTouches[0]);\n};\n\npointerProto.onpointerdown = function (event) {\n this._pointerDown(event, event);\n};\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\npointerProto._pointerDown = function (event, pointer) {\n // dismiss right click and other pointers\n // button = 0 is okay, 1-4 not\n if (event.button || this.isPointerDown) {\n return;\n }\n\n this.isPointerDown = true;\n // save pointer identifier to match up touch events\n this.pointerIdentifier =\n pointer.pointerId !== undefined\n ? // pointerId for pointer events, touch.indentifier for touch events\n pointer.pointerId\n : pointer.identifier;\n\n this.pointerDown(event, pointer);\n};\n\npointerProto.pointerDown = function (event, pointer) {\n this._bindPostStartEvents(event);\n this.emitEvent('pointerDown', [event, pointer]);\n};\n\n// hash of events to be bound after start event\nconst postStartEvents = {\n mousedown: ['mousemove', 'mouseup'],\n touchstart: ['touchmove', 'touchend', 'touchcancel'],\n pointerdown: ['pointermove', 'pointerup', 'pointercancel'],\n};\n\npointerProto._bindPostStartEvents = function (event) {\n if (!event) {\n return;\n }\n // get proper events to match start event\n const events = postStartEvents[event.type];\n // bind events to node\n events.forEach(function (eventName) {\n window.addEventListener(eventName, this);\n }, this);\n // save these arguments\n this._boundPointerEvents = events;\n};\n\npointerProto._unbindPostStartEvents = function () {\n // check for _boundEvents, in case dragEnd triggered twice (old IE8 bug)\n if (!this._boundPointerEvents) {\n return;\n }\n this._boundPointerEvents.forEach(function (eventName) {\n window.removeEventListener(eventName, this);\n }, this);\n\n delete this._boundPointerEvents;\n};\n\n// ----- move event ----- //\n\npointerProto.onmousemove = function (event) {\n this._pointerMove(event, event);\n};\n\npointerProto.onpointermove = function (event) {\n if (event.pointerId == this.pointerIdentifier) {\n this._pointerMove(event, event);\n }\n};\n\npointerProto.ontouchmove = function (event) {\n const touch = this.getTouch(event.changedTouches);\n if (touch) {\n this._pointerMove(event, touch);\n }\n};\n\n/**\n * pointer move\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\npointerProto._pointerMove = function (event, pointer) {\n this.pointerMove(event, pointer);\n};\n\n// public\npointerProto.pointerMove = function (event, pointer) {\n this.emitEvent('pointerMove', [event, pointer]);\n};\n\n// ----- end event ----- //\n\npointerProto.onmouseup = function (event) {\n this._pointerUp(event, event);\n};\n\npointerProto.onpointerup = function (event) {\n if (event.pointerId == this.pointerIdentifier) {\n this._pointerUp(event, event);\n }\n};\n\npointerProto.ontouchend = function (event) {\n const touch = this.getTouch(event.changedTouches);\n if (touch) {\n this._pointerUp(event, touch);\n }\n};\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\npointerProto._pointerUp = function (event, pointer) {\n this._pointerDone();\n this.pointerUp(event, pointer);\n};\n\n// public\npointerProto.pointerUp = function (event, pointer) {\n this.emitEvent('pointerUp', [event, pointer]);\n};\n\n// ----- pointer done ----- //\n\n// triggered on pointer up & pointer cancel\npointerProto._pointerDone = function () {\n this._pointerReset();\n this._unbindPostStartEvents();\n this.pointerDone();\n};\n\npointerProto._pointerReset = function () {\n // reset properties\n this.isPointerDown = false;\n delete this.pointerIdentifier;\n};\n\npointerProto.pointerDone = noop;\n\n// ----- pointer cancel ----- //\n\npointerProto.onpointercancel = function (event) {\n if (event.pointerId == this.pointerIdentifier) {\n this._pointerCancel(event, event);\n }\n};\n\npointerProto.ontouchcancel = function (event) {\n const touch = this.getTouch(event.changedTouches);\n if (touch) {\n this._pointerCancel(event, touch);\n }\n};\n\n/**\n * pointer cancel\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\npointerProto._pointerCancel = function (event, pointer) {\n this._pointerDone();\n this.pointerCancel(event, pointer);\n};\n\n// public\npointerProto.pointerCancel = function (event, pointer) {\n this.emitEvent('pointerCancel', [event, pointer]);\n};\n\n// ----- ----- //\n\n// utility function for getting x/y coords from event\nUnipointer.getPointerPoint = function (pointer) {\n return {\n x: pointer.pageX,\n y: pointer.pageY,\n };\n};\n\n/*!\n * Unidragger v2.4.0\n * Draggable base class\n * MIT license\n */\n\nexport function Unidragger() {}\n\n// inherit Unipointer & EvEmitter\nconst draggerProto = (Unidragger.prototype = Object.create(\n Unipointer.prototype\n));\n\n// ----- bind start ----- //\n\ndraggerProto.bindHandles = function () {\n this._bindHandles(true);\n};\n\ndraggerProto.unbindHandles = function () {\n this._bindHandles(false);\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd\n */\ndraggerProto._bindHandles = function (isAdd) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n // bind each handle\n const bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n const touchAction = isAdd ? this._touchActionValue : '';\n for (let i = 0; i < this.handles.length; i++) {\n const handle = this.handles[i];\n this._bindStartEvent(handle, isAdd);\n handle[bindMethod]('click', this);\n // touch-action: none to override browser touch gestures. metafizzy/flickity#540\n if (window.PointerEvent) {\n handle.style.touchAction = touchAction;\n }\n }\n};\n\n// prototype so it can be overwriteable by Flickity\ndraggerProto._touchActionValue = 'none';\n\n// ----- start event ----- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\ndraggerProto.pointerDown = function (event, pointer) {\n const isOkay = this.okayPointerDown(event);\n if (!isOkay) {\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents(event);\n this.emitEvent('pointerDown', [event, pointer]);\n};\n\n// nodes that have text fields\nconst cursorNodes = {\n TEXTAREA: true,\n INPUT: true,\n SELECT: true,\n OPTION: true,\n};\n\n// input types that do not have text fields\nconst clickTypes = {\n radio: true,\n checkbox: true,\n button: true,\n submit: true,\n image: true,\n file: true,\n};\n\n// dismiss inputs with text fields. flickity#403, flickity#404\ndraggerProto.okayPointerDown = function (event) {\n const isCursorNode = cursorNodes[event.target.nodeName];\n const isClickType = clickTypes[event.target.type];\n const isOkay = !isCursorNode || isClickType;\n if (!isOkay) {\n this._pointerReset();\n }\n return isOkay;\n};\n\n// kludge to blur previously focused input\ndraggerProto.pointerDownBlur = function () {\n const focused = document.activeElement as HTMLElement;\n // do not blur body for IE10, metafizzy/flickity#117\n const canBlur = focused && focused.blur && focused != document.body;\n if (canBlur) {\n focused.blur();\n }\n};\n\n// ----- move event ----- //\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\ndraggerProto.pointerMove = function (event, pointer) {\n const moveVector = this._dragPointerMove(event, pointer);\n this.emitEvent('pointerMove', [event, pointer, moveVector]);\n this._dragMove(event, pointer, moveVector);\n};\n\n// base pointer move logic\ndraggerProto._dragPointerMove = function (event, pointer) {\n const moveVector = {\n x: pointer.pageX - this.pointerDownPointer.pageX,\n y: pointer.pageY - this.pointerDownPointer.pageY,\n };\n // start drag if pointer has moved far enough to start drag\n if (!this.isDragging && this.hasDragStarted(moveVector)) {\n this._dragStart(event, pointer);\n }\n return moveVector;\n};\n\n// condition if pointer has moved far enough to start drag\ndraggerProto.hasDragStarted = function (moveVector) {\n return Math.abs(moveVector.x) > 3 || Math.abs(moveVector.y) > 3;\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\ndraggerProto.pointerUp = function (event, pointer) {\n this.emitEvent('pointerUp', [event, pointer]);\n this._dragPointerUp(event, pointer);\n};\n\ndraggerProto._dragPointerUp = function (event, pointer) {\n if (this.isDragging) {\n this._dragEnd(event, pointer);\n } else {\n // pointer didn't move enough for drag to start\n this._staticClick(event, pointer);\n }\n};\n\n// -------------------------- drag -------------------------- //\n\n// dragStart\ndraggerProto._dragStart = function (event, pointer) {\n this.isDragging = true;\n // prevent clicks\n this.isPreventingClicks = true;\n this.dragStart(event, pointer);\n};\n\ndraggerProto.dragStart = function (event, pointer) {\n this.emitEvent('dragStart', [event, pointer]);\n};\n\n// dragMove\ndraggerProto._dragMove = function (event, pointer, moveVector) {\n // do not drag if not dragging yet\n if (!this.isDragging) {\n return;\n }\n\n this.dragMove(event, pointer, moveVector);\n};\n\ndraggerProto.dragMove = function (event, pointer, moveVector) {\n event.preventDefault();\n this.emitEvent('dragMove', [event, pointer, moveVector]);\n};\n\n// dragEnd\ndraggerProto._dragEnd = function (event, pointer) {\n // set flags\n this.isDragging = false;\n // re-enable clicking async\n setTimeout(\n function () {\n delete this.isPreventingClicks;\n }.bind(this)\n );\n\n this.dragEnd(event, pointer);\n};\n\ndraggerProto.dragEnd = function (event, pointer) {\n this.emitEvent('dragEnd', [event, pointer]);\n};\n\n// ----- onclick ----- //\n\n// handle all clicks and prevent clicks when dragging\ndraggerProto.onclick = function (event) {\n if (this.isPreventingClicks) {\n event.preventDefault();\n }\n};\n\n// ----- staticClick ----- //\n\n// triggered after pointer down & up with no/tiny movement\ndraggerProto._staticClick = function (event, pointer) {\n // ignore emulated mouse up clicks\n if (this.isIgnoringMouseUp && event.type == 'mouseup') {\n return;\n }\n\n this.staticClick(event, pointer);\n\n // set flag for emulated clicks 300ms after touchend\n if (event.type != 'mouseup') {\n this.isIgnoringMouseUp = true;\n // reset flag after 300ms\n setTimeout(\n function () {\n delete this.isIgnoringMouseUp;\n }.bind(this),\n 400\n );\n }\n};\n\ndraggerProto.staticClick = function (event, pointer) {\n this.emitEvent('staticClick', [event, pointer]);\n};\n\n// ----- utils ----- //\n\nUnidragger.getPointerPoint = Unipointer.getPointerPoint;\n","import Flickity from './flickity';\nimport { utils } from './utils/utils';\nimport { Unidragger } from './utils/gestures';\n\nexport default () => {\n // ----- defaults ----- //\n utils.extend(Flickity.defaults, {\n draggable: '>1',\n dragThreshold: 3,\n });\n\n // ----- create ----- //\n\n Flickity.createMethods.push('_createDrag');\n\n // -------------------------- drag prototype -------------------------- //\n\n const proto = Flickity.prototype;\n utils.extend(proto, Unidragger.prototype);\n proto._touchActionValue = 'pan-y';\n\n // -------------------------- -------------------------- //\n\n const isTouch = 'createTouch' in document;\n let isTouchmoveScrollCanceled = false;\n\n proto._createDrag = function () {\n this.on('activate', this.onActivateDrag);\n this.on('uiChange', this._uiChangeDrag);\n this.on('deactivate', this.onDeactivateDrag);\n this.on('cellChange', this.updateDraggable);\n // TODO updateDraggable on resize? if groupCells & slides change\n // HACK - add seemingly innocuous handler to fix iOS 10 scroll behavior\n // #457, RubaXa/Sortable#973\n if (isTouch && !isTouchmoveScrollCanceled) {\n window.addEventListener('touchmove', function () {});\n isTouchmoveScrollCanceled = true;\n }\n };\n\n proto.onActivateDrag = function () {\n this.handles = [this.viewport];\n this.bindHandles();\n this.updateDraggable();\n };\n\n proto.onDeactivateDrag = function () {\n this.unbindHandles();\n this.element.classList.remove('is-draggable');\n };\n\n proto.updateDraggable = function () {\n // disable dragging if less than 2 slides. #278\n if (this.options.draggable == '>1') {\n this.isDraggable = this.slides.length > 1;\n } else {\n this.isDraggable = this.options.draggable;\n }\n if (this.isDraggable) {\n this.element.classList.add('is-draggable');\n } else {\n this.element.classList.remove('is-draggable');\n }\n };\n\n // backwards compatibility\n proto.bindDrag = function () {\n this.options.draggable = true;\n this.updateDraggable();\n };\n\n proto.unbindDrag = function () {\n this.options.draggable = false;\n this.updateDraggable();\n };\n\n proto._uiChangeDrag = function () {\n delete this.isFreeScrolling;\n };\n\n // -------------------------- pointer events -------------------------- //\n\n proto.pointerDown = function (event, pointer) {\n if (!this.isDraggable) {\n this._pointerDownDefault(event, pointer);\n return;\n }\n const isOkay = this.okayPointerDown(event);\n if (!isOkay) {\n return;\n }\n\n this._pointerDownPreventDefault(event);\n this.pointerDownFocus(event);\n // blur\n if (document.activeElement != this.element) {\n // do not blur if already focused\n this.pointerDownBlur();\n }\n\n // stop if it was moving\n this.dragX = this.x;\n this.viewport.classList.add('is-pointer-down');\n // track scrolling\n this.pointerDownScroll = getScrollPosition();\n window.addEventListener('scroll', this);\n\n this._pointerDownDefault(event, pointer);\n };\n\n // default pointerDown logic, used for staticClick\n proto._pointerDownDefault = function (event, pointer) {\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. #779\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n // bind move and end events\n this._bindPostStartEvents(event);\n this.dispatchEvent('pointerDown', event, [pointer]);\n };\n\n const focusNodes = {\n INPUT: true,\n TEXTAREA: true,\n SELECT: true,\n };\n\n proto.pointerDownFocus = function (event) {\n const isFocusNode = focusNodes[event.target.nodeName];\n if (!isFocusNode) {\n this.focus();\n }\n };\n\n proto._pointerDownPreventDefault = function (event) {\n const isTouchStart = event.type == 'touchstart';\n const isTouchPointer = event.pointerType == 'touch';\n const isFocusNode = focusNodes[event.target.nodeName];\n if (!isTouchStart && !isTouchPointer && !isFocusNode) {\n event.preventDefault();\n }\n };\n\n // ----- move ----- //\n\n proto.hasDragStarted = function (moveVector) {\n return Math.abs(moveVector.x) > this.options.dragThreshold;\n };\n\n // ----- up ----- //\n\n proto.pointerUp = function (event, pointer) {\n delete this.isTouchScrolling;\n this.viewport.classList.remove('is-pointer-down');\n this.dispatchEvent('pointerUp', event, [pointer]);\n this._dragPointerUp(event, pointer);\n };\n\n proto.pointerDone = function () {\n window.removeEventListener('scroll', this);\n delete this.pointerDownScroll;\n };\n\n // -------------------------- dragging -------------------------- //\n\n proto.dragStart = function (event, pointer) {\n if (!this.isDraggable) {\n return;\n }\n this.dragStartPosition = this.x;\n this.startAnimation();\n window.removeEventListener('scroll', this);\n this.dispatchEvent('dragStart', event, [pointer]);\n };\n\n proto.pointerMove = function (event, pointer) {\n const moveVector = this._dragPointerMove(event, pointer);\n this.dispatchEvent('pointerMove', event, [pointer, moveVector]);\n this._dragMove(event, pointer, moveVector);\n };\n\n proto.dragMove = function (event, pointer, moveVector) {\n if (!this.isDraggable) {\n return;\n }\n event.preventDefault();\n\n this.previousDragX = this.dragX;\n // reverse if right-to-left\n const direction = this.options.rightToLeft ? -1 : 1;\n if (this.options.wrapAround) {\n // wrap around move. #589\n moveVector.x = moveVector.x % this.slideableWidth;\n }\n let dragX = this.dragStartPosition + moveVector.x * direction;\n\n if (!this.options.wrapAround && this.slides.length) {\n // slow drag\n const originBound = Math.max(\n -this.slides[0].target,\n this.dragStartPosition\n );\n dragX = dragX > originBound ? (dragX + originBound) * 0.5 : dragX;\n const endBound = Math.min(\n -this.getLastSlide().target,\n this.dragStartPosition\n );\n dragX = dragX < endBound ? (dragX + endBound) * 0.5 : dragX;\n }\n\n this.dragX = dragX;\n\n this.dragMoveTime = new Date();\n this.dispatchEvent('dragMove', event, [pointer, moveVector]);\n };\n\n proto.dragEnd = function (event, pointer) {\n if (!this.isDraggable) {\n return;\n }\n if (this.options.freeScroll) {\n this.isFreeScrolling = true;\n }\n // set selectedIndex based on where flick will end up\n let index = this.dragEndRestingSelect();\n\n if (this.options.freeScroll && !this.options.wrapAround) {\n // if free-scroll & not wrap around\n // do not free-scroll if going outside of bounding slides\n // so bounding slides can attract slider, and keep it in bounds\n const restingX = this.getRestingPosition();\n this.isFreeScrolling =\n -restingX > this.slides[0].target &&\n -restingX < this.getLastSlide().target;\n } else if (!this.options.freeScroll && index == this.selectedIndex) {\n // boost selection if selected index has not changed\n index += this.dragEndBoostSelect();\n }\n delete this.previousDragX;\n // apply selection\n // TODO refactor this, selecting here feels weird\n // HACK, set flag so dragging stays in correct direction\n this.isDragSelect = this.options.wrapAround;\n this.select(index);\n delete this.isDragSelect;\n this.dispatchEvent('dragEnd', event, [pointer]);\n };\n\n proto.dragEndRestingSelect = function () {\n const restingX = this.getRestingPosition();\n // how far away from selected slide\n const distance = Math.abs(\n this.getSlideDistance(-restingX, this.selectedIndex)\n );\n // get closet resting going up and going down\n const positiveResting = this._getClosestResting(restingX, distance, 1);\n const negativeResting = this._getClosestResting(restingX, distance, -1);\n // use closer resting for wrap-around\n const index =\n positiveResting.distance < negativeResting.distance\n ? positiveResting.index\n : negativeResting.index;\n return index;\n };\n\n /**\n * given resting X and distance to selected cell\n * get the distance and index of the closest cell\n * @param {Number} restingX - estimated post-flick resting position\n * @param {Number} distance - distance to selected cell\n * @param {Integer} increment - +1 or -1, going up or down\n * @returns {Object} - { distance: {Number}, index: {Integer} }\n */\n proto._getClosestResting = function (restingX, distance, increment) {\n let index = this.selectedIndex;\n let minDistance = Infinity;\n const condition =\n this.options.contain && !this.options.wrapAround\n ? // if contain, keep going if distance is equal to minDistance\n function (d, md) {\n return d <= md;\n }\n : function (d, md) {\n return d < md;\n };\n while (condition(distance, minDistance)) {\n // measure distance to next cell\n index += increment;\n minDistance = distance;\n distance = this.getSlideDistance(-restingX, index);\n if (distance === null) {\n break;\n }\n distance = Math.abs(distance);\n }\n return {\n distance: minDistance,\n // selected was previous index\n index: index - increment,\n };\n };\n\n /**\n * measure distance between x and a slide target\n * @param {Number} x\n * @param {Integer} index - slide index\n * @returns null or distance number\n */\n proto.getSlideDistance = function (x, index) {\n const len = this.slides.length;\n // wrap around if at least 2 slides\n const isWrapAround = this.options.wrapAround && len > 1;\n const slideIndex = isWrapAround ? utils.modulo(index, len) : index;\n const slide = this.slides[slideIndex];\n if (!slide) {\n return null;\n }\n // add distance for wrap-around slides\n const wrap = isWrapAround\n ? this.slideableWidth * Math.floor(index / len)\n : 0;\n return x - (slide.target + wrap);\n };\n\n proto.dragEndBoostSelect = function () {\n // do not boost if no previousDragX or dragMoveTime\n if (\n this.previousDragX === undefined ||\n !this.dragMoveTime ||\n // or if drag was held for 100 ms\n (new Date() as any) - this.dragMoveTime > 100\n ) {\n return 0;\n }\n\n const distance = this.getSlideDistance(-this.dragX, this.selectedIndex);\n const delta = this.previousDragX - this.dragX;\n if (distance > 0 && delta > 0) {\n // boost to next if moving towards the right, and positive velocity\n return 1;\n } else if (distance < 0 && delta < 0) {\n // boost to previous if moving towards the left, and negative velocity\n return -1;\n }\n return 0;\n };\n\n // ----- staticClick ----- //\n\n proto.staticClick = function (event, pointer) {\n // get clickedCell, if cell was clicked\n const clickedCell = this.getParentCell(event.target);\n const cellElem = clickedCell && clickedCell.element;\n const cellIndex = clickedCell && this.cells.indexOf(clickedCell);\n this.dispatchEvent('staticClick', event, [pointer, cellElem, cellIndex]);\n };\n\n // ----- scroll ----- //\n\n proto.onscroll = function () {\n const scroll = getScrollPosition();\n const scrollMoveX = this.pointerDownScroll.x - scroll.x;\n const scrollMoveY = this.pointerDownScroll.y - scroll.y;\n // cancel click/tap if scroll is too much\n if (Math.abs(scrollMoveX) > 3 || Math.abs(scrollMoveY) > 3) {\n this._pointerDone();\n }\n };\n\n // ----- utils ----- //\n\n function getScrollPosition() {\n return {\n x: window.scrollX,\n y: window.scrollY,\n };\n }\n};\n","import Flickity from './flickity';\nimport { Unipointer } from './utils/gestures';\nimport { utils } from './utils/utils';\n\nexport default () => {\n const svgURI = 'http://www.w3.org/2000/svg';\n\n // -------------------------- PrevNextButton -------------------------- //\n\n function PrevNextButton(direction, parent) {\n this.direction = direction;\n this.parent = parent;\n this.parentElement = this.parent.element.shadowRoot || this.parent.element;\n this._create();\n }\n\n PrevNextButton.prototype = Object.create(Unipointer.prototype);\n\n PrevNextButton.prototype._create = function () {\n // properties\n this.isEnabled = true;\n this.isPrevious = this.direction == -1;\n const leftDirection = this.parent.options.rightToLeft ? 1 : -1;\n this.isLeft = this.direction == leftDirection;\n\n const button = (this.element = document.createElement('button'));\n button.className = 'flickity-button flickity-prev-next-button';\n button.part.add('navigation-button');\n if (this.isPrevious) {\n button.classList.add('previous');\n button.part.add('navigation-button--previous');\n } else {\n button.classList.add('next');\n button.part.add('navigation-button--next');\n }\n // prevent button from submitting form http://stackoverflow.com/a/10836076/182183\n button.setAttribute('type', 'button');\n // init as disabled\n this.disable();\n\n button.setAttribute('aria-label', this.isPrevious ? 'Previous' : 'Next');\n\n const slot = document.createElement('slot');\n slot.name = this.isPrevious ? 'previous-icon' : 'next-icon';\n button.appendChild(slot);\n slot.addEventListener('slotchange', () => {\n slot.assignedElements({ flatten: true }).forEach((ele) => {\n ele.removeAttribute('hidden');\n });\n });\n\n // create arrow\n const svg = this.createSVG();\n slot.appendChild(svg);\n // events\n this.parent.on('select', this.update.bind(this));\n this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));\n };\n\n PrevNextButton.prototype.activate = function () {\n this.bindStartEvent(this.element);\n this.element.addEventListener('click', this);\n // add to DOM\n this.parentElement.appendChild(this.element);\n };\n\n PrevNextButton.prototype.deactivate = function () {\n // remove from DOM\n this.parentElement.removeChild(this.element);\n // click events\n this.unbindStartEvent(this.element);\n this.element.removeEventListener('click', this);\n };\n\n PrevNextButton.prototype.createSVG = function () {\n const svg = document.createElementNS(svgURI, 'svg');\n svg.setAttribute('class', 'flickity-button-icon');\n svg.setAttribute('viewBox', '0 0 100 100');\n svg.part.add('navigation-icon');\n const path = document.createElementNS(svgURI, 'path');\n const pathMovements = getArrowMovements(this.parent.options.arrowShape);\n path.setAttribute('d', pathMovements);\n path.setAttribute('class', 'arrow');\n // rotate arrow\n if (!this.isLeft) {\n path.setAttribute('transform', 'translate(100, 100) rotate(180) ');\n }\n svg.appendChild(path);\n return svg;\n };\n\n // get SVG path movmement\n function getArrowMovements(shape) {\n // use shape as movement if string\n if (typeof shape == 'string') {\n return shape;\n }\n // create movement string\n return (\n 'M ' +\n shape.x0 +\n ',50' +\n ' L ' +\n shape.x1 +\n ',' +\n (shape.y1 + 50) +\n ' L ' +\n shape.x2 +\n ',' +\n (shape.y2 + 50) +\n ' L ' +\n shape.x3 +\n ',50 ' +\n ' L ' +\n shape.x2 +\n ',' +\n (50 - shape.y2) +\n ' L ' +\n shape.x1 +\n ',' +\n (50 - shape.y1) +\n ' Z'\n );\n }\n\n PrevNextButton.prototype.handleEvent = utils.handleEvent;\n\n PrevNextButton.prototype.onclick = function () {\n if (!this.isEnabled) {\n return;\n }\n this.parent.uiChange();\n const method = this.isPrevious ? 'previous' : 'next';\n this.parent[method]();\n };\n\n // ----- ----- //\n\n PrevNextButton.prototype.enable = function () {\n if (this.isEnabled) {\n return;\n }\n this.element.disabled = false;\n this.isEnabled = true;\n };\n\n PrevNextButton.prototype.disable = function () {\n if (!this.isEnabled) {\n return;\n }\n this.element.disabled = true;\n this.isEnabled = false;\n };\n\n PrevNextButton.prototype.update = function () {\n // index of first or last slide, if previous or next\n const slides = this.parent.slides;\n // enable is wrapAround and at least 2 slides\n if (this.parent.options.wrapAround && slides.length > 1) {\n this.enable();\n return;\n }\n const lastIndex = slides.length ? slides.length - 1 : 0;\n const boundIndex = this.isPrevious ? 0 : lastIndex;\n const method =\n this.parent.selectedIndex == boundIndex ? 'disable' : 'enable';\n this[method]();\n };\n\n PrevNextButton.prototype.destroy = function () {\n this.deactivate();\n this.allOff();\n };\n\n // -------------------------- Flickity prototype -------------------------- //\n\n utils.extend(Flickity.defaults, {\n prevNextButtons: true,\n arrowShape: {\n x0: 10,\n x1: 60,\n y1: 50,\n x2: 70,\n y2: 40,\n x3: 30,\n },\n });\n\n Flickity.createMethods.push('_createPrevNextButtons');\n const proto = Flickity.prototype;\n\n proto._createPrevNextButtons = function () {\n if (!this.options.prevNextButtons) {\n return;\n }\n\n this.prevButton = new PrevNextButton(-1, this);\n this.nextButton = new PrevNextButton(1, this);\n\n this.on('activate', this.activatePrevNextButtons);\n };\n\n proto.activatePrevNextButtons = function () {\n this.prevButton.activate();\n this.nextButton.activate();\n this.on('deactivate', this.deactivatePrevNextButtons);\n };\n\n proto.deactivatePrevNextButtons = function () {\n this.prevButton.deactivate();\n this.nextButton.deactivate();\n this.off('deactivate', this.deactivatePrevNextButtons);\n };\n\n // @ts-ignore\n Flickity.PrevNextButton = PrevNextButton;\n};\n","import { EvEmitter } from './utils/event-emitter';\nimport { utils } from './utils/utils';\nimport Flickity from './flickity';\n\nexport default () => {\n // -------------------------- Player -------------------------- //\n\n function Player(parent) {\n this.parent = parent;\n this.state = 'stopped';\n // visibility change event handler\n this.onVisibilityChange = this.visibilityChange.bind(this);\n this.onVisibilityPlay = this.visibilityPlay.bind(this);\n }\n\n Player.prototype = Object.create(EvEmitter.prototype);\n\n // start play\n Player.prototype.play = function () {\n if (this.state == 'playing') {\n return;\n }\n // do not play if page is hidden, start playing when page is visible\n const isPageHidden = document.hidden;\n if (isPageHidden) {\n document.addEventListener('visibilitychange', this.onVisibilityPlay);\n return;\n }\n\n this.state = 'playing';\n // listen to visibility change\n document.addEventListener('visibilitychange', this.onVisibilityChange);\n // start ticking\n this.tick();\n };\n\n Player.prototype.tick = function () {\n // do not tick if not playing\n if (this.state != 'playing') {\n return;\n }\n\n let time = this.parent.options.autoPlay;\n // default to 3 seconds\n time = typeof time == 'number' ? time : 3000;\n const _this = this;\n // HACK: reset ticks if stopped and started within interval\n this.clear();\n this.timeout = setTimeout(function () {\n _this.parent.next(true);\n _this.tick();\n }, time);\n };\n\n Player.prototype.stop = function () {\n this.state = 'stopped';\n this.clear();\n // remove visibility change event\n document.removeEventListener('visibilitychange', this.onVisibilityChange);\n };\n\n Player.prototype.clear = function () {\n clearTimeout(this.timeout);\n };\n\n Player.prototype.pause = function () {\n if (this.state == 'playing') {\n this.state = 'paused';\n this.clear();\n }\n };\n\n Player.prototype.unpause = function () {\n // re-start play if paused\n if (this.state == 'paused') {\n this.play();\n }\n };\n\n // pause if page visibility is hidden, unpause if visible\n Player.prototype.visibilityChange = function () {\n const isPageHidden = document.hidden;\n this[isPageHidden ? 'pause' : 'unpause']();\n };\n\n Player.prototype.visibilityPlay = function () {\n this.play();\n document.removeEventListener('visibilitychange', this.onVisibilityPlay);\n };\n\n // -------------------------- Flickity -------------------------- //\n\n utils.extend(Flickity.defaults, {\n pauseAutoPlayOnHover: true,\n });\n\n Flickity.createMethods.push('_createPlayer');\n const proto = Flickity.prototype;\n\n proto._createPlayer = function () {\n this.player = new Player(this);\n\n this.on('activate', this.activatePlayer);\n this.on('uiChange', this.stopPlayer);\n this.on('pointerDown', this.stopPlayer);\n this.on('deactivate', this.deactivatePlayer);\n };\n\n proto.activatePlayer = function () {\n if (!this.options.autoPlay) {\n return;\n }\n this.player.play();\n this.element.addEventListener('mouseenter', this);\n };\n\n // Player API, don't hate the ... thanks I know where the door is\n\n proto.playPlayer = function () {\n this.player.play();\n };\n\n proto.stopPlayer = function () {\n this.player.stop();\n };\n\n proto.pausePlayer = function () {\n this.player.pause();\n };\n\n proto.unpausePlayer = function () {\n this.player.unpause();\n };\n\n proto.deactivatePlayer = function () {\n this.player.stop();\n this.element.removeEventListener('mouseenter', this);\n };\n\n // ----- mouseenter/leave ----- //\n\n // pause auto-play on hover\n proto.onmouseenter = function () {\n if (!this.options.pauseAutoPlayOnHover) {\n return;\n }\n this.player.pause();\n this.element.addEventListener('mouseleave', this);\n };\n\n // resume auto-play on hover off\n proto.onmouseleave = function () {\n this.player.unpause();\n this.element.removeEventListener('mouseleave', this);\n };\n\n // @ts-ignore\n Flickity.Player = Player;\n};\n","import Flickity from './flickity';\nimport drag from './drag';\nimport nowNext from './prev-next-button';\nimport player from './player';\n\nexport const flickity = Flickity;\ndrag();\nnowNext();\nplayer();\n","@use '../../global/style/nano-theme/tokens/colours';\n\n:host {\n /**\n * @prop --dot-color: inactive colour of pager bullets. Default #cccccc;\n * @prop --dot-color-active: active colour of pager bullets. Default #{nano-color(primary, base)};\n *\n * @prop --navbtns-icon-color: next / prev icon color. Default var(--dot-color-active);\n * @prop --navbtns-bg-color: next / prev bg color. Default white;\n * @prop --navbtns-icon-color-disabled: next / prev icon color. Default var(--dot-color-active);\n * @prop --navbtns-bg-color-disabled: next / prev bg color. Default white;\n *\n * @prop --fsbtn-icon-color: fullscreen btn icon color. Default var(--dot-color-active);\n * @prop --fsbtn-bg-color: fullscreen bg color. Default white;\n */\n --dot-color: #ccc;\n --dot-color-active: #{colours.nano-color(primary, base)};\n --navbtns-icon-color: var(--dot-color-active);\n --navbtns-bg-color: white;\n --navbtns-icon-color-disabled: var(--dot-color-active);\n --navbtns-bg-color-disabled: white;\n --fsbtn-icon-color: var(--dot-color-active);\n --fsbtn-bg-color: white;\n\n display: block;\n user-select: none;\n overflow: hidden;\n transition: opacity 0.2s;\n opacity: 0;\n max-inline-size: 100vw;\n}\n\n:host([ready]) {\n opacity: 1;\n}\n\n.slideshow {\n max-block-size: 100%;\n min-block-size: inherit;\n block-size: inherit;\n position: relative;\n\n &.not-ready {\n inline-size: 100%;\n overflow: hidden;\n }\n}\n\n.flickity-container {\n opacity: 0;\n transition: opacity 0.2s;\n display: flex;\n inline-size: fit-content;\n block-size: fit-content;\n\n .not-ready & {\n inline-size: fit-content;\n block-size: fit-content;\n }\n\n &.slides-ready {\n min-block-size: inherit;\n max-block-size: inherit;\n block-size: inherit;\n inline-size: auto;\n }\n}\n\n[hidden] {\n display: none !important;\n}\n\n.ui-extras {\n pointer-events: none;\n position: absolute;\n block-size: 100%;\n inline-size: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n\n * {\n pointer-events: all;\n }\n}\n\n/*! Flickity v2.2.1\nhttps://flickity.metafizzy.co\n---------------------------------------------- */\n\n.flickity-enabled {\n position: relative;\n opacity: 1;\n}\n\n.flickity-enabled:focus {\n outline: none;\n}\n\n.flickity-viewport {\n overflow: hidden;\n position: relative;\n min-block-size: 100%;\n flex: 1;\n}\n\n.flickity-slider {\n position: absolute;\n inline-size: 100%;\n block-size: 100%;\n}\n\n/* draggable */\n\n.flickity-enabled.is-draggable {\n -webkit-tap-highlight-color: transparent;\n user-select: none;\n}\n\n.flickity-enabled.is-draggable .flickity-viewport {\n cursor: move;\n cursor: grab;\n cursor: grab;\n}\n\n.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {\n cursor: grabbing;\n}\n\n/* ---- flickity-button ---- */\n\n.flickity-button {\n position: absolute;\n background: var(--navbtns-bg-color);\n border: none;\n color: #333;\n opacity: 0.75;\n}\n\n.flickity-button:hover {\n opacity: 1;\n cursor: pointer;\n}\n\n.flickity-button:focus {\n outline: none;\n box-shadow: 0 0 0 5px #19f;\n}\n\n.flickity-button:active {\n opacity: 0.6;\n}\n\n.flickity-button:disabled {\n opacity: 0.3;\n cursor: auto;\n\n /* prevent disabled button from capturing pointer up event. #716 */\n pointer-events: none;\n background: var(--navbtns-bg-color-disabled);\n}\n\n.flickity-button-icon {\n fill: var(--navbtns-icon-color);\n}\n\n.flickity-button:disabled .flickity-button-icon {\n fill: var(--navbtns-icon-color-disabled);\n}\n\n/* ---- previous/next buttons ---- */\n\n.flickity-prev-next-button {\n inset-block-start: 50%;\n inline-size: 44px;\n block-size: 44px;\n border-radius: 50%;\n\n /* vertically center */\n transform: translateY(-50%);\n}\n\n.flickity-prev-next-button.previous {\n inset-inline-start: 10px;\n}\n\n.flickity-prev-next-button.next {\n inset-inline-end: 10px;\n}\n\n/* right to left */\n.flickity-rtl .flickity-prev-next-button.previous {\n inset-inline: auto 10px;\n}\n\n.flickity-rtl .flickity-prev-next-button.next {\n inset-inline: 10px auto;\n}\n\n.flickity-prev-next-button .flickity-button-icon {\n position: absolute;\n inset-inline-start: 20%;\n inset-block-start: 20%;\n inline-size: 60%;\n block-size: 60%;\n}\n\n/* ---- page dots ---- */\n\n.flickity-page-dots {\n position: absolute;\n inline-size: 100%;\n inset-block-end: 10px;\n padding: 0;\n margin: 0;\n list-style: none;\n text-align: center;\n line-height: 1;\n z-index: 4;\n}\n\n.flickity-rtl .flickity-page-dots {\n direction: rtl;\n}\n\n.flickity-page-dots .dot {\n display: inline-block;\n inline-size: 10px;\n block-size: 10px;\n margin-block: 0;\n margin-inline: 8px;\n border-radius: 50%;\n cursor: pointer;\n background: var(--dot-color);\n\n // Pagination Bullets\n // --------------------------------------------------\n}\n\n.flickity-page-dots .dot.is-selected {\n opacity: 1;\n background: var(--dot-color-active);\n}\n\n// fullscreen\n\n.flickity-enabled.is-fullscreen {\n position: fixed;\n inset-inline-start: 0;\n inset-block-start: 0;\n inline-size: 100%;\n block-size: 100%;\n background: hsl(0deg 0% 0% / 90%);\n padding-block-end: 35px;\n z-index: 100;\n}\n\n.flickity-enabled.is-fullscreen .flickity-page-dots {\n inset-block-end: 45px;\n}\n\n/* prevent page scrolling when flickity is fullscreen */\nhtml.is-flickity-fullscreen {\n overflow: hidden;\n}\n\n/* ---- flickity-fullscreen-button ---- */\n\n.flickity-fullscreen-button {\n display: block;\n inset-inline-end: 10px;\n inset-block-start: 10px;\n inline-size: 24px;\n block-size: 24px;\n border-radius: 4px;\n background: var(--fsbtn-bg-color);\n fill: var(--fsbtn-icon-color);\n}\n\n/* right-to-left */\n.flickity-rtl .flickity-fullscreen-button {\n inset-inline: 10px auto;\n}\n\n.flickity-fullscreen-button-exit {\n display: none;\n}\n\n.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit {\n display: block;\n}\n\n.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view {\n display: none;\n}\n\n.flickity-fullscreen-button .flickity-button-icon {\n position: absolute;\n inline-size: 16px;\n block-size: 16px;\n inset-inline-start: 4px;\n inset-block-start: 4px;\n}\n\n// fade\n\n/* flickity-fade */\n\n.flickity-enabled.is-fade .flickity-slider > * {\n pointer-events: none;\n z-index: 0;\n}\n\n.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected) {\n pointer-events: auto;\n z-index: 1;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Prop,\n Host,\n Watch,\n Method,\n State,\n Build,\n readTask,\n writeTask,\n} from '@stencil/core';\nimport { transformTag, h } from '../../utils/renderer';\nimport { flickity } from './lib/js';\nimport type {\n FlickityOptions,\n FlickityEvents,\n Flickity,\n DragEvent,\n SlideAnimation,\n FlickityCell,\n} from './slides-interface';\n\nconst modulo = (num, div) => {\n return ((num % div) + div) % div;\n};\n\n/**\n * The Slides component is a multi-section container. Each section can be swiped or dragged between.\n * It contains any number of Slide components.\n *\n * Uses [Flickity](https://flickity.metafizzy.co/) under the hood.\n *\n * @part base - Wrapper around slides and additional ui elements.\n * @part slide-container - Wraps all slide elements.\n * @part slide-viewport - The visible, scrollable area around slide elements.\n * @part navigation-button - Next / previous navigation buttons.\n * @part navigation-button--next - the next navigation button.\n * @part navigation-button--previous - The previous navigation button.\n * @part navigation-icon - The chevron / arrow icon within a navigation button.\n * @part pagination - Wraps pagination indicators.\n * @part pagination-item - A pagination indicator.\n * @part pagination-item--active - The current, active pagination indicator.\n *\n * @slot - default slot of nano-slide components.\n * @slot ui - An absolutely positioned element that will be placed over the slider. Any custom ui can be housed here.\n * @slot next-icon - Optional next icon to use instead of the default.\n * @slot previous-icon - Optional previous icon to use instead of the default.\n */\n@Component({\n tag: 'nano-slides',\n styleUrl: 'slides.scss',\n shadow: true,\n})\nexport class Slides implements ComponentInterface {\n private flickityEl: HTMLElement;\n private flickityReady = false;\n private mutationO?: MutationObserver;\n private resizeO?: ResizeObserver;\n private readyflickity!: (slider: Flickity) => void;\n private flickity: Promise<Flickity> = new Promise((resolve) => {\n this.readyflickity = resolve;\n });\n private syncflickity?: Flickity;\n private childrenEles: NodeList;\n private hasFullScreenModule = false;\n private hasLazyLoadModule = false;\n private hasDotsModule = false;\n private hasFadeModule = false;\n\n @State() iCurrentSlide: number;\n @State() slidesReady: boolean;\n @State() didInit = false;\n\n @Element() host!: HTMLNanoSlidesElement;\n\n /**\n * Options to pass to the flickity instance.\n * See https://flickity.metafizzy.co/options.html for valid options\n */\n @Prop({ mutable: true }) options: FlickityOptions = {};\n\n @Watch('options')\n async optionsChanged() {\n if (this.flickityReady) {\n const flickity = await this.getflickity();\n const newOpts = Object.assign(flickity.options, this.options);\n\n await this.loadFlickityModules(newOpts);\n await this.update();\n }\n }\n\n /** If `true`, show the next / prev buttons. */\n @Prop() navbtns = false;\n\n @Watch('navbtns')\n async navbtnsChanged() {\n Array.from(\n this._getRoot().querySelectorAll('.flickity-prev-next-button')\n ).forEach((btn) => {\n (btn as HTMLElement).hidden = !this.navbtns;\n });\n }\n\n /** If `true`, show the pagination. */\n @Prop() pager = false;\n\n @Watch('pager')\n async pagerChanged() {\n const dots: HTMLElement = this._getRoot().querySelector(\n '.flickity-page-dots'\n );\n if (dots) dots.hidden = !this.pager;\n }\n\n /** If `true`, show a fullscreen button. */\n @Prop() fullscreenbtn = false;\n\n @Watch('fullscreenbtn')\n async fullscreenBtnChanged() {\n const btn: HTMLElement = this._getRoot().querySelector(\n '.flickity-fullscreen-button'\n );\n if (btn) btn.hidden = !this.fullscreenbtn;\n }\n\n /** If `true`, make the slider fullscreen. */\n @Prop({ reflect: true, mutable: true }) fullscreen = false;\n\n @Watch('fullscreen')\n async fullscreenChanged(_?, oldFs?: boolean) {\n const flickity = await this.getflickity();\n if (this.fullscreen) flickity.viewFullscreen();\n else if (typeof oldFs !== 'undefined') flickity.exitFullscreen();\n }\n\n /** Animation presets or your own custom animation function; called every frame during scroll */\n @Prop({ reflect: true }) animation: SlideAnimation = 'scroll';\n\n @Watch('animation')\n async animationChange(_?, oldAnim?: SlideAnimation) {\n const [flkty, slides] = await Promise.all([\n this.getflickity(),\n waitForSlides(this.host),\n ]);\n\n // clear old stuff\n slides.forEach((slide) => {\n slide.style['left'] = undefined;\n });\n\n if (oldAnim === 'parallax') {\n flkty.off('scroll', this.parallax);\n slides.forEach((_, i) => {\n if (this.childrenEles && this.childrenEles[i])\n (this.childrenEles[i] as HTMLElement).style['transform'] = undefined;\n });\n this.update();\n }\n // was a custom animation\n if (typeof oldAnim === 'function') {\n flkty.off('scroll', oldAnim);\n }\n\n // is a custom animation\n if (typeof this.animation === 'function') {\n this.options = { fade: false, percentPosition: true };\n flkty.on('scroll', this.animation);\n return;\n }\n\n // setup new stuff\n switch (this.animation) {\n case 'fade':\n this.options = { fade: true, percentPosition: true };\n break;\n case 'parallax':\n this.options = { fade: false, percentPosition: true };\n flkty.on('scroll', this.parallax);\n break;\n default:\n this.options = { fade: false, percentPosition: true };\n break;\n }\n }\n\n /** Zero-based index of the selected cell. */\n @Prop({ reflect: true, mutable: true }) currentSlide: number = 0;\n\n @Watch('currentSlide')\n currentSlideChange() {\n if (this.currentSlide !== this.iCurrentSlide)\n this.slideTo(this.currentSlide);\n }\n\n @Watch('iCurrentSlide')\n internalSlideChange() {\n this.currentSlide = this.iCurrentSlide;\n }\n\n /** time duration, in ms, to automatically advance slides */\n @Prop() autoplay: string | false | number = false;\n\n @Watch('autoplay')\n async autoPlayChange() {\n await this.stopAutoplay();\n if (this.autoplay) {\n if (typeof this.autoplay === 'string')\n this.autoplay = parseInt(this.autoplay);\n if (this.autoplay > 0) this.startAutoplay(this.autoplay);\n }\n }\n\n /** @internal */\n @Prop({ reflect: true, mutable: true }) ready = false;\n\n /** Emitted after component initialisation. */\n @Event() nanoSlidesDidLoad!: EventEmitter<void>;\n\n /** Emitted after flickity initialisation. */\n @Event() nanoSlidesReady!: EventEmitter<void>;\n\n /** Emitted when a slide is selected, even on the same slide. */\n @Event() nanoSlidesSelect!: EventEmitter<number>;\n\n /** Emitted when the selected slide is changed. */\n @Event() nanoSlidesChange!: EventEmitter<number>;\n\n /** Emitted when the slider moves. */\n @Event() nanoSlidesScroll!: EventEmitter<number>;\n\n /** Emitted when the slide transition has finished. */\n @Event() nanoSlidesTransitionEnd!: EventEmitter<number>;\n\n /** Emitted when the slider starts actively being moved. */\n @Event() nanoSlidesDragStart!: EventEmitter<DragEvent>;\n\n /** Emitted when the slider is being dragged. */\n @Event() nanoSlidesDragMove!: EventEmitter<DragEvent>;\n\n /** Emitted when the slider has finished being dragged. */\n @Event() nanoSlidesDragEnd!: EventEmitter<DragEvent>;\n\n /** Emitted when the user taps/clicks on the slide's container. */\n @Event() nanoSlidesTap!: EventEmitter<DragEvent>;\n\n /** Emitted when the user taps/clicks on the slide's container. */\n @Event() nanoSlidesFullscreenChange!: EventEmitter<boolean>;\n\n /**\n * Update the underlying flickity implementation. Call this if you've added or removed\n * child slides.\n */\n @Method()\n async update() {\n const [flickity] = await Promise.all([\n this.getflickity(),\n waitForSlides(this.host),\n ]);\n this.childrenEles = this.host.querySelectorAll(\n `${transformTag('nano-slide')} > *`\n );\n flickity.reloadCells();\n flickity.resize();\n flickity.reposition();\n }\n\n /**\n * Transition to the specified slide.\n *\n * @param index The index of the slide to transition to.\n * @param instant Immediately view the selected slide without animation.\n */\n @Method()\n async slideTo(index: number, instant?: boolean) {\n const flickity = await this.getflickity();\n flickity.select(index, instant);\n }\n\n /**\n * Transition to the next slide.\n *\n * @param instant The transition duration (in ms).\n * @param wrap If true, the first slide will be selected if at the last slide.\n */\n @Method()\n async slideNext(instant?: boolean, wrap?: boolean) {\n const flickity = await this.getflickity();\n flickity.next(wrap, instant);\n }\n\n /**\n * Transition to the previous slide.\n *\n * @param instant The transition duration (in ms).\n * @param wrap If true, the last slide will be selected if at the first slide.\n */\n @Method()\n async slidePrev(instant?: boolean, wrap?: boolean) {\n const flickity = await this.getflickity();\n flickity.previous(instant, wrap);\n }\n\n /**\n * Get the index of the active slide.\n * @returns the index of the active slide\n */\n @Method()\n async getActiveIndex() {\n const flickity = await this.getflickity();\n return flickity.selectedIndex;\n }\n\n /**\n * Get the total number of slides.\n * @returns the total number of slides\n */\n @Method()\n async length() {\n const flickity = await this.getflickity();\n return flickity.slides.length;\n }\n\n /**\n * Get whether or not the current slide is the last slide.\n * @returns true if the current slide is the last slide, false otherwise\n */\n @Method()\n async isEnd() {\n const flickity = await this.getflickity();\n return flickity.selectedIndex === flickity.slides.length - 1;\n }\n\n /**\n * Get whether or not the current slide is the first slide.\n * @returns true if the current slide is the first slide, false otherwise\n */\n @Method()\n async isBeginning() {\n const flickity = await this.getflickity();\n return flickity.selectedIndex === 0;\n }\n\n /**\n * Start auto play.\n * @param time - optional time duration to show slides\n */\n @Method()\n async startAutoplay(time?: number) {\n const flickity = await this.getflickity();\n if (time) this.options = { autoPlay: time };\n setTimeout(() => flickity.playPlayer());\n }\n\n /** Stop auto play. */\n @Method()\n async stopAutoplay() {\n const flickity = await this.getflickity();\n flickity.stopPlayer();\n }\n\n /**\n * Lock or unlock the ability to slide to the next slide.\n *\n * @param lock If `true`, disable swiping\n */\n @Method()\n async lockSwipes(lock: boolean) {\n const flickity = await this.getflickity();\n flickity.options.draggable = !lock;\n flickity.updateDraggable();\n }\n\n /**\n * Get the flickity instance.\n * Use this to access the full flickity API.\n * See https://flickity.metafizzy.co/ for all API options.\n * @returns the flickity instance\n */\n @Method()\n async getflickity() {\n return this.flickity;\n }\n\n /**\n * Hard destroy / create.\n * Certain flickity options, you will require the instance to be re-initialised\n */\n @Method()\n async reload() {\n this.destroyflickity();\n setTimeout(() => this.initflickity(), 20);\n }\n\n private _getRoot() {\n return this.host.shadowRoot ? this.host.shadowRoot : this.host;\n }\n\n private parallax = async () => {\n const flkty = await this.flickity;\n const cells = flkty.cells as unknown as FlickityCell[];\n\n cells.forEach((cell) => {\n const ele = cell.element.children[0] as HTMLElement;\n\n let flkX = flkty.x;\n if (flkty.options.wrapAround && flkty.cells.length > 1) {\n flkX = modulo(flkX, flkty.slideableWidth);\n flkX = flkX - flkty.slideableWidth;\n }\n\n let x = ((cell.target + flkX) * -1) / 3;\n if (cell.shift < 0) {\n x = ((cell.target - flkty.slideableWidth + flkX) * -1) / 3;\n } else if (cell.shift > 0) {\n x = ((cell.target + (flkX + flkty.slideableWidth)) * -1) / 3;\n }\n ele.style.transform = 'translate3d(' + x + 'px, 0, 0)';\n\n const animAmount = ((x * 3) / cell.size.width) * 100;\n cell.element.style.setProperty(\n '--animation-amount',\n animAmount.toString()\n );\n });\n };\n\n private handleFullscreen = (isFullScreen: boolean) => {\n this.fullscreen = isFullScreen;\n this.nanoSlidesFullscreenChange.emit(isFullScreen);\n };\n\n private handleSlideSelect = (slide: number) => {\n this.iCurrentSlide = slide;\n this.nanoSlidesSelect.emit(slide);\n };\n\n private destroyflickity() {\n /**\n * We need to synchronously destroy\n * flickity otherwise it is possible\n * that it will be left in a\n * destroyed state if connectedCallback\n * is called multiple times\n */\n const flickity = this.syncflickity;\n\n if (flickity !== undefined) {\n flickity.destroy();\n this.flickity = new Promise((resolve) => {\n this.readyflickity = resolve;\n });\n this.flickityReady = false;\n this.syncflickity = undefined;\n this.ready = false;\n }\n this.didInit = false;\n }\n\n private async loadFlickityModules(opts: FlickityOptions) {\n if (!this.hasFullScreenModule && opts.fullscreen) {\n await import('./lib/js/fullscreen');\n this.hasFullScreenModule = true;\n }\n if (!this.hasLazyLoadModule && opts.lazyLoad) {\n await import('./lib/js/lazyload');\n this.hasLazyLoadModule = true;\n }\n if (!this.hasDotsModule && opts.pageDots) {\n await import('./lib/js/page-dots');\n this.hasDotsModule = true;\n }\n if (!this.hasFadeModule && opts.fade) {\n await import('./lib/js/fade');\n this.hasFadeModule = true;\n }\n }\n\n private async initflickity() {\n const finalOptions = this.normalizeOptions();\n await this.loadFlickityModules(finalOptions);\n\n // init flickity core\n await waitForSlides(this.host);\n\n this.flickityEl =\n this.flickityEl || this._getRoot().querySelector('.flickity-container');\n\n if (!this.flickityEl) return;\n\n this.slidesReady = true;\n\n if (this.flickityEl.classList.contains('flickity-enabled')) {\n this.destroyflickity();\n }\n\n this.flickityEl.style.height =\n this.flickityEl.getBoundingClientRect().height + 'px';\n\n setTimeout(() => {\n this.flickityEl.style.height = '';\n const flick = new flickity(this.flickityEl, finalOptions) as Flickity;\n this.flickityReady = true;\n this.syncflickity = flick;\n\n this.animationChange();\n this.navbtnsChanged();\n this.pagerChanged();\n this.fullscreenChanged();\n this.fullscreenBtnChanged();\n\n this.readyflickity(flick);\n this.ready = true;\n\n if (!window['ResizeObserver']) return;\n\n if (this.resizeO) {\n this.resizeO.disconnect();\n this.resizeO = undefined;\n }\n\n const ro = (this.resizeO = new ResizeObserver(() => {\n readTask(() => {\n const vp: HTMLElement =\n this.host.shadowRoot.querySelector('.flickity-viewport');\n\n writeTask(() => {\n // reset the height, otherwise it *only* gets bigger\n if (vp) vp.style.height = '';\n flick.resize();\n });\n });\n }));\n ro.observe(this.host);\n }, 100);\n }\n\n private normalizeOptions(): FlickityOptions {\n // Base options, can be changed\n const flickityOptions: FlickityOptions = {\n cellSelector: transformTag('nano-slide'),\n contain: true,\n prevNextButtons: true,\n fullscreen: this.fullscreen,\n accessibility: true,\n imagesLoaded: true,\n pageDots: this.pager,\n };\n\n if (this.animation === 'fade') {\n flickityOptions.fade = true;\n }\n if (this.currentSlide > 0) {\n flickityOptions.initialIndex = this.currentSlide;\n }\n if (this.autoplay) {\n if (typeof this.autoplay === 'string')\n this.autoplay = parseInt(this.autoplay);\n if (this.autoplay > 0) flickityOptions.autoPlay = this.autoplay;\n }\n\n // Keep the event options separate, we dont want users\n // overwriting these\n const eventOptions: FlickityEvents = {\n ready: () => {\n setTimeout(() => {\n this.nanoSlidesReady.emit();\n }, 20);\n },\n select: this.handleSlideSelect,\n change: this.nanoSlidesChange.emit,\n scroll: this.nanoSlidesScroll.emit,\n settle: () =>\n requestAnimationFrame(() => this.nanoSlidesTransitionEnd.emit()),\n dragStart: () =>\n requestAnimationFrame(() => this.nanoSlidesDragStart.emit()),\n dragMove: () =>\n requestAnimationFrame(() => this.nanoSlidesDragMove.emit()),\n dragEnd: () => requestAnimationFrame(() => this.nanoSlidesDragEnd.emit()),\n staticClick: this.nanoSlidesTap.emit,\n fullscreenChange: this.handleFullscreen,\n };\n\n const customEvents =\n !!this.options && !!this.options.on ? this.options.on : {};\n // merge \"on\" event listeners, while giving our event listeners priority\n const mergedEventOptions = { on: { ...customEvents, ...eventOptions } };\n // Merge the base, user options, and events together then pass to flickity\n\n // @ts-expect-error - merged options don't quite match the flickity options\n return { ...flickityOptions, ...mergedEventOptions, ...this.options };\n }\n\n componentDidLoad() {\n if (\n Build.isBrowser &&\n typeof window !== 'undefined' &&\n (window as any).MutationObserver\n ) {\n const mut = (this.mutationO = new MutationObserver(\n (e: MutationRecord[]) => {\n if (\n e[0].addedNodes[0] &&\n e[0].addedNodes[0].nodeName.toLowerCase() ===\n transformTag('nano-slide') &&\n this.flickityReady\n ) {\n this.update();\n }\n }\n ));\n\n mut.observe(this.host, {\n childList: true,\n subtree: true,\n });\n }\n }\n\n componentWillLoad() {\n this.nanoSlidesDidLoad.emit();\n\n if (!this.didInit) {\n this.didInit = true;\n this.initflickity();\n }\n }\n\n disconnectedCallback() {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n if (this.resizeO) {\n this.resizeO.disconnect();\n this.resizeO = undefined;\n }\n this.destroyflickity();\n }\n\n render() {\n return (\n <Host class=\"nano-slides\">\n <div\n class={{\n slideshow: true,\n ready: this.ready,\n 'not-ready': !this.ready,\n }}\n part=\"base\"\n >\n <div\n ref={(div) => (this.flickityEl = div)}\n class={{\n 'flickity-container': true,\n 'slides-ready': this.slidesReady,\n 'slides-not-ready': !this.slidesReady,\n }}\n part=\"slide-container\"\n >\n <slot />\n </div>\n <div class=\"ui-extras\">\n <slot name=\"ui\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n\nconst waitForSlides = (host: HTMLElement): Promise<HTMLNanoSlideElement[]> => {\n const allSlides = Array.from(\n host.querySelectorAll<HTMLNanoSlideElement>(transformTag('nano-slide'))\n );\n let toLoadSlides = allSlides.filter(\n (ele: HTMLNanoSlideElement) => !ele.ready\n );\n\n if (!toLoadSlides.length) return Promise.resolve(allSlides);\n\n return new Promise((resolve) => {\n const slideResolver = (ev: CustomEvent) => {\n toLoadSlides = toLoadSlides.filter((ele) => ele !== ev.target);\n if (!toLoadSlides.length) {\n resolve(allSlides);\n host.removeEventListener('nanoSlideReady', slideResolver);\n host.removeEventListener('nano-slide-ready', slideResolver);\n }\n };\n host.addEventListener('nanoSlideReady', slideResolver);\n // fallback for vue who can't handle camelcase event names\n host.addEventListener('nano-slide-ready', slideResolver);\n });\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sortableCss","NanoSortableStyle0","orientationMap","horizontal","x","y","vertical","sortableIds","Sortable","itemSelector","handleItemSelectorChange","this","refreshKeyboardHandles","handleSelector","handleHandleSelectorChange","attachMutationObserver","dropzoneSelector","helperText","itemDescriptor","el","textContent","trim","grabbedHelperText","droppedHelperText","reorderHelperText","elements","position","length","createKeyboardHandle","_number","_element","handleTpl","div","document","createElement","innerHTML","handle","children","append","handleCreateKeyboardHandleChange","sortableHostElement","handleSortableHostElement","_newVal","oldVal","removeEventHandlers","addEventHandlers","style","animationEnabled","draggedClass","handleDraggedClass","placeholderClass","dropzoneActiveClass","animationTiming","duration","easing","orientation","dragResize","nanoOrderChange","nanoGrabbed","nanoDropped","keyboardHandleMap","size","clear","sortableHost","querySelectorAll","forEach","getAttribute","setAttribute","sortableId","sortEle","closest","set","_ele","remove","ele","i","console","error","dragRequestPending","draggedElement","draggedElementClone","draggedElementOrigin","sortableNodes","dropzoneNodes","animatedElements","animationPromise","Map","mouseDownTimer","mutationObserver","keyboardSortActive","ariaTextList","host","addAriaMsg","msg","setTimeout","mIdx","indexOf","splice","updateUserSelectStyle","userSelect","hitTest","node","targets","left","l","top","t","width","w","height","h","getBoundingClientRect","filter","item","right","bottom","isAnimating","animateNode","dx","dy","animate","push","willChange","writeTask","Promise","resolve","transform","addEventListener","index","once","insertAtTarget","target","offsets","map","offsetLeft","offsetTop","isConnected","nodeComparison","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","parentNode","DOCUMENT_POSITION_PRECEDING","insertAdjacentElement","sortableNode","reset","undefined","removeChild","classList","dze","createClone","clone","cloneNode","id","Array","from","nodeChild","clonedNodeChild","originalNodeChild","offsetWidth","offsetHeight","Object","assign","add","appendChild","removeEventListener","handleTrack","handleKeydown","addListeners","passive","disconnect","MutationObserver","currHandles","values","newHandles","find","includes","observe","subtree","childList","e","targetElement","foundHandle","get","activateSort","isActive","toggle","key","preventDefault","nanoGrabbedEv","emit","element","defaultPrevented","moveKeys","currIdx","curDzIdx","curDropzone","prevEle","nextEle","finishOrder","focus","requestAnimationFrame","setFocus","then","button","handleMove","cancelable","clearTimeout","resetTrack","window","trackStart","drag","initialEvent","relative","onMove","trackMove","onStop","didStop","targetHandle","nextSibling","updated","originalIndex","targetIndex","querySelector","orderChangeEv","activeDropzone","readTask","constructor","hostRef","bind","nanoDebounce","connectedCallback","insertAdjacentHTML","disconnectedCallback","render","Host","class","role","part","str"],"sources":["src/components/sortable/sortable.scss?tag=nano-sortable&encapsulation=shadow","src/components/sortable/sortable.tsx"],"sourcesContent":["@use '../../global/style/utilities/mixins' as mx;\n\n:host {\n position: relative;\n display: block;\n}\n\n.sortable__live-region {\n @include mx.visually-hide();\n}\n","import {\n Prop,\n Element,\n Event,\n EventEmitter,\n Component,\n ComponentInterface,\n Watch,\n Method,\n State,\n Host,\n readTask,\n writeTask,\n Build,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { drag } from '../../utils/drag';\nimport { nanoDebounce } from '../..';\nimport { addListeners } from '../../utils/events';\n\n// Orientation map to limit dragging to horizontal or vertical.\nconst orientationMap = {\n horizontal: { x: 1, y: 0 },\n vertical: { x: 0, y: 1 },\n};\n\nlet sortableIds = 0;\n\n/**\n * An accessible and flexible re-order / sort utility component.\n *\n *- Drag and drop via mouse, touch or keyboard\n *- Live announcements for screen readers\n *- Works with or without an explicit handle (although with is preferable)\n\n * @part announcements - the a11y, live region. Visually hidden by default\n *\n * @slot - The default slot containing any items you might want to sort\n */\n@Component({\n tag: 'nano-sortable',\n shadow: true,\n styleUrl: 'sortable.scss',\n})\nexport class Sortable implements ComponentInterface {\n /// Public API & surface ///\n\n /** A css query selector which matches a set of elements that should be sortable. e.g. `<li>` or `<tr>` */\n @Prop() itemSelector = 'li';\n @Watch('itemSelector')\n handleItemSelectorChange() {\n this.refreshKeyboardHandles();\n }\n\n /** A css query selector which matches an element *within* the `itemSelector` element\n * which will act like a drag handle. **Note** For keyboard a11y it's recommended\n * to use `handleSelector` when possible. Alternatively, the `createKeyboardHandle` prop will be used */\n @Prop() handleSelector?: string;\n @Watch('handleSelector')\n handleHandleSelectorChange() {\n this.refreshKeyboardHandles();\n this.attachMutationObserver();\n }\n\n /** When dragging between grouped collections of items, it is possible to drag all sortable items from one group to another.\n * At that point, you will not be able to drag items back to the original group.\n * A `dropzoneSelector` allows you to define a placeholder area where items can always be dropped.\n */\n @Prop() dropzoneSelector?: string;\n\n /** Accessibility helper text applied to handle controls */\n @Prop() helperText =\n 'Press \"Space\" or \"Enter\" to enable element reordering and use the arrow keys to reorder items.' +\n 'Press \"Escape\" to cancel reordering. Alternatively, use your mouse to drag / reorder.';\n\n /**\n * As a sortable element is interacted with, announcements are made to screen readers\n * - informing the user what is changing.\n * By default, the text from the element is extracted to describe the interacted with element.\n * Use this function to provide a more meaningful, concise item descriptor\n * @param el the element being interacted with\n * @returns a string, describing the element being interacted with\n */\n @Prop() itemDescriptor = (el: Element) => `\"${el?.textContent.trim()}\"`;\n\n /**\n * Used to generate a screen reader live update, informing the user of the current element being grabbed.\n * @param el the element that has been grabbed by the user\n * @returns a string, describing the element being grabbed\n */\n @Prop() grabbedHelperText = (el: Element) =>\n `${this.itemDescriptor(el)} grabbed`;\n\n /**\n * Used to generate a screen reader live update, informing the user of the current element being dropped.\n * @param el the element that has been dropped by the user\n * @returns a string, describing the element that has been dropped\n */\n @Prop() droppedHelperText = (el: Element) =>\n `${this.itemDescriptor(el)} dropped`;\n\n /**\n * Used to generate a screen reader live update, informing the user when items have been reordered.\n * @param el the element that has been reordered by the user\n * @param elements the elements in the sortable list\n * @param position the new position of the dropped element\n * @returns a string, describing the element being dropped\n */\n @Prop() reorderHelperText = (\n el: Element,\n elements: Element[],\n position: number\n ) =>\n `The list has been reordered, ${this.itemDescriptor(\n el\n )} is now item ${position} of ${elements.length}`;\n\n /**\n * A function that should attach a keyboard accessible control.\n * When a `handleSelector` is not used - to allow keyboard accessibility -\n * `createKeyboardHandle` should render a focusable element.\n *\n * If your sortable item is itself focusable,\n * you must use this function to render a control *outside* of the focusable element.\n * @param _number\n * @param _element\n * @returns a function that attaches a keyboard accessible handle control element.\n * The function itself *must* return the handle element.\n */\n @Prop() createKeyboardHandle = (_number: number, _element: Element) => {\n const handleTpl = /* html */ `\n <nano-icon-button\n slot=\"end\"\n icon-name=\"light/arrows-up-down-left-right\"\n class=\"nano-sortable__keyboard-handle visually-hidden\"\n label=\"Re-order this item\"\n ></nano-icon-button>`;\n const div = document.createElement('div');\n div.innerHTML = handleTpl;\n\n const handle = div.children[0] as HTMLElement;\n _element.append(handle);\n return handle;\n };\n @Watch('createKeyboardHandle')\n handleCreateKeyboardHandleChange() {\n this.refreshKeyboardHandles();\n }\n\n /** use `sortableHostElement` to watch a sortable list without needing to wrap in `nano-sortable`.\n * Note that the `sortableHostElement` element css `position` will be set to `relative` */\n @Prop() sortableHostElement?: HTMLElement;\n @Watch('sortableHostElement')\n handleSortableHostElement(_newVal?, oldVal?: HTMLElement) {\n if (oldVal) this.removeEventHandlers(oldVal);\n\n this.addEventHandlers();\n this.refreshKeyboardHandles();\n this.attachMutationObserver();\n\n if (this.sortableHostElement) {\n // sortable host must have position relative\n this.sortableHostElement.style.position = 'relative';\n }\n }\n\n /** Items being sorted will animate into place */\n @Prop() animationEnabled = true;\n\n /** Use this class to change how the element looks whilst being sorted */\n @Prop() draggedClass = 'nano-sortable__dragged';\n\n /** Use this class to change how the handle looks whilst being sorted */\n @Prop() handleDraggedClass = 'nano-sortable__handle-dragged';\n\n /** Use this class to change how the element looks when acting as a placeholder */\n @Prop() placeholderClass = 'nano-sortable__placeholder';\n\n /** Used in-conjunction with `dropzoneSelector`, applied when a dropzone is dragged over */\n @Prop() dropzoneActiveClass?: string = '';\n\n /** The css animation timing applied when `animationEnabled` is `true` */\n @Prop() animationTiming: any = { duration: 200, easing: 'ease-out' };\n\n /** The axis to lock dragging elements to. `undefined` means any axis */\n @Prop() orientation?: 'horizontal' | 'vertical';\n\n /** Dragged items by default, will take whatever default css is applied in situ.\n * When sortable items' dimensions are dynamic (i.e they can shrink / grow via the space allowed) dragging items can look 'wrong'.\n * Apply `dragResize` to read & recreate the dragged items current dimensions when dragged. */\n @Prop() dragResize = false;\n\n /** Fired when an the order changes. Use this to update any underlying data model.\n * `event.preventDefault()` to prevent the element being moved; will revert to original position. */\n @Event() nanoOrderChange: EventEmitter<{\n element: HTMLElement;\n originalIndex: number;\n targetIndex: number;\n }>;\n\n /** Fired when a sortable element is picked-up; via keyboard, mouse or touch.\n * `event.preventDefault()` to prevent the element being picked-up. */\n @Event() nanoGrabbed: EventEmitter<{ element: HTMLElement; index: number }>;\n\n /** Fired when a sortable element is dropped after having been picked up. */\n @Event() nanoDropped: EventEmitter<{ element: HTMLElement }>;\n\n /** If sortable elements change dynamically, use this method to add handle controls to new elements */\n @Method()\n async refreshKeyboardHandles() {\n if (this.handleSelector) {\n if (this.keyboardHandleMap?.size) {\n this.keyboardHandleMap.clear();\n }\n\n this.sortableHost\n .querySelectorAll<HTMLElement>(this.handleSelector)\n .forEach((handle) => {\n if (!handle.getAttribute('aria-describedby'))\n handle.setAttribute('aria-describedby', this.sortableId);\n const sortEle = handle.closest<HTMLElement>(this.itemSelector);\n if (sortEle) this.keyboardHandleMap.set(handle, sortEle);\n });\n return;\n }\n\n if (this.keyboardHandleMap?.size) {\n this.keyboardHandleMap?.forEach((_ele, handle) => handle.remove());\n this.keyboardHandleMap.clear();\n }\n this.sortableHost\n .querySelectorAll<HTMLElement>(this.itemSelector)\n .forEach((ele, i) => {\n const handle = this.createKeyboardHandle(i, ele);\n if (!handle) {\n console.error(\n '`createKeyboardHandle` *must* return the handle element it creates'\n );\n return;\n }\n this.keyboardHandleMap.set(handle, ele);\n handle.setAttribute('aria-describedby', this.sortableId);\n });\n }\n\n /// Private state & logic ///\n\n @Element() host: HTMLNanoSortableElement;\n private dragRequestPending = false;\n private draggedElement?: HTMLElement;\n private draggedElementClone?: HTMLElement;\n private draggedElementOrigin?: HTMLElement;\n private sortableNodes: HTMLElement[] = [];\n private dropzoneNodes: HTMLElement[] = [];\n private animatedElements: HTMLElement[] = [];\n private animationPromise?: Promise<void>;\n private keyboardHandleMap: Map<HTMLElement, HTMLElement> = new Map();\n private sortableId = `nano-sortable-${sortableIds++}`;\n private mouseDownTimer: number;\n private mutationObserver: MutationObserver;\n\n @State() keyboardSortActive = false;\n @State() ariaTextList: string[] = [];\n\n /**\n * Get instance of sortable host.\n * By default it is `nano-sortable` which can be overridden by property `sortableHostElement`\n */\n get sortableHost() {\n if (this.sortableHostElement) return this.sortableHostElement;\n return this.host;\n }\n\n /**\n * Queues aria messages which are then displayed in a 'live' region.\n * Messages are cleared after 10s\n * @param msg aria message to announce\n */\n private addAriaMsg(msg: string) {\n this.ariaTextList = [...this.ariaTextList, msg];\n\n setTimeout(() => {\n const mIdx = this.ariaTextList.indexOf(msg);\n this.ariaTextList.splice(mIdx, 1);\n this.ariaTextList = [...this.ariaTextList];\n }, 10000);\n }\n\n /**\n * Try to stop text highlight whilst dragging\n * @param userSelect\n */\n private updateUserSelectStyle(userSelect: '' | 'none') {\n this.host.style.userSelect = userSelect;\n }\n\n /**\n * Fast and simple hit test to check whether the center of a node intersects with the rectangle of any of the\n * given targets. Returns an array of matches.\n * @param node\n * @param targets\n * @returns all the items that currently intersect with the target node\n */\n private hitTest(node: HTMLElement, targets: HTMLElement[]): HTMLElement[] {\n const {\n left: l,\n top: t,\n width: w,\n height: h,\n } = node.getBoundingClientRect();\n const x = l + w / 2;\n const y = t + h / 2;\n\n return targets.filter((item) => {\n const { left, right, top, bottom } = item.getBoundingClientRect();\n return !(x < left || x > right || y < top || y > bottom);\n });\n }\n\n /**\n * Returns a boolean indicating whether the node is currently in an animation.\n * @param node\n * @returns whether a node is currently animating or not\n */\n private isAnimating(node: HTMLElement) {\n return this.animatedElements.indexOf(node) !== -1;\n }\n\n /**\n * Triggers a CSS animation on a node with the given dx and dy. Used following dom updates to make it appear as\n * if nodes animate from their old to their new position in the dom. */\n private animateNode(node: HTMLElement, dx = 0, dy = 0) {\n if (!node.animate) {\n return;\n }\n\n // keep a stack of currently animating nodes to exclude as drag & drop targets.\n this.animatedElements.push(node);\n\n node.style.willChange = 'transform';\n\n // animate from dx/dy (old node position) to none (new node position)\n writeTask(() => {\n this.animationPromise = new Promise((resolve) => {\n node\n .animate(\n [\n { transform: `translate3d(${dx}px, ${dy}px, 0)` },\n { transform: 'none' },\n ],\n this.animationTiming\n )\n .addEventListener(\n 'finish',\n () => {\n const index = this.animatedElements.indexOf(node);\n node.style.willChange = '';\n\n if (index !== -1) {\n // splice out when done to unlock as a valid target\n this.animatedElements.splice(index, 1);\n }\n\n resolve();\n delete this.animationPromise;\n },\n { once: true }\n );\n });\n });\n }\n\n /**\n * Inserts node at target to update sibling sorting. If the node precedes the target, it is inserted after it;\n * If it follows the target, it is inserted before it. This ensures any node can be dragged from the very\n * beginning to the very end and vice versa. The animateNode function is called for all nodes that moved because\n * of this dom update */\n private insertAtTarget(node: Element, target: HTMLElement) {\n if (!node || !target) return;\n\n let offsets: any[] = [];\n if (this.animationEnabled) {\n offsets = this.sortableNodes.map((item) => ({\n x: item.offsetLeft,\n y: item.offsetTop,\n }));\n }\n\n if (!node.isConnected || !target.isConnected) return;\n\n if (this.dropzoneNodes.indexOf(target) > -1) {\n target.append(node);\n } else {\n const nodeComparison = node.compareDocumentPosition(target);\n let position;\n\n if (nodeComparison & this.host.DOCUMENT_POSITION_FOLLOWING) {\n position =\n target.parentNode === node.parentNode ? 'afterend' : 'beforebegin';\n }\n if (nodeComparison & this.host.DOCUMENT_POSITION_PRECEDING) {\n position =\n target.parentNode === node.parentNode ? 'beforebegin' : 'afterend';\n }\n if (position) target.insertAdjacentElement(position, node);\n }\n\n if (this.animationEnabled) {\n this.sortableNodes.forEach((sortableNode, i) => {\n const { x, y } = offsets[i];\n const dx = x - sortableNode.offsetLeft;\n const dy = y - sortableNode.offsetTop;\n if (dx !== 0 || dy !== 0) {\n this.animateNode(sortableNode, dx, dy);\n }\n });\n }\n }\n\n private reset() {\n if (\n this.draggedElementClone !== undefined &&\n this.draggedElementClone.parentNode !== null\n ) {\n this.draggedElementClone.parentNode.removeChild(this.draggedElementClone);\n }\n\n if (\n this.draggedElement &&\n this.draggedElement.parentNode &&\n this.draggedElementOrigin\n ) {\n this.draggedElement.classList.remove(this.placeholderClass);\n }\n\n if (this.dropzoneActiveClass && this.dropzoneNodes.length) {\n this.dropzoneNodes.forEach((dze) =>\n dze.classList.remove(this.dropzoneActiveClass)\n );\n }\n\n delete this.draggedElementClone;\n delete this.draggedElement;\n\n this.dropzoneNodes = [];\n this.sortableNodes = [];\n this.animatedElements = [];\n this.dragRequestPending = false;\n this.updateUserSelectStyle('');\n }\n\n /**\n * Clones a given node to visually drag around. The original node is left in the same flow as its siblings.\n * Clone styles are added onto the style object directly, since the ::slotted()\n * selector can't universally target nodes that may be nested an unknown amount of shadow dom levels deep\n * @param node html node to clone\n * @returns the cloned html node\n */\n private createClone(node: HTMLElement): HTMLElement {\n const clone = node.cloneNode(true) as HTMLElement;\n if (node.id) clone.id = 'clone__' + clone.id;\n\n /**\n * Bugfix for table row sorting.\n * During dragging table rows shrink, so we manually set them width of original node.\n */\n Array.from(clone.children).forEach((nodeChild: HTMLElement, index) => {\n const clonedNodeChild = nodeChild;\n const originalNodeChild = node.children.item(index) as HTMLElement;\n\n if (originalNodeChild) {\n clonedNodeChild.style.width = `${originalNodeChild.offsetWidth}px`;\n }\n });\n const {\n offsetLeft: x,\n offsetTop: y,\n offsetWidth: w,\n offsetHeight: h,\n } = node;\n\n Object.assign(clone.style, {\n position: 'absolute',\n left: `calc(${x}px - var(--grab-offset-x, 0px))`,\n top: `calc(${y}px - var(--grab-offset-y, 0px))`,\n height: this.dragResize ? `${h}px` : undefined,\n width: this.dragResize ? `${w}px` : undefined,\n willChange: 'transform,opacity',\n });\n\n clone.classList.add(this.draggedClass);\n\n return node.parentNode.appendChild(clone);\n }\n\n /// Event handlers ///\n\n private removeEventHandlers(ele?: HTMLElement) {\n ele = ele || this.sortableHost;\n ele.removeEventListener('mousedown', this.handleTrack);\n ele.removeEventListener('touchstart', this.handleTrack);\n ele.removeEventListener('keydown', this.handleKeydown);\n }\n\n private addEventHandlers(ele?: HTMLElement) {\n ele = ele || this.sortableHost;\n addListeners(ele, 'mousedown touchstart', this.handleTrack, {\n passive: true,\n });\n ele.addEventListener('keydown', this.handleKeydown);\n }\n\n /**\n * Watch for any changes in grab-able handle elements.\n */\n private attachMutationObserver() {\n if (!Build.isBrowser) return;\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = undefined;\n }\n\n this.mutationObserver = new MutationObserver(() => {\n const currHandles = Array.from(this.keyboardHandleMap.values());\n const newHandles = Array.from(\n this.sortableHost.querySelectorAll<HTMLElement>(this.itemSelector)\n );\n\n // simple test for equality\n if (\n currHandles.length !== newHandles.length ||\n !!newHandles.find((h) => !currHandles.includes(h))\n ) {\n this.refreshKeyboardHandles();\n }\n });\n this.mutationObserver.observe(this.sortableHost, {\n subtree: true,\n childList: true,\n });\n }\n\n private handleKeydown(e: KeyboardEvent) {\n const targetElement = e.target as HTMLElement;\n let foundHandle: HTMLElement;\n let sortEle: HTMLElement;\n\n if (this.handleSelector) {\n foundHandle = targetElement.closest(this.handleSelector);\n sortEle = targetElement.closest(this.itemSelector);\n } else {\n sortEle = this.keyboardHandleMap.get(targetElement);\n foundHandle = targetElement;\n }\n\n // have we found a handle and matching sort element from the keydown element\n if (!foundHandle || !sortEle) return;\n\n const activateSort = (isActive: boolean) => {\n this.keyboardSortActive = isActive;\n this.draggedElement = isActive ? sortEle : undefined;\n sortEle.classList.toggle(this.draggedClass, isActive);\n foundHandle.classList.toggle(this.handleDraggedClass, isActive);\n\n if (isActive) {\n this.addAriaMsg(this.grabbedHelperText(sortEle));\n document.addEventListener('mousedown', () => activateSort(false), {\n once: true,\n });\n } else {\n this.addAriaMsg(this.droppedHelperText(sortEle));\n }\n };\n\n // start editing this element's order?\n if ([' ', 'Space', 'Enter'].includes(e.key)) {\n e.preventDefault();\n\n if (!this.keyboardSortActive) {\n // grabbed the element\n activateSort(true);\n\n this.sortableNodes =\n Array.from(this.sortableHost.querySelectorAll(this.itemSelector)) ||\n [];\n const nanoGrabbedEv = this.nanoGrabbed.emit({\n element: sortEle,\n index: this.sortableNodes.indexOf(sortEle),\n });\n\n if (nanoGrabbedEv.defaultPrevented) {\n activateSort(false);\n return;\n }\n } else {\n // dropped the element\n activateSort(false);\n this.nanoDropped.emit({ element: sortEle });\n }\n return;\n }\n if (!this.keyboardSortActive) return;\n\n // Tabbing away from this handle - deactivate\n if (['Escape', 'Tab'].includes(e.key)) activateSort(false);\n\n let moveKeys = ['Home', 'End'];\n if (!this.orientation || this.orientation === 'horizontal')\n moveKeys = [...moveKeys, 'ArrowRight', 'ArrowLeft'];\n if (!this.orientation || this.orientation === 'vertical')\n moveKeys = [...moveKeys, 'ArrowUp', 'ArrowDown'];\n\n if (!moveKeys.includes(e.key)) return;\n\n // move the element with the keyboard\n e.preventDefault();\n\n /** Collect all elements that have drag positions.\n * Both sortable elements and 'dropzones' (placeholders where items can always be placed) */\n\n this.sortableNodes =\n Array.from(this.sortableHost.querySelectorAll(this.itemSelector)) || [];\n this.dropzoneNodes =\n Array.from(this.sortableHost.querySelectorAll(this.dropzoneSelector)) ||\n [];\n const currIdx = this.sortableNodes.indexOf(this.draggedElement);\n let curDzIdx: number = -1;\n\n if (this.dropzoneNodes.length) {\n const curDropzone = this.draggedElement.closest<HTMLElement>(\n this.dropzoneSelector\n );\n curDzIdx = this.dropzoneNodes.indexOf(curDropzone);\n curDzIdx = curDzIdx > -1 ? curDzIdx : -1;\n }\n\n /** If we don't have a next / prev sortable element in our list, test to see if there's a dropzone instead */\n const prevEle =\n currIdx - 1 < 0 && curDzIdx > -1\n ? this.dropzoneNodes[curDzIdx - 1]\n : this.sortableNodes[currIdx - 1];\n const nextEle =\n currIdx + 1 === this.sortableNodes.length && curDzIdx > -1\n ? this.dropzoneNodes[curDzIdx + 1]\n : this.sortableNodes[currIdx + 1];\n\n if (e.key === 'Home') {\n this.insertAtTarget(this.draggedElement, this.sortableNodes[0]);\n }\n if (e.key === 'End') {\n this.insertAtTarget(\n this.draggedElement,\n this.sortableNodes[this.sortableNodes.length - 1]\n );\n }\n if (['ArrowRight', 'ArrowDown'].includes(e.key)) {\n this.insertAtTarget(this.draggedElement, nextEle);\n }\n if (['ArrowLeft', 'ArrowUp'].includes(e.key)) {\n this.insertAtTarget(this.draggedElement, prevEle);\n }\n\n this.finishOrder();\n this.draggedElement = sortEle;\n\n const focus = () => {\n requestAnimationFrame(() => {\n if (typeof foundHandle['setFocus'] === 'function')\n (foundHandle as HTMLNanoIconButtonElement).setFocus();\n else foundHandle.focus();\n });\n };\n\n // replace focus to handle so we don't 'drop' the element\n if (this.animationPromise) this.animationPromise.then(() => focus());\n else focus();\n }\n\n /** Tracks a pointer from touchstart/mousedown to touchend/mouseup. */\n private handleTrack(e: PointerEvent) {\n // ignore if we've started dragging or right click\n if (this.dragRequestPending || (e.button && e.button !== 1)) return;\n\n // ignore touchmove events (namespace it so we can remove it)\n const handleMove = (e: Event) => {\n if (e.cancelable) e.preventDefault();\n clearTimeout(this.mouseDownTimer);\n };\n\n // remove temporary events and reset timer\n const resetTrack = () => {\n clearTimeout(this.mouseDownTimer);\n document.removeEventListener('touchmove', handleMove);\n document.removeEventListener('contextmenu', this.finishOrder);\n };\n resetTrack();\n\n // start a timer - only start dragging if pressed for 150ms\n this.mouseDownTimer = window?.setTimeout(() => {\n // ignore if this is not a valid drag target\n if (!this.trackStart(e)) return;\n\n // ignore touchmove events (they scroll the screen)\n document.addEventListener('touchmove', handleMove, {\n passive: false,\n });\n // cancel if user presses and holds (without move) for context menu\n document.addEventListener('contextmenu', this.finishOrder);\n\n this.addAriaMsg(this.grabbedHelperText(this.draggedElement));\n\n drag(this.sortableHost, {\n initialEvent: e,\n relative: true,\n onMove: (x, y) => {\n this.trackMove(x, y);\n },\n onStop: () => {\n this.nanoDropped.emit({ element: this.draggedElement });\n resetTrack();\n\n const didStop = () => {\n this.addAriaMsg(this.droppedHelperText(this.draggedElement));\n requestAnimationFrame(() => this.finishOrder());\n };\n if (this.animationPromise) {\n this.animationPromise.then(() => didStop());\n } else didStop();\n },\n });\n }, 150);\n\n // reset track timer & cancel DnD on mouseup / touchend / touchmove\n addListeners(\n document,\n 'mouseup touchend touchmove',\n () => clearTimeout(this.mouseDownTimer),\n { once: true }\n );\n }\n\n /**\n * Initialized a drag and drop sequence if a child node was clicked that matches the itemSelector property.\n * OR If a handleSelector is defined, a node matching this selector must be clicked instead\n * @returns boolean - whether tracking for this event should continue or not\n */\n private trackStart(e: Event) {\n const targetElement = e.target as HTMLElement;\n let targetHandle: HTMLElement;\n\n // If we have a handle set, return now if not being pressed\n if (this.handleSelector) {\n targetHandle = targetElement.closest(this.handleSelector);\n\n if (!targetHandle) return;\n targetHandle.classList.add(this.handleDraggedClass);\n }\n\n // Check that we've found the target element via itemSelector\n const node = targetElement.closest<HTMLElement>(this.itemSelector);\n if (!node) return false;\n\n this.sortableNodes =\n Array.from(this.sortableHost.querySelectorAll(this.itemSelector)) || [];\n const nanoGrabbedEv = this.nanoGrabbed.emit({\n element: node,\n index: this.sortableNodes.indexOf(node),\n });\n if (nanoGrabbedEv.defaultPrevented) return false;\n\n // Element found... start everything\n e.preventDefault();\n this.updateUserSelectStyle('none');\n this.dragRequestPending = true;\n this.draggedElement = node;\n this.dropzoneNodes =\n Array.from(this.sortableHost.querySelectorAll(this.dropzoneSelector)) ||\n [];\n this.draggedElementClone = this.createClone(node);\n this.draggedElementOrigin = node.nextSibling as HTMLElement;\n this.animatedElements = [];\n this.draggedElement.classList.add(this.placeholderClass);\n return true;\n }\n\n /** Ends re-ordering */\n private finishOrder = () => {\n if (!this.draggedElement) return;\n\n const updated = Array.from(\n this.sortableHost.querySelectorAll<HTMLElement>(this.itemSelector)\n ).filter((ele) => ele !== this.draggedElementClone);\n const originalIndex = this.sortableNodes.indexOf(this.draggedElement);\n const targetIndex = updated.indexOf(this.draggedElement);\n\n if (this.handleSelector) {\n const targetHandle = this.draggedElement.querySelector(\n this.handleSelector\n );\n targetHandle.classList.remove(this.handleDraggedClass);\n }\n\n if (originalIndex !== targetIndex) {\n const orderChangeEv = this.nanoOrderChange.emit({\n element: this.draggedElement,\n originalIndex,\n targetIndex,\n });\n\n if (orderChangeEv.defaultPrevented) {\n /** Event was prevented, wait a moment to send element back to whence it came - gives a nicer visual queue */\n this.animationPromise = new Promise((resolve) => {\n setTimeout(() => {\n this.insertAtTarget(this.draggedElement, updated[originalIndex]);\n this.reset();\n this.dragRequestPending = false;\n resolve();\n }, 200);\n });\n return;\n }\n this.addAriaMsg(\n this.reorderHelperText(this.draggedElement, updated, targetIndex + 1)\n );\n }\n\n this.reset();\n this.dragRequestPending = false;\n };\n\n /**\n * Moves the active node's clone to follow the pointer. The node that the clone intersects with (via hitTest) is\n * the insert point for updated sorting */\n private trackMove = (x: number, y: number) => {\n if (!this.draggedElementClone) {\n return;\n }\n\n if (this.orientation) {\n x = x * orientationMap[this.orientation].x;\n y = y * orientationMap[this.orientation].y;\n }\n\n writeTask(() => {\n Object.assign(this.draggedElementClone.style, {\n transform: `translate3d(${x}px, ${y}px, 0)`,\n });\n });\n\n let target = this.hitTest(this.draggedElementClone, this.sortableNodes)[0];\n let activeDropzone: HTMLElement;\n\n if (this.dropzoneSelector && this.dropzoneActiveClass) {\n readTask(() => {\n activeDropzone = this.draggedElement.closest(this.dropzoneSelector);\n\n writeTask(() => {\n this.dropzoneNodes\n .filter((dze) => dze !== activeDropzone)\n .forEach((dze) => dze.classList.remove(this.dropzoneActiveClass));\n activeDropzone.classList.add(this.dropzoneActiveClass);\n });\n });\n }\n\n // didn't find a target - let's test to see if we can use a drop-zone instead\n if (!target && this.dropzoneNodes.length) {\n target = this.hitTest(this.draggedElementClone, this.dropzoneNodes)[0];\n if (this.draggedElement.closest(this.dropzoneSelector) === target) return;\n }\n\n if (\n // if clone intersects with a valid target,\n target &&\n // other than its own origin,\n target !== this.draggedElement &&\n // and the target isn't currently animating, which causes false hit tests,\n !this.isAnimating(target)\n ) {\n this.insertAtTarget(this.draggedElement, target);\n }\n };\n\n /// Component lifecycle ///\n\n constructor() {\n this.handleTrack = this.handleTrack.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.refreshKeyboardHandles = this.refreshKeyboardHandles.bind(this);\n this.refreshKeyboardHandles = nanoDebounce(\n this.refreshKeyboardHandles,\n 500\n );\n }\n\n connectedCallback() {\n this.addEventHandlers();\n this.refreshKeyboardHandles();\n this.attachMutationObserver();\n\n if (Build.isBrowser && !this.host.querySelector(`#${this.sortableId}`)) {\n // inject a light-dom / a11y description that we can connect sortable items to\n this.host.insertAdjacentHTML(\n 'beforeend',\n `<div class=\"visually-hidden\" id=\"${this.sortableId}\">${this.helperText}</div>`\n );\n }\n }\n\n disconnectedCallback() {\n this.removeEventHandlers();\n this.host.querySelector(`#${this.sortableId}`)?.remove();\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = undefined;\n }\n }\n\n render() {\n return (\n <Host class=\"nano-sortable\">\n <div\n class=\"sortable__live-region\"\n aria-live=\"polite\"\n aria-relevant=\"additions\"\n aria-atomic=\"true\"\n role=\"log\"\n part=\"announcements\"\n >\n {this.ariaTextList.map((str) => (\n <div>{str}</div>\n ))}\n </div>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["spinnerCss","NanoSpinnerStyle0","Spinner","hasText","type","overlay","componentWillLoad","this","el","childNodes","length","render","h","Host","key","class"],"sources":["src/components/spinner/spinner.scss?tag=nano-spinner&encapsulation=shadow","src/components/spinner/spinner.tsx"],"sourcesContent":["@use '../../global/style/nano-theme/tokens';\n\n:host {\n /**\n * @prop --base-color-rgb: default #{tokens.$progress-indicator-color-rgb}\n * @prop --indicator-color: default var(--nano-indicator-color, rgb(var(--base-color-rgb) / 10%));\n * @prop --track-color: default var(--nano-track-color, rgb(var(--base-color-rgb) / 20%));\n * @prop --spinner-scale: optional scaling of the spinner. default contextual font-size\n * @prop --overlay-color: #{tokens.$layer-overlay-light};\n */\n\n display: inline-block;\n\n // --spinner-scale: 5em;\n --base-color-rgb: #{tokens.$progress-indicator-color-rgb};\n --indicator-color:\n var(\n --nano-indicator-color,\n rgb(var(--base-color-rgb) / 100%)\n );\n --track-color: var(--nano-track-color, rgb(var(--base-color-rgb) / 20%));\n --overlay-color: #{tokens.$layer-overlay-light};\n}\n\n.spinner {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n :host([overlay]:not([overlay='false'])) & {\n position: absolute;\n inset: 0;\n\n .spinner__loader,\n .spinner__text {\n z-index: 1;\n }\n }\n\n &__overlay {\n background: var(--overlay-color);\n position: absolute;\n inset: 0;\n z-index: 0;\n backdrop-filter: blur(#{tokens.$layer-overlay-blur});\n }\n\n &__loader {\n font-size: var(--spinner-scale, 1em);\n }\n\n &__spin {\n display: block;\n margin: auto;\n inline-size: 1em;\n block-size: 1em;\n border-radius: 50%;\n border: solid 0.1em var(--track-color);\n border-block-start-color: var(--indicator-color);\n border-inline-end-color: var(--indicator-color);\n border-inline-start-color: var(--indicator-color);\n animation: 1s linear infinite spin;\n }\n\n &__dna {\n font-size: 0.2286em;\n display: flex;\n }\n\n &__dnatrack {\n position: relative;\n padding-block: 0;\n padding-inline: 0.625em;\n block-size: 4.375em;\n inline-size: 0.625em;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n inset-block-start: 1.875em;\n inset-inline-start: 50%;\n transform: translateX(-50%) translateZ(0);\n inline-size: 0.0625em;\n inline-size: #{'max(.0625em, 1px)'};\n block-size: 0.625em;\n background: var(--track-color);\n animation: flex 1.5s linear infinite;\n transform-origin: center center;\n }\n\n &--2::before {\n animation: flex 1.5s -1.3s linear infinite;\n }\n\n &--3::before {\n animation: flex 1.5s -1.1s linear infinite;\n }\n\n &--4::before {\n animation: flex 1.5s -0.9s linear infinite;\n }\n\n &--5::before {\n animation: flex 1.5s -0.75s linear infinite;\n }\n }\n\n &__dnadot {\n position: absolute;\n inline-size: 0.5em;\n block-size: 0.5em;\n border-radius: 50%;\n background: var(--indicator-color);\n animation: rotate 1.5s linear infinite;\n transform-origin: center center;\n inset-inline-start: 50%;\n transform: translateX(-50%) translateZ(0) translateY(0);\n\n &--2 {\n animation: rotate 1.5s -0.75s linear infinite;\n }\n\n &--3 {\n animation: rotate 1.5s -1.3s linear infinite;\n }\n\n &--4 {\n animation: rotate 1.5s -0.55s linear infinite;\n }\n\n &--5 {\n animation: rotate 1.5s -1.1s linear infinite;\n }\n\n &--6 {\n animation: rotate 1.5s -0.35s linear infinite;\n }\n\n &--7 {\n animation: rotate 1.5s -0.9s linear infinite;\n }\n\n &--8 {\n animation: rotate 1.5s -0.15s linear infinite;\n }\n\n &--9 {\n animation: rotate 1.5s -0.75s linear infinite;\n }\n\n &--10 {\n animation: rotate 1.5s 0s linear infinite;\n }\n }\n\n &__text {\n text-align: center;\n position: relative;\n margin-block-start: 0.5em;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes rotate {\n 0%,\n 100% {\n transform: translateX(-50%) translateY(0) scale(1);\n }\n\n 25% {\n transform: translateX(-50%) translateY(1.875em) scale(2);\n }\n\n 50% {\n transform: translateX(-50%) translateY(3.75em) scale(1);\n }\n\n 75% {\n transform: translateX(-50%) translateY(1.875em) scale(0.3);\n }\n }\n\n @keyframes flex {\n 0%,\n 100% {\n transform: translateX(-50%) scaleY(5);\n }\n\n 25% {\n transform: translateX(-50%) scaleY(1);\n }\n\n 50% {\n transform: translateX(-50%) scaleY(5);\n }\n\n 75% {\n transform: translateX(-50%) scaleY(1);\n }\n }\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n State,\n Host,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\n\n/**\n * Spinners are used to show the progress of an indeterminate operation.\n * @slot - Used for loading messages\n */\n@Component({\n tag: 'nano-spinner',\n styleUrl: 'spinner.scss',\n shadow: true,\n})\nexport class Spinner implements ComponentInterface {\n @Element() el: HTMLNanoSpinnerElement;\n @State() hasText: boolean = false;\n\n /** The type of spinner animation */\n @Prop() type: 'dna' | 'circle' = 'circle';\n\n /** Displays absolutely with an overlay */\n @Prop({ reflect: true }) overlay: boolean = false;\n\n componentWillLoad() {\n this.hasText = !!this.el.childNodes.length;\n }\n\n render() {\n return (\n <Host class=\"nano-spinner\">\n <div class=\"spinner\" aria-busy=\"true\" aria-live=\"polite\">\n <div class=\"spinner__loader\">\n {this.type === 'dna' && (\n <div class=\"spinner__dna\">\n <div class=\"spinner__dnatrack spinner__dnatrack--1\">\n <div class=\"spinner__dnadot spinner__dnadot--1\"></div>\n <div class=\"spinner__dnadot spinner__dnadot--2\"></div>\n </div>\n <div class=\"spinner__dnatrack spinner__dnatrack--2\">\n <div class=\"spinner__dnadot spinner__dnadot--3\"></div>\n <div class=\"spinner__dnadot spinner__dnadot--4\"></div>\n </div>\n <div class=\"spinner__dnatrack spinner__dnatrack--3\">\n <div class=\"spinner__dnadot spinner__dnadot--5\"></div>\n <div class=\"spinner__dnadot spinner__dnadot--6\"></div>\n </div>\n <div class=\"spinner__dnatrack spinner__dnatrack--4\">\n <div class=\"spinner__dnadot spinner__dnadot--7\"></div>\n <div class=\"spinner__dnadot spinner__dnadot--8\"></div>\n </div>\n <div class=\"spinner__dnatrack spinner__dnatrack--5\">\n <div class=\"spinner__dnadot spinner__dnadot--9\"></div>\n <div class=\"spinner__dnadot spinner__dnadot--10\"></div>\n </div>\n </div>\n )}\n {this.type === 'circle' && <span class=\"spinner__spin\"></span>}\n </div>\n {this.hasText && (\n <div class=\"spinner__text\" key=\"spinner-text\">\n <slot />\n </div>\n )}\n {this.overlay && (\n <div class=\"spinner__overlay\" key=\"spinner-overlay\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;4FAAA,MAAMA,EAAa,siHACnB,MAAAC,EAAeD,E,MCkBFE,EAAO,M,iDAETC,QAAmB,MAGpBC,KAAyB,SAGRC,QAAmB,MAE5C,iBAAAC,GACEC,KAAKJ,UAAYI,KAAKC,GAAGC,WAAWC,M,CAGtC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAM,gBACVH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,UAAS,YAAW,OAAM,YAAW,UAC9CH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACRR,KAAKH,OAAS,OACbQ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0CACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,uCACXH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wCAEbH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0CACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,uCACXH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wCAEbH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0CACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,uCACXH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wCAEbH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0CACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,uCACXH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wCAEbH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0CACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,uCACXH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0CAIhBR,KAAKH,OAAS,UAAYQ,EAAA,QAAAE,IAAA,2CAAMC,MAAM,mBAExCR,KAAKJ,SACJS,EAAA,OAAKG,MAAM,gBAAgBD,IAAI,gBAC7BF,EAAA,QAAAE,IAAA,8CAGHP,KAAKF,SACJO,EAAA,OAAKG,MAAM,mBAAmBD,IAAI,qB","ignoreList":[]}