@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
package/hydrate/index.js CHANGED
@@ -6219,7 +6219,12 @@ function getOffset(element, parent) {
6219
6219
  */
6220
6220
  const createColorClasses = (color, cssClassMap) => {
6221
6221
  return typeof color === 'string' && color.length > 0
6222
- ? Object.assign({ 'nano-color': true, [`nano-color-${color}`]: true }, cssClassMap) : cssClassMap;
6222
+ ? {
6223
+ 'nano-color': true,
6224
+ [`nano-color-${color}`]: true,
6225
+ ...cssClassMap,
6226
+ }
6227
+ : cssClassMap;
6223
6228
  };
6224
6229
  /**
6225
6230
  * @param classes
@@ -6276,7 +6281,10 @@ class Accordion {
6276
6281
  this.nanoToggle.emit();
6277
6282
  }
6278
6283
  render() {
6279
- return (hAsync(Host, { class: Object.assign(Object.assign({}, createColorClasses(this.color)), { [`nano-color-${this.itemOpened}`]: typeof this.itemOpened === 'number' }) }, hAsync("slot", null)));
6284
+ return (hAsync(Host, { class: {
6285
+ ...createColorClasses(this.color),
6286
+ [`nano-color-${this.itemOpened}`]: typeof this.itemOpened === 'number',
6287
+ } }, hAsync("slot", null)));
6280
6288
  }
6281
6289
  get el() { return getElement(this); }
6282
6290
  static get style() { return accordionCss; }
@@ -6419,13 +6427,12 @@ class Modal {
6419
6427
  return activeModals[activeModals.length - 1] === this.element;
6420
6428
  }
6421
6429
  handleFocusIn(event) {
6422
- var _a;
6423
6430
  const path = event.composedPath();
6424
6431
  // Trap focus so it doesn't go out of the modal's boundary
6425
6432
  if (this.isActive() && !path.includes(this.element)) {
6426
6433
  const tabbableElements = getTabbableElements(this.element);
6427
6434
  const index = this.tabDirection === 'backward' ? tabbableElements.length - 1 : 0;
6428
- (_a = tabbableElements[index]) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
6435
+ tabbableElements[index]?.focus({ preventScroll: true });
6429
6436
  }
6430
6437
  }
6431
6438
  handleKeyDown(event) {
@@ -6758,7 +6765,7 @@ class Alert {
6758
6765
  }
6759
6766
  }
6760
6767
  render() {
6761
- return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)), showing: this.isShowing }, this.isModal && [
6768
+ return (hAsync(Host, { class: { ...createColorClasses(this.color) }, showing: this.isShowing }, this.isModal && [
6762
6769
  hAsync("div", { part: "overlay", class: {
6763
6770
  alert__overlay: true,
6764
6771
  'alert__overlay--open': this.open,
@@ -7937,7 +7944,7 @@ const urlSet = (id, data, to = 'hash', win = window, method = 'replace') => {
7937
7944
  const object = {};
7938
7945
  object[id] = data;
7939
7946
  let currentData = urlRead(to, win);
7940
- currentData = Object.assign(Object.assign({}, currentData), object);
7947
+ currentData = { ...currentData, ...object };
7941
7948
  urlSave(currentData, to, win, method);
7942
7949
  };
7943
7950
  const urlGet = (key, to = 'hash', win = window) => {
@@ -9539,7 +9546,7 @@ class Algolia {
9539
9546
  this.staticFacetFilters[filter.filterId] = filter;
9540
9547
  else {
9541
9548
  dynFilterObj[filter.filterId] = filter;
9542
- this._dynFacetFilters = Object.assign(Object.assign({}, this._dynFacetFilters), dynFilterObj);
9549
+ this._dynFacetFilters = { ...this._dynFacetFilters, ...dynFilterObj };
9543
9550
  }
9544
9551
  this.indexResults.appliedFilters = this.makeAppliedFilters();
9545
9552
  }
@@ -10048,8 +10055,8 @@ class AlgoliaFilter {
10048
10055
  // everything is in place - render as normal and set values
10049
10056
  writeTask(() => {
10050
10057
  outputTo.innerHTML = this.tplRenderFn(this.templateStr, {
10051
- orig: Object.assign({}, this.indexResults.origFilters[this.filterName]),
10052
- dyn: Object.assign({}, this.indexResults.dynFilters[this.filterName]),
10058
+ orig: { ...this.indexResults.origFilters[this.filterName] },
10059
+ dyn: { ...this.indexResults.dynFilters[this.filterName] },
10053
10060
  selected: this.internalValue && this.internalValue.length
10054
10061
  ? this.internalValue
10055
10062
  : this.value,
@@ -10787,7 +10794,7 @@ class Checkbox {
10787
10794
  }
10788
10795
  render() {
10789
10796
  const labelId = this.inputId + '-lbl';
10790
- return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)) }, hAsync("label", { class: {
10797
+ return (hAsync(Host, { class: { ...createColorClasses(this.color) } }, hAsync("label", { class: {
10791
10798
  nanocb: true,
10792
10799
  'nanocb--checked': this.checked,
10793
10800
  'nanocb--invalid': this.invalid,
@@ -10981,7 +10988,7 @@ class CheckboxGroup {
10981
10988
  customValidate() {
10982
10989
  if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes)
10983
10990
  return;
10984
- const onlyRadios = this.nativeCbs.filter((cb) => (cb === null || cb === void 0 ? void 0 : cb.type) === 'radio');
10991
+ const onlyRadios = this.nativeCbs.filter((cb) => cb?.type === 'radio');
10985
10992
  if (onlyRadios &&
10986
10993
  onlyRadios.length &&
10987
10994
  (this.showErrorMsg || this.validateOn === 'dirty')) {
@@ -10995,7 +11002,7 @@ class CheckboxGroup {
10995
11002
  return true;
10996
11003
  }
10997
11004
  // we only care about checkbox controls.
10998
- const onlyCbs = this.nativeCbs.filter((cb) => (cb === null || cb === void 0 ? void 0 : cb.type) === 'checkbox');
11005
+ const onlyCbs = this.nativeCbs.filter((cb) => cb?.type === 'checkbox');
10999
11006
  if (!onlyCbs || !onlyCbs.length)
11000
11007
  return;
11001
11008
  const checked = onlyCbs.filter((cb) => cb.checked);
@@ -11026,32 +11033,28 @@ class CheckboxGroup {
11026
11033
  return invalid;
11027
11034
  }
11028
11035
  handleComponentChange() {
11029
- var _a;
11030
- if (!((_a = this.checkboxes) === null || _a === void 0 ? void 0 : _a.length))
11036
+ if (!this.checkboxes?.length)
11031
11037
  return;
11032
11038
  this.checkboxTypes = getClassMap(this.checkboxes.map((cb) => 'types-' + cb.type));
11033
11039
  }
11034
11040
  handleDisabledChange() {
11035
- var _a;
11036
- if (this.disabled === null || !((_a = this.checkboxes) === null || _a === void 0 ? void 0 : _a.length))
11041
+ if (this.disabled === null || !this.checkboxes?.length)
11037
11042
  return;
11038
11043
  this.checkboxes.map((cb) => (cb.disabled = this.disabled));
11039
11044
  }
11040
11045
  // private methods
11041
11046
  setInteralValue() {
11042
- var _a;
11043
11047
  this.ignoreValueSet = true;
11044
- const radios = this.nativeCbs.filter((cb) => (cb === null || cb === void 0 ? void 0 : cb.type) === 'radio');
11045
- if (radios === null || radios === void 0 ? void 0 : radios.length) {
11046
- this.value = ((_a = radios.find((cb) => cb.checked)) === null || _a === void 0 ? void 0 : _a.value) || null;
11048
+ const radios = this.nativeCbs.filter((cb) => cb?.type === 'radio');
11049
+ if (radios?.length) {
11050
+ this.value = radios.find((cb) => cb.checked)?.value || null;
11047
11051
  return;
11048
11052
  }
11049
11053
  this.value = this.checkboxes.flatMap((cb) => cb.checked ? [cb.value] : []);
11050
11054
  requestAnimationFrame(() => (this.ignoreValueSet = false));
11051
11055
  }
11052
11056
  setCbValue() {
11053
- var _a;
11054
- (_a = this.checkboxes) === null || _a === void 0 ? void 0 : _a.forEach((cb) => {
11057
+ this.checkboxes?.forEach((cb) => {
11055
11058
  if (cb.value === this.value ||
11056
11059
  (Array.isArray(this.value) && this.value.includes(cb.value))) {
11057
11060
  cb.checked = true;
@@ -11090,6 +11093,8 @@ class CheckboxGroup {
11090
11093
  disconnectedCallback() {
11091
11094
  if (this.mo)
11092
11095
  this.mo.disconnect();
11096
+ if (!this.nativeCbs?.length)
11097
+ return;
11093
11098
  this.nativeCbs.forEach((cb) => {
11094
11099
  if (cb)
11095
11100
  cb.removeEventListener('invalid', this.handleInvalid);
@@ -11101,7 +11106,7 @@ class CheckboxGroup {
11101
11106
  render() {
11102
11107
  const legendId = this.grpId + '-lbl';
11103
11108
  const moreId = this.showInlineError || this.hasHelperSlot ? this.grpId + '-more' : '';
11104
- return (hAsync(Host, Object.assign({}, this.checkboxTypes), hAsync("fieldset", { disabled: this.disabled, class: { nanogroupcb: true, 'show-error': this.showErrorMsg } }, hAsync("legend", { id: legendId, class: {
11109
+ return (hAsync(Host, { ...this.checkboxTypes }, hAsync("fieldset", { disabled: this.disabled, class: { nanogroupcb: true, 'show-error': this.showErrorMsg } }, hAsync("legend", { id: legendId, class: {
11105
11110
  nanogroupcb__legend: true,
11106
11111
  'visually-hide': this.hideLegend,
11107
11112
  } }, hAsync("slot", { name: "legend" }, this.legend)), hAsync("div", { class: "nanogroupcb__cbs", role: "group", "aria-labelledby": legendId + ' ' + moreId }, hAsync("slot", null)), (this.showInlineError || this.hasHelperSlot) && (hAsync("div", { class: "nanogroupcb__more", id: moreId }, !!this.showInlineError ? (hAsync("div", { class: "nanogroupcb__error" }, this.errorMessage)) : (''), hAsync("div", { class: "nanogroupcb__help" }, hAsync("slot", { name: "helper" })))))));
@@ -11190,12 +11195,11 @@ class DataList {
11190
11195
  return this._allOptEles;
11191
11196
  }
11192
11197
  set allOptEles(opts) {
11193
- var _a;
11194
11198
  // when allOptEles are initially set (on slot change / options) -
11195
11199
  // add options to 'selected' and fire selected event *if*
11196
11200
  // value isn't set on the input
11197
11201
  this._allOptEles = opts;
11198
- if ((_a = this.connectedInput) === null || _a === void 0 ? void 0 : _a.value)
11202
+ if (this.connectedInput?.value)
11199
11203
  return;
11200
11204
  opts.forEach((opt) => {
11201
11205
  if (opt.selected && !this.selected.includes(opt.value)) {
@@ -11265,7 +11269,7 @@ class DataList {
11265
11269
  if (this.type === 'select' &&
11266
11270
  !['ArrowDown', 'ArrowUp'].includes(e.key) &&
11267
11271
  (e.key !== ' ' || this.typeToSelectTimeout)) {
11268
- if (e.key === ' ' || /^[a-z0-9]+$/i.test(e.key)) {
11272
+ if (e.key === ' ' || /^[a-zA0-9]+$/i.test(e.key)) {
11269
11273
  clearTimeout(this.typeToSelectTimeout);
11270
11274
  this.typeToSelectTimeout = window.setTimeout(() => {
11271
11275
  this.typeToSelect = '';
@@ -11279,7 +11283,7 @@ class DataList {
11279
11283
  this.shouldOpen = true;
11280
11284
  // open dropdown if possible
11281
11285
  this.manageDropdownDisplay();
11282
- if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11286
+ if (['ArrowDown', 'ArrowUp', ' '].includes(e.key)) {
11283
11287
  e.preventDefault();
11284
11288
  this.shouldFocus = true;
11285
11289
  }
@@ -11334,7 +11338,7 @@ class DataList {
11334
11338
  return this._dropDownConfig;
11335
11339
  }
11336
11340
  set dropDownConfig(ddc) {
11337
- this._dropDownConfig = Object.assign(Object.assign({}, this._dropDownConfig), ddc);
11341
+ this._dropDownConfig = { ...this._dropDownConfig, ...ddc };
11338
11342
  }
11339
11343
  /** return all the active options currently within the datalist. Can be useful for validation */
11340
11344
  get activeOptions() {
@@ -11365,7 +11369,6 @@ class DataList {
11365
11369
  }
11366
11370
  }
11367
11371
  manageSlotChangeListener() {
11368
- var _a;
11369
11372
  if (!this.host)
11370
11373
  return;
11371
11374
  // we're not using `options` - setup new MO
@@ -11374,7 +11377,7 @@ class DataList {
11374
11377
  return;
11375
11378
  }
11376
11379
  // we're using `options` - trash current MO
11377
- if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) {
11380
+ if (this.options?.length) {
11378
11381
  if (!!this.mo) {
11379
11382
  this.mo.disconnect();
11380
11383
  this.mo = undefined;
@@ -11382,9 +11385,8 @@ class DataList {
11382
11385
  const previousOptions = this.host.querySelectorAll('[slot="internal-opts"]');
11383
11386
  // add imperative `options`
11384
11387
  writeTask(() => {
11385
- var _a;
11386
11388
  // clear all previous
11387
- if (previousOptions === null || previousOptions === void 0 ? void 0 : previousOptions.length)
11389
+ if (previousOptions?.length)
11388
11390
  previousOptions.forEach((internalOpt) => internalOpt.remove());
11389
11391
  this.allOptEles = this.options.flatMap((option, i) => {
11390
11392
  if (option.value || option.label) {
@@ -11402,7 +11404,7 @@ class DataList {
11402
11404
  return opt;
11403
11405
  }
11404
11406
  });
11405
- if (((_a = this.connectedInput) === null || _a === void 0 ? void 0 : _a.value.length) && this.type !== 'select') {
11407
+ if (this.connectedInput?.value.length && this.type !== 'select') {
11406
11408
  this.inputChange();
11407
11409
  }
11408
11410
  else {
@@ -11431,12 +11433,11 @@ class DataList {
11431
11433
  if (!this.isNanoInput) {
11432
11434
  dwConfig.tetherTo = this.connectedInput;
11433
11435
  }
11434
- this.dropDownConfig = Object.assign(Object.assign({}, this.dropDownConfig), dwConfig);
11436
+ this.dropDownConfig = { ...this.dropDownConfig, ...dwConfig };
11435
11437
  this.connectedInput.setAttribute('aria-autocomplete', autocompleteType);
11436
11438
  this.connectedInput.readOnly = readonly;
11437
11439
  }
11438
11440
  manageInputEvents(newInput, oldInput) {
11439
- var _a;
11440
11441
  if (!!oldInput) {
11441
11442
  const nanoInput = oldInput.closest('nano-input');
11442
11443
  if (nanoInput) {
@@ -11464,7 +11465,7 @@ class DataList {
11464
11465
  newInput.addEventListener('keydown', this.inputKeydown);
11465
11466
  newInput.addEventListener('input', this.inputChange);
11466
11467
  this.listId = this.host.id || this.listId;
11467
- this.inputLabel = ((_a = newInput === null || newInput === void 0 ? void 0 : newInput.labels) === null || _a === void 0 ? void 0 : _a.item(0)) || findLabel(newInput);
11468
+ this.inputLabel = newInput?.labels?.item(0) || findLabel(newInput);
11468
11469
  writeTask(() => {
11469
11470
  this.host.id = this.listId;
11470
11471
  newInput.setAttribute('role', 'combobox');
@@ -11477,9 +11478,8 @@ class DataList {
11477
11478
  }
11478
11479
  }
11479
11480
  watchActvOptChange() {
11480
- var _a;
11481
11481
  let c = 0;
11482
- const val = ((_a = this.connectedInput) === null || _a === void 0 ? void 0 : _a.value) || '';
11482
+ const val = this.connectedInput?.value || '';
11483
11483
  const optIds = [];
11484
11484
  writeTask(() => {
11485
11485
  this.allOptEles.forEach((opt, i) => {
@@ -11539,7 +11539,6 @@ class DataList {
11539
11539
  }
11540
11540
  /** reflect value back to the connected input unless the event is cancelled */
11541
11541
  changeInputValue(opt) {
11542
- var _a;
11543
11542
  let nanoSelected;
11544
11543
  if (this.selected.includes(opt.value)) {
11545
11544
  // deselect option
@@ -11555,7 +11554,7 @@ class DataList {
11555
11554
  if (this.connectedInput)
11556
11555
  this.connectedInput.value = opt.value;
11557
11556
  const event = new window.Event('change');
11558
- (_a = this.connectedInput) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);
11557
+ this.connectedInput?.dispatchEvent(event);
11559
11558
  }
11560
11559
  }
11561
11560
  // this is for type="select" only.
@@ -11585,10 +11584,9 @@ class DataList {
11585
11584
  }
11586
11585
  processSlottedContent() {
11587
11586
  requestAnimationFrame(() => {
11588
- var _a;
11589
11587
  this.allOptEles = Array.from(this.host.querySelectorAll('nano-option'));
11590
11588
  this.hasNoResult = !!this.host.querySelector('[slot="no-result"]');
11591
- if (((_a = this.connectedInput) === null || _a === void 0 ? void 0 : _a.value.length) && this.type !== 'select') {
11589
+ if (this.connectedInput?.value.length && this.type !== 'select') {
11592
11590
  this.inputChange();
11593
11591
  }
11594
11592
  else
@@ -11656,10 +11654,10 @@ class DataList {
11656
11654
  render() {
11657
11655
  return (hAsync(Host, { role: this.actvOptEles.length ? 'listbox' : undefined, "aria-owns": this.optionIds.length ? this.optionIds.join(' ') : undefined, "aria-label": this.optionIds.length
11658
11656
  ? 'Select options from the list below'
11659
- : undefined }, hAsync("nano-dropdown", Object.assign({}, this.dropDownConfig, { ref: (el) => (this.nanoDropdown = el), dialogTitle: "Select options from the list below", class: {
11657
+ : undefined }, hAsync("nano-dropdown", { ...this.dropDownConfig, ref: (el) => (this.nanoDropdown = el), dialogTitle: "Select options from the list below", class: {
11660
11658
  dlist__dropdown: true,
11661
11659
  'dlist--isfiltered': this.isFiltered,
11662
- }, onNanoAfterShow: this.handleShow, onNanoAfterHide: this.handleHide, role: "group" }), hAsync("nano-menu", { hidden: !this.actvOptEles.length, type: "listbox", label: this.inputLabel ? this.inputLabel.textContent : undefined, class: {
11660
+ }, onNanoAfterShow: this.handleShow, onNanoAfterHide: this.handleHide, role: "group" }, hAsync("nano-menu", { hidden: !this.actvOptEles.length, type: "listbox", label: this.inputLabel ? this.inputLabel.textContent : undefined, class: {
11663
11661
  dlist__menu: true,
11664
11662
  'dlist__menu--open': this.dropwdownOpen,
11665
11663
  }, tabIndex: -1, onNanoSelect: this.optSelected, onKeyDown: this.optionKeyDown, ref: (el) => (this.listBox = el), role: "list" }, hAsync("slot", { name: "list-top" }), !this.options.length && hAsync("slot", null), !!this.options.length && hAsync("slot", { name: "internal-opts" }), hAsync("slot", { name: "list-bottom" })), hAsync("nano-menu", { type: "listbox", label: "No results found", hidden: !!this.actvOptEles.length, class: {
@@ -12113,7 +12111,7 @@ class DateInput {
12113
12111
  return this._dropDownConfig;
12114
12112
  }
12115
12113
  set dropDownConfig(ddc) {
12116
- this._dropDownConfig = Object.assign(Object.assign({}, this._dropDownConfig), ddc);
12114
+ this._dropDownConfig = { ...this._dropDownConfig, ...ddc };
12117
12115
  }
12118
12116
  /** @readonly get the value as a `Date` */
12119
12117
  get dateValue() {
@@ -12224,9 +12222,9 @@ class DateInput {
12224
12222
  this.dropDownConfig.tetherTo = this.trigger;
12225
12223
  const valueDate = parseISODate(this.value);
12226
12224
  const hasHelperSlot = !!this.host.querySelector('[slot="helper"]');
12227
- return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)) }, hAsync("div", { class: "date-field" }, hAsync("nano-input", { class: "date-field__input", slot: "trigger", required: this.required || undefined, showInlineError: this.showInlineError, validateOn: this.validateOn, placeholder: this.placeholder !== 'false' ? this.placeholder : undefined, pattern: this.pattern, label: this.label, disabled: this.disabled || undefined, color: this.color || undefined, autofocus: this.autofocus || undefined, clearInput: this.clearInput || undefined, onNanoChange: this.onInputChange, onNanoInput: this.onInputKey, onNanoValidate: this.onInputValidate, name: "", form: this.form || undefined, size: this.size || undefined, readonly: this.readonly, value: this.inputValue, ref: (input) => (this.input = input), floatLabel: this.floatLabel, hideLabel: this.hideLabel, inputmode: 'numeric', part: "input" }, hAsync("slot", { name: "start", slot: "start" }), hAsync("slot", { name: "label" }), hAsync("slot", { name: "end", slot: "end" }), this.picker && [
12225
+ return (hAsync(Host, { class: { ...createColorClasses(this.color) } }, hAsync("div", { class: "date-field" }, hAsync("nano-input", { class: "date-field__input", slot: "trigger", required: this.required || undefined, showInlineError: this.showInlineError, validateOn: this.validateOn, placeholder: this.placeholder !== 'false' ? this.placeholder : undefined, pattern: this.pattern, label: this.label, disabled: this.disabled || undefined, color: this.color || undefined, autofocus: this.autofocus || undefined, clearInput: this.clearInput || undefined, onNanoChange: this.onInputChange, onNanoInput: this.onInputKey, onNanoValidate: this.onInputValidate, name: "", form: this.form || undefined, size: this.size || undefined, readonly: this.readonly, value: this.inputValue, ref: (input) => (this.input = input), floatLabel: this.floatLabel, hideLabel: this.hideLabel, inputmode: 'numeric', part: "input" }, hAsync("slot", { name: "start", slot: "start" }), hAsync("slot", { name: "label" }), hAsync("slot", { name: "end", slot: "end" }), this.picker && [
12228
12226
  hAsync("button", { slot: "end", class: "date-field__open", type: "button", onKeyDown: this.onTriggerKey, onClick: this.onTriggerClick, ref: (trigger) => (this.trigger = trigger), disabled: this.disabled || this.readonly }, hAsync("nano-icon", { name: "light/calendar-alt" })),
12229
- hAsync("nano-dropdown", Object.assign({ slot: "end", onNanoHide: this.onDropdownHide, onNanoShow: this.onDropdownShow, dialogTitle: "Choose a date", class: "date-field__dropdown", ref: (dropdown) => (this.dropdown = dropdown) }, this.dropDownConfig, { part: "dropdown" }), hAsync("div", null, hAsync("div", { class: "date-field__close-bar" }, hAsync("button", { class: "date-field__close", type: "button", onMouseDown: this.onCloseClick, onKeyDown: this.onCloseKeyDown, ref: (pickerClose) => (this.pickerCloseBtn = pickerClose) }, hAsync("nano-icon", { name: "light/times" }), hAsync("span", { class: "vhidden" }, "Close window"))), hAsync("nano-date-picker", { isDateDisabled: this.isDateDisabled, onNanoDatePicked: this.onDatePicked, min: this.min || undefined, max: this.max || undefined, "is-modal": true, ref: (picker) => (this.pickerEle = picker), localization: this.localization, selectedDate: this.value || this.initialPickerDate, firstDayOfWeek: this.firstDayOfWeek, color: this.color || undefined, part: "date-picker" }))),
12227
+ hAsync("nano-dropdown", { slot: "end", onNanoHide: this.onDropdownHide, onNanoShow: this.onDropdownShow, dialogTitle: "Choose a date", class: "date-field__dropdown", ref: (dropdown) => (this.dropdown = dropdown), ...this.dropDownConfig, part: "dropdown" }, hAsync("div", null, hAsync("div", { class: "date-field__close-bar" }, hAsync("button", { class: "date-field__close", type: "button", onMouseDown: this.onCloseClick, onKeyDown: this.onCloseKeyDown, ref: (pickerClose) => (this.pickerCloseBtn = pickerClose) }, hAsync("nano-icon", { name: "light/times" }), hAsync("span", { class: "vhidden" }, "Close window"))), hAsync("nano-date-picker", { isDateDisabled: this.isDateDisabled, onNanoDatePicked: this.onDatePicked, min: this.min || undefined, max: this.max || undefined, "is-modal": true, ref: (picker) => (this.pickerEle = picker), localization: this.localization, selectedDate: this.value || this.initialPickerDate, firstDayOfWeek: this.firstDayOfWeek, color: this.color || undefined, part: "date-picker" }))),
12230
12228
  ], (hasHelperSlot || this.helperText || this.showInlineError) && (hAsync("span", { slot: "helper" }, hAsync("span", { class: { vhidden: !!this.value.length } }, hAsync("slot", { name: "helper" })), this.helperText && !!valueDate && (hAsync("span", null, valueDate.toLocaleDateString(this.locale, this.helperTextFormat)))))), hAsync("input", { type: "hidden", value: this.value, name: this.name }))));
12231
12229
  }
12232
12230
  get host() { return getElement(this); }
@@ -12629,7 +12627,7 @@ class DatePicker {
12629
12627
  minYear = minDate.getFullYear();
12630
12628
  if (maxDate)
12631
12629
  maxYear = maxDate.getFullYear();
12632
- return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)) }, hAsync("div", { class: "duet-date" }, hAsync("div", { class: {
12630
+ return (hAsync(Host, { class: { ...createColorClasses(this.color) } }, hAsync("div", { class: "duet-date" }, hAsync("div", { class: {
12633
12631
  'duet-date__dialog': true,
12634
12632
  'is-active': true,
12635
12633
  }, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, hAsync("div", { class: "duet-date__dialog-content" }, hAsync("div", { class: "duet-date__vhidden duet-date__instructions", "aria-live": "polite" }, this.localization.keyboardInstruction), hAsync("div", { class: "duet-date__header", onFocusin: this.disableActiveFocus }, hAsync("div", null, hAsync("h2", { id: this.dialogLabelId, class: "duet-date__vhidden", "aria-live": "polite" }, this.localization.monthNames[focusedMonth], ' ', this.focusedDay.getFullYear()), hAsync("label", { htmlFor: this.monthSelectId, class: "duet-date__vhidden" }, this.localization.monthSelectLabel), hAsync("div", { class: "duet-date__select" }, hAsync("select", { id: this.monthSelectId, class: "duet-date__select--month", ref: (element) => (this.firstFocusableElement = this.monthSelectNode =
@@ -12678,7 +12676,7 @@ function mediumDate(date) {
12678
12676
  });
12679
12677
  }
12680
12678
  function currency(amount = 0, currencyCode = 'USD') {
12681
- currencyCode = (currencyCode === null || currencyCode === void 0 ? void 0 : currencyCode.toLocaleUpperCase()) || 'USD';
12679
+ currencyCode = currencyCode?.toLocaleUpperCase() || 'USD';
12682
12680
  return new Intl.NumberFormat('en-US', {
12683
12681
  style: 'currency',
12684
12682
  currency: currencyCode,
@@ -12915,8 +12913,7 @@ class Demo {
12915
12913
  ];
12916
12914
  }
12917
12915
  lineItemTotal(order) {
12918
- var _a;
12919
- if (!order || !((_a = order.shopOrderLines) === null || _a === void 0 ? void 0 : _a.length))
12916
+ if (!order || !order.shopOrderLines?.length)
12920
12917
  return;
12921
12918
  let total = 0;
12922
12919
  order.shopOrderLines.forEach((itm) => {
@@ -12927,15 +12924,12 @@ class Demo {
12927
12924
  }
12928
12925
  render() {
12929
12926
  return (hAsync(Host, null, hAsync("nano-table", { rowRender: {
12930
- template: (_, c, TableCell) => {
12931
- var _a, _b;
12932
- return [
12933
- c.renderedRow,
12934
- ((_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) => {
12935
- return (hAsync("tr", { class: "child-row" }, hAsync(TableCell, { header: true }, item.name), hAsync(TableCell, null, capitalise(c.rowModel.status || this.order.status)), hAsync(TableCell, null, capitalise(item.sku)), hAsync(TableCell, null, capitalise(item.salesTag)), hAsync(TableCell, null, mediumDate(item.requestedShippingDate))));
12936
- })) : (hAsync(Fragment, null)),
12937
- ].flat(1);
12938
- },
12927
+ template: (_, c, TableCell) => [
12928
+ c.renderedRow,
12929
+ c.rowModel.includedItems?.length ? (c.rowModel.includedItems?.map((item) => {
12930
+ return (hAsync("tr", { class: "child-row" }, hAsync(TableCell, { header: true }, item.name), hAsync(TableCell, null, capitalise(c.rowModel.status || this.order.status)), hAsync(TableCell, null, capitalise(item.sku)), hAsync(TableCell, null, capitalise(item.salesTag)), hAsync(TableCell, null, mediumDate(item.requestedShippingDate))));
12931
+ })) : (hAsync(Fragment, null)),
12932
+ ].flat(1),
12939
12933
  }, columns: this.columns, rows: this.order.shopOrderLines, caption: `List of order line items found within order ${this.order.orderId}`, showFooter: true, footRender: {
12940
12934
  pinned: 'bottom',
12941
12935
  template: () => [
@@ -12970,7 +12964,12 @@ class Demo {
12970
12964
  * @returns a promise of resolving as either 'show' or 'hidden'
12971
12965
  */
12972
12966
  const displayTransition = (el, options) => {
12973
- const opts = Object.assign({ className: '', show: true, showDisplay: 'block' }, options);
12967
+ const opts = {
12968
+ className: '',
12969
+ show: true,
12970
+ showDisplay: 'block',
12971
+ ...options,
12972
+ };
12974
12973
  return new Promise((resolve) => {
12975
12974
  const showCb = (e) => {
12976
12975
  if ((e.target === el || e.composedPath().some((el) => el === e.target)) &&
@@ -13644,7 +13643,7 @@ class Drawer {
13644
13643
  }
13645
13644
  // Restore focus to the original trigger
13646
13645
  const trigger = this.originalTrigger;
13647
- if (typeof (trigger === null || trigger === void 0 ? void 0 : trigger.focus) === 'function') {
13646
+ if (typeof trigger?.focus === 'function') {
13648
13647
  setTimeout(() => trigger.focus());
13649
13648
  }
13650
13649
  }
@@ -15738,7 +15737,6 @@ class Dropdown {
15738
15737
  // Methods
15739
15738
  /** Shows the dropdown panel */
15740
15739
  async show() {
15741
- var _a;
15742
15740
  this.ignoreOpenWatcher = true;
15743
15741
  this.open = true;
15744
15742
  const nanoShow = this.nanoShow.emit();
@@ -15748,7 +15746,7 @@ class Dropdown {
15748
15746
  return;
15749
15747
  }
15750
15748
  // @ts-ignore
15751
- if (typeof ((_a = this.positioner) === null || _a === void 0 ? void 0 : _a.showPopover) === 'function') {
15749
+ if (typeof this.positioner?.showPopover === 'function') {
15752
15750
  this.hoist = true;
15753
15751
  this.popover.show();
15754
15752
  // @ts-ignore
@@ -15780,9 +15778,8 @@ class Dropdown {
15780
15778
  this.accessibleTrigger.focus();
15781
15779
  }
15782
15780
  setTimeout(() => {
15783
- var _a;
15784
15781
  // @ts-ignore
15785
- if (!this.open && typeof ((_a = this.positioner) === null || _a === void 0 ? void 0 : _a.hidePopover) === 'function') {
15782
+ if (!this.open && typeof this.positioner?.hidePopover === 'function') {
15786
15783
  // @ts-ignore
15787
15784
  this.positioner.hidePopover();
15788
15785
  }
@@ -15796,11 +15793,12 @@ class Dropdown {
15796
15793
  * @returns whether the current focus is within the dropdown
15797
15794
  */
15798
15795
  focusEleInDropDwn(e) {
15799
- var _a;
15800
15796
  const activeElement = getActiveElement();
15801
- if (e && ((_a = e.composedPath()) === null || _a === void 0 ? void 0 : _a.length)) {
15797
+ if (e && e.composedPath()?.length) {
15802
15798
  const ddInPath = e.composedPath().includes(this.containingElement);
15803
- return !e.composedPath().includes(this.accessibleTrigger) && ddInPath;
15799
+ if (ddInPath)
15800
+ return ddInPath;
15801
+ return e.composedPath().includes(this.accessibleTrigger);
15804
15802
  }
15805
15803
  return (activeElement &&
15806
15804
  activeElement.closest(this.containingElement.tagName.toLowerCase()) ===
@@ -16464,7 +16462,6 @@ class FieldValidator {
16464
16462
  }
16465
16463
  storeToFields(fields) {
16466
16464
  fields.forEach((field) => {
16467
- var _a;
16468
16465
  const fieldName = this.getName(field);
16469
16466
  if (!fieldName.length ||
16470
16467
  typeof this._store.state[fieldName] === 'undefined')
@@ -16486,8 +16483,7 @@ class FieldValidator {
16486
16483
  else if (Array.isArray(this._store.state[fieldName])) {
16487
16484
  // multiple checkbox like controls
16488
16485
  cbs.forEach((cb) => {
16489
- var _a;
16490
- if ((_a = this._store.state[fieldName]) === null || _a === void 0 ? void 0 : _a.includes(cb.value))
16486
+ if (this._store.state[fieldName]?.includes(cb.value))
16491
16487
  cb.checked = true;
16492
16488
  else
16493
16489
  cb.checked = false;
@@ -16507,7 +16503,7 @@ class FieldValidator {
16507
16503
  if (field.tagName === 'NANO-FILE-UPLOAD') {
16508
16504
  const ff = field;
16509
16505
  // this can only work if the field is empty rn... a one-time deal
16510
- if (!((_a = ff.files) === null || _a === void 0 ? void 0 : _a.length))
16506
+ if (!ff.files?.length)
16511
16507
  ff.files = this._store.state[fieldName];
16512
16508
  return;
16513
16509
  }
@@ -16527,7 +16523,6 @@ class FieldValidator {
16527
16523
  /** Loops through all `nano-...` fields and extracts their values into our store */
16528
16524
  fieldsToStore(fields, init = false) {
16529
16525
  fields.forEach((field) => {
16530
- var _a;
16531
16526
  const fieldName = this.getName(field);
16532
16527
  if (!fieldName.length)
16533
16528
  return;
@@ -16557,7 +16552,7 @@ class FieldValidator {
16557
16552
  : [];
16558
16553
  if (cb.checked) {
16559
16554
  // checked
16560
- if (!((_a = this._store.state[fieldName]) === null || _a === void 0 ? void 0 : _a.includes(cb.value))) {
16555
+ if (!this._store.state[fieldName]?.includes(cb.value)) {
16561
16556
  this._store.state[fieldName] = [...currentArr, cb.value];
16562
16557
  }
16563
16558
  }
@@ -16762,12 +16757,12 @@ let getDataTransfer = () => new DataTransfer();
16762
16757
  try {
16763
16758
  getDataTransfer();
16764
16759
  }
16765
- catch (_a) {
16760
+ catch {
16766
16761
  try {
16767
16762
  getDataTransfer = () => new ClipboardEvent('').clipboardData;
16768
16763
  getDataTransfer();
16769
16764
  }
16770
- catch (_b) {
16765
+ catch {
16771
16766
  getDataTransfer = null;
16772
16767
  }
16773
16768
  }
@@ -17177,26 +17172,24 @@ class FileUpload {
17177
17172
  }; }
17178
17173
  }
17179
17174
 
17180
- var __rest = (undefined && undefined.__rest) || function (s, e) {
17181
- var t = {};
17182
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
17183
- t[p] = s[p];
17184
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17185
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17186
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17187
- t[p[i]] = s[p[i]];
17188
- }
17189
- return t;
17190
- };
17191
- async function clientFetch(url, _a = {}) {
17192
- var { body } = _a, customConfig = __rest(_a, ["body"]);
17175
+ async function clientFetch(url, { body, ...customConfig } = {}) {
17193
17176
  const headers = {
17194
17177
  Accept: 'application/json, text/plain, */*',
17195
17178
  'Access-Control-Allow-Origin': '*',
17196
17179
  'Content-Type': 'application/json',
17197
17180
  Cache: 'no-cache',
17198
17181
  };
17199
- const config = Object.assign(Object.assign({ method: body ? 'POST' : 'GET', credentials: 'include', keepalive: true, mode: 'cors' }, customConfig), { headers: Object.assign(Object.assign({}, headers), customConfig.headers) });
17182
+ const config = {
17183
+ method: body ? 'POST' : 'GET',
17184
+ credentials: 'include',
17185
+ keepalive: true,
17186
+ mode: 'cors',
17187
+ ...customConfig,
17188
+ headers: {
17189
+ ...headers,
17190
+ ...customConfig.headers,
17191
+ },
17192
+ };
17200
17193
  if (body) {
17201
17194
  config.body = JSON.stringify(body);
17202
17195
  }
@@ -17839,11 +17832,8 @@ class GlobalNav {
17839
17832
  }
17840
17833
  if (!ev
17841
17834
  .composedPath()
17842
- .some((el) => {
17843
- var _a;
17844
- return el === this.menuContentDiv ||
17845
- ((_a = el.classList) === null || _a === void 0 ? void 0 : _a.contains('gn-menu_actions'));
17846
- })) {
17835
+ .some((el) => el === this.menuContentDiv ||
17836
+ el.classList?.contains('gn-menu_actions'))) {
17847
17837
  requestAnimationFrame(() => {
17848
17838
  if (!!this.secondaryMenuOpen)
17849
17839
  return;
@@ -18093,7 +18083,6 @@ class GlobalNav {
18093
18083
  ];
18094
18084
  }
18095
18085
  render() {
18096
- var _a, _b;
18097
18086
  this.autocompleteEles = [];
18098
18087
  const isRtl = this.el.ownerDocument.dir === 'rtl';
18099
18088
  const searchWidget = this.searchWidget();
@@ -18138,7 +18127,7 @@ class GlobalNav {
18138
18127
  }))))))),
18139
18128
  ]))), this.isLoggedIn &&
18140
18129
  this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.login &&
18141
- (this.loggedInNavItms.length || this.hasLoggedinSlot) && (hAsync("nav", { class: "nav-links", "aria-label": "Your user account links" }, hAsync("nano-nav-item", { class: "nano-global-nav user-nav nano-global-nav-menu", closeOnBlur: false }, this.myAccountUser.name, hAsync("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), hAsync("div", { slot: "secondary" }, hAsync("div", { class: "content" }, hAsync("button", { class: "back-btn", onClick: this.subMenuClose }, hAsync("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back", role: "img" }), this.myAccountUser.name), !!((_a = this.myAccountUser) === null || _a === void 0 ? void 0 : _a.small_avatar_url) && (hAsync("nano-global-nav-user-profile", { myAccountUser: this.myAccountUser, userProfileUrl: this.userProfileUrl })), hAsync("div", { class: "content--sub" }, hAsync("slot", { name: "loggedin", onSlotchange: this.assessSlottedContent }), this.loggedInNavItms.map((link) => {
18130
+ (this.loggedInNavItms.length || this.hasLoggedinSlot) && (hAsync("nav", { class: "nav-links", "aria-label": "Your user account links" }, hAsync("nano-nav-item", { class: "nano-global-nav user-nav nano-global-nav-menu", closeOnBlur: false }, this.myAccountUser.name, hAsync("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), hAsync("div", { slot: "secondary" }, hAsync("div", { class: "content" }, hAsync("button", { class: "back-btn", onClick: this.subMenuClose }, hAsync("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back", role: "img" }), this.myAccountUser.name), !!this.myAccountUser?.small_avatar_url && (hAsync("nano-global-nav-user-profile", { myAccountUser: this.myAccountUser, userProfileUrl: this.userProfileUrl })), hAsync("div", { class: "content--sub" }, hAsync("slot", { name: "loggedin", onSlotchange: this.assessSlottedContent }), this.loggedInNavItms.map((link) => {
18142
18131
  return (hAsync("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, hAsync("a", { href: link.address, target: link.target }, link.title)));
18143
18132
  }), hAsync("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, hAsync("a", { href: this.myAccData.urls.forgot_password +
18144
18133
  this.ssoRedirect }, "Change Password")))))))), hAsync("slot", { name: "promotion", onSlotchange: this.assessSlottedContent }), this.myAccData && this.myAccData.urls.logout && (hAsync("div", { class: "login-btn logout-btn" }, hAsync("a", { href: this.myAccData.urls.logout + this.ssoRedirect }, "Logout")))))), hAsync("div", { class: "sticker-trigger" }), hAsync("nano-sticker", { "auto-resize": "false", "break-point-max": "800", quietMode: { h: 600, w: 800 }, part: "sticker" }, hAsync("div", { class: "bars", part: "bars" }, hAsync("nav", { part: "main-bar", class: "main-bar", "aria-label": "Main site navigation", tabindex: "-1", ref: (div) => (this.mainBarDiv = div) }, (this.hasPromotionSlot ||
@@ -18185,7 +18174,7 @@ class GlobalNav {
18185
18174
  'icon-btn': true,
18186
18175
  'user-links-btn': true,
18187
18176
  open: this.userMenuOpen,
18188
- }, onMouseDown: this.onUserBtnClick, onKeyDown: this.onUserBtnKeyDown }, ' ', this.myAccountUser.name, hAsync("nano-icon", { name: "solid/caret-down" })), hAsync("div", { class: "user-links-panel", tabindex: "-1", ref: (div) => (this.userLinkPanel = div) }, !!((_b = this.myAccountUser) === null || _b === void 0 ? void 0 : _b.small_avatar_url) && (hAsync("nano-global-nav-user-profile", { myAccountUser: this.myAccountUser, userProfileUrl: this.userProfileUrl })), hAsync("div", { class: "user-links-panel-content" }, this.loggedInNavItms.map((link) => {
18177
+ }, onMouseDown: this.onUserBtnClick, onKeyDown: this.onUserBtnKeyDown }, ' ', this.myAccountUser.name, hAsync("nano-icon", { name: "solid/caret-down" })), hAsync("div", { class: "user-links-panel", tabindex: "-1", ref: (div) => (this.userLinkPanel = div) }, !!this.myAccountUser?.small_avatar_url && (hAsync("nano-global-nav-user-profile", { myAccountUser: this.myAccountUser, userProfileUrl: this.userProfileUrl })), hAsync("div", { class: "user-links-panel-content" }, this.loggedInNavItms.map((link) => {
18189
18178
  return (hAsync("a", { href: link.address, target: link.target }, link.title));
18190
18179
  })), hAsync("div", { class: "user-links-panel-foot" }, hAsync("a", { href: this.myAccData.urls.forgot_password +
18191
18180
  this.ssoRedirect }, "Change Password"), hAsync("a", { href: this.myAccData.urls.logout + this.ssoRedirect }, "Logout"))))),
@@ -18389,8 +18378,7 @@ class GlobalNavUserProfile {
18389
18378
  }
18390
18379
  // Render output
18391
18380
  render() {
18392
- var _a;
18393
- return (!!this.myAccountUser && (hAsync("a", { href: this.userProfileUrl, class: "user-profile" }, hAsync("div", { class: "left" }, hAsync("div", { class: "avatar-container" }, hAsync("img", { class: "avatar", src: (_a = this.myAccountUser) === null || _a === void 0 ? void 0 : _a.small_avatar_url, alt: "User Avatar", height: 75, width: 75 }), this.myAccountUser.is_nanopore_user && (hAsync("img", { class: "logo-small", src: getAssetPath(`../nano-assets/ont-wheel-light.svg`), alt: "Nanopore Logo" }))), hAsync("div", { class: "user-details" }, hAsync("span", { class: "name" }, this.myAccountUser.name), hAsync("span", { class: "bio" }, this.myAccountUser.job_title, " at ", this.myAccountUser.company))), hAsync("div", { class: "right" }, hAsync("div", { class: "chevron-right" }, hAsync("nano-icon", { slot: "icon-end", name: "light/chevron-right" }))))));
18381
+ return (!!this.myAccountUser && (hAsync("a", { href: this.userProfileUrl, class: "user-profile" }, hAsync("div", { class: "left" }, hAsync("div", { class: "avatar-container" }, hAsync("img", { class: "avatar", src: this.myAccountUser?.small_avatar_url, alt: "User Avatar", height: 75, width: 75 }), this.myAccountUser.is_nanopore_user && (hAsync("img", { class: "logo-small", src: getAssetPath(`../nano-assets/ont-wheel-light.svg`), alt: "Nanopore Logo" }))), hAsync("div", { class: "user-details" }, hAsync("span", { class: "name" }, this.myAccountUser.name), hAsync("span", { class: "bio" }, this.myAccountUser.job_title, " at ", this.myAccountUser.company))), hAsync("div", { class: "right" }, hAsync("div", { class: "chevron-right" }, hAsync("nano-icon", { slot: "icon-end", name: "light/chevron-right" }))))));
18394
18382
  }
18395
18383
  static get cmpMeta() { return {
18396
18384
  "$flags$": 0,
@@ -19636,7 +19624,12 @@ class Icon {
19636
19624
  this.name.indexOf('chevron') > -1) &&
19637
19625
  this.el.ownerDocument.dir === 'rtl' &&
19638
19626
  this.flipRtl !== false);
19639
- return (hAsync(Host, { class: Object.assign(Object.assign({}, createColorClasses(this.color)), { loading: this.isLoading, [`icon-${this.size}`]: !!this.size, 'flip-rtl': !!flipRtl }) }, (hAsync("div", { class: "icon-inner" }))));
19627
+ return (hAsync(Host, { class: {
19628
+ ...createColorClasses(this.color),
19629
+ loading: this.isLoading,
19630
+ [`icon-${this.size}`]: !!this.size,
19631
+ 'flip-rtl': !!flipRtl,
19632
+ } }, (hAsync("div", { class: "icon-inner" }))));
19640
19633
  }
19641
19634
  get el() { return getElement(this); }
19642
19635
  static get watchers() { return {
@@ -19979,12 +19972,12 @@ const FormControlWrap = (props, children) => {
19979
19972
  'form-ctrl': true,
19980
19973
  } },
19981
19974
  hAsync("div", { class: "form-ctrl__wrapper" },
19982
- !floatLabel ? renderLabel(Object.assign({}, props)) : '',
19975
+ !floatLabel ? renderLabel({ ...props }) : '',
19983
19976
  hAsync("div", { class: {
19984
19977
  'form-ctrl__input': true,
19985
19978
  'form-ctrl__textarea': type === 'textarea',
19986
19979
  } },
19987
- floatLabel && renderLabel(Object.assign(Object.assign({}, props), { rtl })),
19980
+ floatLabel && renderLabel({ ...props, rtl }),
19988
19981
  children),
19989
19982
  showInlineError || hasHelperSlot ? (hAsync("div", { class: "form-ctrl__more", id: moreId },
19990
19983
  !!showInlineError ? (hAsync("div", { class: "form-ctrl__error", "aria-live": "polite" }, errorMessage)) : (''),
@@ -20078,7 +20071,7 @@ class Input {
20078
20071
  };
20079
20072
  this.onInput = (ev) => {
20080
20073
  const input = ev.target;
20081
- this.value = (input === null || input === void 0 ? void 0 : input.value) || '';
20074
+ this.value = input?.value || '';
20082
20075
  this.nanoInput.emit(ev);
20083
20076
  };
20084
20077
  this.onBlur = () => {
@@ -20163,7 +20156,11 @@ class Input {
20163
20156
  if (!this.datalist)
20164
20157
  return;
20165
20158
  const currDWConfig = this.datalist.dropDownConfig || {};
20166
- this.datalist.dropDownConfig = Object.assign(Object.assign({}, currDWConfig), { skidding: -1, tetherTo: this.nativeInputWrap });
20159
+ this.datalist.dropDownConfig = {
20160
+ ...currDWConfig,
20161
+ skidding: -1,
20162
+ tetherTo: this.nativeInputWrap,
20163
+ };
20167
20164
  }
20168
20165
  /**
20169
20166
  * This will be true when the control is in an invalid state.
@@ -20356,16 +20353,26 @@ class Input {
20356
20353
  rtl,
20357
20354
  hasHelperEndSlot,
20358
20355
  }))(this);
20359
- const wrapOptions = Object.assign(Object.assign({}, compWrapOptions), { labelId,
20356
+ const wrapOptions = {
20357
+ ...compWrapOptions,
20358
+ labelId,
20360
20359
  moreId,
20361
- helperEndId, hasValue: this.hasValue(), controlId: this.inputId });
20360
+ helperEndId,
20361
+ hasValue: this.hasValue(),
20362
+ controlId: this.inputId,
20363
+ };
20362
20364
  const controlOptions = (({ clearInput, readonly, disabled }) => ({
20363
20365
  clearInput,
20364
20366
  readonly,
20365
20367
  disabled,
20366
20368
  clearControl: this.clearInput,
20367
20369
  }))(this);
20368
- return (hAsync(Host, { "aria-disabled": this.disabled ? 'true' : null, dir: this.rtl ? 'rtl' : null, class: Object.assign(Object.assign({}, createColorClasses(this.color)), { 'has-value': this.hasValue(), 'has-focus': this.hasFocus, 'is-invalid': this._invalid }) }, hAsync("div", { style: { width: '100%' } }, hAsync(FormControlWrap, Object.assign({}, wrapOptions), hAsync(FormControl, Object.assign({}, controlOptions, { onClearText: this.clearTextInput, control: this.el, ref: (el) => (this.nativeInputWrap = el) }), this.type !== 'textarea' && (hAsync("input", { id: this.inputId, class: "input__native-ctrl", ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalise, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onChange: this.onInput, onFocus: this.onFocus, onBlur: this.handleBlur, onKeyDown: this.onKeydown, onInvalid: this.validate })), this.type === 'textarea' && (hAsync("textarea", { rows: this.floatLabel ? 1 : this.rows, id: this.inputId, class: {
20370
+ return (hAsync(Host, { "aria-disabled": this.disabled ? 'true' : null, dir: this.rtl ? 'rtl' : null, class: {
20371
+ ...createColorClasses(this.color),
20372
+ 'has-value': this.hasValue(),
20373
+ 'has-focus': this.hasFocus,
20374
+ 'is-invalid': this._invalid,
20375
+ } }, hAsync("div", { style: { width: '100%' } }, hAsync(FormControlWrap, { ...wrapOptions }, hAsync(FormControl, { ...controlOptions, onClearText: this.clearTextInput, control: this.el, ref: (el) => (this.nativeInputWrap = el) }, this.type !== 'textarea' && (hAsync("input", { id: this.inputId, class: "input__native-ctrl", ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalise, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onChange: this.onInput, onFocus: this.onFocus, onBlur: this.handleBlur, onKeyDown: this.onKeydown, onInvalid: this.validate })), this.type === 'textarea' && (hAsync("textarea", { rows: this.floatLabel ? 1 : this.rows, id: this.inputId, class: {
20369
20376
  'input__native-ctrl': true,
20370
20377
  input__resizable: this.resize === 'true',
20371
20378
  }, ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, autoCapitalize: this.autocapitalise, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, value: value, onInput: this.onInput, onChange: this.onInput, onFocus: this.onFocus, onKeyDown: this.onKeydown, onInvalid: this.validate, onBlur: this.handleBlur })))), hAsync("slot", null))));
@@ -20555,14 +20562,12 @@ class Menu {
20555
20562
  // Public Methods
20556
20563
  /** Sets focus on the menu. */
20557
20564
  async setFocus() {
20558
- var _a;
20559
- if ((_a = this.menu) === null || _a === void 0 ? void 0 : _a.focus)
20565
+ if (this.menu?.focus)
20560
20566
  this.menu.focus({ preventScroll: true });
20561
20567
  }
20562
20568
  /** Removes focus from the menu. */
20563
20569
  async removeFocus() {
20564
- var _a;
20565
- if ((_a = this.menu) === null || _a === void 0 ? void 0 : _a.blur)
20570
+ if (this.menu?.blur)
20566
20571
  this.menu.blur();
20567
20572
  }
20568
20573
  /** Sets the current active item */
@@ -22452,7 +22457,7 @@ class ResizeObserve {
22452
22457
  }; }
22453
22458
  }
22454
22459
 
22455
- const selectCss = ".sc-nano-select-h {\n box-sizing: border-box;\n}\n\n*.sc-nano-select, *.sc-nano-select::before, *.sc-nano-select::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-select {\n display: none !important;\n}\n[disabled].sc-nano-select-h:not([disabled=false]) {\n opacity: 0.5;\n}\n\n.form-ctrl.sc-nano-select {\n min-inline-size: 100%;\n display: block;\n}\n.form-ctrl.has-helper-end.sc-nano-select {\n display: flex;\n gap: 1rem;\n container-type: inline-size;\n}\n.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__wrapper.sc-nano-select {\n flex: 1 1 100%;\n}\n.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__helper-end.sc-nano-select {\n display: none;\n}\n@container (min-width: 350px) {\n .form-ctrl.has-helper-end .form-ctrl__helper-end {\n display: block !important;\n }\n .form-ctrl.has-helper-end .form-ctrl__helper {\n display: none !important;\n }\n}\n\n.form-ctrl__wrapper.sc-nano-select {\n display: block;\n}\n\nlabel.sc-nano-select, .form-ctrl__more.sc-nano-select, .form-ctrl__error.sc-nano-select, .form-ctrl__helper.sc-nano-select {\n display: block;\n inline-size: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nlabel.visually-hide.sc-nano-select, .form-ctrl__more.visually-hide.sc-nano-select, .form-ctrl__error.visually-hide.sc-nano-select, .form-ctrl__helper.visually-hide.sc-nano-select {\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n.form-ctrl__float-label.sc-nano-select {\n padding-block: 0;\n padding-inline: var(--padding-start) 0;\n color: var(--label-color);\n position: absolute;\n font-size: 1.15em;\n transform: translateY(-50%);\n transform-origin: top left;\n inset-block-start: 50%;\n transition: all 0.125s ease-in;\n opacity: 1;\n}\n.has-focus.sc-nano-select-h .form-ctrl__float-label.sc-nano-select, .has-value.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(-110%);\n font-size: 0.8em;\n opacity: 0.7;\n}\n.form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-select-h .form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select, .has-value.sc-nano-select-h .form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n opacity: 1;\n}\n.form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 50%;\n}\n.has-focus.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n.has-value.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n\n.form-ctrl__label.sc-nano-select {\n color: var(--label-color);\n font-size: var(--label-font-size);\n padding-block-end: var(--padding-bottom);\n line-height: 1;\n display: flex;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-wrap.sc-nano-select {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select {\n margin-block: unset;\n margin-inline: 0 5px;\n opacity: 0;\n -webkit-appearance: none;\n appearance: none;\n transition: 0.3s ease opacity;\n font-size: 0.9em;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n margin-block: unset;\n margin-inline: auto 0;\n font-size: 0.9em;\n opacity: 0.5;\n}\n.has-value.sc-nano-select-h .form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select {\n opacity: 0.5;\n}\n.has-focus.sc-nano-select-h .form-ctrl__label.sc-nano-select {\n color: var(--label-color--focus);\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__label.sc-nano-select {\n color: var(--label-color--invalid);\n}\n\n.has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-select-h .has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-focus.sc-nano-select-h .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-focus.sc-nano-select-h .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select {\n opacity: 1;\n}\n\n.form-ctrl__more.sc-nano-select {\n block-size: 1em;\n position: relative;\n margin-block: 4px var(--padding-bottom);\n margin-inline: 3px 0;\n}\n\n.form-ctrl__helper.sc-nano-select, .form-ctrl__error.sc-nano-select {\n inset-block-start: 0;\n inset-inline-start: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n}\n\n.form-ctrl__helper.sc-nano-select {\n font-style: italic;\n color: var(--help-msg-color);\n}\n[show-inline-error].sc-nano-select-h:not([show-inline-error=false]):not([disabled]).is-invalid .form-ctrl__helper.sc-nano-select {\n opacity: 0;\n}\n\n.form-ctrl__helper-end.sc-nano-select {\n flex: 1 1 30%;\n min-inline-size: 150px;\n font-size: var(--invalid-msg-font-size);\n color: var(--help-msg-color);\n font-style: italic;\n}\n\n.form-ctrl__error.sc-nano-select {\n opacity: 0;\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__error.sc-nano-select {\n opacity: 1;\n}\n\n.form-ctrl__input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n border-radius: var(--input-border-radius);\n inline-size: 100%;\n padding: 0 !important;\n position: relative;\n flex: 1 0 auto;\n display: flex;\n background: var(--input-bg-color);\n border: var(--input-border-style);\n border-width: var(--input-border-width);\n font-size: var(--input-font-size);\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.has-focus.sc-nano-select-h .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--focus);\n border: var(--input-border-style--focus);\n border-width: var(--input-border-width);\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid);\n border-width: var(--input-border-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n padding-inline-start: 0 !important;\n}\n.is-invalid.has-focus.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid-focus);\n border-width: var(--input-border-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n padding-inline-start: 0 !important;\n}\n\n.form-ctrl__input-wrap.sc-nano-select {\n display: flex;\n align-items: stretch;\n flex: 1;\n max-inline-size: 100%;\n}\n\n.form-ctrl__clear-btn.sc-nano-select, .form-ctrl__slot-end.sc-nano-select, .form-ctrl__slot-start.sc-nano-select, .form-ctrl__slot-value-end.sc-nano-select {\n --nano-icon-size: 1.4em;\n margin-block: 0;\n margin-inline: 0;\n font-size: 1em;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n display: flex;\n align-items: stretch;\n inline-size: auto;\n}\n\n.has-float-label.sc-nano-select .form-ctrl__slot-start.sc-nano-select {\n display: none;\n}\n\n.form-ctrl__slot-start.sc-nano-select-s > *, .form-ctrl__slot-start .sc-nano-select-s > *, .form-ctrl__slot-end.sc-nano-select-s > *, .form-ctrl__slot-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select-s > *, .form-ctrl__slot-value-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n --nano-icon-size: 1.4em;\n padding-inline: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n font-size: 1em;\n align-items: center;\n display: flex;\n block-size: 100%;\n z-index: 1;\n}\n.sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-start.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-start .sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-end.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-end .sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end .sc-nano-select-s > *, [disabled].sc-nano-select-h:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n pointer-events: none;\n}\n\n.form-ctrl__slot-value-end.sc-nano-select-s > *, .form-ctrl__slot-value-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n pointer-events: none;\n}\n\n.form-ctrl__clear-btn.sc-nano-select {\n color: var(--clear-btn-color);\n padding: 0;\n opacity: 0;\n inline-size: 0;\n -webkit-appearance: none;\n appearance: none;\n align-items: center;\n overflow: hidden;\n}\n.is-invalid.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select {\n color: var(--clear-btn-color--invalid);\n}\n.has-value.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select {\n padding-block: 0;\n padding-inline: var(--padding-start) var(--padding-end);\n opacity: 1;\n inline-size: auto;\n}\n.form-ctrl__clear-btn.sc-nano-select:hover {\n color: var(--clear-btn-color--hover);\n}\n\n.sc-nano-select-h {\n \n --placeholder-color: var(--nano-input-placeholder-color, initial);\n --placeholder-font-style: var(--nano-input-placeholder-style, initial);\n --placeholder-font-weight: var(--nano-input-placeholder-weight, initial);\n --placeholder-opacity: var(--nano-input-placeholder-opacity, 0.5);\n --padding-top: var(--nano-input-padding-top, var(--nano-input-padding, 8px));\n --padding-end: var(--nano-input-padding-end, var(--nano-input-padding, 8px));\n --padding-bottom: var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));\n --padding-start: var(--nano-input-padding-start, var(--nano-input-padding, 8px));\n --color-invalid: var(--nano-color-danger-rgb, 239 65 53);\n --color--focus-rgb:\n var(\n --nano-color-base-rgb,\n var(--nano-color-primary-rgb, 0 116 149)\n );\n --input-font-size: var(--nano-input-font-size, 0.87em);\n --input-text-color: var(--nano-input-text-color, #4a4a4a);\n --input-border-width: var(--nano-input-border-width, 1px);\n --input-border-hint-width: 3px;\n --input-border-color: var(--nano-input-border-color, #e4e6e8);\n --input-border-radius: var(--nano-input-border-radius, 0);\n --input-border-style: var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);\n --input-border-style--focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);\n --input-border-style--invalid: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #e4e6e8);\n --input-border-style--invalid-focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #ef4135);\n --input-bg-color: var(--nano-input-background-color, #fff);\n --input-bg-color--focus: var(--input-bg-color);\n --input-bg-color--invalid: var(--nano-input-background-color, white);\n --invalid-msg-color: rgb(var(--color-invalid) / 100%);\n --invalid-msg-font-size: var(--nano-input-help-font-size, 0.75em);\n --help-msg-color: var(--nano-input-help-color, #616d6e);\n --clear-btn-color: var(--nano-clear-btn-color, rgba(0, 0, 0, 0.3));\n --clear-btn-color--hover: rgb(var(--color--focus-rgb) / 100%);\n --clear-btn-color--invalid: rgb(var(--color-invalid) / 100%);\n --label-color: var(--nano-input-label-color, \"currentcolor\");\n --label-color--focus: var(--label-color);\n --label-color--invalid: var(--nano-input-label-color-invalid, \"currentcolor\");\n --label-font-size: var(--nano-input-label-color, 1em);\n --multi-input-value-bg: var(--nano-input-tag-bg, 186 220 240);\n --multi-input-value-text-color: var(--nano-input-tag-color, #455556);\n --multi-input-value-border: var(--nano-input-tag-color, #badcf0);\n \n position: relative;\n inline-size: 100%;\n padding: 0 !important;\n font-family: var(--nano-font-family, inherit);\n display: block;\n}\n\n.nano-color.sc-nano-select-h {\n --input-border-style--focus:\n var(--nano-input-border-style, solid) var(\n --nano-color-tint,\n var(--nano-color-primary-tint, #2689a5)\n );\n --multi-input-value-bg: var(--nano-color-tint-rgb);\n --multi-input-value-border: var(--nano-color-shade);\n --multi-input-value-text-color: var(--nano-color-contrast);\n color: var(--nano-color-base);\n}\n\nnano-item.sc-nano-select-h:not(.item-label), nano-item:not(.item-label) .sc-nano-select-h {\n --padding-start: 0;\n}\n\n[disabled].sc-nano-select-h:not([disabled=false]) *.sc-nano-select {\n pointer-events: none !important;\n}\n\nselect.sc-nano-select {\n display: none;\n}\n\n.select__native-input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n text-overflow: ellipsis;\n color: var(--input-text-color);\n display: inline-block;\n flex: 1;\n inline-size: 100%;\n max-inline-size: 100%;\n max-block-size: 100%;\n border: 0;\n outline: none;\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n cursor: default;\n line-height: 2.5em;\n \n \n}\n.has-float-label.sc-nano-select .select__native-input.sc-nano-select {\n line-height: 2.1em;\n min-block-size: 2.1em;\n padding-block-start: 1.4em;\n}\n.select__native-input.sc-nano-select::selection {\n background: transparent;\n}\n.select__native-input.sc-nano-select::-moz-selection {\n background: transparent;\n}\n.select__native-input.sc-nano-select::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n line-height: inherit;\n min-block-size: initial;\n}\n.select__native-input.sc-nano-select::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n}\n.select__native-input.sc-nano-select:-webkit-autofill {\n background-color: transparent;\n}\n.select__native-input.sc-nano-select::-webkit-search-decoration, .select__native-input.sc-nano-select::-webkit-search-cancel-button, .select__native-input.sc-nano-select::-webkit-search-results-button, .select__native-input.sc-nano-select::-webkit-search-results-decoration {\n -webkit-appearance: none;\n appearance: none;\n}\n.select__native-input.sc-nano-select:invalid {\n box-shadow: none;\n}\n.select__native-input.sc-nano-select::-ms-clear, .select__native-input.sc-nano-select::-ms-reveal {\n display: none;\n}\n.select__native-input.resizable.sc-nano-select {\n resize: vertical;\n overflow: auto;\n}\n.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select {\n line-height: 1.5em;\n padding-block: var(--padding-top) var(--padding-bottom);\n white-space: pre-wrap;\n}\n.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select::placeholder {\n line-height: 1.5em;\n}\n.has-float-label.textarea.sc-nano-select .select__native-input.sc-nano-select {\n padding-block-start: 1.8em;\n}\n.masked.sc-nano-select-h .select__native-input.sc-nano-select {\n opacity: 0;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n}\n\n.select__mask.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n pointer-events: none;\n line-height: 2.5em;\n min-block-size: 2.5em;\n}\n\n.select__multi-wrap.sc-nano-select {\n padding-block: 0 var(--padding-bottom);\n padding-inline: 0 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n overflow: hidden;\n align-items: flex-start;\n}\n.has-float-label.sc-nano-select-h .select__multi-wrap.sc-nano-select {\n padding-block-start: 1em;\n}\n.select__multi-input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-bottom) 0;\n min-inline-size: 50px;\n inline-size: 100%;\n max-block-size: 100%;\n -webkit-appearance: none;\n appearance: none;\n border: 0;\n outline: none;\n display: inline-block;\n background: transparent;\n flex: 0;\n position: relative;\n box-sizing: border-box;\n line-height: calc(2.5em - var(--padding-bottom));\n block-size: calc(2.5em - var(--padding-bottom));\n}\n.select__multi-input.sc-nano-select:last-child {\n flex: 1;\n}\n.select__multi-value.sc-nano-select {\n margin-block: var(--padding-bottom) 0;\n margin-inline: var(--padding-start) -3px;\n background: rgb(var(--multi-input-value-bg)/80%);\n color: var(--multi-input-value-text-color);\n border: 1px solid;\n border-color: var(--multi-input-value-border);\n padding: 0.35em 0.5em;\n max-inline-size: 100%;\n display: flex;\n align-items: center;\n font-size: var(--input-font-size);\n letter-spacing: 1px;\n max-block-size: calc(2.5em - 8px);\n}\n.select__multi-value.sc-nano-select span.sc-nano-select {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-inline-size: 100%;\n overflow: hidden;\n}\n.select__multi-value-remove.sc-nano-select {\n background-position: center;\n padding-inline-start: 0.5em;\n margin: 0;\n color: inherit;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n -webkit-appearance: none;\n appearance: none;\n display: flex;\n align-items: center;\n inset-block-start: 0;\n font-size: 1em;\n}\n.select__multi-value-remove.sc-nano-select nano-icon.sc-nano-select {\n --color: var(--multi-input-value-text-color);\n}\n\n.form-ctrl__float-label.sc-nano-select {\n inline-size: calc(100% - (1em + var(--padding-start) * 2));\n}\n.has-focus.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(-110%);\n font-size: 0.8em;\n}\n.has-value.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(21%);\n inset-block-start: 0;\n}\n\n.has-focus.sc-nano-select-h select.sc-nano-select, .has-focus.sc-nano-select-h a.sc-nano-select, .has-focus.sc-nano-select-h button.sc-nano-select {\n pointer-events: auto;\n}";
22460
+ const selectCss = ".sc-nano-select-h {\n box-sizing: border-box;\n}\n\n*.sc-nano-select, *.sc-nano-select::before, *.sc-nano-select::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-select {\n display: none !important;\n}\n[disabled].sc-nano-select-h:not([disabled=false]) {\n opacity: 0.5;\n}\n\n.form-ctrl.sc-nano-select {\n min-inline-size: 100%;\n display: block;\n}\n.form-ctrl.has-helper-end.sc-nano-select {\n display: flex;\n gap: 1rem;\n container-type: inline-size;\n}\n.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__wrapper.sc-nano-select {\n flex: 1 1 100%;\n}\n.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__helper-end.sc-nano-select {\n display: none;\n}\n@container (min-width: 350px) {\n .form-ctrl.has-helper-end .form-ctrl__helper-end {\n display: block !important;\n }\n .form-ctrl.has-helper-end .form-ctrl__helper {\n display: none !important;\n }\n}\n\n.form-ctrl__wrapper.sc-nano-select {\n display: block;\n}\n\nlabel.sc-nano-select, .form-ctrl__more.sc-nano-select, .form-ctrl__error.sc-nano-select, .form-ctrl__helper.sc-nano-select {\n display: block;\n inline-size: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nlabel.visually-hide.sc-nano-select, .form-ctrl__more.visually-hide.sc-nano-select, .form-ctrl__error.visually-hide.sc-nano-select, .form-ctrl__helper.visually-hide.sc-nano-select {\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n.form-ctrl__float-label.sc-nano-select {\n padding-block: 0;\n padding-inline: var(--padding-start) 0;\n color: var(--label-color);\n position: absolute;\n font-size: 1.15em;\n transform: translateY(-50%);\n transform-origin: top left;\n inset-block-start: 50%;\n transition: all 0.125s ease-in;\n opacity: 1;\n}\n.has-focus.sc-nano-select-h .form-ctrl__float-label.sc-nano-select, .has-value.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(-110%);\n font-size: 0.8em;\n opacity: 0.7;\n}\n.form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-select-h .form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select, .has-value.sc-nano-select-h .form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n opacity: 1;\n}\n.form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 50%;\n}\n.has-focus.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n.has-value.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n\n.form-ctrl__label.sc-nano-select {\n color: var(--label-color);\n font-size: var(--label-font-size);\n padding-block-end: var(--padding-bottom);\n line-height: 1;\n display: flex;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-wrap.sc-nano-select {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select {\n margin-block: unset;\n margin-inline: 0 5px;\n opacity: 0;\n -webkit-appearance: none;\n appearance: none;\n transition: 0.3s ease opacity;\n font-size: 0.9em;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n margin-block: unset;\n margin-inline: auto 0;\n font-size: 0.9em;\n opacity: 0.5;\n}\n.has-value.sc-nano-select-h .form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select {\n opacity: 0.5;\n}\n.has-focus.sc-nano-select-h .form-ctrl__label.sc-nano-select {\n color: var(--label-color--focus);\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__label.sc-nano-select {\n color: var(--label-color--invalid);\n}\n\n.has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-select-h .has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-focus.sc-nano-select-h .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-focus.sc-nano-select-h .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select {\n opacity: 1;\n}\n\n.form-ctrl__more.sc-nano-select {\n block-size: 1em;\n position: relative;\n margin-block: 4px var(--padding-bottom);\n margin-inline: 3px 0;\n}\n\n.form-ctrl__helper.sc-nano-select, .form-ctrl__error.sc-nano-select {\n inset-block-start: 0;\n inset-inline-start: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n}\n\n.form-ctrl__helper.sc-nano-select {\n font-style: italic;\n color: var(--help-msg-color);\n}\n[show-inline-error].sc-nano-select-h:not([show-inline-error=false]):not([disabled]).is-invalid .form-ctrl__helper.sc-nano-select {\n opacity: 0;\n}\n\n.form-ctrl__helper-end.sc-nano-select {\n flex: 1 1 30%;\n min-inline-size: 150px;\n font-size: var(--invalid-msg-font-size);\n color: var(--help-msg-color);\n font-style: italic;\n}\n\n.form-ctrl__error.sc-nano-select {\n opacity: 0;\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__error.sc-nano-select {\n opacity: 1;\n}\n\n.form-ctrl__input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n border-radius: var(--input-border-radius);\n inline-size: 100%;\n padding: 0 !important;\n position: relative;\n flex: 1 0 auto;\n display: flex;\n background: var(--input-bg-color);\n border: var(--input-border-style);\n border-width: var(--input-border-width);\n font-size: var(--input-font-size);\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.has-focus.sc-nano-select-h .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--focus);\n border: var(--input-border-style--focus);\n border-width: var(--input-border-width);\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid);\n border-width: var(--input-border-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n padding-inline-start: 0 !important;\n}\n.is-invalid.has-focus.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid-focus);\n border-width: var(--input-border-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n padding-inline-start: 0 !important;\n}\n\n.form-ctrl__input-wrap.sc-nano-select {\n display: flex;\n align-items: stretch;\n flex: 1;\n max-inline-size: 100%;\n}\n\n.form-ctrl__clear-btn.sc-nano-select, .form-ctrl__slot-end.sc-nano-select, .form-ctrl__slot-start.sc-nano-select, .form-ctrl__slot-value-end.sc-nano-select {\n --nano-icon-size: 1.4em;\n margin-block: 0;\n margin-inline: 0;\n font-size: 1em;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n display: flex;\n align-items: stretch;\n inline-size: auto;\n}\n\n.has-float-label.sc-nano-select .form-ctrl__slot-start.sc-nano-select {\n display: none;\n}\n\n.form-ctrl__slot-start.sc-nano-select-s > *, .form-ctrl__slot-start .sc-nano-select-s > *, .form-ctrl__slot-end.sc-nano-select-s > *, .form-ctrl__slot-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select-s > *, .form-ctrl__slot-value-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n --nano-icon-size: 1.4em;\n padding-inline: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n font-size: 1em;\n align-items: center;\n display: flex;\n block-size: 100%;\n z-index: 1;\n}\n.sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-start.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-start .sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-end.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-end .sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end .sc-nano-select-s > *, [disabled].sc-nano-select-h:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n pointer-events: none;\n}\n\n.form-ctrl__slot-value-end.sc-nano-select-s > *, .form-ctrl__slot-value-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n pointer-events: none;\n}\n\n.form-ctrl__clear-btn.sc-nano-select {\n color: var(--clear-btn-color);\n padding: 0;\n opacity: 0;\n inline-size: 0;\n -webkit-appearance: none;\n appearance: none;\n align-items: center;\n overflow: hidden;\n}\n.is-invalid.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select {\n color: var(--clear-btn-color--invalid);\n}\n.has-value.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select {\n padding-block: 0;\n padding-inline: var(--padding-start) var(--padding-end);\n opacity: 1;\n inline-size: auto;\n}\n.form-ctrl__clear-btn.sc-nano-select:hover {\n color: var(--clear-btn-color--hover);\n}\n\n.sc-nano-select-h {\n \n --placeholder-color: var(--nano-input-placeholder-color, initial);\n --placeholder-font-style: var(--nano-input-placeholder-style, initial);\n --placeholder-font-weight: var(--nano-input-placeholder-weight, initial);\n --placeholder-opacity: var(--nano-input-placeholder-opacity, 0.5);\n --padding-top: var(--nano-input-padding-top, var(--nano-input-padding, 8px));\n --padding-end: var(--nano-input-padding-end, var(--nano-input-padding, 8px));\n --padding-bottom: var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));\n --padding-start: var(--nano-input-padding-start, var(--nano-input-padding, 8px));\n --color-invalid: var(--nano-color-danger-rgb, 239 65 53);\n --color--focus-rgb:\n var(\n --nano-color-base-rgb,\n var(--nano-color-primary-rgb, 0 116 149)\n );\n --input-font-size: var(--nano-input-font-size, 0.87em);\n --input-text-color: var(--nano-input-text-color, #4a4a4a);\n --input-border-width: var(--nano-input-border-width, 1px);\n --input-border-hint-width: 3px;\n --input-border-color: var(--nano-input-border-color, #e4e6e8);\n --input-border-radius: var(--nano-input-border-radius, 0);\n --input-border-style: var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);\n --input-border-style--focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);\n --input-border-style--invalid: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #e4e6e8);\n --input-border-style--invalid-focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #ef4135);\n --input-bg-color: var(--nano-input-background-color, #fff);\n --input-bg-color--focus: var(--input-bg-color);\n --input-bg-color--invalid: var(--nano-input-background-color, white);\n --invalid-msg-color: rgb(var(--color-invalid) / 100%);\n --invalid-msg-font-size: var(--nano-input-help-font-size, 0.75em);\n --help-msg-color: var(--nano-input-help-color, #616d6e);\n --clear-btn-color: var(--nano-clear-btn-color, rgba(0, 0, 0, 0.3));\n --clear-btn-color--hover: rgb(var(--color--focus-rgb) / 100%);\n --clear-btn-color--invalid: rgb(var(--color-invalid) / 100%);\n --label-color: var(--nano-input-label-color, \"currentcolor\");\n --label-color--focus: var(--label-color);\n --label-color--invalid: var(--nano-input-label-color-invalid, \"currentcolor\");\n --label-font-size: var(--nano-input-label-color, 1em);\n --multi-input-value-bg: var(--nano-input-tag-bg, 186 220 240);\n --multi-input-value-text-color: var(--nano-input-tag-color, #455556);\n --multi-input-value-border: var(--nano-input-tag-color, #badcf0);\n \n position: relative;\n inline-size: 100%;\n padding: 0 !important;\n font-family: var(--nano-font-family, inherit);\n display: block;\n}\n\n.nano-color.sc-nano-select-h {\n --input-border-style--focus:\n var(--nano-input-border-style, solid) var(\n --nano-color-tint,\n var(--nano-color-primary-tint, #2689a5)\n );\n --multi-input-value-bg: var(--nano-color-tint-rgb);\n --multi-input-value-border: var(--nano-color-shade);\n --multi-input-value-text-color: var(--nano-color-contrast);\n color: var(--nano-color-base);\n}\n\nnano-item.sc-nano-select-h:not(.item-label), nano-item:not(.item-label) .sc-nano-select-h {\n --padding-start: 0;\n}\n\n[disabled].sc-nano-select-h:not([disabled=false]) *.sc-nano-select {\n pointer-events: none !important;\n}\n\nselect.sc-nano-select {\n display: none;\n}\n\n.select__native-input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n text-overflow: ellipsis;\n color: var(--input-text-color);\n display: inline-block;\n flex: 1;\n inline-size: 100%;\n max-inline-size: 100%;\n max-block-size: 100%;\n border: 0;\n outline: none;\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n cursor: default;\n line-height: 2.5em;\n \n \n}\n.has-float-label.sc-nano-select .select__native-input.sc-nano-select {\n line-height: 2.1em;\n min-block-size: 2.1em;\n padding-block-start: 1.4em;\n}\n.select__native-input.sc-nano-select::selection {\n background: transparent;\n}\n.select__native-input.sc-nano-select::-moz-selection {\n background: transparent;\n}\n.select__native-input.sc-nano-select::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n line-height: inherit;\n min-block-size: initial;\n}\n.select__native-input.sc-nano-select::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n}\n.select__native-input.sc-nano-select:-webkit-autofill {\n background-color: transparent;\n}\n.select__native-input.sc-nano-select::-webkit-search-decoration, .select__native-input.sc-nano-select::-webkit-search-cancel-button, .select__native-input.sc-nano-select::-webkit-search-results-button, .select__native-input.sc-nano-select::-webkit-search-results-decoration {\n -webkit-appearance: none;\n appearance: none;\n}\n.select__native-input.sc-nano-select:invalid {\n box-shadow: none;\n}\n.select__native-input.sc-nano-select::-ms-clear, .select__native-input.sc-nano-select::-ms-reveal {\n display: none;\n}\n.select__native-input.resizable.sc-nano-select {\n resize: vertical;\n overflow: auto;\n}\n.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select {\n line-height: 1.5em;\n padding-block: var(--padding-top) var(--padding-bottom);\n white-space: pre-wrap;\n}\n.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select::placeholder {\n line-height: 1.5em;\n}\n.has-float-label.textarea.sc-nano-select .select__native-input.sc-nano-select {\n padding-block-start: 1.8em;\n}\n.masked.sc-nano-select-h .select__native-input.sc-nano-select {\n opacity: 0;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n}\n\n.select__mask.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n pointer-events: none;\n line-height: 2.5em;\n min-block-size: 2.5em;\n}\n\n.select__multi-wrap.sc-nano-select {\n padding-block: 0 var(--padding-bottom);\n padding-inline: 0 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n overflow: hidden;\n align-items: flex-start;\n}\n.has-float-label.sc-nano-select-h .select__multi-wrap.sc-nano-select {\n padding-block-start: 1em;\n}\n.select__multi-input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-bottom) 0;\n min-inline-size: 50px;\n inline-size: 100%;\n max-block-size: 100%;\n -webkit-appearance: none;\n appearance: none;\n border: 0;\n outline: none;\n display: inline-block;\n background: transparent;\n flex: 0;\n position: relative;\n box-sizing: border-box;\n line-height: calc(2.5em - var(--padding-bottom));\n block-size: calc(2.5em - var(--padding-bottom));\n}\n.select__multi-input.sc-nano-select:last-child {\n flex: 1;\n}\n.select__multi-value.sc-nano-select {\n margin-block: var(--padding-bottom) 0;\n margin-inline: var(--padding-start) -3px;\n background: rgb(var(--multi-input-value-bg)/80%);\n color: var(--multi-input-value-text-color);\n border: 1px solid;\n border-color: var(--multi-input-value-border);\n padding: 0.35em 0.5em;\n display: flex;\n align-items: center;\n font-size: var(--input-font-size);\n letter-spacing: 1px;\n max-block-size: calc(2.5em - 8px);\n max-inline-size: calc(100% - 8px);\n border-radius: 4px;\n}\n.select__multi-value.sc-nano-select span.sc-nano-select {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-inline-size: 100%;\n overflow: hidden;\n}\n.select__multi-value-remove.sc-nano-select {\n background-position: center;\n padding-inline-start: 0.5em;\n margin: 0;\n color: inherit;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n -webkit-appearance: none;\n appearance: none;\n display: flex;\n align-items: center;\n inset-block-start: 0;\n font-size: 1em;\n}\n.select__multi-value-remove.sc-nano-select nano-icon.sc-nano-select {\n --color: var(--multi-input-value-text-color);\n}\n\n.form-ctrl__float-label.sc-nano-select {\n inline-size: calc(100% - (1em + var(--padding-start) * 2));\n}\n.has-focus.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(-110%);\n font-size: 0.8em;\n}\n.has-value.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(21%);\n inset-block-start: 0;\n}\n\n.has-focus.sc-nano-select-h select.sc-nano-select, .has-focus.sc-nano-select-h a.sc-nano-select, .has-focus.sc-nano-select-h button.sc-nano-select {\n pointer-events: auto;\n}";
22456
22461
 
22457
22462
  let selectIds = 0;
22458
22463
  /**
@@ -22463,8 +22468,8 @@ let selectIds = 0;
22463
22468
  *
22464
22469
  * @slot start - suitable for inline action buttons or icons that may add extra contextual information
22465
22470
  * @slot end - suitable for inline action buttons or icons that may add extra contextual information
22466
- * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist
22467
- * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist
22471
+ * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secondary 'value' for context or to show a dropdown arrow if using a datalist
22472
+ * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secondary 'value' for context or to show a dropdown arrow if using a datalist
22468
22473
  * @slot label - if you do not set a label attribute, you can use this slot for more complex markup
22469
22474
  * @slot helper - helper text to accompany the form field underneath.
22470
22475
  * @slot helper-end - helper text to accompany the form field on the side.
@@ -22578,14 +22583,16 @@ class Select {
22578
22583
  return;
22579
22584
  if (this.max && this.value.length === this.max)
22580
22585
  return;
22581
- this.currInsertIndex++;
22586
+ if (Number.isNaN(this._maxValuesVisible) ||
22587
+ this.value.length <= this._maxValuesVisible) {
22588
+ this.currInsertIndex++;
22589
+ }
22582
22590
  this.value = [
22583
22591
  ...this.value.slice(0, this.currInsertIndex),
22584
22592
  e.detail.value,
22585
22593
  ...this.value.slice(this.currInsertIndex),
22586
22594
  ];
22587
22595
  this.inputSearchVal = '';
22588
- // this.selectWrap.clientWidth; // force reflow
22589
22596
  };
22590
22597
  this.removeValue = (toFind) => {
22591
22598
  if (!this.multiple || !this.value.length)
@@ -22593,8 +22600,10 @@ class Select {
22593
22600
  if (!toFind)
22594
22601
  toFind = this.value[this.value.length - 1];
22595
22602
  this.value = this.value.filter((val) => val !== toFind);
22596
- this.currInsertIndex--;
22597
- // this.selectWrap.clientWidth; // force reflow
22603
+ if (Number.isNaN(this._maxValuesVisible) ||
22604
+ this.value.length <= this._maxValuesVisible) {
22605
+ this.currInsertIndex--;
22606
+ }
22598
22607
  this.setFocus();
22599
22608
  };
22600
22609
  this.setOptions = () => {
@@ -22602,7 +22611,7 @@ class Select {
22602
22611
  !this.datalist.activeOptions ||
22603
22612
  !this.datalist.activeOptions.length)
22604
22613
  return;
22605
- this._eOptions = this.datalist.activeOptions.map((ao) => {
22614
+ this._elementOptions = this.datalist.activeOptions.map((ao) => {
22606
22615
  const { value, selected, label, filterMeta } = ao;
22607
22616
  return { value, selected, label, filterMeta };
22608
22617
  });
@@ -22727,6 +22736,7 @@ class Select {
22727
22736
  this.hideLabel = false;
22728
22737
  this.floatLabel = false;
22729
22738
  this.multiple = false;
22739
+ this.maxValuesVisible = 3;
22730
22740
  this.name = this.selectId + '-name';
22731
22741
  this.placeholder = undefined;
22732
22742
  this.readonly = false;
@@ -22736,11 +22746,12 @@ class Select {
22736
22746
  this.min = undefined;
22737
22747
  this.form = undefined;
22738
22748
  this.allowCustomValues = false;
22739
- this._eOptions = [];
22749
+ this._elementOptions = [];
22740
22750
  this.clearSelect = false;
22741
22751
  this.mask = false;
22742
22752
  this.debounce = 0;
22743
22753
  this.dropDownConfig = {};
22754
+ this.valueTagTemplate = undefined;
22744
22755
  this.showInlineValidation = debounce$2(this.showInlineValidation, 50);
22745
22756
  }
22746
22757
  /**
@@ -22758,6 +22769,23 @@ class Select {
22758
22769
  return '';
22759
22770
  return this.nativeSelect.validationMessage;
22760
22771
  }
22772
+ watchMaxValuesVisible() {
22773
+ if (!this.multiple)
22774
+ return;
22775
+ this._maxValuesVisible =
22776
+ this.maxValuesVisible === false ? NaN : Number(this.maxValuesVisible);
22777
+ // make sure maxValuesVisible is a number
22778
+ if (!Number.isNaN(this._maxValuesVisible)) {
22779
+ if (this.currInsertIndex > this._maxValuesVisible) {
22780
+ // make the input position is no more than the max
22781
+ this.currInsertIndex = this._maxValuesVisible;
22782
+ }
22783
+ }
22784
+ else {
22785
+ // if maxValuesVisible is undefined, it will be `NaN`
22786
+ this.currInsertIndex = this.value.length - 1;
22787
+ }
22788
+ }
22761
22789
  /**
22762
22790
  * The value of the select.
22763
22791
  */
@@ -22789,7 +22817,7 @@ class Select {
22789
22817
  return this._options;
22790
22818
  if (!this.datalist || !this.datalist.activeOptions)
22791
22819
  return [];
22792
- return this._eOptions.map((ao) => {
22820
+ return this._elementOptions.map((ao) => {
22793
22821
  const { value, selected, label, filterMeta } = ao;
22794
22822
  return { value, selected, label, filterMeta };
22795
22823
  });
@@ -22836,7 +22864,11 @@ class Select {
22836
22864
  return;
22837
22865
  this.datalist.input = this.inputCtrl;
22838
22866
  const currDWConfig = this.datalist.dropDownConfig || {};
22839
- this.datalist.dropDownConfig = Object.assign(Object.assign(Object.assign({}, currDWConfig), this.dropDownConfig), { tetherTo: this.selectWrap });
22867
+ this.datalist.dropDownConfig = {
22868
+ ...currDWConfig,
22869
+ ...this.dropDownConfig,
22870
+ tetherTo: this.selectWrap,
22871
+ };
22840
22872
  }
22841
22873
  // Public Methods
22842
22874
  /**
@@ -22908,12 +22940,20 @@ class Select {
22908
22940
  this.hasHelperSlot = !!this.el.querySelector('[slot="helper"]');
22909
22941
  this.hasHelperEndSlot = !!this.el.querySelector('[slot="helper-end"]');
22910
22942
  }
22911
- getLabel(toFind) {
22912
- const label = this.options.find((opt) => {
22913
- var _a;
22914
- return !opt.disabled && ((_a = opt.value) === null || _a === void 0 ? void 0 : _a.length) && opt.value === toFind;
22943
+ getOptionWithValue(value) {
22944
+ let index;
22945
+ const options = this.datalist.activeOptions.length
22946
+ ? this.datalist.activeOptions
22947
+ : this.options;
22948
+ const option = options.find((opt, i) => {
22949
+ index = i;
22950
+ return !opt.disabled && opt.value?.length && opt.value === value;
22915
22951
  });
22916
- return label && label.label ? label.label : toFind;
22952
+ return [option, index];
22953
+ }
22954
+ getLabel(toFind) {
22955
+ const option = this.getOptionWithValue(toFind)[0];
22956
+ return option && option.label ? option.label : toFind;
22917
22957
  }
22918
22958
  /* Event handling */
22919
22959
  onReset(e) {
@@ -22945,6 +22985,7 @@ class Select {
22945
22985
  /* Stencil Component lifecycle hooks */
22946
22986
  connectedCallback() {
22947
22987
  this.debounceChanged();
22988
+ this.watchMaxValuesVisible();
22948
22989
  return;
22949
22990
  }
22950
22991
  disconnectedCallback() {
@@ -22983,15 +23024,31 @@ class Select {
22983
23024
  placeholder,
22984
23025
  rtl,
22985
23026
  }))(this);
22986
- const wrapOptions = Object.assign(Object.assign({}, compWrapOptions), { labelId,
23027
+ const wrapOptions = {
23028
+ ...compWrapOptions,
23029
+ labelId,
22987
23030
  moreId,
22988
- helperEndId, hasValue: !!this.value.length || !!this.inputSearchVal.length, controlId: this.selectId });
23031
+ helperEndId,
23032
+ hasValue: !!this.value.length || !!this.inputSearchVal.length,
23033
+ controlId: this.selectId,
23034
+ };
22989
23035
  const controlOptions = (({ readonly, disabled }) => ({
22990
23036
  readonly,
22991
23037
  disabled,
22992
23038
  clearControl: this.clearSelect,
22993
23039
  }))(this);
22994
- return (hAsync(Host, { type: this.multiple ? 'select-multiple' : 'select-one', "aria-disabled": this.disabled ? 'true' : null, class: Object.assign(Object.assign({}, createColorClasses(this.color)), { 'has-value': !!this.value.length || !!this.inputSearchVal.length, 'has-focus': this.hasFocus, 'is-invalid': this.invalid, 'has-label': this.label !== null && !this.floatLabel, 'has-float-label': this.label !== null && this.floatLabel, rtl: this.rtl, 'has-multiple': this.multiple, 'has-clr-btn': this.clearSelect, masked: this.mask }) }, hAsync(FormControlWrap, Object.assign({}, wrapOptions), hAsync(FormControl, Object.assign({}, controlOptions, { onClearText: this.clearSelectValue, control: this.el, ref: (el) => (this.selectWrap = el), endValueSlot: hAsync("slot", { name: "down-arrow" }, hAsync("nano-icon", { slot: "value-end", name: "light/chevron-down" })) }), this.multiple && (hAsync("div", { class: "select__multi-wrap select" }, this.multipleValues(labelId, moreId, helperEndId))), !this.multiple && [
23040
+ return (hAsync(Host, { type: this.multiple ? 'select-multiple' : 'select-one', "aria-disabled": this.disabled ? 'true' : null, class: {
23041
+ ...createColorClasses(this.color),
23042
+ 'has-value': !!this.value.length || !!this.inputSearchVal.length,
23043
+ 'has-focus': this.hasFocus,
23044
+ 'is-invalid': this.invalid,
23045
+ 'has-label': this.label !== null && !this.floatLabel,
23046
+ 'has-float-label': this.label !== null && this.floatLabel,
23047
+ rtl: this.rtl,
23048
+ 'has-multiple': this.multiple,
23049
+ 'has-clr-btn': this.clearSelect,
23050
+ masked: this.mask,
23051
+ } }, hAsync(FormControlWrap, { ...wrapOptions }, hAsync(FormControl, { ...controlOptions, onClearText: this.clearSelectValue, control: this.el, ref: (el) => (this.selectWrap = el), endValueSlot: hAsync("slot", { name: "down-arrow" }, hAsync("nano-icon", { slot: "value-end", name: "light/chevron-down" })) }, this.multiple && (hAsync("div", { class: "select__multi-wrap select" }, this.multipleValues(labelId, moreId, helperEndId))), !this.multiple && [
22995
23052
  this.mask && (hAsync("div", { class: "select__mask" }, this.getLabel(this.value))),
22996
23053
  hAsync("input", { id: this.selectId, class: "select__native-input", ref: (input) => (this.inputCtrl = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, form: this.form, placeholder: this.placeholder, readOnly: true, required: this.required, value: this.getLabel(this.value), onFocus: this.onFocus }),
22997
23054
  ])), !this.readonly && !this.disabled && (hAsync("nano-datalist", { onNanoOptionsUpdated: this.setOptions, ref: (el) => (this.datalist = el), selected: this.valArray, type: this.multiple ? 'selctMulti' : 'select', onNanoSelect: this.setValue, onNanoDeselect: (e) => {
@@ -23011,21 +23068,38 @@ class Select {
23011
23068
  const input = (hAsync("input", { class: "select__multi-input", id: this.selectId, ref: (input) => (this.inputCtrl = input), readOnly: this.readonly, disabled: this.disabled, autoFocus: this.autofocus, autocomplete: "off", onKeyDown: this.handleDocumentKeyDown, onInput: this.onMultiInput, value: this.inputSearchVal, onTouchStart: this.onClick, onMouseDown: this.onClick, onFocus: this.onFocus, placeholder: this.placeholder && !this.value.length ? this.placeholder : '', "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId }));
23012
23069
  if (!this.value.length)
23013
23070
  return input;
23014
- return this.value.map((val, i) => {
23015
- let toReturn = (hAsync("span", { onDragStart: this.onDragStart, onDragLeave: this.onDragLeave, onDragEnd: this.onDragEnd, onDragOver: (e) => e.preventDefault(), draggable: true, "data-value": val, ref: (span) => this.valueItems.push(span), class: "select__multi-value" }, hAsync("span", null, this.getLabel(val)), hAsync("button", { class: "select__multi-value-remove", type: "button", tabindex: "-1", onTouchEnd: () => {
23016
- this.removeValue(val);
23017
- }, onMouseUp: () => {
23018
- this.removeValue(val);
23019
- } }, hAsync("nano-icon", { name: "light/times" }))));
23020
- if (i === 0 && this.currInsertIndex < 0)
23021
- toReturn = [input, toReturn];
23022
- else if (i === this.currInsertIndex)
23023
- toReturn = [toReturn, input];
23024
- return toReturn;
23071
+ const toReturn = [];
23072
+ this.value.forEach((val, i) => {
23073
+ if (!Number.isNaN(this._maxValuesVisible) && i > this._maxValuesVisible)
23074
+ return;
23075
+ let valueTag;
23076
+ if (i === this._maxValuesVisible) {
23077
+ valueTag = (hAsync("span", { "data-value": val, class: "select__multi-value" }, hAsync("span", null, "+", this.value.length - this._maxValuesVisible)));
23078
+ }
23079
+ else {
23080
+ valueTag = (hAsync("span", { onDragStart: this.onDragStart, onDragLeave: this.onDragLeave, onDragEnd: this.onDragEnd, onDragOver: (e) => e.preventDefault(), draggable: true, "data-value": val, ref: (span) => this.valueItems.push(span), class: "select__multi-value" }, this.valueTagTemplate ? (hAsync("span", { innerHTML: this.valueTagTemplate
23081
+ ? this.valueTagTemplate(...this.getOptionWithValue(val))
23082
+ : undefined })) : (hAsync("span", null, this.getLabel(val))), hAsync("button", { class: "select__multi-value-remove", type: "button", tabindex: "-1", onTouchEnd: () => {
23083
+ this.removeValue(val);
23084
+ }, onMouseUp: () => {
23085
+ this.removeValue(val);
23086
+ } }, hAsync("nano-icon", { name: "light/times" }))));
23087
+ }
23088
+ if (i === 0 && this.currInsertIndex < 0) {
23089
+ toReturn.push(input, valueTag);
23090
+ }
23091
+ else if (i === this.currInsertIndex) {
23092
+ toReturn.push(valueTag, input);
23093
+ }
23094
+ else {
23095
+ toReturn.push(valueTag);
23096
+ }
23025
23097
  });
23098
+ return toReturn;
23026
23099
  }
23027
23100
  get el() { return getElement(this); }
23028
23101
  static get watchers() { return {
23102
+ "maxValuesVisible": ["watchMaxValuesVisible"],
23029
23103
  "debounce": ["debounceChanged"],
23030
23104
  "required": ["shouldValidate"],
23031
23105
  "disabled": ["shouldValidate"],
@@ -23051,6 +23125,7 @@ class Select {
23051
23125
  "hideLabel": [4, "hide-label"],
23052
23126
  "floatLabel": [4, "float-label"],
23053
23127
  "multiple": [4],
23128
+ "maxValuesVisible": [1032, "max-values-visible"],
23054
23129
  "name": [1],
23055
23130
  "placeholder": [1],
23056
23131
  "readonly": [516],
@@ -23066,6 +23141,7 @@ class Select {
23066
23141
  "mask": [4],
23067
23142
  "debounce": [2],
23068
23143
  "dropDownConfig": [1040],
23144
+ "valueTagTemplate": [16],
23069
23145
  "currInsertIndex": [32],
23070
23146
  "showErrorMsg": [32],
23071
23147
  "errorMessage": [32],
@@ -23075,7 +23151,7 @@ class Select {
23075
23151
  "hasHelperEndSlot": [32],
23076
23152
  "inputSearchVal": [32],
23077
23153
  "_invalid": [32],
23078
- "_eOptions": [32],
23154
+ "_elementOptions": [32],
23079
23155
  "reportValidity": [64],
23080
23156
  "setFocus": [64],
23081
23157
  "getSelectElement": [64],
@@ -25840,17 +25916,6 @@ class Slides {
25840
25916
  flickity.resize();
25841
25917
  flickity.reposition();
25842
25918
  }
25843
- /**
25844
- * Force flickity to update its height (when adaptiveHeight is enabled) for the duration
25845
- * equal to 'speed' parameter.
25846
- *
25847
- * @param speed The transition duration (in ms).
25848
- */
25849
- async updateAutoHeight(speed) {
25850
- const vp = document.querySelector('.flickity-viewport');
25851
- if (vp)
25852
- vp.style.transition = speed + 'ms';
25853
- }
25854
25919
  /**
25855
25920
  * Transition to the specified slide.
25856
25921
  *
@@ -26012,10 +26077,20 @@ class Slides {
26012
26077
  this.ready = true;
26013
26078
  if (!window['ResizeObserver'])
26014
26079
  return;
26015
- // just boots and braces to make sure it's the correct size oninit
26080
+ if (this.resizeO) {
26081
+ this.resizeO.disconnect();
26082
+ this.resizeO = undefined;
26083
+ }
26016
26084
  const ro = (this.resizeO = new ResizeObserver(() => {
26017
- flick.resize();
26018
- // this.resizeO.disconnect();
26085
+ readTask(() => {
26086
+ const vp = this.host.shadowRoot.querySelector('.flickity-viewport');
26087
+ writeTask(() => {
26088
+ // reset the height, otherwise it *only* gets bigger
26089
+ if (vp)
26090
+ vp.style.height = '';
26091
+ flick.resize();
26092
+ });
26093
+ });
26019
26094
  }));
26020
26095
  ro.observe(this.host);
26021
26096
  }, 100);
@@ -26063,10 +26138,10 @@ class Slides {
26063
26138
  };
26064
26139
  const customEvents = !!this.options && !!this.options.on ? this.options.on : {};
26065
26140
  // merge "on" event listeners, while giving our event listeners priority
26066
- const mergedEventOptions = { on: Object.assign(Object.assign({}, customEvents), eventOptions) };
26141
+ const mergedEventOptions = { on: { ...customEvents, ...eventOptions } };
26067
26142
  // Merge the base, user options, and events together then pass to flickity
26068
26143
  // @ts-ignore
26069
- return Object.assign(Object.assign(Object.assign({}, flickityOptions), mergedEventOptions), this.options);
26144
+ return { ...flickityOptions, ...mergedEventOptions, ...this.options };
26070
26145
  }
26071
26146
  componentDidLoad() {
26072
26147
  }
@@ -26082,8 +26157,10 @@ class Slides {
26082
26157
  this.mutationO.disconnect();
26083
26158
  this.mutationO = undefined;
26084
26159
  }
26085
- if (this.resizeO)
26160
+ if (this.resizeO) {
26086
26161
  this.resizeO.disconnect();
26162
+ this.resizeO = undefined;
26163
+ }
26087
26164
  this.destroyflickity();
26088
26165
  }
26089
26166
  render() {
@@ -26127,7 +26204,6 @@ class Slides {
26127
26204
  "slidesReady": [32],
26128
26205
  "didInit": [32],
26129
26206
  "update": [64],
26130
- "updateAutoHeight": [64],
26131
26207
  "slideTo": [64],
26132
26208
  "slideNext": [64],
26133
26209
  "slidePrev": [64],
@@ -26195,32 +26271,32 @@ function drag(container, options) {
26195
26271
  x = pointerEvent.pageX - offsetX;
26196
26272
  y = pointerEvent.pageY - offsetY;
26197
26273
  }
26198
- if (options === null || options === void 0 ? void 0 : options.onMove) {
26274
+ if (options?.onMove) {
26199
26275
  options.onMove(x, y);
26200
26276
  }
26201
26277
  }
26202
26278
  function stop() {
26203
26279
  document.removeEventListener('pointermove', move);
26204
26280
  document.removeEventListener('pointerup', stop);
26205
- if (options === null || options === void 0 ? void 0 : options.onStop) {
26281
+ if (options?.onStop) {
26206
26282
  options.onStop();
26207
26283
  }
26208
26284
  }
26209
26285
  document.addEventListener('pointermove', move, { passive: true });
26210
26286
  document.addEventListener('pointerup', stop);
26211
- if (!!!(options === null || options === void 0 ? void 0 : options.initialEvent))
26287
+ if (!!!options?.initialEvent)
26212
26288
  return;
26213
26289
  let initialEvent;
26214
- if (options === null || options === void 0 ? void 0 : options.initialEvent['touches']) {
26290
+ if (options?.initialEvent['touches']) {
26215
26291
  initialEvent = {
26216
- pageX: (options === null || options === void 0 ? void 0 : options.initialEvent).touches[0].pageX,
26217
- pageY: (options === null || options === void 0 ? void 0 : options.initialEvent).touches[0].pageY,
26292
+ pageX: (options?.initialEvent).touches[0].pageX,
26293
+ pageY: (options?.initialEvent).touches[0].pageY,
26218
26294
  };
26219
26295
  }
26220
26296
  else {
26221
26297
  initialEvent = {
26222
- pageX: (options === null || options === void 0 ? void 0 : options.initialEvent).pageX,
26223
- pageY: (options === null || options === void 0 ? void 0 : options.initialEvent).pageY,
26298
+ pageX: (options?.initialEvent).pageX,
26299
+ pageY: (options?.initialEvent).pageY,
26224
26300
  };
26225
26301
  }
26226
26302
  const defaultView = container.ownerDocument.defaultView;
@@ -26275,9 +26351,8 @@ class Sortable {
26275
26351
  }
26276
26352
  /** If sortable elements change dynamically, use this method to add handle controls to new elements */
26277
26353
  async refreshKeyboardHandles() {
26278
- var _a, _b, _c;
26279
26354
  if (this.handleSelector) {
26280
- if ((_a = this.keyboardHandleMap) === null || _a === void 0 ? void 0 : _a.size) {
26355
+ if (this.keyboardHandleMap?.size) {
26281
26356
  this.keyboardHandleMap.clear();
26282
26357
  }
26283
26358
  this.sortableHost
@@ -26291,8 +26366,8 @@ class Sortable {
26291
26366
  });
26292
26367
  return;
26293
26368
  }
26294
- if ((_b = this.keyboardHandleMap) === null || _b === void 0 ? void 0 : _b.size) {
26295
- (_c = this.keyboardHandleMap) === null || _c === void 0 ? void 0 : _c.forEach((_ele, handle) => handle.remove());
26369
+ if (this.keyboardHandleMap?.size) {
26370
+ this.keyboardHandleMap?.forEach((_ele, handle) => handle.remove());
26296
26371
  this.keyboardHandleMap.clear();
26297
26372
  }
26298
26373
  this.sortableHost
@@ -26652,7 +26727,7 @@ class Sortable {
26652
26727
  };
26653
26728
  resetTrack();
26654
26729
  // start a timer - only start dragging if pressed for 150ms
26655
- this.mouseDownTimer = window === null || window === void 0 ? void 0 : window.setTimeout(() => {
26730
+ this.mouseDownTimer = window?.setTimeout(() => {
26656
26731
  // ignore if this is not a valid drag target
26657
26732
  if (!this.trackStart(e))
26658
26733
  return;
@@ -26824,7 +26899,7 @@ class Sortable {
26824
26899
  this.dropzoneSelector = undefined;
26825
26900
  this.helperText = 'Press "Space" or "Enter" to enable element reordering and use the arrow keys to reorder items.' +
26826
26901
  'Press "Escape" to cancel reordering. Alternatively, use your mouse to drag / reorder.';
26827
- this.itemDescriptor = (el) => `"${el === null || el === void 0 ? void 0 : el.textContent.trim()}"`;
26902
+ this.itemDescriptor = (el) => `"${el?.textContent.trim()}"`;
26828
26903
  this.grabbedHelperText = (el) => `${this.itemDescriptor(el)} grabbed`;
26829
26904
  this.droppedHelperText = (el) => `${this.itemDescriptor(el)} dropped`;
26830
26905
  this.reorderHelperText = (el, elements, position) => `The list has been reordered, ${this.itemDescriptor(el)} is now item ${position} of ${elements.length}`;
@@ -26864,9 +26939,8 @@ class Sortable {
26864
26939
  this.attachMutationObserver();
26865
26940
  }
26866
26941
  disconnectedCallback() {
26867
- var _a;
26868
26942
  this.removeEventHandlers();
26869
- (_a = this.host.querySelector(`#${this.sortableId}`)) === null || _a === void 0 ? void 0 : _a.remove();
26943
+ this.host.querySelector(`#${this.sortableId}`)?.remove();
26870
26944
  if (this.mutationObserver) {
26871
26945
  this.mutationObserver.disconnect();
26872
26946
  this.mutationObserver = undefined;
@@ -28283,12 +28357,11 @@ class TabGroup {
28283
28357
  });
28284
28358
  }
28285
28359
  syncActiveTabIndicator() {
28286
- var _a;
28287
28360
  this.getAllTabs.forEach((tab) => tab.setAttribute('direction', this.placement === 'top' ? 'horizontal' : 'vertical'));
28288
28361
  const tab = this.getActiveTab;
28289
28362
  if (!tab)
28290
28363
  return;
28291
- const width = ((_a = tab.shadowRoot.querySelector('.nanotab')) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0;
28364
+ const width = tab.shadowRoot.querySelector('.nanotab')?.clientWidth || 0;
28292
28365
  const height = tab.clientHeight;
28293
28366
  const offset = getOffset(tab, this.tabs);
28294
28367
  if (!this.activeTabIndicator)
@@ -28319,7 +28392,6 @@ class TabGroup {
28319
28392
  }
28320
28393
  // Event handlers
28321
28394
  handleTabClose(ev) {
28322
- var _a;
28323
28395
  let tabIndex = this.getAllActiveTabs.indexOf(ev.target);
28324
28396
  const tab = ev.target;
28325
28397
  if (tabIndex < 0)
@@ -28334,7 +28406,7 @@ class TabGroup {
28334
28406
  // Show the previous tab if the tab is currently active
28335
28407
  if (tab.active) {
28336
28408
  tabIndex = tabIndex === 0 ? 1 : tabIndex - 1;
28337
- const prevTab = (_a = this.getAllActiveTabs[tabIndex]) === null || _a === void 0 ? void 0 : _a.panel;
28409
+ const prevTab = this.getAllActiveTabs[tabIndex]?.panel;
28338
28410
  if (prevTab)
28339
28411
  this.host.show(prevTab);
28340
28412
  }
@@ -28382,7 +28454,7 @@ class TabGroup {
28382
28454
  }
28383
28455
  render() {
28384
28456
  this.isRtl = this.host.ownerDocument.dir === 'rtl';
28385
- return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)), dir: this.isRtl ? 'rtl' : null }, hAsync("div", { part: "base", class: {
28457
+ return (hAsync(Host, { class: { ...createColorClasses(this.color) }, dir: this.isRtl ? 'rtl' : null }, hAsync("div", { part: "base", class: {
28386
28458
  'nano-tab-group': true,
28387
28459
  'nano-tab-group--top': this.placement === 'top',
28388
28460
  'nano-tab-group--start': this.placement === 'start',
@@ -28429,7 +28501,7 @@ class TabGroup {
28429
28501
  }; }
28430
28502
  }
28431
28503
 
28432
- const tabContentCss = "/*!@:host*/.sc-nano-tab-content-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-tab-content,*.sc-nano-tab-content::before,*.sc-nano-tab-content::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-tab-content{display:none !important}/*!@:host*/.sc-nano-tab-content-h{display:block;transform:translate3d(0, 0, 0);opacity:1;animation:opacity 0.3s ease-in-out forwards;animation-duration:0s !important}/*!@:host(.ready)*/.ready.sc-nano-tab-content-h{animation-duration:0.3s !important}@media only screen and (max-width: 768px){/*!@:host([animation-dir=left])*/[animation-dir=left].sc-nano-tab-content-h{animation:slide-right 0.3s ease-in-out;opacity:1}/*!@:host([animation-dir=right])*/[animation-dir=right].sc-nano-tab-content-h{animation:slide-left 0.3s ease-in-out;opacity:1}}/*!@.nano-tab-content*/.nano-tab-content.sc-nano-tab-content{position:relative}@keyframes opacity{0%{opacity:0}100%{opacity:1}}@keyframes slide-left{0%{transform:translate3d(-100%, 0, 0)}50%{transform:translate3d(0%) translate3d(-0.9em)}100%{transform:translate3d(0, 0, 0)}}@keyframes slide-right{0%{transform:translate3d(100%, 0, 0)}50%{transform:translateX(0%) translate3d(0.9em)}100%{transform:translate3d(0, 0, 0)}}@media (prefers-reduced-motion: reduce){/*!@**/*.sc-nano-tab-content{animation:none !important}}";
28504
+ const tabContentCss = "/*!@:host*/.sc-nano-tab-content-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-tab-content,*.sc-nano-tab-content::before,*.sc-nano-tab-content::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-tab-content{display:none !important}/*!@:host*/.sc-nano-tab-content-h{display:block;opacity:1;animation:opacity 0.3s ease-in-out forwards;animation-duration:0s !important}/*!@:host(.ready)*/.ready.sc-nano-tab-content-h{animation-duration:0.3s !important}@media only screen and (max-width: 768px){/*!@:host([animation-dir=left])*/[animation-dir=left].sc-nano-tab-content-h{animation:slide-right 0.3s ease-in-out;opacity:1}/*!@:host([animation-dir=right])*/[animation-dir=right].sc-nano-tab-content-h{animation:slide-left 0.3s ease-in-out;opacity:1}}/*!@.nano-tab-content*/.nano-tab-content.sc-nano-tab-content{position:relative}@keyframes opacity{0%{opacity:0}100%{opacity:1}}@keyframes slide-left{0%{transform:translate3d(-100%, 0, 0)}50%{transform:translate3d(0%) translate3d(-0.9em)}100%{transform:translate3d(0, 0, 0)}}@keyframes slide-right{0%{transform:translate3d(100%, 0, 0)}50%{transform:translateX(0%) translate3d(0.9em)}100%{transform:translate3d(0, 0, 0)}}@media (prefers-reduced-motion: reduce){/*!@**/*.sc-nano-tab-content{animation:none !important}}";
28433
28505
 
28434
28506
  let id$1 = 0;
28435
28507
  /**
@@ -29270,12 +29342,12 @@ function sort(workerStore, rows, prop, order) {
29270
29342
  return rows;
29271
29343
  const col = workerStore.columns.find((c) => c.prop === prop);
29272
29344
  // custom sort
29273
- if (!!(col === null || col === void 0 ? void 0 : col.sortCompareFn) && typeof col.sortCompareFn === 'function') {
29345
+ if (!!col?.sortCompareFn && typeof col.sortCompareFn === 'function') {
29274
29346
  const sorted = rows.slice().sort(col.sortCompareFn(prop, order));
29275
29347
  return sorted;
29276
29348
  }
29277
29349
  // text sort
29278
- if ((col === null || col === void 0 ? void 0 : col.type) === 'text' && typeof rows[0][prop] === 'string') {
29350
+ if (col?.type === 'text' && typeof rows[0][prop] === 'string') {
29279
29351
  const sorted = rows.slice().sort((a, b) => {
29280
29352
  if (!a[prop])
29281
29353
  return 1;
@@ -29319,7 +29391,7 @@ function applyFiltersAndSort(workerStore, rows) {
29319
29391
  }
29320
29392
  function colsFromStore(safeColumns) {
29321
29393
  return safeColumns.map((c) => {
29322
- if (!!(c === null || c === void 0 ? void 0 : c.sortCompareFn)) {
29394
+ if (!!c?.sortCompareFn) {
29323
29395
  c.sortCompareFn = new Function('return ' + c.sortCompareFn)();
29324
29396
  }
29325
29397
  return c;
@@ -29336,7 +29408,7 @@ async function destroyWorkerStore(workerId) {
29336
29408
  function colsToWorker(columns) {
29337
29409
  const safeColumns = JSON.parse(JSON.stringify(columns));
29338
29410
  columns.forEach((c) => {
29339
- if (!!(c === null || c === void 0 ? void 0 : c.sortCompareFn)) {
29411
+ if (!!c?.sortCompareFn) {
29340
29412
  const safeCol = safeColumns.find((sc) => sc.prop === c.prop);
29341
29413
  safeCol.sortCompareFn = c.sortCompareFn.toString();
29342
29414
  }
@@ -29416,10 +29488,9 @@ function storeSetData(host, rows) {
29416
29488
  }
29417
29489
  // convert date columns into numbers to send to our worker
29418
29490
  dateCols.forEach((colName) => {
29419
- var _a;
29420
29491
  // coerce any date type;
29421
29492
  // Date(), timestamp, valid date string
29422
- const coerceDate = (_a = new Date(row[colName])) !== null && _a !== void 0 ? _a : null;
29493
+ const coerceDate = new Date(row[colName]) ?? null;
29423
29494
  if (!!coerceDate && Number(coerceDate))
29424
29495
  row[colName] = Number(coerceDate);
29425
29496
  });
@@ -29484,7 +29555,7 @@ function colDataModel(rowIndex, colIndex) {
29484
29555
  const columns = store.config.state.columns;
29485
29556
  const rows = store.data.state.rows;
29486
29557
  const column = columns[colIndex];
29487
- const prop = column === null || column === void 0 ? void 0 : column.prop;
29558
+ const prop = column?.prop;
29488
29559
  const rowModel = rows[rowIndex];
29489
29560
  const cellModel = rowModel ? rowModel[columns[colIndex].prop] : '';
29490
29561
  return {
@@ -29519,12 +29590,12 @@ function mergeProperties(current, extra) {
29519
29590
  if (!extra)
29520
29591
  return current;
29521
29592
  // top level merge
29522
- const props = Object.assign(Object.assign({}, extra), current);
29593
+ const props = { ...extra, ...current };
29523
29594
  // deeper merge
29524
29595
  // merge classes maps or strings
29525
29596
  if (extra.class) {
29526
29597
  if (typeof extra.class === 'object' && typeof props.class === 'object') {
29527
- props.class = Object.assign(Object.assign({}, extra.class), props.class);
29598
+ props.class = { ...extra.class, ...props.class };
29528
29599
  }
29529
29600
  else if (typeof extra.class === 'string' &&
29530
29601
  typeof props.class === 'object') {
@@ -29536,7 +29607,7 @@ function mergeProperties(current, extra) {
29536
29607
  }
29537
29608
  // merge style
29538
29609
  if (extra.style) {
29539
- props.style = Object.assign(Object.assign({}, extra.style), props.style);
29610
+ props.style = { ...extra.style, ...props.style };
29540
29611
  }
29541
29612
  return props;
29542
29613
  }
@@ -29556,9 +29627,8 @@ function fetchStores() {
29556
29627
  * @returns - the merged properties that will be applied to a node
29557
29628
  */
29558
29629
  function mergeCellProperties(rowIndex, colIndex, defaultProps) {
29559
- var _a;
29560
- const props = Object.assign({}, defaultProps);
29561
- const extraPropsFunc = (_a = fetchStores().config.state.columns[colIndex]) === null || _a === void 0 ? void 0 : _a.cellProperties;
29630
+ const props = { ...defaultProps };
29631
+ const extraPropsFunc = fetchStores().config.state.columns[colIndex]?.cellProperties;
29562
29632
  if (!extraPropsFunc)
29563
29633
  return props;
29564
29634
  const data = colDataModel(rowIndex, colIndex);
@@ -29573,7 +29643,7 @@ function mergeCellProperties(rowIndex, colIndex, defaultProps) {
29573
29643
  * @returns - a JSX node
29574
29644
  */
29575
29645
  function colheadFootRender(col) {
29576
- const tpl = col === null || col === void 0 ? void 0 : col.columnTemplate;
29646
+ const tpl = col?.columnTemplate;
29577
29647
  return tpl ? (tpl(hAsync, col)) : (hAsync(Fragment, null, col.title));
29578
29648
  }
29579
29649
  function headerPinClasses(type, vPinned, toString = false) {
@@ -29670,7 +29740,13 @@ const TableColHead = ({ column, onColumnSortClick, defaults, }) => {
29670
29740
  extraProps = column.columnProperties(column) || extraProps;
29671
29741
  }
29672
29742
  const baseProps = {
29673
- class: Object.assign(Object.assign({}, headerPinClasses('th', column.pinned)), { [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start', [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end', [`${CSSNAMESPACE}__ordered`]: !!column.order, [`${CSSNAMESPACE}__filtered`]: column.filter !== undefined && column.filter !== null }),
29743
+ class: {
29744
+ ...headerPinClasses('th', column.pinned),
29745
+ [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',
29746
+ [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',
29747
+ [`${CSSNAMESPACE}__ordered`]: !!column.order,
29748
+ [`${CSSNAMESPACE}__filtered`]: column.filter !== undefined && column.filter !== null,
29749
+ },
29674
29750
  };
29675
29751
  let props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;
29676
29752
  const content = colheadFootRender(column);
@@ -29678,16 +29754,17 @@ const TableColHead = ({ column, onColumnSortClick, defaults, }) => {
29678
29754
  return hAsync(Fragment, null);
29679
29755
  props =
29680
29756
  Number(props.colSpan) > 1
29681
- ? Object.assign(Object.assign({}, props), { scope: 'colgroup' }) : Object.assign(Object.assign({}, props), { scope: 'col' });
29757
+ ? { ...props, scope: 'colgroup' }
29758
+ : { ...props, scope: 'col' };
29682
29759
  if (isSortable()) {
29683
29760
  const sort = column.order
29684
29761
  ? column.order === 'asc'
29685
29762
  ? 'ascending'
29686
29763
  : 'descending'
29687
29764
  : 'none';
29688
- props = Object.assign(Object.assign({}, props), { 'aria-sort': sort });
29765
+ props = { ...props, 'aria-sort': sort };
29689
29766
  }
29690
- return (hAsync("th", Object.assign({}, props, { key: column.prop }), isSortable() ? (hAsync("button", { class: {
29767
+ return (hAsync("th", { ...props, key: column.prop }, isSortable() ? (hAsync("button", { class: {
29691
29768
  [`${CSSNAMESPACE}__order-btn`]: true,
29692
29769
  [`${CSSNAMESPACE}__cell-content`]: true,
29693
29770
  }, onClick: handleColumnSortClick },
@@ -29710,10 +29787,9 @@ const TableColHead = ({ column, onColumnSortClick, defaults, }) => {
29710
29787
  * @returns - a JSX node
29711
29788
  */
29712
29789
  function cellRender(rowIndex, colIndex) {
29713
- var _a, _b;
29714
29790
  const store = fetchStores();
29715
29791
  const columns = store.config.state.columns;
29716
- const tpl = (_a = columns[colIndex]) === null || _a === void 0 ? void 0 : _a.cellTemplate;
29792
+ const tpl = columns[colIndex]?.cellTemplate;
29717
29793
  const model = colDataModel(rowIndex, colIndex);
29718
29794
  const tableInstance = getRenderingRef();
29719
29795
  if (!!model.cellModel && columns[colIndex].type === 'date') {
@@ -29746,7 +29822,7 @@ function cellRender(rowIndex, colIndex) {
29746
29822
  // custom rendering can render to the templateEle OR return a promise<string>
29747
29823
  tplResult = result && result['then'] ? result : templateEle;
29748
29824
  }
29749
- return tplResult ? (tplResult) : model.cellModel !== undefined && model.cellModel !== null ? (hAsync(Fragment, null, (_b = model.cellModel) === null || _b === void 0 ? void 0 : _b.toString())) : ('');
29825
+ return tplResult ? (tplResult) : model.cellModel !== undefined && model.cellModel !== null ? (hAsync(Fragment, null, model.cellModel?.toString())) : ('');
29750
29826
  }
29751
29827
  const baseCellClasses = (colIndex, toString = false) => {
29752
29828
  const store = fetchStores();
@@ -29776,12 +29852,13 @@ const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
29776
29852
  if (column.rowHeader) {
29777
29853
  props =
29778
29854
  Number(props.rowSpan) > 1
29779
- ? Object.assign(Object.assign({}, props), { scope: 'rowgroup' }) : Object.assign(Object.assign({}, props), { scope: 'row' });
29855
+ ? { ...props, scope: 'rowgroup' }
29856
+ : { ...props, scope: 'row' };
29780
29857
  CellType = 'th';
29781
29858
  }
29782
29859
  const ContentWrap = (props) => {
29783
29860
  const content = Content();
29784
- return (hAsync("div", Object.assign({ ref: (d) => {
29861
+ return (hAsync("div", { ref: (d) => {
29785
29862
  if (!d)
29786
29863
  return;
29787
29864
  if (content instanceof Element) {
@@ -29794,17 +29871,17 @@ const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
29794
29871
  // @ts-expect-error
29795
29872
  content.then((res) => (d.innerHTML = res));
29796
29873
  }
29797
- } }, props, { class: {
29874
+ }, ...props, class: {
29798
29875
  [`${CSSNAMESPACE}__cell-content`]: true,
29799
29876
  [`${CSSNAMESPACE}__cell-content--wrap`]: !!column.wrap,
29800
29877
  }, innerHTML: typeof content === 'string' && content.includes('<')
29801
29878
  ? content
29802
- : undefined }), (typeof content !== 'string' || !content.includes('<')) &&
29879
+ : undefined }, (typeof content !== 'string' || !content.includes('<')) &&
29803
29880
  !content['then'] &&
29804
29881
  !(content instanceof Element) &&
29805
29882
  content));
29806
29883
  };
29807
- return (hAsync(CellType, Object.assign({ role: tableInstance.type === 'grid' ? 'gridcell' : undefined }, props), column.autoTooltip && !column.wrap ? (hAsync("nano-resize-observe", { notifyContentFit: "x", onNanoResizeContentFitChange: (e) => (e.target.firstElementChild.disabled =
29884
+ return (hAsync(CellType, { role: tableInstance.type === 'grid' ? 'gridcell' : undefined, ...props }, column.autoTooltip && !column.wrap ? (hAsync("nano-resize-observe", { notifyContentFit: "x", onNanoResizeContentFitChange: (e) => (e.target.firstElementChild.disabled =
29808
29885
  e.detail.x) },
29809
29886
  hAsync("nano-tooltip", { disabled: true, placement: "top", onNanoShow: (e) => (e.target.closest(CellType).style.zIndex = '100'), onNanoHide: (e) => (e.target.closest(CellType).style.zIndex = '') },
29810
29887
  hAsync(ContentWrap, null),
@@ -29813,11 +29890,11 @@ const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
29813
29890
  };
29814
29891
 
29815
29892
  const tableCellContent = (props, children, ctx) => {
29816
- const cell = (hAsync("div", Object.assign({}, props.wrapperProps, { class: {
29893
+ const cell = (hAsync("div", { ...props.wrapperProps, class: {
29817
29894
  [`${CSSNAMESPACE}__cell-content`]: true,
29818
29895
  [`${CSSNAMESPACE}__cell-content--wrap`]: props.wrap,
29819
- } }), children));
29820
- return props.header ? (hAsync("th", Object.assign({ scope: ctx }, props.cellProps), cell)) : (hAsync("td", Object.assign({}, props.cellProps), cell));
29896
+ } }, children));
29897
+ return props.header ? (hAsync("th", { scope: ctx, ...props.cellProps }, cell)) : (hAsync("td", { ...props.cellProps }, cell));
29821
29898
  };
29822
29899
  const TableRow = ({ rowRenderer, rowIndex, rowModel }, children, utils) => {
29823
29900
  // helper, generates <td> or <th>
@@ -29829,16 +29906,16 @@ const TableRow = ({ rowRenderer, rowIndex, rowModel }, children, utils) => {
29829
29906
  const model = rowDataModel(rowIndex);
29830
29907
  rowModel = model.rowModel;
29831
29908
  }
29832
- if (rowRenderer === null || rowRenderer === void 0 ? void 0 : rowRenderer.rowProperties) {
29909
+ if (rowRenderer?.rowProperties) {
29833
29910
  extraProps =
29834
29911
  rowRenderer.rowProperties({ rowModel, rowIndex }) || extraProps;
29835
29912
  }
29836
29913
  let rowPinned;
29837
- if ((rowRenderer === null || rowRenderer === void 0 ? void 0 : rowRenderer.pinned) && typeof rowRenderer.pinned === 'function') {
29914
+ if (rowRenderer?.pinned && typeof rowRenderer.pinned === 'function') {
29838
29915
  rowPinned = rowRenderer.pinned({ rowModel, rowIndex });
29839
29916
  }
29840
29917
  const props = mergeProperties({ class: headerPinClasses('tr', rowPinned, true) }, extraProps);
29841
- const tpl = rowRenderer === null || rowRenderer === void 0 ? void 0 : rowRenderer.template;
29918
+ const tpl = rowRenderer?.template;
29842
29919
  /**
29843
29920
  * Applies appropriate classes to td / th VNodes;
29844
29921
  * which can be supplied by user defined templates
@@ -29857,7 +29934,7 @@ const TableRow = ({ rowRenderer, rowIndex, rowModel }, children, utils) => {
29857
29934
  };
29858
29935
  if (tpl) {
29859
29936
  let toRender = tpl(hAsync, {
29860
- renderedRow: (hAsync("tr", Object.assign({}, props, { key: rowModel.__uuid }), children)),
29937
+ renderedRow: (hAsync("tr", { ...props, key: rowModel.__uuid }, children)),
29861
29938
  rowModel,
29862
29939
  rowIndex,
29863
29940
  }, TableCell);
@@ -29876,7 +29953,7 @@ const TableRow = ({ rowRenderer, rowIndex, rowModel }, children, utils) => {
29876
29953
  }
29877
29954
  return toRender;
29878
29955
  }
29879
- return (hAsync("tr", Object.assign({}, props, { key: rowModel.__uuid }), applyCellClasses(children)));
29956
+ return (hAsync("tr", { ...props, key: rowModel.__uuid }, applyCellClasses(children)));
29880
29957
  };
29881
29958
  const TableHeadFootRow = ({ rowRenderer }, // onRowPinned, onColPinned
29882
29959
  children, utils) => {
@@ -29890,10 +29967,10 @@ children, utils) => {
29890
29967
  const pinned = rowRenderer.pinned || null;
29891
29968
  const baseProps = { class: headerPinClasses('tr', pinned) };
29892
29969
  const props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;
29893
- const tpl = rowRenderer === null || rowRenderer === void 0 ? void 0 : rowRenderer.template;
29970
+ const tpl = rowRenderer?.template;
29894
29971
  if (tpl) {
29895
29972
  let toRender = tpl(hAsync, {
29896
- renderedRow: hAsync("tr", Object.assign({}, props), children),
29973
+ renderedRow: hAsync("tr", { ...props }, children),
29897
29974
  }, TableHeadFootCell);
29898
29975
  if (Array.isArray(toRender)) {
29899
29976
  toRender = utils.map(toRender, (node) => {
@@ -29915,7 +29992,7 @@ children, utils) => {
29915
29992
  }
29916
29993
  return toRender;
29917
29994
  }
29918
- return hAsync("tr", Object.assign({}, props), children);
29995
+ return hAsync("tr", { ...props }, children);
29919
29996
  };
29920
29997
 
29921
29998
  function addStyleSheet(id, css) {
@@ -30302,13 +30379,13 @@ function perMark(name, end = false) {
30302
30379
  if (!performance || !measurePerf)
30303
30380
  return;
30304
30381
  if (end) {
30305
- performance === null || performance === void 0 ? void 0 : performance.mark('end' + name);
30306
- performance === null || performance === void 0 ? void 0 : performance.measure(name, 'start' + name, 'end' + name);
30307
- const entries = performance === null || performance === void 0 ? void 0 : performance.getEntriesByName(name);
30382
+ performance?.mark('end' + name);
30383
+ performance?.measure(name, 'start' + name, 'end' + name);
30384
+ const entries = performance?.getEntriesByName(name);
30308
30385
  console.info(entries[entries.length ? entries.length - 1 : 0]);
30309
30386
  }
30310
30387
  else {
30311
- performance === null || performance === void 0 ? void 0 : performance.mark('start' + name);
30388
+ performance?.mark('start' + name);
30312
30389
  }
30313
30390
  }
30314
30391
  let id = 0;
@@ -30404,11 +30481,10 @@ class Table {
30404
30481
  * stop loop - it's on the current active block.
30405
30482
  */
30406
30483
  this.scrollHandler = () => {
30407
- var _a;
30408
30484
  let scrollPos = 0;
30409
30485
  perMark('scrollHandler');
30410
30486
  // don't listen if this table isn't in the viewport
30411
- if (!((_a = this.store) === null || _a === void 0 ? void 0 : _a.general.state.isActive) || !this.rows)
30487
+ if (!this.store?.general.state.isActive || !this.rows)
30412
30488
  return;
30413
30489
  if (this.primaryBlockIndex === undefined)
30414
30490
  this.primaryBlockIndex = 0;
@@ -30448,10 +30524,9 @@ class Table {
30448
30524
  });
30449
30525
  };
30450
30526
  this.handleResizeChange = (e) => {
30451
- var _a;
30452
30527
  this.tableWrapperEle.className = '';
30453
30528
  let classes = [`${CSSNAMESPACE}__wrap`];
30454
- if ((_a = e.target) === null || _a === void 0 ? void 0 : _a.className)
30529
+ if (e.target?.className)
30455
30530
  classes = [...e.target.className.split(' '), ...classes];
30456
30531
  this.tableWrapperEle.classList.add(...classes.filter((cl) => !!cl));
30457
30532
  };
@@ -30577,7 +30652,6 @@ class Table {
30577
30652
  }
30578
30653
  // uses the first 'tr' of an active block as our yard stick
30579
30654
  set measureEle(el) {
30580
- var _a;
30581
30655
  if (!el)
30582
30656
  return;
30583
30657
  const potentialHeight = el.getBoundingClientRect().height;
@@ -30586,7 +30660,7 @@ class Table {
30586
30660
  ? this.measureHeight
30587
30661
  : potentialHeight;
30588
30662
  this.unitHeight =
30589
- ((_a = el.querySelector('tr')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height) || this.unitHeight;
30663
+ el.querySelector('tr')?.getBoundingClientRect().height || this.unitHeight;
30590
30664
  }
30591
30665
  get scrollParent() {
30592
30666
  return this._scrollParent;
@@ -30651,8 +30725,8 @@ class Table {
30651
30725
  sortComplete(order, column) {
30652
30726
  this.columns = this.columns.map((c) => {
30653
30727
  if (c.prop === column)
30654
- return Object.assign(Object.assign({}, c), { order });
30655
- return Object.assign(Object.assign({}, c), { order: null });
30728
+ return { ...c, order };
30729
+ return { ...c, order: null };
30656
30730
  });
30657
30731
  this.nanoTblAfterSort.emit({ column: column, order });
30658
30732
  perMark('sort', true);
@@ -30753,8 +30827,7 @@ class Table {
30753
30827
  }
30754
30828
  /** Scrolls to the top immediately - used whilst sorting / filtering */
30755
30829
  scrollToTop(element) {
30756
- var _a;
30757
- const scrollBehaviour = (_a = this.scrollParent.style) === null || _a === void 0 ? void 0 : _a.scrollBehavior;
30830
+ const scrollBehaviour = this.scrollParent.style?.scrollBehavior;
30758
30831
  const scrollX = this.scrollParent.scrollLeft;
30759
30832
  this.scrollParent.style.scrollBehavior = 'auto';
30760
30833
  if (this.topAnchorEle && !isInViewport(this.topAnchorEle, 0.1)) {
@@ -30771,7 +30844,7 @@ class Table {
30771
30844
  setMeasureElement() {
30772
30845
  return new Promise((resolve) => {
30773
30846
  readTask(() => {
30774
- this.measureEle = this.blockElements.find((b) => { var _a; return !((_a = b === null || b === void 0 ? void 0 : b.classList) === null || _a === void 0 ? void 0 : _a.contains(`${CSSNAMESPACE}__inactive`)); });
30847
+ this.measureEle = this.blockElements.find((b) => !b?.classList?.contains(`${CSSNAMESPACE}__inactive`));
30775
30848
  resolve();
30776
30849
  });
30777
30850
  });
@@ -30782,8 +30855,7 @@ class Table {
30782
30855
  * These elements have no natural height (on account of all their rows being hidden)
30783
30856
  */
30784
30857
  setInitialBlockDimension() {
30785
- var _a;
30786
- if (!((_a = this.blockElements) === null || _a === void 0 ? void 0 : _a.length))
30858
+ if (!this.blockElements?.length)
30787
30859
  return;
30788
30860
  perMark('blockDims');
30789
30861
  const testForDimensions = async () => {
@@ -31157,7 +31229,6 @@ class Tooltip {
31157
31229
  // Public methods
31158
31230
  /** Shows the tooltip. */
31159
31231
  async show() {
31160
- var _a;
31161
31232
  // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
31162
31233
  if (this.isVisible || this.disabled) {
31163
31234
  return;
@@ -31170,7 +31241,7 @@ class Tooltip {
31170
31241
  this.isVisible = true;
31171
31242
  this.open = true;
31172
31243
  // @ts-ignore
31173
- if (typeof ((_a = this.tooltipPositioner) === null || _a === void 0 ? void 0 : _a.showPopover) === 'function') {
31244
+ if (typeof this.tooltipPositioner?.showPopover === 'function') {
31174
31245
  this.hoist = true;
31175
31246
  this.popover.show();
31176
31247
  // @ts-ignore
@@ -31195,9 +31266,8 @@ class Tooltip {
31195
31266
  this.open = false;
31196
31267
  this.popover.hide();
31197
31268
  setTimeout(() => {
31198
- var _a;
31199
31269
  // @ts-ignore
31200
- if (!this.open && typeof ((_a = this.positioner) === null || _a === void 0 ? void 0 : _a.hidePopover) === 'function') {
31270
+ if (!this.open && typeof this.positioner?.hidePopover === 'function') {
31201
31271
  // @ts-ignore
31202
31272
  this.positioner.hidePopover();
31203
31273
  }
@@ -32101,7 +32171,15 @@ const createGesture = (config) => {
32101
32171
  let hasStartedPan = false;
32102
32172
  let hasFiredStart = true;
32103
32173
  let isMoveQueued = false;
32104
- const finalConfig = Object.assign({ disableScroll: false, direction: 'x', gesturePriority: 0, passive: true, maxAngle: 40, threshold: 10 }, config);
32174
+ const finalConfig = {
32175
+ disableScroll: false,
32176
+ direction: 'x',
32177
+ gesturePriority: 0,
32178
+ passive: true,
32179
+ maxAngle: 40,
32180
+ threshold: 10,
32181
+ ...config,
32182
+ };
32105
32183
  const canStart = finalConfig.canStart;
32106
32184
  const onWillStart = finalConfig.onWillStart;
32107
32185
  const onStart = finalConfig.onStart;