@nanoporetech-digital/components 4.9.4 → 5.0.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 (240) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/cjs/drag-777bd8dd.js +74 -0
  3. package/dist/cjs/drag-777bd8dd.js.map +1 -0
  4. package/dist/cjs/{form-control-2e900f54.js → form-control-443e90bf.js} +2 -3
  5. package/dist/cjs/form-control-443e90bf.js.map +1 -0
  6. package/dist/cjs/index-71f899a7.js +10 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/nano-components.cjs.js +1 -1
  9. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +6 -6
  10. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-grid-item.cjs.entry.js +29 -0
  12. package/dist/cjs/nano-grid-item.cjs.entry.js.map +1 -0
  13. package/dist/cjs/nano-grid_2.cjs.entry.js +436 -0
  14. package/dist/cjs/nano-grid_2.cjs.entry.js.map +1 -0
  15. package/dist/cjs/nano-hero.cjs.entry.js +4 -10
  16. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-icon-button_2.cjs.entry.js +40 -3
  18. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-input.cjs.entry.js +2 -2
  20. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nano-range.cjs.entry.js +1 -1
  22. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-sortable.cjs.entry.js +654 -0
  24. package/dist/cjs/nano-sortable.cjs.entry.js.map +1 -0
  25. package/dist/cjs/nano-split-pane.cjs.entry.js +30 -45
  26. package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-tab-group.cjs.entry.js +39 -43
  28. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-tab.cjs.entry.js +3 -3
  30. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  31. package/dist/cjs/{nano-table-54a4ba34.js → nano-table-11052a34.js} +52 -172
  32. package/dist/cjs/nano-table-11052a34.js.map +1 -0
  33. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  34. package/dist/cjs/{table.worker-20ed37a5.js → table.worker-83433a8b.js} +3 -3
  35. package/dist/cjs/table.worker-83433a8b.js.map +1 -0
  36. package/dist/cjs/{table.worker-f820b411.js → table.worker-bd51e29f.js} +1 -1
  37. package/dist/collection/collection-manifest.json +1 -0
  38. package/dist/collection/components/form-control/form-control.js +1 -2
  39. package/dist/collection/components/form-control/form-control.js.map +1 -1
  40. package/dist/collection/components/grid/grid-item.js +11 -136
  41. package/dist/collection/components/grid/grid-item.js.map +1 -1
  42. package/dist/collection/components/grid/grid.css +9 -242
  43. package/dist/collection/components/grid/grid.js +248 -240
  44. package/dist/collection/components/grid/grid.js.map +1 -1
  45. package/dist/collection/components/hero/hero.css +42 -89
  46. package/dist/collection/components/hero/hero.js +4 -11
  47. package/dist/collection/components/hero/hero.js.map +1 -1
  48. package/dist/collection/components/icon-button/icon-button.css +18 -4
  49. package/dist/collection/components/icon-button/icon-button.js +83 -4
  50. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  51. package/dist/collection/components/input/input.css +8 -9
  52. package/dist/collection/components/nav-item/nav-item.js +4 -4
  53. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  54. package/dist/collection/components/range/range.css +0 -3
  55. package/dist/collection/components/select/select.css +8 -9
  56. package/dist/collection/components/sortable/sortable.css +28 -0
  57. package/dist/collection/components/sortable/sortable.js +1181 -0
  58. package/dist/collection/components/sortable/sortable.js.map +1 -0
  59. package/dist/collection/components/split-pane/split-pane.js +29 -27
  60. package/dist/collection/components/split-pane/split-pane.js.map +1 -1
  61. package/dist/collection/components/table/table-interface.js.map +1 -1
  62. package/dist/collection/components/table/table.css +18 -38
  63. package/dist/collection/components/table/table.header.js +3 -86
  64. package/dist/collection/components/table/table.header.js.map +1 -1
  65. package/dist/collection/components/table/table.js +27 -108
  66. package/dist/collection/components/table/table.js.map +1 -1
  67. package/dist/collection/components/table/table.row.js +7 -7
  68. package/dist/collection/components/table/table.row.js.map +1 -1
  69. package/dist/collection/components/table/table.store.js +1 -1
  70. package/dist/collection/components/table/table.store.js.map +1 -1
  71. package/dist/collection/components/table/table.worker.js +3 -3
  72. package/dist/collection/components/table/table.worker.js.map +1 -1
  73. package/dist/collection/components/tabs/tab-group.css +9 -13
  74. package/dist/collection/components/tabs/tab-group.js +39 -43
  75. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  76. package/dist/collection/components/tabs/tab.css +53 -14
  77. package/dist/collection/components/tabs/tab.js +8 -2
  78. package/dist/collection/components/tabs/tab.js.map +1 -1
  79. package/dist/collection/utils/constructible-style.js +129 -0
  80. package/dist/collection/utils/constructible-style.js.map +1 -0
  81. package/dist/collection/utils/drag.js +52 -4
  82. package/dist/collection/utils/drag.js.map +1 -1
  83. package/dist/components/drag.js +72 -0
  84. package/dist/components/drag.js.map +1 -0
  85. package/dist/components/form-control.js +1 -2
  86. package/dist/components/form-control.js.map +1 -1
  87. package/dist/components/grid.js +268 -183
  88. package/dist/components/grid.js.map +1 -1
  89. package/dist/components/icon-button.js +45 -5
  90. package/dist/components/icon-button.js.map +1 -1
  91. package/dist/components/index.d.ts +1 -0
  92. package/dist/components/index.js +1 -0
  93. package/dist/components/index.js.map +1 -1
  94. package/dist/components/input.js +1 -1
  95. package/dist/components/input.js.map +1 -1
  96. package/dist/components/nano-grid-item.js +33 -1
  97. package/dist/components/nano-grid-item.js.map +1 -1
  98. package/dist/components/nano-hero.js +6 -19
  99. package/dist/components/nano-hero.js.map +1 -1
  100. package/dist/components/nano-range.js +1 -1
  101. package/dist/components/nano-range.js.map +1 -1
  102. package/dist/components/nano-sortable.d.ts +11 -0
  103. package/dist/components/nano-sortable.js +692 -0
  104. package/dist/components/nano-sortable.js.map +1 -0
  105. package/dist/components/nano-split-pane.js +30 -45
  106. package/dist/components/nano-split-pane.js.map +1 -1
  107. package/dist/components/nano-tab-group.js +40 -44
  108. package/dist/components/nano-tab-group.js.map +1 -1
  109. package/dist/components/nano-tab.js +3 -3
  110. package/dist/components/nano-tab.js.map +1 -1
  111. package/dist/components/nav-item.js +4 -4
  112. package/dist/components/nav-item.js.map +1 -1
  113. package/dist/components/select.js +1 -1
  114. package/dist/components/select.js.map +1 -1
  115. package/dist/components/table.js +52 -173
  116. package/dist/components/table.js.map +1 -1
  117. package/dist/components/table.worker.js +1 -1
  118. package/dist/esm/drag-1723a4cc.js +72 -0
  119. package/dist/esm/drag-1723a4cc.js.map +1 -0
  120. package/dist/esm/{form-control-269ba84f.js → form-control-e8739b2e.js} +2 -3
  121. package/dist/esm/form-control-e8739b2e.js.map +1 -0
  122. package/dist/esm/index-dad5627b.js +10 -2
  123. package/dist/esm/loader.js +1 -1
  124. package/dist/esm/nano-components.js +1 -1
  125. package/dist/esm/nano-global-nav-user-profile_3.entry.js +6 -6
  126. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  127. package/dist/esm/nano-grid-item.entry.js +25 -0
  128. package/dist/esm/nano-grid-item.entry.js.map +1 -0
  129. package/dist/esm/nano-grid_2.entry.js +431 -0
  130. package/dist/esm/nano-grid_2.entry.js.map +1 -0
  131. package/dist/esm/nano-hero.entry.js +4 -10
  132. package/dist/esm/nano-hero.entry.js.map +1 -1
  133. package/dist/esm/nano-icon-button_2.entry.js +41 -4
  134. package/dist/esm/nano-icon-button_2.entry.js.map +1 -1
  135. package/dist/esm/nano-input.entry.js +2 -2
  136. package/dist/esm/nano-input.entry.js.map +1 -1
  137. package/dist/esm/nano-range.entry.js +1 -1
  138. package/dist/esm/nano-range.entry.js.map +1 -1
  139. package/dist/esm/nano-sortable.entry.js +650 -0
  140. package/dist/esm/nano-sortable.entry.js.map +1 -0
  141. package/dist/esm/nano-split-pane.entry.js +30 -45
  142. package/dist/esm/nano-split-pane.entry.js.map +1 -1
  143. package/dist/esm/nano-tab-group.entry.js +39 -43
  144. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  145. package/dist/esm/nano-tab.entry.js +3 -3
  146. package/dist/esm/nano-tab.entry.js.map +1 -1
  147. package/dist/esm/{nano-table-929ac4d9.js → nano-table-ba637f26.js} +53 -173
  148. package/dist/esm/nano-table-ba637f26.js.map +1 -0
  149. package/dist/esm/nano-table.entry.js +1 -1
  150. package/dist/esm/{table.worker-2425382a.js → table.worker-1cae39c9.js} +3 -3
  151. package/dist/esm/table.worker-1cae39c9.js.map +1 -0
  152. package/dist/{nano-components/p-f820b411.js → esm/table.worker-bd51e29f.js} +1 -1
  153. package/dist/nano-components/nano-components.css +1 -1
  154. package/dist/nano-components/nano-components.esm.js +1 -1
  155. package/dist/nano-components/nano-components.esm.js.map +1 -1
  156. package/dist/nano-components/p-00cf8021.entry.js +5 -0
  157. package/dist/nano-components/p-00cf8021.entry.js.map +1 -0
  158. package/dist/nano-components/{p-906de5a2.entry.js → p-158c73b0.entry.js} +2 -2
  159. package/dist/nano-components/p-365c997a.js +5 -0
  160. package/dist/nano-components/p-553acf24.entry.js +5 -0
  161. package/dist/nano-components/p-553acf24.entry.js.map +1 -0
  162. package/dist/nano-components/p-6975f110.entry.js +5 -0
  163. package/dist/nano-components/p-6975f110.entry.js.map +1 -0
  164. package/dist/nano-components/p-71057181.js +5 -0
  165. package/dist/nano-components/p-71057181.js.map +1 -0
  166. package/dist/nano-components/p-842cf127.js +5 -0
  167. package/dist/nano-components/p-842cf127.js.map +1 -0
  168. package/dist/nano-components/p-ad6209ec.entry.js +5 -0
  169. package/dist/nano-components/p-ad6209ec.entry.js.map +1 -0
  170. package/dist/nano-components/p-b8e76fdf.entry.js +5 -0
  171. package/dist/nano-components/p-b8e76fdf.entry.js.map +1 -0
  172. package/dist/{esm/table.worker-f820b411.js → nano-components/p-bd51e29f.js} +1 -1
  173. package/dist/nano-components/p-bdef618c.entry.js +5 -0
  174. package/dist/nano-components/p-bdef618c.entry.js.map +1 -0
  175. package/dist/nano-components/p-d79c6862.entry.js +5 -0
  176. package/dist/nano-components/p-d79c6862.entry.js.map +1 -0
  177. package/dist/nano-components/p-deb0799c.entry.js +5 -0
  178. package/dist/nano-components/{p-6a3a29c6.entry.js.map → p-deb0799c.entry.js.map} +1 -1
  179. package/dist/nano-components/p-ebb98a9e.entry.js +5 -0
  180. package/dist/nano-components/p-ebb98a9e.entry.js.map +1 -0
  181. package/dist/nano-components/p-f60fe933.entry.js +5 -0
  182. package/dist/nano-components/p-f60fe933.entry.js.map +1 -0
  183. package/dist/nano-components/p-f7535f45.entry.js +5 -0
  184. package/dist/nano-components/p-f7535f45.entry.js.map +1 -0
  185. package/dist/nano-components/p-fc585ea2.js +5 -0
  186. package/dist/nano-components/p-fc585ea2.js.map +1 -0
  187. package/dist/types/components/grid/grid-item.d.ts +3 -11
  188. package/dist/types/components/grid/grid.d.ts +44 -68
  189. package/dist/types/components/hero/hero.d.ts +1 -3
  190. package/dist/types/components/icon-button/icon-button.d.ts +14 -0
  191. package/dist/types/components/sortable/sortable.d.ts +204 -0
  192. package/dist/types/components/table/table-interface.d.ts +2 -4
  193. package/dist/types/components/table/table.d.ts +5 -30
  194. package/dist/types/components/table/table.header.d.ts +0 -3
  195. package/dist/types/components/tabs/tab-group.d.ts +0 -1
  196. package/dist/types/components/tabs/tab.d.ts +6 -0
  197. package/dist/types/components.d.ts +333 -89
  198. package/dist/types/utils/constructible-style.d.ts +31 -0
  199. package/dist/types/utils/drag.d.ts +21 -1
  200. package/docs-json.json +743 -168
  201. package/docs-vscode.json +102 -26
  202. package/hydrate/index.js +1210 -552
  203. package/package.json +2 -2
  204. package/dist/cjs/form-control-2e900f54.js.map +0 -1
  205. package/dist/cjs/nano-grid_3.cjs.entry.js +0 -431
  206. package/dist/cjs/nano-grid_3.cjs.entry.js.map +0 -1
  207. package/dist/cjs/nano-table-54a4ba34.js.map +0 -1
  208. package/dist/cjs/table.worker-20ed37a5.js.map +0 -1
  209. package/dist/collection/components/grid/grid-item.css +0 -15
  210. package/dist/components/grid-item.js +0 -107
  211. package/dist/components/grid-item.js.map +0 -1
  212. package/dist/esm/form-control-269ba84f.js.map +0 -1
  213. package/dist/esm/nano-grid_3.entry.js +0 -425
  214. package/dist/esm/nano-grid_3.entry.js.map +0 -1
  215. package/dist/esm/nano-table-929ac4d9.js.map +0 -1
  216. package/dist/esm/table.worker-2425382a.js.map +0 -1
  217. package/dist/nano-components/p-068bdd89.entry.js +0 -5
  218. package/dist/nano-components/p-068bdd89.entry.js.map +0 -1
  219. package/dist/nano-components/p-107d4549.entry.js +0 -5
  220. package/dist/nano-components/p-107d4549.entry.js.map +0 -1
  221. package/dist/nano-components/p-239d343a.entry.js +0 -5
  222. package/dist/nano-components/p-239d343a.entry.js.map +0 -1
  223. package/dist/nano-components/p-4f260028.js +0 -5
  224. package/dist/nano-components/p-4f260028.js.map +0 -1
  225. package/dist/nano-components/p-5381c118.js +0 -5
  226. package/dist/nano-components/p-58b53239.entry.js +0 -5
  227. package/dist/nano-components/p-58b53239.entry.js.map +0 -1
  228. package/dist/nano-components/p-5ac74848.js +0 -5
  229. package/dist/nano-components/p-5ac74848.js.map +0 -1
  230. package/dist/nano-components/p-64b56ee6.entry.js +0 -5
  231. package/dist/nano-components/p-64b56ee6.entry.js.map +0 -1
  232. package/dist/nano-components/p-6a3a29c6.entry.js +0 -5
  233. package/dist/nano-components/p-a5a560e7.entry.js +0 -5
  234. package/dist/nano-components/p-a5a560e7.entry.js.map +0 -1
  235. package/dist/nano-components/p-a761ac89.entry.js +0 -5
  236. package/dist/nano-components/p-a761ac89.entry.js.map +0 -1
  237. package/dist/nano-components/p-d792f692.entry.js +0 -5
  238. package/dist/nano-components/p-d792f692.entry.js.map +0 -1
  239. /package/dist/nano-components/{p-5381c118.js.map → p-158c73b0.entry.js.map} +0 -0
  240. /package/dist/nano-components/{p-906de5a2.entry.js.map → p-365c997a.js.map} +0 -0
package/hydrate/index.js CHANGED
@@ -5287,7 +5287,7 @@ const createTime = (e, t = "") => {
5287
5287
  };
5288
5288
  return (n.$attrs$ = null), (n.$key$ = null),
5289
5289
  (n.$name$ = null), n;
