@duetds/components 5.2.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/hydrate/index.js +145 -81
  2. package/lib/cjs/{dom-66424ef2.js → dom-96576bce.js} +1 -1
  3. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-editable-table_3.cjs.entry.js +4 -3
  19. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  30. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-number-input.cjs.entry.js +92 -47
  32. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  45. package/lib/cjs/duet.cjs.js +3 -3
  46. package/lib/cjs/{focus-utils-bfb10d32.js → focus-utils-7b09fa4b.js} +1 -1
  47. package/lib/cjs/{index-a4844346.js → index-3024eb44.js} +11 -9
  48. package/lib/cjs/loader.cjs.js +2 -2
  49. package/lib/cjs/{shadow-css-1ff2f74f.js → shadow-css-38b9e725.js} +2 -3
  50. package/lib/collection/collection-manifest.json +1 -1
  51. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -1
  52. package/lib/collection/components/duet-number-input/duet-number-input.js +22 -27
  53. package/lib/collection/components/duet-table/duet-table.css +30 -18
  54. package/lib/collection/utils/math.utils.js +76 -0
  55. package/lib/custom-elements-bundle/index.js +106 -61
  56. package/lib/duet/duet.esm.js +1 -1
  57. package/lib/duet/duet.js +1 -1
  58. package/lib/duet/{p-d33b5ac5.system.entry.js → p-036b2f99.system.entry.js} +1 -1
  59. package/lib/duet/p-0522338d.system.entry.js +4 -0
  60. package/lib/duet/{p-ec6d63fc.entry.js → p-053c3751.entry.js} +1 -1
  61. package/lib/duet/{p-285714dd.entry.js → p-094b206c.entry.js} +1 -1
  62. package/lib/duet/{p-e8f8374b.system.entry.js → p-095b52f8.system.entry.js} +1 -1
  63. package/lib/duet/{p-7021d0c6.system.entry.js → p-0f343566.system.entry.js} +1 -1
  64. package/lib/duet/{p-03b6ce80.entry.js → p-0fffc5fe.entry.js} +1 -1
  65. package/lib/duet/{p-b35d6368.system.entry.js → p-1167bc0a.system.entry.js} +1 -1
  66. package/lib/duet/{p-fd0a3ab7.entry.js → p-13db05ed.entry.js} +1 -1
  67. package/lib/duet/p-15edabe0.entry.js +4 -0
  68. package/lib/duet/{p-c7657242.entry.js → p-16a1bfe4.entry.js} +1 -1
  69. package/lib/duet/{p-b0a4dc6d.entry.js → p-273b6543.entry.js} +1 -1
  70. package/lib/duet/{p-5b1cbe5b.entry.js → p-27d9b918.entry.js} +1 -1
  71. package/lib/duet/{p-e75c7aa8.system.entry.js → p-2cc240f9.system.entry.js} +1 -1
  72. package/lib/duet/{p-971f42d6.system.entry.js → p-2ee81c0d.system.entry.js} +1 -1
  73. package/lib/duet/{p-0bee3151.system.entry.js → p-31a56879.system.entry.js} +1 -1
  74. package/lib/duet/p-35f011bf.system.js +5 -0
  75. package/lib/duet/{p-fa59ebf4.js → p-3b31184e.js} +0 -0
  76. package/lib/duet/{p-9406ee60.entry.js → p-4061e958.entry.js} +1 -1
  77. package/lib/duet/{p-08eb2200.entry.js → p-40ebab42.entry.js} +1 -1
  78. package/lib/duet/{p-f91e88e3.system.entry.js → p-465777cf.system.entry.js} +1 -1
  79. package/lib/duet/{p-a2fa0049.entry.js → p-484993a3.entry.js} +1 -1
  80. package/lib/duet/{p-9920ad3b.entry.js → p-49fc4668.entry.js} +1 -1
  81. package/lib/duet/{p-b51928dc.system.entry.js → p-4e2d8044.system.entry.js} +1 -1
  82. package/lib/duet/{p-95e1a336.entry.js → p-4ff48b81.entry.js} +1 -1
  83. package/lib/duet/{p-423d4211.system.entry.js → p-50f27bbf.system.entry.js} +1 -1
  84. package/lib/duet/{p-0ae816ee.entry.js → p-5183d420.entry.js} +1 -1
  85. package/lib/duet/{p-88ffd1cc.entry.js → p-536bde7b.entry.js} +1 -1
  86. package/lib/duet/{p-360f8fff.system.entry.js → p-53b8ff1e.system.entry.js} +1 -1
  87. package/lib/duet/{p-01478a01.system.entry.js → p-55a7c445.system.entry.js} +1 -1
  88. package/lib/duet/{p-00bf0bb9.system.entry.js → p-56d12aca.system.entry.js} +1 -1
  89. package/lib/duet/{p-030e20d7.entry.js → p-60ef49b0.entry.js} +1 -1
  90. package/lib/duet/{p-6a843f9e.entry.js → p-6518b98d.entry.js} +1 -1
  91. package/lib/duet/{p-98039227.system.entry.js → p-69180d4f.system.entry.js} +1 -1
  92. package/lib/duet/{p-c1d55269.system.entry.js → p-6e02a236.system.entry.js} +1 -1
  93. package/lib/duet/{p-495a1326.system.entry.js → p-6ed460f4.system.entry.js} +1 -1
  94. package/lib/duet/{p-73cd4f03.system.entry.js → p-720c6e22.system.entry.js} +1 -1
  95. package/lib/duet/{p-a843e579.system.entry.js → p-74e56aba.system.entry.js} +1 -1
  96. package/lib/duet/{p-fbec1a47.entry.js → p-750330d5.entry.js} +1 -1
  97. package/lib/duet/{p-f5613315.system.entry.js → p-76263b65.system.entry.js} +1 -1
  98. package/lib/duet/{p-271107d8.entry.js → p-76c11fd4.entry.js} +1 -1
  99. package/lib/duet/{p-4972c76e.system.js → p-798355c8.system.js} +1 -1
  100. package/lib/duet/{p-ee97a406.system.entry.js → p-7bf7db59.system.entry.js} +2 -2
  101. package/lib/duet/{p-19100783.system.entry.js → p-7e951645.system.entry.js} +1 -1
  102. package/lib/duet/p-7ed17661.entry.js +4 -0
  103. package/lib/duet/{p-56d3e64f.entry.js → p-7ef5c9a5.entry.js} +1 -1
  104. package/lib/duet/{p-33388bf3.system.entry.js → p-7f984c27.system.entry.js} +1 -1
  105. package/lib/duet/{p-1ff51ad8.system.entry.js → p-85be7c9f.system.entry.js} +1 -1
  106. package/lib/duet/{p-fef3a403.system.entry.js → p-867497c7.system.entry.js} +1 -1
  107. package/lib/duet/{p-95a0db46.entry.js → p-869a8af0.entry.js} +1 -1
  108. package/lib/duet/{p-04061cef.entry.js → p-8714d15d.entry.js} +1 -1
  109. package/lib/duet/{p-9496d6d4.entry.js → p-876175fe.entry.js} +1 -1
  110. package/lib/duet/{p-7fe67436.system.entry.js → p-88113f53.system.entry.js} +1 -1
  111. package/lib/duet/{p-d4dba079.system.entry.js → p-8828fc2e.system.entry.js} +1 -1
  112. package/lib/duet/{p-5a5d8fb1.entry.js → p-88996447.entry.js} +1 -1
  113. package/lib/duet/p-8de3ea21.system.entry.js +4 -0
  114. package/lib/duet/{p-64685397.entry.js → p-8e9cbd88.entry.js} +1 -1
  115. package/lib/duet/{p-790ee851.entry.js → p-91a3e8db.entry.js} +1 -1
  116. package/lib/duet/{p-b16befbc.system.entry.js → p-927f850c.system.entry.js} +1 -1
  117. package/lib/duet/{p-437fe50b.system.entry.js → p-97b88959.system.entry.js} +1 -1
  118. package/lib/duet/{p-76e38bb2.system.entry.js → p-97bbef5f.system.entry.js} +1 -1
  119. package/lib/duet/{p-97f1e254.entry.js → p-97d54e2d.entry.js} +1 -1
  120. package/lib/duet/{p-99fe93c6.system.entry.js → p-98cf83b0.system.entry.js} +1 -1
  121. package/lib/duet/{p-41cc3490.entry.js → p-9954eddc.entry.js} +1 -1
  122. package/lib/duet/{p-b8623ab8.entry.js → p-9d86935b.entry.js} +1 -1
  123. package/lib/duet/{p-4a7f290f.entry.js → p-a18f86a0.entry.js} +1 -1
  124. package/lib/duet/{p-071ebe1d.system.entry.js → p-a36592fe.system.entry.js} +1 -1
  125. package/lib/duet/{p-e7b761c5.system.js → p-a418cba4.system.js} +1 -1
  126. package/lib/duet/{p-68cbc3b7.entry.js → p-ac368fcb.entry.js} +1 -1
  127. package/lib/duet/{p-bf87d801.entry.js → p-af4aafea.entry.js} +1 -1
  128. package/lib/duet/{p-05e069d8.entry.js → p-b2a01d36.entry.js} +1 -1
  129. package/lib/duet/{p-30e901f2.system.entry.js → p-b2e25ecf.system.entry.js} +1 -1
  130. package/lib/duet/{p-542af014.system.js → p-b668b67c.system.js} +0 -0
  131. package/lib/duet/p-b708426c.entry.js +4 -0
  132. package/lib/duet/{p-c0aca70c.entry.js → p-b7a90031.entry.js} +1 -1
  133. package/lib/duet/{p-7a4764db.system.entry.js → p-bf052bc0.system.entry.js} +1 -1
  134. package/lib/duet/p-c21bd47a.js +5 -0
  135. package/lib/duet/{p-78de93b3.entry.js → p-c576c929.entry.js} +1 -1
  136. package/lib/duet/{p-53ad61ed.entry.js → p-c6e70db9.entry.js} +1 -1
  137. package/lib/duet/{p-10585f06.system.entry.js → p-cabfb664.system.entry.js} +1 -1
  138. package/lib/duet/{p-5f009925.system.entry.js → p-cd5ed901.system.entry.js} +1 -1
  139. package/lib/duet/{p-27d238c5.js → p-d4c234ed.js} +1 -1
  140. package/lib/duet/{p-641edb93.system.entry.js → p-d65262fb.system.entry.js} +1 -1
  141. package/lib/duet/{p-a509cc2b.system.entry.js → p-d698f01c.system.entry.js} +1 -1
  142. package/lib/duet/{p-3260eef0.entry.js → p-d7d0f3b7.entry.js} +1 -1
  143. package/lib/duet/{p-b08bb1fd.entry.js → p-dc1f4e8a.entry.js} +1 -1
  144. package/lib/duet/{p-afd34b6b.system.entry.js → p-df6ebe8d.system.entry.js} +1 -1
  145. package/lib/duet/p-dfa712ca.js +4 -0
  146. package/lib/duet/{p-b4ca3864.system.entry.js → p-eba2b43d.system.entry.js} +1 -1
  147. package/lib/duet/{p-24721182.system.entry.js → p-ec55c00f.system.entry.js} +1 -1
  148. package/lib/duet/{p-72739cec.entry.js → p-f3a98f22.entry.js} +1 -1
  149. package/lib/duet/{p-bb4d8e7b.entry.js → p-f9501a56.entry.js} +1 -1
  150. package/lib/duet/p-ff46ec81.system.js +16 -0
  151. package/lib/esm/{dom-3c479050.js → dom-3dbcb0d8.js} +1 -1
  152. package/lib/esm/duet-action-button.entry.js +1 -1
  153. package/lib/esm/duet-alert.entry.js +1 -1
  154. package/lib/esm/duet-badge.entry.js +1 -1
  155. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  156. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  157. package/lib/esm/duet-button_2.entry.js +1 -1
  158. package/lib/esm/duet-caption_4.entry.js +1 -1
  159. package/lib/esm/duet-card.entry.js +1 -1
  160. package/lib/esm/duet-checkbox.entry.js +1 -1
  161. package/lib/esm/duet-choice_2.entry.js +2 -2
  162. package/lib/esm/duet-collapsible.entry.js +1 -1
  163. package/lib/esm/duet-combobox.entry.js +1 -1
  164. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  165. package/lib/esm/duet-date-picker.entry.js +2 -2
  166. package/lib/esm/duet-divider_2.entry.js +1 -1
  167. package/lib/esm/duet-editable-table_3.entry.js +4 -3
  168. package/lib/esm/duet-empty-state.entry.js +1 -1
  169. package/lib/esm/duet-fieldset.entry.js +1 -1
  170. package/lib/esm/duet-footer.entry.js +1 -1
  171. package/lib/esm/duet-grid_2.entry.js +1 -1
  172. package/lib/esm/duet-header_2.entry.js +1 -1
  173. package/lib/esm/duet-hero.entry.js +1 -1
  174. package/lib/esm/duet-icon.entry.js +1 -1
  175. package/lib/esm/duet-input_2.entry.js +1 -1
  176. package/lib/esm/duet-layout.entry.js +1 -1
  177. package/lib/esm/duet-list_2.entry.js +1 -1
  178. package/lib/esm/duet-modal.entry.js +2 -2
  179. package/lib/esm/duet-notification_2.entry.js +1 -1
  180. package/lib/esm/duet-number-input.entry.js +92 -47
  181. package/lib/esm/duet-pagination_2.entry.js +1 -1
  182. package/lib/esm/duet-progress.entry.js +1 -1
  183. package/lib/esm/duet-radio_2.entry.js +1 -1
  184. package/lib/esm/duet-range-slider.entry.js +1 -1
  185. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  186. package/lib/esm/duet-select.entry.js +1 -1
  187. package/lib/esm/duet-step_2.entry.js +1 -1
  188. package/lib/esm/duet-textarea.entry.js +1 -1
  189. package/lib/esm/duet-toggle.entry.js +1 -1
  190. package/lib/esm/duet-tooltip.entry.js +1 -1
  191. package/lib/esm/duet-tray.entry.js +1 -1
  192. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  193. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  194. package/lib/esm/duet.js +3 -3
  195. package/lib/esm/{focus-utils-3af074ea.js → focus-utils-a1fd6cac.js} +1 -1
  196. package/lib/esm/{index-ab2bfa68.js → index-179c634c.js} +11 -9
  197. package/lib/esm/loader.js +2 -2
  198. package/lib/esm/polyfills/css-shim.js +1 -1
  199. package/lib/esm/{shadow-css-fbe49d20.js → shadow-css-501eda9a.js} +2 -3
  200. package/lib/esm-es5/{dom-3c479050.js → dom-3dbcb0d8.js} +0 -0
  201. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  202. package/lib/esm-es5/duet-alert.entry.js +1 -1
  203. package/lib/esm-es5/duet-badge.entry.js +1 -1
  204. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  205. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  206. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  207. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  208. package/lib/esm-es5/duet-card.entry.js +1 -1
  209. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  210. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  211. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  212. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  213. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  214. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  215. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  216. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  217. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  218. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  219. package/lib/esm-es5/duet-footer.entry.js +1 -1
  220. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  221. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  222. package/lib/esm-es5/duet-hero.entry.js +1 -1
  223. package/lib/esm-es5/duet-icon.entry.js +1 -1
  224. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  225. package/lib/esm-es5/duet-layout.entry.js +1 -1
  226. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  227. package/lib/esm-es5/duet-modal.entry.js +1 -1
  228. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  229. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  230. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  231. package/lib/esm-es5/duet-progress.entry.js +1 -1
  232. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  233. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  234. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  235. package/lib/esm-es5/duet-select.entry.js +1 -1
  236. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  237. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  238. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  239. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  240. package/lib/esm-es5/duet-tray.entry.js +1 -1
  241. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  242. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  243. package/lib/esm-es5/duet.js +1 -1
  244. package/lib/esm-es5/{focus-utils-3af074ea.js → focus-utils-a1fd6cac.js} +1 -1
  245. package/lib/esm-es5/index-179c634c.js +5 -0
  246. package/lib/esm-es5/loader.js +1 -1
  247. package/lib/esm-es5/shadow-css-501eda9a.js +15 -0
  248. package/lib/types/components/duet-number-input/duet-number-input.d.ts +0 -1
  249. package/lib/types/components.d.ts +192 -80
  250. package/lib/types/utils/math.utils.d.ts +11 -0
  251. package/package.json +6 -6
  252. package/lib/collection/components/duet-number-input/number-input-utils.js +0 -26
  253. package/lib/duet/p-12c89686.system.js +0 -4
  254. package/lib/duet/p-37dc064c.js +0 -4
  255. package/lib/duet/p-66536958.system.entry.js +0 -4
  256. package/lib/duet/p-92a25fb5.system.js +0 -16
  257. package/lib/duet/p-98a9556f.js +0 -4
  258. package/lib/duet/p-a76bf729.entry.js +0 -4
  259. package/lib/duet/p-b7462f8c.system.entry.js +0 -4
  260. package/lib/duet/p-cb8ebdd7.entry.js +0 -4
  261. package/lib/duet/p-fe99b9cb.entry.js +0 -4
  262. package/lib/esm-es5/index-ab2bfa68.js +0 -4
  263. package/lib/esm-es5/shadow-css-fbe49d20.js +0 -15
  264. package/lib/types/components/duet-number-input/number-input-utils.d.ts +0 -4
