@duetds/components 4.34.4 → 4.35.2

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 (256) hide show
  1. package/hydrate/index.js +282 -33
  2. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-editable-table-button.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-editable-table_4.cjs.entry.js +3 -3
  17. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-header_2.cjs.entry.js +20 -10
  22. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-modal.cjs.entry.js +15 -3
  28. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-scrollable_3.cjs.entry.js +414 -0
  34. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  42. package/lib/cjs/duet.cjs.js +2 -2
  43. package/lib/cjs/{focus-utils-0e3a744a.js → focus-utils-15cc3af9.js} +1 -1
  44. package/lib/cjs/{index-0bcb9cea.js → index-a38f3df3.js} +1 -1
  45. package/lib/cjs/loader.cjs.js +2 -2
  46. package/lib/collection/collection-manifest.json +8 -6
  47. package/lib/collection/components/duet-button/duet-button.js +1 -1
  48. package/lib/collection/components/duet-card/duet-card.js +3 -1
  49. package/lib/collection/components/duet-header/duet-header.css +61 -28
  50. package/lib/collection/components/duet-header/duet-header.js +18 -8
  51. package/lib/collection/components/duet-link/duet-link.js +1 -1
  52. package/lib/collection/components/duet-modal/duet-modal.js +33 -3
  53. package/lib/collection/components/duet-scrollable/duet-scrollable.css +83 -0
  54. package/lib/collection/components/duet-scrollable/duet-scrollable.js +240 -0
  55. package/lib/collection/components/duet-tab/duet-tab.js +63 -1
  56. package/lib/collection/components/duet-tab-group/duet-tab-group.css +12 -13
  57. package/lib/collection/components/duet-tab-group/duet-tab-group.js +101 -16
  58. package/lib/collection/components/duet-upload/duet-upload.js +7 -4
  59. package/lib/custom-elements-bundle/index.d.ts +6 -0
  60. package/lib/custom-elements-bundle/index.js +264 -37
  61. package/lib/duet/duet.esm.js +1 -1
  62. package/lib/duet/duet.js +1 -1
  63. package/lib/duet/{p-86013171.entry.js → p-04e3b06b.entry.js} +1 -1
  64. package/lib/duet/{p-808101d8.entry.js → p-0bc3239b.entry.js} +1 -1
  65. package/lib/duet/{p-6d62cb90.entry.js → p-0d15892b.entry.js} +1 -1
  66. package/lib/duet/{p-29000070.entry.js → p-0d6c3d07.entry.js} +1 -1
  67. package/lib/duet/{p-8ea50bd2.system.entry.js → p-0deee587.system.entry.js} +1 -1
  68. package/lib/duet/{p-d53bbad7.entry.js → p-0ea49de8.entry.js} +1 -1
  69. package/lib/duet/{p-379e8ebb.system.entry.js → p-114a20f1.system.entry.js} +1 -1
  70. package/lib/duet/p-13e81854.entry.js +4 -0
  71. package/lib/duet/p-15a42b87.entry.js +4 -0
  72. package/lib/duet/{p-48ed41e6.system.entry.js → p-18441899.system.entry.js} +1 -1
  73. package/lib/duet/{p-a63537e8.entry.js → p-1b98f91c.entry.js} +1 -1
  74. package/lib/duet/{p-1afec19f.entry.js → p-2056e3eb.entry.js} +1 -1
  75. package/lib/duet/{p-7c5b396c.system.entry.js → p-27b953e4.system.entry.js} +1 -1
  76. package/lib/duet/{p-5ea30033.entry.js → p-29e59e77.entry.js} +1 -1
  77. package/lib/duet/{p-4b7f998d.system.entry.js → p-2c8bd5a2.system.entry.js} +1 -1
  78. package/lib/duet/{p-36eae676.entry.js → p-30783ea4.entry.js} +1 -1
  79. package/lib/duet/{p-5b409624.system.entry.js → p-3081f8a5.system.entry.js} +1 -1
  80. package/lib/duet/p-35ff635e.system.js +4 -0
  81. package/lib/duet/{p-9aa7cb17.entry.js → p-38128fc3.entry.js} +1 -1
  82. package/lib/duet/{p-98fabd8b.entry.js → p-3b244de7.entry.js} +1 -1
  83. package/lib/duet/{p-3953b77a.system.entry.js → p-3baf5b41.system.entry.js} +1 -1
  84. package/lib/duet/{p-35133bc9.entry.js → p-3bd812df.entry.js} +1 -1
  85. package/lib/duet/{p-0aec7e4b.entry.js → p-3dbeddf5.entry.js} +1 -1
  86. package/lib/duet/{p-e90db543.system.entry.js → p-3e578cc5.system.entry.js} +1 -1
  87. package/lib/duet/p-41b4bad1.entry.js +4 -0
  88. package/lib/duet/{p-dc226f92.system.entry.js → p-49820427.system.entry.js} +1 -1
  89. package/lib/duet/{p-fe889838.system.js → p-4accc70c.system.js} +1 -1
  90. package/lib/duet/{p-ea934463.entry.js → p-4c3961a5.entry.js} +1 -1
  91. package/lib/duet/{p-e96fca2b.system.entry.js → p-4d7abe27.system.entry.js} +1 -1
  92. package/lib/duet/{p-aa379dec.system.entry.js → p-54d296d9.system.entry.js} +1 -1
  93. package/lib/duet/{p-0d18269c.entry.js → p-573921ca.entry.js} +1 -1
  94. package/lib/duet/{p-ddf5ecf5.system.entry.js → p-5af271ce.system.entry.js} +1 -1
  95. package/lib/duet/{p-bb1271a8.system.entry.js → p-5f24e161.system.entry.js} +1 -1
  96. package/lib/duet/{p-255bc205.system.entry.js → p-632186a9.system.entry.js} +1 -1
  97. package/lib/duet/{p-8bbdfac5.system.entry.js → p-67b22acc.system.entry.js} +1 -1
  98. package/lib/duet/{p-9c046b9a.entry.js → p-69c4ff6f.entry.js} +1 -1
  99. package/lib/duet/{p-f16213de.entry.js → p-6b3a14c2.entry.js} +1 -1
  100. package/lib/duet/{p-8049159b.system.entry.js → p-70cf255e.system.entry.js} +1 -1
  101. package/lib/duet/{p-ee58a262.entry.js → p-7142b886.entry.js} +1 -1
  102. package/lib/duet/{p-63ac5acd.entry.js → p-7641054f.entry.js} +1 -1
  103. package/lib/duet/{p-ea232a29.entry.js → p-7d019a4d.entry.js} +1 -1
  104. package/lib/duet/{p-f645b369.system.entry.js → p-7e2a2e30.system.entry.js} +1 -1
  105. package/lib/duet/{p-a209e483.entry.js → p-83261c61.entry.js} +1 -1
  106. package/lib/duet/{p-0cb07574.js → p-875bd99c.js} +1 -1
  107. package/lib/duet/{p-927e83d1.entry.js → p-889193e8.entry.js} +1 -1
  108. package/lib/duet/{p-4002454d.system.entry.js → p-8acdabb5.system.entry.js} +1 -1
  109. package/lib/duet/{p-3948a5c4.system.entry.js → p-8edd126b.system.entry.js} +1 -1
  110. package/lib/duet/{p-236cb8b6.entry.js → p-94b4ec76.entry.js} +1 -1
  111. package/lib/duet/{p-ded5548b.system.entry.js → p-97353a7f.system.entry.js} +1 -1
  112. package/lib/duet/{p-6d05eb8c.entry.js → p-9a47c28a.entry.js} +1 -1
  113. package/lib/duet/{p-2f36de45.entry.js → p-9b0c78de.entry.js} +1 -1
  114. package/lib/duet/{p-32488531.system.entry.js → p-9dd65758.system.entry.js} +1 -1
  115. package/lib/duet/{p-cf886223.entry.js → p-a53a8675.entry.js} +1 -1
  116. package/lib/duet/{p-ab6109d6.system.entry.js → p-a73609b4.system.entry.js} +1 -1
  117. package/lib/duet/{p-719e38e3.system.entry.js → p-ac01755b.system.entry.js} +1 -1
  118. package/lib/duet/{p-0a664450.system.entry.js → p-acf24fcd.system.entry.js} +1 -1
  119. package/lib/duet/{p-db1a8956.system.entry.js → p-aed2a35e.system.entry.js} +1 -1
  120. package/lib/duet/{p-fab77260.system.entry.js → p-b1ae4d5b.system.entry.js} +2 -2
  121. package/lib/duet/{p-c6c768b9.system.entry.js → p-b2985c8e.system.entry.js} +1 -1
  122. package/lib/duet/{p-842a43e7.system.entry.js → p-b692b4a4.system.entry.js} +1 -1
  123. package/lib/duet/{p-9f6649ef.system.entry.js → p-b80d80dc.system.entry.js} +1 -1
  124. package/lib/duet/{p-5e15d8f8.js → p-bcf94afd.js} +1 -1
  125. package/lib/duet/p-be872079.entry.js +4 -0
  126. package/lib/duet/{p-67798ed0.entry.js → p-bf859d7b.entry.js} +1 -1
  127. package/lib/duet/{p-09845306.entry.js → p-c0fa8865.entry.js} +1 -1
  128. package/lib/duet/{p-07bec67d.system.entry.js → p-c479f3be.system.entry.js} +1 -1
  129. package/lib/duet/{p-e339cb4f.entry.js → p-c9020872.entry.js} +1 -1
  130. package/lib/duet/{p-0945e0ac.entry.js → p-c99e23d2.entry.js} +1 -1
  131. package/lib/duet/p-ce40057c.entry.js +4 -0
  132. package/lib/duet/{p-51d5b428.system.js → p-d04561dc.system.js} +1 -1
  133. package/lib/duet/{p-addff36a.system.entry.js → p-d158b9ca.system.entry.js} +1 -1
  134. package/lib/duet/{p-a5b9f195.system.entry.js → p-d2edeb9a.system.entry.js} +1 -1
  135. package/lib/duet/{p-1c38354b.system.entry.js → p-d3432b68.system.entry.js} +1 -1
  136. package/lib/duet/{p-5818108d.system.entry.js → p-d6563133.system.entry.js} +1 -1
  137. package/lib/duet/{p-00b102b8.entry.js → p-d9da705b.entry.js} +1 -1
  138. package/lib/duet/p-e3c66ce5.system.entry.js +4 -0
  139. package/lib/duet/{p-c6268af4.entry.js → p-e701e364.entry.js} +1 -1
  140. package/lib/duet/{p-d701bd87.system.entry.js → p-e7056ea5.system.entry.js} +1 -1
  141. package/lib/duet/{p-55ad1bfb.entry.js → p-e9064858.entry.js} +1 -1
  142. package/lib/duet/{p-fedad35b.system.entry.js → p-e9ca4ae1.system.entry.js} +2 -2
  143. package/lib/duet/{p-5a9266c8.system.entry.js → p-ed981e8d.system.entry.js} +1 -1
  144. package/lib/duet/{p-db75f866.entry.js → p-ef7560b6.entry.js} +1 -1
  145. package/lib/duet/{p-1f08d290.system.entry.js → p-f1803ec3.system.entry.js} +1 -1
  146. package/lib/duet/p-f261a666.system.entry.js +4 -0
  147. package/lib/duet/{p-b465ac62.entry.js → p-fa5a028c.entry.js} +1 -1
  148. package/lib/esm/duet-alert.entry.js +1 -1
  149. package/lib/esm/duet-badge.entry.js +1 -1
  150. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  151. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  152. package/lib/esm/duet-button_2.entry.js +2 -2
  153. package/lib/esm/duet-caption_4.entry.js +2 -2
  154. package/lib/esm/duet-card.entry.js +2 -2
  155. package/lib/esm/duet-checkbox.entry.js +1 -1
  156. package/lib/esm/duet-choice_2.entry.js +2 -2
  157. package/lib/esm/duet-collapsible.entry.js +1 -1
  158. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  159. package/lib/esm/duet-date-picker.entry.js +2 -2
  160. package/lib/esm/duet-divider_2.entry.js +1 -1
  161. package/lib/esm/duet-editable-table-button.entry.js +1 -1
  162. package/lib/esm/duet-editable-table_4.entry.js +3 -3
  163. package/lib/esm/duet-empty-state.entry.js +1 -1
  164. package/lib/esm/duet-fieldset.entry.js +1 -1
  165. package/lib/esm/duet-footer.entry.js +1 -1
  166. package/lib/esm/duet-grid_2.entry.js +1 -1
  167. package/lib/esm/duet-header_2.entry.js +20 -10
  168. package/lib/esm/duet-hero.entry.js +1 -1
  169. package/lib/esm/duet-icon.entry.js +1 -1
  170. package/lib/esm/duet-input_2.entry.js +1 -1
  171. package/lib/esm/duet-layout.entry.js +1 -1
  172. package/lib/esm/duet-list_2.entry.js +1 -1
  173. package/lib/esm/duet-modal.entry.js +15 -3
  174. package/lib/esm/duet-notification_2.entry.js +1 -1
  175. package/lib/esm/duet-number-input.entry.js +1 -1
  176. package/lib/esm/duet-progress.entry.js +1 -1
  177. package/lib/esm/duet-radio_2.entry.js +1 -1
  178. package/lib/esm/duet-range-slider.entry.js +1 -1
  179. package/lib/esm/duet-scrollable_3.entry.js +408 -0
  180. package/lib/esm/duet-select.entry.js +1 -1
  181. package/lib/esm/duet-step_2.entry.js +1 -1
  182. package/lib/esm/duet-textarea.entry.js +1 -1
  183. package/lib/esm/duet-toggle.entry.js +1 -1
  184. package/lib/esm/duet-tooltip.entry.js +1 -1
  185. package/lib/esm/duet-tray.entry.js +1 -1
  186. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  187. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  188. package/lib/esm/duet.js +2 -2
  189. package/lib/esm/{focus-utils-8d0688ae.js → focus-utils-d3cd655b.js} +1 -1
  190. package/lib/esm/{index-ff4326da.js → index-eb374972.js} +1 -1
  191. package/lib/esm/loader.js +2 -2
  192. package/lib/esm-es5/duet-alert.entry.js +1 -1
  193. package/lib/esm-es5/duet-badge.entry.js +1 -1
  194. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  195. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  196. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  197. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  198. package/lib/esm-es5/duet-card.entry.js +1 -1
  199. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  200. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  201. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  202. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  203. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  204. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  205. package/lib/esm-es5/duet-editable-table-button.entry.js +1 -1
  206. package/lib/esm-es5/duet-editable-table_4.entry.js +1 -1
  207. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  208. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  209. package/lib/esm-es5/duet-footer.entry.js +1 -1
  210. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  211. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  212. package/lib/esm-es5/duet-hero.entry.js +1 -1
  213. package/lib/esm-es5/duet-icon.entry.js +1 -1
  214. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  215. package/lib/esm-es5/duet-layout.entry.js +1 -1
  216. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  217. package/lib/esm-es5/duet-modal.entry.js +1 -1
  218. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  219. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  220. package/lib/esm-es5/duet-progress.entry.js +1 -1
  221. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  222. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  223. package/lib/esm-es5/duet-scrollable_3.entry.js +4 -0
  224. package/lib/esm-es5/duet-select.entry.js +1 -1
  225. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  226. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  227. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  228. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  229. package/lib/esm-es5/duet-tray.entry.js +1 -1
  230. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  231. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  232. package/lib/esm-es5/duet.js +1 -1
  233. package/lib/esm-es5/focus-utils-d3cd655b.js +4 -0
  234. package/lib/esm-es5/{index-ff4326da.js → index-eb374972.js} +1 -1
  235. package/lib/esm-es5/loader.js +1 -1
  236. package/lib/html.html-data.json +62 -3
  237. package/lib/types/components/duet-card/duet-card.d.ts +1 -0
  238. package/lib/types/components/duet-modal/duet-modal.d.ts +5 -1
  239. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +51 -0
  240. package/lib/types/components/duet-tab/duet-tab.d.ts +11 -0
  241. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +15 -0
  242. package/lib/types/components/duet-upload/duet-upload.d.ts +3 -0
  243. package/lib/types/components.d.ts +90 -1
  244. package/package.json +6 -5
  245. package/lib/cjs/duet-tab_2.cjs.entry.js +0 -213
  246. package/lib/duet/p-130476dc.entry.js +0 -4
  247. package/lib/duet/p-30410b67.system.js +0 -4
  248. package/lib/duet/p-4d30eee1.entry.js +0 -4
  249. package/lib/duet/p-56cda85e.system.entry.js +0 -4
  250. package/lib/duet/p-6f7539a6.entry.js +0 -4
  251. package/lib/duet/p-87804904.system.entry.js +0 -4
  252. package/lib/duet/p-b9fe29c7.entry.js +0 -4
  253. package/lib/duet/p-d9f076ed.entry.js +0 -4
  254. package/lib/esm/duet-tab_2.entry.js +0 -208
  255. package/lib/esm-es5/duet-tab_2.entry.js +0 -4
  256. package/lib/esm-es5/focus-utils-8d0688ae.js +0 -4
