@nanoporetech-digital/components 5.11.8 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/cjs/{component-store-149aeffe.js → component-store-7427cb36.js} +2 -2
  3. package/dist/cjs/component-store-7427cb36.js.map +1 -0
  4. package/dist/cjs/{drag-777bd8dd.js → drag-1cdd881b.js} +9 -9
  5. package/dist/cjs/drag-1cdd881b.js.map +1 -0
  6. package/dist/cjs/{fade-dcabf3c1.js → fade-738dbd13.js} +2 -2
  7. package/dist/cjs/{fade-dcabf3c1.js.map → fade-738dbd13.js.map} +1 -1
  8. package/dist/cjs/{form-control-cae1e493.js → form-control-9a2379b4.js} +3 -3
  9. package/dist/cjs/form-control-9a2379b4.js.map +1 -0
  10. package/dist/cjs/{fullscreen-d24940a1.js → fullscreen-a994dc5b.js} +2 -2
  11. package/dist/cjs/{fullscreen-d24940a1.js.map → fullscreen-a994dc5b.js.map} +1 -1
  12. package/dist/cjs/{index-72ee0363.js → index-ece1cb9e.js} +10 -2
  13. package/dist/cjs/index-ece1cb9e.js.map +1 -0
  14. package/dist/cjs/index.cjs.js +35 -9
  15. package/dist/cjs/index.cjs.js.map +1 -1
  16. package/dist/cjs/{lazyload-f6be7590.js → lazyload-d532de2a.js} +2 -2
  17. package/dist/cjs/{lazyload-f6be7590.js.map → lazyload-d532de2a.js.map} +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/{modal-b9b40f6d.js → modal-f9dce001.js} +2 -3
  20. package/dist/cjs/modal-f9dce001.js.map +1 -0
  21. package/dist/cjs/nano-accordion.cjs.entry.js +5 -2
  22. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-alert.cjs.entry.js +3 -3
  24. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
  26. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
  28. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-checkbox-group.cjs.entry.js +12 -14
  30. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-checkbox.cjs.entry.js +2 -2
  32. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-components.cjs.js +1 -1
  34. package/dist/cjs/nano-datalist_3.cjs.entry.js +16 -25
  35. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nano-date-input.cjs.entry.js +4 -4
  37. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
  39. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nano-demo.cjs.entry.js +8 -12
  41. package/dist/cjs/nano-demo.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-details.cjs.entry.js +1 -1
  43. package/dist/cjs/nano-dialog.cjs.entry.js +2 -2
  44. package/dist/cjs/nano-drawer.cjs.entry.js +3 -3
  45. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-dropdown.cjs.entry.js +6 -7
  47. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nano-field-validator.cjs.entry.js +3 -6
  49. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-file-upload.cjs.entry.js +2 -2
  51. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +101 -33
  53. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-global-nav.cjs.entry.js +18 -24
  55. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-icon-button_2.cjs.entry.js +2 -4
  57. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nano-icon.cjs.entry.js +7 -2
  59. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nano-input.cjs.entry.js +21 -7
  61. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  63. package/dist/cjs/{nano-slides-2f3dcc02.js → nano-slides-d8032939.js} +23 -22
  64. package/dist/cjs/nano-slides-d8032939.js.map +1 -0
  65. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  66. package/dist/cjs/nano-sortable.cjs.entry.js +7 -9
  67. package/dist/cjs/nano-sortable.cjs.entry.js.map +1 -1
  68. package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
  69. package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
  70. package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nano-tab-group.cjs.entry.js +6 -8
  72. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  73. package/dist/cjs/{nano-table-d96f3eea.js → nano-table-84da62a4.js} +53 -53
  74. package/dist/cjs/nano-table-84da62a4.js.map +1 -0
  75. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  76. package/dist/cjs/{page-dots-ae2cefb4.js → page-dots-d360366a.js} +2 -2
  77. package/dist/cjs/{page-dots-ae2cefb4.js.map → page-dots-d360366a.js.map} +1 -1
  78. package/dist/cjs/{table.worker-f258383d.js → table.worker-4aad752d.js} +1 -1
  79. package/dist/cjs/{table.worker-cedbf1a6.js → table.worker-f386d031.js} +3 -3
  80. package/dist/cjs/table.worker-f386d031.js.map +1 -0
  81. package/dist/cjs/{theme-9cbe28c5.js → theme-50275e1a.js} +7 -2
  82. package/dist/cjs/theme-50275e1a.js.map +1 -0
  83. package/dist/cjs/{transitions-cc18619c.js → transitions-20fce787.js} +7 -2
  84. package/dist/cjs/transitions-20fce787.js.map +1 -0
  85. package/dist/collection/components/accordion/accordion.js +4 -1
  86. package/dist/collection/components/accordion/accordion.js.map +1 -1
  87. package/dist/collection/components/alert/alert.helpers.js +24 -6
  88. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  89. package/dist/collection/components/alert/alert.js +1 -1
  90. package/dist/collection/components/alert/alert.js.map +1 -1
  91. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  92. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  93. package/dist/collection/components/algolia/algolia.js +1 -1
  94. package/dist/collection/components/algolia/algolia.js.map +1 -1
  95. package/dist/collection/components/checkbox/checkbox-group.js +11 -13
  96. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  97. package/dist/collection/components/checkbox/checkbox.js +1 -1
  98. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  99. package/dist/collection/components/datalist/datalist.js +14 -21
  100. package/dist/collection/components/datalist/datalist.js.map +1 -1
  101. package/dist/collection/components/date-input/date-input.js +3 -3
  102. package/dist/collection/components/date-input/date-input.js.map +1 -1
  103. package/dist/collection/components/date-picker/date-picker.js +1 -1
  104. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  105. package/dist/collection/components/demo/demo.js +8 -12
  106. package/dist/collection/components/demo/demo.js.map +1 -1
  107. package/dist/collection/components/dialog/dialog.helpers.js +11 -3
  108. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  109. package/dist/collection/components/drawer/drawer.js +1 -1
  110. package/dist/collection/components/drawer/drawer.js.map +1 -1
  111. package/dist/collection/components/dropdown/dropdown.js +6 -7
  112. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  113. package/dist/collection/components/field-validator/field-validator.js +3 -6
  114. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  115. package/dist/collection/components/file-upload/file-upload.js +2 -2
  116. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  117. package/dist/collection/components/form-control/form-control.js +2 -2
  118. package/dist/collection/components/form-control/form-control.js.map +1 -1
  119. package/dist/collection/components/global-nav/assets/ont-logo-inverse.svg +47 -0
  120. package/dist/collection/components/global-nav/global-nav-user-profile.js +1 -2
  121. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +1 -1
  122. package/dist/collection/components/global-nav/global-nav.js +4 -8
  123. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  124. package/dist/collection/components/icon/icon.js +6 -1
  125. package/dist/collection/components/icon/icon.js.map +1 -1
  126. package/dist/collection/components/input/input.js +19 -5
  127. package/dist/collection/components/input/input.js.map +1 -1
  128. package/dist/collection/components/menu/menu.js +2 -4
  129. package/dist/collection/components/menu/menu.js.map +1 -1
  130. package/dist/collection/components/select/select.css +2 -1
  131. package/dist/collection/components/select/select.js +153 -31
  132. package/dist/collection/components/select/select.js.map +1 -1
  133. package/dist/collection/components/slides/slides.js +19 -46
  134. package/dist/collection/components/slides/slides.js.map +1 -1
  135. package/dist/collection/components/sortable/sortable.js +6 -8
  136. package/dist/collection/components/sortable/sortable.js.map +1 -1
  137. package/dist/collection/components/table/table.cell.js +8 -8
  138. package/dist/collection/components/table/table.cell.js.map +1 -1
  139. package/dist/collection/components/table/table.header.js +11 -4
  140. package/dist/collection/components/table/table.header.js.map +1 -1
  141. package/dist/collection/components/table/table.js +12 -17
  142. package/dist/collection/components/table/table.js.map +1 -1
  143. package/dist/collection/components/table/table.row.js +11 -11
  144. package/dist/collection/components/table/table.row.js.map +1 -1
  145. package/dist/collection/components/table/table.store.js +2 -3
  146. package/dist/collection/components/table/table.store.js.map +1 -1
  147. package/dist/collection/components/table/table.utils.js +7 -8
  148. package/dist/collection/components/table/table.utils.js.map +1 -1
  149. package/dist/collection/components/table/table.worker.js +3 -3
  150. package/dist/collection/components/table/table.worker.js.map +1 -1
  151. package/dist/collection/components/tabs/tab-content.css +0 -1
  152. package/dist/collection/components/tabs/tab-group.js +3 -5
  153. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  154. package/dist/collection/components/tooltip/tooltip.js +2 -4
  155. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  156. package/dist/collection/utils/drag.js +8 -8
  157. package/dist/collection/utils/drag.js.map +1 -1
  158. package/dist/collection/utils/fetch.js +12 -15
  159. package/dist/collection/utils/fetch.js.map +1 -1
  160. package/dist/collection/utils/gesture/index.js +9 -1
  161. package/dist/collection/utils/gesture/index.js.map +1 -1
  162. package/dist/collection/utils/modal.js +1 -2
  163. package/dist/collection/utils/modal.js.map +1 -1
  164. package/dist/collection/utils/store/get-set.js +1 -1
  165. package/dist/collection/utils/store/get-set.js.map +1 -1
  166. package/dist/collection/utils/testing/index.js +2 -2
  167. package/dist/collection/utils/testing/index.js.map +1 -1
  168. package/dist/collection/utils/theme.js +6 -1
  169. package/dist/collection/utils/theme.js.map +1 -1
  170. package/dist/collection/utils/transitions.js +6 -1
  171. package/dist/collection/utils/transitions.js.map +1 -1
  172. package/dist/components/algolia.js +1 -1
  173. package/dist/components/algolia.js.map +1 -1
  174. package/dist/components/component-store.js +1 -1
  175. package/dist/components/component-store.js.map +1 -1
  176. package/dist/components/datalist.js +14 -21
  177. package/dist/components/datalist.js.map +1 -1
  178. package/dist/components/date-picker.js +1 -1
  179. package/dist/components/date-picker.js.map +1 -1
  180. package/dist/components/drag.js +8 -8
  181. package/dist/components/drag.js.map +1 -1
  182. package/dist/components/dropdown.js +6 -7
  183. package/dist/components/dropdown.js.map +1 -1
  184. package/dist/components/form-control.js +2 -2
  185. package/dist/components/form-control.js.map +1 -1
  186. package/dist/components/global-nav-user-profile.js +1 -2
  187. package/dist/components/global-nav-user-profile.js.map +1 -1
  188. package/dist/components/icon.js +6 -1
  189. package/dist/components/icon.js.map +1 -1
  190. package/dist/components/index.js +35 -9
  191. package/dist/components/index.js.map +1 -1
  192. package/dist/components/index3.js +9 -1
  193. package/dist/components/index3.js.map +1 -1
  194. package/dist/components/input.js +19 -5
  195. package/dist/components/input.js.map +1 -1
  196. package/dist/components/menu.js +2 -4
  197. package/dist/components/menu.js.map +1 -1
  198. package/dist/components/modal.js +1 -2
  199. package/dist/components/modal.js.map +1 -1
  200. package/dist/components/nano-accordion.js +4 -1
  201. package/dist/components/nano-accordion.js.map +1 -1
  202. package/dist/components/nano-alert.js +1 -1
  203. package/dist/components/nano-alert.js.map +1 -1
  204. package/dist/components/nano-algolia-filter.js +2 -2
  205. package/dist/components/nano-algolia-filter.js.map +1 -1
  206. package/dist/components/nano-checkbox-group.js +11 -13
  207. package/dist/components/nano-checkbox-group.js.map +1 -1
  208. package/dist/components/nano-checkbox.js +1 -1
  209. package/dist/components/nano-checkbox.js.map +1 -1
  210. package/dist/components/nano-date-input.js +3 -3
  211. package/dist/components/nano-date-input.js.map +1 -1
  212. package/dist/components/nano-demo.js +8 -12
  213. package/dist/components/nano-demo.js.map +1 -1
  214. package/dist/components/nano-drawer.js +1 -1
  215. package/dist/components/nano-drawer.js.map +1 -1
  216. package/dist/components/nano-field-validator.js +3 -6
  217. package/dist/components/nano-field-validator.js.map +1 -1
  218. package/dist/components/nano-file-upload.js +2 -2
  219. package/dist/components/nano-file-upload.js.map +1 -1
  220. package/dist/components/nano-global-nav.js +16 -22
  221. package/dist/components/nano-global-nav.js.map +1 -1
  222. package/dist/components/nano-slides.js +19 -19
  223. package/dist/components/nano-slides.js.map +1 -1
  224. package/dist/components/nano-sortable.js +6 -8
  225. package/dist/components/nano-sortable.js.map +1 -1
  226. package/dist/components/nano-tab-content.js +1 -1
  227. package/dist/components/nano-tab-content.js.map +1 -1
  228. package/dist/components/nano-tab-group.js +3 -5
  229. package/dist/components/nano-tab-group.js.map +1 -1
  230. package/dist/components/select.js +100 -29
  231. package/dist/components/select.js.map +1 -1
  232. package/dist/components/table.js +51 -51
  233. package/dist/components/table.js.map +1 -1
  234. package/dist/components/table.worker.js +1 -1
  235. package/dist/components/theme.js +6 -1
  236. package/dist/components/theme.js.map +1 -1
  237. package/dist/components/tooltip.js +2 -4
  238. package/dist/components/tooltip.js.map +1 -1
  239. package/dist/components/transitions.js +6 -1
  240. package/dist/components/transitions.js.map +1 -1
  241. package/dist/esm/{component-store-f7eb0a56.js → component-store-486d9d7a.js} +2 -2
  242. package/dist/esm/component-store-486d9d7a.js.map +1 -0
  243. package/dist/esm/{drag-1723a4cc.js → drag-d948d158.js} +9 -9
  244. package/dist/esm/drag-d948d158.js.map +1 -0
  245. package/dist/esm/{fade-1aa7a6db.js → fade-00c7c18e.js} +2 -2
  246. package/dist/esm/{fade-1aa7a6db.js.map → fade-00c7c18e.js.map} +1 -1
  247. package/dist/esm/{form-control-8c2750f9.js → form-control-0bfcc7ea.js} +3 -3
  248. package/dist/esm/form-control-0bfcc7ea.js.map +1 -0
  249. package/dist/esm/{fullscreen-86fa276a.js → fullscreen-09677a62.js} +2 -2
  250. package/dist/esm/{fullscreen-86fa276a.js.map → fullscreen-09677a62.js.map} +1 -1
  251. package/dist/esm/{index-f626f476.js → index-dc076ea6.js} +10 -2
  252. package/dist/esm/index-dc076ea6.js.map +1 -0
  253. package/dist/esm/index.js +35 -9
  254. package/dist/esm/index.js.map +1 -1
  255. package/dist/esm/{lazyload-994232a6.js → lazyload-43fd583a.js} +2 -2
  256. package/dist/esm/{lazyload-994232a6.js.map → lazyload-43fd583a.js.map} +1 -1
  257. package/dist/esm/loader.js +1 -1
  258. package/dist/esm/{modal-bd9638c0.js → modal-88c117cd.js} +2 -3
  259. package/dist/esm/modal-88c117cd.js.map +1 -0
  260. package/dist/esm/nano-accordion.entry.js +5 -2
  261. package/dist/esm/nano-accordion.entry.js.map +1 -1
  262. package/dist/esm/nano-alert.entry.js +3 -3
  263. package/dist/esm/nano-alert.entry.js.map +1 -1
  264. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  265. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  266. package/dist/esm/nano-algolia.entry.js +2 -2
  267. package/dist/esm/nano-algolia.entry.js.map +1 -1
  268. package/dist/esm/nano-checkbox-group.entry.js +12 -14
  269. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  270. package/dist/esm/nano-checkbox.entry.js +2 -2
  271. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  272. package/dist/esm/nano-components.js +1 -1
  273. package/dist/esm/nano-datalist_3.entry.js +16 -25
  274. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  275. package/dist/esm/nano-date-input.entry.js +4 -4
  276. package/dist/esm/nano-date-input.entry.js.map +1 -1
  277. package/dist/esm/nano-date-picker.entry.js +2 -2
  278. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  279. package/dist/esm/nano-demo.entry.js +8 -12
  280. package/dist/esm/nano-demo.entry.js.map +1 -1
  281. package/dist/esm/nano-details.entry.js +1 -1
  282. package/dist/esm/nano-dialog.entry.js +2 -2
  283. package/dist/esm/nano-drawer.entry.js +3 -3
  284. package/dist/esm/nano-drawer.entry.js.map +1 -1
  285. package/dist/esm/nano-dropdown.entry.js +6 -7
  286. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  287. package/dist/esm/nano-field-validator.entry.js +3 -6
  288. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  289. package/dist/esm/nano-file-upload.entry.js +2 -2
  290. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  291. package/dist/esm/nano-global-nav-user-profile_3.entry.js +101 -33
  292. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  293. package/dist/esm/nano-global-nav.entry.js +18 -24
  294. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  295. package/dist/esm/nano-icon-button_2.entry.js +2 -4
  296. package/dist/esm/nano-icon-button_2.entry.js.map +1 -1
  297. package/dist/esm/nano-icon.entry.js +7 -2
  298. package/dist/esm/nano-icon.entry.js.map +1 -1
  299. package/dist/esm/nano-input.entry.js +21 -7
  300. package/dist/esm/nano-input.entry.js.map +1 -1
  301. package/dist/esm/nano-range.entry.js +2 -2
  302. package/dist/esm/{nano-slides-9908c44d.js → nano-slides-4dab533a.js} +24 -23
  303. package/dist/esm/nano-slides-4dab533a.js.map +1 -0
  304. package/dist/esm/nano-slides.entry.js +1 -1
  305. package/dist/esm/nano-sortable.entry.js +7 -9
  306. package/dist/esm/nano-sortable.entry.js.map +1 -1
  307. package/dist/esm/nano-split-pane.entry.js +1 -1
  308. package/dist/esm/nano-tab-content.entry.js +1 -1
  309. package/dist/esm/nano-tab-content.entry.js.map +1 -1
  310. package/dist/esm/nano-tab-group.entry.js +6 -8
  311. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  312. package/dist/esm/{nano-table-392442e9.js → nano-table-7c8eb23e.js} +53 -53
  313. package/dist/esm/nano-table-7c8eb23e.js.map +1 -0
  314. package/dist/esm/nano-table.entry.js +1 -1
  315. package/dist/esm/{page-dots-467ace2e.js → page-dots-a055f884.js} +2 -2
  316. package/dist/esm/{page-dots-467ace2e.js.map → page-dots-a055f884.js.map} +1 -1
  317. package/dist/{nano-components/table.worker-f258383d.js → esm/table.worker-4aad752d.js} +1 -1
  318. package/dist/esm/{table.worker-6c661920.js → table.worker-bdb6a68c.js} +3 -3
  319. package/dist/esm/table.worker-bdb6a68c.js.map +1 -0
  320. package/dist/esm/{theme-82feb8cf.js → theme-931bd452.js} +7 -2
  321. package/dist/esm/theme-931bd452.js.map +1 -0
  322. package/dist/esm/{transitions-fb09eb32.js → transitions-bd15e312.js} +7 -2
  323. package/dist/esm/transitions-bd15e312.js.map +1 -0
  324. package/dist/nano-assets/hash.txt +1 -1
  325. package/dist/nano-assets/ont-logo-inverse.svg +47 -0
  326. package/dist/nano-components/assets/ont-logo-inverse.svg +47 -0
  327. package/dist/nano-components/component-store-486d9d7a.js +5 -0
  328. package/dist/nano-components/component-store-486d9d7a.js.map +1 -0
  329. package/dist/nano-components/drag-d948d158.js +5 -0
  330. package/dist/nano-components/{drag-1723a4cc.js.map → drag-d948d158.js.map} +1 -1
  331. package/dist/nano-components/{fade-1aa7a6db.js → fade-00c7c18e.js} +2 -2
  332. package/dist/nano-components/form-control-0bfcc7ea.js +5 -0
  333. package/dist/nano-components/form-control-0bfcc7ea.js.map +1 -0
  334. package/dist/nano-components/{fullscreen-86fa276a.js → fullscreen-09677a62.js} +2 -2
  335. package/dist/nano-components/{index-f626f476.js → index-dc076ea6.js} +2 -2
  336. package/dist/nano-components/index-dc076ea6.js.map +1 -0
  337. package/dist/nano-components/index.esm.js +1 -1
  338. package/dist/nano-components/index.esm.js.map +1 -1
  339. package/dist/nano-components/{lazyload-994232a6.js → lazyload-43fd583a.js} +2 -2
  340. package/dist/nano-components/{modal-bd9638c0.js → modal-88c117cd.js} +2 -2
  341. package/dist/nano-components/modal-88c117cd.js.map +1 -0
  342. package/dist/nano-components/nano-accordion.entry.js +1 -1
  343. package/dist/nano-components/nano-accordion.entry.js.map +1 -1
  344. package/dist/nano-components/nano-alert.entry.js +1 -1
  345. package/dist/nano-components/nano-alert.entry.js.map +1 -1
  346. package/dist/nano-components/nano-algolia-filter.entry.js +1 -1
  347. package/dist/nano-components/nano-algolia-filter.entry.js.map +1 -1
  348. package/dist/nano-components/nano-algolia.entry.js +1 -1
  349. package/dist/nano-components/nano-algolia.entry.js.map +1 -1
  350. package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
  351. package/dist/nano-components/nano-checkbox-group.entry.js.map +1 -1
  352. package/dist/nano-components/nano-checkbox.entry.js +1 -1
  353. package/dist/nano-components/nano-checkbox.entry.js.map +1 -1
  354. package/dist/nano-components/nano-components.css +1 -1
  355. package/dist/nano-components/nano-components.esm.js +1 -1
  356. package/dist/nano-components/nano-components.esm.js.map +1 -1
  357. package/dist/nano-components/nano-datalist_3.entry.js +1 -1
  358. package/dist/nano-components/nano-datalist_3.entry.js.map +1 -1
  359. package/dist/nano-components/nano-date-input.entry.js +1 -1
  360. package/dist/nano-components/nano-date-input.entry.js.map +1 -1
  361. package/dist/nano-components/nano-date-picker.entry.js +1 -1
  362. package/dist/nano-components/nano-date-picker.entry.js.map +1 -1
  363. package/dist/nano-components/nano-demo.entry.js +1 -1
  364. package/dist/nano-components/nano-demo.entry.js.map +1 -1
  365. package/dist/nano-components/nano-details.entry.js +1 -1
  366. package/dist/nano-components/nano-dialog.entry.js +1 -1
  367. package/dist/nano-components/nano-drawer.entry.js +1 -1
  368. package/dist/nano-components/nano-drawer.entry.js.map +1 -1
  369. package/dist/nano-components/nano-dropdown.entry.js +1 -1
  370. package/dist/nano-components/nano-dropdown.entry.js.map +1 -1
  371. package/dist/nano-components/nano-field-validator.entry.js +1 -1
  372. package/dist/nano-components/nano-field-validator.entry.js.map +1 -1
  373. package/dist/nano-components/nano-file-upload.entry.js +1 -1
  374. package/dist/nano-components/nano-file-upload.entry.js.map +1 -1
  375. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +1 -1
  376. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +1 -1
  377. package/dist/nano-components/nano-global-nav.entry.js +1 -1
  378. package/dist/nano-components/nano-global-nav.entry.js.map +1 -1
  379. package/dist/nano-components/nano-icon-button_2.entry.js +1 -1
  380. package/dist/nano-components/nano-icon-button_2.entry.js.map +1 -1
  381. package/dist/nano-components/nano-icon.entry.js +1 -1
  382. package/dist/nano-components/nano-icon.entry.js.map +1 -1
  383. package/dist/nano-components/nano-input.entry.js +1 -1
  384. package/dist/nano-components/nano-input.entry.js.map +1 -1
  385. package/dist/nano-components/nano-range.entry.js +1 -1
  386. package/dist/nano-components/nano-slides-4dab533a.js +20 -0
  387. package/dist/nano-components/nano-slides-4dab533a.js.map +1 -0
  388. package/dist/nano-components/nano-slides.entry.js +1 -1
  389. package/dist/nano-components/nano-sortable.entry.js +1 -1
  390. package/dist/nano-components/nano-sortable.entry.js.map +1 -1
  391. package/dist/nano-components/nano-split-pane.entry.js +1 -1
  392. package/dist/nano-components/nano-tab-content.entry.js +1 -1
  393. package/dist/nano-components/nano-tab-content.entry.js.map +1 -1
  394. package/dist/nano-components/nano-tab-group.entry.js +1 -1
  395. package/dist/nano-components/nano-tab-group.entry.js.map +1 -1
  396. package/dist/nano-components/nano-table-7c8eb23e.js +5 -0
  397. package/dist/nano-components/nano-table-7c8eb23e.js.map +1 -0
  398. package/dist/nano-components/nano-table.entry.js +1 -1
  399. package/dist/nano-components/{page-dots-467ace2e.js → page-dots-a055f884.js} +2 -2
  400. package/dist/{esm/table.worker-f258383d.js → nano-components/table.worker-4aad752d.js} +1 -1
  401. package/dist/nano-components/{table.worker-6c661920.js → table.worker-bdb6a68c.js} +2 -2
  402. package/dist/nano-components/theme-931bd452.js +5 -0
  403. package/dist/nano-components/{theme-82feb8cf.js.map → theme-931bd452.js.map} +1 -1
  404. package/dist/nano-components/transitions-bd15e312.js +5 -0
  405. package/dist/nano-components/transitions-bd15e312.js.map +1 -0
  406. package/dist/types/components/select/select.d.ts +18 -4
  407. package/dist/types/components/slides/slides.d.ts +0 -7
  408. package/dist/types/components.d.ts +22 -5
  409. package/docs-json.json +62 -22
  410. package/docs-vscode.json +5 -1
  411. package/hydrate/index.js +321 -243
  412. package/package.json +2 -2
  413. package/dist/cjs/component-store-149aeffe.js.map +0 -1
  414. package/dist/cjs/drag-777bd8dd.js.map +0 -1
  415. package/dist/cjs/form-control-cae1e493.js.map +0 -1
  416. package/dist/cjs/index-72ee0363.js.map +0 -1
  417. package/dist/cjs/modal-b9b40f6d.js.map +0 -1
  418. package/dist/cjs/nano-slides-2f3dcc02.js.map +0 -1
  419. package/dist/cjs/nano-table-d96f3eea.js.map +0 -1
  420. package/dist/cjs/table.worker-cedbf1a6.js.map +0 -1
  421. package/dist/cjs/theme-9cbe28c5.js.map +0 -1
  422. package/dist/cjs/transitions-cc18619c.js.map +0 -1
  423. package/dist/esm/component-store-f7eb0a56.js.map +0 -1
  424. package/dist/esm/drag-1723a4cc.js.map +0 -1
  425. package/dist/esm/form-control-8c2750f9.js.map +0 -1
  426. package/dist/esm/index-f626f476.js.map +0 -1
  427. package/dist/esm/modal-bd9638c0.js.map +0 -1
  428. package/dist/esm/nano-slides-9908c44d.js.map +0 -1
  429. package/dist/esm/nano-table-392442e9.js.map +0 -1
  430. package/dist/esm/table.worker-6c661920.js.map +0 -1
  431. package/dist/esm/theme-82feb8cf.js.map +0 -1
  432. package/dist/esm/transitions-fb09eb32.js.map +0 -1
  433. package/dist/nano-components/component-store-f7eb0a56.js +0 -5
  434. package/dist/nano-components/component-store-f7eb0a56.js.map +0 -1
  435. package/dist/nano-components/drag-1723a4cc.js +0 -5
  436. package/dist/nano-components/form-control-8c2750f9.js +0 -5
  437. package/dist/nano-components/form-control-8c2750f9.js.map +0 -1
  438. package/dist/nano-components/index-f626f476.js.map +0 -1
  439. package/dist/nano-components/modal-bd9638c0.js.map +0 -1
  440. package/dist/nano-components/nano-slides-9908c44d.js +0 -20
  441. package/dist/nano-components/nano-slides-9908c44d.js.map +0 -1
  442. package/dist/nano-components/nano-table-392442e9.js +0 -5
  443. package/dist/nano-components/nano-table-392442e9.js.map +0 -1
  444. package/dist/nano-components/theme-82feb8cf.js +0 -5
  445. package/dist/nano-components/transitions-fb09eb32.js +0 -5
  446. package/dist/nano-components/transitions-fb09eb32.js.map +0 -1
  447. /package/dist/nano-components/{fade-1aa7a6db.js.map → fade-00c7c18e.js.map} +0 -0
  448. /package/dist/nano-components/{fullscreen-86fa276a.js.map → fullscreen-09677a62.js.map} +0 -0
  449. /package/dist/nano-components/{lazyload-994232a6.js.map → lazyload-43fd583a.js.map} +0 -0
  450. /package/dist/nano-components/{page-dots-467ace2e.js.map → page-dots-a055f884.js.map} +0 -0
  451. /package/dist/nano-components/{table.worker-6c661920.js.map → table.worker-bdb6a68c.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Host,\n Prop,\n Element,\n h,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from '@stencil/core';\nimport {\n addDays,\n startOfWeek,\n endOfWeek,\n setMonth,\n setYear,\n dateClamp,\n inRange,\n endOfMonth,\n startOfMonth,\n printISODate,\n parseISODate,\n DaysOfWeek,\n} from '../../utils/date-utils';\n\nimport { focusVisible } from '../../utils/focus-visible';\nimport { createColorClasses } from '../../utils/theme';\nimport defaultLocalization from './duet-date-picker/date-localization';\nimport { DatePickerMonth } from './duet-date-picker/date-picker-month';\nimport type {\n PickerChangeEvent,\n DuetLocalizedText,\n DateDisabledPredicate,\n Color,\n} from '../../interface';\n\nfunction range(from: number, to: number) {\n const result: number[] = [];\n for (let i = from; i <= to; i++) {\n result.push(i);\n }\n return result;\n}\n\nlet dateIds = 0;\n\n/**\n * A highly performant, small and accessible date-picker.\n * Customised from [Duet date-picker](https://duetds.github.io/date-picker/).\n */\n@Component({\n tag: 'nano-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker implements ComponentInterface {\n private dateId = `nano-datepicker-${dateIds++}`;\n private monthSelectId = this.dateId + '-' + 'month';\n private yearSelectId = this.dateId + '-' + 'year';\n private dialogLabelId = this.dateId + '-' + 'dialog';\n\n private firstFocusableElement: HTMLElement;\n private monthSelectNode: HTMLElement;\n private yearSelectNode: HTMLElement;\n private focusedDayNode: HTMLButtonElement;\n\n private focusTimeoutId: ReturnType<typeof setTimeout>;\n\n private initialTouchX: number = null;\n private initialTouchY: number = null;\n\n @Element() host: HTMLNanoDatePickerElement;\n\n @State() activeFocus = false;\n @State() focusedDay = new Date();\n\n // Public Property API\n\n /** Selected Date. Must be in IS0-8601 format: YYYY-MM-DD. */\n @Prop({ mutable: true }) selectedDate: string = '';\n\n /** Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property. */\n @Prop() min: string = '';\n\n /** Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property. */\n @Prop() max: string = '';\n\n /** Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday. */\n @Prop() firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday;\n\n /** Button labels, day names, month names, etc, used for localization.\n * Default is English. */\n @Prop() localization: DuetLocalizedText = defaultLocalization;\n\n /** The color to use from the application's color palette. */\n @Prop() color?: Color;\n\n /**\n * Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends.\n * @returns `false` for not disabled and `true` for disabled\n */\n @Prop() isDateDisabled: DateDisabledPredicate = () => false;\n\n /** Controls whether the picker is a modal or dialog,\n * popup control and will therefore keep focus within the control */\n @Prop() isModal: boolean = false;\n\n /** @internal First focusable element. Relevant for keeping focus within the control */\n @Prop() firstFocusEle: HTMLElement;\n\n // Events\n\n /** Event emitted when a date is selected. */\n @Event() nanoDatePicked: EventEmitter<PickerChangeEvent>;\n\n // Public methods API\n\n /** Focus to the calendar\n * @param day - focus to the current selected day\n * @param forceFocusVisible - force visible focus - required if opened via keyboad\n */\n @Method()\n async setFocus(day = false, forceFocusVisible = false) {\n this.setFocusedDay(parseISODate(this.selectedDate) || new Date());\n\n if (day) {\n setTimeout((_) => this.focusedDayNode.focus(), 20);\n return;\n }\n clearTimeout(this.focusTimeoutId);\n this.focusTimeoutId = setTimeout(() => {\n if (forceFocusVisible) focusVisible.force(this.monthSelectNode);\n this.monthSelectNode.focus();\n }, 20);\n }\n\n @Watch('selectedDate')\n handleSelectedDateChange() {\n this.setFocus(true);\n }\n\n // Local methods.\n\n private enableActiveFocus = () => {\n this.activeFocus = true;\n };\n\n private disableActiveFocus = () => {\n this.activeFocus = false;\n };\n\n private addDays(days: number) {\n this.setFocusedDay(addDays(this.focusedDay, days));\n }\n\n private addMonths(months: number) {\n this.setMonth(this.focusedDay.getMonth() + months);\n }\n\n private addYears(years: number) {\n this.setYear(this.focusedDay.getFullYear() + years);\n }\n\n private startOfWeek() {\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek));\n }\n\n private endOfWeek() {\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek));\n }\n\n private setMonth(month: number) {\n const min = setMonth(startOfMonth(this.focusedDay), month);\n const max = endOfMonth(min);\n const date = setMonth(this.focusedDay, month);\n\n this.setFocusedDay(dateClamp(date, min, max));\n }\n\n private setYear(year: number) {\n const min = setYear(startOfMonth(this.focusedDay), year);\n const max = endOfMonth(min);\n const date = setYear(this.focusedDay, year);\n\n this.setFocusedDay(dateClamp(date, min, max));\n }\n\n private setFocusedDay(day: Date) {\n this.focusedDay = dateClamp(\n day,\n parseISODate(this.min),\n parseISODate(this.max)\n );\n }\n\n private handleTouchStart = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n this.initialTouchX = touch.pageX;\n this.initialTouchY = touch.pageY;\n };\n\n private handleTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n };\n\n private handleTouchEnd = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled\n const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled\n const threshold = 70;\n\n const isHorizontalSwipe =\n Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;\n\n if (isHorizontalSwipe) {\n this.addMonths(distX < 0 ? 1 : -1);\n }\n\n this.initialTouchY = null;\n this.initialTouchX = null;\n };\n\n private handleNextMonthClick = (event: MouseEvent) => {\n event.preventDefault();\n this.addMonths(1);\n };\n\n private handlePreviousMonthClick = (event: MouseEvent) => {\n event.preventDefault();\n this.addMonths(-1);\n };\n\n private handleKeyboardNavigation = (event: KeyboardEvent) => {\n // handle tab separately, since it needs to be treated\n // differently to other keyboard interactions\n if (event.key === 'Tab' && !event.shiftKey && this.isModal) {\n event.preventDefault();\n const ele = this.firstFocusEle || this.firstFocusableElement;\n ele.focus();\n return;\n }\n\n let handled = true;\n\n switch (event.key) {\n case 'ArrowRight':\n this.addDays(1);\n break;\n case 'ArrowLeft':\n this.addDays(-1);\n break;\n case 'ArrowDown':\n this.addDays(7);\n break;\n case 'ArrowUp':\n this.addDays(-7);\n break;\n case 'PageUp':\n if (event.shiftKey) {\n this.addYears(-1);\n } else {\n this.addMonths(-1);\n }\n break;\n case 'PageDown':\n if (event.shiftKey) {\n this.addYears(1);\n } else {\n this.addMonths(1);\n }\n break;\n case 'Home':\n this.startOfWeek();\n break;\n case 'End':\n this.endOfWeek();\n break;\n default:\n handled = false;\n }\n\n if (handled) {\n event.preventDefault();\n this.enableActiveFocus();\n }\n };\n\n private handleDaySelect = (_event: MouseEvent, day: Date) => {\n const isAllowed = !this.isDateDisabled(day);\n const isInRange = inRange(\n day,\n parseISODate(this.min),\n parseISODate(this.max)\n );\n\n if (!isInRange || !isAllowed) {\n return;\n }\n\n if (day.getMonth() === this.focusedDay.getMonth()) {\n this.setValue(day);\n } else {\n this.setFocusedDay(day);\n }\n };\n\n private handleMonthSelect = (e) => {\n this.setMonth(parseInt(e.target.value, 10));\n };\n\n private handleYearSelect = (e) => {\n this.setYear(parseInt(e.target.value, 10));\n };\n\n private setValue(date: Date) {\n this.selectedDate = printISODate(date);\n this.nanoDatePicked.emit({\n value: this.selectedDate,\n valueAsDate: date,\n });\n }\n\n private processFocusedDayNode = (element: HTMLButtonElement) => {\n this.focusedDayNode = element;\n\n if (this.activeFocus) {\n setTimeout(() => element.focus(), 0);\n }\n };\n\n connectedCallback() {\n if (this.yearSelectNode) focusVisible.observe(this.yearSelectNode);\n if (this.monthSelectNode) focusVisible.observe(this.monthSelectNode);\n }\n\n componentWillLoad() {\n this.handleSelectedDateChange();\n }\n\n componentDidLoad() {\n this.connectedCallback();\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.yearSelectNode);\n focusVisible.unobserve(this.monthSelectNode);\n }\n\n render() {\n const valueAsDate = parseISODate(this.selectedDate);\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear();\n const focusedMonth = this.focusedDay.getMonth();\n const focusedYear = this.focusedDay.getFullYear();\n\n const minDate = parseISODate(this.min);\n const maxDate = parseISODate(this.max);\n const prevMonthDisabled =\n minDate != null &&\n minDate.getMonth() === focusedMonth &&\n minDate.getFullYear() === focusedYear;\n const nextMonthDisabled =\n maxDate != null &&\n maxDate.getMonth() === focusedMonth &&\n maxDate.getFullYear() === focusedYear;\n\n let minYear = selectedYear - 10;\n let maxYear = selectedYear + 10;\n if (minDate) minYear = minDate.getFullYear();\n if (maxDate) maxYear = maxDate.getFullYear();\n\n return (\n <Host class={{ ...createColorClasses(this.color) }}>\n <div class=\"duet-date\">\n <div\n class={{\n 'duet-date__dialog': true,\n 'is-active': true,\n }}\n onTouchMove={this.handleTouchMove}\n onTouchStart={this.handleTouchStart}\n onTouchEnd={this.handleTouchEnd}\n >\n <div class=\"duet-date__dialog-content\">\n <div\n class=\"duet-date__vhidden duet-date__instructions\"\n aria-live=\"polite\"\n >\n {this.localization.keyboardInstruction}\n </div>\n {/**\n * With onFocusIn, which is what TS types expect, Stencil ends up listening to a\n * focusIn event, which is wrong as it needs to be focusin. So we had to use onFocusin\n * here which is wrong for the TS types, but ends up with the correct event listener\n * in Stencil. See issue: https://github.com/ionic-team/stencil/issues/2628\n */}\n {/* @ts-ignore */}\n <div\n class=\"duet-date__header\"\n onFocusin={this.disableActiveFocus}\n >\n <div>\n <h2\n id={this.dialogLabelId}\n class=\"duet-date__vhidden\"\n aria-live=\"polite\"\n >\n {this.localization.monthNames[focusedMonth]}{' '}\n {this.focusedDay.getFullYear()}\n </h2>\n <label\n htmlFor={this.monthSelectId}\n class=\"duet-date__vhidden\"\n >\n {this.localization.monthSelectLabel}\n </label>\n <div class=\"duet-date__select\">\n <select\n id={this.monthSelectId}\n class=\"duet-date__select--month\"\n ref={(element) =>\n (this.firstFocusableElement = this.monthSelectNode =\n element)\n }\n onChange={this.handleMonthSelect}\n >\n {this.localization.monthNames.map((month, i) => (\n <option\n key={month}\n value={i}\n selected={i === focusedMonth}\n disabled={\n !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n )\n }\n >\n {month}\n </option>\n ))}\n </select>\n <div class=\"duet-date__select-label\" aria-hidden=\"true\">\n <span>\n {this.localization.monthNamesShort[focusedMonth]}\n </span>\n <nano-icon name=\"light/chevron-down\"></nano-icon>\n </div>\n </div>\n\n <label htmlFor={this.yearSelectId} class=\"duet-date__vhidden\">\n {this.localization.yearSelectLabel}\n </label>\n <div class=\"duet-date__select\">\n <select\n id={this.yearSelectId}\n class=\"duet-date__select--year\"\n onChange={this.handleYearSelect}\n ref={(element) => (this.yearSelectNode = element)}\n >\n {range(minYear, maxYear).map((year) => (\n <option key={year} selected={year === focusedYear}>\n {year}\n </option>\n ))}\n </select>\n <div class=\"duet-date__select-label\" aria-hidden=\"true\">\n <span>{this.focusedDay.getFullYear()}</span>\n <nano-icon name=\"light/chevron-down\"></nano-icon>\n </div>\n </div>\n </div>\n\n <div class=\"duet-date__nav\">\n <button\n class=\"duet-date__prev\"\n onClick={this.handlePreviousMonthClick}\n disabled={prevMonthDisabled}\n type=\"button\"\n >\n <nano-icon name=\"light/chevron-left\"></nano-icon>\n <span class=\"duet-date__vhidden\">\n {this.localization.prevMonthLabel}\n </span>\n </button>\n <button\n class=\"duet-date__next\"\n onClick={this.handleNextMonthClick}\n disabled={nextMonthDisabled}\n type=\"button\"\n >\n <nano-icon name=\"light/chevron-right\"></nano-icon>\n <span class=\"duet-date__vhidden\">\n {this.localization.nextMonthLabel}\n </span>\n </button>\n </div>\n </div>\n <div>\n <DatePickerMonth\n selectedDate={valueAsDate}\n focusedDate={this.focusedDay}\n onDateSelect={this.handleDaySelect}\n onKeyboardNavigation={this.handleKeyboardNavigation}\n labelledById={this.dialogLabelId}\n localization={this.localization}\n firstDayOfWeek={this.firstDayOfWeek}\n focusedDayRef={this.processFocusedDayNode}\n min={minDate}\n max={maxDate}\n isDateDisabled={this.isDateDisabled}\n />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Host,\n Prop,\n Element,\n h,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from '@stencil/core';\nimport {\n addDays,\n startOfWeek,\n endOfWeek,\n setMonth,\n setYear,\n dateClamp,\n inRange,\n endOfMonth,\n startOfMonth,\n printISODate,\n parseISODate,\n DaysOfWeek,\n} from '../../utils/date-utils';\n\nimport { focusVisible } from '../../utils/focus-visible';\nimport { createColorClasses } from '../../utils/theme';\nimport defaultLocalization from './duet-date-picker/date-localization';\nimport { DatePickerMonth } from './duet-date-picker/date-picker-month';\nimport type {\n PickerChangeEvent,\n DuetLocalizedText,\n DateDisabledPredicate,\n Color,\n} from '../../interface';\n\nfunction range(from: number, to: number) {\n const result: number[] = [];\n for (let i = from; i <= to; i++) {\n result.push(i);\n }\n return result;\n}\n\nlet dateIds = 0;\n\n/**\n * A highly performant, small and accessible date-picker.\n * Customised from [Duet date-picker](https://duetds.github.io/date-picker/).\n */\n@Component({\n tag: 'nano-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker implements ComponentInterface {\n private dateId = `nano-datepicker-${dateIds++}`;\n private monthSelectId = this.dateId + '-' + 'month';\n private yearSelectId = this.dateId + '-' + 'year';\n private dialogLabelId = this.dateId + '-' + 'dialog';\n\n private firstFocusableElement: HTMLElement;\n private monthSelectNode: HTMLElement;\n private yearSelectNode: HTMLElement;\n private focusedDayNode: HTMLButtonElement;\n\n private focusTimeoutId: ReturnType<typeof setTimeout>;\n\n private initialTouchX: number = null;\n private initialTouchY: number = null;\n\n @Element() host: HTMLNanoDatePickerElement;\n\n @State() activeFocus = false;\n @State() focusedDay = new Date();\n\n // Public Property API\n\n /** Selected Date. Must be in IS0-8601 format: YYYY-MM-DD. */\n @Prop({ mutable: true }) selectedDate: string = '';\n\n /** Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property. */\n @Prop() min: string = '';\n\n /** Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property. */\n @Prop() max: string = '';\n\n /** Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday. */\n @Prop() firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday;\n\n /** Button labels, day names, month names, etc, used for localization.\n * Default is English. */\n @Prop() localization: DuetLocalizedText = defaultLocalization;\n\n /** The color to use from the application's color palette. */\n @Prop() color?: Color;\n\n /**\n * Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends.\n * @returns `false` for not disabled and `true` for disabled\n */\n @Prop() isDateDisabled: DateDisabledPredicate = () => false;\n\n /** Controls whether the picker is a modal or dialog,\n * popup control and will therefore keep focus within the control */\n @Prop() isModal: boolean = false;\n\n /** @internal First focusable element. Relevant for keeping focus within the control */\n @Prop() firstFocusEle: HTMLElement;\n\n // Events\n\n /** Event emitted when a date is selected. */\n @Event() nanoDatePicked: EventEmitter<PickerChangeEvent>;\n\n // Public methods API\n\n /** Focus to the calendar\n * @param day - focus to the current selected day\n * @param forceFocusVisible - force visible focus - required if opened via keyboad\n */\n @Method()\n async setFocus(day = false, forceFocusVisible = false) {\n this.setFocusedDay(parseISODate(this.selectedDate) || new Date());\n\n if (day) {\n setTimeout((_) => this.focusedDayNode.focus(), 20);\n return;\n }\n clearTimeout(this.focusTimeoutId);\n this.focusTimeoutId = setTimeout(() => {\n if (forceFocusVisible) focusVisible.force(this.monthSelectNode);\n this.monthSelectNode.focus();\n }, 20);\n }\n\n @Watch('selectedDate')\n handleSelectedDateChange() {\n this.setFocus(true);\n }\n\n // Local methods.\n\n private enableActiveFocus = () => {\n this.activeFocus = true;\n };\n\n private disableActiveFocus = () => {\n this.activeFocus = false;\n };\n\n private addDays(days: number) {\n this.setFocusedDay(addDays(this.focusedDay, days));\n }\n\n private addMonths(months: number) {\n this.setMonth(this.focusedDay.getMonth() + months);\n }\n\n private addYears(years: number) {\n this.setYear(this.focusedDay.getFullYear() + years);\n }\n\n private startOfWeek() {\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek));\n }\n\n private endOfWeek() {\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek));\n }\n\n private setMonth(month: number) {\n const min = setMonth(startOfMonth(this.focusedDay), month);\n const max = endOfMonth(min);\n const date = setMonth(this.focusedDay, month);\n\n this.setFocusedDay(dateClamp(date, min, max));\n }\n\n private setYear(year: number) {\n const min = setYear(startOfMonth(this.focusedDay), year);\n const max = endOfMonth(min);\n const date = setYear(this.focusedDay, year);\n\n this.setFocusedDay(dateClamp(date, min, max));\n }\n\n private setFocusedDay(day: Date) {\n this.focusedDay = dateClamp(\n day,\n parseISODate(this.min),\n parseISODate(this.max)\n );\n }\n\n private handleTouchStart = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n this.initialTouchX = touch.pageX;\n this.initialTouchY = touch.pageY;\n };\n\n private handleTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n };\n\n private handleTouchEnd = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled\n const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled\n const threshold = 70;\n\n const isHorizontalSwipe =\n Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;\n\n if (isHorizontalSwipe) {\n this.addMonths(distX < 0 ? 1 : -1);\n }\n\n this.initialTouchY = null;\n this.initialTouchX = null;\n };\n\n private handleNextMonthClick = (event: MouseEvent) => {\n event.preventDefault();\n this.addMonths(1);\n };\n\n private handlePreviousMonthClick = (event: MouseEvent) => {\n event.preventDefault();\n this.addMonths(-1);\n };\n\n private handleKeyboardNavigation = (event: KeyboardEvent) => {\n // handle tab separately, since it needs to be treated\n // differently to other keyboard interactions\n if (event.key === 'Tab' && !event.shiftKey && this.isModal) {\n event.preventDefault();\n const ele = this.firstFocusEle || this.firstFocusableElement;\n ele.focus();\n return;\n }\n\n let handled = true;\n\n switch (event.key) {\n case 'ArrowRight':\n this.addDays(1);\n break;\n case 'ArrowLeft':\n this.addDays(-1);\n break;\n case 'ArrowDown':\n this.addDays(7);\n break;\n case 'ArrowUp':\n this.addDays(-7);\n break;\n case 'PageUp':\n if (event.shiftKey) {\n this.addYears(-1);\n } else {\n this.addMonths(-1);\n }\n break;\n case 'PageDown':\n if (event.shiftKey) {\n this.addYears(1);\n } else {\n this.addMonths(1);\n }\n break;\n case 'Home':\n this.startOfWeek();\n break;\n case 'End':\n this.endOfWeek();\n break;\n default:\n handled = false;\n }\n\n if (handled) {\n event.preventDefault();\n this.enableActiveFocus();\n }\n };\n\n private handleDaySelect = (_event: MouseEvent, day: Date) => {\n const isAllowed = !this.isDateDisabled(day);\n const isInRange = inRange(\n day,\n parseISODate(this.min),\n parseISODate(this.max)\n );\n\n if (!isInRange || !isAllowed) {\n return;\n }\n\n if (day.getMonth() === this.focusedDay.getMonth()) {\n this.setValue(day);\n } else {\n this.setFocusedDay(day);\n }\n };\n\n private handleMonthSelect = (e) => {\n this.setMonth(parseInt(e.target.value, 10));\n };\n\n private handleYearSelect = (e) => {\n this.setYear(parseInt(e.target.value, 10));\n };\n\n private setValue(date: Date) {\n this.selectedDate = printISODate(date);\n this.nanoDatePicked.emit({\n value: this.selectedDate,\n valueAsDate: date,\n });\n }\n\n private processFocusedDayNode = (element: HTMLButtonElement) => {\n this.focusedDayNode = element;\n\n if (this.activeFocus) {\n setTimeout(() => element.focus(), 0);\n }\n };\n\n connectedCallback() {\n if (this.yearSelectNode) focusVisible.observe(this.yearSelectNode);\n if (this.monthSelectNode) focusVisible.observe(this.monthSelectNode);\n }\n\n componentWillLoad() {\n this.handleSelectedDateChange();\n }\n\n componentDidLoad() {\n this.connectedCallback();\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.yearSelectNode);\n focusVisible.unobserve(this.monthSelectNode);\n }\n\n render() {\n const valueAsDate = parseISODate(this.selectedDate);\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear();\n const focusedMonth = this.focusedDay.getMonth();\n const focusedYear = this.focusedDay.getFullYear();\n\n const minDate = parseISODate(this.min);\n const maxDate = parseISODate(this.max);\n const prevMonthDisabled =\n minDate != null &&\n minDate.getMonth() === focusedMonth &&\n minDate.getFullYear() === focusedYear;\n const nextMonthDisabled =\n maxDate != null &&\n maxDate.getMonth() === focusedMonth &&\n maxDate.getFullYear() === focusedYear;\n\n let minYear = selectedYear - 10;\n let maxYear = selectedYear + 10;\n if (minDate) minYear = minDate.getFullYear();\n if (maxDate) maxYear = maxDate.getFullYear();\n\n return (\n <Host class={{ ...createColorClasses(this.color) }}>\n <div class=\"duet-date\">\n <div\n class={{\n 'duet-date__dialog': true,\n 'is-active': true,\n }}\n onTouchMove={this.handleTouchMove}\n onTouchStart={this.handleTouchStart}\n onTouchEnd={this.handleTouchEnd}\n >\n <div class=\"duet-date__dialog-content\">\n <div\n class=\"duet-date__vhidden duet-date__instructions\"\n aria-live=\"polite\"\n >\n {this.localization.keyboardInstruction}\n </div>\n {/**\n * With onFocusIn, which is what TS types expect, Stencil ends up listening to a\n * focusIn event, which is wrong as it needs to be focusin. So we had to use onFocusin\n * here which is wrong for the TS types, but ends up with the correct event listener\n * in Stencil. See issue: https://github.com/ionic-team/stencil/issues/2628\n */}\n {/* @ts-ignore */}\n <div\n class=\"duet-date__header\"\n onFocusin={this.disableActiveFocus}\n >\n <div>\n <h2\n id={this.dialogLabelId}\n class=\"duet-date__vhidden\"\n aria-live=\"polite\"\n >\n {this.localization.monthNames[focusedMonth]}{' '}\n {this.focusedDay.getFullYear()}\n </h2>\n <label\n htmlFor={this.monthSelectId}\n class=\"duet-date__vhidden\"\n >\n {this.localization.monthSelectLabel}\n </label>\n <div class=\"duet-date__select\">\n <select\n id={this.monthSelectId}\n class=\"duet-date__select--month\"\n ref={(element) =>\n (this.firstFocusableElement = this.monthSelectNode =\n element)\n }\n onChange={this.handleMonthSelect}\n >\n {this.localization.monthNames.map((month, i) => (\n <option\n key={month}\n value={i}\n selected={i === focusedMonth}\n disabled={\n !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n )\n }\n >\n {month}\n </option>\n ))}\n </select>\n <div class=\"duet-date__select-label\" aria-hidden=\"true\">\n <span>\n {this.localization.monthNamesShort[focusedMonth]}\n </span>\n <nano-icon name=\"light/chevron-down\"></nano-icon>\n </div>\n </div>\n\n <label htmlFor={this.yearSelectId} class=\"duet-date__vhidden\">\n {this.localization.yearSelectLabel}\n </label>\n <div class=\"duet-date__select\">\n <select\n id={this.yearSelectId}\n class=\"duet-date__select--year\"\n onChange={this.handleYearSelect}\n ref={(element) => (this.yearSelectNode = element)}\n >\n {range(minYear, maxYear).map((year) => (\n <option key={year} selected={year === focusedYear}>\n {year}\n </option>\n ))}\n </select>\n <div class=\"duet-date__select-label\" aria-hidden=\"true\">\n <span>{this.focusedDay.getFullYear()}</span>\n <nano-icon name=\"light/chevron-down\"></nano-icon>\n </div>\n </div>\n </div>\n\n <div class=\"duet-date__nav\">\n <button\n class=\"duet-date__prev\"\n onClick={this.handlePreviousMonthClick}\n disabled={prevMonthDisabled}\n type=\"button\"\n >\n <nano-icon name=\"light/chevron-left\"></nano-icon>\n <span class=\"duet-date__vhidden\">\n {this.localization.prevMonthLabel}\n </span>\n </button>\n <button\n class=\"duet-date__next\"\n onClick={this.handleNextMonthClick}\n disabled={nextMonthDisabled}\n type=\"button\"\n >\n <nano-icon name=\"light/chevron-right\"></nano-icon>\n <span class=\"duet-date__vhidden\">\n {this.localization.nextMonthLabel}\n </span>\n </button>\n </div>\n </div>\n <div>\n <DatePickerMonth\n selectedDate={valueAsDate}\n focusedDate={this.focusedDay}\n onDateSelect={this.handleDaySelect}\n onKeyboardNavigation={this.handleKeyboardNavigation}\n labelledById={this.dialogLabelId}\n localization={this.localization}\n firstDayOfWeek={this.firstDayOfWeek}\n focusedDayRef={this.processFocusedDayNode}\n min={minDate}\n max={maxDate}\n isDateDisabled={this.isDateDisabled}\n />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -17,7 +17,7 @@ function mediumDate(date) {
17
17
  });
18
18
  }