package/hydrate/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  /*!
9
- Stencil Mock Doc v2.15.0 | MIT Licensed | https://stenciljs.com
9
+ Stencil Mock Doc v2.16.0 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  const CONTENT_REF_ID = 'r';
12
12
  const ORG_LOCATION_ID = 'o';
@@ -385,7 +385,7 @@ function toDataAttribute(str) {
385
385
  .toLowerCase());
386
386
  }
387
387
  function dashToPascalCase(str) {
388
- str = String(str).substr(5);
388
+ str = String(str).slice(5);
389
389
  return str
390
390
  .split('-')
391
391
  .map((segment, index) => {
@@ -589,7 +589,7 @@ function cssCaseToJsCase(str) {
589
589
  .split('-')
590
590
  .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
591
591
  .join('');
592
- str = str.substr(0, 1).toLowerCase() + str.substr(1);
592
+ str = str.slice(0, 1).toLowerCase() + str.slice(1);
593
593
  }
594
594
  return str;
595
595
  }
@@ -1532,7 +1532,11 @@ class MockNode {
1532
1532
  if (otherNode === this) {
1533
1533
  return true;
1534
1534
  }
1535
- return this.childNodes.includes(otherNode);
1535
+ const childNodes = Array.from(this.childNodes);
1536
+ if (childNodes.includes(otherNode)) {
1537
+ return true;
1538
+ }
1539
+ return childNodes.some((node) => this.contains.bind(node)(otherNode));
1536
1540
  }
1537
1541
  removeChild(childNode) {
1538
1542
  const index = this.childNodes.indexOf(childNode);
@@ -3169,6 +3173,15 @@ class MockResponse {
3169
3173
  }
3170
3174
  }
3171
3175
 
3176
+ class MockDOMParser {
3177
+ parseFromString(htmlToParse, mimeType) {
3178
+ if (mimeType !== 'text/html') {
3179
+ console.error('XML parsing not implemented yet, continuing as html');
3180
+ }
3181
+ return parseHtmlToDocument(htmlToParse);
3182
+ }
3183
+ }
3184
+
3172
3185
  function setupGlobal(gbl) {
3173
3186
  if (gbl.window == null) {
3174
3187
  const win = (gbl.window = new MockWindow());
@@ -3298,6 +3311,7 @@ const GLOBAL_CONSTRUCTORS = [
3298
3311
  ['MouseEvent', MockMouseEvent],
3299
3312
  ['Request', MockRequest],
3300
3313
  ['Response', MockResponse],
3314
+ ['DOMParser', MockDOMParser],
3301
3315
  ['HTMLAnchorElement', MockAnchorElement],
3302
3316
  ['HTMLBaseElement', MockBaseElement],
3303
3317
  ['HTMLButtonElement', MockButtonElement],
@@ -4963,7 +4977,8 @@ const createTime = (e, t = "") => {
4963
4977
  let n = styles.get(e);
4964
4978
  n = t, styles.set(e, n);
4965
4979
  }, addStyle = (e, t, o, n) => {
4966
- let s = getScopeId(t), l = styles.get(s);
4980
+ let s = getScopeId(t);
4981
+ const l = styles.get(s);
4967
4982
  if (e = 11 === e.nodeType ? e : doc, l) if ("string" == typeof l) {
4968
4983
  e = e.head || e;
4969
4984
  let o, a = rootAppliedStyles.get(e);
@@ -4983,8 +4998,8 @@ const createTime = (e, t = "") => {
4983
4998
  o.classList.add(l + "-h"), 2 & n && o.classList.add(l + "-s")),
4984
4999
  s();
4985
5000
  }, getScopeId = (e, t) => "sc-" + (e.$tagName$), EMPTY_OBJ = {}, isComplexType = e => "object" == (e = typeof e) || "function" === e, isPromise = e => !!e && ("object" == typeof e || "function" == typeof e) && "function" == typeof e.then, h = (e, t, ...o) => {
4986
- let n = null, s = null, l = null, a = !1, r = !1, i = [];
4987
- const d = t => {
5001
+ let n = null, s = null, l = null, a = !1, r = !1;
5002
+ const i = [], d = t => {
4988
5003
  for (let o = 0; o < t.length; o++) n = t[o], Array.isArray(n) ? d(n) : null != n && "boolean" != typeof n && ((a = "function" != typeof e && !isComplexType(n)) ? n = String(n) : BUILD.isDev ,
4989
5004
  a && r ? i[i.length - 1].$text$ += n : i.push(a ? newVNode(null, n) : n), r = a);
4990
5005
  };
@@ -5041,7 +5056,7 @@ const createTime = (e, t = "") => {
5041
5056
  const i = isComplexType(n);
5042
5057
  if ((a || i && null !== n) && !s) try {
5043
5058
  if (e.tagName.includes("-")) e[t] = n; else {
5044
- let s = null == n ? "" : n;
5059
+ const s = null == n ? "" : n;
5045
5060
  "list" === t ? a = !1 : null != o && e[t] == s || (e[t] = s);
5046
5061
  }
5047
5062
  } catch (e) {}
@@ -5061,20 +5076,21 @@ const createTime = (e, t = "") => {
5061
5076
  let scopeId, contentRef, hostTagName, useNativeShadowDom = !1, checkSlotFallbackVisibility = !1, checkSlotRelocate = !1, isSvgMode = !1;
5062
5077
 
5063
5078
  const createElm = (e, t, o, n) => {
5064
- let s, l, a, r = t.$children$[o], i = 0;
5065
- if (!useNativeShadowDom && (checkSlotRelocate = !0, "slot" === r.$tag$ && (scopeId && n.classList.add(scopeId + "-s"),
5066
- r.$flags$ |= r.$children$ ? 2 : 1)), null !== r.$text$) s = r.$elm$ = doc.createTextNode(r.$text$); else if (1 & r.$flags$) s = r.$elm$ = slotReferenceDebugNode(r) ; else {
5067
- if (!isSvgMode && (isSvgMode = "svg" === r.$tag$), s = r.$elm$ = doc.createElementNS(isSvgMode ? "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", 2 & r.$flags$ ? "slot-fb" : r.$tag$) ,
5068
- isSvgMode && "foreignObject" === r.$tag$ && (isSvgMode = !1), updateElement(null, r, isSvgMode),
5069
- null != scopeId && s["s-si"] !== scopeId && s.classList.add(s["s-si"] = scopeId),
5070
- r.$children$) for (i = 0; i < r.$children$.length; ++i) l = createElm(e, r, i, s),
5071
- l && s.appendChild(l);
5072
- ("svg" === r.$tag$ ? isSvgMode = !1 : "foreignObject" === s.tagName && (isSvgMode = !0));
5079
+ const s = t.$children$[o];
5080
+ let l, a, r, i = 0;
5081
+ if (!useNativeShadowDom && (checkSlotRelocate = !0, "slot" === s.$tag$ && (scopeId && n.classList.add(scopeId + "-s"),
5082
+ s.$flags$ |= s.$children$ ? 2 : 1)), null !== s.$text$) l = s.$elm$ = doc.createTextNode(s.$text$); else if (1 & s.$flags$) l = s.$elm$ = slotReferenceDebugNode(s) ; else {
5083
+ if (!isSvgMode && (isSvgMode = "svg" === s.$tag$), l = s.$elm$ = doc.createElementNS(isSvgMode ? "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", 2 & s.$flags$ ? "slot-fb" : s.$tag$) ,
5084
+ isSvgMode && "foreignObject" === s.$tag$ && (isSvgMode = !1), updateElement(null, s, isSvgMode),
5085
+ null != scopeId && l["s-si"] !== scopeId && l.classList.add(l["s-si"] = scopeId),
5086
+ s.$children$) for (i = 0; i < s.$children$.length; ++i) a = createElm(e, s, i, l),
5087
+ a && l.appendChild(a);
5088
+ ("svg" === s.$tag$ ? isSvgMode = !1 : "foreignObject" === l.tagName && (isSvgMode = !0));
5073
5089
  }
5074
- return (s["s-hn"] = hostTagName, 3 & r.$flags$ && (s["s-sr"] = !0,
5075
- s["s-cr"] = contentRef, s["s-sn"] = r.$name$ || "", a = e && e.$children$ && e.$children$[o],
5076
- a && a.$tag$ === r.$tag$ && e.$elm$ && putBackInOriginalLocation(e.$elm$, !1))),
5077
- s;
5090
+ return (l["s-hn"] = hostTagName, 3 & s.$flags$ && (l["s-sr"] = !0,
5091
+ l["s-cr"] = contentRef, l["s-sn"] = s.$name$ || "", r = e && e.$children$ && e.$children$[o],
5092
+ r && r.$tag$ === s.$tag$ && e.$elm$ && putBackInOriginalLocation(e.$elm$, !1))),
5093
+ l;
5078
5094
  }, putBackInOriginalLocation = (e, t) => {
5079
5095
  plt.$flags$ |= 1;
5080
5096
  const o = e.childNodes;
@@ -5115,22 +5131,24 @@ const createElm = (e, t, o, n) => {
5115
5131
  addVnodes(o, null, t, s, 0, s.length - 1)) : null !== n && removeVnodes(n, 0, n.length - 1),
5116
5132
  isSvgMode && "svg" === l && (isSvgMode = !1));
5117
5133
  }, updateFallbackSlotVisibility = e => {
5118
- let t, o, n, s, l, a, r = e.childNodes;
5119
- for (o = 0, n = r.length; o < n; o++) if (t = r[o], 1 === t.nodeType) {
5120
- if (t["s-sr"]) for (l = t["s-sn"], t.hidden = !1, s = 0; s < n; s++) if (a = r[s].nodeType,
5121
- r[s]["s-hn"] !== t["s-hn"] || "" !== l) {
5122
- if (1 === a && l === r[s].getAttribute("slot")) {
5123
- t.hidden = !0;
5134
+ const t = e.childNodes;
5135
+ let o, n, s, l, a, r;
5136
+ for (n = 0, s = t.length; n < s; n++) if (o = t[n], 1 === o.nodeType) {
5137
+ if (o["s-sr"]) for (a = o["s-sn"], o.hidden = !1, l = 0; l < s; l++) if (r = t[l].nodeType,
5138
+ t[l]["s-hn"] !== o["s-hn"] || "" !== a) {
5139
+ if (1 === r && a === t[l].getAttribute("slot")) {
5140
+ o.hidden = !0;
5124
5141
  break;
5125
5142
  }
5126
- } else if (1 === a || 3 === a && "" !== r[s].textContent.trim()) {
5127
- t.hidden = !0;
5143
+ } else if (1 === r || 3 === r && "" !== t[l].textContent.trim()) {
5144
+ o.hidden = !0;
5128
5145
  break;
5129
5146
  }
5130
- updateFallbackSlotVisibility(t);
5147
+ updateFallbackSlotVisibility(o);
5131
5148
  }
5132
5149
  }, relocateNodes = [], relocateSlotContent = e => {
5133
- let t, o, n, s, l, a, r = 0, i = e.childNodes, d = i.length;
5150
+ let t, o, n, s, l, a, r = 0;
5151
+ const i = e.childNodes, d = i.length;
5134
5152
  for (;r < d; r++) {
5135
5153
  if (t = i[r], t["s-sr"] && (o = t["s-cr"]) && o.parentNode) for (n = o.parentNode.childNodes,
5136
5154
  s = t["s-sn"], a = n.length - 1; a >= 0; a--) o = n[a], o["s-cn"] || o["s-nr"] || o["s-hn"] === t["s-hn"] || (isNodeLocatedInSlot(o, s) ? (l = relocateNodes.find((e => e.$nodeToRelocate$ === o)),
@@ -10020,6 +10038,7 @@ class DuetEditableTable {
10020
10038
  render() {
10021
10039
  return (hAsync(Host, { class: {
10022
10040
  [`duet-editable-table-${this.variation}`]: true,
10041
+ "duet-editable-table": true,
10023
10042
  [`duet-editable-table-${this.theme}`]: true,
10024
10043
  // sticky only valid when in regular table layout
10025
10044
  "duet-editable-table-scrollable": this.breakpoint === "none-scrollable",
@@ -10027,7 +10046,7 @@ class DuetEditableTable {
10027
10046
  "duet-editable-table-actions": !!this.actions,
10028
10047
  "duet-m-0": this.margin === "none",
10029
10048
  "duet-theme-turva": this.theme === "turva",
10030
- } }, hAsync("duet-table", { sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint }, hAsync("table", { role: this.accessibleRole }, hAsync("caption", null, hAsync("slot", { name: "tcaption" })), hAsync("thead", null, hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-first" }))), this.renderTableHeader(), hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-last" })))), hAsync("tbody", null, this.renderTableBody()), hAsync("tfoot", null, hAsync("tr", null, hAsync("th", { class: "duet-editable-table-footer-menu", colSpan: 99 }, hAsync("slot", { name: "tfoot" }))))))));
10049
+ } }, hAsync("duet-table", { class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint }, hAsync("table", { role: this.accessibleRole }, hAsync("caption", null, hAsync("slot", { name: "tcaption" })), hAsync("thead", null, hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-first" }))), this.renderTableHeader(), hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-last" })))), hAsync("tbody", null, this.renderTableBody()), hAsync("tfoot", null, hAsync("tr", null, hAsync("th", { class: "duet-editable-table-footer-menu", colSpan: 99 }, hAsync("slot", { name: "tfoot" }))))))));
10031
10050
  }
10032
10051
  get element() { return getElement(this); }
10033
10052
  static get style() { return duetEditableTableCss; }
@@ -13373,27 +13392,77 @@ var actionAdd={"title":"action-add","tags":"action add plus","svg":"<svg fill=\"
13373
13392
 
13374
13393
  var actionSubtract={"title":"action-subtract","tags":"action subtract minus remove delete cancel","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 12.788a.75.75 0 0 1 0-1.5h22.5a.75.75 0 0 1 0 1.5z\"/></svg>"};
13375
13394
 
13376
- const parseLocaleFloat = (str, locale) => {
13377
- // remove spaces and non-numeric characters
13378
- // "12 345,67€" -> "12345,67"
13379
- // "12,345.67€" -> "12,345.67"
13380
- str = str.replace(/\s+/g, "").replace(/[^0-9\.,]+/g, "");
13381
- switch (locale) {
13382
- case "fi-FI":
13383
- case "sv-SE":
13384
- // "12345,67" -> "12345.67"
13385
- str = str.replace(",", ".");
13386
- break;
13387
- case "en-US":
13388
- case "en-GB":
13389
- // "12,345.67" -> "12345.67"
13390
- str = str.replace(/,/g, "");
13391
- break;
13392
- default:
13393
- throw new TypeError(`Unrecognised locale: ${locale}`);
13394
- }
13395
- return parseFloat(str);
13396
- };
13395
+ /**
13396
+ * function that takes a string value or number and looks for any character resembling a minus,
13397
+ * it will then replace it with a hypen-minus and return the parseFloat value of that string
13398
+ * it will string / number cast the value to a number and return that number
13399
+ * known issues: if a negative number is indicated with other characters than a "minus like" character, it will throw
13400
+ * - an example is that some locales use (number) as an indicator for negative values instead of -number
13401
+ */
13402
+ function SafeParseFloat(value, locale) {
13403
+ let results;
13404
+ if (typeof value === "string") {
13405
+ //the minuses are NOT the same characters, they differ in unicode for some languages
13406
+ // "", "−", "–", and "—"
13407
+ let convertedMinus = value.replace("−", "-").replace("‐", "-").replace("−", "-").replace("–", "-").replace("—", "-");
13408
+ if (locale) {
13409
+ convertedMinus = ConvertToEnUS(convertedMinus, locale, false);
13410
+ }
13411
+ // replace all possible spaces from the string
13412
+ convertedMinus = convertedMinus.replace(/\s+/g, "");
13413
+ convertedMinus = convertedMinus.replace(/(?!^-?\d*\.{0,1}\d+$)/g, "");
13414
+ /*
13415
+ example: https://regex101.com/r/np7FqS/1
13416
+ /(?!^-?\d*\.{0,1}\d+$)/g
13417
+ Negative Lookahead (?!^-?\d*\.{0,1}\d+$)
13418
+ Assert that the Regex below does not match
13419
+ ^ asserts position at start of a line
13420
+ - matches the character - with index 4510 (2D16 or 558) literally (case sensitive)
13421
+ ? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
13422
+ \d matches a digit (equivalent to [0-9])
13423
+ * matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
13424
+ \. matches the character . with index 4610 (2E16 or 568) literally (case sensitive)
13425
+ {0,1} matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
13426
+ \d matches a digit (equivalent to [0-9])
13427
+ + matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
13428
+ $ asserts position at the end of a line
13429
+ Global pattern flags
13430
+ g modifier: global. All matches (don't return after first match)
13431
+ m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
13432
+ */
13433
+ results = parseFloat(convertedMinus);
13434
+ }
13435
+ if (typeof value === "number") {
13436
+ results = parseFloat(String(value));
13437
+ }
13438
+ if (!isNaN(Number(results))) {
13439
+ return Number(results);
13440
+ }
13441
+ if (value === null || value === undefined) {
13442
+ return null;
13443
+ }
13444
+ throw new Error("Invalid value passed to SafeParseFloat");
13445
+ }
13446
+ // string conversion function that takes a locale and coverts decimal indicator to en-US indicator
13447
+ // and takes the thousand separator for the given locale and transforms that to the en-US separator
13448
+ function ConvertToEnUS(value, locale, replaceThousands = false) {
13449
+ let replacedValue;
13450
+ const localeSeparator = new Intl.NumberFormat(locale).format(1 / 2).replace(/[0-9]/g, "");
13451
+ const enUSSeparator = new Intl.NumberFormat("en-US").format(1 / 2).replace(/[0-9]/g, "");
13452
+ const thousandSeparator = new Intl.NumberFormat(locale).format(1000).replace(/[0-9]/g, "");
13453
+ const enUSThousandSeparator = new Intl.NumberFormat("en-US").format(1000).replace(/[0-9]/g, "");
13454
+ // double conversions to avoid ,->. and .->, at the same time resulting in a double conversion
13455
+ replacedValue = value.replace(localeSeparator, "DECIMALSEPARATOR");
13456
+ if (replaceThousands) {
13457
+ replacedValue = replacedValue.replace(thousandSeparator, "THOUSANDSEPARATOR");
13458
+ }
13459
+ else {
13460
+ replacedValue = replacedValue.replace(thousandSeparator, "");
13461
+ }
13462
+ replacedValue = replacedValue.replace("DECIMALSEPARATOR", enUSSeparator);
13463
+ replacedValue = replacedValue.replace("THOUSANDSEPARATOR", enUSThousandSeparator);
13464
+ return replacedValue;
13465
+ }
13397
13466
  const roundTo = (val, multiple) => Math.round(val / multiple) * multiple;