@@ -0,0 +1,414 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-a38f3df3.js');
9
+ const themeableComponent = require('./themeable-component-0c1be552.js');
10
+ const languageUtils = require('./language-utils-aa282901.js');
11
+ const createId = require('./create-id-c3b984b1.js');
12
+ const keyboardUtils = require('./keyboard-utils-b4e3d1d3.js');
13
+ require('./string-utils-267e3dbb.js');
14
+
15
+ const duetScrollableCss = "*,*::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;-webkit-tap-highlight-color:transparent}:host{position:relative !important}:host .duet-scrollable-items{display:flex}:host .duet-scrollable-items .duet-scrollable-button{position:relative;flex:0 0 auto;flex-basis:40px;padding:10px;cursor:pointer}:host .duet-scrollable-items .duet-scrollable-button:active{transform:scale(0.8)}:host .duet-scrollable-items .duet-scrollable-button--left{left:-12px}:host .duet-scrollable-items .duet-scrollable-button--right{right:-12px}:host .duet-scrollable-items .duet-scrollable-button--occluded{display:none}:host .duet-scrollable-items .duet-scrollable-list{display:flex;flex-wrap:nowrap;gap:20px;padding-top:2px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-margin:0 20px;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;}:host .duet-scrollable-items .duet-scrollable-list::-webkit-scrollbar{display:none}::slotted(*){scroll-snap-align:center;margin-left:0;-webkit-transition:-webkit-transform 0.2s ease-in-out;transition:-webkit-transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out}";
16
+
17
+ let DuetScrollable = class {
18
+ constructor(hostRef) {
19
+ index.registerInstance(this, hostRef);
20
+ /**
21
+ * Private variables and constants index
22
+ */
23
+ this.currentIndex = 0;
24
+ this.tabListElement = undefined;
25
+ this.tabListClass = "duet-scrollable-list";
26
+ this.tablistAtStart = true;
27
+ this.isTabContentSmallerThanWrapper = false;
28
+ this.tablistAtEnd = false;
29
+ this.childrenData = {};
30
+ this.resizeObserver = new ResizeObserver(entries => {
31
+ var _a, _b, _c, _d;
32
+ // otherwise, something is wrong, expecting 1 element only
33
+ if ((entries === null || entries === void 0 ? void 0 : entries.length) === 1) {
34
+ const currentWidth = (_b = (_a = entries[0]) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width;
35
+ const scrollWidth = (_d = (_c = entries[0]) === null || _c === void 0 ? void 0 : _c.target) === null || _d === void 0 ? void 0 : _d.scrollWidth;
36
+ // in order to avoid state "jumping" on the boundary condition we add a few pixels to the comparison
37
+ this.isTabContentSmallerThanWrapper = scrollWidth > currentWidth + 5;
38
+ }
39
+ });
40
+ /**
41
+ * Theme of duet-tab-scrollable. When used this will override the color setting and
42
+ * use "primary" or "primary-turva" as the color depending on which theme
43
+ * is chosen.
44
+ */
45
+ this.theme = "";
46
+ /**
47
+ * Optional identifier to add to buttons in the tab group
48
+ */
49
+ this.identifier = "";
50
+ /**
51
+ * Selected element
52
+ */
53
+ this.selected = 0;
54
+ }
55
+ watchPropHandler(newValue) {
56
+ this.scrollToTab(newValue, "center");
57
+ }
58
+ /**
59
+ * Component lifecycle events.
60
+ */
61
+ componentWillLoad() {
62
+ themeableComponent.inheritGlobalTheme(this);
63
+ const slotted = this.host.children;
64
+ this.childrenData = { hasChildren: slotted && slotted.length > 0, numberOfChildren: slotted && slotted.length };
65
+ }
66
+ componentDidLoad() {
67
+ this.resizeObserver.observe(this.tabListElement);
68
+ }
69
+ disconnectedCallback() {
70
+ this.resizeObserver.disconnect();
71
+ }
72
+ /**
73
+ * Private methods.
74
+ */
75
+ getLastVisibleElement() {
76
+ const clientWidth = this.tabListElement.clientWidth;
77
+ const xValues = Array.from(this.host.querySelectorAll("button")).findIndex(element => element.getBoundingClientRect().x > clientWidth);
78
+ return xValues;
79
+ }
80
+ getFirstVisibleElement() {
81
+ const buttonCollection = this.host.querySelectorAll("button");
82
+ // reverse the array because we want the first invisible element form the middle, not the first in the list
83
+ const arrayOfXValues = Array.from(buttonCollection).map(el => el.getBoundingClientRect().x - el.getBoundingClientRect().width);
84
+ const xValues = arrayOfXValues.findIndex(element => {
85
+ return element > 0;
86
+ });
87
+ return xValues;
88
+ }
89
+ updateScrollButtons(container = this.tabListElement) {
90
+ if (container.scrollLeft <= 0) {
91
+ this.tablistAtStart = true;
92
+ }
93
+ else if (container.scrollLeft > 0) {
94
+ this.tablistAtStart = false;
95
+ }
96
+ if (container.clientWidth + container.scrollLeft + 10 >= container.scrollWidth) {
97
+ this.tablistAtEnd = true;
98
+ }
99
+ else if (container.clientWidth + container.scrollLeft + 10 < container.scrollWidth) {
100
+ this.tablistAtEnd = false;
101
+ }
102
+ }
103
+ scrollToTab(index = this.currentIndex, inline) {
104
+ if (!this.childrenData.hasChildren) {
105
+ return;
106
+ }
107
+ if (index + 1 >= this.childrenData.numberOfChildren) {
108
+ index = this.childrenData.numberOfChildren - 1;
109
+ }
110
+ if (index < 0) {
111
+ index = 0;
112
+ }
113
+ const buttons = this.host.querySelectorAll("button");
114
+ // store previous position
115
+ let prevPosition = buttons[0].getBoundingClientRect().x;
116
+ // iterations to run
117
+ let ticksWhereScrollDidNotHappen = 5;
118
+ const getAnimationFrame = () => {
119
+ // if we get the same value enter the logic loop
120
+ if (buttons[0].getBoundingClientRect().x === prevPosition) {
121
+ ticksWhereScrollDidNotHappen--;
122
+ // When iteration is not complete run the calculation again
123
+ if (ticksWhereScrollDidNotHappen !== 0) {
124
+ window.requestAnimationFrame(getAnimationFrame);
125
+ return;
126
+ }
127
+ this.updateScrollButtons();
128
+ }
129
+ else {
130
+ window.requestAnimationFrame(getAnimationFrame);
131
+ prevPosition = buttons[0].getBoundingClientRect().x;
132
+ }
133
+ };
134
+ buttons[index].scrollIntoView({ behavior: "smooth", inline });
135
+ window.requestAnimationFrame(getAnimationFrame);
136
+ }
137
+ scrollLeft() {
138
+ this.tablistAtEnd = false;
139
+ const first = this.getFirstVisibleElement() - 1;
140
+ this.scrollToTab(first, "center");
141
+ }
142
+ scrollRight() {
143
+ this.tablistAtStart = false;
144
+ const last = this.getLastVisibleElement() + 1;
145
+ this.scrollToTab(last, "center");
146
+ }
147
+ /**
148
+ * render() function
149
+ * Always the last one in the class.
150
+ */
151
+ render() {
152
+ return (index.h(index.Host, { class: {
153
+ "duet-theme-turva": this.theme === "turva",
154
+ "duet-theme-default": this.theme === "default",
155
+ } }, index.h("div", { class: "duet-scrollable-items" }, index.h("button", { part: `${this.identifier}-button-left`, "aria-hidden": "true", class: {
156
+ "duet-scrollable-button": true,
157
+ "duet-scrollable-button--left": true,
158
+ "duet-scrollable-button--occluded": !this.isTabContentSmallerThanWrapper,
159
+ }, onClick: () => this.scrollLeft(), disabled: this.tablistAtStart, tabindex: "-1" }, index.h("duet-icon", { name: "action-arrow-left-small", size: "small", margin: "none" })), index.h("div", { class: this.tabListClass, onScroll: () => this.updateScrollButtons(), ref: element => (this.tabListElement = element) }, index.h("slot", null)), index.h("button", { part: `${this.identifier}-button-right`, "aria-hidden": "true", class: {
160
+ "duet-scrollable-button": true,
161
+ "duet-scrollable-button--right": true,
162
+ "duet-scrollable-button--occluded": !this.isTabContentSmallerThanWrapper,
163
+ }, onClick: () => this.scrollRight(), disabled: this.tablistAtEnd, tabindex: "-1" }, index.h("duet-icon", { name: "action-arrow-right-small", size: "small", margin: "none" })))));
164
+ }
165
+ get host() { return index.getElement(this); }
166
+ static get watchers() { return {
167
+ "selected": ["watchPropHandler"]
168
+ }; }
169
+ };
170
+ DuetScrollable.style = duetScrollableCss;
171
+
172
+ const duetTabCss = ".sc-duet-tab-h{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-tab.sc-duet-tab{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:none;width:100%}.duet-tab.selected.sc-duet-tab{display:block}";
173
+
174
+ let DuetTab = class {
175
+ constructor(hostRef) {
176
+ index.registerInstance(this, hostRef);
177
+ /**
178
+ * Defaults for AccessibleLabel
179
+ * @default null
180
+ */
181
+ this.accessibleDescriptionDefault = null;
182
+ /**
183
+ * String for AccessibleLabel
184
+ * @default null
185
+ */
186
+ this.accessibleDescription = this.accessibleDescriptionDefault
187
+ ? languageUtils.getLocaleString(this.accessibleDescriptionDefault)
188
+ : null;
189
+ }
190
+ /**
191
+ * render() function
192
+ * Always the last one in the class.
193
+ */
194
+ render() {
195
+ {
196
+ return (index.h("div", { role: "tabpanel", class: { "duet-tab": true, selected: this.selected }, "aria-description": this.accessibleDescription }, index.h("slot", null)));
197
+ }
198
+ }
199
+ };
200
+ DuetTab.style = duetTabCss;
201
+
202
+ const duetTabGroupCss = "*,*::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;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:block}}.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom-color:#e4e4e6}@media (min-width: 36em){duet-select{display:none !important}}.duet-tab-button{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;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;font-weight:600;line-height:1.1;color:#00294d;text-align:left;text-decoration:none;cursor:pointer;background:white;border:2px solid #e1e3e6;border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0{padding:0 !important}.duet-tab-button.duet-m-0{margin:0 !important}.duet-theme-turva .duet-tab-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6}.duet-tab-button.duet-p-0{padding:0 !important}@media (min-width: 36em){.duet-tab-button{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid #e1e3e6;border-radius:0}}.duet-tab-button:hover{z-index:200;border-color:#909599}.duet-theme-turva .duet-tab-button:hover{border-color:#747475}.duet-tab-button:active{opacity:0.75;transition:none}.duet-tab-button.selected{z-index:201;color:white;background:#00294d;border-color:#00294d;outline:0;box-shadow:none !important}.duet-theme-turva .duet-tab-button.selected{color:white;background-color:#171c3a;border-color:#171c3a}.duet-tab-button:focus{z-index:200;outline:0}:host(.user-is-tabbing) .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-theme-turva .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tab-button:first-child{border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.duet-tab-button:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}}.duet-tab-button:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-tab-button:last-child{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}}.duet-tab-variation-plain .duet-tab-button{display:inline-block;width:auto;padding-right:0;padding-left:0;border:0;border-radius:0;transition:none}.duet-tab-variation-plain .duet-tab-button+.duet-tab-button{margin-left:36px}.duet-tab-variation-plain .duet-tab-button.selected{color:#0077b3;background:white;border-bottom:3px solid #0077b3}.duet-theme-turva.duet-tab-variation-plain .duet-tab-button.selected{color:#c60c30;border-bottom-color:#c60c30}.duet-tab-group-content{position:relative;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;font-weight:400;line-height:1.5;color:#00294d;text-align:left}.duet-theme-turva .duet-tab-group-content{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}";
203
+
204
+ let DuetTabGroup = class {
205
+ constructor(hostRef) {
206
+ index.registerInstance(this, hostRef);
207
+ this.duetChange = index.createEvent(this, "duetChange", 3);
208
+ this.duetTabChange = index.createEvent(this, "duetTabChange", 7);
209
+ this.id = createId.createID("DuetTabGroup");
210
+ /**
211
+ * State() variables
212
+ * Inlined decorator, alphabetical order.
213
+ */
214
+ this.tabs = [];
215
+ this.selected = 0;
216
+ /**
217
+ * Theme of the component.
218
+ */
219
+ this.theme = "";
220
+ /**
221
+ * Controls whether the tab-group should scroll (by inflection this will disable collapsing to select box on small screens),
222
+ * if this is a number instead of true it will be used as "amount of items to scroll"
223
+ */
224
+ this.scrolls = false;
225
+ /**
226
+ * Whether the tab-group collapses to a select dropwdown in minor breakpoints
227
+ */
228
+ this.collapses = true;
229
+ /**
230
+ * Style variation of the tab group.
231
+ */
232
+ this.variation = "default";
233
+ /**
234
+ * The currently active language. This setting changes the accessible labels to match the
235
+ * chosen language.
236
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
237
+ * @default "fi"
238
+ */
239
+ this.language = languageUtils.getLanguage();
240
+ /**
241
+ * Defaults for Label
242
+ * @default {fi: "Valitse", en: "Choose", sv: "Välja"}
243
+ */
244
+ this.labelDefaults = {
245
+ fi: "Valitse",
246
+ en: "Choose",
247
+ sv: "Välj",
248
+ };
249
+ /**
250
+ * Label for the select element which gets shown on mobile.
251
+ * @default {fi: "Valitse", en: "Choose", sv: "Välja"}
252
+ */
253
+ this.label = languageUtils.getLocaleString(this.labelDefaults, this.language);
254
+ /**
255
+ * Determines whether the label for the select element shown on mobile is visually hidden.
256
+ */
257
+ this.labelHidden = true;
258
+ /**
259
+ * Optional identifier to add to buttons in the tab group
260
+ */
261
+ this.identifier = this.id;
262
+ /**
263
+ * Controls the margin of the component.
264
+ */
265
+ this.margin = "auto";
266
+ /**
267
+ * Controls the padding of the component.
268
+ */
269
+ this.padding = "auto";
270
+ /**
271
+ * Component event handling.
272
+ */
273
+ this.handleKeyDown = ev => {
274
+ let button;
275
+ if (keyboardUtils.isArrowLeftKey(ev) || keyboardUtils.isArrowUpKey(ev)) {
276
+ button = ev.target.previousElementSibling;
277
+ }
278
+ else if (keyboardUtils.isArrowRightKey(ev) || keyboardUtils.isArrowDownKey(ev)) {
279
+ button = ev.target.nextElementSibling;
280
+ }
281
+ if (button) {
282
+ ev.preventDefault();
283
+ button.click();
284
+ button.focus();
285
+ }
286
+ };
287
+ this.renderTab = () => {
288
+ const renderedTabs = this.tabs.map((element, index$1) => {
289
+ return (index.h("button", { role: "tab", id: this.getButtonId(index$1), "aria-controls": this.getTabId(index$1), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index$1), part: `${this.identifier}-button`, type: "button", class: {
290
+ "duet-p-0": this.padding === "none",
291
+ "duet-tab-button": true,
292
+ selected: element.selected,
293
+ }, onClick: () => this.openTab(index$1), onKeyDown: ev => this.handleKeyDown(ev) }, element.label));
294
+ });
295
+ if (this.scrolls) {
296
+ return (index.h("duet-scrollable", { selected: this.selected, identifier: this.identifier }, renderedTabs));
297
+ }
298
+ return renderedTabs;
299
+ };
300
+ }
301
+ /**
302
+ * Component lifecycle events.
303
+ */
304
+ async connectedCallback() {
305
+ if (typeof MutationObserver !== "undefined") {
306
+ this.mutationO = new MutationObserver(() => {
307
+ this.updateTabs();
308
+ });
309
+ this.mutationO.observe(this.element, {
310
+ attributes: true,
311
+ attributeFilter: ["label"],
312
+ childList: true,
313
+ characterData: true,
314
+ subtree: true,
315
+ });
316
+ }
317
+ await this.updateTabs();
318
+ }
319
+ disconnectedCallback() {
320
+ if (this.mutationO) {
321
+ this.mutationO.disconnect();
322
+ this.mutationO = undefined;
323
+ }
324
+ }
325
+ componentWillLoad() {
326
+ themeableComponent.inheritGlobalTheme(this);
327
+ }
328
+ /**
329
+ * This method allows you to open any of the tabs by calling the method and
330
+ * passing the index of the tab. Please note that index starts from zero.
331
+ */
332
+ async openTab(tabIndex) {
333
+ if (tabIndex >= this.tabs.length) {
334
+ throw new Error(`[duet-tabs] Index ${tabIndex} is out of bounds of tabs length`);
335
+ }
336
+ this.selected = tabIndex;
337
+ this.tabs.forEach((tab, i) => {
338
+ tab.selected = i === tabIndex;
339
+ });
340
+ const event = {
341
+ value: tabIndex,
342
+ component: "duet-tab-group",
343
+ };
344
+ this.duetChange.emit(event);
345
+ this.duetTabChange.emit(event);
346
+ }
347
+ /**
348
+ * This method used to refresh the contents of the tab group
349
+ * but is now deprecated as this is done automatically.
350
+ * @deprecated
351
+ */
352
+ async refresh() {
353
+ console.log("[duet-tabs] Refresh method is deprecated and will be removed in the future version.");
354
+ }
355
+ /**
356
+ * Local methods.
357
+ */
358
+ getTabs() {
359
+ const allTabs = Array.from(this.element.querySelectorAll("duet-tab"));
360
+ const localTabs = allTabs.filter(tab => tab.closest("duet-tab-group") === this.element);
361
+ if (localTabs.length === 0) {
362
+ throw new Error("[duet-tabs] Must have at least one tab");
363
+ }
364
+ // filter out any nested tabs
365
+ return localTabs;
366
+ }
367
+ getButtonId(index) {
368
+ return `${this.id}-button-${index}`;
369
+ }
370
+ getTabId(index) {
371
+ return `${this.id}-tab-${index}`;
372
+ }
373
+ getAccessibleDescription(index) {
374
+ const description = this.tabs[index].getAttribute("accessible-description") || null;
375
+ return description;
376
+ }
377
+ async updateTabs() {
378
+ this.tabs = this.getTabs();
379
+ this.tabs.forEach((tab, index) => {
380
+ tab.id = this.getTabId(index);
381
+ tab.setAttribute("aria-labelledby", this.getButtonId(index));
382
+ if (tab.selected) {
383
+ this.selected = index;
384
+ }
385
+ });
386
+ return;
387
+ }
388
+ /**
389
+ * render() function
390
+ * Always the last one in the class.
391
+ */
392
+ render() {
393
+ return (index.h("div", { class: {
394
+ "duet-tab-group": true,
395
+ "duet-theme-turva": this.theme === "turva",
396
+ [`duet-tab-variation-${this.variation}`]: true,
397
+ "duet-tab-group-scrolls": this.scrolls,
398
+ "duet-tab-group-collapses": this.collapses,
399
+ } }, this.tabs.length > 3 && this.collapses && (index.h("duet-select", { value: this.selected.toString(), expand: true, label: this.label, labelHidden: this.labelHidden, theme: this.theme, onDuetChange: event => this.openTab(Number(event.detail.value)), items: this.tabs.map((tab, index) => {
400
+ return { label: tab.label, value: index.toString() };
401
+ }) })), index.h("div", { role: "tablist", class: {
402
+ "duet-m-0": this.margin === "none",
403
+ "duet-tab-group-tabs": true,
404
+ "duet-tab-group-hidden": this.tabs.length > 3,
405
+ "duet-tab-group-collapses": this.collapses,
406
+ } }, this.renderTab()), index.h("div", { class: { "duet-tab-group-content": true, "duet-m-0": this.margin === "none" } }, index.h("slot", null))));
407
+ }
408
+ get element() { return index.getElement(this); }
409
+ };
410
+ DuetTabGroup.style = duetTabGroupCss;
411
+
412
+ exports.duet_scrollable = DuetScrollable;
413
+ exports.duet_tab = DuetTab;
414
+ exports.duet_tab_group = DuetTabGroup;
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const stringUtils = require('./string-utils-267e3dbb.js');
11
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const keyboardUtils = require('./keyboard-utils-b4e3d1d3.js');
11
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const inputUtils = require('./input-utils-f3e3854c.js');
11
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const languageUtils = require('./language-utils-aa282901.js');
11
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
  const tokens_module = require('./tokens.module-6b2df1c2.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-aa282901.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
 
10
10
  let DuetUploadAriaStatus = class {
11
11
  constructor(hostRef) {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-0bcb9cea.js');
8
+ const index = require('./index-a38f3df3.js');
9
9
 
10
10
  const duetVisuallyHiddenCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;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}";
11
11