19
19
  function currency(amount = 0, currencyCode = 'USD') {
20
- currencyCode = (currencyCode === null || currencyCode === void 0 ? void 0 : currencyCode.toLocaleUpperCase()) || 'USD';
20
+ currencyCode = currencyCode?.toLocaleUpperCase() || 'USD';
21
21
  return new Intl.NumberFormat('en-US', {
22
22
  style: 'currency',
23
23
  currency: currencyCode,
@@ -253,8 +253,7 @@ export class Demo {
253
253
  ];
254
254
  }
255
255
  lineItemTotal(order) {
256
- var _a;
257
- if (!order || !((_a = order.shopOrderLines) === null || _a === void 0 ? void 0 : _a.length))
256
+ if (!order || !order.shopOrderLines?.length)
258
257
  return;
259
258
  let total = 0;
260
259
  order.shopOrderLines.forEach((itm) => {
@@ -265,15 +264,12 @@ export class Demo {
265
264
  }
266
265
  render() {
267
266
  return (h(Host, null, h("nano-table", { rowRender: {
268
- template: (_, c, TableCell) => {
269
- var _a, _b;
270
- return [
271
- c.renderedRow,
272
- ((_a = c.rowModel.includedItems) === null || _a === void 0 ? void 0 : _a.length) ? ((_b = c.rowModel.includedItems) === null || _b === void 0 ? void 0 : _b.map((item) => {
273
- return (h("tr", { class: "child-row" }, h(TableCell, { header: true }, item.name), h(TableCell, null, capitalise(c.rowModel.status || this.order.status)), h(TableCell, null, capitalise(item.sku)), h(TableCell, null, capitalise(item.salesTag)), h(TableCell, null, mediumDate(item.requestedShippingDate))));
274
- })) : (h(Fragment, null)),
275
- ].flat(1);
276
- },
267
+ template: (_, c, TableCell) => [
268
+ c.renderedRow,
269
+ c.rowModel.includedItems?.length ? (c.rowModel.includedItems?.map((item) => {
270
+ return (h("tr", { class: "child-row" }, h(TableCell, { header: true }, item.name), h(TableCell, null, capitalise(c.rowModel.status || this.order.status)), h(TableCell, null, capitalise(item.sku)), h(TableCell, null, capitalise(item.salesTag)), h(TableCell, null, mediumDate(item.requestedShippingDate))));
271
+ })) : (h(Fragment, null)),
272
+ ].flat(1),
277
273
  }, columns: this.columns, rows: this.order.shopOrderLines, caption: `List of order line items found within order ${this.order.orderId}`, showFooter: true, footRender: {
278
274
  pinned: 'bottom',
279
275
  template: () => [
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../../src/components/demo/demo.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Fragment,\n h,\n Host,\n} from '@stencil/core';\nimport { TableTypes } from '../table/table-interface';\n\ndeclare module namespace {\n export interface AccountInfo {\n name: string;\n email: string;\n address_line_1: string;\n address_line_2: string;\n address_postcode: string;\n address_city: string;\n address_region: string;\n address_country: string;\n }\n\n export interface Table {\n names: any[];\n addresses: any[];\n match: boolean;\n false_positive?: any;\n }\n\n export interface IndividualNameComplianceInformation {\n table: Table;\n }\n\n export interface Table2 {\n names: any[];\n addresses: any[];\n match: boolean;\n false_positive?: any;\n }\n\n export interface OrganizationComplianceInformation {\n table: Table2;\n }\n\n export interface Check2 {\n label: string;\n external_id: string;\n item_type: string;\n answer: string;\n }\n\n export interface Check {\n name: string;\n external_id: string;\n status: string;\n account_info: AccountInfo;\n individual_name_compliance_information: IndividualNameComplianceInformation;\n organization_compliance_information: OrganizationComplianceInformation;\n checks: Check2[];\n further_information: any[];\n attachments: any[];\n notes: any[];\n }\n\n export interface DeliveryAddress {\n street: string[];\n city: string;\n postcode: string;\n region: string;\n regionCode: string;\n countryCode: string;\n }\n\n export interface InvoiceAddress {\n street: string[];\n city: string;\n postcode: string;\n region: string;\n regionCode: string;\n countryCode: string;\n }\n\n export interface IncludedItem {\n name: string;\n sku: string;\n quantity: number;\n price: number;\n total: number;\n createdAt: string;\n updatedAt: string;\n maskSku: string;\n productType: string;\n salesTag: string;\n requestedShippingDate: string;\n discount: number;\n discountPercentage: number;\n }\n\n export interface ShopOrderLine {\n name: string;\n sku: string;\n quantity: number;\n price: number;\n total: number;\n createdAt: string;\n updatedAt: string;\n maskSku: string;\n productType: string;\n salesTag: string;\n requestedShippingDate?: string;\n discount: number;\n discountPercentage: number;\n includedItems?: IncludedItem[];\n finalSku: string;\n }\n\n export interface RootObject {\n checks: Check[];\n orderId: string;\n createdAt: string;\n updatedAt: string;\n status: string;\n subStatus?: any;\n currency: string;\n customerPaymentMethod: string;\n paymentPlatform: string;\n dataAreaId: string;\n defaultShippingWarehouse?: any;\n deliveryContact: string;\n deliveryMode?: any;\n deliveryName: string;\n deliveryTerms?: any;\n invoiceAccountNumber: string;\n orderAccountNumber: string;\n orderAccountName: string;\n originalLeadTime?: any;\n salesDate: string;\n salesName: string;\n salesOrigin: string;\n salesOriginName: string;\n customerReference: string;\n purchaseOrder?: any;\n additionalDocuments: any[];\n total: number;\n shippingAmount: number;\n taxAmount: number;\n projectId?: any;\n deliveryPhoneNumber: string;\n invoicePhoneNumber: string;\n quoteNumber?: any;\n customerType: string;\n invoiceAccountEmail: string;\n partnerReference?: any;\n sentToD365: boolean;\n sentToD365Status: string;\n orderAccountEmail: string;\n controllingAccountNumber: string;\n controllingAccountEmail: string;\n deliveryAddress: DeliveryAddress;\n invoiceAddress: InvoiceAddress;\n shopOrderLines: ShopOrderLine[];\n orderLines: any[];\n pickedItems: any[];\n packedItems: any[];\n trackingNumbers: any[];\n trackingUpdates: any[];\n ecoOrder: boolean;\n revenueOrder: boolean;\n }\n}\n\nfunction capitalise(value: string) {\n if (!value) return '';\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction mediumDate(date: Date) {\n if (!date) return undefined;\n return new Date(date).toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n}\n\nfunction currency(amount: number = 0, currencyCode: string = 'USD') {\n currencyCode = currencyCode?.toLocaleUpperCase() || 'USD';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencyCode,\n }).format(amount);\n}\n\n@Component({\n tag: 'nano-demo',\n shadow: true,\n styles: /* css */ `\n :host {display: block}\n .child-row {\n opacity: .8;\n font-style: italic;\n }\n `,\n})\nexport class Demo implements ComponentInterface {\n private order: namespace.RootObject = {\n checks: [\n {\n name: 'Compliance',\n external_id: 'CO',\n status: 'complete',\n account_info: {\n name: 'Jeongmin Song',\n email: 'js2957@cornell.edu',\n address_line_1: '930 Campus Road',\n address_line_2: 'Veterinary Medical Center C4 109',\n address_postcode: '14853',\n address_city: 'Ithaca',\n address_region: 'New York',\n address_country: 'US',\n },\n individual_name_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n organization_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n checks: [\n {\n label: 'Compliance check',\n external_id: 'compliance_check',\n item_type: 'pass/fail/escalate',\n answer: 'pass',\n },\n ],\n further_information: [],\n attachments: [],\n notes: [],\n },\n ],\n orderId: '00886434',\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T16:02:29',\n status: 'Processing',\n subStatus: null,\n currency: 'USD',\n customerPaymentMethod: 'CC-USD',\n paymentPlatform: 'Shop',\n dataAreaId: 'OXUS',\n defaultShippingWarehouse: null,\n deliveryContact: 'Jeongmin Song',\n deliveryMode: null,\n deliveryName: 'Cornell University',\n deliveryTerms: null,\n invoiceAccountNumber: 'C038330',\n orderAccountNumber: 'C038330',\n orderAccountName: 'Cornell University',\n originalLeadTime: null,\n salesDate: '2022-12-09T15:57:50',\n salesName: 'Cornell University',\n salesOrigin: 'Shop',\n salesOriginName: 'Main USD Store View',\n customerReference: '',\n purchaseOrder: null,\n additionalDocuments: [],\n total: 860,\n shippingAmount: 50,\n taxAmount: 0,\n projectId: null,\n deliveryPhoneNumber: '+16072533722',\n invoicePhoneNumber: '+16072533722',\n quoteNumber: null,\n customerType: 'N/A',\n invoiceAccountEmail: 'js2957@cornell.edu',\n partnerReference: null,\n sentToD365: false,\n sentToD365Status: 'unsent',\n orderAccountEmail: 'js2957@cornell.edu',\n controllingAccountNumber: 'C038330',\n controllingAccountEmail: 'js2957@cornell.edu',\n deliveryAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n invoiceAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n shopOrderLines: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001',\n quantity: 1,\n price: 810,\n total: 810,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'bundle',\n salesTag: 'FLGExpSP',\n requestedShippingDate: null,\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n includedItems: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001D',\n quantity: 12,\n price: 66,\n total: 792,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n {\n name: 'Flongle Flow Cell Priming Kit',\n sku: 'EXP-FSE001',\n quantity: 1,\n price: 18,\n total: 18,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n ],\n },\n {\n name: 'Carriage - Device shipment',\n sku: 'FREIGHT',\n quantity: 1,\n price: 50,\n total: 50,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'virtual',\n salesTag: null,\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n },\n ],\n orderLines: [],\n pickedItems: [],\n packedItems: [],\n trackingNumbers: [],\n trackingUpdates: [],\n ecoOrder: false,\n revenueOrder: false,\n };\n\n private lineItemTotal(order) {\n if (!order || !order.shopOrderLines?.length) return;\n let total = 0;\n order.shopOrderLines.forEach((itm) => {\n if (itm.status !== 'cancelled') total += itm.total;\n });\n return total;\n }\n\n private columns: TableTypes.NanoTable<namespace.ShopOrderLine>['columns'] = [\n {\n title: 'Name',\n prop: 'name',\n pinned: 'start',\n rowHeader: true,\n autoTooltip: true,\n },\n {\n title: 'Status',\n prop: 'sku',\n cellTemplate: (_, c) => capitalise(c.cellModel || this.order.status),\n },\n {\n title: 'SKU',\n prop: 'finalSku',\n },\n {\n title: 'Sales tag',\n prop: 'salesTag',\n cellTemplate: (_, c) => c.cellModel || 'None',\n },\n {\n title: 'Requested ship date',\n prop: 'requestedShippingDate',\n cellTemplate: (_, c) => mediumDate(c.cellModel) || 'N/A',\n },\n {\n title: 'Quantity',\n prop: 'quantity',\n },\n {\n title: 'Unit price',\n prop: 'price',\n cellTemplate: (_, c) => currency(c.cellModel, this.order.currency),\n },\n {\n title: 'Discount %',\n prop: 'discountPercentage',\n cellTemplate: (_, c) => c.cellModel || 0,\n },\n {\n title: 'Line value',\n prop: 'total',\n cellTemplate: (_, c) => currency(c.cellModel, this.order.currency),\n },\n ];\n\n render() {\n return (\n <Host>\n <nano-table\n rowRender={{\n template: (_, c, TableCell) =>\n [\n c.renderedRow,\n c.rowModel.includedItems?.length ? (\n c.rowModel.includedItems?.map((item) => {\n return (\n <tr class=\"child-row\">\n <TableCell header={true}>{item.name}</TableCell>\n <TableCell>\n {capitalise(c.rowModel.status || this.order.status)}\n </TableCell>\n <TableCell>{capitalise(item.sku)}</TableCell>\n <TableCell>{capitalise(item.salesTag)}</TableCell>\n <TableCell>\n {mediumDate(item.requestedShippingDate)}\n </TableCell>\n </tr>\n );\n })\n ) : (\n <Fragment />\n ),\n ].flat(1),\n }}\n columns={this.columns}\n rows={this.order.shopOrderLines}\n caption={`List of order line items found within order ${this.order.orderId}`}\n showFooter={true}\n footRender={{\n pinned: 'bottom',\n template: () => [\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">Sub total:</span>\n <span class=\"order-lines__total--num\">\n {currency(\n this.lineItemTotal(this.order),\n this.order.currency\n )}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total order tax:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.taxAmount, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total on order placement:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.total, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n ],\n }}\n />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../../src/components/demo/demo.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,QAAQ,EACR,CAAC,EACD,IAAI,GACL,MAAM,eAAe,CAAC;AAoKvB,SAAS,UAAU,CAAC,KAAa;EAC/B,IAAI,CAAC,KAAK;IAAE,OAAO,EAAE,CAAC;EACtB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;EAC5B,IAAI,CAAC,IAAI;IAAE,OAAO,SAAS,CAAC;EAC5B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IAClD,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,SAAS;GACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,SAAiB,CAAC,EAAE,eAAuB,KAAK;EAChE,YAAY,GAAG,YAAY,EAAE,iBAAiB,EAAE,IAAI,KAAK,CAAC;EAC1D,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;IACpC,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,YAAY;GACvB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAaD,MAAM,OAAO,IAAI;EAXjB;IAYU,UAAK,GAAyB;MACpC,MAAM,EAAE;QACN;UACE,IAAI,EAAE,YAAY;UAClB,WAAW,EAAE,IAAI;UACjB,MAAM,EAAE,UAAU;UAClB,YAAY,EAAE;YACZ,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,oBAAoB;YAC3B,cAAc,EAAE,iBAAiB;YACjC,cAAc,EAAE,kCAAkC;YAClD,gBAAgB,EAAE,OAAO;YACzB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,UAAU;YAC1B,eAAe,EAAE,IAAI;WACtB;UACD,sCAAsC,EAAE;YACtC,KAAK,EAAE;cACL,KAAK,EAAE,EAAE;cACT,SAAS,EAAE,EAAE;cACb,KAAK,EAAE,KAAK;cACZ,cAAc,EAAE,IAAI;aACrB;WACF;UACD,mCAAmC,EAAE;YACnC,KAAK,EAAE;cACL,KAAK,EAAE,EAAE;cACT,SAAS,EAAE,EAAE;cACb,KAAK,EAAE,KAAK;cACZ,cAAc,EAAE,IAAI;aACrB;WACF;UACD,MAAM,EAAE;YACN;cACE,KAAK,EAAE,kBAAkB;cACzB,WAAW,EAAE,kBAAkB;cAC/B,SAAS,EAAE,oBAAoB;cAC/B,MAAM,EAAE,MAAM;aACf;WACF;UACD,mBAAmB,EAAE,EAAE;UACvB,WAAW,EAAE,EAAE;UACf,KAAK,EAAE,EAAE;SACV;OACF;MACD,OAAO,EAAE,UAAU;MACnB,SAAS,EAAE,qBAAqB;MAChC,SAAS,EAAE,qBAAqB;MAChC,MAAM,EAAE,YAAY;MACpB,SAAS,EAAE,IAAI;MACf,QAAQ,EAAE,KAAK;MACf,qBAAqB,EAAE,QAAQ;MAC/B,eAAe,EAAE,MAAM;MACvB,UAAU,EAAE,MAAM;MAClB,wBAAwB,EAAE,IAAI;MAC9B,eAAe,EAAE,eAAe;MAChC,YAAY,EAAE,IAAI;MAClB,YAAY,EAAE,oBAAoB;MAClC,aAAa,EAAE,IAAI;MACnB,oBAAoB,EAAE,SAAS;MAC/B,kBAAkB,EAAE,SAAS;MAC7B,gBAAgB,EAAE,oBAAoB;MACtC,gBAAgB,EAAE,IAAI;MACtB,SAAS,EAAE,qBAAqB;MAChC,SAAS,EAAE,oBAAoB;MAC/B,WAAW,EAAE,MAAM;MACnB,eAAe,EAAE,qBAAqB;MACtC,iBAAiB,EAAE,EAAE;MACrB,aAAa,EAAE,IAAI;MACnB,mBAAmB,EAAE,EAAE;MACvB,KAAK,EAAE,GAAG;MACV,cAAc,EAAE,EAAE;MAClB,SAAS,EAAE,CAAC;MACZ,SAAS,EAAE,IAAI;MACf,mBAAmB,EAAE,cAAc;MACnC,kBAAkB,EAAE,cAAc;MAClC,WAAW,EAAE,IAAI;MACjB,YAAY,EAAE,KAAK;MACnB,mBAAmB,EAAE,oBAAoB;MACzC,gBAAgB,EAAE,IAAI;MACtB,UAAU,EAAE,KAAK;MACjB,gBAAgB,EAAE,QAAQ;MAC1B,iBAAiB,EAAE,oBAAoB;MACvC,wBAAwB,EAAE,SAAS;MACnC,uBAAuB,EAAE,oBAAoB;MAC7C,eAAe,EAAE;QACf,MAAM,EAAE,CAAC,mDAAmD,CAAC;QAC7D,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;OAClB;MACD,cAAc,EAAE;QACd,MAAM,EAAE,CAAC,mDAAmD,CAAC;QAC7D,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;OAClB;MACD,cAAc,EAAE;QACd;UACE,IAAI,EAAE,4BAA4B;UAClC,GAAG,EAAE,YAAY;UACjB,QAAQ,EAAE,CAAC;UACX,KAAK,EAAE,GAAG;UACV,KAAK,EAAE,GAAG;UACV,SAAS,EAAE,qBAAqB;UAChC,SAAS,EAAE,qBAAqB;UAChC,OAAO,EAAE,YAAY;UACrB,WAAW,EAAE,QAAQ;UACrB,QAAQ,EAAE,UAAU;UACpB,qBAAqB,EAAE,IAAI;UAC3B,QAAQ,EAAE,CAAC;UACX,kBAAkB,EAAE,CAAC;UACrB,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;UAClC,CAAC;UACD,aAAa,EAAE;YACb;cACE,IAAI,EAAE,4BAA4B;cAClC,GAAG,EAAE,aAAa;cAClB,QAAQ,EAAE,EAAE;cACZ,KAAK,EAAE,EAAE;cACT,KAAK,EAAE,GAAG;cACV,SAAS,EAAE,qBAAqB;cAChC,SAAS,EAAE,qBAAqB;cAChC,OAAO,EAAE,YAAY;cACrB,WAAW,EAAE,QAAQ;cACrB,QAAQ,EAAE,UAAU;cACpB,qBAAqB,EAAE,qBAAqB;cAC5C,QAAQ,EAAE,CAAC;cACX,kBAAkB,EAAE,CAAC;aACtB;YACD;cACE,IAAI,EAAE,+BAA+B;cACrC,GAAG,EAAE,YAAY;cACjB,QAAQ,EAAE,CAAC;cACX,KAAK,EAAE,EAAE;cACT,KAAK,EAAE,EAAE;cACT,SAAS,EAAE,qBAAqB;cAChC,SAAS,EAAE,qBAAqB;cAChC,OAAO,EAAE,EAAE;cACX,WAAW,EAAE,QAAQ;cACrB,QAAQ,EAAE,UAAU;cACpB,qBAAqB,EAAE,qBAAqB;cAC5C,QAAQ,EAAE,CAAC;cACX,kBAAkB,EAAE,CAAC;aACtB;WACF;SACF;QACD;UACE,IAAI,EAAE,4BAA4B;UAClC,GAAG,EAAE,SAAS;UACd,QAAQ,EAAE,CAAC;UACX,KAAK,EAAE,EAAE;UACT,KAAK,EAAE,EAAE;UACT,SAAS,EAAE,qBAAqB;UAChC,SAAS,EAAE,qBAAqB;UAChC,OAAO,EAAE,EAAE;UACX,WAAW,EAAE,SAAS;UACtB,QAAQ,EAAE,IAAI;UACd,qBAAqB,EAAE,qBAAqB;UAC5C,QAAQ,EAAE,CAAC;UACX,kBAAkB,EAAE,CAAC;UACrB,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;UAClC,CAAC;SACF;OACF;MACD,UAAU,EAAE,EAAE;MACd,WAAW,EAAE,EAAE;MACf,WAAW,EAAE,EAAE;MACf,eAAe,EAAE,EAAE;MACnB,eAAe,EAAE,EAAE;MACnB,QAAQ,EAAE,KAAK;MACf,YAAY,EAAE,KAAK;KACpB,CAAC;IAWM,YAAO,GAA6D;MAC1E;QACE,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;OAClB;MACD;QACE,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;OACrE;MACD;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,UAAU;OACjB;MACD;QACE,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM;OAC9C;MACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,uBAAuB;QAC7B,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK;OACzD;MACD;QACE,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,UAAU;OACjB;MACD;QACE,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;OACnE;MACD;QACE,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,oBAAoB;QAC1B,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC;OACzC;MACD;QACE,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;OACnE;KACF,CAAC;GAoFH;EA3IS,aAAa,CAAC,KAAK;IACzB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM;MAAE,OAAO;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;MACnC,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;EACf,CAAC;EAkDD,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,kBACE,SAAS,EAAE;UACT,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAC5B;YACE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CACjC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;cACrC,OAAO,CACL,UAAI,KAAK,EAAC,WAAW;gBACnB,EAAC,SAAS,IAAC,MAAM,EAAE,IAAI,IAAG,IAAI,CAAC,IAAI,CAAa;gBAChD,EAAC,SAAS,QACP,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CACzC;gBACZ,EAAC,SAAS,QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAa;gBAC7C,EAAC,SAAS,QAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAa;gBAClD,EAAC,SAAS,QACP,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAC7B,CACT,CACN,CAAC;YACJ,CAAC,CAAC,CACH,CAAC,CAAC,CAAC,CACF,EAAC,QAAQ,OAAG,CACb;WACF,CAAC,IAAI,CAAC,CAAC,CAAC;SACZ,EACD,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAC/B,OAAO,EAAE,+CAA+C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAC5E,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE;UACV,MAAM,EAAE,QAAQ;UAChB,QAAQ,EAAE,GAAG,EAAE,CAAC;YACd;cACE,UAAI,OAAO,EAAE,CAAC,aAAa;cAC3B,UAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,CAAC;gBAC5D,WAAK,KAAK,EAAC,2CAA2C;kBACpD,YAAM,KAAK,EAAC,2BAA2B,iBAAkB;kBACzD,YAAM,KAAK,EAAC,yBAAyB,IAClC,QAAQ,CACP,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACpB,CACI,CACH,CACH,CACF;YACL;cACE,UAAI,OAAO,EAAE,CAAC,aAAa;cAC3B,UAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,CAAC;gBAC5D,WAAK,KAAK,EAAC,2CAA2C;kBACpD,YAAM,KAAK,EAAC,2BAA2B,uBAEhC;kBACP,YAAM,KAAK,EAAC,yBAAyB,IAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC/C,CACH,CACH,CACF;YACL;cACE,UAAI,OAAO,EAAE,CAAC,aAAa;cAC3B,UAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,CAAC;gBAC5D,WAAK,KAAK,EAAC,2CAA2C;kBACpD,YAAM,KAAK,EAAC,2BAA2B,gCAEhC;kBACP,YAAM,KAAK,EAAC,yBAAyB,IAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC3C,CACH,CACH,CACF;WACN;SACF,GACD,CACG,CACR,CAAC;EACJ,CAAC;;;;CACF","sourcesContent":["import {\n Component,\n ComponentInterface,\n Fragment,\n h,\n Host,\n} from '@stencil/core';\nimport { TableTypes } from '../table/table-interface';\n\ndeclare module namespace {\n export interface AccountInfo {\n name: string;\n email: string;\n address_line_1: string;\n address_line_2: string;\n address_postcode: string;\n address_city: string;\n address_region: string;\n address_country: string;\n }\n\n export interface Table {\n names: any[];\n addresses: any[];\n match: boolean;\n false_positive?: any;\n }\n\n export interface IndividualNameComplianceInformation {\n table: Table;\n }\n\n export interface Table2 {\n names: any[];\n addresses: any[];\n match: boolean;\n false_positive?: any;\n }\n\n export interface OrganizationComplianceInformation {\n table: Table2;\n }\n\n export interface Check2 {\n label: string;\n external_id: string;\n item_type: string;\n answer: string;\n }\n\n export interface Check {\n name: string;\n external_id: string;\n status: string;\n account_info: AccountInfo;\n individual_name_compliance_information: IndividualNameComplianceInformation;\n organization_compliance_information: OrganizationComplianceInformation;\n checks: Check2[];\n further_information: any[];\n attachments: any[];\n notes: any[];\n }\n\n export interface DeliveryAddress {\n street: string[];\n city: string;\n postcode: string;\n region: string;\n regionCode: string;\n countryCode: string;\n }\n\n export interface InvoiceAddress {\n street: string[];\n city: string;\n postcode: string;\n region: string;\n regionCode: string;\n countryCode: string;\n }\n\n export interface IncludedItem {\n name: string;\n sku: string;\n quantity: number;\n price: number;\n total: number;\n createdAt: string;\n updatedAt: string;\n maskSku: string;\n productType: string;\n salesTag: string;\n requestedShippingDate: string;\n discount: number;\n discountPercentage: number;\n }\n\n export interface ShopOrderLine {\n name: string;\n sku: string;\n quantity: number;\n price: number;\n total: number;\n createdAt: string;\n updatedAt: string;\n maskSku: string;\n productType: string;\n salesTag: string;\n requestedShippingDate?: string;\n discount: number;\n discountPercentage: number;\n includedItems?: IncludedItem[];\n finalSku: string;\n }\n\n export interface RootObject {\n checks: Check[];\n orderId: string;\n createdAt: string;\n updatedAt: string;\n status: string;\n subStatus?: any;\n currency: string;\n customerPaymentMethod: string;\n paymentPlatform: string;\n dataAreaId: string;\n defaultShippingWarehouse?: any;\n deliveryContact: string;\n deliveryMode?: any;\n deliveryName: string;\n deliveryTerms?: any;\n invoiceAccountNumber: string;\n orderAccountNumber: string;\n orderAccountName: string;\n originalLeadTime?: any;\n salesDate: string;\n salesName: string;\n salesOrigin: string;\n salesOriginName: string;\n customerReference: string;\n purchaseOrder?: any;\n additionalDocuments: any[];\n total: number;\n shippingAmount: number;\n taxAmount: number;\n projectId?: any;\n deliveryPhoneNumber: string;\n invoicePhoneNumber: string;\n quoteNumber?: any;\n customerType: string;\n invoiceAccountEmail: string;\n partnerReference?: any;\n sentToD365: boolean;\n sentToD365Status: string;\n orderAccountEmail: string;\n controllingAccountNumber: string;\n controllingAccountEmail: string;\n deliveryAddress: DeliveryAddress;\n invoiceAddress: InvoiceAddress;\n shopOrderLines: ShopOrderLine[];\n orderLines: any[];\n pickedItems: any[];\n packedItems: any[];\n trackingNumbers: any[];\n trackingUpdates: any[];\n ecoOrder: boolean;\n revenueOrder: boolean;\n }\n}\n\nfunction capitalise(value: string) {\n if (!value) return '';\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction mediumDate(date: Date) {\n if (!date) return undefined;\n return new Date(date).toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n}\n\nfunction currency(amount: number = 0, currencyCode: string = 'USD') {\n currencyCode = currencyCode?.toLocaleUpperCase() || 'USD';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencyCode,\n }).format(amount);\n}\n\n@Component({\n tag: 'nano-demo',\n shadow: true,\n styles: /* css */ `\n :host {display: block}\n .child-row {\n opacity: .8;\n font-style: italic;\n }\n `,\n})\nexport class Demo implements ComponentInterface {\n private order: namespace.RootObject = {\n checks: [\n {\n name: 'Compliance',\n external_id: 'CO',\n status: 'complete',\n account_info: {\n name: 'Jeongmin Song',\n email: 'js2957@cornell.edu',\n address_line_1: '930 Campus Road',\n address_line_2: 'Veterinary Medical Center C4 109',\n address_postcode: '14853',\n address_city: 'Ithaca',\n address_region: 'New York',\n address_country: 'US',\n },\n individual_name_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n organization_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n checks: [\n {\n label: 'Compliance check',\n external_id: 'compliance_check',\n item_type: 'pass/fail/escalate',\n answer: 'pass',\n },\n ],\n further_information: [],\n attachments: [],\n notes: [],\n },\n ],\n orderId: '00886434',\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T16:02:29',\n status: 'Processing',\n subStatus: null,\n currency: 'USD',\n customerPaymentMethod: 'CC-USD',\n paymentPlatform: 'Shop',\n dataAreaId: 'OXUS',\n defaultShippingWarehouse: null,\n deliveryContact: 'Jeongmin Song',\n deliveryMode: null,\n deliveryName: 'Cornell University',\n deliveryTerms: null,\n invoiceAccountNumber: 'C038330',\n orderAccountNumber: 'C038330',\n orderAccountName: 'Cornell University',\n originalLeadTime: null,\n salesDate: '2022-12-09T15:57:50',\n salesName: 'Cornell University',\n salesOrigin: 'Shop',\n salesOriginName: 'Main USD Store View',\n customerReference: '',\n purchaseOrder: null,\n additionalDocuments: [],\n total: 860,\n shippingAmount: 50,\n taxAmount: 0,\n projectId: null,\n deliveryPhoneNumber: '+16072533722',\n invoicePhoneNumber: '+16072533722',\n quoteNumber: null,\n customerType: 'N/A',\n invoiceAccountEmail: 'js2957@cornell.edu',\n partnerReference: null,\n sentToD365: false,\n sentToD365Status: 'unsent',\n orderAccountEmail: 'js2957@cornell.edu',\n controllingAccountNumber: 'C038330',\n controllingAccountEmail: 'js2957@cornell.edu',\n deliveryAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n invoiceAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n shopOrderLines: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001',\n quantity: 1,\n price: 810,\n total: 810,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'bundle',\n salesTag: 'FLGExpSP',\n requestedShippingDate: null,\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n includedItems: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001D',\n quantity: 12,\n price: 66,\n total: 792,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n {\n name: 'Flongle Flow Cell Priming Kit',\n sku: 'EXP-FSE001',\n quantity: 1,\n price: 18,\n total: 18,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n ],\n },\n {\n name: 'Carriage - Device shipment',\n sku: 'FREIGHT',\n quantity: 1,\n price: 50,\n total: 50,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'virtual',\n salesTag: null,\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n },\n ],\n orderLines: [],\n pickedItems: [],\n packedItems: [],\n trackingNumbers: [],\n trackingUpdates: [],\n ecoOrder: false,\n revenueOrder: false,\n };\n\n private lineItemTotal(order) {\n if (!order || !order.shopOrderLines?.length) return;\n let total = 0;\n order.shopOrderLines.forEach((itm) => {\n if (itm.status !== 'cancelled') total += itm.total;\n });\n return total;\n }\n\n private columns: TableTypes.NanoTable<namespace.ShopOrderLine>['columns'] = [\n {\n title: 'Name',\n prop: 'name',\n pinned: 'start',\n rowHeader: true,\n autoTooltip: true,\n },\n {\n title: 'Status',\n prop: 'sku',\n cellTemplate: (_, c) => capitalise(c.cellModel || this.order.status),\n },\n {\n title: 'SKU',\n prop: 'finalSku',\n },\n {\n title: 'Sales tag',\n prop: 'salesTag',\n cellTemplate: (_, c) => c.cellModel || 'None',\n },\n {\n title: 'Requested ship date',\n prop: 'requestedShippingDate',\n cellTemplate: (_, c) => mediumDate(c.cellModel) || 'N/A',\n },\n {\n title: 'Quantity',\n prop: 'quantity',\n },\n {\n title: 'Unit price',\n prop: 'price',\n cellTemplate: (_, c) => currency(c.cellModel, this.order.currency),\n },\n {\n title: 'Discount %',\n prop: 'discountPercentage',\n cellTemplate: (_, c) => c.cellModel || 0,\n },\n {\n title: 'Line value',\n prop: 'total',\n cellTemplate: (_, c) => currency(c.cellModel, this.order.currency),\n },\n ];\n\n render() {\n return (\n <Host>\n <nano-table\n rowRender={{\n template: (_, c, TableCell) =>\n [\n c.renderedRow,\n c.rowModel.includedItems?.length ? (\n c.rowModel.includedItems?.map((item) => {\n return (\n <tr class=\"child-row\">\n <TableCell header={true}>{item.name}</TableCell>\n <TableCell>\n {capitalise(c.rowModel.status || this.order.status)}\n </TableCell>\n <TableCell>{capitalise(item.sku)}</TableCell>\n <TableCell>{capitalise(item.salesTag)}</TableCell>\n <TableCell>\n {mediumDate(item.requestedShippingDate)}\n </TableCell>\n </tr>\n );\n })\n ) : (\n <Fragment />\n ),\n ].flat(1),\n }}\n columns={this.columns}\n rows={this.order.shopOrderLines}\n caption={`List of order line items found within order ${this.order.orderId}`}\n showFooter={true}\n footRender={{\n pinned: 'bottom',\n template: () => [\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">Sub total:</span>\n <span class=\"order-lines__total--num\">\n {currency(\n this.lineItemTotal(this.order),\n this.order.currency\n )}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total order tax:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.taxAmount, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total on order placement:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.total, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n ],\n }}\n />\n </Host>\n );\n }\n}\n"]}
@@ -9,14 +9,22 @@
9
9
  * @returns `Promise<void>`
10
10
  */
11
11
  export function nanoCreateDialog(body, buttons = [], dialogOptions) {
12
- const opts = Object.assign({ noUserDismiss: false, label: 'Dialog' }, dialogOptions);
13
- const dialog = Object.assign(document.createElement('nano-dialog'), Object.assign(Object.assign({}, opts), { open: false, innerHTML: `
12
+ const opts = {
13
+ noUserDismiss: false,
14
+ label: 'Dialog',
15
+ ...dialogOptions,
16
+ };
17
+ const dialog = Object.assign(document.createElement('nano-dialog'), {
18
+ ...opts,
19
+ open: false,
20
+ innerHTML: `
14
21
  ${body}
15
22
  ${buttons.length
16
23
  ? buttons
17
24
  .map((btn, i) => `<button data-btn="${i}" class="button ${btn.classes}" slot="footer">${btn.content}</button>`)
18
25
  .join('')
19
- : ''}` }));
26
+ : ''}`,
27
+ });
20
28
  if (buttons.length) {
21
29
  Array.from(dialog.querySelectorAll('button[slot="footer"]')).map((btn) => {
22
30
  const foundBtn = buttons.find((_fb, i) => btn.dataset.btn === i.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.helpers.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog.helpers.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,UAAuE,EAAE,EACzE,aAAuC;EAEvC,MAAM,IAAI,mBACR,aAAa,EAAE,KAAK,EACpB,KAAK,EAAE,QAAQ,IACZ,aAAa,CACjB,CAAC;EACF,MAAM,MAAM,GAA0B,MAAM,CAAC,MAAM,CACjD,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,kCAEhC,IAAI,KACP,IAAI,EAAE,KAAK,EACX,SAAS,EAAE;QACT,IAAI;QAEJ,OAAO,CAAC,MAAM;MACZ,CAAC,CAAC,OAAO;SACJ,GAAG,CACF,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACT,qBAAqB,CAAC,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,GAAG,CAAC,OAAO,WAAW,CAChG;SACA,IAAI,CAAC,EAAE,CAAC;MACb,CAAC,CAAC,EACN,EAAE,IAEL,CAAC;EAEF,IAAI,OAAO,CAAC,MAAM,EAAE;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAC9D,CAAC,GAAgB,EAAE,EAAE;MACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAC3B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAC7C,CAAC;MACF,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;QAChC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;OACjD;IACH,CAAC,CACF,CAAC;GACH;EAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;EAClC,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["interface ImperativeDialogOptions {\n noUserDismiss: boolean;\n noHeader?: boolean;\n noFooter?: boolean;\n label: string;\n}\n/**\n * `nano-dialog` helper to create dialog modals imperatively.\n * @param body - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param buttons - { classes: string; content: string; handler: () => {} }[]\n * @param dialogOptions - { noUserDismiss: boolean, noHeader?: boolean, noFooter?: boolean, label: string }\n * @returns `Promise<void>`\n */\nexport function nanoCreateDialog(\n body: string,\n buttons: { classes: string; content: string; handler: () => void }[] = [],\n dialogOptions?: ImperativeDialogOptions\n) {\n const opts: ImperativeDialogOptions = {\n noUserDismiss: false,\n label: 'Dialog',\n ...dialogOptions,\n };\n const dialog: HTMLNanoDialogElement = Object.assign(\n document.createElement('nano-dialog'),\n {\n ...opts,\n open: false,\n innerHTML: `\n ${body}\n ${\n buttons.length\n ? buttons\n .map(\n (btn, i) =>\n `<button data-btn=\"${i}\" class=\"button ${btn.classes}\" slot=\"footer\">${btn.content}</button>`\n )\n .join('')\n : ''\n }`,\n }\n );\n\n if (buttons.length) {\n Array.from(dialog.querySelectorAll('button[slot=\"footer\"]')).map(\n (btn: HTMLElement) => {\n const foundBtn = buttons.find(\n (_fb, i) => btn.dataset.btn === i.toString()\n );\n if (foundBtn && foundBtn.handler) {\n btn.addEventListener('click', foundBtn.handler);\n }\n }\n );\n }\n\n document.body.appendChild(dialog);\n return dialog;\n}\n"]}
1
+ {"version":3,"file":"dialog.helpers.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog.helpers.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,UAAuE,EAAE,EACzE,aAAuC;EAEvC,MAAM,IAAI,GAA4B;IACpC,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,QAAQ;IACf,GAAG,aAAa;GACjB,CAAC;EACF,MAAM,MAAM,GAA0B,MAAM,CAAC,MAAM,CACjD,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,EACrC;IACE,GAAG,IAAI;IACP,IAAI,EAAE,KAAK;IACX,SAAS,EAAE;QACT,IAAI;QAEJ,OAAO,CAAC,MAAM;MACZ,CAAC,CAAC,OAAO;SACJ,GAAG,CACF,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACT,qBAAqB,CAAC,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,GAAG,CAAC,OAAO,WAAW,CAChG;SACA,IAAI,CAAC,EAAE,CAAC;MACb,CAAC,CAAC,EACN,EAAE;GACH,CACF,CAAC;EAEF,IAAI,OAAO,CAAC,MAAM,EAAE;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAC9D,CAAC,GAAgB,EAAE,EAAE;MACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAC3B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAC7C,CAAC;MACF,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;QAChC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;OACjD;IACH,CAAC,CACF,CAAC;GACH;EAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;EAClC,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["interface ImperativeDialogOptions {\n noUserDismiss: boolean;\n noHeader?: boolean;\n noFooter?: boolean;\n label: string;\n}\n/**\n * `nano-dialog` helper to create dialog modals imperatively.\n * @param body - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param buttons - { classes: string; content: string; handler: () => {} }[]\n * @param dialogOptions - { noUserDismiss: boolean, noHeader?: boolean, noFooter?: boolean, label: string }\n * @returns `Promise<void>`\n */\nexport function nanoCreateDialog(\n body: string,\n buttons: { classes: string; content: string; handler: () => void }[] = [],\n dialogOptions?: ImperativeDialogOptions\n) {\n const opts: ImperativeDialogOptions = {\n noUserDismiss: false,\n label: 'Dialog',\n ...dialogOptions,\n };\n const dialog: HTMLNanoDialogElement = Object.assign(\n document.createElement('nano-dialog'),\n {\n ...opts,\n open: false,\n innerHTML: `\n ${body}\n ${\n buttons.length\n ? buttons\n .map(\n (btn, i) =>\n `<button data-btn=\"${i}\" class=\"button ${btn.classes}\" slot=\"footer\">${btn.content}</button>`\n )\n .join('')\n : ''\n }`,\n }\n );\n\n if (buttons.length) {\n Array.from(dialog.querySelectorAll('button[slot=\"footer\"]')).map(\n (btn: HTMLElement) => {\n const foundBtn = buttons.find(\n (_fb, i) => btn.dataset.btn === i.toString()\n );\n if (foundBtn && foundBtn.handler) {\n btn.addEventListener('click', foundBtn.handler);\n }\n }\n );\n }\n\n document.body.appendChild(dialog);\n return dialog;\n}\n"]}
@@ -168,7 +168,7 @@ export class Drawer {
168
168
  }
169
169
  // Restore focus to the original trigger
170
170
  const trigger = this.originalTrigger;
171
- if (typeof (trigger === null || trigger === void 0 ? void 0 : trigger.focus) === 'function') {
171
+ if (typeof trigger?.focus === 'function') {
172
172
  setTimeout(() => trigger.focus());
173
173
  }
174
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/components/drawer/drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Prop,\n State,\n Watch,\n h,\n ComponentInterface,\n Method,\n} from '@stencil/core';\nimport Modal from '../../utils/modal';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { waitForEvent } from '../../utils/events';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\n/**\n * Drawers slide in from a container to expose additional options and information.\n *\n * @slot - The drawer's main content\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute\n * @slot header-actions - Optional actions to add to the header. Works best with `<nano-icon-button>`\n * @slot footer - The drawer's footer, usually one or more buttons representing various options\n *\n * @part base - The component's base wrapper\n * @part overlay - The overlay that covers the screen behind the drawer\n * @part panel - The drawer's panel (where the drawer and its content are rendered)\n * @part header - The drawer's header. This element wraps the title and header actions\n * @part header-actions - Optional actions to add to the header. Works best with `<nano-icon-button>`\n * @part title - The drawer's title\n * @part close-button - The close button, an `<nano-icon-button>`\n * @part close-button__base - The close button's exported `base` part\n * @part body - The drawer's body\n * @part footer - The drawer's footer\n */\n\n@Component({\n tag: 'nano-drawer',\n shadow: true,\n styleUrl: 'drawer.scss',\n})\nexport class Drawer implements ComponentInterface {\n // Private State\n\n @Element() host: HTMLNanoDrawerElement;\n\n private originalTrigger: HTMLElement | null;\n private drawer: HTMLElement;\n private overlay: HTMLElement;\n private modal: Modal;\n\n get panel() {\n return this._panel;\n }\n set panel(ele: HTMLElement) {\n if (this._panel) {\n this.panel.removeEventListener('animationend', this.handleTransitionEnd);\n }\n if (!ele) return;\n\n ele.addEventListener('transitionend', this.handleTransitionEnd);\n this._panel = ele;\n }\n private _panel: HTMLElement;\n\n @State() noDismiss = false;\n @State() hasFooter: boolean;\n\n // Public API\n\n /**\n * Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.\n */\n @Prop({ reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.\n */\n @Prop({ reflect: true }) label!: string;\n\n /** The direction from which the drawer will open. */\n @Prop({ reflect: true }) placement: 'top' | 'end' | 'bottom' | 'start' =\n 'end';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this attribute and add `position: relative` to the parent.\n */\n @Prop({ reflect: true }) contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop({ reflect: true }) noHeader = false;\n\n /** Store search queries (against this ID) to the component store. Use in conjunction with storeMethod */\n @Prop() storeId?: string;\n\n /** The method of storage. Either session storage, url hash (after the '#') or url query (after the '?'). */\n @Prop() storeMethod: StorageMethods = 'url-hash';\n\n /** An alternative to `preventDefault()` on the `nanoRequestClose` event. This will hide the close button and disable clicks on the overlay or presses the `Escape` key */\n @Prop() noUserDismiss = false;\n\n /** Relocate the dialog to the root of the DOM. Useful for elements bound via css `transform: ...` */\n @Prop() hoist = false;\n\n @Watch('hoist')\n handleHoistChange() {\n if (!this.hoist || Array.from(document.body.children).includes(this.host))\n return;\n document.body.prepend(this.host);\n }\n\n /** Emitted when the drawer opens. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted when the drawer closes. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the drawer closes and all animations are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n /** Emitted after the drawer opens and all animations are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /**\n * Emitted when the drawer opens and is ready to receive focus. Calling\n * `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n */\n @Event() nanoInitialFocus: EventEmitter;\n\n /**\n * Emitted when the user attempts to\n * close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in\n * destructive behavior such as data loss.\n */\n @Event() nanoRquestClose: EventEmitter<{\n source: 'close-button' | 'keyboard' | 'overlay';\n }>;\n\n /** Shows the drawer. */\n @Method()\n async show() {\n if (this.open) return undefined;\n\n this.open = true;\n return waitForEvent(this.host, 'nanoAfterShow');\n }\n\n /** Hides the drawer */\n @Method()\n async hide() {\n if (!this.open) return undefined;\n\n this.open = false;\n return waitForEvent(this.host, 'nanoAfterHide');\n }\n\n private requestClose(source: 'close-button' | 'keyboard' | 'overlay') {\n const nanoRequestClose = this.nanoRquestClose.emit({ source });\n\n if (nanoRequestClose.defaultPrevented || this.noUserDismiss) {\n this.noDismiss = true;\n setTimeout(() => (this.noDismiss = false), 250);\n return;\n }\n\n this.hide();\n }\n\n // Prop Change Handlers\n\n @Watch('contained')\n handleNoModalChange() {\n if (this.open && !this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n if (this.open && this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this.host);\n }\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.nanoShow.emit();\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n // When the drawer is shown, Safari will attempt to set focus on whatever element has autofocus. This causes the\n // drawer's animation to jitter, so we'll temporarily remove the attribute, call `focus({ preventScroll: true })`\n // ourselves, and add the attribute back afterwards.\n const autoFocusTarget = this.host.querySelector('[autofocus]');\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute('autofocus');\n }\n this.drawer.hidden = false;\n\n // Set initial focus\n requestAnimationFrame(() => {\n const nanoInitialFocus = this.nanoInitialFocus.emit();\n\n if (!nanoInitialFocus.defaultPrevented) {\n // Set focus to the autofocus target and restore the attribute\n if (autoFocusTarget) {\n (autoFocusTarget as HTMLInputElement).focus({\n preventScroll: true,\n });\n } else {\n this.panel.focus({ preventScroll: true });\n }\n }\n\n // Restore the autofocus attribute\n if (autoFocusTarget) {\n autoFocusTarget.setAttribute('autofocus', '');\n }\n });\n\n this.nanoAfterShow.emit();\n return;\n }\n\n // Hide\n this.nanoHide.emit();\n this.removeOpenListeners();\n\n if (!this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this.host);\n }\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === 'function') {\n setTimeout(() => trigger.focus());\n }\n }\n\n // Event Handling\n\n private addOpenListeners() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n // Contained drawers aren't modal and don't response to the escape key\n if (this.contained) {\n return;\n }\n\n if (event.key === 'Escape' && this.modal.isActive() && this.open) {\n event.stopImmediatePropagation();\n this.requestClose('keyboard');\n }\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n if (\n event.propertyName === 'opacity' &&\n event\n .composedPath()\n .find((node) => node === this.panel || node === this.overlay)\n ) {\n if (!this.open) {\n this.drawer.hidden = true;\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n }\n this.open ? this.nanoAfterShow.emit() : this.nanoAfterHide.emit();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n // Component Lifecycle\n\n connectedCallback() {\n this.handleHoistChange();\n this.modal = new Modal(this.host);\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n // Show on init if open\n if (this.open) this.show();\n if (this.storeId)\n ComponentStore.init(this, ['open'], this.storeMethod, this.storeId);\n }\n\n componentDidLoad() {\n this.drawer.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n }\n }\n\n render() {\n return (\n <div\n ref={(ele) => (this.drawer = ele)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n [`drawer--${this.placement}`]: true,\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': hasSlot(this.host, 'footer'),\n 'drawer--has-header': !this.noHeader,\n 'drawer--nodismiss': this.noDismiss,\n }}\n >\n <div\n ref={(ele) => (this.overlay = ele)}\n part=\"overlay\"\n class=\"drawer__overlay\"\n onClick={() => this.requestClose('overlay')}\n tabindex=\"-1\"\n />\n\n <div\n ref={(ele) => (this.panel = ele)}\n part=\"panel\"\n class=\"drawer__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : undefined}\n aria-labelledby={!this.noHeader ? 'title' : undefined}\n tabindex=\"0\"\n >\n <div class=\"drawer__main\">\n {!this.noHeader && (\n <nano-sticker>\n <div part=\"header\" class=\"drawer__header\">\n <h2 part=\"title\" class=\"drawer__title\" id=\"title\">\n {/* If there's no label, use an invisible character to prevent the header from collapsing */}\n <slot name=\"label\">\n {this.label.length > 0\n ? this.label\n : String.fromCharCode(65279)}\n </slot>\n </h2>\n <div part=\"header-actions\" class=\"drawer__header-actions\">\n <slot name=\"header-actions\" />\n\n {!this.noUserDismiss && (\n <nano-icon-button\n part=\"close-button\"\n exportparts=\"base:close-button__base\"\n class=\"drawer__close\"\n iconName=\"light/times\"\n label=\"Close\"\n onClick={() => this.requestClose('close-button')}\n />\n )}\n </div>\n </div>\n </nano-sticker>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <nano-sticker position=\"bottom\">\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </nano-sticker>\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/components/drawer/drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Prop,\n State,\n Watch,\n h,\n ComponentInterface,\n Method,\n} from '@stencil/core';\nimport Modal from '../../utils/modal';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { waitForEvent } from '../../utils/events';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\n/**\n * Drawers slide in from a container to expose additional options and information.\n *\n * @slot - The drawer's main content\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute\n * @slot header-actions - Optional actions to add to the header. Works best with `<nano-icon-button>`\n * @slot footer - The drawer's footer, usually one or more buttons representing various options\n *\n * @part base - The component's base wrapper\n * @part overlay - The overlay that covers the screen behind the drawer\n * @part panel - The drawer's panel (where the drawer and its content are rendered)\n * @part header - The drawer's header. This element wraps the title and header actions\n * @part header-actions - Optional actions to add to the header. Works best with `<nano-icon-button>`\n * @part title - The drawer's title\n * @part close-button - The close button, an `<nano-icon-button>`\n * @part close-button__base - The close button's exported `base` part\n * @part body - The drawer's body\n * @part footer - The drawer's footer\n */\n\n@Component({\n tag: 'nano-drawer',\n shadow: true,\n styleUrl: 'drawer.scss',\n})\nexport class Drawer implements ComponentInterface {\n // Private State\n\n @Element() host: HTMLNanoDrawerElement;\n\n private originalTrigger: HTMLElement | null;\n private drawer: HTMLElement;\n private overlay: HTMLElement;\n private modal: Modal;\n\n get panel() {\n return this._panel;\n }\n set panel(ele: HTMLElement) {\n if (this._panel) {\n this.panel.removeEventListener('animationend', this.handleTransitionEnd);\n }\n if (!ele) return;\n\n ele.addEventListener('transitionend', this.handleTransitionEnd);\n this._panel = ele;\n }\n private _panel: HTMLElement;\n\n @State() noDismiss = false;\n @State() hasFooter: boolean;\n\n // Public API\n\n /**\n * Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.\n */\n @Prop({ reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.\n */\n @Prop({ reflect: true }) label!: string;\n\n /** The direction from which the drawer will open. */\n @Prop({ reflect: true }) placement: 'top' | 'end' | 'bottom' | 'start' =\n 'end';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this attribute and add `position: relative` to the parent.\n */\n @Prop({ reflect: true }) contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop({ reflect: true }) noHeader = false;\n\n /** Store search queries (against this ID) to the component store. Use in conjunction with storeMethod */\n @Prop() storeId?: string;\n\n /** The method of storage. Either session storage, url hash (after the '#') or url query (after the '?'). */\n @Prop() storeMethod: StorageMethods = 'url-hash';\n\n /** An alternative to `preventDefault()` on the `nanoRequestClose` event. This will hide the close button and disable clicks on the overlay or presses the `Escape` key */\n @Prop() noUserDismiss = false;\n\n /** Relocate the dialog to the root of the DOM. Useful for elements bound via css `transform: ...` */\n @Prop() hoist = false;\n\n @Watch('hoist')\n handleHoistChange() {\n if (!this.hoist || Array.from(document.body.children).includes(this.host))\n return;\n document.body.prepend(this.host);\n }\n\n /** Emitted when the drawer opens. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted when the drawer closes. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the drawer closes and all animations are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n /** Emitted after the drawer opens and all animations are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /**\n * Emitted when the drawer opens and is ready to receive focus. Calling\n * `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n */\n @Event() nanoInitialFocus: EventEmitter;\n\n /**\n * Emitted when the user attempts to\n * close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in\n * destructive behavior such as data loss.\n */\n @Event() nanoRquestClose: EventEmitter<{\n source: 'close-button' | 'keyboard' | 'overlay';\n }>;\n\n /** Shows the drawer. */\n @Method()\n async show() {\n if (this.open) return undefined;\n\n this.open = true;\n return waitForEvent(this.host, 'nanoAfterShow');\n }\n\n /** Hides the drawer */\n @Method()\n async hide() {\n if (!this.open) return undefined;\n\n this.open = false;\n return waitForEvent(this.host, 'nanoAfterHide');\n }\n\n private requestClose(source: 'close-button' | 'keyboard' | 'overlay') {\n const nanoRequestClose = this.nanoRquestClose.emit({ source });\n\n if (nanoRequestClose.defaultPrevented || this.noUserDismiss) {\n this.noDismiss = true;\n setTimeout(() => (this.noDismiss = false), 250);\n return;\n }\n\n this.hide();\n }\n\n // Prop Change Handlers\n\n @Watch('contained')\n handleNoModalChange() {\n if (this.open && !this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n if (this.open && this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this.host);\n }\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.nanoShow.emit();\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n // When the drawer is shown, Safari will attempt to set focus on whatever element has autofocus. This causes the\n // drawer's animation to jitter, so we'll temporarily remove the attribute, call `focus({ preventScroll: true })`\n // ourselves, and add the attribute back afterwards.\n const autoFocusTarget = this.host.querySelector('[autofocus]');\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute('autofocus');\n }\n this.drawer.hidden = false;\n\n // Set initial focus\n requestAnimationFrame(() => {\n const nanoInitialFocus = this.nanoInitialFocus.emit();\n\n if (!nanoInitialFocus.defaultPrevented) {\n // Set focus to the autofocus target and restore the attribute\n if (autoFocusTarget) {\n (autoFocusTarget as HTMLInputElement).focus({\n preventScroll: true,\n });\n } else {\n this.panel.focus({ preventScroll: true });\n }\n }\n\n // Restore the autofocus attribute\n if (autoFocusTarget) {\n autoFocusTarget.setAttribute('autofocus', '');\n }\n });\n\n this.nanoAfterShow.emit();\n return;\n }\n\n // Hide\n this.nanoHide.emit();\n this.removeOpenListeners();\n\n if (!this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this.host);\n }\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === 'function') {\n setTimeout(() => trigger.focus());\n }\n }\n\n // Event Handling\n\n private addOpenListeners() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n // Contained drawers aren't modal and don't response to the escape key\n if (this.contained) {\n return;\n }\n\n if (event.key === 'Escape' && this.modal.isActive() && this.open) {\n event.stopImmediatePropagation();\n this.requestClose('keyboard');\n }\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n if (\n event.propertyName === 'opacity' &&\n event\n .composedPath()\n .find((node) => node === this.panel || node === this.overlay)\n ) {\n if (!this.open) {\n this.drawer.hidden = true;\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n }\n this.open ? this.nanoAfterShow.emit() : this.nanoAfterHide.emit();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n // Component Lifecycle\n\n connectedCallback() {\n this.handleHoistChange();\n this.modal = new Modal(this.host);\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n // Show on init if open\n if (this.open) this.show();\n if (this.storeId)\n ComponentStore.init(this, ['open'], this.storeMethod, this.storeId);\n }\n\n componentDidLoad() {\n this.drawer.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n }\n }\n\n render() {\n return (\n <div\n ref={(ele) => (this.drawer = ele)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n [`drawer--${this.placement}`]: true,\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': hasSlot(this.host, 'footer'),\n 'drawer--has-header': !this.noHeader,\n 'drawer--nodismiss': this.noDismiss,\n }}\n >\n <div\n ref={(ele) => (this.overlay = ele)}\n part=\"overlay\"\n class=\"drawer__overlay\"\n onClick={() => this.requestClose('overlay')}\n tabindex=\"-1\"\n />\n\n <div\n ref={(ele) => (this.panel = ele)}\n part=\"panel\"\n class=\"drawer__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : undefined}\n aria-labelledby={!this.noHeader ? 'title' : undefined}\n tabindex=\"0\"\n >\n <div class=\"drawer__main\">\n {!this.noHeader && (\n <nano-sticker>\n <div part=\"header\" class=\"drawer__header\">\n <h2 part=\"title\" class=\"drawer__title\" id=\"title\">\n {/* If there's no label, use an invisible character to prevent the header from collapsing */}\n <slot name=\"label\">\n {this.label.length > 0\n ? this.label\n : String.fromCharCode(65279)}\n </slot>\n </h2>\n <div part=\"header-actions\" class=\"drawer__header-actions\">\n <slot name=\"header-actions\" />\n\n {!this.noUserDismiss && (\n <nano-icon-button\n part=\"close-button\"\n exportparts=\"base:close-button__base\"\n class=\"drawer__close\"\n iconName=\"light/times\"\n label=\"Close\"\n onClick={() => this.requestClose('close-button')}\n />\n )}\n </div>\n </div>\n </nano-sticker>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <nano-sticker position=\"bottom\">\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </nano-sticker>\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -105,7 +105,6 @@ export class Dropdown {
105
105
  // Methods
106
106
  /** Shows the dropdown panel */
107
107
  async show() {
108
- var _a;
109
108
  this.ignoreOpenWatcher = true;
110
109
  this.open = true;
111
110
  const nanoShow = this.nanoShow.emit();
@@ -115,7 +114,7 @@ export class Dropdown {
115
114
  return;
116
115
  }
117
116
  // @ts-ignore
118
- if (typeof ((_a = this.positioner) === null || _a === void 0 ? void 0 : _a.showPopover) === 'function') {
117
+ if (typeof this.positioner?.showPopover === 'function') {
119
118
  this.hoist = true;
120
119
  this.popover.show();
121
120
  // @ts-ignore
@@ -147,9 +146,8 @@ export class Dropdown {
147
146
  this.accessibleTrigger.focus();
148
147
  }
149
148
  setTimeout(() => {
150
- var _a;
151
149
  // @ts-ignore
152
- if (!this.open && typeof ((_a = this.positioner) === null || _a === void 0 ? void 0 : _a.hidePopover) === 'function') {
150
+ if (!this.open && typeof this.positioner?.hidePopover === 'function') {
153
151
  // @ts-ignore
154
152
  this.positioner.hidePopover();
155
153
  }
@@ -163,11 +161,12 @@ export class Dropdown {
163
161
  * @returns whether the current focus is within the dropdown
164
162
  */
165
163
  focusEleInDropDwn(e) {
166
- var _a;
167
164
  const activeElement = getActiveElement();
168
- if (e && ((_a = e.composedPath()) === null || _a === void 0 ? void 0 : _a.length)) {
165
+ if (e && e.composedPath()?.length) {
169
166
  const ddInPath = e.composedPath().includes(this.containingElement);
170
- return !e.composedPath().includes(this.accessibleTrigger) && ddInPath;
167
+ if (ddInPath)
168
+ return ddInPath;
169
+ return e.composedPath().includes(this.accessibleTrigger);
171
170
  }
172
171
  return (activeElement &&
173
172
  activeElement.closest(this.containingElement.tagName.toLowerCase()) ===