13398
13467
  const clamp = (val, min, max) => Math.min(Math.max(val, min), max);
13399
13468
 
@@ -13569,7 +13638,7 @@ class DuetNumberInput {
13569
13638
  this.handleChange = (ev) => {
13570
13639
  const input = ev.target;
13571
13640
  if (input && input.value) {
13572
- let value = this.cleanValue(input.value);
13641
+ let value = SafeParseFloat(input.value, this.locale);
13573
13642
  // Make sure that everything works if the user clears the input and
13574
13643
  // starts typing non-numeric characters.
13575
13644
  if (isNaN(value) || value == null) {
@@ -13579,7 +13648,7 @@ class DuetNumberInput {
13579
13648
  this.duetInput.emit({
13580
13649
  component: "duet-number-input",
13581
13650
  originalEvent: ev,
13582
- value: this.cleanValue(this.value).toString(),
13651
+ value: SafeParseFloat(this.value, this.locale).toString(),
13583
13652
  valueAsNumber: value,
13584
13653
  });
13585
13654
  }
@@ -13600,30 +13669,29 @@ class DuetNumberInput {
13600
13669
  if (input.value) {
13601
13670
  // On blur we want to make sure that the user input is between the min and max values,
13602
13671
  // and also round it up or down to the nearest step.
13603
- let value = this.cleanValue(input.value);
13672
+ let value = SafeParseFloat(input.value, this.locale);
13604
13673
  if (this.rounding) {
13605
13674
  value = roundTo(value, this.step);
13606
13675
  }
13607
13676
  value = clamp(value, this.min, this.max);
13608
- if (value !== this.cleanValue(this.value) || value !== this.cleanValue(this.focusedValue)) {
13677
+ if (value !== SafeParseFloat(this.value, this.locale) ||
13678
+ value !== SafeParseFloat(this.focusedValue, this.locale)) {
13609
13679
  this.setValue(value);
13610
13680
  this.emitChange(ev);
13611
13681
  }
13612
13682
  }
13613
- else {
13614
- this.duetChange.emit({
13615
- originalEvent: ev,
13616
- value: null,
13617
- valueAsNumber: null,
13618
- component: "duet-number-input",
13619
- });
13620
- }
13683
+ this.duetChange.emit({
13684
+ originalEvent: ev,
13685
+ value: null,
13686
+ valueAsNumber: null,
13687
+ component: "duet-number-input",
13688
+ });
13621
13689
  };
13622
13690
  /**
13623
13691
  * Local methods.
13624
13692
  */
13625
13693
  this.emitChange = (ev) => {
13626
- const currentValue = this.cleanValue(this.value);
13694
+ const currentValue = SafeParseFloat(this.value, this.locale);
13627
13695
  this.duetChange.emit({
13628
13696
  originalEvent: ev,
13629
13697
  value: currentValue.toString(),
@@ -13631,10 +13699,6 @@ class DuetNumberInput {
13631
13699
  component: "duet-number-input",
13632
13700
  });
13633
13701
  };
13634
- this.cleanValue = (value) => {
13635
- // Returns a number that can be used in calculations.
13636
- return value ? parseLocaleFloat(value, this.locale) : null;
13637
- };
13638
13702
  this.localizeValue = (value) => {
13639
13703
  // Returns a localized string that can be used as input value.
13640
13704
  return value.toLocaleString(this.locale);
@@ -13651,13 +13715,13 @@ class DuetNumberInput {
13651
13715
  if (ev) {
13652
13716
  ev.preventDefault();
13653
13717
  }
13654
- const currentValue = this.cleanValue(this.value);
13718
+ const cleanedValue = SafeParseFloat(this.value, this.locale);
13655
13719
  // Only fire change event when necessary
13656
- if (currentValue === this.max) {
13720
+ if (cleanedValue === this.max) {
13657
13721
  return;
13658
13722
  }
13659
13723
  // in cases where no value set, incrementing should go to min
13660
- let newValue = currentValue == null ? this.min : currentValue + this.step;
13724
+ let newValue = cleanedValue == null ? this.min : cleanedValue + this.step;
13661
13725
  // handle cases where value is not multiple of step
13662
13726
  // e.g. if someone enters 199, with a step of 100, add should go to 200
13663
13727
  // and if someone enters 101, add should also go to 200
@@ -13665,8 +13729,8 @@ class DuetNumberInput {
13665
13729
  const adjustment = newValue % this.step;
13666
13730
  newValue -= adjustment;
13667
13731
  }
13668
- newValue = clamp(newValue, this.min, this.max);
13669
- this.value = this.localizeValue(newValue);
13732
+ const clampedValue = clamp(newValue, this.min, this.max);
13733
+ this.value = this.localizeValue(clampedValue);
13670
13734
  this.emitChange(ev);
13671
13735
  };
13672
13736
  this.subtract = (ev) => {
@@ -13675,7 +13739,7 @@ class DuetNumberInput {
13675
13739
  if (ev) {
13676
13740
  ev.preventDefault();
13677
13741
  }
13678
- const currentValue = this.cleanValue(this.value);
13742
+ const currentValue = SafeParseFloat(this.value, this.locale);
13679
13743
  // Only fire change event when necessary.
13680
13744
  if (currentValue === this.min) {
13681
13745
  return;
@@ -13700,7 +13764,7 @@ class DuetNumberInput {
13700
13764
  inheritGlobalTheme(this);
13701
13765
  // Format the number value to a localeString initially.
13702
13766
  if (this.value) {
13703
- this.value = this.localizeValue(parseLocaleFloat(this.value, this.locale));
13767
+ this.value = this.localizeValue(SafeParseFloat(this.value, this.locale));
13704
13768
  }
13705
13769
  }
13706
13770
  /**
@@ -13715,7 +13779,7 @@ class DuetNumberInput {
13715
13779
  this.duetInputElement.value = "";
13716
13780
  }
13717
13781
  formatAnnouncement() {
13718
- const current = this.cleanValue(this.value);
13782
+ const current = SafeParseFloat(this.value, this.locale);
13719
13783
  if (current == null) {
13720
13784
  return "";
13721
13785
  }
@@ -13728,7 +13792,7 @@ class DuetNumberInput {
13728
13792
  render() {
13729
13793
  const identifier = this.identifier || this.inputId;
13730
13794
  const maxlength = `${this.localizeValue(this.max)} ${this.unit}`.length;
13731
- const cleanedValue = this.cleanValue(this.value);
13795
+ const cleanedValue = SafeParseFloat(this.value, this.locale);
13732
13796
  return (hAsync(Host, { class: {
13733
13797
  "duet-theme-turva": this.theme === "turva",
13734
13798
  "duet-expand": this.expand,
@@ -16003,7 +16067,7 @@ class DuetTabGroup {
16003
16067
  }; }
16004
16068
  }
16005
16069
 
16006
- const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened tbody tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-table-flattened tbody tr.duet-table-action-row td:last-child::before{padding:0;content:\"\"}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{grid-column:1/2;line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-table-flattened td:last-child{grid-row:1;grid-column:2}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}";
16070
+ const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:\"\"}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}";
16007
16071
 
16008
16072
  // remove wrapping speech marks.
16009
16073
  // media query tokens are wrapped in speech marks,
@@ -19109,7 +19173,7 @@ const templateWindows = new Map, createHydrateBuildId = () => {
19109
19173
  }, commentre = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, getCssSelectors = e => {
19110
19174
  SELECTORS.all.length = SELECTORS.tags.length = SELECTORS.classNames.length = SELECTORS.ids.length = SELECTORS.attrs.length = 0;
19111
19175
  const t = (e = e.replace(/\./g, " .").replace(/\#/g, " #").replace(/\[/g, " [").replace(/\>/g, " > ").replace(/\+/g, " + ").replace(/\~/g, " ~ ").replace(/\*/g, " * ").replace(/\:not\((.*?)\)/g, " ")).split(" ");
19112
- for (let e = 0, r = t.length; e < r; e++) t[e] = t[e].split(":")[0], 0 !== t[e].length && ("." === t[e].charAt(0) ? SELECTORS.classNames.push(t[e].substr(1)) : "#" === t[e].charAt(0) ? SELECTORS.ids.push(t[e].substr(1)) : "[" === t[e].charAt(0) ? (t[e] = t[e].substr(1).split("=")[0].split("]")[0].trim(),
19176
+ for (let e = 0, r = t.length; e < r; e++) t[e] = t[e].split(":")[0], 0 !== t[e].length && ("." === t[e].charAt(0) ? SELECTORS.classNames.push(t[e].slice(1)) : "#" === t[e].charAt(0) ? SELECTORS.ids.push(t[e].slice(1)) : "[" === t[e].charAt(0) ? (t[e] = t[e].slice(1).split("=")[0].split("]")[0].trim(),
19113
19177
  SELECTORS.attrs.push(t[e].toLowerCase())) : /[a-z]/g.test(t[e].charAt(0)) && SELECTORS.tags.push(t[e].toLowerCase()));
19114
19178
  return SELECTORS.classNames = SELECTORS.classNames.sort(((e, t) => e.length < t.length ? -1 : e.length > t.length ? 1 : 0)),
19115
19179
  SELECTORS;
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  /*
7
- Stencil Client Patch Browser v2.15.0 | MIT Licensed | https://stenciljs.com
7
+ Stencil Client Patch Browser v2.16.0 | MIT Licensed | https://stenciljs.com
8
8
  */
9
9
  (function(){
10
10
  var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(a){var b=aa.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return !b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return !(!a||!(a.__CE_isImportDocument||a instanceof Document))}
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const jsUtils = require('./js-utils-be1d29ae.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-4f62a7db.js');
11
11
  require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetBadgeCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-badge{width:100%;padding:4.4444444444px 12px 5.4444444444px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.75rem;font-style:normal;font-weight:600;line-height:1.25;color:#00294d;text-align:center;word-break:break-word;vertical-align:middle;background:#e6f1f7;border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700;color:#171c3a;background:#e8e8eb}.duet-badge.warning{background:#fef3df}.duet-badge.warning.duet-theme-turva{background:#fef1db}.duet-badge.danger{background:#fce9ef}.duet-badge.danger.duet-theme-turva{background:#fceae7}.duet-badge.success{background:#e6f3ef}.duet-badge.success.duet-theme-turva{background:#e6f3ed}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetBreadcrumbCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-breadcrumb{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:100%;font-size:0.875rem;color:#00294d;text-decoration:none}.duet-breadcrumb:hover{color:#004d80}.duet-breadcrumb.duet-theme-turva{color:#171c3a}.duet-breadcrumb.duet-theme-turva:hover{color:#940925}.duet-breadcrumb:focus{outline:0}.duet-breadcrumb:active{opacity:0.75}:host(.user-is-tabbing) .duet-breadcrumb:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-breadcrumb.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const actionArrowRightSmall = require('./action-arrow-right-small-a25eb475.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const stringUtils = require('./string-utils-5cadd058.js');
11
11
  const tokenUtils = require('./token-utils-50a1f7e2.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
12
- const focusUtils = require('./focus-utils-bfb10d32.js');
12
+ const focusUtils = require('./focus-utils-7b09fa4b.js');
13
13
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
14
14
  const languageUtils = require('./language-utils-4f62a7db.js');
15
15
  const watchOptions = require('./watch-options-d88afac0.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
10
10
  const tokens = require('./tokens-29450bcb.js');
11
11
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a4844346.js');
8
+ const index = require('./index-3024eb44.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const jsUtils = require('./js-utils-be1d29ae.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');