5290
- }, Host = {}, isHost = e => e && e.$tag$ === Host, vdomFnUtils = {
5290
+ }, Host = {}, isHost$1 = e => e && e.$tag$ === Host, vdomFnUtils = {
5291
5291
  forEach: (e, t) => e.map(convertToPublic).forEach(t),
5292
5292
  map: (e, t) => e.map(convertToPublic).map(t).map(convertToPrivate)
5293
5293
  }, convertToPublic = e => ({
@@ -5691,7 +5691,7 @@ const createElm = (e, t, n, o) => {
5691
5691
  }, isNodeLocatedInSlot = (e, t) => 1 === e.nodeType ? null === e.getAttribute("slot") && "" === t || e.getAttribute("slot") === t : e["s-sn"] === t || "" === t, callNodeRefs = e => {
5692
5692
  (e.$attrs$ && e.$attrs$.ref && e.$attrs$.ref(null), e.$children$ && e.$children$.map(callNodeRefs));
5693
5693
  }, renderVdom = (e, t) => {
5694
- const n = e.$hostElement$, o = e.$cmpMeta$, s = e.$vnode$ || newVNode(null, null), r = isHost(t) ? t : h(null, null, t);
5694
+ const n = e.$hostElement$, o = e.$cmpMeta$, s = e.$vnode$ || newVNode(null, null), r = isHost$1(t) ? t : h(null, null, t);
5695
5695
  if (hostTagName = n.tagName, BUILD.isDev ) ;
5696
5696
  if (o.$attrsToReflect$ && (r.$attrs$ = r.$attrs$ || {}, o.$attrsToReflect$.map((([e, t]) => r.$attrs$[t] = n[e]))),
5697
5697
  r.$tag$ = null, r.$flags$ |= 4, e.$vnode$ = r, r.$elm$ = s.$elm$ = n.shadowRoot || n,
@@ -19057,26 +19057,214 @@ class GlobalSearchResults {
19057
19057
  }; }
19058
19058
  }
19059
19059
 
19060
- const gridCss = "/*!@:host*/.sc-nano-grid-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-grid,*.sc-nano-grid::before,*.sc-nano-grid::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-grid{display:none !important}/*!@:host*/.sc-nano-grid-h{--grid-col-gap:var(--nano-spacing-medium, 16px);--grid-row-gap:var(--nano-spacing-medium, 16px);--current-grid-size:\"'grid size: sm'\";display:block;opacity:0;transition:0.2s ease opacity;max-width:100%}/*!@:host .grid*/.sc-nano-grid-h .grid.sc-nano-grid{display:grid;grid-gap:var(--grid-row-gap) var(--grid-col-gap);block-size:inherit;min-block-size:inherit}/*!@:host(.ready)*/.ready.sc-nano-grid-h{opacity:1}/*!@:host(.has-grid) .grid*/.has-grid.sc-nano-grid-h .grid.sc-nano-grid{display:grid}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-1)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-1{grid-column-start:1 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-1)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-1{grid-row-start:1 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-1)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-1{grid-column-end:span 1 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-1)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-1{grid-row-end:span 1 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-2)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-2{grid-column-start:2 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-2)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-2{grid-row-start:2 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-2)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-2{grid-column-end:span 2 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-2)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-2{grid-row-end:span 2 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-3)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-3{grid-column-start:3 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-3)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-3{grid-row-start:3 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-3)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-3{grid-column-end:span 3 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-3)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-3{grid-row-end:span 3 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-4)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-4{grid-column-start:4 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-4)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-4{grid-row-start:4 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-4)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-4{grid-column-end:span 4 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-4)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-4{grid-row-end:span 4 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-5)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-5{grid-column-start:5 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-5)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-5{grid-row-start:5 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-5)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-5{grid-column-end:span 5 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-5)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-5{grid-row-end:span 5 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-6)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-6{grid-column-start:6 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-6)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-6{grid-row-start:6 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-6)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-6{grid-column-end:span 6 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-6)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-6{grid-row-end:span 6 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-7)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-7{grid-column-start:7 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-7)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-7{grid-row-start:7 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-7)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-7{grid-column-end:span 7 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-7)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-7{grid-row-end:span 7 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-8)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-8{grid-column-start:8 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-8)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-8{grid-row-start:8 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-8)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-8{grid-column-end:span 8 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-8)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-8{grid-row-end:span 8 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-9)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-9{grid-column-start:9 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-9)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-9{grid-row-start:9 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-9)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-9{grid-column-end:span 9 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-9)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-9{grid-row-end:span 9 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-start-10)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-start-10{grid-column-start:10 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-start-10)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-start-10{grid-row-start:10 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-col-span-10)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-col-span-10{grid-column-end:span 10 !important}/*!@:host(.has-grid) .grid ::slotted(.nano-grid-row-span-10)*/.sc-nano-grid-h.has-grid .grid .sc-nano-grid-s>.nano-grid-row-span-10{grid-row-end:span 10 !important}/*!@:host([content-panel]:not([content-panel=false])) .grid*/[content-panel].sc-nano-grid-h:not([content-panel=false]) .grid.sc-nano-grid{grid-template-rows:auto 1fr}/*!@:host([full-height]:not([full-height=false]))*/[full-height].sc-nano-grid-h:not([full-height=false]){block-size:100%}/*!@:host([full-height]:not([full-height=false])) .grid*/[full-height].sc-nano-grid-h:not([full-height=false]) .grid.sc-nano-grid{grid-template-rows:1fr}/*!@:host([show-helper]:not([show-helper=false])) .grid*/[show-helper].sc-nano-grid-h:not([show-helper=false]) .grid.sc-nano-grid{position:relative}/*!@:host([show-helper]:not([show-helper=false])) .grid::after*/[show-helper].sc-nano-grid-h:not([show-helper=false]) .grid.sc-nano-grid::after{content:\"\";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(to right, rgba(126, 195, 241, 0.25), rgba(126, 195, 241, 0.25) var(--col-width), transparent var(--col-width), transparent var(--repeat-width));background-size:calc(100% + var(--grid-col-gap)) 100%;z-index:100}/*!@:host([show-helper]:not([show-helper=false])) .grid::before*/[show-helper].sc-nano-grid-h:not([show-helper=false]) .grid.sc-nano-grid::before{content:var(--current-grid-size);font-size:30px;position:absolute;inline-size:100%;inset-inline-start:0;text-align:center;inset-block-start:50%;transform:translateY(-50%);color:rgba(0, 0, 0, 0.2);text-transform:uppercase;z-index:99;pointer-events:none}/*!@:host(.nano-grid-1)*/.nano-grid-1.sc-nano-grid-h{--current-grid-size:\"grid size: 1\";--col-width:calc(100% - var(--grid-col-gap));--repeat-width:calc(100% / 1)}/*!@:host(.nano-grid-1) .grid*/.nano-grid-1.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(1, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-2)*/.nano-grid-2.sc-nano-grid-h{--current-grid-size:\"grid size: 2\";--col-width:calc(50% - var(--grid-col-gap));--repeat-width:calc(100% / 2)}/*!@:host(.nano-grid-2) .grid*/.nano-grid-2.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(2, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-3)*/.nano-grid-3.sc-nano-grid-h{--current-grid-size:\"grid size: 3\";--col-width:calc(33.3333333333% - var(--grid-col-gap));--repeat-width:calc(100% / 3)}/*!@:host(.nano-grid-3) .grid*/.nano-grid-3.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(3, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-4)*/.nano-grid-4.sc-nano-grid-h{--current-grid-size:\"grid size: 4\";--col-width:calc(25% - var(--grid-col-gap));--repeat-width:calc(100% / 4)}/*!@:host(.nano-grid-4) .grid*/.nano-grid-4.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(4, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-5)*/.nano-grid-5.sc-nano-grid-h{--current-grid-size:\"grid size: 5\";--col-width:calc(20% - var(--grid-col-gap));--repeat-width:calc(100% / 5)}/*!@:host(.nano-grid-5) .grid*/.nano-grid-5.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(5, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-6)*/.nano-grid-6.sc-nano-grid-h{--current-grid-size:\"grid size: 6\";--col-width:calc(16.6666666667% - var(--grid-col-gap));--repeat-width:calc(100% / 6)}/*!@:host(.nano-grid-6) .grid*/.nano-grid-6.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(6, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-7)*/.nano-grid-7.sc-nano-grid-h{--current-grid-size:\"grid size: 7\";--col-width:calc(14.2857142857% - var(--grid-col-gap));--repeat-width:calc(100% / 7)}/*!@:host(.nano-grid-7) .grid*/.nano-grid-7.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(7, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-8)*/.nano-grid-8.sc-nano-grid-h{--current-grid-size:\"grid size: 8\";--col-width:calc(12.5% - var(--grid-col-gap));--repeat-width:calc(100% / 8)}/*!@:host(.nano-grid-8) .grid*/.nano-grid-8.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(8, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-9)*/.nano-grid-9.sc-nano-grid-h{--current-grid-size:\"grid size: 9\";--col-width:calc(11.1111111111% - var(--grid-col-gap));--repeat-width:calc(100% / 9)}/*!@:host(.nano-grid-9) .grid*/.nano-grid-9.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(9, minmax(var(--col-width), 1fr))}/*!@:host(.nano-grid-10)*/.nano-grid-10.sc-nano-grid-h{--current-grid-size:\"grid size: 10\";--col-width:calc(10% - var(--grid-col-gap));--repeat-width:calc(100% / 10)}/*!@:host(.nano-grid-10) .grid*/.nano-grid-10.sc-nano-grid-h .grid.sc-nano-grid{grid-template-columns:repeat(10, minmax(var(--col-width), 1fr))}";
19060
+ // import type { VNode, HTMLStencilElement } from "@stencil/core";
19061
+ const supportsConstructibleStylesheets = (() => {
19062
+ try {
19063
+ return !!new CSSStyleSheet();
19064
+ }
19065
+ catch (e) {
19066
+ return false;
19067
+ }
19068
+ })();
19069
+ const cacheKeys = new WeakMap();
19070
+ /**
19071
+ * Dynamically create a constructible stylesheet which is applied to the component.
19072
+ * The stylesheet is then cached for future instances of the component.
19073
+ * @usage
19074
+ As a string:
19075
+ ```
19076
+ @ConstructableStyle() style = `.bg { background: url('assets/${ this.mode }/bg.png'); }`;
19077
+ ```
19078
+ As a function:
19079
+ ```
19080
+ @ConstructableStyle() style = () => `.bg { background: url('assets/${ this.mode }/bg.png'); }`;
19081
+ ```
19082
+ * @param opts - optional `cacheKeyProperty` - in case an instance of a component could produce different styles based on variables.
19083
+ * @returns `@ConstructableStyle` decorator
19084
+ */
19085
+ function ConstructibleStyle(opts = {}) {
19086
+ return (target, propertyKey) => {
19087
+ if (!opts.cacheKeyProperty) {
19088
+ opts.cacheKeyProperty = propertyKey;
19089
+ }
19090
+ const { componentWillLoad, render, componentWillRender } = target;
19091
+ if (!componentWillLoad)
19092
+ console.warn(`ConstructibleStyle requires you to have a \`componentWillLoad\` lifecycle method in \`${target.constructor.name}\`. Failure to add this function may cause ConstructibleStyle to fail due to StencilJS build optimizations.`);
19093
+ if (supportsConstructibleStylesheets) {
19094
+ const addStylesheet = (instance) => {
19095
+ if (!instance[opts.cacheKeyProperty] ||
19096
+ (cacheKeys.get(instance) &&
19097
+ cacheKeys.get(instance) === instance[opts.cacheKeyProperty]))
19098
+ return;
19099
+ cacheKeys.set(instance, instance[opts.cacheKeyProperty]);
19100
+ const host = getElement(instance);
19101
+ const cssText = typeof instance[propertyKey] === 'function'
19102
+ ? instance[propertyKey]()
19103
+ : instance[propertyKey];
19104
+ const root = (host.shadowRoot || document);
19105
+ root.adoptedStyleSheets = [
19106
+ ...(root.adoptedStyleSheets || []),
19107
+ getOrCreateStylesheet(instance, target, cssText, opts),
19108
+ ];
19109
+ };
19110
+ target.componentWillLoad = function () {
19111
+ const willLoadResult = componentWillLoad && componentWillLoad.call(this);
19112
+ addStylesheet(this);
19113
+ return willLoadResult;
19114
+ };
19115
+ target.componentWillRender = function () {
19116
+ const willRenderResult = componentWillRender && componentWillRender.call(this);
19117
+ addStylesheet(this);
19118
+ return willRenderResult;
19119
+ };
19120
+ }
19121
+ else {
19122
+ target.render = function () {
19123
+ const cssText = typeof this[propertyKey] === 'function'
19124
+ ? this[propertyKey]()
19125
+ : this[propertyKey];
19126
+ let renderedNode = render.call(this);
19127
+ if (isHost(renderedNode)) {
19128
+ appendStyleToHost(renderedNode, target.constructor.name, cssText);
19129
+ }
19130
+ else {
19131
+ renderedNode = hAsync(Host, null, renderedNode);
19132
+ if (!('attachShadow' in HTMLElement.prototype)) {
19133
+ appendStyleToHost(renderedNode, target.constructor.name, cssText);
19134
+ }
19135
+ else {
19136
+ if (!target.__constructableStyle) {
19137
+ const style = document.createElement('style');
19138
+ style.setAttribute('type', 'text/css');
19139
+ style.setAttribute('constructible-style', target.constructor.name);
19140
+ style.innerHTML = cssText;
19141
+ target.__constructableStyle = style;
19142
+ document.head.appendChild(style);
19143
+ }
19144
+ }
19145
+ }
19146
+ return renderedNode;
19147
+ };
19148
+ }
19149
+ };
19150
+ }
19151
+ function appendStyleToHost(node, targetName, cssText) {
19152
+ (getHostChildren(node) || []).push(hAsync("style", { type: "text/css", "constructible-style": targetName }, cssText));
19153
+ }
19154
+ function getOrCreateStylesheet(instance, target, cssText, opts) {
19155
+ if (!target.__constructableStyle) {
19156
+ target.__constructableStyle = {};
19157
+ }
19158
+ const key = instance[opts.cacheKeyProperty];
19159
+ if (!target.__constructableStyle[key]) {
19160
+ target.__constructableStyle[key] = new CSSStyleSheet();
19161
+ target.__constructableStyle[key].replace(cssText);
19162
+ }
19163
+ return target.__constructableStyle[key];
19164
+ }
19165
+ function isHost(node) {
19166
+ for (const prop in node) {
19167
+ if (node.hasOwnProperty(prop)) {
19168
+ if (node[prop] === Host) {
19169
+ return true;
19170
+ }
19171
+ }
19172
+ }
19173
+ return false;
19174
+ }
19175
+ function getHostChildren(node) {
19176
+ for (const prop in node) {
19177
+ if (node.hasOwnProperty(prop)) {
19178
+ if (Array.isArray(node[prop])) {
19179
+ return node[prop];
19180
+ }
19181
+ }
19182
+ }
19183
+ }
19061
19184
 
19062
- const STATEOPTS$1 = ['col-span', 'col-start', 'row-span', 'row-start'];
19185
+ const gridCss = "/*!@:host*/.sc-nano-grid-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-grid,*.sc-nano-grid::before,*.sc-nano-grid::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-grid{display:none !important}/*!@:host*/.sc-nano-grid-h{--grid-col-gap:var(--nano-spacing-medium, 16px);--grid-row-gap:var(--nano-spacing-medium, 16px);--current-grid-size:\"grid size: s\";container-type:inline-size;display:block}/*!@:host .grid*/.sc-nano-grid-h .grid.sc-nano-grid{display:grid;gap:var(--grid-row-gap) var(--grid-col-gap);block-size:inherit;min-block-size:inherit}/*!@:host([show-helper]:not([show-helper=false]))*/[show-helper].sc-nano-grid-h:not([show-helper=false]){position:relative}/*!@:host([show-helper]:not([show-helper=false])) .grid--helper*/[show-helper].sc-nano-grid-h:not([show-helper=false]) .grid--helper.sc-nano-grid{position:absolute;inset:0;pointer-events:none}/*!@:host([show-helper]:not([show-helper=false])) .grid--helper::before*/[show-helper].sc-nano-grid-h:not([show-helper=false]) .grid--helper.sc-nano-grid::before{content:var(--current-grid-size);font-size:30px;position:absolute;inline-size:100%;inset-inline-start:0;text-align:center;inset-block-start:50%;transform:translateY(-50%);color:rgba(0, 0, 0, 0.2);text-transform:uppercase;z-index:99;pointer-events:none}/*!@:host([show-helper]:not([show-helper=false])) .grid__helper-item*/[show-helper].sc-nano-grid-h:not([show-helper=false]) .grid__helper-item.sc-nano-grid{display:none;background:rgba(126, 195, 241, 0.25)}";
19186
+
19187
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
19188
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19189
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
19190
+ r = Reflect.decorate(decorators, target, key, desc);
19191
+ else
19192
+ for (var i = decorators.length - 1; i >= 0; i--)
19193
+ if (d = decorators[i])
19194
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
19195
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19196
+ };
19197
+ var __metadata = (undefined && undefined.__metadata) || function (k, v) {
19198
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
19199
+ return Reflect.metadata(k, v);
19200
+ };
19063
19201
  /**
19064
- * A context-aware CSS grid implementation.
19065
- * Uses it's own width to choose column number - not screen width.
19202
+ * A lightweight, context-aware CSS grid implementation.
19203
+ *
19204
+ * - Define multiple grids templates at different breakpoints
19205
+ * - Uses `@container` queries to select the correct grid depending on the current dimensions
19206
+ * - Use `grid-states="..."` on direct descendants for `column` / `row` - `start` / `end`
19207
+ * - SSR optimised
19208
+
19209
+ * @part grid - the main grid element.
19210
+ * Use this to set css such as `justify-items|content` / `align-items|content` / `place-content`
19211
+ * @part helper - a replica grid showed when `show-helper` is true
19212
+ *
19213
+ * @slot - default slot. Use this to place grid items. Use `grid-states="..."` attribute to opt-out of auto / sequential placement.
19066
19214
  */
19067
19215
  class Grid {
19068
19216
  constructor(hostRef) {
19069
19217
  registerInstance(this, hostRef);
19070
- this.nanoBpChange = createEvent(this, "nanoBpChange", 7);
19071
- this.generalClasses = [''];
19072
- this.gridClass = null;
19073
- this.isSizes = [null];
19074
- this.ready = false;
19075
- this.isSmall = false;
19076
- this.isMedium = false;
19077
- this.isLarge = false;
19078
- this.isXL = false;
19079
- this.isXXL = false;
19218
+ this.grids = [];
19219
+ this.styles = () => {
19220
+ const css = /* css */ `
19221
+ ${this.grids
19222
+ .map((bp) => /* css */ `
19223
+ @container (min-width: ${typeof bp.breakpoint === 'number'
19224
+ ? bp.breakpoint + 1 + 'px'
19225
+ : bp.breakpoint}) {
19226
+ .grid {
19227
+ --current-grid-size: "grid size: ${bp.name}";
19228
+ ${bp.template
19229
+ ? `grid-template: ${bp.template};`
19230
+ : `grid-template-columns: repeat(${bp.cols}, 1fr);`}
19231
+ }
19232
+ ${[...Array(bp.cols)]
19233
+ .map((_, i) => {
19234
+ const gItm = i + 1;
19235
+ return /* css */ `
19236
+ .grid > [grid-states~="${bp.name}-col-start-${gItm}"],
19237
+ ::slotted([grid-states~="${bp.name}-col-start-${gItm}"]) {
19238
+ grid-column-start: ${gItm} !important;
19239
+ }
19240
+ .grid > [grid-states~="${bp.name}-row-start-${gItm}"],
19241
+ ::slotted([grid-states~="${bp.name}-row-start-${gItm}"]) {
19242
+ grid-row-start: ${gItm} !important;
19243
+ }
19244
+ .grid > [grid-states~="${bp.name}-col-span-${gItm}"],
19245
+ ::slotted([grid-states~="${bp.name}-col-span-${gItm}"]) {
19246
+ grid-column-end: span ${gItm} !important;
19247
+ }
19248
+ .grid > [grid-states~="${bp.name}-row-span-${gItm}"],
19249
+ ::slotted([grid-states~="${bp.name}-row-span-${gItm}"]) {
19250
+ grid-row-end: span ${gItm} !important;
19251
+ }
19252
+ `;
19253
+ })
19254
+ .join('')}
19255
+ ${this.showHelper &&
19256
+ /* css */ `
19257
+ .grid--helper :nth-child(-n+${bp.cols}) {
19258
+ display: block !important;
19259
+ }
19260
+ `}
19261
+ }
19262
+ `)
19263
+ .join('')}
19264
+ `;
19265
+ return css;
19266
+ };
19267
+ this.cacheKey = undefined;
19080
19268
  this.sSize = 300;
19081
19269
  this.mSize = 550;
19082
19270
  this.lSize = 800;
@@ -19086,300 +19274,146 @@ class Grid {
19086
19274
  this.lCols = undefined;
19087
19275
  this.xlCols = undefined;
19088
19276
  this.xxlCols = undefined;
19277
+ this.sTpl = undefined;
19278
+ this.mTpl = undefined;
19279
+ this.lTpl = undefined;
19280
+ this.xlTpl = undefined;
19281
+ this.xxlTpl = undefined;
19089
19282
  this.showHelper = false;
19090
- this.contentPanel = false;
19091
- this.fullHeight = false;
19092
- this.stateChange = debounce$2(this.stateChange.bind(this), 100);
19093
- }
19094
- propChanged() {
19095
- this.applySizeClasses();
19096
- }
19097
- applySizeClasses() {
19098
- const size = this.currentWidth;
19099
- this.isSmall = false;
19100
- this.isMedium = false;
19101
- this.isLarge = false;
19102
- this.isXL = false;
19103
- this.isXXL = false;
19104
- this.generalClasses = [];
19105
- this.gridClass = null;
19106
- this.isSizes = [null];
19107
- this.isSmall = true;
19108
- this.generalClasses.push('is-small');
19283
+ }
19284
+ constructSizeArray() {
19285
+ this.grids = [];
19109
19286
  if (this.sCols)
19110
- this.gridClass = `nano-grid-${this.sCols}`;
19111
- this.isSizes.push({ size: 's', active: true });
19112
- if (size > this.sSize) {
19113
- this.isMedium = true;
19114
- this.generalClasses.push('is-medium');
19115
- if (this.mCols)
19116
- this.gridClass = `nano-grid-${this.mCols}`;
19117
- this.isSizes.push({ size: 'm', active: true });
19118
- }
19119
- if (size > this.mSize) {
19120
- this.isLarge = true;
19121
- this.generalClasses.push('is-large');
19122
- if (this.lCols)
19123
- this.gridClass = `nano-grid-${this.lCols}`;
19124
- this.isSizes.push({ size: 'l', active: true });
19125
- }
19126
- if (size > this.lSize) {
19127
- this.isXL = true;
19128
- this.generalClasses.push('is-xl');
19129
- if (this.xlCols)
19130
- this.gridClass = `nano-grid-${this.xlCols}`;
19131
- this.isSizes.push({ size: 'xl', active: true });
19132
- }
19133
- if (size > this.xlSize) {
19134
- this.isXXL = true;
19135
- this.generalClasses.push('is-xxl');
19136
- if (this.xxlCols)
19137
- this.gridClass = `nano-grid-${this.xxlCols}`;
19138
- this.isSizes.push({ size: 'xxl', active: true });
19139
- }
19140
- this.el.style.setProperty('--current-grid-size', `'grid size: ${this.isSizes.slice().pop().size}'`);
19141
- this.applyChildrenClasses();
19142
- setTimeout(() => (this.ready = true), 0);
19143
- }
19144
- stateChange() {
19145
- this.nanoBpChange.emit(this.generalClasses);
19146
- }
19147
- applyChildrenClasses() {
19148
- const gridItems = this.el.querySelectorAll('nano-grid-item');
19149
- if (gridItems.length) {
19150
- gridItems.forEach((gridItem) => {
19151
- gridItem.changeBP(this.isSizes);
19287
+ this.grids.push({
19288
+ cols: this.sCols,
19289
+ breakpoint: 0,
19290
+ name: 's',
19291
+ template: this.sTpl,
19152
19292
  });
19153
- return;
19154
- }
19155
- // this logic has been put into grid-item. Keep here for legacy for now
19156
- let stateArr = [''];
19157
- let itemState = '';
19158
- let found;
19159
- let classes;
19160
- const ctx = this.el;
19161
- // item states come in 4 possible flavours at every breakpoint. E.g.
19162
- // xl-col-span-2
19163
- // xl-col-start-2
19164
- // xl-row-span-2
19165
- // xl-row-start-2
19166
- // loop through all grid items with states.
19167
- [].map.call(ctx.children, (gItem) => {
19168
- if (!gItem.hasAttribute('grid-states'))
19169
- return;
19170
- // gridItems.forEach(gItem => {
19171
- // clear all previous grid state classnames
19172
- classes = gItem.className
19173
- .split(' ')
19174
- .filter((c) => !c.startsWith('nano-grid-'));
19175
- gItem.className = classes.join(' ').trim();
19176
- // get all potential states this element can have
19177
- const itemStates = gItem.getAttribute('grid-states').split(' ');
19178
- // loop through all potential state options: col & row span & start
19179
- STATEOPTS$1.forEach((stateOpt) => {
19180
- // reset found flag
19181
- found = false;
19182
- // loop through all the current valid breakpoints / sizes backwards because
19183
- // we only care about the item's state at the largest current breakpoint.
19184
- this.isSizes
19185
- .slice()
19186
- .reverse()
19187
- .forEach(function (size) {
19188
- if (found || !size)
19189
- return;
19190
- found = itemStates.find((state) => state.indexOf(`${size.size}-${stateOpt}`) === 0);
19191
- // found a state at this current size. apply class.
19192
- if (found) {
19193
- // clear previous grid state classname
19194
- classes = gItem.className
19195
- .split(' ')
19196
- .filter((c) => !c.includes('nano-grid-${stateOpt}'));
19197
- gItem.className = classes.join(' ').trim();
19198
- stateArr = found.split('-');
19199
- // remove the size of the state
19200
- stateArr.shift();
19201
- itemState = stateArr.join('-');
19202
- // add new class
19203
- gItem.classList.add(`nano-grid-${itemState}`);
19204
- }
19205
- });
19293
+ if (this.mCols)
19294
+ this.grids.push({
19295
+ cols: this.mCols,
19296
+ breakpoint: this.sSize,
19297
+ name: 'm',
19298
+ template: this.mTpl,
19206
19299
  });
19207
- });
19300
+ if (this.lSize)
19301
+ this.grids.push({
19302
+ cols: this.lCols,
19303
+ breakpoint: this.mSize,
19304
+ name: 'l',
19305
+ template: this.lTpl,
19306
+ });
19307
+ if (this.xlCols)
19308
+ this.grids.push({
19309
+ cols: this.xlCols,
19310
+ breakpoint: this.lSize,
19311
+ name: 'xl',
19312
+ template: this.xlTpl,
19313
+ });
19314
+ if (this.xxlCols)
19315
+ this.grids.push({
19316
+ cols: this.xxlCols,
19317
+ breakpoint: this.xlSize,
19318
+ name: 'xxl',
19319
+ template: this.xxlTpl,
19320
+ });
19321
+ this.cacheKey =
19322
+ this.grids
19323
+ .map((bp) => `${bp.cols}-${bp.breakpoint}-${bp.template || ''}`)
19324
+ .join('') +
19325
+ '-helper-' +
19326
+ this.showHelper;
19208
19327
  }
19209
19328
  componentWillLoad() {
19210
- const ctx = this.el;
19211
- [].map.call(ctx.children, (ele) => ele.classList.add('nano-griditem'));
19212
- }
19213
- componentDidLoad() {
19214
- if (!window['ResizeObserver'])
19215
- return;
19216
- this.ro = new ResizeObserver((entries) => {
19217
- for (const entry of entries) {
19218
- if (!entry.contentRect.width)
19219
- return;
19220
- this.currentWidth = entry.contentRect.width;
19221
- this.applySizeClasses();
19222
- }
19223
- });
19224
- this.ro.observe(this.el);
19225
- }
19226
- disconnectedCallback() {
19227
- if (this.ro)
19228
- this.ro.disconnect();
19329
+ this.constructSizeArray();
19229
19330
  }
19230
19331
  render() {
19231
- return (hAsync(Host, { class: {
19232
- [this.generalClasses.join(' ')]: true,
19233
- 'has-grid': !!this.gridClass,
19234
- ready: this.ready,
19235
- [this.gridClass]: true,
19236
- } }, hAsync("div", { class: {
19237
- grid: true,
19238
- } }, hAsync("slot", null))));
19332
+ return (hAsync(Host, null, hAsync("div", { part: "grid", class: "grid" }, hAsync("slot", null)), this.showHelper && (hAsync("div", { class: "grid grid--helper", part: "helper" }, [...Array(24)].map(() => (hAsync("div", { class: "grid__helper-item" })))))));
19239
19333
  }
19240
- get el() { return getElement(this); }
19241
19334
  static get watchers() { return {
19242
- "sSize": ["propChanged"],
19243
- "mSize": ["propChanged"],
19244
- "lSize": ["propChanged"],
19245
- "xlSize": ["propChanged"],
19246
- "sCols": ["propChanged"],
19247
- "mCols": ["propChanged"],
19248
- "lCols": ["propChanged"],
19249
- "xlCols": ["propChanged"],
19250
- "xxlCols": ["propChanged"],
19251
- "isSmall": ["stateChange"],
19252
- "isMedium": ["stateChange"],
19253
- "isLarge": ["stateChange"],
19254
- "isXL": ["stateChange"],
19255
- "isXXL": ["stateChange"]
19335
+ "sTpl": ["constructSizeArray"],
19336
+ "mTpl": ["constructSizeArray"],
19337
+ "lTpl": ["constructSizeArray"],
19338
+ "xlTpl": ["constructSizeArray"],
19339
+ "xxlTpl": ["constructSizeArray"],
19340
+ "sSize": ["constructSizeArray"],
19341
+ "mSize": ["constructSizeArray"],
19342
+ "lSize": ["constructSizeArray"],
19343
+ "xlSize": ["constructSizeArray"],
19344
+ "sCols": ["constructSizeArray"],
19345
+ "mCols": ["constructSizeArray"],
19346
+ "lCols": ["constructSizeArray"],
19347
+ "xlCols": ["constructSizeArray"],
19348
+ "xxlCols": ["constructSizeArray"],
19349
+ "showHelper": ["constructSizeArray"]
19256
19350
  }; }
19257
19351
  static get style() { return gridCss; }
19258
19352
  static get cmpMeta() { return {
19259
19353
  "$flags$": 9,
19260
19354
  "$tagName$": "nano-grid",
19261
19355
  "$members$": {
19262
- "sSize": [2, "s-size"],
19263
- "mSize": [2, "m-size"],
19264
- "lSize": [2, "l-size"],
19265
- "xlSize": [2, "xl-size"],
19356
+ "sSize": [8, "s-size"],
19357
+ "mSize": [8, "m-size"],
19358
+ "lSize": [8, "l-size"],
19359
+ "xlSize": [8, "xl-size"],
19266
19360
  "sCols": [2, "s-cols"],
19267
19361
  "mCols": [2, "m-cols"],
19268
19362
  "lCols": [2, "l-cols"],
19269
19363
  "xlCols": [2, "xl-cols"],
19270
19364
  "xxlCols": [2, "xxl-cols"],
19365
+ "sTpl": [1, "s-tpl"],
19366
+ "mTpl": [1, "m-tpl"],
19367
+ "lTpl": [1, "l-tpl"],
19368
+ "xlTpl": [1, "xl-tpl"],
19369
+ "xxlTpl": [1, "xxl-tpl"],
19271
19370
  "showHelper": [516, "show-helper"],
19272
- "contentPanel": [516, "content-panel"],
19273
- "fullHeight": [516, "full-height"],
19274
- "ready": [32],
19275
- "isSmall": [32],
19276
- "isMedium": [32],
19277
- "isLarge": [32],
19278
- "isXL": [32],
19279
- "isXXL": [32]
19371
+ "cacheKey": [32]
19280
19372
  },
19281
19373
  "$listeners$": undefined,
19282
19374
  "$lazyBundleId$": "-",
19283
- "$attrsToReflect$": [["showHelper", "show-helper"], ["contentPanel", "content-panel"], ["fullHeight", "full-height"]]
19375
+ "$attrsToReflect$": [["showHelper", "show-helper"]]
19284
19376
  }; }
19285
19377
  }
19378
+ __decorate([
19379
+ ConstructibleStyle({ cacheKeyProperty: 'cacheKey' }),
19380
+ __metadata("design:type", Object)
19381
+ ], Grid.prototype, "styles", void 0);
19286
19382
 
19287
- const gridItemCss = "/*!@:host*/.sc-nano-grid-item-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-grid-item,*.sc-nano-grid-item::before,*.sc-nano-grid-item::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-grid-item{display:none !important}/*!@:host*/.sc-nano-grid-item-h{display:inline-block}";
19288
-
19289
- const STATEOPTS = ['col-span', 'col-start', 'row-span', 'row-start'];
19383
+ // import type { GridSizes } from '../../interface';
19384
+ // const STATEOPTS = ['col-span', 'col-start', 'row-span', 'row-start'];
19290
19385
  /**
19386
+ * @deprecated - you can now use `grid-states="..."`
19387
+ * on any direct `nano-grid` descendent without limitation rendering `nano-grid-item` obsolete.
19388
+ *
19291
19389
  * Grid items to be used with [grid](/story/nano-components-grid) elements
19292
19390
  */
19293
19391
  class GridItem {
19294
19392
  constructor(hostRef) {
19295
19393
  registerInstance(this, hostRef);
19296
- this.currGridSizes = [null];
19297
- this.gridStates = '';
19298
- }
19299
- updateGridClasses() {
19300
- this.applyChildrenClasses();
19301
19394
  }
19302
19395
  /**
19303
- * Called by parent grid to trigger new classes
19304
- * @internal
19396
+ * How to position this item within it's parent grid at different break points. Examples:
19397
+ * xl-col-span-2
19398
+ * l-col-start-2
19399
+ * xxl-row-span-2
19400
+ * m-row-start-2
19305
19401
  */
19306
- async changeBP(newGridSizes) {
19307
- if (this.currGridSizes === newGridSizes)
19308
- return;
19309
- this.currGridSizes = newGridSizes;
19310
- if (!this.gridStates.length)
19311
- return;
19312
- this.applyChildrenClasses();
19313
- }
19314
- applyChildrenClasses() {
19315
- let stateArr = [''];
19316
- let itemState = '';
19317
- let found;
19318
- let classes;
19319
- // item states come in 4 possible flavours at every breakpoint. E.g.
19320
- // xl-col-span-2
19321
- // xl-col-start-2
19322
- // xl-row-span-2
19323
- // xl-row-start-2
19324
- // clear all previous grid state classnames
19325
- classes = this.el.className
19326
- .split(' ')
19327
- .filter((c) => !c.startsWith('nano-grid-'));
19328
- this.el.className = classes.join(' ').trim();
19329
- // get all potential states this element can have
19330
- const itemStates = this.gridStates.split(' ');
19331
- // loop through all potential state options: col & row span & start
19332
- STATEOPTS.forEach((stateOpt) => {
19333
- // reset found flag
19334
- found = false;
19335
- // loop through all the current valid breakpoints / sizes backwards because
19336
- // we only care about the item's state at the largest current breakpoint.
19337
- this.currGridSizes
19338
- .slice()
19339
- .reverse()
19340
- .forEach((size) => {
19341
- if (found || !size)
19342
- return;
19343
- found = itemStates.find((state) => state.indexOf(`${size.size}-${stateOpt}`) === 0);
19344
- // found a state at this current size. apply class.
19345
- if (found) {
19346
- // clear previous grid state classname
19347
- classes = this.el.className
19348
- .split(' ')
19349
- .filter((c) => !c.includes('nano-grid-${stateOpt}'));
19350
- this.el.className = classes.join(' ').trim();
19351
- stateArr = found.split('-');
19352
- // remove the size of the state
19353
- stateArr.shift();
19354
- itemState = stateArr.join('-');
19355
- // add new class
19356
- this.el.classList.add(`nano-grid-${itemState}`);
19357
- }
19358
- });
19359
- });
19360
- }
19361
19402
  render() {
19362
19403
  return hAsync("slot", null);
19363
19404
  }
19364
- get el() { return getElement(this); }
19365
- static get watchers() { return {
19366
- "gridStates": ["updateGridClasses"]
19367
- }; }
19368
- static get style() { return gridItemCss; }
19405
+ static get style() { return "/*!@:host*/.sc-nano-grid-item-h { display: inline-block; }"; }
19369
19406
  static get cmpMeta() { return {
19370
19407
  "$flags$": 9,
19371
19408
  "$tagName$": "nano-grid-item",
19372
- "$members$": {
19373
- "gridStates": [1, "grid-states"],
19374
- "changeBP": [64]
19375
- },
19409
+ "$members$": undefined,
19376
19410
  "$listeners$": undefined,
19377
19411
  "$lazyBundleId$": "-",
19378
19412
  "$attrsToReflect$": []
19379
19413
  }; }
19380
19414
  }
19381
19415
 
19382
- const heroCss = "/*!@:host*/.sc-nano-hero-h {\n box-sizing: border-box;\n}\n\n/*!@*,\n*::before,\n*::after*/*.sc-nano-hero, *.sc-nano-hero::before, *.sc-nano-hero::after {\n box-sizing: border-box;\n}\n/*!@[hidden]*/[hidden].sc-nano-hero {\n display: none !important;\n}\n\n/*!@:host*/.sc-nano-hero-h {\n \n display: block;\n --nano-loader-base: #4a4a4a;\n --nano-loader-tint: #7d7d7d;\n --theme-color: #fff;\n --theme-tint-color: #90c6e7;\n --scrim-color: 0 0 0;\n --scrim-direction: 90deg;\n --scrim-opacity-from: 0.25;\n --scrim-opacity-to: 0.7;\n --padding: 0;\n --quote-size: 1.3rem;\n color: var(--theme-color);\n}\n\n/*!@:host(.is-xl)*/.is-xl.sc-nano-hero-h {\n --quote-size: 3rem;\n}\n\n/*!@:host([theme=light])*/[theme=light].sc-nano-hero-h {\n --nano-loader-base: #fff;\n --nano-loader-tint: white;\n --theme-color: #4a4a4a;\n --scrim-color: 255 255 255;\n --scrim-opacity-from: 0.25;\n --scrim-opacity-to: 1;\n --scrim-direction: 270deg;\n color: var(--theme-color);\n}\n/*!@:host([theme=light]) .hero__primary-content*/[theme=light].sc-nano-hero-h .hero__primary-content.sc-nano-hero {\n --color: #4a4a4a;\n}\n\n/*!@.hero*/.hero.sc-nano-hero {\n position: relative;\n}\n/*!@.hero--rtl*/.hero--rtl.sc-nano-hero {\n --scrim-direction: 270deg;\n}\n/*!@.hero--secondary:not(.hero--iconbox)*/.hero--secondary.sc-nano-hero:not(.hero--iconbox) {\n --scrim-direction: 0deg;\n}\n/*!@.hero__bg-wrap*/.hero__bg-wrap.sc-nano-hero {\n overflow: hidden;\n}\n/*!@.hero__bg-slot*/.hero__bg-slot.sc-nano-hero {\n position: absolute;\n inset: 0;\n}\n/*!@.hero__ctas*/.hero__ctas.sc-nano-hero {\n display: flex;\n justify-content: flex-end;\n padding-block: 32px 0;\n padding-inline: 32px;\n -webkit-margin-after: -64px;\n margin-block-end: -64px;\n position: relative;\n z-index: 1;\n}\n@media (max-width: 52em) {\n /*!@.hero__ctas*/.hero__ctas.sc-nano-hero {\n display: none;\n }\n}\n@media (max-width: 58em) {\n /*!@.hero__ctas*/.hero__ctas.sc-nano-hero {\n -webkit-margin-after: -48px;\n margin-block-end: -48px;\n }\n}\n/*!@.hero__ctas ::slotted(a.button[slot=secondary-ctas])*/.hero__ctas .sc-nano-hero-s > a.button[slot=secondary-ctas] {\n padding-block: 0.25rem !important;\n padding-inline: 0.5rem !important;\n font-size: 0.875rem !important;\n margin-block: 0 !important;\n margin-inline: 0.25rem !important;\n}\n/*!@.hero__img*/.hero__img.sc-nano-hero {\n display: block;\n container-type: inline-size;\n --padding: inherit;\n}\n/*!@.hero__breadcrumbs*/.hero__breadcrumbs.sc-nano-hero {\n display: none;\n margin-block: 20px 0;\n margin-inline: 14px;\n line-height: 14px;\n}\n/*!@.hero--breadcrumb .hero__breadcrumbs*/.hero--breadcrumb.sc-nano-hero .hero__breadcrumbs.sc-nano-hero {\n display: block;\n}\n/*!@.is-xl .hero__breadcrumbs*/.is-xl.sc-nano-hero .hero__breadcrumbs.sc-nano-hero {\n margin-block: 0;\n margin-inline: 50px;\n max-inline-size: 50%;\n}\n@container (min-width: 800px) {\n .hero__breadcrumbs {\n margin-block: 0;\n margin-inline: 50px;\n max-inline-size: 50%;\n }\n}\n/*!@.is-xxl .hero__breadcrumbs*/.is-xxl.sc-nano-hero .hero__breadcrumbs.sc-nano-hero {\n margin-block: 0;\n margin-inline: 83px;\n}\n@container (min-width: 900px) {\n .hero__breadcrumbs {\n margin-block: 0;\n margin-inline: 83px;\n }\n}\n/*!@.hero__breadcrumbs ::slotted(*[slot=breadcrumb])*/.hero__breadcrumbs .sc-nano-hero-s > *[slot=breadcrumb] {\n font-size: 0.85rem;\n text-transform: uppercase;\n letter-spacing: 1.5px;\n font-weight: 600;\n font-stretch: 125%;\n display: inline-block;\n -webkit-margin-after: 16px;\n margin-block-end: 16px;\n position: relative;\n z-index: 2;\n}\n/*!@.hero--hasbg .hero__breadcrumbs ::slotted(*[slot=breadcrumb])*/.hero--hasbg .hero__breadcrumbs .sc-nano-hero-s > *[slot=breadcrumb] {\n text-shadow: 1px 1px rgba(0, 0, 0, 0.15);\n}\n/*!@.hero__breadcrumbs ::slotted(a[slot=breadcrumb])*/.hero__breadcrumbs .sc-nano-hero-s > a[slot=breadcrumb] {\n color: var(--theme-tint-color) !important;\n cursor: pointer;\n}\n/*!@.hero__breadcrumbs ::slotted(.slash[slot=breadcrumb])*/.hero__breadcrumbs .sc-nano-hero-s > .slash[slot=breadcrumb] {\n color: var(--theme-color);\n position: relative;\n margin-block: 0;\n margin-inline: 0.5rem;\n display: inline-block;\n}\n/*!@.hero__scrim*/.hero__scrim.sc-nano-hero {\n position: absolute;\n inset: 0;\n z-index: 0;\n background: linear-gradient(var(--scrim-direction), rgb(var(--scrim-color)/var(--scrim-opacity-from)) 0%, rgb(var(--scrim-color)/var(--scrim-opacity-to)) 100%);\n}\n/*!@.hero--scrim .hero__scrim*/.hero--scrim.sc-nano-hero .hero__scrim.sc-nano-hero {\n background: none;\n}\n/*!@.hero__content*/.hero__content.sc-nano-hero {\n max-inline-size: 1440px;\n display: block;\n --grid-row-gap: 0;\n margin-block: 0;\n margin-inline: auto;\n position: relative;\n}\n/*!@.hero__content.is-xl*/.hero__content.is-xl.sc-nano-hero {\n -webkit-margin-before: 50px;\n margin-block-start: 50px;\n max-inline-size: 1540px;\n}\n@container (min-width: 800px) {\n .hero__content {\n margin-block: 50px 0 !important;\n max-inline-size: 1540px !important;\n }\n}\n/*!@.hero__content.is-xxl*/.hero__content.is-xxl.sc-nano-hero {\n -webkit-margin-before: 83px;\n margin-block-start: 83px;\n max-inline-size: 1606px;\n}\n@container (min-width: 900px) {\n .hero__content {\n margin-block: 83px 0 !important;\n max-inline-size: 1606px !important;\n }\n}\n/*!@.hero__primary*/.hero__primary.sc-nano-hero {\n margin: 16px;\n}\n/*!@.hero--breadcrumb .hero__primary*/.hero--breadcrumb.sc-nano-hero .hero__primary.sc-nano-hero {\n margin-block: 0;\n margin-inline: 16px;\n}\n/*!@.hero--backbtn .hero__primary*/.hero--backbtn.sc-nano-hero .hero__primary.sc-nano-hero {\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n}\n/*!@.hero__primary ::slotted(nano-icon-button[slot=back-btn])*/.hero__primary .sc-nano-hero-s > nano-icon-button[slot=back-btn] {\n font-size: 2rem;\n}\n/*!@.is-xl .hero__primary*/.is-xl.sc-nano-hero .hero__primary.sc-nano-hero {\n margin-block: 0 50px;\n margin-inline: 50px 0;\n}\n/*!@.is-xl .hero__primary ::slotted(nano-icon-button[slot=back-btn])*/.is-xl .hero__primary .sc-nano-hero-s > nano-icon-button[slot=back-btn] {\n margin-block: 0;\n margin-inline: -3rem 0;\n}\n@container (min-width: 800px) {\n .hero__primary {\n margin-block: 0 50px !important;\n margin-inline: 50px 0 !important;\n }\n .hero__primary.sc-nano-hero-s > nano-icon-button[slot=back-btn], \n .hero__primary .sc-nano-hero-s > nano-icon-button[slot=back-btn] {\n margin-block: 0 !important;\n margin-inline: -3rem 0 !important;\n }\n}\n/*!@.is-xxl .hero__primary*/.is-xxl.sc-nano-hero .hero__primary.sc-nano-hero {\n margin-block: 0 83px !important;\n margin-inline: 83px 0 !important;\n}\n@container (min-width: 900px) {\n .hero__primary {\n margin-block: 0 83px !important;\n margin-inline: 83px 0 !important;\n }\n}\n/*!@.hero__primary-content*/.hero__primary-content.sc-nano-hero {\n max-inline-size: 45rem;\n --color: #fff;\n display: flex;\n}\n/*!@.hero--backbtn .hero__primary-content > div*/.hero--backbtn.sc-nano-hero .hero__primary-content.sc-nano-hero > div.sc-nano-hero {\n padding-block: 10px 0;\n padding-inline: 0;\n}\n/*!@.hero__primary-content ::slotted(h1[slot=primary-content])*/.hero__primary-content .sc-nano-hero-s > h1[slot=primary-content] {\n line-height: 26px !important;\n margin-block: 0 18px !important;\n font-size: 2rem !important;\n}\n/*!@.is-xl .hero__primary-content ::slotted(h1[slot=primary-content])*/.is-xl .hero__primary-content .sc-nano-hero-s > h1[slot=primary-content] {\n line-height: 31px !important;\n -webkit-margin-after: 30px !important;\n margin-block-end: 30px !important;\n}\n/*!@.is-xl .hero__primary-content ::slotted(.button[slot=primary-content])*/.is-xl .hero__primary-content .sc-nano-hero-s > .button[slot=primary-content] {\n -webkit-margin-before: 20px !important;\n margin-block-start: 20px !important;\n}\n@container (min-width: 800px) {\n .hero__primary-content.sc-nano-hero-s > h1[slot=primary-content], \n@container (min-width: 800px) {\n .hero__primary-content .sc-nano-hero-s > h1[slot=primary-content] {\n line-height: 31px !important;\n -webkit-margin-after: 30px !important;\n margin-block-end: 30px !important;\n }\n .hero__primary-content.sc-nano-hero-s > .button[slot=primary-content], \n .hero__primary-content .sc-nano-hero-s > .button[slot=primary-content] {\n -webkit-margin-before: 20px !important;\n margin-block-start: 20px !important;\n }\n}\n/*!@.hero__secondary*/.hero__secondary.sc-nano-hero {\n display: none;\n block-size: 100%;\n padding-block: 0 20px;\n padding-inline: 14px;\n}\n/*!@.hero--secondary .hero__secondary*/.hero--secondary.sc-nano-hero .hero__secondary.sc-nano-hero {\n display: flex;\n align-items: center;\n}\n/*!@.is-xl .hero__secondary*/.is-xl.sc-nano-hero .hero__secondary.sc-nano-hero {\n padding-block: 0 50px;\n padding-inline: 50px;\n justify-content: flex-end;\n}\n@container (min-width: 800px) {\n .hero__secondary {\n padding-block: 0 50px;\n padding-inline: 50px;\n justify-content: flex-end;\n }\n}\n/*!@.is-xxl .hero__secondary*/.is-xxl.sc-nano-hero .hero__secondary.sc-nano-hero {\n padding-block: 0 83px;\n padding-inline: 83px;\n}\n@container (min-width: 900px) {\n .hero__secondary {\n padding-block: 0 83px;\n padding-inline: 83px;\n }\n}\n/*!@.hero__icon-box*/.hero__icon-box.sc-nano-hero {\n background: rgba(0, 0, 0, 0.7);\n padding: 24px;\n inline-size: 100%;\n -webkit-margin-after: auto;\n margin-block-end: auto;\n display: flex;\n flex-direction: column;\n color: white;\n}\n/*!@.is-xl .hero__icon-box*/.is-xl.sc-nano-hero .hero__icon-box.sc-nano-hero {\n max-inline-size: 410px;\n flex: 0 1 410px;\n}\n/*!@.hero__icon-box ::slotted([slot=icon-box-item])*/.hero__icon-box .sc-nano-hero-s > [slot=icon-box-item] {\n --nano-color-base: var(--theme-tint-color);\n --nano-icon-size: 32px;\n --nano-icon-margin-end: 20px;\n display: flex;\n align-items: center;\n font-size: 0.8125rem;\n -webkit-margin-after: 20px;\n margin-block-end: 20px;\n}\n/*!@.hero__icon-box ::slotted(.last[slot=icon-box-item])*/.hero__icon-box .sc-nano-hero-s > .last[slot=icon-box-item] {\n -webkit-margin-after: 0;\n margin-block-end: 0;\n}\n/*!@.hero__quote-content*/.hero__quote-content.sc-nano-hero {\n -webkit-margin-before: auto;\n margin-block-start: auto;\n text-align: center;\n inline-size: 100%;\n}\n/*!@.is-xl .hero__quote-content*/.is-xl.sc-nano-hero .hero__quote-content.sc-nano-hero {\n max-inline-size: 500px;\n flex: 0 1 500px;\n text-align: initial;\n}\n@container (min-width: 800px) {\n .hero__quote-content {\n max-inline-size: 500px;\n flex: 0 1 500px;\n text-align: initial;\n }\n}\n/*!@.hero__quote::before, .hero__quote::after*/.hero__quote.sc-nano-hero::before, .hero__quote.sc-nano-hero::after {\n content: '\"';\n font-size: var(--quote-size);\n font-weight: 700;\n font-style: italic;\n line-height: 0;\n color: #abb6b8;\n display: inline;\n position: relative;\n}\n/*!@.hero__quote ::slotted([slot=quote])*/.hero__quote .sc-nano-hero-s > [slot=quote] {\n font-size: var(--quote-size);\n font-weight: 300;\n font-style: italic;\n display: inline;\n}\n/*!@.hero__quote-author*/.hero__quote-author.sc-nano-hero {\n text-align: end;\n font-size: 1rem;\n opacity: 0.8;\n}\n/*!@.hero--sub .hero__content.is-xl*/.hero--sub.sc-nano-hero .hero__content.is-xl.sc-nano-hero {\n -webkit-margin-before: 40px;\n margin-block-start: 40px;\n}\n/*!@.hero--sub .hero__content.is-xl .hero__primary*/.hero--sub.sc-nano-hero .hero__content.is-xl.sc-nano-hero .hero__primary.sc-nano-hero {\n margin-block: 0 40px;\n margin-inline: 50px 0;\n}\n/*!@.hero--sub .hero__content.is-xl .hero__secondary*/.hero--sub.sc-nano-hero .hero__content.is-xl.sc-nano-hero .hero__secondary.sc-nano-hero {\n padding-block: 0 50px;\n padding-inline: 40px 50px;\n}\n/*!@.hero--sub .hero__content.is-xl ::slotted(.button[slot=primary-content])*/.hero--sub .hero__content.is-xl .sc-nano-hero-s > .button[slot=primary-content] {\n -webkit-margin-before: 8px !important;\n margin-block-start: 8px !important;\n}\n/*!@.hero--sub .hero__content.is-xl ::slotted(h1[slot=primary-content])*/.hero--sub .hero__content.is-xl .sc-nano-hero-s > h1[slot=primary-content] {\n -webkit-margin-after: 18px !important;\n margin-block-end: 18px !important;\n}\n/*!@.hero--sub .hero__content.is-xxl .hero__primary*/.hero--sub.sc-nano-hero .hero__content.is-xxl.sc-nano-hero .hero__primary.sc-nano-hero {\n margin-block: 0 40px;\n margin-inline: 83px 0;\n}\n/*!@.hero--sub .hero__content.is-xxl .hero__secondary*/.hero--sub.sc-nano-hero .hero__content.is-xxl.sc-nano-hero .hero__secondary.sc-nano-hero {\n padding-block: 0 83px;\n padding-inline: 40px 83px;\n}";
19416
+ const heroCss = "/*!@:host*/.sc-nano-hero-h {\n box-sizing: border-box;\n}\n\n/*!@*,\n*::before,\n*::after*/*.sc-nano-hero, *.sc-nano-hero::before, *.sc-nano-hero::after {\n box-sizing: border-box;\n}\n/*!@[hidden]*/[hidden].sc-nano-hero {\n display: none !important;\n}\n\n/*!@:host*/.sc-nano-hero-h {\n \n --nano-loader-base: #4a4a4a;\n --nano-loader-tint: #7d7d7d;\n --theme-color: #fff;\n --theme-tint-color: #90c6e7;\n --scrim-color: 0 0 0;\n --scrim-direction: 90deg;\n --scrim-opacity-from: 0.25;\n --scrim-opacity-to: 0.7;\n --padding: 0;\n --quote-size: 1.3rem;\n color: var(--theme-color);\n display: block;\n container-type: inline-size;\n}\n\n/*!@:host([theme=light])*/[theme=light].sc-nano-hero-h {\n --nano-loader-base: #fff;\n --nano-loader-tint: white;\n --theme-color: #4a4a4a;\n --scrim-color: 255 255 255;\n --scrim-opacity-from: 0.25;\n --scrim-opacity-to: 1;\n --scrim-direction: 270deg;\n color: var(--theme-color);\n}\n/*!@:host([theme=light]) .hero__primary-content*/[theme=light].sc-nano-hero-h .hero__primary-content.sc-nano-hero {\n --color: #4a4a4a;\n}\n\n/*!@.hero*/.hero.sc-nano-hero {\n position: relative;\n}\n@container (min-width: 800px) {\n .hero {\n --quote-size: 3rem;\n }\n}\n/*!@.hero--rtl*/.hero--rtl.sc-nano-hero {\n --scrim-direction: 270deg;\n}\n/*!@.hero--secondary:not(.hero--iconbox)*/.hero--secondary.sc-nano-hero:not(.hero--iconbox) {\n --scrim-direction: 0deg;\n}\n/*!@.hero__bg-wrap*/.hero__bg-wrap.sc-nano-hero {\n overflow: hidden;\n}\n/*!@.hero__bg-slot*/.hero__bg-slot.sc-nano-hero {\n position: absolute;\n inset: 0;\n}\n/*!@.hero__ctas*/.hero__ctas.sc-nano-hero {\n display: flex;\n justify-content: flex-end;\n padding-block: 32px 0;\n padding-inline: 32px;\n -webkit-margin-after: -64px;\n margin-block-end: -64px;\n position: relative;\n z-index: 1;\n}\n@media (max-width: 52em) {\n /*!@.hero__ctas*/.hero__ctas.sc-nano-hero {\n display: none;\n }\n}\n@media (max-width: 58em) {\n /*!@.hero__ctas*/.hero__ctas.sc-nano-hero {\n -webkit-margin-after: -48px;\n margin-block-end: -48px;\n }\n}\n/*!@.hero__ctas ::slotted(a.button[slot=secondary-ctas])*/.hero__ctas .sc-nano-hero-s > a.button[slot=secondary-ctas] {\n padding-block: 0.25rem !important;\n padding-inline: 0.5rem !important;\n font-size: 0.875rem !important;\n margin-block: 0 !important;\n margin-inline: 0.25rem !important;\n}\n/*!@.hero__img*/.hero__img.sc-nano-hero {\n display: block;\n --padding: inherit;\n}\n/*!@.hero__breadcrumbs*/.hero__breadcrumbs.sc-nano-hero {\n display: none;\n margin-block: 20px 0;\n margin-inline: 14px;\n line-height: 14px;\n}\n/*!@.hero--breadcrumb .hero__breadcrumbs*/.hero--breadcrumb.sc-nano-hero .hero__breadcrumbs.sc-nano-hero {\n display: block;\n}\n@container (min-width: 800px) {\n .hero__breadcrumbs {\n margin-block: 0;\n margin-inline: 50px;\n max-inline-size: 50%;\n }\n}\n@container (min-width: 900px) {\n .hero__breadcrumbs {\n margin-block: 0;\n margin-inline: 83px;\n }\n}\n/*!@.hero__breadcrumbs ::slotted(*[slot=breadcrumb])*/.hero__breadcrumbs .sc-nano-hero-s > *[slot=breadcrumb] {\n font-size: 0.85rem;\n text-transform: uppercase;\n letter-spacing: 1.5px;\n font-weight: 600;\n font-stretch: 125%;\n display: inline-block;\n -webkit-margin-after: 16px;\n margin-block-end: 16px;\n position: relative;\n z-index: 2;\n}\n/*!@.hero--hasbg .hero__breadcrumbs ::slotted(*[slot=breadcrumb])*/.hero--hasbg .hero__breadcrumbs .sc-nano-hero-s > *[slot=breadcrumb] {\n text-shadow: 1px 1px rgba(0, 0, 0, 0.15);\n}\n/*!@.hero__breadcrumbs ::slotted(a[slot=breadcrumb])*/.hero__breadcrumbs .sc-nano-hero-s > a[slot=breadcrumb] {\n color: var(--theme-tint-color) !important;\n cursor: pointer;\n}\n/*!@.hero__breadcrumbs ::slotted(.slash[slot=breadcrumb])*/.hero__breadcrumbs .sc-nano-hero-s > .slash[slot=breadcrumb] {\n color: var(--theme-color);\n position: relative;\n margin-block: 0;\n margin-inline: 0.5rem;\n display: inline-block;\n}\n/*!@.hero__scrim*/.hero__scrim.sc-nano-hero {\n position: absolute;\n inset: 0;\n z-index: 0;\n background: linear-gradient(var(--scrim-direction), rgb(var(--scrim-color)/var(--scrim-opacity-from)) 0%, rgb(var(--scrim-color)/var(--scrim-opacity-to)) 100%);\n}\n/*!@.hero--scrim .hero__scrim*/.hero--scrim.sc-nano-hero .hero__scrim.sc-nano-hero {\n background: none;\n}\n/*!@.hero__content*/.hero__content.sc-nano-hero {\n max-inline-size: 1440px;\n display: block;\n --grid-row-gap: 0;\n margin-block: 0;\n margin-inline: auto;\n position: relative;\n}\n@container (min-width: 800px) {\n .hero__content {\n margin-block: 50px 0 !important;\n max-inline-size: 1540px !important;\n }\n}\n@container (min-width: 900px) {\n .hero__content {\n margin-block: 83px 0 !important;\n max-inline-size: 1606px !important;\n }\n}\n/*!@.hero__primary*/.hero__primary.sc-nano-hero {\n margin: 16px;\n}\n/*!@.hero--breadcrumb .hero__primary*/.hero--breadcrumb.sc-nano-hero .hero__primary.sc-nano-hero {\n margin-block: 0;\n margin-inline: 16px;\n}\n/*!@.hero--backbtn .hero__primary*/.hero--backbtn.sc-nano-hero .hero__primary.sc-nano-hero {\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n}\n/*!@.hero__primary ::slotted(nano-icon-button[slot=back-btn])*/.hero__primary .sc-nano-hero-s > nano-icon-button[slot=back-btn] {\n font-size: 2rem;\n}\n@container (min-width: 800px) {\n .hero__primary {\n margin-block: 0 50px !important;\n margin-inline: 50px 0 !important;\n }\n .hero__primary.sc-nano-hero-s > nano-icon-button[slot=back-btn], \n .hero__primary .sc-nano-hero-s > nano-icon-button[slot=back-btn] {\n margin-block: 0 !important;\n margin-inline: -3rem 0 !important;\n }\n}\n@container (min-width: 900px) {\n .hero__primary {\n margin-block: 0 83px !important;\n margin-inline: 83px 0 !important;\n }\n}\n/*!@.hero__primary-content*/.hero__primary-content.sc-nano-hero {\n max-inline-size: 45rem;\n --color: #fff;\n display: flex;\n}\n/*!@.hero--backbtn .hero__primary-content > div*/.hero--backbtn.sc-nano-hero .hero__primary-content.sc-nano-hero > div.sc-nano-hero {\n padding-block: 10px 0;\n padding-inline: 0;\n}\n/*!@.hero__primary-content ::slotted(h1[slot=primary-content])*/.hero__primary-content .sc-nano-hero-s > h1[slot=primary-content] {\n line-height: 26px !important;\n margin-block: 0 18px !important;\n font-size: 2rem !important;\n}\n@container (min-width: 800px) {\n .hero__primary-content.sc-nano-hero-s > h1[slot=primary-content], \n@container (min-width: 800px) {\n .hero__primary-content .sc-nano-hero-s > h1[slot=primary-content] {\n line-height: 31px !important;\n -webkit-margin-after: 30px !important;\n margin-block-end: 30px !important;\n }\n .hero__primary-content.sc-nano-hero-s > .button[slot=primary-content], \n .hero__primary-content .sc-nano-hero-s > .button[slot=primary-content] {\n -webkit-margin-before: 20px !important;\n margin-block-start: 20px !important;\n }\n}\n/*!@.hero__secondary*/.hero__secondary.sc-nano-hero {\n display: none;\n block-size: 100%;\n padding-block: 0 20px;\n padding-inline: 14px;\n}\n/*!@.hero--secondary .hero__secondary*/.hero--secondary.sc-nano-hero .hero__secondary.sc-nano-hero {\n display: flex;\n align-items: center;\n}\n@container (min-width: 800px) {\n .hero__secondary {\n padding-block: 0 50px;\n padding-inline: 50px;\n justify-content: flex-end;\n }\n}\n@container (min-width: 900px) {\n .hero__secondary {\n padding-block: 0 83px;\n padding-inline: 83px;\n }\n}\n/*!@.hero__icon-box*/.hero__icon-box.sc-nano-hero {\n background: rgba(0, 0, 0, 0.7);\n padding: 24px;\n inline-size: 100%;\n -webkit-margin-after: auto;\n margin-block-end: auto;\n display: flex;\n flex-direction: column;\n color: white;\n}\n@container (min-width: 800px) {\n .hero__icon-box {\n max-inline-size: 410px;\n flex: 0 1 410px;\n }\n}\n/*!@.hero__icon-box ::slotted([slot=icon-box-item])*/.hero__icon-box .sc-nano-hero-s > [slot=icon-box-item] {\n --nano-color-base: var(--theme-tint-color);\n --nano-icon-size: 32px;\n --nano-icon-margin-end: 20px;\n display: flex;\n align-items: center;\n font-size: 0.8125rem;\n -webkit-margin-after: 20px;\n margin-block-end: 20px;\n}\n/*!@.hero__icon-box ::slotted(.last[slot=icon-box-item])*/.hero__icon-box .sc-nano-hero-s > .last[slot=icon-box-item] {\n -webkit-margin-after: 0;\n margin-block-end: 0;\n}\n/*!@.hero__quote-content*/.hero__quote-content.sc-nano-hero {\n -webkit-margin-before: auto;\n margin-block-start: auto;\n text-align: center;\n inline-size: 100%;\n}\n@container (min-width: 800px) {\n .hero__quote-content {\n max-inline-size: 500px;\n flex: 0 1 500px;\n text-align: initial;\n }\n}\n/*!@.hero__quote::before, .hero__quote::after*/.hero__quote.sc-nano-hero::before, .hero__quote.sc-nano-hero::after {\n content: '\"';\n font-size: var(--quote-size);\n font-weight: 700;\n font-style: italic;\n line-height: 0;\n color: #abb6b8;\n display: inline;\n position: relative;\n}\n/*!@.hero__quote ::slotted([slot=quote])*/.hero__quote .sc-nano-hero-s > [slot=quote] {\n font-size: var(--quote-size);\n font-weight: 300;\n font-style: italic;\n display: inline;\n}\n/*!@.hero__quote-author*/.hero__quote-author.sc-nano-hero {\n text-align: end;\n font-size: 1rem;\n opacity: 0.8;\n}\n@container (min-width: 800px) {\n .hero--sub .hero__content {\n -webkit-margin-before: 40px;\n margin-block-start: 40px;\n }\n .hero--sub .hero__content .hero__primary {\n margin-block: 0 40px;\n margin-inline: 50px 0;\n }\n .hero--sub .hero__content .hero__secondary {\n padding-block: 0 50px;\n padding-inline: 40px 50px;\n }\n .hero--sub .hero__content.sc-nano-hero-s > .button[slot=primary-content], \n .hero--sub .hero__content .sc-nano-hero-s > .button[slot=primary-content] {\n -webkit-margin-before: 8px !important;\n margin-block-start: 8px !important;\n }\n .hero--sub .hero__content.sc-nano-hero-s > h1[slot=primary-content], \n .hero--sub .hero__content .sc-nano-hero-s > h1[slot=primary-content] {\n -webkit-margin-after: 18px !important;\n margin-block-end: 18px !important;\n }\n}\n@container (min-width: 900px) {\n .hero--sub .hero__content .hero__primary {\n margin-block: 0 40px;\n margin-inline: 83px 0;\n }\n .hero--sub .hero__content .hero__secondary {\n padding-block: 0 83px;\n padding-inline: 40px 83px;\n }\n}";
19383
19417
 
19384
19418
  /**
19385
19419
  * Hero components are designed to be used once per content page to add visual impact to the introductory section of a page.
@@ -19398,19 +19432,15 @@ const heroCss = "/*!@:host*/.sc-nano-hero-h {\n box-sizing: border-box;\n}\n\n/
19398
19432
  class Hero {
19399
19433
  constructor(hostRef) {
19400
19434
  registerInstance(this, hostRef);
19401
- this.handleGridChange = (e) => {
19402
- this.gridSizes = e.detail;
19403
- };
19404
19435
  this.HeroContent = () => {
19405
19436
  return [
19406
19437
  !this.hasIconBox && this.hasCtas ? (hAsync("div", { class: "hero__ctas" }, hAsync("slot", { name: "secondary-ctas" }))) : (''),
19407
19438
  hAsync("div", { class: "hero__scrim" }, hAsync("slot", { name: "scrim" })),
19408
- hAsync("nano-grid", { onNanoBpChange: this.handleGridChange, class: "hero__content", xlCols: 2, xlSize: this.largeScreenBP }, hAsync("nano-grid-item", { gridStates: "xl-col-span-2" }, hAsync("div", { class: "hero__breadcrumbs" }, hAsync("slot", { name: "breadcrumb" }))), hAsync("nano-grid-item", { gridStates: this.hasSecondaryContent
19439
+ hAsync("nano-grid", { class: "hero__content", xlCols: 2, xlSize: this.largeScreenBP }, hAsync("div", { "grid-states": "xl-col-span-2" }, hAsync("div", { class: "hero__breadcrumbs" }, hAsync("slot", { name: "breadcrumb" }))), hAsync("div", { "grid-states": this.hasSecondaryContent
19409
19440
  ? 'xl-col-span-1 xl-col-start-1 xl-row-start-2'
19410
- : 'xl-col-span-2 xl-col-start-1 xl-row-start-2' }, hAsync("div", { class: "hero__primary" }, hAsync("div", { class: "hero__primary-content" }, hAsync("slot", { name: "back-btn" }), hAsync("div", null, hAsync("slot", { name: "primary-content" }))))), this.hasSecondaryContent && (hAsync("nano-grid-item", { gridStates: "xl-col-span-1 xl-col-start-2 xl-row-start-2" }, hAsync("div", { class: "hero__secondary" }, hAsync("slot", { name: "secondary-content" }), this.hasIconBox && (hAsync("div", { class: "hero__icon-box" }, hAsync("slot", { name: "icon-box" }), hAsync("slot", { name: "icon-box-item" }))), this.hasQuote && (hAsync("div", { class: "hero__quote-content" }, hAsync("span", { class: "hero__quote" }, hAsync("slot", { name: "quote" })), hAsync("div", { class: "hero__quote-author" }, hAsync("slot", { name: "quote-author" })))))))),
19441
+ : 'xl-col-span-2 xl-col-start-1 xl-row-start-2' }, hAsync("div", { class: "hero__primary" }, hAsync("div", { class: "hero__primary-content" }, hAsync("slot", { name: "back-btn" }), hAsync("div", null, hAsync("slot", { name: "primary-content" }))))), this.hasSecondaryContent && (hAsync("div", { "grid-states": "xl-col-span-1 xl-col-start-2 xl-row-start-2" }, hAsync("div", { class: "hero__secondary" }, hAsync("slot", { name: "secondary-content" }), this.hasIconBox && (hAsync("div", { class: "hero__icon-box" }, hAsync("slot", { name: "icon-box" }), hAsync("slot", { name: "icon-box-item" }))), this.hasQuote && (hAsync("div", { class: "hero__quote-content" }, hAsync("span", { class: "hero__quote" }, hAsync("slot", { name: "quote" })), hAsync("div", { class: "hero__quote-author" }, hAsync("slot", { name: "quote-author" })))))))),
19411
19442
  ];
19412
19443
  };
19413
- this.gridSizes = [];
19414
19444
  this.hasIconBox = undefined;
19415
19445
  this.hasScrim = undefined;
19416
19446
  this.hasSecondaryContent = undefined;
@@ -19482,9 +19512,7 @@ class Hero {
19482
19512
  render() {
19483
19513
  const rtl = this.host.dir === 'rtl' ||
19484
19514
  this.host.ownerDocument.dir === 'rtl';
19485
- return (hAsync(Host, { class: {
19486
- [this.gridSizes.join(' ')]: true,
19487
- } }, hAsync("div", { class: {
19515
+ return (hAsync(Host, null, hAsync("div", { class: {
19488
19516
  hero: true,
19489
19517
  'hero--light': this.theme === 'light',
19490
19518
  'hero--secondary': this.hasSecondaryContent,
@@ -19515,7 +19543,6 @@ class Hero {
19515
19543
  "largeScreenBP": [2, "large-screen-b-p"],
19516
19544
  "theme": [1],
19517
19545
  "level": [1],
19518
- "gridSizes": [32],
19519
19546
  "hasIconBox": [32],
19520
19547
  "hasScrim": [32],
19521
19548
  "hasSecondaryContent": [32],
@@ -19650,7 +19677,7 @@ class Icon {
19650
19677
  }; }
19651
19678
  }
19652
19679
 
19653
- const iconButtonCss = ".sc-nano-icon-button-h{box-sizing:border-box}*.sc-nano-icon-button,*.sc-nano-icon-button::before,*.sc-nano-icon-button::after{box-sizing:border-box}[hidden].sc-nano-icon-button{display:none !important}.sc-nano-icon-button-h{display:inline-block;--border-radius:var(--nano-border-radius-medium, 4px);--active-color:#005c75;--hover-color:#007495;--nano-color-base:var(--color, #687576);--background:transparent;--padding:var(--nano-spacing-small, 8px)}.icon-button.sc-nano-icon-button{flex:0 0 auto;display:flex;align-items:center;border:none;border-radius:var(--border-radius);background:var(--background);font-size:inherit;color:var(--color);padding:var(--padding);cursor:pointer;-webkit-appearance:none;appearance:none;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out}.icon-button.sc-nano-icon-button:hover:not(.icon-button--disabled),.icon-button.sc-nano-icon-button:focus:not(.icon-button--disabled){color:var(--hover-color);--nano-color-base:var(--hover-color)}.icon-button.sc-nano-icon-button:active:not(.icon-button--disabled){color:var(--active-color);--nano-color-base:var(--active-color)}.icon-button.sc-nano-icon-button:focus{outline:none}.icon-button--disabled.sc-nano-icon-button{opacity:0.5;cursor:not-allowed;pointer-events:none}.focus-visible.icon-button.sc-nano-icon-button:focus{box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}";
19680
+ const iconButtonCss = "/*!@:host*/.sc-nano-icon-button-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-icon-button,*.sc-nano-icon-button::before,*.sc-nano-icon-button::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-icon-button{display:none !important}/*!@:host*/.sc-nano-icon-button-h{--border-radius:var(--nano-border-radius-medium, 4px);--active-color:#005c75;--hover-color:#007495;--nano-color-base:var(--color, #687576);--background:transparent;--padding:var(--nano-spacing-small, 8px);--box-shadow:none;border-radius:var(--border-radius);display:inline-block}/*!@.icon-button*/.icon-button.sc-nano-icon-button{flex:0 0 auto;display:flex;align-items:center;border:none;border-radius:inherit;background:var(--background);font-size:inherit;color:var(--color);padding:var(--padding);cursor:pointer;-webkit-appearance:none;appearance:none;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;box-shadow:var(--box-shadow)}/*!@.icon-button:hover:not(.icon-button--disabled), .icon-button:focus:not(.icon-button--disabled)*/.icon-button.sc-nano-icon-button:hover:not(.icon-button--disabled),.icon-button.sc-nano-icon-button:focus:not(.icon-button--disabled){color:var(--hover-color);--nano-color-base:var(--hover-color)}/*!@.icon-button:active:not(.icon-button--disabled)*/.icon-button.sc-nano-icon-button:active:not(.icon-button--disabled){color:var(--active-color);--nano-color-base:var(--active-color)}/*!@.icon-button:focus*/.icon-button.sc-nano-icon-button:focus{outline:none}/*!@.icon-button__label*/.icon-button__label.sc-nano-icon-button{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}/*!@.icon-button--disabled*/.icon-button--disabled.sc-nano-icon-button{opacity:0.5;cursor:not-allowed;pointer-events:none}/*!@.focus-visible.icon-button:focus*/.focus-visible.icon-button.sc-nano-icon-button:focus{box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}";
19654
19681
 
19655
19682
  /** Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.
19656
19683
  *
@@ -19660,6 +19687,20 @@ const iconButtonCss = ".sc-nano-icon-button-h{box-sizing:border-box}*.sc-nano-ic
19660
19687
  class IconButton {
19661
19688
  constructor(hostRef) {
19662
19689
  registerInstance(this, hostRef);
19690
+ this.handleClick = (ev) => {
19691
+ if (this.type === 'button')
19692
+ return;
19693
+ const formEl = this.findForm();
19694
+ if (formEl) {
19695
+ ev.preventDefault();
19696
+ const fakeButton = document.createElement('button');
19697
+ fakeButton.type = this.type;
19698
+ fakeButton.style.display = 'none';
19699
+ formEl.appendChild(fakeButton);
19700
+ fakeButton.click();
19701
+ fakeButton.remove();
19702
+ }
19703
+ };
19663
19704
  this.iconName = undefined;
19664
19705
  this.iconSrc = undefined;
19665
19706
  this.type = 'button';
@@ -19669,12 +19710,34 @@ class IconButton {
19669
19710
  this.showTooltip = false;
19670
19711
  this.disabled = false;
19671
19712
  this.href = undefined;
19713
+ this.rel = undefined;
19672
19714
  this.target = undefined;
19715
+ this.form = undefined;
19673
19716
  }
19674
19717
  /** Sets focus on the internal button */
19675
19718
  async setFocus() {
19676
19719
  this.button.focus();
19677
19720
  }
19721
+ /**
19722
+ * Finds the form element based on the provided `form` selector
19723
+ * or element reference provided.
19724
+ * @returns the found form element (if found)
19725
+ */
19726
+ findForm() {
19727
+ const { form, host } = this;
19728
+ if (!form)
19729
+ return host.closest('form');
19730
+ if (form instanceof HTMLFormElement) {
19731
+ return form;
19732
+ }
19733
+ if (typeof form === 'string') {
19734
+ const el = document.getElementById(form);
19735
+ if (el instanceof HTMLFormElement) {
19736
+ return el;
19737
+ }
19738
+ }
19739
+ return null;
19740
+ }
19678
19741
  componentDidLoad() {
19679
19742
  focusVisible.observe(this.button);
19680
19743
  }
@@ -19687,10 +19750,10 @@ class IconButton {
19687
19750
  }
19688
19751
  content() {
19689
19752
  const TagType = this.href === undefined ? 'button' : 'a';
19690
- return (hAsync(TagType, { part: "base", ref: (el) => (this.button = el), class: {
19753
+ return (hAsync(Host, { "aria-disabled": this.disabled ? 'true' : null }, hAsync(TagType, { onClick: this.handleClick, part: "base", ref: (el) => (this.button = el), class: {
19691
19754
  'icon-button': true,
19692
19755
  'icon-button--disabled': this.disabled,
19693
- }, "aria-label": this.label, name: this.name, value: this.value, href: this.href || undefined, target: this.href && this.target ? this.target : undefined, type: !this.href && this.type ? this.type : undefined }, hAsync("nano-icon", { name: this.iconName, src: this.iconSrc, "aria-hidden": "true", lazy: false, part: "icon" })));
19756
+ }, name: this.name, value: this.value, href: this.href || undefined, target: this.href && this.target ? this.target : undefined, rel: this.rel || undefined, type: !this.href && this.type ? this.type : undefined }, hAsync("span", { class: "icon-button__label" }, this.label), hAsync("nano-icon", { name: this.iconName, src: this.iconSrc, "aria-hidden": "true", lazy: false, part: "icon" }))));
19694
19757
  }
19695
19758
  render() {
19696
19759
  if (this.showTooltip) {
@@ -19698,9 +19761,10 @@ class IconButton {
19698
19761
  }
19699
19762
  return this.content();
19700
19763
  }
19764
+ get host() { return getElement(this); }
19701
19765
  static get style() { return iconButtonCss; }
19702
19766
  static get cmpMeta() { return {
19703
- "$flags$": 2,
19767
+ "$flags$": 9,
19704
19768
  "$tagName$": "nano-icon-button",
19705
19769
  "$members$": {
19706
19770
  "iconName": [1, "icon-name"],
@@ -19712,7 +19776,9 @@ class IconButton {
19712
19776
  "showTooltip": [4, "show-tooltip"],
19713
19777
  "disabled": [516],
19714
19778
  "href": [1],
19779
+ "rel": [1],
19715
19780
  "target": [1],
19781
+ "form": [1],
19716
19782
  "setFocus": [64]
19717
19783
  },
19718
19784
  "$listeners$": undefined,
@@ -19912,8 +19978,7 @@ const renderLabel = ({ label, hasLabelSlot, controlId, labelId, floatLabel, plac
19912
19978
  };
19913
19979
  const FormControlWrap = (props, children) => {
19914
19980
  const { rtl, floatLabel, label, moreId, helperEndId, type, hasHelperSlot, showInlineError, errorMessage, hasHelperEndSlot, } = props;
19915
- const MainTag = hasHelperEndSlot ? 'nano-resize-observe' : 'div';
19916
- return (hAsync(MainTag, { states: "350w has-enough-width", class: {
19981
+ return (hAsync("div", { class: {
19917
19982
  'has-label': label !== null && !floatLabel,
19918
19983
  'has-float-label': label !== null && floatLabel,
19919
19984
  'has-helper-end': hasHelperEndSlot,
@@ -19958,7 +20023,7 @@ const FormControl = (props, children) => {
19958
20023
  endSlot)));
19959
20024
  };
19960
20025
 
19961
- const inputCss = ".sc-nano-input-h{box-sizing:border-box}*.sc-nano-input,*.sc-nano-input::before,*.sc-nano-input::after{box-sizing:border-box}[hidden].sc-nano-input{display:none !important}[disabled].sc-nano-input-h:not([disabled=false]){opacity:0.5}.form-ctrl.sc-nano-input{min-inline-size:100%;display:block}.form-ctrl.has-helper-end.sc-nano-input{display:flex;gap:1rem;opacity:0}.form-ctrl.has-helper-end.is-ready.sc-nano-input{opacity:1}.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__wrapper.sc-nano-input{flex:1 1 100%}.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__helper-end.sc-nano-input{display:none}.form-ctrl.has-helper-end.has-enough-width.sc-nano-input .form-ctrl__helper-end.sc-nano-input{display:block}.form-ctrl.has-helper-end.has-enough-width.sc-nano-input .form-ctrl__helper.sc-nano-input{display:none}.form-ctrl__wrapper.sc-nano-input{display:block}label.sc-nano-input,.form-ctrl__more.sc-nano-input,.form-ctrl__error.sc-nano-input,.form-ctrl__helper.sc-nano-input{display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}label.visually-hide.sc-nano-input,.form-ctrl__more.visually-hide.sc-nano-input,.form-ctrl__error.visually-hide.sc-nano-input,.form-ctrl__helper.visually-hide.sc-nano-input{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.form-ctrl__float-label.sc-nano-input{padding-block:0;-webkit-padding-end:0;padding-inline-end:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);color:var(--label-color);position:absolute;font-size:1.15em;transform:translateY(-50%);transform-origin:top left;inset-block-start:50%;transition:all 0.125s ease-in;opacity:1}.has-focus.sc-nano-input-h .form-ctrl__float-label.sc-nano-input,.has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input{transform:translateY(-110%);font-size:0.8em;opacity:0.7}.form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input{opacity:0;transition:opacity 0.125s ease-in}.has-focus.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input,.has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input{opacity:1}.form-ctrl__textarea.sc-nano-input .form-ctrl__float-label.sc-nano-input{inset-block-start:50%}.has-focus.sc-nano-input-h .form-ctrl__textarea.sc-nano-input .form-ctrl__float-label.sc-nano-input{inset-block-start:0;transform:translateY(38%)}.has-value.sc-nano-input-h .form-ctrl__textarea.sc-nano-input .form-ctrl__float-label.sc-nano-input{inset-block-start:0;transform:translateY(38%)}.form-ctrl__label.sc-nano-input{color:var(--label-color);font-size:var(--label-font-size);-webkit-padding-after:var(--padding-bottom);padding-block-end:var(--padding-bottom);line-height:1;display:flex}.form-ctrl__label.sc-nano-input .form-ctrl__label-wrap.sc-nano-input{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input{margin-block:unset;-webkit-margin-end:5px;margin-inline-end:5px;-webkit-margin-start:0;margin-inline-start:0;opacity:0;-webkit-appearance:none;appearance:none;transition:0.3s ease opacity;font-size:0.9em}.form-ctrl__label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input{margin-block:unset;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:auto;margin-inline-start:auto;font-size:0.9em;opacity:0.5}.has-value.sc-nano-input-h .form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input{opacity:0.5}.has-focus.sc-nano-input-h .form-ctrl__label.sc-nano-input{color:var(--label-color--focus)}.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__label.sc-nano-input{color:var(--label-color--invalid)}.has-float-label.sc-nano-input .select__multi-input.sc-nano-input,.has-float-label.sc-nano-input .select__native-input.sc-nano-input,.has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input{opacity:0;transition:opacity 0.125s ease-in}.has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input,.has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input,.has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input,.has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input,.has-focus.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input,.has-value.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input{opacity:1}.form-ctrl__more.sc-nano-input{block-size:1em;position:relative;margin-block:4px var(--padding-bottom);margin-inline:3px 0}.form-ctrl__helper.sc-nano-input,.form-ctrl__error.sc-nano-input{inset-block-start:0;inset-inline-start:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;transition:0.3s ease-out opacity}.form-ctrl__helper.sc-nano-input{font-style:italic;color:var(--help-msg-color)}[show-inline-error].sc-nano-input-h:not([show-inline-error=false]):not([disabled]).is-invalid .form-ctrl__helper.sc-nano-input{opacity:0}.form-ctrl__helper-end.sc-nano-input{flex:1 1 30%;min-inline-size:150px;font-size:var(--invalid-msg-font-size);color:var(--help-msg-color);font-style:italic}.form-ctrl__error.sc-nano-input{opacity:0;color:var(--invalid-msg-color);font-stretch:condensed}.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__error.sc-nano-input{opacity:1}.form-ctrl__input.sc-nano-input{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--input-border-radius);inline-size:100%;padding:0 !important;position:relative;flex:1 0 auto;display:flex;background:var(--input-bg-color);border:var(--input-border-style);border-width:var(--input-border-width);font-size:var(--input-font-size);-webkit-padding-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important;padding-inline-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important}.has-focus.sc-nano-input-h .form-ctrl__input.sc-nano-input{background:var(--input-bg-color--focus);border:var(--input-border-style--focus);border-width:var(--input-border-width);-webkit-padding-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important;padding-inline-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important}.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input{background:var(--input-bg-color--invalid);border:var(--input-border-style--invalid);border-width:var(--input-border-width);-webkit-border-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);border-inline-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);-webkit-padding-start:0 !important;padding-inline-start:0 !important}.is-invalid.has-focus.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input{background:var(--input-bg-color--invalid);border:var(--input-border-style--invalid-focus);border-width:var(--input-border-width);-webkit-border-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);border-inline-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);-webkit-padding-start:0 !important;padding-inline-start:0 !important}.form-ctrl__input-wrap.sc-nano-input{display:flex;align-items:stretch;flex:1;max-inline-size:100%}.form-ctrl__clear-btn.sc-nano-input,.form-ctrl__slot-end.sc-nano-input,.form-ctrl__slot-start.sc-nano-input,.form-ctrl__slot-value-end.sc-nano-input{--nano-icon-size:1.4em;margin-block:0;margin-inline:0;font-size:1em;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;display:flex;align-items:stretch;inline-size:auto}.has-float-label.sc-nano-input .form-ctrl__slot-start.sc-nano-input{display:none}.form-ctrl__slot-start.sc-nano-input-s>*,.form-ctrl__slot-start .sc-nano-input-s>*,.form-ctrl__slot-end.sc-nano-input-s>*,.form-ctrl__slot-end .sc-nano-input-s>*,.form-ctrl__slot-value-end.sc-nano-input-s>*,.form-ctrl__slot-value-end .sc-nano-input-s>*,.form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input{--nano-icon-size:1.4em;padding-inline:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);font-size:1em;align-items:center;display:flex;block-size:100%;z-index:1}.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-start.sc-nano-input-s>*,.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-start .sc-nano-input-s>*,.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-end.sc-nano-input-s>*,.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-end .sc-nano-input-s>*,.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-input-s>*,.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end .sc-nano-input-s>*,[disabled].sc-nano-input-h:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input{pointer-events:none}.form-ctrl__slot-value-end.sc-nano-input-s>*,.form-ctrl__slot-value-end .sc-nano-input-s>*,.form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input{pointer-events:none}.form-ctrl__clear-btn.sc-nano-input{color:var(--clear-btn-color);padding:0;opacity:0;inline-size:0;-webkit-appearance:none;appearance:none;align-items:center;overflow:hidden}.is-invalid.sc-nano-input-h .form-ctrl__clear-btn.sc-nano-input{color:var(--clear-btn-color--invalid)}.has-value.sc-nano-input-h .form-ctrl__clear-btn.sc-nano-input{padding-block:0;padding-inline:var(--padding-start) var(--padding-end);opacity:1;inline-size:auto}.form-ctrl__clear-btn.sc-nano-input:hover{color:var(--clear-btn-color--hover)}.sc-nano-input-h{--placeholder-color:var(--nano-input-placeholder-color, initial);--placeholder-font-style:var(--nano-input-placeholder-style, initial);--placeholder-font-weight:var(--nano-input-placeholder-weight, initial);--placeholder-opacity:var(--nano-input-placeholder-opacity, 0.5);--padding-top:var(--nano-input-padding-top, var(--nano-input-padding, 8px));--padding-end:var(--nano-input-padding-end, var(--nano-input-padding, 8px));--padding-bottom:var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));--padding-start:var(--nano-input-padding-start, var(--nano-input-padding, 8px));--color-invalid:var(--nano-color-danger-rgb, 239 65 53);--color--focus-rgb:var(\n --nano-color-base-rgb,\n var(--nano-color-primary-rgb, 0 116 149)\n );--input-font-size:var(--nano-input-font-size, 0.87em);--input-text-color:var(--nano-input-text-color, #4a4a4a);--input-border-width:var(--nano-input-border-width, 1px);--input-border-hint-width:3px;--input-border-color:var(--nano-input-border-color, #e4e6e8);--input-border-radius:var(--nano-input-border-radius, 0);--input-border-style:var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);--input-border-style--focus:var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);--input-border-style--invalid:var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #e4e6e8);--input-border-style--invalid-focus:var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #ef4135);--input-bg-color:var(--nano-input-background-color, #fff);--input-bg-color--focus:var(--input-bg-color);--input-bg-color--invalid:var(--nano-input-background-color, white);--invalid-msg-color:rgb(var(--color-invalid) / 100%);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #616d6e);--clear-btn-color:var(--nano-clear-btn-color, rgba(0, 0, 0, 0.3));--clear-btn-color--hover:rgb(var(--color--focus-rgb) / 100%);--clear-btn-color--invalid:rgb(var(--color-invalid) / 100%);--label-color:var(--nano-input-label-color, \"currentcolor\");--label-color--focus:var(--label-color);--label-color--invalid:var(--nano-input-label-color-invalid, \"currentcolor\");--label-font-size:var(--nano-input-label-color, 1em);--multi-input-value-bg:var(--nano-input-tag-bg, 186 220 240);--multi-input-value-text-color:var(--nano-input-tag-color, #455556);--multi-input-value-border:var(--nano-input-tag-color, #badcf0);position:relative;inline-size:100%;padding:0 !important;color:currentcolor;display:block}.nano-color.sc-nano-input-h{color:var(--nano-color-base);--input-border-style--focus:var(--nano-input-border-style, solid) var(\n --nano-color-tint,\n var(--nano-color-primary-tint, #2689a5)\n )}.input__native-ctrl.sc-nano-input{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-block:0;padding-inline:var(--padding-start) var(--padding-end);border-radius:var(--input-border-radius);text-overflow:ellipsis;color:var(--input-text-color);display:inline-block;flex:1;inline-size:100%;max-inline-size:100%;max-block-size:100%;border:0;outline:none;background:transparent;-webkit-appearance:none;appearance:none;margin:0;box-sizing:border-box;resize:none;overflow:hidden;line-height:2.5em}.has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input{line-height:2.1em;min-height:2.1em;-webkit-padding-before:1.4em;padding-block-start:1.4em}.input__native-ctrl.sc-nano-input::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity);line-height:inherit;min-height:initial}.input__native-ctrl.sc-nano-input::-moz-placeholder{line-height:2.8em;text-overflow:ellipsis}.input__native-ctrl.sc-nano-input:-webkit-autofill{background-color:transparent}.input__native-ctrl.sc-nano-input::-webkit-search-decoration,.input__native-ctrl.sc-nano-input::-webkit-search-cancel-button,.input__native-ctrl.sc-nano-input::-webkit-search-results-button,.input__native-ctrl.sc-nano-input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.input__native-ctrl.sc-nano-input:invalid{box-shadow:none}.input__native-ctrl.sc-nano-input::-ms-clear,.input__native-ctrl.sc-nano-input::-ms-reveal{display:none}.input__native-ctrl.input__resizable.sc-nano-input{resize:vertical;overflow:auto}.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input{line-height:1.5em;padding-block:var(--padding-top) 0.25em;white-space:pre-wrap}.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input::placeholder{line-height:1.5em}.has-float-label.sc-nano-input .form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input{-webkit-padding-before:1.75em;padding-block-start:1.75em}[readonly].sc-nano-input-h:not([readonly=false]) .input__native-ctrl.sc-nano-input{-webkit-user-select:none;user-select:none}";
20026
+ const inputCss = ".sc-nano-input-h {\n box-sizing: border-box;\n}\n\n*.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-input {\n display: none !important;\n}\n[disabled].sc-nano-input-h:not([disabled=false]) {\n opacity: 0.5;\n}\n\n.form-ctrl.sc-nano-input {\n container-type: inline-size;\n min-inline-size: 100%;\n display: block;\n}\n.form-ctrl.has-helper-end.sc-nano-input {\n display: flex;\n gap: 1rem;\n}\n.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__wrapper.sc-nano-input {\n flex: 1 1 100%;\n}\n.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__helper-end.sc-nano-input {\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-input {\n display: block;\n}\n\nlabel.sc-nano-input, .form-ctrl__more.sc-nano-input, .form-ctrl__error.sc-nano-input, .form-ctrl__helper.sc-nano-input {\n display: block;\n inline-size: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nlabel.visually-hide.sc-nano-input, .form-ctrl__more.visually-hide.sc-nano-input, .form-ctrl__error.visually-hide.sc-nano-input, .form-ctrl__helper.visually-hide.sc-nano-input {\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-input {\n padding-block: 0;\n -webkit-padding-end: 0;\n padding-inline-end: 0;\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\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-input-h .form-ctrl__float-label.sc-nano-input, .has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input {\n transform: translateY(-110%);\n font-size: 0.8em;\n opacity: 0.7;\n}\n.form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input, .has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n opacity: 1;\n}\n.form-ctrl__textarea.sc-nano-input .form-ctrl__float-label.sc-nano-input {\n inset-block-start: 50%;\n}\n.has-focus.sc-nano-input-h .form-ctrl__textarea.sc-nano-input .form-ctrl__float-label.sc-nano-input {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n.has-value.sc-nano-input-h .form-ctrl__textarea.sc-nano-input .form-ctrl__float-label.sc-nano-input {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n\n.form-ctrl__label.sc-nano-input {\n color: var(--label-color);\n font-size: var(--label-font-size);\n -webkit-padding-after: var(--padding-bottom);\n padding-block-end: var(--padding-bottom);\n line-height: 1;\n display: flex;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-wrap.sc-nano-input {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input {\n margin-block: unset;\n -webkit-margin-end: 5px;\n margin-inline-end: 5px;\n -webkit-margin-start: 0;\n margin-inline-start: 0;\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-input .form-ctrl__label-charcount.sc-nano-input {\n margin-block: unset;\n -webkit-margin-end: 0;\n margin-inline-end: 0;\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n font-size: 0.9em;\n opacity: 0.5;\n}\n.has-value.sc-nano-input-h .form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input {\n opacity: 0.5;\n}\n.has-focus.sc-nano-input-h .form-ctrl__label.sc-nano-input {\n color: var(--label-color--focus);\n}\n.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__label.sc-nano-input {\n color: var(--label-color--invalid);\n}\n\n.has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-focus.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__more.sc-nano-input {\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-input, .form-ctrl__error.sc-nano-input {\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-input {\n font-style: italic;\n color: var(--help-msg-color);\n}\n[show-inline-error].sc-nano-input-h:not([show-inline-error=false]):not([disabled]).is-invalid .form-ctrl__helper.sc-nano-input {\n opacity: 0;\n}\n\n.form-ctrl__helper-end.sc-nano-input {\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-input {\n opacity: 0;\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n}\n.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__error.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__input.sc-nano-input {\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 -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.has-focus.sc-nano-input-h .form-ctrl__input.sc-nano-input {\n background: var(--input-bg-color--focus);\n border: var(--input-border-style--focus);\n border-width: var(--input-border-width);\n -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid);\n border-width: var(--input-border-width);\n -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n -webkit-padding-start: 0 !important;\n padding-inline-start: 0 !important;\n}\n.is-invalid.has-focus.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid-focus);\n border-width: var(--input-border-width);\n -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n -webkit-padding-start: 0 !important;\n padding-inline-start: 0 !important;\n}\n\n.form-ctrl__input-wrap.sc-nano-input {\n display: flex;\n align-items: stretch;\n flex: 1;\n max-inline-size: 100%;\n}\n\n.form-ctrl__clear-btn.sc-nano-input, .form-ctrl__slot-end.sc-nano-input, .form-ctrl__slot-start.sc-nano-input, .form-ctrl__slot-value-end.sc-nano-input {\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-input .form-ctrl__slot-start.sc-nano-input {\n display: none;\n}\n\n.form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start .sc-nano-input-s > *, .form-ctrl__slot-end.sc-nano-input-s > *, .form-ctrl__slot-end .sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input-s > *, .form-ctrl__slot-value-end .sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input {\n --nano-icon-size: 1.4em;\n padding-inline: unset;\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n -webkit-padding-end: var(--padding-end);\n padding-inline-end: 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-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-start.sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-start .sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-end.sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-end .sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end .sc-nano-input-s > *, [disabled].sc-nano-input-h:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input {\n pointer-events: none;\n}\n\n.form-ctrl__slot-value-end.sc-nano-input-s > *, .form-ctrl__slot-value-end .sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input {\n pointer-events: none;\n}\n\n.form-ctrl__clear-btn.sc-nano-input {\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-input-h .form-ctrl__clear-btn.sc-nano-input {\n color: var(--clear-btn-color--invalid);\n}\n.has-value.sc-nano-input-h .form-ctrl__clear-btn.sc-nano-input {\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-input:hover {\n color: var(--clear-btn-color--hover);\n}\n\n.sc-nano-input-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 position: relative;\n inline-size: 100%;\n padding: 0 !important;\n color: currentcolor;\n display: block;\n}\n\n.nano-color.sc-nano-input-h {\n color: var(--nano-color-base);\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}\n\n.input__native-ctrl.sc-nano-input {\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-block: 0;\n padding-inline: var(--padding-start) var(--padding-end);\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 line-height: 2.5em;\n \n}\n.has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n line-height: 2.1em;\n min-height: 2.1em;\n -webkit-padding-before: 1.4em;\n padding-block-start: 1.4em;\n}\n.input__native-ctrl.sc-nano-input::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-height: initial;\n}\n.input__native-ctrl.sc-nano-input::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n}\n.input__native-ctrl.sc-nano-input:-webkit-autofill {\n background-color: transparent;\n}\n.input__native-ctrl.sc-nano-input::-webkit-search-decoration, .input__native-ctrl.sc-nano-input::-webkit-search-cancel-button, .input__native-ctrl.sc-nano-input::-webkit-search-results-button, .input__native-ctrl.sc-nano-input::-webkit-search-results-decoration {\n -webkit-appearance: none;\n appearance: none;\n}\n.input__native-ctrl.sc-nano-input:invalid {\n box-shadow: none;\n}\n.input__native-ctrl.sc-nano-input::-ms-clear, .input__native-ctrl.sc-nano-input::-ms-reveal {\n display: none;\n}\n.input__native-ctrl.input__resizable.sc-nano-input {\n resize: vertical;\n overflow: auto;\n}\n.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input {\n line-height: 1.5em;\n padding-block: var(--padding-top) 0.25em;\n white-space: pre-wrap;\n}\n.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input::placeholder {\n line-height: 1.5em;\n}\n.has-float-label.sc-nano-input .form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input {\n -webkit-padding-before: 1.75em;\n padding-block-start: 1.75em;\n}\n[readonly].sc-nano-input-h:not([readonly=false]) .input__native-ctrl.sc-nano-input {\n -webkit-user-select: none;\n user-select: none;\n}";
19962
20027
 
19963
20028
  let inputIds = 0;
19964
20029
  /**
@@ -20957,18 +21022,18 @@ class NavItem {
20957
21022
  }, 50);
20958
21023
  }
20959
21024
  else {
20960
- /* the secondadry panel is not opening via hover,
21025
+ /* the secondary panel is not opening via hover,
20961
21026
  scroll content into view, focus on it and add blur events */
20962
21027
  if (!this.fromHover) {
20963
- const panelio = new window.IntersectionObserver((data) => {
21028
+ const panelIO = new window.IntersectionObserver((data) => {
20964
21029
  if (data[0].boundingClientRect.top < 0) {
20965
21030
  this.secondaryDiv.scrollIntoView({
20966
21031
  behavior: 'smooth',
20967
21032
  });
20968
21033
  }
20969
- panelio.disconnect();
21034
+ panelIO.disconnect();
20970
21035
  }, { threshold: 1 });
20971
- panelio.observe(this.secondaryDiv);
21036
+ panelIO.observe(this.secondaryDiv);
20972
21037
  this.secondaryDiv.focus({ preventScroll: true });
20973
21038
  const focusableChild = getTabbableElements(this.secondaryDiv, true);
20974
21039
  if (focusableChild[0])
@@ -21573,7 +21638,7 @@ function cyrb53(str, seed = 0) {
21573
21638
  return 4294967296 * (2097151 & h2) + (h1 >>> 0);
21574
21639
  }
21575
21640
 
21576
- const rangeCss = ".sc-nano-range-h{box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165 165 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgb(0 0 0 / 30%);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:flex;position:relative;flex:3;align-items:center;-webkit-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-inline:0 14px;margin-block:0;font-size:0.9em}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-inline:14px 0;margin-block:0;font-size:0.9em}.range-slider.sc-nano-range{position:relative;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:grab;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);inset-block-start:calc((var(--height) - var(--bar-height)) / 2);inset-inline-start:0;position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-radius:var(--bar-border-radius) 0 0 var(--bar-border-radius)}.range-bar-active.sc-nano-range{inset-block-end:0;width:auto;background:var(--bar-background-active)}.range-bar-active .range-pressed.sc-nano-range-h{will-change:left, right}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);inset-block-start:calc(50% - var(--knob-size) / 2);inset-inline-start:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;transform:scale(0.67);transition-duration:120ms;transition-property:transform, background-color, border;transition-timing-function:ease}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{transform:scale(1)}.range-knob-handle.sc-nano-range{inset-block-start:calc((var(--height) - var(--knob-handle-size)) / 2);inset-inline-start:0;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;inset-block-start:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-radius:var(--bar-border-radius) 0 0 var(--bar-border-radius)}.range-tick.sc-nano-range:last-of-type{border-radius:0 var(--bar-border-radius) var(--bar-border-radius) 0}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{transform:translate3d(0, 0, 0) scale(0.01);transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;transition:transform 120ms ease, background 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{inset-block-start:0.25em;inset-inline-start:50%;-webkit-margin-start:-1.08em;margin-inline-start:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;transform:rotate(-45deg);transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgb(var(--rgb-inactive)/50%)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{transform:scale(0.55);outline:5px solid #fff;background-color:rgb(var(--rgb-inactive)/50%)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgb(var(--nano-color-base-rgb)/0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{box-shadow:var(--knob-box-shadow), 0 0 0 5px rgb(var(--nano-color-tint-rgb)/0.56)}";
21641
+ const rangeCss = ".sc-nano-range-h{box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165 165 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgb(0 0 0 / 30%);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:flex;position:relative;flex:3;align-items:center;-webkit-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-inline:0 14px;margin-block:0;font-size:0.9em}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-inline:14px 0;margin-block:0;font-size:0.9em}.range-slider.sc-nano-range{position:relative;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:grab;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);inset-block-start:calc((var(--height) - var(--bar-height)) / 2);inset-inline-start:0;position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-radius:var(--bar-border-radius) 0 0 var(--bar-border-radius)}.range-bar-active.sc-nano-range{inset-block-end:0;width:auto;background:var(--bar-background-active)}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);inset-block-start:calc(50% - var(--knob-size) / 2);inset-inline-start:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;transform:scale(0.67);transition-duration:120ms;transition-property:transform, background-color, border;transition-timing-function:ease}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{transform:scale(1)}.range-knob-handle.sc-nano-range{inset-block-start:calc((var(--height) - var(--knob-handle-size)) / 2);inset-inline-start:0;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;inset-block-start:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-radius:var(--bar-border-radius) 0 0 var(--bar-border-radius)}.range-tick.sc-nano-range:last-of-type{border-radius:0 var(--bar-border-radius) var(--bar-border-radius) 0}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{transform:translate3d(0, 0, 0) scale(0.01);transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;transition:transform 120ms ease, background 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{inset-block-start:0.25em;inset-inline-start:50%;-webkit-margin-start:-1.08em;margin-inline-start:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;transform:rotate(-45deg);transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgb(var(--rgb-inactive)/50%)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{transform:scale(0.55);outline:5px solid #fff;background-color:rgb(var(--rgb-inactive)/50%)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgb(var(--nano-color-base-rgb)/0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{box-shadow:var(--knob-box-shadow), 0 0 0 5px rgb(var(--nano-color-tint-rgb)/0.56)}";
21577
21642
 
21578
21643
  /**
21579
21644
  * The Range slider lets users select from a range of values by moving
@@ -22380,7 +22445,7 @@ class ResizeObserve {
22380
22445
  }; }
22381
22446
  }
22382
22447
 
22383
- const selectCss = ".sc-nano-select-h{box-sizing:border-box}*.sc-nano-select,*.sc-nano-select::before,*.sc-nano-select::after{box-sizing:border-box}[hidden].sc-nano-select{display:none !important}[disabled].sc-nano-select-h:not([disabled=false]){opacity:0.5}.form-ctrl.sc-nano-select{min-inline-size:100%;display:block}.form-ctrl.has-helper-end.sc-nano-select{display:flex;gap:1rem;opacity:0}.form-ctrl.has-helper-end.is-ready.sc-nano-select{opacity:1}.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__wrapper.sc-nano-select{flex:1 1 100%}.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__helper-end.sc-nano-select{display:none}.form-ctrl.has-helper-end.has-enough-width.sc-nano-select .form-ctrl__helper-end.sc-nano-select{display:block}.form-ctrl.has-helper-end.has-enough-width.sc-nano-select .form-ctrl__helper.sc-nano-select{display:none}.form-ctrl__wrapper.sc-nano-select{display:block}label.sc-nano-select,.form-ctrl__more.sc-nano-select,.form-ctrl__error.sc-nano-select,.form-ctrl__helper.sc-nano-select{display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}label.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{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.form-ctrl__float-label.sc-nano-select{padding-block:0;-webkit-padding-end:0;padding-inline-end:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);color:var(--label-color);position:absolute;font-size:1.15em;transform:translateY(-50%);transform-origin:top left;inset-block-start:50%;transition:all 0.125s ease-in;opacity:1}.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{transform:translateY(-110%);font-size:0.8em;opacity:0.7}.form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select{opacity:0;transition:opacity 0.125s ease-in}.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{opacity:1}.form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select{inset-block-start:50%}.has-focus.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select{inset-block-start:0;transform:translateY(38%)}.has-value.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select{inset-block-start:0;transform:translateY(38%)}.form-ctrl__label.sc-nano-select{color:var(--label-color);font-size:var(--label-font-size);-webkit-padding-after:var(--padding-bottom);padding-block-end:var(--padding-bottom);line-height:1;display:flex}.form-ctrl__label.sc-nano-select .form-ctrl__label-wrap.sc-nano-select{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select{margin-block:unset;-webkit-margin-end:5px;margin-inline-end:5px;-webkit-margin-start:0;margin-inline-start:0;opacity:0;-webkit-appearance:none;appearance:none;transition:0.3s ease opacity;font-size:0.9em}.form-ctrl__label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select{margin-block:unset;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:auto;margin-inline-start:auto;font-size:0.9em;opacity:0.5}.has-value.sc-nano-select-h .form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select{opacity:0.5}.has-focus.sc-nano-select-h .form-ctrl__label.sc-nano-select{color:var(--label-color--focus)}.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__label.sc-nano-select{color:var(--label-color--invalid)}.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{opacity:0;transition:opacity 0.125s ease-in}.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{opacity:1}.form-ctrl__more.sc-nano-select{block-size:1em;position:relative;margin-block:4px var(--padding-bottom);margin-inline:3px 0}.form-ctrl__helper.sc-nano-select,.form-ctrl__error.sc-nano-select{inset-block-start:0;inset-inline-start:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;transition:0.3s ease-out opacity}.form-ctrl__helper.sc-nano-select{font-style:italic;color:var(--help-msg-color)}[show-inline-error].sc-nano-select-h:not([show-inline-error=false]):not([disabled]).is-invalid .form-ctrl__helper.sc-nano-select{opacity:0}.form-ctrl__helper-end.sc-nano-select{flex:1 1 30%;min-inline-size:150px;font-size:var(--invalid-msg-font-size);color:var(--help-msg-color);font-style:italic}.form-ctrl__error.sc-nano-select{opacity:0;color:var(--invalid-msg-color);font-stretch:condensed}.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__error.sc-nano-select{opacity:1}.form-ctrl__input.sc-nano-select{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--input-border-radius);inline-size:100%;padding:0 !important;position:relative;flex:1 0 auto;display:flex;background:var(--input-bg-color);border:var(--input-border-style);border-width:var(--input-border-width);font-size:var(--input-font-size);-webkit-padding-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important;padding-inline-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important}.has-focus.sc-nano-select-h .form-ctrl__input.sc-nano-select{background:var(--input-bg-color--focus);border:var(--input-border-style--focus);border-width:var(--input-border-width);-webkit-padding-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important;padding-inline-start:calc(var(--input-border-hint-width) - var(--input-border-width)) !important}.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select{background:var(--input-bg-color--invalid);border:var(--input-border-style--invalid);border-width:var(--input-border-width);-webkit-border-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);border-inline-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);-webkit-padding-start:0 !important;padding-inline-start:0 !important}.is-invalid.has-focus.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select{background:var(--input-bg-color--invalid);border:var(--input-border-style--invalid-focus);border-width:var(--input-border-width);-webkit-border-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);border-inline-start:var(--input-border-style--invalid-focus) var(--input-border-hint-width);-webkit-padding-start:0 !important;padding-inline-start:0 !important}.form-ctrl__input-wrap.sc-nano-select{display:flex;align-items:stretch;flex:1;max-inline-size:100%}.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{--nano-icon-size:1.4em;margin-block:0;margin-inline:0;font-size:1em;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;display:flex;align-items:stretch;inline-size:auto}.has-float-label.sc-nano-select .form-ctrl__slot-start.sc-nano-select{display:none}.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{--nano-icon-size:1.4em;padding-inline:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);font-size:1em;align-items:center;display:flex;block-size:100%;z-index:1}.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{pointer-events:none}.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{pointer-events:none}.form-ctrl__clear-btn.sc-nano-select{color:var(--clear-btn-color);padding:0;opacity:0;inline-size:0;-webkit-appearance:none;appearance:none;align-items:center;overflow:hidden}.is-invalid.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select{color:var(--clear-btn-color--invalid)}.has-value.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select{padding-block:0;padding-inline:var(--padding-start) var(--padding-end);opacity:1;inline-size:auto}.form-ctrl__clear-btn.sc-nano-select:hover{color:var(--clear-btn-color--hover)}.sc-nano-select-h{--placeholder-color:var(--nano-input-placeholder-color, initial);--placeholder-font-style:var(--nano-input-placeholder-style, initial);--placeholder-font-weight:var(--nano-input-placeholder-weight, initial);--placeholder-opacity:var(--nano-input-placeholder-opacity, 0.5);--padding-top:var(--nano-input-padding-top, var(--nano-input-padding, 8px));--padding-end:var(--nano-input-padding-end, var(--nano-input-padding, 8px));--padding-bottom:var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));--padding-start:var(--nano-input-padding-start, var(--nano-input-padding, 8px));--color-invalid:var(--nano-color-danger-rgb, 239 65 53);--color--focus-rgb:var(\n --nano-color-base-rgb,\n var(--nano-color-primary-rgb, 0 116 149)\n );--input-font-size:var(--nano-input-font-size, 0.87em);--input-text-color:var(--nano-input-text-color, #4a4a4a);--input-border-width:var(--nano-input-border-width, 1px);--input-border-hint-width:3px;--input-border-color:var(--nano-input-border-color, #e4e6e8);--input-border-radius:var(--nano-input-border-radius, 0);--input-border-style:var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);--input-border-style--focus:var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);--input-border-style--invalid:var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #e4e6e8);--input-border-style--invalid-focus:var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #ef4135);--input-bg-color:var(--nano-input-background-color, #fff);--input-bg-color--focus:var(--input-bg-color);--input-bg-color--invalid:var(--nano-input-background-color, white);--invalid-msg-color:rgb(var(--color-invalid) / 100%);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #616d6e);--clear-btn-color:var(--nano-clear-btn-color, rgba(0, 0, 0, 0.3));--clear-btn-color--hover:rgb(var(--color--focus-rgb) / 100%);--clear-btn-color--invalid:rgb(var(--color-invalid) / 100%);--label-color:var(--nano-input-label-color, \"currentcolor\");--label-color--focus:var(--label-color);--label-color--invalid:var(--nano-input-label-color-invalid, \"currentcolor\");--label-font-size:var(--nano-input-label-color, 1em);--multi-input-value-bg:var(--nano-input-tag-bg, 186 220 240);--multi-input-value-text-color:var(--nano-input-tag-color, #455556);--multi-input-value-border:var(--nano-input-tag-color, #badcf0);position:relative;width:100%;padding:0 !important;font-family:var(--nano-font-family, inherit);display:block}.nano-color.sc-nano-select-h{--input-border-style--focus:var(--nano-input-border-style, solid) var(\n --nano-color-tint,\n var(--nano-color-primary-tint, #2689a5)\n );--multi-input-value-bg:var(--nano-color-tint-rgb);--multi-input-value-border:var(--nano-color-shade);--multi-input-value-text-color:var(--nano-color-contrast);color:var(--nano-color-base)}nano-item.sc-nano-select-h:not(.item-label),nano-item:not(.item-label) .sc-nano-select-h{--padding-start:0}[disabled].sc-nano-select-h:not([disabled=false]) *.sc-nano-select{pointer-events:none !important}select.sc-nano-select{display:none}.select__native-input.sc-nano-select{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding:unset;padding-inline:var(--padding-start) var(--padding-end);padding-block:0;border-radius:var(--input-border-radius);text-overflow:ellipsis;color:var(--input-text-color);display:inline-block;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-appearance:none;appearance:none;margin:0;box-sizing:border-box;resize:none;overflow:hidden;cursor:default;line-height:2.5em}.has-float-label.sc-nano-select .select__native-input.sc-nano-select{line-height:2.1em;min-height:2.1em;-webkit-padding-before:1.4em;padding-block-start:1.4em}.select__native-input.sc-nano-select::selection{background:transparent}.select__native-input.sc-nano-select::-moz-selection{background:transparent}.select__native-input.sc-nano-select::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity);line-height:inherit;min-height:initial}.select__native-input.sc-nano-select::-moz-placeholder{line-height:2.8em;text-overflow:ellipsis}.select__native-input.sc-nano-select:-webkit-autofill{background-color:transparent}.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{-webkit-appearance:none;appearance:none}.select__native-input.sc-nano-select:invalid{box-shadow:none}.select__native-input.sc-nano-select::-ms-clear,.select__native-input.sc-nano-select::-ms-reveal{display:none}.select__native-input.resizable.sc-nano-select{resize:vertical;overflow:auto}.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select{line-height:1.5em;padding-block:var(--padding-top) var(--padding-bottom);white-space:pre-wrap}.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select::placeholder{line-height:1.5em}.has-float-label.textarea.sc-nano-select .select__native-input.sc-nano-select{-webkit-padding-before:1.8em;padding-block-start:1.8em}.masked.sc-nano-select-h .select__native-input.sc-nano-select{opacity:0;position:absolute;inset-inline-start:0;inset-block-start:0}.select__mask.sc-nano-select{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-inline:var(--padding-start) var(--padding-end);padding-block:0;border-radius:var(--input-border-radius);pointer-events:none;line-height:2.5em;min-height:2.5em}.select__multi-wrap.sc-nano-select{padding-block:0 var(--padding-bottom);padding-inline:0 0;display:flex;flex:1;flex-wrap:wrap;overflow:hidden;align-items:flex-start}.has-float-label.sc-nano-select-h .select__multi-wrap.sc-nano-select{-webkit-padding-before:1em;padding-block-start:1em}.select__multi-input.sc-nano-select{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-inline:var(--padding-start) var(--padding-end);padding-block:var(--padding-bottom) 0;min-width:50px;width:100%;max-height:100%;-webkit-appearance:none;appearance:none;border:0;outline:none;display:inline-block;background:transparent;flex:0;position:relative;box-sizing:border-box;line-height:calc(2.5em - var(--padding-bottom));height:calc(2.5em - var(--padding-bottom))}.select__multi-input.sc-nano-select:last-child{flex:1}.select__multi-value.sc-nano-select{margin-block:var(--padding-bottom) 0;margin-inline:var(--padding-start) -3px;background:rgb(var(--multi-input-value-bg)/80%);color:var(--multi-input-value-text-color);border:1px solid;border-color:var(--multi-input-value-border);padding:0.35em 0.5em;max-width:100%;display:flex;align-items:center;font-size:var(--input-font-size);letter-spacing:1px;max-height:calc(2.5em - 8px)}.select__multi-value.sc-nano-select span.sc-nano-select{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden;line-height:1}.select__multi-value-remove.sc-nano-select{background-position:center;-webkit-padding-start:0.5em;padding-inline-start:0.5em;margin:0;color:inherit;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;-webkit-appearance:none;appearance:none;display:flex;align-items:center;inset-block-start:0;font-size:1em}.select__multi-value-remove.sc-nano-select nano-icon.sc-nano-select{--color:var(--multi-input-value-text-color)}.form-ctrl__float-label.sc-nano-select{width:calc(100% - (1em + var(--padding-start) * 2))}.has-focus.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select{transform:translateY(-110%);font-size:0.8em}.has-value.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select{transform:translateY(21%);inset-block-start:0}.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{pointer-events:auto}";
22448
+ 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 container-type: inline-size;\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}\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 -webkit-padding-end: 0;\n padding-inline-end: 0;\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\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 -webkit-padding-after: var(--padding-bottom);\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 -webkit-margin-end: 5px;\n margin-inline-end: 5px;\n -webkit-margin-start: 0;\n margin-inline-start: 0;\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 -webkit-margin-end: 0;\n margin-inline-end: 0;\n -webkit-margin-start: auto;\n margin-inline-start: auto;\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 -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\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 -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\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 -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n -webkit-padding-start: 0 !important;\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 -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n -webkit-padding-start: 0 !important;\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 -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n -webkit-padding-end: var(--padding-end);\n padding-inline-end: 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 width: 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 width: 100%;\n max-width: 100%;\n max-height: 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-height: 2.1em;\n -webkit-padding-before: 1.4em;\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-height: 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 -webkit-padding-before: 1.8em;\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-height: 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 -webkit-padding-before: 1em;\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-width: 50px;\n width: 100%;\n max-height: 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 height: 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-width: 100%;\n display: flex;\n align-items: center;\n font-size: var(--input-font-size);\n letter-spacing: 1px;\n max-height: 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-width: 100%;\n overflow: hidden;\n line-height: 1;\n}\n.select__multi-value-remove.sc-nano-select {\n background-position: center;\n -webkit-padding-start: 0.5em;\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 width: 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}";
22384
22449
 
22385
22450
  let selectIds = 0;
22386
22451
  /**
@@ -27365,6 +27430,733 @@ const waitForSlides = (host) => {
27365
27430
  });
27366
27431
  };
27367
27432
 
27433
+ /** Begins listening for dragging. */
27434
+ function drag(container, options) {
27435
+ const initialOffsets = {
27436
+ pageX: 0,
27437
+ pageY: 0,
27438
+ offsetX: 0,
27439
+ offsetY: 0,
27440
+ };
27441
+ function move(pointerEvent) {
27442
+ const dims = container.getBoundingClientRect();
27443
+ const defaultView = container.ownerDocument.defaultView;
27444
+ const offsetX = dims.left + defaultView.pageXOffset;
27445
+ const offsetY = dims.top + defaultView.pageYOffset;
27446
+ let x = 0;
27447
+ let y = 0;
27448
+ if (options.relative) {
27449
+ x =
27450
+ pointerEvent.pageX -
27451
+ initialOffsets.pageX -
27452
+ (offsetX - initialOffsets.offsetX);
27453
+ y =
27454
+ pointerEvent.pageY -
27455
+ initialOffsets.pageY -
27456
+ (offsetY - initialOffsets.offsetY);
27457
+ }
27458
+ else {
27459
+ x = pointerEvent.pageX - offsetX;
27460
+ y = pointerEvent.pageY - offsetY;
27461
+ }
27462
+ if (options === null || options === void 0 ? void 0 : options.onMove) {
27463
+ options.onMove(x, y);
27464
+ }
27465
+ }
27466
+ function stop() {
27467
+ document.removeEventListener('pointermove', move);
27468
+ document.removeEventListener('pointerup', stop);
27469
+ if (options === null || options === void 0 ? void 0 : options.onStop) {
27470
+ options.onStop();
27471
+ }
27472
+ }
27473
+ document.addEventListener('pointermove', move, { passive: true });
27474
+ document.addEventListener('pointerup', stop);
27475
+ if (!!!(options === null || options === void 0 ? void 0 : options.initialEvent))
27476
+ return;
27477
+ let initialEvent;
27478
+ if (options === null || options === void 0 ? void 0 : options.initialEvent['touches']) {
27479
+ initialEvent = {
27480
+ pageX: (options === null || options === void 0 ? void 0 : options.initialEvent).touches[0].pageX,
27481
+ pageY: (options === null || options === void 0 ? void 0 : options.initialEvent).touches[0].pageY,
27482
+ };
27483
+ }
27484
+ else {
27485
+ initialEvent = {
27486
+ pageX: (options === null || options === void 0 ? void 0 : options.initialEvent).pageX,
27487
+ pageY: (options === null || options === void 0 ? void 0 : options.initialEvent).pageY,
27488
+ };
27489
+ }
27490
+ const defaultView = container.ownerDocument.defaultView;
27491
+ const dims = container.getBoundingClientRect();
27492
+ initialOffsets.pageX = initialEvent.pageX;
27493
+ initialOffsets.pageY = initialEvent.pageY;
27494
+ initialOffsets.offsetX = dims.left + defaultView.pageXOffset;
27495
+ initialOffsets.offsetY = dims.top + defaultView.pageYOffset;
27496
+ // move(initialEvent);
27497
+ }
27498
+
27499
+ const sortableCss = "/*!@:host*/.sc-nano-sortable-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-sortable,*.sc-nano-sortable::before,*.sc-nano-sortable::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-sortable{display:none !important}/*!@:host*/.sc-nano-sortable-h{position:relative;display:block}/*!@.sortable__live-region*/.sortable__live-region.sc-nano-sortable{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}";
27500
+
27501
+ // Orientation map to limit dragging to horizontal or vertical.
27502
+ const orientationMap = {
27503
+ horizontal: { x: 1, y: 0 },
27504
+ vertical: { x: 0, y: 1 },
27505
+ };
27506
+ let sortableIds = 0;
27507
+ /**
27508
+ * An accessible and flexible re-order / sort utility component.
27509
+ *
27510
+ *- Drag and drop via mouse, touch or keyboard
27511
+ *- Live announcements for screen readers
27512
+ *- Works with or without an explicit handle (although with is preferable)
27513
+
27514
+ * @part announcements - the a11y, live region. Visually hidden by default
27515
+ *
27516
+ * @slot - The default slot containing any items you might want to sort
27517
+ */
27518
+ class Sortable {
27519
+ handleItemSelectorChange() {
27520
+ this.refreshKeyboardHandles();
27521
+ }
27522
+ handleHandleSelectorChange() {
27523
+ this.refreshKeyboardHandles();
27524
+ this.attachMutationObserver();
27525
+ }
27526
+ handleCreateKeyboardHandleChange() {
27527
+ this.refreshKeyboardHandles();
27528
+ }
27529
+ handleSortableHostElement(_newVal, oldVal) {
27530
+ if (oldVal)
27531
+ this.removeEventHandlers(oldVal);
27532
+ this.addEventHandlers();
27533
+ this.refreshKeyboardHandles();
27534
+ this.attachMutationObserver();
27535
+ if (this.sortableHostElement) {
27536
+ // sortable host must have position relative
27537
+ this.sortableHostElement.style.position = 'relative';
27538
+ }
27539
+ }
27540
+ /** If sortable elements change dynamically, use this method to add handle controls to new elements */
27541
+ async refreshKeyboardHandles() {
27542
+ var _a, _b, _c;
27543
+ if (this.handleSelector) {
27544
+ if ((_a = this.keyboardHandleMap) === null || _a === void 0 ? void 0 : _a.size) {
27545
+ this.keyboardHandleMap.clear();
27546
+ }
27547
+ this.sortableHost
27548
+ .querySelectorAll(this.handleSelector)
27549
+ .forEach((handle) => {
27550
+ if (!handle.getAttribute('aria-describedby'))
27551
+ handle.setAttribute('aria-describedby', this.sortableId);
27552
+ const sortEle = handle.closest(this.itemSelector);
27553
+ if (sortEle)
27554
+ this.keyboardHandleMap.set(handle, sortEle);
27555
+ });
27556
+ return;
27557
+ }
27558
+ if ((_b = this.keyboardHandleMap) === null || _b === void 0 ? void 0 : _b.size) {
27559
+ (_c = this.keyboardHandleMap) === null || _c === void 0 ? void 0 : _c.forEach((_ele, handle) => handle.remove());
27560
+ this.keyboardHandleMap.clear();
27561
+ }
27562
+ this.sortableHost
27563
+ .querySelectorAll(this.itemSelector)
27564
+ .forEach((ele, i) => {
27565
+ const handle = this.createKeyboardHandle(i, ele);
27566
+ if (!handle) {
27567
+ console.error('`createKeyboardHandle` *must* return the handle element it creates');
27568
+ return;
27569
+ }
27570
+ this.keyboardHandleMap.set(handle, ele);
27571
+ handle.setAttribute('aria-describedby', this.sortableId);
27572
+ });
27573
+ }
27574
+ /**
27575
+ * Get instance of sortable host.
27576
+ * By default it is `nano-sortable` which can be overridden by property `sortableHostElement`
27577
+ */
27578
+ get sortableHost() {
27579
+ if (this.sortableHostElement)
27580
+ return this.sortableHostElement;
27581
+ return this.host;
27582
+ }
27583
+ /**
27584
+ * Queues aria messages which are then displayed in a 'live' region.
27585
+ * Messages are cleared after 10s
27586
+ * @param msg aria message to announce
27587
+ */
27588
+ addAriaMsg(msg) {
27589
+ this.ariaTextList = [...this.ariaTextList, msg];
27590
+ setTimeout(() => {
27591
+ const mIdx = this.ariaTextList.indexOf(msg);
27592
+ this.ariaTextList.splice(mIdx, 1);
27593
+ this.ariaTextList = [...this.ariaTextList];
27594
+ }, 10000);
27595
+ }
27596
+ /**
27597
+ * Try to stop text highlight whilst dragging
27598
+ * @param userSelect
27599
+ */
27600
+ updateUserSelectStyle(userSelect) {
27601
+ this.host.style.userSelect = userSelect;
27602
+ // @ts-ignore
27603
+ this.host.style.MozUserSelect = userSelect;
27604
+ // @ts-ignore
27605
+ this.host.style.msUserSelect = userSelect;
27606
+ this.host.style.webkitUserSelect = userSelect;
27607
+ }
27608
+ /**
27609
+ * Fast and simple hit test to check whether the center of a node intersects with the rectangle of any of the
27610
+ * given targets. Returns an array of matches.
27611
+ * @param node
27612
+ * @param targets
27613
+ * @returns all the items that currently intersect with the target node
27614
+ */
27615
+ hitTest(node, targets) {
27616
+ const { left: l, top: t, width: w, height: h, } = node.getBoundingClientRect();
27617
+ const x = l + w / 2;
27618
+ const y = t + h / 2;
27619
+ return targets.filter((item) => {
27620
+ const { left, right, top, bottom } = item.getBoundingClientRect();
27621
+ return !(x < left || x > right || y < top || y > bottom);
27622
+ });
27623
+ }
27624
+ /**
27625
+ * Returns a boolean indicating whether the node is currently in an animation.
27626
+ * @param node
27627
+ * @returns whether a node is currently animating or not
27628
+ */
27629
+ isAnimating(node) {
27630
+ return this.animatedElements.indexOf(node) !== -1;
27631
+ }
27632
+ /**
27633
+ * Triggers a CSS animation on a node with the given dx and dy. Used following dom updates to make it appear as
27634
+ * if nodes animate from their old to their new position in the dom. */
27635
+ animateNode(node, dx = 0, dy = 0) {
27636
+ if (!node.animate) {
27637
+ return;
27638
+ }
27639
+ // keep a stack of currently animating nodes to exclude as drag & drop targets.
27640
+ this.animatedElements.push(node);
27641
+ node.style.willChange = 'transform';
27642
+ // animate from dx/dy (old node position) to none (new node position)
27643
+ writeTask(() => {
27644
+ this.animationPromise = new Promise((resolve) => {
27645
+ node
27646
+ .animate([
27647
+ { transform: `translate3d(${dx}px, ${dy}px, 0)` },
27648
+ { transform: 'none' },
27649
+ ], this.animationTiming)
27650
+ .addEventListener('finish', () => {
27651
+ const index = this.animatedElements.indexOf(node);
27652
+ node.style.willChange = '';
27653
+ if (index !== -1) {
27654
+ // splice out when done to unlock as a valid target
27655
+ this.animatedElements.splice(index, 1);
27656
+ }
27657
+ resolve();
27658
+ delete this.animationPromise;
27659
+ }, { once: true });
27660
+ });
27661
+ });
27662
+ }
27663
+ /**
27664
+ * Inserts node at target to update sibling sorting. If the node precedes the target, it is inserted after it;
27665
+ * If it follows the target, it is inserted before it. This ensures any node can be dragged from the very
27666
+ * beginning to the very end and vice versa. The animateNode function is called for all nodes that moved because
27667
+ * of this dom update */
27668
+ insertAtTarget(node, target) {
27669
+ if (!node || !target)
27670
+ return;
27671
+ let offsets = [];
27672
+ if (this.animationEnabled) {
27673
+ offsets = this.sortableNodes.map((item) => ({
27674
+ x: item.offsetLeft,
27675
+ y: item.offsetTop,
27676
+ }));
27677
+ }
27678
+ if (!node.isConnected || !target.isConnected)
27679
+ return;
27680
+ if (this.dropzoneNodes.indexOf(target) > -1) {
27681
+ target.append(node);
27682
+ }
27683
+ else {
27684
+ const nodeComparison = node.compareDocumentPosition(target);
27685
+ let position;
27686
+ if (nodeComparison & this.host.DOCUMENT_POSITION_FOLLOWING) {
27687
+ position =
27688
+ target.parentNode === node.parentNode ? 'afterend' : 'beforebegin';
27689
+ }
27690
+ if (nodeComparison & this.host.DOCUMENT_POSITION_PRECEDING) {
27691
+ position =
27692
+ target.parentNode === node.parentNode ? 'beforebegin' : 'afterend';
27693
+ }
27694
+ if (position)
27695
+ target.insertAdjacentElement(position, node);
27696
+ }
27697
+ if (this.animationEnabled) {
27698
+ this.sortableNodes.forEach((sortableNode, i) => {
27699
+ const { x, y } = offsets[i];
27700
+ const dx = x - sortableNode.offsetLeft;
27701
+ const dy = y - sortableNode.offsetTop;
27702
+ if (dx !== 0 || dy !== 0) {
27703
+ this.animateNode(sortableNode, dx, dy);
27704
+ }
27705
+ });
27706
+ }
27707
+ }
27708
+ reset() {
27709
+ if (this.draggedElementClone !== undefined &&
27710
+ this.draggedElementClone.parentNode !== null) {
27711
+ this.draggedElementClone.parentNode.removeChild(this.draggedElementClone);
27712
+ }
27713
+ if (this.draggedElement &&
27714
+ this.draggedElement.parentNode &&
27715
+ this.draggedElementOrigin) {
27716
+ this.draggedElement.classList.remove(this.placeholderClass);
27717
+ }
27718
+ if (this.dropzoneActiveClass && this.dropzoneNodes.length) {
27719
+ this.dropzoneNodes.forEach((dze) => dze.classList.remove(this.dropzoneActiveClass));
27720
+ }
27721
+ delete this.draggedElementClone;
27722
+ delete this.draggedElement;
27723
+ this.dropzoneNodes = [];
27724
+ this.sortableNodes = [];
27725
+ this.animatedElements = [];
27726
+ this.dragRequestPending = false;
27727
+ this.updateUserSelectStyle('');
27728
+ }
27729
+ /**
27730
+ * Clones a given node to visually drag around. The original node is left in the same flow as its siblings.
27731
+ * Clone styles are added onto the style object directly, since the ::slotted()
27732
+ * selector can't universally target nodes that may be nested an unknown amount of shadow dom levels deep
27733
+ * @param node html node to clone
27734
+ * @returns the cloned html node
27735
+ */
27736
+ createClone(node) {
27737
+ const clone = node.cloneNode(true);
27738
+ if (node.id)
27739
+ clone.id = 'clone__' + clone.id;
27740
+ /**
27741
+ * Bugfix for table row sorting.
27742
+ * During dragging table rows shrink, so we manually set them width of original node.
27743
+ */
27744
+ Array.from(clone.children).forEach((nodeChild, index) => {
27745
+ const clonedNodeChild = nodeChild;
27746
+ const originalNodeChild = node.children.item(index);
27747
+ if (originalNodeChild) {
27748
+ clonedNodeChild.style.width = `${originalNodeChild.offsetWidth}px`;
27749
+ }
27750
+ });
27751
+ const { offsetLeft: x, offsetTop: y, offsetWidth: w, offsetHeight: h, } = node;
27752
+ Object.assign(clone.style, {
27753
+ position: 'absolute',
27754
+ left: `calc(${x}px - var(--grab-offset-x, 0px))`,
27755
+ top: `calc(${y}px - var(--grab-offset-y, 0px))`,
27756
+ height: this.dragResize ? `${h}px` : undefined,
27757
+ width: this.dragResize ? `${w}px` : undefined,
27758
+ willChange: 'transform,opacity',
27759
+ });
27760
+ clone.classList.add(this.draggedClass);
27761
+ return node.parentNode.appendChild(clone);
27762
+ }
27763
+ /// Event handlers ///
27764
+ removeEventHandlers(ele) {
27765
+ ele = ele || this.sortableHost;
27766
+ ele.removeEventListener('mousedown', this.handleTrack);
27767
+ ele.removeEventListener('touchstart', this.handleTrack);
27768
+ ele.removeEventListener('keydown', this.handleKeydown);
27769
+ }
27770
+ addEventHandlers(ele) {
27771
+ ele = ele || this.sortableHost;
27772
+ ele.addEventListener('mousedown', this.handleTrack);
27773
+ ele.addEventListener('touchstart', this.handleTrack);
27774
+ ele.addEventListener('keydown', this.handleKeydown);
27775
+ }
27776
+ /**
27777
+ * Watch for any changes in grab-able handle elements.
27778
+ */
27779
+ attachMutationObserver() {
27780
+ return;
27781
+ }
27782
+ handleKeydown(e) {
27783
+ const targetElement = e.target;
27784
+ let foundHandle;
27785
+ let sortEle;
27786
+ if (this.handleSelector) {
27787
+ foundHandle = targetElement.closest(this.handleSelector);
27788
+ sortEle = targetElement.closest(this.itemSelector);
27789
+ }
27790
+ else {
27791
+ sortEle = this.keyboardHandleMap.get(targetElement);
27792
+ foundHandle = targetElement;
27793
+ }
27794
+ // have we found a handle and matching sort element from the keydown element
27795
+ if (!foundHandle || !sortEle)
27796
+ return;
27797
+ const activateSort = (isActive) => {
27798
+ this.keyboardSortActive = isActive;
27799
+ this.draggedElement = isActive ? sortEle : undefined;
27800
+ sortEle.classList.toggle(this.draggedClass, isActive);
27801
+ foundHandle.classList.toggle(this.handleDraggedClass, isActive);
27802
+ if (isActive) {
27803
+ this.addAriaMsg(this.grabbedHelperText(sortEle));
27804
+ document.addEventListener('mousedown', () => activateSort(false), {
27805
+ once: true,
27806
+ });
27807
+ }
27808
+ else {
27809
+ this.addAriaMsg(this.droppedHelperText(sortEle));
27810
+ }
27811
+ };
27812
+ // start editing this element's order?
27813
+ if ([' ', 'Space', 'Enter'].includes(e.key)) {
27814
+ e.preventDefault();
27815
+ if (!this.keyboardSortActive) {
27816
+ // grabbed the element
27817
+ activateSort(true);
27818
+ this.sortableNodes =
27819
+ Array.from(this.sortableHost.querySelectorAll(this.itemSelector)) ||
27820
+ [];
27821
+ const nanoGrabbedEv = this.nanoGrabbed.emit({
27822
+ element: sortEle,
27823
+ index: this.sortableNodes.indexOf(sortEle),
27824
+ });
27825
+ if (nanoGrabbedEv.defaultPrevented) {
27826
+ activateSort(false);
27827
+ return;
27828
+ }
27829
+ }
27830
+ else {
27831
+ // dropped the element
27832
+ activateSort(false);
27833
+ this.nanoDropped.emit({ element: sortEle });
27834
+ }
27835
+ return;
27836
+ }
27837
+ if (!this.keyboardSortActive)
27838
+ return;
27839
+ // Tabbing away from this handle - deactivate
27840
+ if (['Escape', 'Tab'].includes(e.key))
27841
+ activateSort(false);
27842
+ let moveKeys = ['Home', 'End'];
27843
+ if (!this.orientation || this.orientation === 'horizontal')
27844
+ moveKeys = [...moveKeys, 'ArrowRight', 'ArrowLeft'];
27845
+ if (!this.orientation || this.orientation === 'vertical')
27846
+ moveKeys = [...moveKeys, 'ArrowUp', 'ArrowDown'];
27847
+ if (!moveKeys.includes(e.key))
27848
+ return;
27849
+ // move the element with the keyboard
27850
+ e.preventDefault();
27851
+ /** Collect all elements that have drag positions.
27852
+ * Both sortable elements and 'dropzones' (placeholders where items can always be placed) */
27853
+ this.sortableNodes =
27854
+ Array.from(this.sortableHost.querySelectorAll(this.itemSelector)) || [];
27855
+ this.dropzoneNodes =
27856
+ Array.from(this.sortableHost.querySelectorAll(this.dropzoneSelector)) ||
27857
+ [];
27858
+ const currIdx = this.sortableNodes.indexOf(this.draggedElement);
27859
+ let curDzIdx = -1;
27860
+ if (this.dropzoneNodes.length) {
27861
+ const curDropzone = this.draggedElement.closest(this.dropzoneSelector);
27862
+ curDzIdx = this.dropzoneNodes.indexOf(curDropzone);
27863
+ curDzIdx = curDzIdx > -1 ? curDzIdx : -1;
27864
+ }
27865
+ /** If we don't have a next / prev sortable element in our list, test to see if there's a dropzone instead */
27866
+ const prevEle = currIdx - 1 < 0 && curDzIdx > -1
27867
+ ? this.dropzoneNodes[curDzIdx - 1]
27868
+ : this.sortableNodes[currIdx - 1];
27869
+ const nextEle = currIdx + 1 === this.sortableNodes.length && curDzIdx > -1
27870
+ ? this.dropzoneNodes[curDzIdx + 1]
27871
+ : this.sortableNodes[currIdx + 1];
27872
+ if (e.key === 'Home') {
27873
+ this.insertAtTarget(this.draggedElement, this.sortableNodes[0]);
27874
+ }
27875
+ if (e.key === 'End') {
27876
+ this.insertAtTarget(this.draggedElement, this.sortableNodes[this.sortableNodes.length - 1]);
27877
+ }
27878
+ if (['ArrowRight', 'ArrowDown'].includes(e.key)) {
27879
+ this.insertAtTarget(this.draggedElement, nextEle);
27880
+ }
27881
+ if (['ArrowLeft', 'ArrowUp'].includes(e.key)) {
27882
+ this.insertAtTarget(this.draggedElement, prevEle);
27883
+ }
27884
+ this.finishOrder();
27885
+ this.draggedElement = sortEle;
27886
+ const focus = () => {
27887
+ requestAnimationFrame(() => {
27888
+ typeof foundHandle['setFocus'] === 'function'
27889
+ ? foundHandle.setFocus()
27890
+ : foundHandle.focus();
27891
+ });
27892
+ };
27893
+ // replace focus to handle so we don't 'drop' the element
27894
+ if (this.animationPromise)
27895
+ this.animationPromise.then(() => focus());
27896
+ else
27897
+ focus();
27898
+ }
27899
+ /**
27900
+ * Tracks a pointer from touchstart/mousedown to touchend/mouseup. Note that the start state is fired following
27901
+ * the first actual move event following a touchstart/mousedown */
27902
+ handleTrack(e) {
27903
+ if (this.dragRequestPending || (e.button && e.button !== 1))
27904
+ return;
27905
+ clearTimeout(this.mouseDownTimer);
27906
+ this.mouseDownTimer = window === null || window === void 0 ? void 0 : window.setTimeout(() => {
27907
+ if (!this.trackStart(e))
27908
+ return;
27909
+ this.addAriaMsg(this.grabbedHelperText(this.draggedElement));
27910
+ drag(this.sortableHost, {
27911
+ initialEvent: e,
27912
+ relative: true,
27913
+ onMove: (x, y) => {
27914
+ this.trackMove(x, y);
27915
+ },
27916
+ onStop: () => {
27917
+ this.nanoDropped.emit({ element: this.draggedElement });
27918
+ const didStop = () => {
27919
+ this.addAriaMsg(this.droppedHelperText(this.draggedElement));
27920
+ requestAnimationFrame(() => this.finishOrder());
27921
+ };
27922
+ if (this.animationPromise) {
27923
+ this.animationPromise.then(() => didStop());
27924
+ }
27925
+ else
27926
+ didStop();
27927
+ },
27928
+ });
27929
+ }, 100);
27930
+ document.addEventListener('mouseup', () => clearTimeout(this.mouseDownTimer), { once: true });
27931
+ }
27932
+ /**
27933
+ * Initialized a drag and drop sequence if a child node was clicked that matches the itemSelector property.
27934
+ * OR If a handleSelector is defined, a node matching this selector must be clicked instead
27935
+ * @returns boolean - whether tracking for this event should continue or not
27936
+ */
27937
+ trackStart(e) {
27938
+ const targetElement = e.target;
27939
+ let targetHandle;
27940
+ // If we have a handle set, return now if not being pressed
27941
+ if (this.handleSelector) {
27942
+ targetHandle = targetElement.closest(this.handleSelector);
27943
+ if (!targetHandle)
27944
+ return;
27945
+ targetHandle.classList.add(this.handleDraggedClass);
27946
+ }
27947
+ // Check that we've found the target element via itemSelector
27948
+ const node = targetElement.closest(this.itemSelector);
27949
+ if (!node)
27950
+ return false;
27951
+ this.sortableNodes =
27952
+ Array.from(this.sortableHost.querySelectorAll(this.itemSelector)) || [];
27953
+ const nanoGrabbedEv = this.nanoGrabbed.emit({
27954
+ element: node,
27955
+ index: this.sortableNodes.indexOf(node),
27956
+ });
27957
+ if (nanoGrabbedEv.defaultPrevented)
27958
+ return false;
27959
+ // Element found... start everything
27960
+ e.preventDefault();
27961
+ this.updateUserSelectStyle('none');
27962
+ this.dragRequestPending = true;
27963
+ this.draggedElement = node;
27964
+ this.dropzoneNodes =
27965
+ Array.from(this.sortableHost.querySelectorAll(this.dropzoneSelector)) ||
27966
+ [];
27967
+ this.draggedElementClone = this.createClone(node);
27968
+ this.draggedElementOrigin = node.nextSibling;
27969
+ this.animatedElements = [];
27970
+ this.draggedElement.classList.add(this.placeholderClass);
27971
+ return true;
27972
+ }
27973
+ /** Ends re-ordering */
27974
+ finishOrder() {
27975
+ if (!this.draggedElement)
27976
+ return;
27977
+ const updated = Array.from(this.sortableHost.querySelectorAll(this.itemSelector)).filter((ele) => ele !== this.draggedElementClone);
27978
+ const originalIndex = this.sortableNodes.indexOf(this.draggedElement);
27979
+ const targetIndex = updated.indexOf(this.draggedElement);
27980
+ if (this.handleSelector) {
27981
+ const targetHandle = this.draggedElement.querySelector(this.handleSelector);
27982
+ targetHandle.classList.remove(this.handleDraggedClass);
27983
+ }
27984
+ if (originalIndex !== targetIndex) {
27985
+ const orderChangeEv = this.nanoOrderChange.emit({
27986
+ element: this.draggedElement,
27987
+ originalIndex,
27988
+ targetIndex,
27989
+ });
27990
+ if (orderChangeEv.defaultPrevented) {
27991
+ /** Event was prevented, wait a moment to send element back to whence it came - gives a nicer visual queue */
27992
+ this.animationPromise = new Promise((resolve) => {
27993
+ setTimeout(() => {
27994
+ this.insertAtTarget(this.draggedElement, updated[originalIndex]);
27995
+ this.reset();
27996
+ this.dragRequestPending = false;
27997
+ resolve();
27998
+ }, 200);
27999
+ });
28000
+ return;
28001
+ }
28002
+ this.addAriaMsg(this.reorderHelperText(this.draggedElement, updated, targetIndex + 1));
28003
+ }
28004
+ this.reset();
28005
+ this.dragRequestPending = false;
28006
+ }
28007
+ /// Component lifecycle ///
28008
+ constructor(hostRef) {
28009
+ registerInstance(this, hostRef);
28010
+ this.nanoOrderChange = createEvent(this, "nanoOrderChange", 7);
28011
+ this.nanoGrabbed = createEvent(this, "nanoGrabbed", 7);
28012
+ this.nanoDropped = createEvent(this, "nanoDropped", 7);
28013
+ this.dragRequestPending = false;
28014
+ this.sortableNodes = [];
28015
+ this.dropzoneNodes = [];
28016
+ this.animatedElements = [];
28017
+ this.keyboardHandleMap = new Map();
28018
+ this.sortableId = `nano-sortable-${sortableIds++}`;
28019
+ /**
28020
+ * Moves the active node's clone to follow the pointer. The node that the clone intersects with (via hitTest) is
28021
+ * the insert point for updated sorting */
28022
+ this.trackMove = (x, y) => {
28023
+ if (!this.draggedElementClone) {
28024
+ return;
28025
+ }
28026
+ if (this.orientation) {
28027
+ x = x * orientationMap[this.orientation].x;
28028
+ y = y * orientationMap[this.orientation].y;
28029
+ }
28030
+ writeTask(() => {
28031
+ Object.assign(this.draggedElementClone.style, {
28032
+ transform: `translate3d(${x}px, ${y}px, 0)`,
28033
+ });
28034
+ });
28035
+ let target = this.hitTest(this.draggedElementClone, this.sortableNodes)[0];
28036
+ let activeDropzone;
28037
+ if (this.dropzoneSelector && this.dropzoneActiveClass) {
28038
+ readTask(() => {
28039
+ activeDropzone = this.draggedElement.closest(this.dropzoneSelector);
28040
+ writeTask(() => {
28041
+ this.dropzoneNodes
28042
+ .filter((dze) => dze !== activeDropzone)
28043
+ .forEach((dze) => dze.classList.remove(this.dropzoneActiveClass));
28044
+ activeDropzone.classList.add(this.dropzoneActiveClass);
28045
+ });
28046
+ });
28047
+ }
28048
+ // didn't find a target - let's test to see if we can use a drop-zone instead
28049
+ if (!target && this.dropzoneNodes.length) {
28050
+ target = this.hitTest(this.draggedElementClone, this.dropzoneNodes)[0];
28051
+ if (this.draggedElement.closest(this.dropzoneSelector) === target)
28052
+ return;
28053
+ }
28054
+ if (
28055
+ // if clone intersects with a valid target,
28056
+ target &&
28057
+ // other than its own origin,
28058
+ target !== this.draggedElement &&
28059
+ // and the target isn't currently animating, which causes false hit tests,
28060
+ !this.isAnimating(target)) {
28061
+ this.insertAtTarget(this.draggedElement, target);
28062
+ }
28063
+ };
28064
+ this.itemSelector = 'li';
28065
+ this.handleSelector = undefined;
28066
+ this.dropzoneSelector = undefined;
28067
+ this.helperText = 'Press "Space" or "Enter" to enable element reordering and use the arrow keys to reorder items.' +
28068
+ 'Press "Escape" to cancel reordering. Alternatively, use your mouse to drag / reorder.';
28069
+ this.itemDescriptor = (el) => `"${el.textContent.trim()}"`;
28070
+ this.grabbedHelperText = (el) => `${this.itemDescriptor(el)} grabbed`;
28071
+ this.droppedHelperText = (el) => `${this.itemDescriptor(el)} dropped`;
28072
+ this.reorderHelperText = (el, elements, position) => `The list has been reordered, ${this.itemDescriptor(el)} is now item ${position} of ${elements.length}`;
28073
+ this.createKeyboardHandle = (_number, _element) => {
28074
+ const handleTpl = /* html */ `
28075
+ <nano-icon-button
28076
+ slot="end"
28077
+ icon-name="light/arrows"
28078
+ class="nano-sortable__keyboard-handle visually-hidden"
28079
+ label="Re-order this item"
28080
+ ></nano-icon-button>`;
28081
+ const div = globalThis.document.createElement('div');
28082
+ div.innerHTML = handleTpl;
28083
+ const handle = div.children[0];
28084
+ _element.append(handle);
28085
+ return handle;
28086
+ };
28087
+ this.sortableHostElement = undefined;
28088
+ this.animationEnabled = true;
28089
+ this.draggedClass = 'nano-sortable__dragged';
28090
+ this.handleDraggedClass = 'nano-sortable__handle-dragged';
28091
+ this.placeholderClass = 'nano-sortable__placeholder';
28092
+ this.dropzoneActiveClass = '';
28093
+ this.animationTiming = { duration: 200, easing: 'ease-out' };
28094
+ this.orientation = undefined;
28095
+ this.dragResize = false;
28096
+ this.keyboardSortActive = false;
28097
+ this.ariaTextList = [];
28098
+ this.handleTrack = this.handleTrack.bind(this);
28099
+ this.handleKeydown = this.handleKeydown.bind(this);
28100
+ this.refreshKeyboardHandles = this.refreshKeyboardHandles.bind(this);
28101
+ this.refreshKeyboardHandles = debounce$2(this.refreshKeyboardHandles, 500);
28102
+ }
28103
+ connectedCallback() {
28104
+ this.addEventHandlers();
28105
+ this.refreshKeyboardHandles();
28106
+ this.attachMutationObserver();
28107
+ }
28108
+ disconnectedCallback() {
28109
+ var _a;
28110
+ this.removeEventHandlers();
28111
+ (_a = this.host.querySelector(`#${this.sortableId}`)) === null || _a === void 0 ? void 0 : _a.remove();
28112
+ if (this.mutationObserver) {
28113
+ this.mutationObserver.disconnect();
28114
+ this.mutationObserver = undefined;
28115
+ }
28116
+ }
28117
+ render() {
28118
+ return (hAsync(Host, null, hAsync("div", { class: "sortable__live-region", "aria-live": "polite", "aria-relevant": "additions", "aria-atomic": "true", role: "log", part: "announcements" }, this.ariaTextList.map((str) => (hAsync("div", null, str)))), hAsync("slot", null)));
28119
+ }
28120
+ get host() { return getElement(this); }
28121
+ static get watchers() { return {
28122
+ "itemSelector": ["handleItemSelectorChange"],
28123
+ "handleSelector": ["handleHandleSelectorChange"],
28124
+ "createKeyboardHandle": ["handleCreateKeyboardHandleChange"],
28125
+ "sortableHostElement": ["handleSortableHostElement"]
28126
+ }; }
28127
+ static get style() { return sortableCss; }
28128
+ static get cmpMeta() { return {
28129
+ "$flags$": 9,
28130
+ "$tagName$": "nano-sortable",
28131
+ "$members$": {
28132
+ "itemSelector": [1, "item-selector"],
28133
+ "handleSelector": [1, "handle-selector"],
28134
+ "dropzoneSelector": [1, "dropzone-selector"],
28135
+ "helperText": [1, "helper-text"],
28136
+ "itemDescriptor": [16],
28137
+ "grabbedHelperText": [16],
28138
+ "droppedHelperText": [16],
28139
+ "reorderHelperText": [16],
28140
+ "createKeyboardHandle": [16],
28141
+ "sortableHostElement": [16],
28142
+ "animationEnabled": [4, "animation-enabled"],
28143
+ "draggedClass": [1, "dragged-class"],
28144
+ "handleDraggedClass": [1, "handle-dragged-class"],
28145
+ "placeholderClass": [1, "placeholder-class"],
28146
+ "dropzoneActiveClass": [1, "dropzone-active-class"],
28147
+ "animationTiming": [8, "animation-timing"],
28148
+ "orientation": [1],
28149
+ "dragResize": [4, "drag-resize"],
28150
+ "keyboardSortActive": [32],
28151
+ "ariaTextList": [32],
28152
+ "refreshKeyboardHandles": [64]
28153
+ },
28154
+ "$listeners$": undefined,
28155
+ "$lazyBundleId$": "-",
28156
+ "$attrsToReflect$": []
28157
+ }; }
28158
+ }
28159
+
27368
28160
  const spinnerCss = "/*!@:host*/.sc-nano-spinner-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-spinner,*.sc-nano-spinner::before,*.sc-nano-spinner::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-spinner{display:none !important}/*!@:host*/.sc-nano-spinner-h{display:inline-block;--base-color-rgb:var(--nano-indicator-rgb, 84 140 175);--indicator-color:var(\n --nano-indicator-color,\n rgb(var(--base-color-rgb) / 100%)\n );--track-color:var(--nano-track-color, rgb(var(--base-color-rgb) / 20%));--overlay-color:var(--nano-layer-overlay-light, rgb(255 255 255 / 70%))}/*!@.spinner*/.spinner.sc-nano-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center}/*!@:host([overlay]:not([overlay=false])) .spinner*/[overlay].sc-nano-spinner-h:not([overlay=false]) .spinner.sc-nano-spinner{position:absolute;inset:0}/*!@:host([overlay]:not([overlay=false])) .spinner .spinner__loader,\n:host([overlay]:not([overlay=false])) .spinner .spinner__text*/[overlay].sc-nano-spinner-h:not([overlay=false]) .spinner.sc-nano-spinner .spinner__loader.sc-nano-spinner,[overlay].sc-nano-spinner-h:not([overlay=false]) .spinner.sc-nano-spinner .spinner__text.sc-nano-spinner{z-index:1}/*!@.spinner__overlay*/.spinner__overlay.sc-nano-spinner{background:var(--overlay-color);position:absolute;inset:0;z-index:0;-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}/*!@.spinner__loader*/.spinner__loader.sc-nano-spinner{font-size:var(--spinner-scale, 1em)}/*!@.spinner__spin*/.spinner__spin.sc-nano-spinner{display:block;margin:auto;inline-size:1em;block-size:1em;border-radius:50%;border:solid 0.1em var(--track-color);border-block-start-color:var(--indicator-color);border-inline-end-color:var(--indicator-color);border-inline-start-color:var(--indicator-color);animation:1s linear infinite spin}/*!@.spinner__dna*/.spinner__dna.sc-nano-spinner{font-size:0.2286em;display:flex}/*!@.spinner__dnatrack*/.spinner__dnatrack.sc-nano-spinner{position:relative;padding-block:0;padding-inline:0.625em;block-size:4.375em;inline-size:0.625em;overflow:hidden}/*!@.spinner__dnatrack::before*/.spinner__dnatrack.sc-nano-spinner::before{content:\"\";position:absolute;inset-block-start:1.875em;inset-inline-start:50%;transform:translateX(-50%) translateZ(0);inline-size:0.0625em;inline-size:max(.0625em, 1px);block-size:0.625em;background:var(--track-color);animation:flex 1.5s linear infinite;transform-origin:center center}/*!@.spinner__dnatrack--2::before*/.spinner__dnatrack--2.sc-nano-spinner::before{animation:flex 1.5s -1.3s linear infinite}/*!@.spinner__dnatrack--3::before*/.spinner__dnatrack--3.sc-nano-spinner::before{animation:flex 1.5s -1.1s linear infinite}/*!@.spinner__dnatrack--4::before*/.spinner__dnatrack--4.sc-nano-spinner::before{animation:flex 1.5s -0.9s linear infinite}/*!@.spinner__dnatrack--5::before*/.spinner__dnatrack--5.sc-nano-spinner::before{animation:flex 1.5s -0.75s linear infinite}/*!@.spinner__dnadot*/.spinner__dnadot.sc-nano-spinner{position:absolute;inline-size:0.5em;block-size:0.5em;border-radius:50%;background:var(--indicator-color);animation:rotate 1.5s linear infinite;transform-origin:center center;inset-inline-start:50%;transform:translateX(-50%) translateZ(0) translateY(0)}/*!@.spinner__dnadot--2*/.spinner__dnadot--2.sc-nano-spinner{animation:rotate 1.5s -0.75s linear infinite}/*!@.spinner__dnadot--3*/.spinner__dnadot--3.sc-nano-spinner{animation:rotate 1.5s -1.3s linear infinite}/*!@.spinner__dnadot--4*/.spinner__dnadot--4.sc-nano-spinner{animation:rotate 1.5s -0.55s linear infinite}/*!@.spinner__dnadot--5*/.spinner__dnadot--5.sc-nano-spinner{animation:rotate 1.5s -1.1s linear infinite}/*!@.spinner__dnadot--6*/.spinner__dnadot--6.sc-nano-spinner{animation:rotate 1.5s -0.35s linear infinite}/*!@.spinner__dnadot--7*/.spinner__dnadot--7.sc-nano-spinner{animation:rotate 1.5s -0.9s linear infinite}/*!@.spinner__dnadot--8*/.spinner__dnadot--8.sc-nano-spinner{animation:rotate 1.5s -0.15s linear infinite}/*!@.spinner__dnadot--9*/.spinner__dnadot--9.sc-nano-spinner{animation:rotate 1.5s -0.75s linear infinite}/*!@.spinner__dnadot--10*/.spinner__dnadot--10.sc-nano-spinner{animation:rotate 1.5s 0s linear infinite}/*!@.spinner__text*/.spinner__text.sc-nano-spinner{text-align:center;position:relative;-webkit-margin-before:0.5em;margin-block-start:0.5em}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes rotate{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}25%{transform:translateX(-50%) translateY(1.875em) scale(2)}50%{transform:translateX(-50%) translateY(3.75em) scale(1)}75%{transform:translateX(-50%) translateY(1.875em) scale(0.3)}}@keyframes flex{0%,100%{transform:translateX(-50%) scaleY(5)}25%{transform:translateX(-50%) scaleY(1)}50%{transform:translateX(-50%) scaleY(5)}75%{transform:translateX(-50%) scaleY(1)}}";
27369
28161
 
27370
28162
  /**
@@ -27400,24 +28192,6 @@ class Spinner {
27400
28192
  }; }
27401
28193
  }
27402
28194
 
27403
- function drag(container, onMove) {
27404
- function move(pointerEvent) {
27405
- const dims = container.getBoundingClientRect();
27406
- const defaultView = container.ownerDocument.defaultView;
27407
- const offsetX = dims.left + defaultView.pageXOffset;
27408
- const offsetY = dims.top + defaultView.pageYOffset;
27409
- const x = pointerEvent.pageX - offsetX;
27410
- const y = pointerEvent.pageY - offsetY;
27411
- onMove(x, y);
27412
- }
27413
- function stop() {
27414
- document.removeEventListener('pointermove', move);
27415
- document.removeEventListener('pointerup', stop);
27416
- }
27417
- document.addEventListener('pointermove', move, { passive: true });
27418
- document.addEventListener('pointerup', stop);
27419
- }
27420
-
27421
28195
  const splitPaneCss = "/*!@:host*/.sc-nano-split-pane-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-split-pane,*.sc-nano-split-pane::before,*.sc-nano-split-pane::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-split-pane{display:none !important}/*!@:host*/.sc-nano-split-pane-h{--divider-width:12px;--divider-hit-area:14px;--min:0%;--max:100%;--background-color:#e4e6e8;--content-color:#918b86;display:grid}/*!@.start,\n.end*/.start.sc-nano-split-pane,.end.sc-nano-split-pane{overflow:hidden}/*!@.divider*/.divider.sc-nano-split-pane{flex:0 0 var(--divider-width);display:flex;position:relative;align-items:center;justify-content:center;background-color:var(--background-color);color:var(--content-color);z-index:1;font-size:0.8rem}/*!@.divider:focus*/.divider.sc-nano-split-pane:focus{outline:none}/*!@:host(:not([disabled])) .divider:focus-visible*/.sc-nano-split-pane-h:not([disabled]) .divider.sc-nano-split-pane:focus-visible{background-color:var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}/*!@:host([disabled]) .divider*/[disabled].sc-nano-split-pane-h .divider.sc-nano-split-pane{cursor:not-allowed}/*!@:host(:not([vertical]):not([disabled])) .divider*/.sc-nano-split-pane-h:not([vertical]):not([disabled]) .divider.sc-nano-split-pane{cursor:col-resize}/*!@:host(:not([vertical])) .divider::after*/.sc-nano-split-pane-h:not([vertical]) .divider.sc-nano-split-pane::after{display:flex;content:\"\";position:absolute;block-size:100%;inset-inline-start:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);inline-size:var(--divider-hit-area)}/*!@:host([vertical])*/[vertical].sc-nano-split-pane-h{flex-direction:column}/*!@:host([vertical]:not([disabled])) .divider*/[vertical].sc-nano-split-pane-h:not([disabled]) .divider.sc-nano-split-pane{cursor:row-resize}/*!@:host([vertical]) .divider::after*/[vertical].sc-nano-split-pane-h .divider.sc-nano-split-pane::after{content:\"\";position:absolute;inline-size:100%;inset-block-start:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);block-size:var(--divider-hit-area)}";
27422
28196
 
27423
28197
  /**
@@ -27457,33 +28231,35 @@ class SplitPane {
27457
28231
  }
27458
28232
  // Prevent text selection when dragging
27459
28233
  e.preventDefault();
27460
- drag(this.host, (x, y) => {
27461
- let newPositionInPixels = this.vertical ? y : x;
27462
- this.nanoDragging.emit(newPositionInPixels);
27463
- // Flip for end panels
27464
- if (this.primary === 'end') {
27465
- newPositionInPixels = this.size - newPositionInPixels;
27466
- }
27467
- // Check snap points
27468
- if (this.snap) {
27469
- const snaps = this.snap.split(' ');
27470
- snaps.forEach((value) => {
27471
- let snapPoint;
27472
- if (value.endsWith('%')) {
27473
- snapPoint = this.size * (parseFloat(value) / 100);
27474
- }
27475
- else {
27476
- snapPoint = parseFloat(value);
27477
- }
27478
- if (newPositionInPixels >= snapPoint - this.snapThreshold &&
27479
- newPositionInPixels <= snapPoint + this.snapThreshold) {
27480
- newPositionInPixels = snapPoint;
27481
- }
27482
- });
27483
- }
27484
- this.shouldAnimate = false;
27485
- this.position = clamp(this.pixelsToPercentage(newPositionInPixels), 0, 100);
27486
- requestAnimationFrame(() => (this.shouldAnimate = true));
28234
+ drag(this.host, {
28235
+ onMove: (x, y) => {
28236
+ let newPositionInPixels = this.vertical ? y : x;
28237
+ this.nanoDragging.emit(newPositionInPixels);
28238
+ // Flip for end panels
28239
+ if (this.primary === 'end') {
28240
+ newPositionInPixels = this.size - newPositionInPixels;
28241
+ }
28242
+ // Check snap points
28243
+ if (this.snap) {
28244
+ const snaps = this.snap.split(' ');
28245
+ snaps.forEach((value) => {
28246
+ let snapPoint;
28247
+ if (value.endsWith('%')) {
28248
+ snapPoint = this.size * (parseFloat(value) / 100);
28249
+ }
28250
+ else {
28251
+ snapPoint = parseFloat(value);
28252
+ }
28253
+ if (newPositionInPixels >= snapPoint - this.snapThreshold &&
28254
+ newPositionInPixels <= snapPoint + this.snapThreshold) {
28255
+ newPositionInPixels = snapPoint;
28256
+ }
28257
+ });
28258
+ }
28259
+ this.shouldAnimate = false;
28260
+ this.position = clamp(this.pixelsToPercentage(newPositionInPixels), 0, 100);
28261
+ requestAnimationFrame(() => (this.shouldAnimate = true));
28262
+ },
27487
28263
  });
27488
28264
  };
27489
28265
  this.handleKeyDown = (event) => {
@@ -28343,11 +29119,17 @@ class Sticker {
28343
29119
  }; }
28344
29120
  }
28345
29121
 
28346
- const tabCss = "/*!@:host*/.sc-nano-tab-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-tab,*.sc-nano-tab::before,*.sc-nano-tab::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-tab{display:none !important}/*!@:host*/.sc-nano-tab-h{--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--padding:0.75rem 1rem;--bg-rgb:var(--nano-layer-bg-rgb, 255 255 255);--active-bg:rgb(var(--bg-rgb) / 100%);--inactive-bg:rgb(var(--bg-rgb) / 70%);--disabled-bg-rgb:var(--bg-rgb);--text-color:#007495;--disabled-text-color:#455556;--active-text-color:#0c5a71;--h-font-size:0.93em;--v-font-size:0.875em;--tab-spacing:0.5rem;--tab-divider-size:0;--tab-divider-color:#90c6e7;--tab-indicator-size:5px;display:inline-block}/*!@:host([direction=vertical])*/[direction=vertical].sc-nano-tab-h{--padding:1rem}/*!@:host([direction=vertical]) .nanotab*/[direction=vertical].sc-nano-tab-h .nanotab.sc-nano-tab{font-size:var(--v-font-size)}/*!@:host([direction=vertical]) .nanotab.nanotab--active*/[direction=vertical].sc-nano-tab-h .nanotab.nanotab--active.sc-nano-tab{font-weight:600;color:var(--active-text-color)}/*!@:host([direction=horizontal]) .nanotab*/[direction=horizontal].sc-nano-tab-h .nanotab.sc-nano-tab{font-size:var(--h-font-size);-webkit-margin-before:var(--tab-indicator-size);margin-block-start:var(--tab-indicator-size);-webkit-border-end:solid var(--tab-divider-size) var(--tab-divider-color);border-inline-end:solid var(--tab-divider-size) var(--tab-divider-color)}/*!@:host([direction=horizontal]) .nanotab.nanotab--active*/[direction=horizontal].sc-nano-tab-h .nanotab.nanotab--active.sc-nano-tab{-webkit-margin-before:0;margin-block-start:0;-webkit-border-before:solid var(--tab-indicator-size) var(--tab-indicator-color);border-block-start:solid var(--tab-indicator-size) var(--tab-indicator-color);background:var(--active-bg);color:var(--active-text-color)}/*!@.nanotab*/.nanotab.sc-nano-tab{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-webkit-margin-end:var(--tab-spacing);margin-inline-end:var(--tab-spacing);padding:var(--padding);display:flex;block-size:100%;inline-size:auto;background:var(--inactive-bg);border-radius:var(--border-radius) var(--border-radius) 0 0;-webkit-user-select:none;user-select:none;cursor:pointer;overflow:visible;white-space:nowrap;align-items:center}/*!@.nanotab ::slotted(*)*/.nanotab .sc-nano-tab-s>*{display:flex;align-items:center}/*!@:host(:last-of-type) .nanotab*/.sc-nano-tab-h:last-of-type .nanotab.sc-nano-tab{-webkit-margin-end:0;margin-inline-end:0}/*!@.nanotab:hover:not(.tab--disabled)*/.nanotab.sc-nano-tab:hover:not(.tab--disabled){text-shadow:0 0 0.01px var(--text-color)}/*!@.nanotab:focus*/.nanotab.sc-nano-tab:focus{outline:none;outline-style:none;box-shadow:none;border-color:transparent}/*!@.nanotab:focus:not(.nanotab--disabled)*/.nanotab.sc-nano-tab:focus:not(.nanotab--disabled){box-shadow:var(--focus-shadow) inset}/*!@.nanotab--disabled*/.nanotab--disabled.sc-nano-tab{background:rgb(var(--disabled-bg-rgb)/100%);opacity:0.5;cursor:not-allowed;color:var(--disabled-text-color)}/*!@.nanotab__close-button*/.nanotab__close-button.sc-nano-tab{-webkit-margin-start:var(--nano-spacing-small, 8px);margin-inline-start:var(--nano-spacing-small, 8px);-webkit-appearance:none !important;appearance:none !important;--padding:var(--nano-spacing-xsmall, 4px) 0 var(--nano-spacing-xsmall, 4px) var(--nano-spacing-xsmall, 4px) !important}";
29122
+ const tabCss = "/*!@:host*/.sc-nano-tab-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-tab,*.sc-nano-tab::before,*.sc-nano-tab::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-tab{display:none !important}/*!@:host*/.sc-nano-tab-h{--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--padding-v:0.75rem;--padding-h:1rem;--bg-rgb:var(--nano-layer-bg-rgb, 255 255 255);--active-bg:rgb(var(--bg-rgb) / 100%);--inactive-bg:rgb(var(--bg-rgb) / 70%);--disabled-bg-rgb:var(--bg-rgb);--text-color:#007495;--disabled-text-color:#455556;--active-text-color:#0c5a71;--h-font-size:0.93em;--v-font-size:0.875em;--tab-spacing:0.5rem;--tab-divider-size:0;--tab-divider-color:#90c6e7;--tab-indicator-size:5px;--border-radius:inherit;display:inline-block;cursor:pointer;border-radius:var(--border-radius)}/*!@:host([direction=vertical])*/[direction=vertical].sc-nano-tab-h{--padding-v:1rem;--padding-h:1rem}/*!@:host([direction=vertical]) .nanotab*/[direction=vertical].sc-nano-tab-h .nanotab.sc-nano-tab{font-size:var(--v-font-size)}/*!@:host([direction=vertical]) .nanotab.nanotab--active*/[direction=vertical].sc-nano-tab-h .nanotab.nanotab--active.sc-nano-tab{font-weight:600;color:var(--active-text-color)}/*!@:host(.nano-sortable__dragged)*/.nano-sortable__dragged.sc-nano-tab-h{box-shadow:none}/*!@:host(.nano-sortable__dragged) .nanotab*/.nano-sortable__dragged.sc-nano-tab-h .nanotab.sc-nano-tab{box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2))}/*!@:host([direction=horizontal]) .nanotab*/[direction=horizontal].sc-nano-tab-h .nanotab.sc-nano-tab{font-size:var(--h-font-size);-webkit-margin-before:var(--tab-indicator-size);margin-block-start:var(--tab-indicator-size);-webkit-border-end:solid var(--tab-divider-size) var(--tab-divider-color);border-inline-end:solid var(--tab-divider-size) var(--tab-divider-color)}/*!@:host([direction=horizontal]) .nanotab.nanotab--active*/[direction=horizontal].sc-nano-tab-h .nanotab.nanotab--active.sc-nano-tab{-webkit-margin-before:0;margin-block-start:0;-webkit-border-before:solid var(--tab-indicator-size) var(--tab-indicator-color);border-block-start:solid var(--tab-indicator-size) var(--tab-indicator-color);background:var(--active-bg);color:var(--active-text-color)}/*!@.nanotab*/.nanotab.sc-nano-tab{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);-webkit-margin-end:var(--tab-spacing);margin-inline-end:var(--tab-spacing);padding-block:var(--padding-v);padding-inline:var(--padding-h);display:flex;block-size:100%;inline-size:auto;background:var(--inactive-bg);-webkit-user-select:none;user-select:none;overflow:visible;white-space:nowrap;align-items:center;position:relative}/*!@.nanotab ::slotted(*)*/.nanotab .sc-nano-tab-s>*{display:flex;align-items:center}/*!@.nanotab ::slotted(.nano-sortable__keyboard-handle)*/.nanotab .sc-nano-tab-s>.nano-sortable__keyboard-handle{position:absolute;inset-inline-end:-1em;background:var(--inactive-bg);z-index:1}/*!@:host(:last-of-type) .nanotab*/.sc-nano-tab-h:last-of-type .nanotab.sc-nano-tab{-webkit-margin-end:0;margin-inline-end:0}/*!@.nanotab--disabled*/.nanotab--disabled.sc-nano-tab{background:rgb(var(--disabled-bg-rgb)/100%);opacity:0.5;cursor:not-allowed;color:var(--disabled-text-color)}/*!@.nanotab--closable*/.nanotab--closable.sc-nano-tab{-webkit-padding-end:0;padding-inline-end:0}/*!@.nanotab__tab*/.nanotab__tab.sc-nano-tab{display:flex;border-radius:inherit}/*!@.nanotab__tab:hover:not(.tab--disabled)*/.nanotab__tab.sc-nano-tab:hover:not(.tab--disabled){text-shadow:0 0 0.01px var(--text-color)}/*!@.nanotab__tab:focus*/.nanotab__tab.sc-nano-tab:focus{outline:none;outline-style:none;box-shadow:none;border-color:transparent}/*!@.nanotab__tab::before*/.nanotab__tab.sc-nano-tab::before{content:\"\";position:absolute;inset:0;border-radius:inherit}/*!@.nanotab__tab:focus-visible:not(.nanotab--disabled)::before*/.nanotab__tab.sc-nano-tab:focus-visible:not(.nanotab--disabled)::before{box-shadow:var(--focus-shadow) inset}/*!@.nanotab--active .nanotab__tab:focus-visible:not(.nanotab--disabled)::before*/.nanotab--active.sc-nano-tab .nanotab__tab.sc-nano-tab:focus-visible:not(.nanotab--disabled)::before{box-shadow:var(--focus-shadow)}/*!@.nanotab__close-button*/.nanotab__close-button.sc-nano-tab{-webkit-margin-start:var(--nano-spacing-small, 8px);margin-inline-start:var(--nano-spacing-small, 8px);-webkit-margin-end:calc(var(--padding-h) / 2);margin-inline-end:calc(var(--padding-h) / 2);-webkit-appearance:none !important;appearance:none !important;--padding:var(--nano-spacing-xsmall, 4px) !important}";
28347
29123
 
28348
29124
  let id$2 = 0;
28349
29125
  /**
29126
+ * @slot start - start of the tab, content. Outside of the focusable element
29127
+ * @slot end - end of the tab, content. Outside of the focusable element
28350
29128
  * @slot - The tab's label.
29129
+ *
29130
+ * @part base - the wrapper around the whole control
29131
+ * @part tab - the main tab control that controls the active state
29132
+ * @part close-btn - the close button of the tab (if `closable=true`)
28351
29133
  */
28352
29134
  class Tab {
28353
29135
  constructor(hostRef) {
@@ -28375,12 +29157,12 @@ class Tab {
28375
29157
  this.tab.blur();
28376
29158
  }
28377
29159
  render() {
28378
- return (hAsync(Host, { id: this.host.id || this.tabId }, hAsync("div", { part: "base", ref: (el) => (this.tab = el), class: {
29160
+ return (hAsync(Host, { id: this.host.id || this.tabId }, hAsync("div", { part: "base", class: {
28379
29161
  nanotab: true,
28380
29162
  'nanotab--active': this.active,
28381
29163
  'nanotab--disabled': this.disabled,
28382
29164
  'nanotab--closable': this.closable,
28383
- }, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, hAsync("slot", null), this.closable && (hAsync("nano-icon-button", { label: "Close this tab", iconName: "light/times", class: "nanotab__close-button", onClick: this.handleCloseClick, onKeyDown: this.handleCloseKeydown, tabIndex: -1 })))));
29165
+ } }, hAsync("slot", { name: "start" }), hAsync("div", { part: "tab", ref: (el) => (this.tab = el), role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0', class: "nanotab__tab" }, hAsync("slot", null)), this.closable && !this.disabled && (hAsync("nano-icon-button", { label: "Close this tab", iconName: "light/times", class: "nanotab__close-button", onClick: this.handleCloseClick, onKeyDown: this.handleCloseKeydown, part: "close-btn" })), hAsync("slot", { name: "end" }))));
28384
29166
  }
28385
29167
  get host() { return getElement(this); }
28386
29168
  static get style() { return tabCss; }
@@ -28401,7 +29183,7 @@ class Tab {
28401
29183
  }; }
28402
29184
  }
28403
29185
 
28404
- const tabGroupCss = "/*!@:host*/.sc-nano-tab-group-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-tab-group,*.sc-nano-tab-group::before,*.sc-nano-tab-group::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-tab-group{display:none !important}/*!@:host*/.sc-nano-tab-group-h{--indicator-transition:var(--nano-transition-fast, 0.3s);--indicator-color:#90c6e7;--indicator-track-color:#e4e6e8;--indicator-size:0;--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background-rgb:var(--nano-layer-bg-rgb, 255 255 255);--scroll-btn-color:\"currentColor\";--content-padding:2rem 2.5rem;--content-bg:rgb(var(--background-rgb));--content-border-radius:var(--border-radius);--tabs-padding-start:2.5rem;--tabs-padding-end:2.5rem;--tabs-padding-top:0;--tabs-padding-bottom:0;--tabs-container-bg:\"transparent\";--tabs-bg-rgb:var(--background-rgb);--tab-border-radius:var(--border-radius);--tab-text-color:#007495;--shadow-opacity:0.1;--fade-transparency:0;display:block;position:relative;z-index:var(--nano-layer-index-raised, 5)}@media only screen and (max-width: 768px){/*!@:host*/.sc-nano-tab-group-h{--tabs-padding-start:1.5rem;--tabs-padding-end:1.5rem}}/*!@:host ::slotted(nano-tab)*/.sc-nano-tab-group-h .sc-nano-tab-group-s>nano-tab{--tab-indicator-color:var(--indicator-color);--bg-rgb:var(--tabs-bg-rgb);--border-radius:var(--tab-border-radius)}/*!@:host([placement=start]),\n:host([placement=end])*/[placement=start].sc-nano-tab-group-h,[placement=end].sc-nano-tab-group-h{--content-padding:1rem;--tabs-padding-start:0;--tabs-padding-end:0;--tabs-padding-top:0;--tabs-padding-bottom:0;--tab-text-color:#455556;--indicator-color:#007495;--indicator-size:2px}/*!@:host(.nano-color)*/.nano-color.sc-nano-tab-group-h{--indicator-color:var(--nano-color-tint, var(--nano-color-primary-tint, #2689a5));--tab-text-color:rgb(var(--nano-color-base-rgb) / 70%)}/*!@:host(.nano-color) ::slotted(nano-tab)*/.sc-nano-tab-group-h.nano-color .sc-nano-tab-group-s>nano-tab{--active-text-color:var(--nano-color-shade, var(--nano-color-primary-shade, #00637f))}/*!@.nano-tab-group*/.nano-tab-group.sc-nano-tab-group{display:flex;border-radius:0;width:100%;flex:inherit}/*!@.nano-tab-group__tabs*/.nano-tab-group__tabs.sc-nano-tab-group{display:flex;position:relative;width:100%}/*!@.nano-tab-group__active-tab-indicator*/.nano-tab-group__active-tab-indicator.sc-nano-tab-group{position:absolute;transition:var(--indicator-transition) transform ease, var(--indicator-transition) width ease}/*!@.nano-tab-group__body*/.nano-tab-group__body.sc-nano-tab-group{background:var(--content-bg)}/*!@.nano-tab-group:not(.focus-visible) ::slotted(nano-tab)*/.nano-tab-group:not(.focus-visible) .sc-nano-tab-group-s>nano-tab{--focus-shadow:none}/*!@.nano-tab-group .nano-tab-group__nav-container*/.nano-tab-group.sc-nano-tab-group .nano-tab-group__nav-container.sc-nano-tab-group{position:relative;display:flex;background:var(--tabs-container-bg)}/*!@.nano-tab-group button*/.nano-tab-group.sc-nano-tab-group button.sc-nano-tab-group{-webkit-appearance:none;appearance:none;background-color:transparent}/*!@.nano-tab-group__scroll-button*/.nano-tab-group__scroll-button.sc-nano-tab-group{display:flex;align-items:center;justify-content:center;position:absolute;inset-block:0;border:unset;z-index:2;transition:var(--nano-transition-fast, 0.3s) ease opacity;opacity:0;color:var(--scroll-btn-color)}/*!@.nano-tab-group__scroll-button:focus*/.nano-tab-group__scroll-button.sc-nano-tab-group:focus{outline:none}/*!@.nano-tab-group__scroll-button.is-shown*/.nano-tab-group__scroll-button.is-shown.sc-nano-tab-group{opacity:1}/*!@.nano-tab-group__scroll-button.focus-visible:focus*/.nano-tab-group__scroll-button.focus-visible.sc-nano-tab-group:focus{box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))) inset}/*!@.nano-tab-group__scroll-button--left*/.nano-tab-group__scroll-button--left.sc-nano-tab-group{inset-inline-start:0}/*!@.nano-tab-group__scroll-button--right*/.nano-tab-group__scroll-button--right.sc-nano-tab-group{inset-inline-end:0}/*!@.nano-tab-group__scroll-button nano-icon*/.nano-tab-group__scroll-button.sc-nano-tab-group nano-icon.sc-nano-tab-group{font-size:16px}/*!@.nano-tab-group--top*/.nano-tab-group--top.sc-nano-tab-group{flex-direction:column}/*!@.nano-tab-group--top .nano-tab-group__nav-container::after*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav-container.sc-nano-tab-group::after{content:\"\";width:86%;box-shadow:0 10px 40px 10px rgb(0 0 0/var(--shadow-opacity));height:10px;position:absolute;inset-inline-start:7%;inset-block-end:-10px;border-radius:10px;z-index:-1}/*!@.nano-tab-group--top .nano-tab-group__nav*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{scrollbar-width:none;-ms-overflow-style:none;padding-inline:var(--tabs-padding-start) var(--tabs-padding-end);padding-block:var(--tabs-padding-top) var(--tabs-padding-bottom);display:flex;overflow-x:auto;overflow-y:hidden;transition:var(--nano-transition-medium, 0.5s) ease;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--tabs-padding-start), black calc(var(--tabs-padding-start) * 2), black calc(100% - var(--tabs-padding-end) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--tabs-padding-end)), rgb(0 0 0/var(--fade-transparency)));mask-image:linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--tabs-padding-start), black calc(var(--tabs-padding-start) * 2), black calc(100% - var(--tabs-padding-end) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--tabs-padding-end)), rgb(0 0 0/var(--fade-transparency)));-webkit-mask-size:calc(100% + var(--tabs-padding-end) * 4);mask-size:calc(100% + var(--tabs-padding-end) * 4);-webkit-mask-position:calc(var(--tabs-padding-end) * -2);mask-position:calc(var(--tabs-padding-end) * -2)}/*!@.nano-tab-group--top .nano-tab-group__nav::-webkit-scrollbar*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group::-webkit-scrollbar{inline-size:0;block-size:0}/*!@.nano-tab-group--top .nano-tab-group__nav::after*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group::after{content:\" \";padding-inline:0 var(--tabs-padding-end);padding-block:var(--tabs-padding-top) var(--tabs-padding-bottom);line-height:1;flex:0 0 auto}/*!@.nano-tab-group--top.nano-tab-group--has-scroll-controls-left .nano-tab-group__nav*/.nano-tab-group--top.nano-tab-group--has-scroll-controls-left.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{-webkit-mask-position:0;mask-position:0;-webkit-mask-size:calc(100% + var(--tabs-padding-end) * 2);mask-size:calc(100% + var(--tabs-padding-end) * 2)}/*!@.nano-tab-group--top.nano-tab-group--has-scroll-controls-right .nano-tab-group__nav*/.nano-tab-group--top.nano-tab-group--has-scroll-controls-right.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{-webkit-mask-position:calc(var(--tabs-padding-end) * -1);mask-position:calc(var(--tabs-padding-end) * -1);-webkit-mask-size:calc(100% + var(--tabs-padding-end));mask-size:calc(100% + var(--tabs-padding-end))}/*!@.nano-tab-group--top.nano-tab-group--has-scroll-controls-left.nano-tab-group--has-scroll-controls-right .nano-tab-group__nav*/.nano-tab-group--top.nano-tab-group--has-scroll-controls-left.nano-tab-group--has-scroll-controls-right.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{-webkit-mask-size:100%;mask-size:100%;-webkit-mask-position:0;mask-position:0}/*!@.nano-tab-group--top .nano-tab-group__tabs*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__tabs.sc-nano-tab-group{flex:1 1 auto;position:relative;flex-direction:row;text-align:center;color:var(--tab-text-color);width:auto}/*!@.nano-tab-group--top .nano-tab-group__active-tab-indicator*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__active-tab-indicator.sc-nano-tab-group{inset-block-end:-2px;-webkit-border-after:solid var(--indicator-size) var(--indicator-color);border-block-end:solid var(--indicator-size) var(--indicator-color)}/*!@.nano-tab-group--top .nano-tab-group__body*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__body.sc-nano-tab-group{order:2;background:var(--content-bg);position:relative;overflow:hidden;width:auto;display:flex;justify-content:center;padding:var(--content-padding);border-radius:var(--content-border-radius);flex:1 1 auto}/*!@.nano-tab-group--start*/.nano-tab-group--start.sc-nano-tab-group{flex-direction:row}/*!@.nano-tab-group--start .nano-tab-group__tabs*/.nano-tab-group--start.sc-nano-tab-group .nano-tab-group__tabs.sc-nano-tab-group{flex:0 0 auto;flex-direction:column;color:var(--tab-text-color);background:rgb(var(--tabs-bg-rgb));-webkit-border-start:solid var(--indicator-size) var(--indicator-track-color);border-inline-start:solid var(--indicator-size) var(--indicator-track-color);text-align:start}/*!@.nano-tab-group--start .nano-tab-group__active-tab-indicator*/.nano-tab-group--start.sc-nano-tab-group .nano-tab-group__active-tab-indicator.sc-nano-tab-group{inset-inline-start:-2px;-webkit-border-start:solid var(--indicator-size) var(--indicator-color);border-inline-start:solid var(--indicator-size) var(--indicator-color)}/*!@.nano-tab-group--start .nano-tab-group__body*/.nano-tab-group--start.sc-nano-tab-group .nano-tab-group__body.sc-nano-tab-group{flex:1 1 auto;order:2;padding:var(--content-padding);overflow:hidden;border-start-start-radius:0;border-start-end-radius:var(--content-border-radius);border-end-end-radius:var(--content-border-radius);border-end-start-radius:0}";
29186
+ const tabGroupCss = "/*!@:host*/.sc-nano-tab-group-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-tab-group,*.sc-nano-tab-group::before,*.sc-nano-tab-group::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-tab-group{display:none !important}/*!@:host*/.sc-nano-tab-group-h{--indicator-transition:var(--nano-transition-fast, 0.3s);--indicator-color:#90c6e7;--indicator-track-color:#e4e6e8;--indicator-size:0;--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background-rgb:var(--nano-layer-bg-rgb, 255 255 255);--scroll-btn-color:\"currentColor\";--content-padding:2rem 2.5rem;--content-bg:rgb(var(--background-rgb));--content-border-radius:var(--border-radius);--tabs-padding-start:2.5rem;--tabs-padding-end:2.5rem;--tabs-padding-top:0;--tabs-padding-bottom:0;--tabs-container-bg:\"transparent\";--tabs-bg-rgb:var(--background-rgb);--tab-border-radius:var(--border-radius) var(--border-radius) 0 0;--tab-text-color:#007495;--shadow-opacity:0.1;--fade-transparency:0;display:block;position:relative;z-index:var(--nano-layer-index-raised, 5)}@media only screen and (max-width: 768px){/*!@:host*/.sc-nano-tab-group-h{--tabs-padding-start:1.5rem;--tabs-padding-end:1.5rem}}/*!@:host ::slotted(nano-tab)*/.sc-nano-tab-group-h .sc-nano-tab-group-s>nano-tab{--tab-indicator-color:var(--indicator-color);--bg-rgb:var(--tabs-bg-rgb);--border-radius:var(--tab-border-radius);--grab-offset-x:var(--tabs-padding-start)}/*!@:host([placement=start])*/[placement=start].sc-nano-tab-group-h{--content-border-radius:0 var(--border-radius) var(--border-radius) 0;--content-padding:1rem;--tab-border-radius:0;--tabs-padding-start:0;--tabs-padding-end:0;--tabs-padding-top:0;--tabs-padding-bottom:0;--tab-text-color:#455556;--indicator-color:#007495;--indicator-size:2px}/*!@:host(.nano-color)*/.nano-color.sc-nano-tab-group-h{--indicator-color:var(--nano-color-tint, var(--nano-color-primary-tint, #2689a5));--tab-text-color:rgb(var(--nano-color-base-rgb) / 70%)}/*!@:host(.nano-color) ::slotted(nano-tab)*/.sc-nano-tab-group-h.nano-color .sc-nano-tab-group-s>nano-tab{--active-text-color:var(--nano-color-shade, var(--nano-color-primary-shade, #00637f))}/*!@.nano-tab-group*/.nano-tab-group.sc-nano-tab-group{display:flex;border-radius:0;width:100%;flex:inherit}/*!@.nano-tab-group__tabs*/.nano-tab-group__tabs.sc-nano-tab-group{display:flex;position:relative;width:100%}/*!@.nano-tab-group__active-tab-indicator*/.nano-tab-group__active-tab-indicator.sc-nano-tab-group{position:absolute;transition:var(--indicator-transition) transform ease, var(--indicator-transition) width ease}/*!@.nano-tab-group__body*/.nano-tab-group__body.sc-nano-tab-group{background:var(--content-bg)}/*!@.nano-tab-group .nano-tab-group__nav-container*/.nano-tab-group.sc-nano-tab-group .nano-tab-group__nav-container.sc-nano-tab-group{position:relative;display:flex;background:var(--tabs-container-bg)}/*!@.nano-tab-group button*/.nano-tab-group.sc-nano-tab-group button.sc-nano-tab-group{-webkit-appearance:none;appearance:none;background-color:transparent}/*!@.nano-tab-group__scroll-button*/.nano-tab-group__scroll-button.sc-nano-tab-group{display:flex;align-items:center;justify-content:center;position:absolute;inset-block:0;border:unset;z-index:2;transition:var(--nano-transition-fast, 0.3s) ease opacity;opacity:0;color:var(--scroll-btn-color)}/*!@.nano-tab-group__scroll-button:focus*/.nano-tab-group__scroll-button.sc-nano-tab-group:focus{outline:none}/*!@.nano-tab-group__scroll-button.is-shown*/.nano-tab-group__scroll-button.is-shown.sc-nano-tab-group{opacity:1}/*!@.nano-tab-group__scroll-button:focus-visible*/.nano-tab-group__scroll-button.sc-nano-tab-group:focus-visible{box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))) inset}/*!@.nano-tab-group__scroll-button--left*/.nano-tab-group__scroll-button--left.sc-nano-tab-group{inset-inline-start:0}/*!@.nano-tab-group__scroll-button--right*/.nano-tab-group__scroll-button--right.sc-nano-tab-group{inset-inline-end:0}/*!@.nano-tab-group__scroll-button nano-icon*/.nano-tab-group__scroll-button.sc-nano-tab-group nano-icon.sc-nano-tab-group{font-size:16px}/*!@.nano-tab-group--top*/.nano-tab-group--top.sc-nano-tab-group{flex-direction:column}/*!@.nano-tab-group--top .nano-tab-group__nav-container::after*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav-container.sc-nano-tab-group::after{content:\"\";width:86%;box-shadow:0 10px 40px 10px rgb(0 0 0/var(--shadow-opacity));height:10px;position:absolute;inset-inline-start:7%;inset-block-end:-10px;border-radius:10px;z-index:-1}/*!@.nano-tab-group--top .nano-tab-group__nav*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{scrollbar-width:none;-ms-overflow-style:none;padding-inline:var(--tabs-padding-start) var(--tabs-padding-end);padding-block:var(--tabs-padding-top) var(--tabs-padding-bottom);display:flex;overflow-x:auto;overflow-y:hidden;transition:var(--nano-transition-medium, 0.5s) ease;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--tabs-padding-start), black calc(var(--tabs-padding-start) * 2), black calc(100% - var(--tabs-padding-end) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--tabs-padding-end)), rgb(0 0 0/var(--fade-transparency)));mask-image:linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--tabs-padding-start), black calc(var(--tabs-padding-start) * 2), black calc(100% - var(--tabs-padding-end) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--tabs-padding-end)), rgb(0 0 0/var(--fade-transparency)));-webkit-mask-size:calc(100% + var(--tabs-padding-end) * 4);mask-size:calc(100% + var(--tabs-padding-end) * 4);-webkit-mask-position:calc(var(--tabs-padding-end) * -2);mask-position:calc(var(--tabs-padding-end) * -2)}/*!@.nano-tab-group--top .nano-tab-group__nav::-webkit-scrollbar*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group::-webkit-scrollbar{inline-size:0;block-size:0}/*!@.nano-tab-group--top .nano-tab-group__nav::after*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group::after{content:\" \";padding-inline:0 var(--tabs-padding-end);padding-block:var(--tabs-padding-top) var(--tabs-padding-bottom);line-height:1;flex:0 0 auto}/*!@.nano-tab-group--top.nano-tab-group--has-scroll-controls-left .nano-tab-group__nav*/.nano-tab-group--top.nano-tab-group--has-scroll-controls-left.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{-webkit-mask-position:0;mask-position:0;-webkit-mask-size:calc(100% + var(--tabs-padding-end) * 2);mask-size:calc(100% + var(--tabs-padding-end) * 2)}/*!@.nano-tab-group--top.nano-tab-group--has-scroll-controls-right .nano-tab-group__nav*/.nano-tab-group--top.nano-tab-group--has-scroll-controls-right.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{-webkit-mask-position:calc(var(--tabs-padding-end) * -1);mask-position:calc(var(--tabs-padding-end) * -1);-webkit-mask-size:calc(100% + var(--tabs-padding-end));mask-size:calc(100% + var(--tabs-padding-end))}/*!@.nano-tab-group--top.nano-tab-group--has-scroll-controls-left.nano-tab-group--has-scroll-controls-right .nano-tab-group__nav*/.nano-tab-group--top.nano-tab-group--has-scroll-controls-left.nano-tab-group--has-scroll-controls-right.sc-nano-tab-group .nano-tab-group__nav.sc-nano-tab-group{-webkit-mask-size:100%;mask-size:100%;-webkit-mask-position:0;mask-position:0}/*!@.nano-tab-group--top .nano-tab-group__tabs*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__tabs.sc-nano-tab-group{flex:1 1 auto;position:relative;flex-direction:row;text-align:center;color:var(--tab-text-color);width:auto}/*!@.nano-tab-group--top .nano-tab-group__active-tab-indicator*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__active-tab-indicator.sc-nano-tab-group{inset-block-end:-2px;-webkit-border-after:solid var(--indicator-size) var(--indicator-color);border-block-end:solid var(--indicator-size) var(--indicator-color)}/*!@.nano-tab-group--top .nano-tab-group__body*/.nano-tab-group--top.sc-nano-tab-group .nano-tab-group__body.sc-nano-tab-group{order:2;background:var(--content-bg);position:relative;overflow:hidden;width:auto;display:flex;justify-content:center;padding:var(--content-padding);border-radius:var(--content-border-radius);flex:1 1 auto}/*!@.nano-tab-group--start*/.nano-tab-group--start.sc-nano-tab-group{flex-direction:row}/*!@.nano-tab-group--start .nano-tab-group__tabs*/.nano-tab-group--start.sc-nano-tab-group .nano-tab-group__tabs.sc-nano-tab-group{flex:0 0 auto;flex-direction:column;color:var(--tab-text-color);background:rgb(var(--tabs-bg-rgb));-webkit-border-start:solid var(--indicator-size) var(--indicator-track-color);border-inline-start:solid var(--indicator-size) var(--indicator-track-color);text-align:start}/*!@.nano-tab-group--start .nano-tab-group__active-tab-indicator*/.nano-tab-group--start.sc-nano-tab-group .nano-tab-group__active-tab-indicator.sc-nano-tab-group{inset-inline-start:-2px;-webkit-border-start:solid var(--indicator-size) var(--indicator-color);border-inline-start:solid var(--indicator-size) var(--indicator-color)}/*!@.nano-tab-group--start .nano-tab-group__body*/.nano-tab-group--start.sc-nano-tab-group .nano-tab-group__body.sc-nano-tab-group{flex:1 1 auto;order:2;padding:var(--content-padding);overflow:hidden;border-radius:var(--content-border-radius)}";
28405
29187
 
28406
29188
  /**
28407
29189
  * A traditional tab implementation. It nests `nano-tab` and `nano-tab-content` sub-components.
@@ -28448,6 +29230,9 @@ class TabGroup {
28448
29230
  this.setActiveTab(tab);
28449
29231
  };
28450
29232
  this.handleKeyDown = (event) => {
29233
+ const activeEl = document.activeElement;
29234
+ if (!activeEl || activeEl.tagName.toLowerCase() !== 'nano-tab')
29235
+ return;
28451
29236
  // Activate a tab
28452
29237
  if (['Enter', ' '].includes(event.key)) {
28453
29238
  const target = event.target;
@@ -28455,45 +29240,49 @@ class TabGroup {
28455
29240
  if (tab) {
28456
29241
  this.setActiveTab(tab);
28457
29242
  event.preventDefault();
29243
+ event.stopPropagation();
28458
29244
  }
28459
29245
  }
28460
29246
  // Move focus left or right
28461
- if ([
29247
+ if (![
28462
29248
  'ArrowLeft',
28463
29249
  'ArrowRight',
28464
29250
  'ArrowUp',
28465
29251
  'ArrowDown',
28466
29252
  'Home',
28467
29253
  'End',
28468
- ].includes(event.key)) {
28469
- const activeEl = document.activeElement;
28470
- if (activeEl && activeEl.tagName.toLowerCase() === 'nano-tab') {
28471
- const tabs = this.getAllActiveTabs;
28472
- let index = tabs.indexOf(activeEl);
28473
- if (event.key === 'Home') {
28474
- index = 0;
28475
- }
28476
- else if (event.key === 'End') {
28477
- index = tabs.length - 1;
28478
- }
28479
- else if ((this.isRtl && event.key === 'ArrowRight') ||
28480
- (!this.isRtl && event.key === 'ArrowLeft')) {
28481
- index = Math.max(0, index - 1);
28482
- }
28483
- else if ((this.isRtl && event.key === 'ArrowLeft') ||
28484
- (!this.isRtl && event.key === 'ArrowRight')) {
28485
- index = Math.min(tabs.length - 1, index + 1);
28486
- }
28487
- tabs[index].setFocus();
28488
- if (['top'].includes(this.placement)) {
28489
- scrollIntoView(tabs[index], this.nav, 'horizontal', 'center');
28490
- }
28491
- // need to stop bubbling otherwise it will focus on parent tabs if nested
28492
- event.stopPropagation();
28493
- // stop the browser moving about
28494
- event.preventDefault();
29254
+ ].includes(event.key))
29255
+ return;
29256
+ const tabs = this.getAllActiveTabs;
29257
+ let index = tabs.indexOf(activeEl);
29258
+ if (event.key === 'Home')
29259
+ index = 0;
29260
+ if (event.key === 'End')
29261
+ index = tabs.length - 1;
29262
+ if (this.placement === 'top') {
29263
+ if ((this.isRtl && event.key === 'ArrowRight') ||
29264
+ (!this.isRtl && event.key === 'ArrowLeft')) {
29265
+ index = Math.max(0, index - 1);
28495
29266
  }
29267
+ if ((this.isRtl && event.key === 'ArrowLeft') ||
29268
+ (!this.isRtl && event.key === 'ArrowRight')) {
29269
+ index = Math.min(tabs.length - 1, index + 1);
29270
+ }
29271
+ }
29272
+ if (this.placement === 'start') {
29273
+ if (event.key === 'ArrowUp')
29274
+ index = Math.max(0, index - 1);
29275
+ if (event.key === 'ArrowDown')
29276
+ index = Math.min(tabs.length - 1, index + 1);
29277
+ }
29278
+ tabs[index].setFocus();
29279
+ if (this.placement === 'top') {
29280
+ scrollIntoView(tabs[index], this.nav, 'horizontal', 'center');
28496
29281
  }
29282
+ // need to stop bubbling otherwise it will focus on parent tabs if nested
29283
+ event.stopPropagation();
29284
+ // stop the browser moving about
29285
+ event.preventDefault();
28497
29286
  };
28498
29287
  this.handleTabScroll = () => {
28499
29288
  if (!this.hasScrollControls) {
@@ -28784,11 +29573,6 @@ class TabGroup {
28784
29573
  }
28785
29574
  });
28786
29575
  observer.observe(this.host);
28787
- focusVisible.observe(this.tabGroup);
28788
- if (this.leftBtn) {
28789
- focusVisible.observe(this.leftBtn);
28790
- focusVisible.observe(this.rightBtn);
28791
- }
28792
29576
  requestAnimationFrame(() => this.updateScrollControls());
28793
29577
  if (!window['ResizeObserver'])
28794
29578
  return;
@@ -28811,27 +29595,22 @@ class TabGroup {
28811
29595
  }
28812
29596
  }
28813
29597
  disconnectedCallback() {
28814
- focusVisible.unobserve(this.tabGroup);
28815
- if (this.leftBtn) {
28816
- focusVisible.unobserve(this.leftBtn);
28817
- focusVisible.unobserve(this.rightBtn);
28818
- }
28819
29598
  if (this.resizeObserver)
28820
29599
  this.resizeObserver.unobserve(this.nav);
28821
29600
  }
28822
29601
  render() {
28823
29602
  this.isRtl = this.host.ownerDocument.dir === 'rtl';
28824
- return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)), dir: this.isRtl ? 'rtl' : null }, hAsync("div", { part: "base", ref: (el) => (this.tabGroup = el), class: {
29603
+ return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)), dir: this.isRtl ? 'rtl' : null }, hAsync("div", { part: "base", class: {
28825
29604
  'nano-tab-group': true,
28826
29605
  'nano-tab-group--top': this.placement === 'top',
28827
29606
  'nano-tab-group--start': this.placement === 'start',
28828
29607
  'nano-tab-group--has-scroll-controls': this.hasScrollControls,
28829
29608
  'nano-tab-group--has-scroll-controls-left': !this.hideControlLeft,
28830
29609
  'nano-tab-group--has-scroll-controls-right': !this.hideControlRight,
28831
- }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, hAsync("div", { class: "nano-tab-group__nav-container", part: "nav" }, this.placement === 'top' && (hAsync("button", { class: {
29610
+ }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, hAsync("div", { class: "nano-tab-group__nav-container", part: "nav" }, this.placement === 'top' && (hAsync("button", { disabled: !this.hasScrollControls, class: {
28832
29611
  'nano-tab-group__scroll-button': true,
28833
29612
  'nano-tab-group__scroll-button--left': true,
28834
- }, ref: (btn) => (this.leftBtn = btn), onClick: () => this.handleBtnClick(false) }, hAsync("nano-icon", { name: "light/chevron-left" }))), hAsync("div", { ref: (el) => (this.nav = el), class: "nano-tab-group__nav", onScroll: this.handleTabScroll }, hAsync("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "nano-tab-group__tabs", role: "tablist" }, hAsync("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "nano-tab-group__active-tab-indicator" }), hAsync("slot", { name: "tabs", onSlotchange: this.handleTabSlotChange }))), this.placement === 'top' && (hAsync("button", { class: {
29613
+ }, ref: (btn) => (this.leftBtn = btn), onClick: () => this.handleBtnClick(false) }, hAsync("nano-icon", { name: "light/chevron-left" }))), hAsync("div", { ref: (el) => (this.nav = el), class: "nano-tab-group__nav", onScroll: this.handleTabScroll }, hAsync("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "nano-tab-group__tabs", role: "tablist" }, hAsync("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "nano-tab-group__active-tab-indicator" }), hAsync("slot", { name: "tabs", onSlotchange: this.handleTabSlotChange }))), this.placement === 'top' && (hAsync("button", { disabled: !this.hasScrollControls, class: {
28835
29614
  'nano-tab-group__scroll-button': true,
28836
29615
  'nano-tab-group__scroll-button--right': true,
28837
29616
  }, ref: (btn) => (this.rightBtn = btn), onClick: () => this.handleBtnClick(true) }, hAsync("nano-icon", { name: "light/chevron-right" })))), hAsync("slot", { name: "tab-content-header" }), hAsync("div", { part: "body", class: "nano-tab-group__body", onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, hAsync("slot", { onSlotchange: this.handleContentSlotChange })))));
@@ -28850,7 +29629,7 @@ class TabGroup {
28850
29629
  "$flags$": 9,
28851
29630
  "$tagName$": "nano-tab-group",
28852
29631
  "$members$": {
28853
- "placement": [1],
29632
+ "placement": [513],
28854
29633
  "noScrollControls": [4, "no-scroll-controls"],
28855
29634
  "color": [1],
28856
29635
  "storeId": [1, "store-id"],
@@ -28864,7 +29643,7 @@ class TabGroup {
28864
29643
  },
28865
29644
  "$listeners$": [[0, "nanoTabClose", "handleTabClose"]],
28866
29645
  "$lazyBundleId$": "-",
28867
- "$attrsToReflect$": []
29646
+ "$attrsToReflect$": [["placement", "placement"]]
28868
29647
  }; }
28869
29648
  }
28870
29649
 
@@ -29706,12 +30485,12 @@ function sort(workerStore, rows, prop, order) {
29706
30485
  return rows;
29707
30486
  const col = workerStore.columns.find((c) => c.prop === prop);
29708
30487
  // custom sort
29709
- if (!!col.sortCompareFn && typeof col.sortCompareFn === 'function') {
30488
+ if (!!(col === null || col === void 0 ? void 0 : col.sortCompareFn) && typeof col.sortCompareFn === 'function') {
29710
30489
  const sorted = rows.slice().sort(col.sortCompareFn(prop, order));
29711
30490
  return sorted;
29712
30491
  }
29713
30492
  // text sort
29714
- if (col.type === 'text' && typeof rows[0][prop] === 'string') {
30493
+ if ((col === null || col === void 0 ? void 0 : col.type) === 'text' && typeof rows[0][prop] === 'string') {
29715
30494
  const sorted = rows.slice().sort((a, b) => {
29716
30495
  if (!a[prop])
29717
30496
  return 1;
@@ -29755,7 +30534,7 @@ function applyFiltersAndSort(workerStore, rows) {
29755
30534
  }
29756
30535
  function colsFromStore(safeColumns) {
29757
30536
  return safeColumns.map((c) => {
29758
- if (!!c.sortCompareFn) {
30537
+ if (!!(c === null || c === void 0 ? void 0 : c.sortCompareFn)) {
29759
30538
  c.sortCompareFn = new Function('return ' + c.sortCompareFn)();
29760
30539
  }
29761
30540
  return c;
@@ -29772,7 +30551,7 @@ async function destroyWorkerStore(workerId) {
29772
30551
  function colsToWorker(columns) {
29773
30552
  const safeColumns = JSON.parse(JSON.stringify(columns));
29774
30553
  columns.forEach((c) => {
29775
- if (!!c.sortCompareFn) {
30554
+ if (!!(c === null || c === void 0 ? void 0 : c.sortCompareFn)) {
29776
30555
  const safeCol = safeColumns.find((sc) => sc.prop === c.prop);
29777
30556
  safeCol.sortCompareFn = c.sortCompareFn.toString();
29778
30557
  }
@@ -30166,88 +30945,8 @@ function isInViewport(el, percentVisible = 100) {
30166
30945
  Math.floor(100 - ((r.bottom - windowHeight) / r.height) * 100) <
30167
30946
  percentVisible);
30168
30947
  }
30169
- /**
30170
- * Immutable array re-order
30171
- * @param from - the index to move from
30172
- * @param to - the index to move to
30173
- * @param arr - the array to re-order
30174
- * @returns - a new, re-orderd array
30175
- */
30176
- function arrMove(from, to, arr) {
30177
- const newArr = [...arr];
30178
- const item = newArr.splice(from, 1)[0];
30179
- newArr.splice(to, 0, item);
30180
- return newArr;
30181
- }
30182
-
30183
- // TABLE HEADERS
30184
- // (thead > tr > th, tfoot > tr > th)
30185
- let draggingCol;
30186
- let draggingColEle;
30187
- let dragEnterEle;
30188
- let draggingParent;
30189
- const TableColHead = ({ column, headRenderer, onColumnSortClick, onColumnPinned, onColumnDrag, onColumnDrop, defaults, }) => {
30190
- const store = fetchStores();
30191
- // Drag to re-order columns handling
30192
- function handleDragStart(e, column) {
30193
- draggingCol = column;
30194
- draggingColEle = dragEnterEle = e.target;
30195
- draggingParent = draggingColEle.closest('.' + `${CSSNAMESPACE}__tr`);
30196
- draggingParent.classList.add(`${CSSNAMESPACE}__dragging`);
30197
- draggingColEle.classList.add(`${CSSNAMESPACE}__drag--start`);
30198
- e.dataTransfer.effectAllowed = 'move';
30199
- e.dataTransfer.setData('text/html', draggingColEle.innerHTML);
30200
- onColumnDrag(column.prop, draggingColEle);
30201
- }
30202
- function handleDragEnd() {
30203
- draggingParent.classList.remove(`${CSSNAMESPACE}__dragging`);
30204
- draggingColEle.classList.remove(`${CSSNAMESPACE}__drag--start`);
30205
- draggingParent
30206
- .querySelectorAll(`.${CSSNAMESPACE}__drag-mask--active`)
30207
- .forEach((el) => {
30208
- el.classList.remove(`${CSSNAMESPACE}__drag-mask--active`);
30209
- });
30210
- draggingColEle = null;
30211
- draggingCol = null;
30212
- draggingParent = null;
30213
- dragEnterEle = null;
30214
- }
30215
- function handleDragEnter(e) {
30216
- if (dragEnterEle === e.target)
30217
- return;
30218
- e.preventDefault();
30219
- e.stopImmediatePropagation();
30220
- e.dataTransfer.dropEffect = 'move';
30221
- draggingParent
30222
- .querySelectorAll(`.${CSSNAMESPACE}__drag-mask--active`)
30223
- .forEach((el) => {
30224
- el.classList.remove(`${CSSNAMESPACE}__drag-mask--active`);
30225
- });
30226
- dragEnterEle = e.target;
30227
- if (!dragEnterEle.classList.contains(`${CSSNAMESPACE}__drag-mask`)) {
30228
- e.dataTransfer.dropEffect = 'none';
30229
- return;
30230
- }
30231
- dragEnterEle.classList.add(`${CSSNAMESPACE}__drag-mask--active`);
30232
- }
30233
- function handleDrop(e) {
30234
- e.stopPropagation();
30235
- const { colName } = this.dataset;
30236
- if (colName === draggingCol.prop)
30237
- return;
30238
- const cols = store.config.state.columns;
30239
- let toIndex = cols.findIndex((col) => col.prop === colName);
30240
- const fromIndex = cols.findIndex((col) => col === draggingCol);
30241
- if (toIndex < fromIndex &&
30242
- this.classList.contains(`${CSSNAMESPACE}__drag-mask--end`))
30243
- toIndex++;
30244
- if (toIndex > fromIndex &&
30245
- this.classList.contains(`${CSSNAMESPACE}__drag-mask--start`))
30246
- toIndex--;
30247
- if (toIndex === fromIndex)
30248
- return;
30249
- onColumnDrop(draggingCol.prop, store.config.state.columns[toIndex].prop, draggingColEle);
30250
- }
30948
+
30949
+ const TableColHead = ({ column, headRenderer, onColumnSortClick, onColumnPinned, defaults, }) => {
30251
30950
  // Sort handling
30252
30951
  function handleColumnSortClick(e) {
30253
30952
  let order;
@@ -30267,10 +30966,6 @@ const TableColHead = ({ column, headRenderer, onColumnSortClick, onColumnPinned,
30267
30966
  return ((!!defaults.sortable && column.sortable !== false) ||
30268
30967
  (!defaults.sortable && column.sortable === true));
30269
30968
  }
30270
- function isDraggable() {
30271
- return ((!!defaults.draggable && column.draggable !== false) ||
30272
- (!defaults.draggable && column.draggable === true));
30273
- }
30274
30969
  let extraProps = {};
30275
30970
  if (column.columnProperties) {
30276
30971
  extraProps = column.columnProperties(column) || extraProps;
@@ -30293,37 +30988,23 @@ const TableColHead = ({ column, headRenderer, onColumnSortClick, onColumnPinned,
30293
30988
  : 'none';
30294
30989
  props = Object.assign(Object.assign({}, props), { 'aria-sort': sort });
30295
30990
  }
30296
- if (isDraggable()) {
30297
- props = Object.assign(Object.assign({}, props), { draggable: true, onDragStart: (e) => handleDragStart(e, column), onDragOver: (e) => e.preventDefault(), onDragEnd: () => handleDragEnd() });
30298
- }
30299
30991
  return (hAsync("th", Object.assign({}, props, { ref: (th) => {
30300
30992
  if (['end', 'start'].includes(column.pinned))
30301
30993
  addHObserver(th, column.pinned, onColumnPinned);
30302
30994
  if (['top', 'bottom'].includes(headRenderer.pinned))
30303
30995
  addVObserver(th, headRenderer.pinned, onColumnPinned);
30304
- }, key: column.prop }),
30305
- isDraggable() && [
30306
- hAsync("div", { class: {
30307
- [`${CSSNAMESPACE}__drag-mask`]: true,
30308
- [`${CSSNAMESPACE}__drag-mask--start`]: true,
30309
- }, "data-col-name": column.prop, onDragEnter: handleDragEnter, onDrop: handleDrop, onDragOver: (e) => e.preventDefault() }),
30310
- hAsync("div", { class: {
30311
- [`${CSSNAMESPACE}__drag-mask`]: true,
30312
- [`${CSSNAMESPACE}__drag-mask--end`]: true,
30313
- }, "data-col-name": column.prop, onDragEnter: handleDragEnter, onDrop: handleDrop, onDragOver: (e) => e.preventDefault() }),
30314
- ],
30315
- isSortable() ? (hAsync("button", { class: {
30316
- [`${CSSNAMESPACE}__order-btn`]: true,
30317
- [`${CSSNAMESPACE}__cell-content`]: true,
30318
- }, onClick: handleColumnSortClick },
30319
- colheadFootRender(column),
30320
- column.filter !== undefined && column.filter !== null && (hAsync("nano-icon", { name: "light/filter" })),
30321
- !!column.order &&
30322
- (column.order === 'desc' ? (hAsync("nano-icon", { name: "solid/long-arrow-down" })) : (hAsync("nano-icon", { name: "solid/long-arrow-up" }))),
30323
- hAsync("div", { class: `${CSSNAMESPACE}__status-icons` },
30324
- hAsync("nano-icon", { name: "light/chevron-down" })))) : (hAsync("div", { class: `${CSSNAMESPACE}__cell-content` },
30325
- colheadFootRender(column),
30326
- column.filter !== undefined && column.filter !== null && (hAsync("nano-icon", { name: "light/bars-filter" }))))));
30996
+ }, key: column.prop }), isSortable() ? (hAsync("button", { class: {
30997
+ [`${CSSNAMESPACE}__order-btn`]: true,
30998
+ [`${CSSNAMESPACE}__cell-content`]: true,
30999
+ }, onClick: handleColumnSortClick },
31000
+ colheadFootRender(column),
31001
+ column.filter !== undefined && column.filter !== null && (hAsync("nano-icon", { name: "light/filter" })),
31002
+ !!column.order &&
31003
+ (column.order === 'desc' ? (hAsync("nano-icon", { name: "solid/long-arrow-down" })) : (hAsync("nano-icon", { name: "solid/long-arrow-up" }))),
31004
+ hAsync("div", { class: `${CSSNAMESPACE}__status-icons` },
31005
+ hAsync("nano-icon", { name: "light/chevron-down" })))) : (hAsync("div", { class: `${CSSNAMESPACE}__cell-content` },
31006
+ colheadFootRender(column),
31007
+ column.filter !== undefined && column.filter !== null && (hAsync("nano-icon", { name: "light/bars-filter" }))))));
30327
31008
  };
30328
31009
 
30329
31010
  // TABLE CELL
@@ -30364,7 +31045,7 @@ const baseCellClasses = (colIndex, toString = false) => {
30364
31045
  return classListToStr(classes);
30365
31046
  return classes;
30366
31047
  };
30367
- const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
31048
+ const TableCell$1 = ({ rowIndex, colIndex, nestedContent, }) => {
30368
31049
  const Content = () => nestedContent
30369
31050
  ? nestedContent()
30370
31051
  : cellRender(rowIndex, colIndex) || (hAsync("span", { class: "placeholder" }, "\u00A0"));
@@ -30395,15 +31076,15 @@ const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
30395
31076
  hAsync(Content, null))))) : (hAsync(ContentWrap, null))));
30396
31077
  };
30397
31078
 
31079
+ const TableCell = ({ header, wrap }, children) => {
31080
+ const cell = (hAsync("div", { class: {
31081
+ [`${CSSNAMESPACE}__cell-content`]: true,
31082
+ [`${CSSNAMESPACE}__cell-content--wrap`]: wrap,
31083
+ } }, children));
31084
+ return header ? hAsync("th", { scope: "row" }, cell) : hAsync("td", null, cell);
31085
+ };
30398
31086
  const TableRow = ({ rowRenderer, rowIndex, rowModel, onColumnPinned }, children, utils) => {
30399
31087
  let extraProps = {};
30400
- const TableCell = ({ header, wrap }, children) => {
30401
- const cell = (hAsync("div", { class: {
30402
- [`${CSSNAMESPACE}__cell-content`]: true,
30403
- [`${CSSNAMESPACE}__cell-content--wrap`]: wrap,
30404
- } }, children));
30405
- return header ? hAsync("th", { scope: "row" }, cell) : hAsync("td", null, cell);
30406
- };
30407
31088
  if (!rowModel) {
30408
31089
  const model = rowDataModel(rowIndex);
30409
31090
  rowModel = model.rowModel;
@@ -30508,7 +31189,7 @@ const TableHeadFootRow = ({ rowRenderer, onColumnPinned }, children, utils) => {
30508
31189
  return hAsync("tr", Object.assign({}, props), children);
30509
31190
  };
30510
31191
 
30511
- const tableCss = ":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}nano-table{display:block;width:100%;--max-col-width:clamp(200px, 500px, 50vw);--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--thead-font-size:0.95rem;--thead-color:#455560;--tfoot-color:#455560;--border-color:#dddbda;--border-style:thin solid var(--border-color);--border-tint-color:#0084a9;--border-tint-style:3px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:250 250 249;--foot-bg-rgb:var(--head-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding-start:0.625rem;--td-padding-end:0.625rem;--td-padding-top:0.5rem;--td-padding-bottom:0.4125rem;--th-padding-start:0.625rem;--th-padding-end:0.625rem;--th-padding-top:0.875rem;--th-padding-bottom:0.6875rem;--td-padding-v:var(--td-padding-top) var(--td-padding-bottom);--td-padding-h:var(--td-padding-start) var(--td-padding-end);--th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--th-padding-h:var(--th-padding-start) var(--th-padding-end);--foot-th-padding-v:var(--td-padding-top) var(--td-padding-bottom);--foot-th-padding-h:var(--td-padding-start) var(--td-padding-end);--head-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--head-th-padding-h:var(--th-padding-start) var(--th-padding-end);--bookend-col-padding:2rem}.nano-tbl{color:var(--color);text-align:start;width:100%;font-size:var(--font-size);border-spacing:0 0;border-collapse:separate;background:rgb(var(--cell-bg-rgb));-webkit-border-end:1px solid transparent;border-inline-end:1px solid transparent;-webkit-border-before:1px solid transparent;border-block-start:1px solid transparent;position:relative;z-index:1}.nano-tbl__wrap{display:table;min-width:100%}.nano-tbl__top-anchor{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;position:relative}.nano-tbl__ordered{background-color:var(--ordered-bg);-webkit-border-start:var(--border-style);border-inline-start:var(--border-style);-webkit-border-end:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__drag-mask{display:none;position:absolute;inset-block:-2px -2px;z-index:10;opacity:0;transition:0.2s ease opacity}.nano-tbl__drag-mask--start{width:calc(50% + 2px);inset-inline-start:-2px;-webkit-border-start:2px dashed var(--border-tint-color);border-inline-start:2px dashed var(--border-tint-color)}.nano-tbl__drag-mask--end{width:50%;inset-inline-end:0;-webkit-border-end:2px dashed var(--border-tint-color);border-inline-end:2px dashed var(--border-tint-color)}.nano-tbl__drag-mask--active{opacity:1}.nano-tbl__dragging .nano-tbl__drag-mask{display:block}.nano-tbl__drag--start{opacity:0.4}.nano-tbl__dragging .nano-tbl__td,.nano-tbl__dragging .nano-tbl__th{cursor:no-drop}.nano-tbl__dragging .nano-tbl__td .nano-tbl__cell-content,.nano-tbl__dragging .nano-tbl__th .nano-tbl__cell-content{pointer-events:none}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;-webkit-appearance:none;appearance:none;color:inherit;display:flex;gap:10px;align-items:center;width:100%}.nano-tbl__status-icons{margin-inline:auto 10px;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;transition:scale 0.25s;transform:scale(0);width:100%;height:0}.nano-tbl__progress-bar--show{transform:scale(1);height:auto}.nano-tbl__caption--hide{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__td,.nano-tbl__th{line-height:var(--cell-line-height);text-align:start;-webkit-border-before:var(--border-style);border-block-start:var(--border-style);max-width:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}tbody:first-of-type tr:first-child .nano-tbl__td,tbody:first-of-type tr:first-child .nano-tbl__th{-webkit-border-before:none;border-block-start:none}tbody:last-of-type tr:last-child .nano-tbl__td,tbody:last-of-type tr:last-child .nano-tbl__th{-webkit-border-after:var(--border-style);border-block-end:var(--border-style)}.md .nano-tbl__td:first-child .nano-tbl__cell-content,.md .nano-tbl__th:first-child .nano-tbl__cell-content{-webkit-padding-start:var(--bookend-col-padding);padding-inline-start:var(--bookend-col-padding)}.md .nano-tbl__td:last-child .nano-tbl__cell-content,.md .nano-tbl__th:last-child .nano-tbl__cell-content{-webkit-padding-end:var(--bookend-col-padding);padding-inline-end:var(--bookend-col-padding)}@media (max-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{-webkit-padding-start:var(--td-padding-start) !important;padding-inline-start:var(--td-padding-start) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{-webkit-padding-end:var(--td-padding-end) !important;padding-inline-end:var(--td-padding-end) !important}}thead .nano-tbl__td,thead .nano-tbl__th{color:var(--thead-color);font-weight:800;background:rgb(var(--head-bg-rgb)/90%);font-size:var(--thead-font-size);-webkit-border-before:none !important;border-block-start:none !important;transition:all 0.2s ease}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--head-th-padding-v);padding-inline:var(--head-th-padding-h)}tfoot .nano-tbl__td,tfoot .nano-tbl__th{color:var(--tfoot-color);font-weight:800;-webkit-border-before:none;border-block-start:none;background:rgb(var(--foot-bg-rgb)/90%);font-size:var(--thead-font-size)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--foot-th-padding-v);padding-inline:var(--foot-th-padding-h)}.nano-tbl__td.nano-tbl__ordered,.nano-tbl__th.nano-tbl__ordered{background-color:rgb(var(--ordered-bg-rgb)/80%) !important}.nano-tbl__cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:var(--td-padding-v);padding-inline:var(--td-padding-h)}.nano-tbl__cell-content--no-result{padding-block:2rem}.nano-tbl__cell-content--wrap{white-space:normal;overflow:visible}.nano-tbl tbody{will-change:scroll-position;opacity:1;transition:0.1s ease opacity;transform:translateZ(0)}.nano-tbl tbody.nano-tbl__inactive{opacity:0}.nano-tbl th[scope=row]{font-weight:800;margin:0}.nano-tbl__pin{position:sticky;transform:translateZ(0)}.nano-tbl__pin--start{inset-inline:-1px auto;transition:max-width 0.25s ease}.nano-tbl__pin--start::after{content:\"\";position:absolute;inset:0;box-shadow:5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{z-index:2;max-width:125px !important}.sm .nano-tbl__pinned--start .nano-tbl__pin--start{max-width:var(--max-col-width) !important}.nano-tbl__pinned--start .nano-tbl__pin--start::after{opacity:1}.nano-tbl__pin--end{}.nano-tbl__pin--start+.nano-tbl__pin--end{inset-inline:auto auto}.nano-tbl__pin--start+.nano-tbl__pin--end::after{display:none}.sm .nano-tbl__pin--end{inset-inline:auto -1px !important;max-width:min(50vw, 200px)}.sm .nano-tbl__pin--end::after{display:block !important;content:\"\";position:absolute;inset:0;box-shadow:-5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.sm .nano-tbl__pinned--end .nano-tbl__pin--end::after{opacity:1}.nano-tbl__pin--top{inset-block:-1px auto}.nano-tbl__pinned--top .nano-tbl__pin--top{z-index:4 !important}.nano-tbl__pin--bottom{inset-block:auto -1px}.nano-tbl__pinned--bottom .nano-tbl__pin--bottom{z-index:5 !important}.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:5 !important}.nano-tbl__pinned--top.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:6 !important}.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:5 !important}.nano-tbl__pinned--top.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:6 !important}.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:5 !important}.nano-tbl__pinned--bottom.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:6 !important}.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:5 !important}.nano-tbl__pinned--bottom.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:6 !important}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th{-webkit-border-after:var(--border-tint-style);border-block-end:var(--border-tint-style)}.nano-tbl tfoot tr:first-of-type td,.nano-tbl tfoot tr:first-of-type th{-webkit-border-before:none;border-block-start:none}.nano-tbl tfoot tr:last-of-type td,.nano-tbl tfoot tr:last-of-type th{-webkit-border-after:var(--border-tint-style);border-block-end:var(--border-tint-style)}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type th{-webkit-border-before:var(--border-tint-style) !important;border-block-start:var(--border-tint-style) !important}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type th{-webkit-border-after:none !important;border-block-end:none !important}.nano-tbl .unlimited-width{max-width:none}.nano-tbl__spinner{font-size:1.5rem;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:0}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl nano-skeleton{line-height:var(--cell-line-height)}";
31192
+ const tableCss = ":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}nano-table{display:block;width:100%;--max-col-width:clamp(200px, 500px, 50vw);--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--thead-font-size:0.95rem;--thead-color:#455560;--tfoot-color:#455560;--border-color:#dddbda;--border-style:thin solid var(--border-color);--border-tint-color:#0084a9;--border-tint-style:3px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:250 250 249;--foot-bg-rgb:var(--head-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding-start:0.625rem;--td-padding-end:0.625rem;--td-padding-top:0.5rem;--td-padding-bottom:0.4125rem;--th-padding-start:0.625rem;--th-padding-end:0.625rem;--th-padding-top:0.875rem;--th-padding-bottom:0.6875rem;--td-padding-v:var(--td-padding-top) var(--td-padding-bottom);--td-padding-h:var(--td-padding-start) var(--td-padding-end);--th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--th-padding-h:var(--th-padding-start) var(--th-padding-end);--foot-th-padding-v:var(--td-padding-top) var(--td-padding-bottom);--foot-th-padding-h:var(--td-padding-start) var(--td-padding-end);--head-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--head-th-padding-h:var(--th-padding-start) var(--th-padding-end);--bookend-col-padding:2rem}.nano-tbl{color:var(--color);text-align:start;width:100%;font-size:var(--font-size);border-spacing:0 0;border-collapse:separate;background:rgb(var(--cell-bg-rgb));-webkit-border-end:1px solid transparent;border-inline-end:1px solid transparent;-webkit-border-before:1px solid transparent;border-block-start:1px solid transparent;position:relative;z-index:1}.nano-tbl__wrap{display:table;min-width:100%}.nano-tbl__top-anchor{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;position:relative}.nano-tbl__ordered{background-color:var(--ordered-bg);-webkit-border-start:var(--border-style);border-inline-start:var(--border-style);-webkit-border-end:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;-webkit-appearance:none;appearance:none;color:inherit;display:flex;gap:10px;align-items:center;width:100%}.nano-tbl__order-btn:focus-visible{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))) inset}.nano-tbl__status-icons{margin-inline:auto 10px;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;transition:scale 0.25s;transform:scale(0);width:100%;height:0}.nano-tbl__progress-bar--show{transform:scale(1);height:auto}.nano-tbl__caption--hide{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__td,.nano-tbl__th{line-height:var(--cell-line-height);text-align:start;-webkit-border-before:var(--border-style);border-block-start:var(--border-style);max-width:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}tbody:first-of-type tr:first-child .nano-tbl__td,tbody:first-of-type tr:first-child .nano-tbl__th{-webkit-border-before:none;border-block-start:none}tbody:last-of-type tr:last-child .nano-tbl__td,tbody:last-of-type tr:last-child .nano-tbl__th{-webkit-border-after:var(--border-style);border-block-end:var(--border-style)}.md .nano-tbl__td:first-child .nano-tbl__cell-content,.md .nano-tbl__th:first-child .nano-tbl__cell-content{-webkit-padding-start:var(--bookend-col-padding);padding-inline-start:var(--bookend-col-padding)}.md .nano-tbl__td:last-child .nano-tbl__cell-content,.md .nano-tbl__th:last-child .nano-tbl__cell-content{-webkit-padding-end:var(--bookend-col-padding);padding-inline-end:var(--bookend-col-padding)}@media (max-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{-webkit-padding-start:var(--td-padding-start) !important;padding-inline-start:var(--td-padding-start) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{-webkit-padding-end:var(--td-padding-end) !important;padding-inline-end:var(--td-padding-end) !important}}thead .nano-tbl__td,thead .nano-tbl__th{color:var(--thead-color);font-weight:800;background:rgb(var(--head-bg-rgb)/90%);font-size:var(--thead-font-size);-webkit-border-before:none !important;border-block-start:none !important}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--head-th-padding-v);padding-inline:var(--head-th-padding-h)}thead .nano-tbl__td .nano-sortable__keyboard-handle,thead .nano-tbl__th .nano-sortable__keyboard-handle{position:absolute;inset-inline-end:5px;inset-block-start:50%;transform:translateY(-50%);background:white;z-index:10}tfoot .nano-tbl__td,tfoot .nano-tbl__th{color:var(--tfoot-color);font-weight:800;-webkit-border-before:none;border-block-start:none;background:rgb(var(--foot-bg-rgb)/90%);font-size:var(--thead-font-size)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--foot-th-padding-v);padding-inline:var(--foot-th-padding-h)}.nano-tbl__td.nano-tbl__ordered,.nano-tbl__th.nano-tbl__ordered{background-color:rgb(var(--ordered-bg-rgb)/80%) !important}.nano-tbl__cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:var(--td-padding-v);padding-inline:var(--td-padding-h)}.nano-tbl__cell-content--no-result{padding-block:2rem}.nano-tbl__cell-content--wrap{white-space:normal;overflow:visible}.nano-tbl tbody{will-change:scroll-position;opacity:1;transition:0.1s ease opacity;transform:translateZ(0)}.nano-tbl tbody.nano-tbl__inactive{opacity:0}.nano-tbl tbody .nano-tbl__tr:has(~.nano-tbl__tr--placeholder){display:none}.nano-tbl tbody .nano-tbl__tr--placeholder~.nano-tbl__tr{display:none}.nano-tbl th[scope=row]{font-weight:800;margin:0}.nano-tbl__pin{position:sticky;transform:translateZ(0)}.nano-tbl__pin--start{inset-inline:-1px auto;transition:max-width 0.25s ease}.nano-tbl__pin--start::after{content:\"\";position:absolute;inset:0;box-shadow:5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{z-index:2;max-width:125px !important}.sm .nano-tbl__pinned--start .nano-tbl__pin--start{max-width:var(--max-col-width) !important}.nano-tbl__pinned--start .nano-tbl__pin--start::after{opacity:1}.nano-tbl__pin--end{}.nano-tbl__pin--start+.nano-tbl__pin--end{inset-inline:auto auto}.nano-tbl__pin--start+.nano-tbl__pin--end::after{display:none}.sm .nano-tbl__pin--end{inset-inline:auto -1px !important;max-width:min(50vw, 200px)}.sm .nano-tbl__pin--end::after{display:block !important;content:\"\";position:absolute;inset:0;box-shadow:-5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.sm .nano-tbl__pinned--end .nano-tbl__pin--end::after{opacity:1}.nano-tbl__pin--top{inset-block:-1px auto}.nano-tbl__pinned--top .nano-tbl__pin--top{z-index:4 !important}.nano-tbl__pin--bottom{inset-block:auto -1px}.nano-tbl__pinned--bottom .nano-tbl__pin--bottom{z-index:5 !important}.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:5 !important}.nano-tbl__pinned--top.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:6 !important}.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:5 !important}.nano-tbl__pinned--top.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:6 !important}.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:5 !important}.nano-tbl__pinned--bottom.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:6 !important}.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:5 !important}.nano-tbl__pinned--bottom.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:6 !important}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th{-webkit-border-after:var(--border-tint-style);border-block-end:var(--border-tint-style)}.nano-tbl tfoot tr:first-of-type td,.nano-tbl tfoot tr:first-of-type th{-webkit-border-before:none;border-block-start:none}.nano-tbl tfoot tr:last-of-type td,.nano-tbl tfoot tr:last-of-type th{-webkit-border-after:var(--border-tint-style);border-block-end:var(--border-tint-style)}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type th{-webkit-border-before:var(--border-tint-style) !important;border-block-start:var(--border-tint-style) !important}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type th{-webkit-border-after:none !important;border-block-end:none !important}.nano-tbl .unlimited-width{max-width:none}.nano-tbl__spinner{font-size:1.5rem;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:0}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl nano-skeleton{line-height:var(--cell-line-height)}";
30512
31193
 
30513
31194
  let id = 0;
30514
31195
  /**
@@ -30519,7 +31200,6 @@ let id = 0;
30519
31200
  *- Built-in column sort
30520
31201
  *- Easily swap in API / async based search / filter & sort
30521
31202
  *- Pin headers, footers, rows, columns
30522
- *- Drag-&-Drop columns to re-order
30523
31203
  *- Add custom rendering at every level
30524
31204
  *- Add custom properties at every level
30525
31205
  *
@@ -30533,8 +31213,6 @@ class Table {
30533
31213
  this.nanoTblBlockRendered = createEvent(this, "nanoTblBlockRendered", 7);
30534
31214
  this.nanoTblBeforeSort = createEvent(this, "nanoTblBeforeSort", 7);
30535
31215
  this.nanoTblAfterSort = createEvent(this, "nanoTblAfterSort", 7);
30536
- this.nanoTblColDrag = createEvent(this, "nanoTblColDrag", 7);
30537
- this.nanoTblColDrop = createEvent(this, "nanoTblColDrop", 7);
30538
31216
  this.nanoTblBeforeFilter = createEvent(this, "nanoTblBeforeFilter", 7);
30539
31217
  this.nanoTblAfterFilter = createEvent(this, "nanoTblAfterFilter", 7);
30540
31218
  this.nanoTblBeforeSearch = createEvent(this, "nanoTblBeforeSearch", 7);
@@ -30549,32 +31227,6 @@ class Table {
30549
31227
  this.blockHeights = [];
30550
31228
  this.unitHeight = 0;
30551
31229
  this._isReady = false;
30552
- /**
30553
- * Fired when a column is dragged
30554
- * @param column
30555
- */
30556
- this.colDrag = (column) => {
30557
- this.nanoTblColDrag.emit({ column });
30558
- };
30559
- /**
30560
- * Fired when a column is dropped after being dragged
30561
- * @param fromCol
30562
- * @param toCol
30563
- */
30564
- this.colDrop = (fromCol, toCol) => {
30565
- const cols = this.store.config.state.columns;
30566
- const toIndex = cols.findIndex((col) => col.prop === toCol);
30567
- const fromIndex = cols.findIndex((col) => col.prop === fromCol);
30568
- const dropEvent = this.nanoTblColDrop.emit({
30569
- fromCol,
30570
- toCol,
30571
- fromIndex,
30572
- toIndex,
30573
- });
30574
- if (dropEvent.defaultPrevented)
30575
- return;
30576
- this.columns = arrMove(fromIndex, toIndex, cols);
30577
- };
30578
31230
  /**
30579
31231
  * Start a sort - can be cancelled by `preventDefault`
30580
31232
  * @param order - column order
@@ -30626,12 +31278,18 @@ class Table {
30626
31278
  this._loading = false;
30627
31279
  }
30628
31280
  };
31281
+ /**
31282
+ * On scroll, loop through all blocks' heights and cumulatively, add them together.
31283
+ * When we find that the scroll position is less than this cumulative block height -
31284
+ * stop loop - it's on the current active block.
31285
+ */
30629
31286
  this.scrollHandler = () => {
31287
+ // don't listen if this table isn't in the viewport
30630
31288
  if (!this.store.general.state.isActive)
30631
31289
  return;
30632
- this.cacheScrollPosition = this.scrollParent.scrollTop || window.scrollY;
30633
- requestAnimationFrame(() => {
30634
- let cumulativeHeight = 0;
31290
+ readTask(() => {
31291
+ this.cacheScrollPosition = this.scrollParent.scrollTop || window.scrollY;
31292
+ let cumulativeHeight = this.host.offsetTop;
30635
31293
  let blockIndex = 0;
30636
31294
  const blockLen = this.blocks.length;
30637
31295
  while (blockIndex < blockLen &&
@@ -30683,7 +31341,6 @@ class Table {
30683
31341
  this.customFilterFn = undefined;
30684
31342
  this.customSortFn = undefined;
30685
31343
  this.defaultSort = true;
30686
- this.defaultColDraggable = false;
30687
31344
  this.virtualTotalItems = 0;
30688
31345
  this.blocks = [];
30689
31346
  this.activeBlocks = [0, 1, 2];
@@ -30806,9 +31463,8 @@ class Table {
30806
31463
  ? document
30807
31464
  : this._scrollParent).removeEventListener('scroll', this.scrollHandler);
30808
31465
  }
30809
- (ele === document.documentElement ? document : ele).addEventListener('scroll', this.scrollHandler, { passive: true });
31466
+ (ele === document.documentElement ? document : ele).addEventListener('scroll', this.scrollHandler);
30810
31467
  this._scrollParent = ele;
30811
- this.setupActiveWatcher();
30812
31468
  }
30813
31469
  // used to fire `nanoTblBlockRendered` on block render change
30814
31470
  get primaryBlockIndex() {
@@ -31086,9 +31742,9 @@ class Table {
31086
31742
  const height = el.getBoundingClientRect().height;
31087
31743
  // cache height to our block heights array
31088
31744
  // for subsequent renders
31089
- const fBhI = this.blockHeights.findIndex((bh) => bh.blockIndex === blockIndex);
31090
- if (fBhI > 0) {
31091
- this.blockHeights[fBhI] = { height, blockIndex };
31745
+ const fBhIdx = this.blockHeights.findIndex((bh) => bh.blockIndex === blockIndex);
31746
+ if (fBhIdx > -1) {
31747
+ this.blockHeights[fBhIdx] = { height, blockIndex };
31092
31748
  }
31093
31749
  else
31094
31750
  this.blockHeights.push({ height, blockIndex });
@@ -31105,7 +31761,7 @@ class Table {
31105
31761
  /** Adds an IO. Makes sure our scroll listener is only active when
31106
31762
  * the table is in viewport */
31107
31763
  setupActiveWatcher() {
31108
- if (!this.host || !this.scrollParent)
31764
+ if (!this.host || !this.scrollParent || !this.store)
31109
31765
  return;
31110
31766
  if (this.activeWatcherIo) {
31111
31767
  this.activeWatcherIo.disconnect();
@@ -31116,21 +31772,25 @@ class Table {
31116
31772
  this.store.general.state.isActive = true;
31117
31773
  else
31118
31774
  this.store.general.state.isActive = false;
31119
- }, { root: this.scrollParent }));
31775
+ }, { root: this.scrollParent, threshold: 0 }));
31120
31776
  io.observe(this.host);
31121
31777
  }
31122
31778
  // Component lifecycle
31123
31779
  async componentWillLoad() {
31124
- this.scrollParent = findScrollParent(this.host);
31780
+ // setup stores
31125
31781
  this.store = await generateStore(this.host, this.columns, this.scrollParent, this.isReady);
31126
- this.store.general.onChange('isActive', this.scrollHandler);
31127
31782
  await this.handleRowsChange();
31128
- this.processSlots();
31783
+ this.store.general.onChange('isActive', this.scrollHandler);
31129
31784
  this.store.data.onChange('rows', () => this.setBlocks());
31785
+ // setup dom and attach listeners
31786
+ this.processSlots();
31130
31787
  this.setBlocks();
31788
+ this.scrollParent = findScrollParent(this.host);
31789
+ this.setupActiveWatcher();
31131
31790
  }
31132
31791
  connectedCallback() {
31133
31792
  this.scrollParent = findScrollParent(this.host);
31793
+ this.setupActiveWatcher();
31134
31794
  }
31135
31795
  componentDidLoad() {
31136
31796
  this.setInitialBlockDimension();
@@ -31155,31 +31815,29 @@ class Table {
31155
31815
  }
31156
31816
  render() {
31157
31817
  this.blockElements = [];
31158
- return (hAsync(Host, null, hAsync("div", { class: `${CSSNAMESPACE}__top-anchor`, ref: (a) => (this.topAnchorEle = a) }, "\u00A0"), hAsync("nano-resize-observe", { "aria-labelledby": 'table-caption-' + this.renderId, tabindex: this.type === 'grid' ? '0' : undefined, states: "576w sm, 768w md", class: "sm md", onNanoResizeStateChange: this.handleResizeChange }), hAsync("div", { class: `${CSSNAMESPACE}__wrap sm md`, ref: (div) => (this.tableWrapperEle = div) }, hAsync("nano-progress-bar", { indeterminate: true, class: {
31818
+ return (hAsync(Host, null, hAsync("div", { class: `${CSSNAMESPACE}__top-anchor`, ref: (a) => (this.topAnchorEle = a) }, "\u00A0"), hAsync("nano-resize-observe", { states: "576w sm, 768w md", class: "sm md", onNanoResizeStateChange: this.handleResizeChange }), hAsync("div", { class: `${CSSNAMESPACE}__wrap sm md`, ref: (div) => (this.tableWrapperEle = div), "aria-labelledby": 'table-caption-' + this.renderId, tabindex: this.type === 'grid' ? '0' : undefined }, hAsync("nano-progress-bar", { indeterminate: true, class: {
31159
31819
  [`${CSSNAMESPACE}__progress-bar`]: true,
31160
31820
  [`${CSSNAMESPACE}__progress-bar--show`]: this._loading,
31161
- } }), hAsync("table", { role: this.type === 'grid' ? 'grid' : undefined, "aria-readonly": this.type === 'table' ? 'true' : undefined, "aria-rowcount": this.store.data.state.rows.length, "aria-colcount": this.store.config.state.columns.length, class: `${CSSNAMESPACE}`, ref: (tbl) => (this.tableEle = tbl) }, hAsync("caption", { class: {
31821
+ } }), hAsync("table", { role: this.type === 'grid' ? 'grid' : undefined, "aria-rowcount": this.store.data.state.rows.length, "aria-colcount": this.store.config.state.columns.length, class: `${CSSNAMESPACE}`, ref: (tbl) => (this.tableEle = tbl) }, hAsync("caption", { class: {
31162
31822
  [`${CSSNAMESPACE}__caption`]: true,
31163
31823
  [`${CSSNAMESPACE}__caption--hide`]: !this.showCaption,
31164
31824
  }, id: 'table-caption-' + this.renderId }, hAsync("slot", { name: "caption" }, this.caption)), hAsync("thead", null, hAsync(TableHeadFootRow, { rowRenderer: this.headRender, onColumnPinned: this.handleColumnPinned }, this.store.config.state.columns.map((colModel) => [
31165
- hAsync(TableColHead, { column: colModel, headRenderer: this.headRender, onColumnSortClick: this.sortStart, onColumnPinned: this.handleColumnPinned, onColumnDrag: this.colDrag, onColumnDrop: this.colDrop, defaults: {
31825
+ hAsync(TableColHead, { column: colModel, headRenderer: this.headRender, onColumnSortClick: this.sortStart, onColumnPinned: this.handleColumnPinned, defaults: {
31166
31826
  sortable: this.defaultSort,
31167
- draggable: this.defaultColDraggable,
31168
31827
  } }),
31169
- ]))), this._loading && !this.blocks.length && (hAsync("tbody", { class: `${CSSNAMESPACE}__active` }, [...Array(10).keys()].map((rowIndex) => (hAsync("tr", null, this.store.config.state.columns.map((_colModel, colIndex) => (hAsync(TableCell, { rowIndex: rowIndex, colIndex: colIndex, nestedContent: () => hAsync("nano-skeleton", null) })))))))), hAsync("tr", { hidden: !!this._loading || !!this.blocks.length }, hAsync("th", { class: `${CSSNAMESPACE}__th`, colSpan: this.store.config.state.columns.length }, hAsync("div", { class: "nano-tbl__cell-content nano-tbl__cell-content--no-result" }, hAsync("slot", { name: "no-results" }, "No results found")))), this.blocks.map((block, blockIndex) => (hAsync("tbody", { key: block.__uuid, id: `tbody-${this.renderId}-${blockIndex}`, ref: (tb) => {
31828
+ ]))), this._loading && !this.blocks.length && (hAsync("tbody", { class: `${CSSNAMESPACE}__active` }, [...Array(10).keys()].map((rowIndex) => (hAsync("tr", null, this.store.config.state.columns.map((_colModel, colIndex) => (hAsync(TableCell$1, { rowIndex: rowIndex, colIndex: colIndex, nestedContent: () => hAsync("nano-skeleton", null) })))))))), hAsync("tr", { hidden: !!this._loading || !!this.blocks.length }, hAsync("th", { class: `${CSSNAMESPACE}__th`, colSpan: this.store.config.state.columns.length }, hAsync("div", { class: "nano-tbl__cell-content nano-tbl__cell-content--no-result" }, hAsync("slot", { name: "no-results" }, "No results found")))), this.blocks.map((block, blockIndex) => (hAsync("tbody", { key: block.__uuid, id: `tbody-${this.renderId}-${blockIndex}`, ref: (tb) => {
31170
31829
  this.blockElements.push(tb);
31171
31830
  }, class: {
31172
31831
  [`${CSSNAMESPACE}__inactive`]: !this.activeBlocks.includes(blockIndex),
31173
31832
  [`${CSSNAMESPACE}__active`]: this.activeBlocks.includes(blockIndex),
31174
31833
  } }, this.activeBlocks.includes(blockIndex) ? (block.rows.map((row, i) => {
31175
31834
  const rowIndex = blockIndex > 0 ? blockIndex * this.perBlock + i : i;
31176
- return (hAsync(TableRow, { rowRenderer: this.rowRender, rowModel: row, rowIndex: rowIndex }, this.store.config.state.columns.map((_colModel, colIndex) => (hAsync(TableCell, { rowIndex: rowIndex, colIndex: colIndex })))));
31835
+ return (hAsync(TableRow, { rowRenderer: this.rowRender, rowModel: row, rowIndex: rowIndex }, this.store.config.state.columns.map((_colModel, colIndex) => (hAsync(TableCell$1, { rowIndex: rowIndex, colIndex: colIndex })))));
31177
31836
  })) : (hAsync("tr", null, hAsync("td", { colSpan: this.store.config.state.columns.length, style: {
31178
31837
  height: this.getBlockHeight(blockIndex) + 'px',
31179
31838
  } })))))), this.showFooter && (hAsync("tfoot", null, hAsync(TableHeadFootRow, { rowRenderer: this.footRender, onColumnPinned: this.handleColumnPinned }, this.store.config.state.columns.map((colModel) => [
31180
31839
  hAsync(TableColHead, { column: colModel, headRenderer: this.footRender, onColumnPinned: this.handleColumnPinned, onColumnSortClick: this.sortStart, defaults: {
31181
31840
  sortable: this.defaultSort,
31182
- draggable: this.defaultColDraggable,
31183
31841
  } }),
31184
31842
  ]))))), !!this.blocks.length && (hAsync("nano-spinner", { type: "circle", class: {
31185
31843
  [`${CSSNAMESPACE}__spinner`]: true,
@@ -31215,7 +31873,6 @@ class Table {
31215
31873
  "customFilterFn": [16],
31216
31874
  "customSortFn": [16],
31217
31875
  "defaultSort": [4, "default-sort"],
31218
- "defaultColDraggable": [4, "default-col-draggable"],
31219
31876
  "virtualTotalItems": [2, "virtual-total-items"],
31220
31877
  "internalLoading": [32],
31221
31878
  "blocks": [32],
@@ -31473,6 +32130,7 @@ registerComponents([
31473
32130
  Skeleton,
31474
32131
  Slide$2,
31475
32132
  Slides,
32133
+ Sortable,
31476
32134
  Spinner,
31477
32135
  SplitPane,
31478
32136
  Sticker,