@duetds/components 5.0.3 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/hydrate/index.js +491 -16
  2. package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
  3. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-button_2.cjs.entry.js +4 -4
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +4 -4
  9. package/lib/cjs/duet-card.cjs.entry.js +5 -5
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  13. package/lib/cjs/duet-combobox.cjs.entry.js +390 -0
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +10 -5
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +9 -7
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-footer.cjs.entry.js +4 -4
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
  22. package/lib/cjs/duet-header_2.cjs.entry.js +40 -9
  23. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  24. package/lib/cjs/duet-icon.cjs.entry.js +4 -4
  25. package/lib/cjs/duet-input_2.cjs.entry.js +42 -4
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-modal.cjs.entry.js +4 -4
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  30. package/lib/cjs/duet-number-input.cjs.entry.js +3 -3
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
  32. package/lib/cjs/duet-progress.cjs.entry.js +2 -2
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +3 -3
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +3 -3
  36. package/lib/cjs/duet-select.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
  38. package/lib/cjs/duet-textarea.cjs.entry.js +3 -3
  39. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-tray.cjs.entry.js +3 -3
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +2 -2
  45. package/lib/cjs/{focus-utils-be11fe84.js → focus-utils-be2df924.js} +1 -1
  46. package/lib/cjs/{index-4be1f8f7.js → index-608ca44d.js} +1 -1
  47. package/lib/cjs/{input-utils-f3e3854c.js → input-utils-b5e8f524.js} +1 -1
  48. package/lib/cjs/{keyboard-utils-898cfe14.js → keyboard-utils-bb32119b.js} +3 -0
  49. package/lib/cjs/loader.cjs.js +2 -2
  50. package/lib/cjs/themeable-component-940d3b50.js +15 -0
  51. package/lib/cjs/{token-utils-ac8432d1.js → token-utils-f402e205.js} +1 -1
  52. package/lib/cjs/{tokens-72efc7fd.js → tokens-8596cece.js} +0 -0
  53. package/lib/cjs/{tokens.module-6afcc9c1.js → tokens.module-6b2df1c2.js} +0 -0
  54. package/lib/collection/collection-manifest.json +1 -0
  55. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +12 -0
  56. package/lib/collection/components/duet-combobox/duet-combobox-select.js +19 -0
  57. package/lib/collection/components/duet-combobox/duet-combobox.css +78 -0
  58. package/lib/collection/components/duet-combobox/duet-combobox.js +592 -0
  59. package/lib/collection/components/duet-date-picker/duet-date-picker.js +24 -2
  60. package/lib/collection/components/duet-date-picker/utils.js +1 -0
  61. package/lib/collection/components/duet-footer/duet-footer.js +6 -2
  62. package/lib/collection/components/duet-header/duet-header.css +15 -0
  63. package/lib/collection/components/duet-header/duet-header.js +41 -3
  64. package/lib/collection/components/duet-input/duet-input.js +92 -2
  65. package/lib/collection/components/duet-upload/duet-upload.css +12 -0
  66. package/lib/collection/components/duet-upload/duet-upload.js +4 -1
  67. package/lib/collection/components/duet-upload/upload-editable-item-success.js +1 -1
  68. package/lib/collection/utils/input-utils.js +1 -1
  69. package/lib/collection/utils/themeable-component.js +5 -2
  70. package/lib/custom-elements-bundle/index.d.ts +6 -0
  71. package/lib/custom-elements-bundle/index.js +487 -28
  72. package/lib/duet/duet.esm.js +1 -1
  73. package/lib/duet/duet.js +1 -1
  74. package/lib/duet/{p-74586a15.system.entry.js → p-026083dd.system.entry.js} +1 -1
  75. package/lib/duet/{p-cdd335a3.entry.js → p-068a3522.entry.js} +1 -1
  76. package/lib/duet/{p-7e8d9165.entry.js → p-06b01be8.entry.js} +1 -1
  77. package/lib/duet/{p-dbc85b3a.entry.js → p-08c949c2.entry.js} +1 -1
  78. package/lib/duet/{p-1159dab0.system.entry.js → p-0cfe2b11.system.entry.js} +1 -1
  79. package/lib/duet/{p-71f87732.entry.js → p-143182be.entry.js} +1 -1
  80. package/lib/duet/p-156538ea.system.entry.js +4 -0
  81. package/lib/duet/{p-b6d748a9.system.entry.js → p-1dd368a3.system.entry.js} +1 -1
  82. package/lib/duet/{p-b72b4f9d.entry.js → p-1feabba1.entry.js} +1 -1
  83. package/lib/duet/{p-79f99668.entry.js → p-206f46ba.entry.js} +1 -1
  84. package/lib/duet/{p-22ed4dd2.entry.js → p-2287449d.entry.js} +1 -1
  85. package/lib/duet/{p-0c71c685.system.entry.js → p-23a19b83.system.entry.js} +1 -1
  86. package/lib/duet/{p-8824199e.system.entry.js → p-2866ccc1.system.entry.js} +1 -1
  87. package/lib/duet/{p-8f3be2e7.system.entry.js → p-29e73d8c.system.entry.js} +1 -1
  88. package/lib/duet/{p-33c8d8b9.entry.js → p-2f409514.entry.js} +1 -1
  89. package/lib/duet/{p-2a0ae7f6.system.entry.js → p-3048d8ef.system.entry.js} +1 -1
  90. package/lib/duet/{p-04ad8a51.system.js → p-31bc24a2.system.js} +1 -1
  91. package/lib/duet/{p-5be54927.entry.js → p-383c7df0.entry.js} +1 -1
  92. package/lib/duet/{p-24a9e68e.system.entry.js → p-388535da.system.entry.js} +1 -1
  93. package/lib/duet/p-3dfcf826.entry.js +4 -0
  94. package/lib/duet/{p-19a632b5.system.entry.js → p-41ff8913.system.entry.js} +1 -1
  95. package/lib/duet/{p-4a0d062b.entry.js → p-48ea1da4.entry.js} +1 -1
  96. package/lib/duet/{p-e171592e.entry.js → p-4c57fe8a.entry.js} +1 -1
  97. package/lib/duet/{p-77acbfe4.system.js → p-4e2532c7.system.js} +1 -1
  98. package/lib/duet/{p-364daea3.entry.js → p-4e4cce23.entry.js} +1 -1
  99. package/lib/duet/p-546444b0.system.entry.js +4 -0
  100. package/lib/duet/{p-fb3f8bae.entry.js → p-54724f73.entry.js} +1 -1
  101. package/lib/duet/p-54f35a79.js +4 -0
  102. package/lib/duet/p-56118313.js +4 -0
  103. package/lib/duet/{p-b9a23922.system.entry.js → p-58c20a42.system.entry.js} +1 -1
  104. package/lib/duet/{p-f40ab568.entry.js → p-60e2436b.entry.js} +1 -1
  105. package/lib/duet/{p-3e4f8f38.entry.js → p-63ac8866.entry.js} +1 -1
  106. package/lib/duet/{p-d8d93e29.system.js → p-64ebe689.system.js} +1 -1
  107. package/lib/duet/{p-3ab1a68a.entry.js → p-65a79da5.entry.js} +1 -1
  108. package/lib/duet/{p-8493e747.system.entry.js → p-69c0a7f6.system.entry.js} +1 -1
  109. package/lib/duet/p-6b03322b.system.js +4 -0
  110. package/lib/duet/{p-302a1111.system.entry.js → p-6b1abf52.system.entry.js} +1 -1
  111. package/lib/duet/{p-9bc80a7f.js → p-6b6176f4.js} +1 -1
  112. package/lib/duet/{p-480d4dcf.system.entry.js → p-6ba20e72.system.entry.js} +2 -2
  113. package/lib/duet/{p-0047c4f5.system.entry.js → p-6f4863db.system.entry.js} +1 -1
  114. package/lib/duet/{p-4c3d3d98.system.entry.js → p-6f603653.system.entry.js} +1 -1
  115. package/lib/duet/{p-5bb0d504.system.entry.js → p-7339eb94.system.entry.js} +1 -1
  116. package/lib/duet/{p-5208e8c8.entry.js → p-74728a74.entry.js} +1 -1
  117. package/lib/duet/{p-70090114.entry.js → p-7666b058.entry.js} +1 -1
  118. package/lib/duet/{p-cda9e6ea.entry.js → p-7729af53.entry.js} +1 -1
  119. package/lib/duet/p-7754c44f.entry.js +4 -0
  120. package/lib/duet/{p-c44470ff.entry.js → p-7a906647.entry.js} +1 -1
  121. package/lib/duet/{p-8c873050.system.entry.js → p-7aa17a19.system.entry.js} +1 -1
  122. package/lib/duet/{p-48c23e5c.entry.js → p-7f857142.entry.js} +1 -1
  123. package/lib/duet/{p-d7bc0102.js → p-8143f3de.js} +0 -0
  124. package/lib/duet/{p-49b566b8.entry.js → p-81c4e0b8.entry.js} +1 -1
  125. package/lib/duet/{p-7fe35615.system.entry.js → p-84afb642.system.entry.js} +1 -1
  126. package/lib/duet/{p-2724a54c.entry.js → p-85fe86ef.entry.js} +1 -1
  127. package/lib/duet/{p-839ea534.entry.js → p-887d51ae.entry.js} +1 -1
  128. package/lib/duet/{p-3cfbe168.entry.js → p-8cc38bb7.entry.js} +1 -1
  129. package/lib/duet/{p-a008aacc.entry.js → p-8f2b3690.entry.js} +1 -1
  130. package/lib/duet/p-93c1b85e.system.entry.js +4 -0
  131. package/lib/duet/{p-0e962ab1.system.entry.js → p-9592fa1f.system.entry.js} +1 -1
  132. package/lib/duet/{p-f65e0de6.system.entry.js → p-99dc86ab.system.entry.js} +1 -1
  133. package/lib/duet/{p-afe9e9f0.system.entry.js → p-9a47fd17.system.entry.js} +1 -1
  134. package/lib/duet/{p-8e7c504a.entry.js → p-9b0489b4.entry.js} +1 -1
  135. package/lib/duet/{p-a3506401.system.entry.js → p-9b282421.system.entry.js} +2 -2
  136. package/lib/duet/{p-36af1d4b.system.entry.js → p-9e06a7c7.system.entry.js} +1 -1
  137. package/lib/duet/p-a63f753e.system.js +4 -0
  138. package/lib/duet/{p-419e1df7.entry.js → p-a682a6a5.entry.js} +1 -1
  139. package/lib/duet/{p-25b156ea.entry.js → p-aa9d165e.entry.js} +1 -1
  140. package/lib/duet/{p-693cec9c.system.entry.js → p-ab3a0d39.system.entry.js} +1 -1
  141. package/lib/duet/p-ab8e590d.system.js +4 -0
  142. package/lib/duet/p-abf8eaf7.js +4 -0
  143. package/lib/duet/{p-ed75c8b3.js → p-ad07f399.js} +0 -0
  144. package/lib/duet/{p-14aba051.entry.js → p-b77d4386.entry.js} +1 -1
  145. package/lib/duet/{p-515fe415.system.entry.js → p-b7a86acf.system.entry.js} +1 -1
  146. package/lib/duet/p-badc3ac3.entry.js +4 -0
  147. package/lib/duet/{p-995288c0.entry.js → p-bc84c679.entry.js} +1 -1
  148. package/lib/duet/{p-1aa9b60c.system.entry.js → p-bdc61811.system.entry.js} +1 -1
  149. package/lib/duet/{p-38cc1d02.system.entry.js → p-c3019850.system.entry.js} +1 -1
  150. package/lib/duet/{p-9a8d5b11.system.js → p-c466bad9.system.js} +1 -1
  151. package/lib/duet/{p-68b50c43.entry.js → p-c5429708.entry.js} +1 -1
  152. package/lib/duet/{p-140cf44e.entry.js → p-ca55e1f8.entry.js} +1 -1
  153. package/lib/duet/{p-5746d88c.js → p-cb445018.js} +1 -1
  154. package/lib/duet/{p-f0dba299.system.entry.js → p-cd2e4ea8.system.entry.js} +1 -1
  155. package/lib/duet/{p-799f35c8.system.entry.js → p-d4734090.system.entry.js} +1 -1
  156. package/lib/duet/{p-d5a75400.system.entry.js → p-d8ebb48c.system.entry.js} +1 -1
  157. package/lib/duet/{p-29c093f0.entry.js → p-dca9237d.entry.js} +1 -1
  158. package/lib/duet/{p-268c0abb.system.js → p-ddb6344c.system.js} +0 -0
  159. package/lib/duet/p-df6b0878.system.entry.js +4 -0
  160. package/lib/duet/{p-7afb2bcf.system.entry.js → p-e4f8e874.system.entry.js} +1 -1
  161. package/lib/duet/{p-76f3205a.system.entry.js → p-e50c8c08.system.entry.js} +1 -1
  162. package/lib/duet/{p-b6339b38.system.entry.js → p-e5f9c7b8.system.entry.js} +1 -1
  163. package/lib/duet/{p-dca6993f.system.entry.js → p-e8a5580c.system.entry.js} +1 -1
  164. package/lib/duet/{p-d1549bd1.entry.js → p-e8da9596.entry.js} +1 -1
  165. package/lib/duet/{p-8594bc4d.entry.js → p-ea131807.entry.js} +1 -1
  166. package/lib/duet/{p-2be3b1ee.entry.js → p-ec340319.entry.js} +1 -1
  167. package/lib/duet/{p-2345965b.system.entry.js → p-ed1ea287.system.entry.js} +1 -1
  168. package/lib/duet/p-f37a0b50.entry.js +4 -0
  169. package/lib/duet/{p-bfc93e93.system.entry.js → p-f3ed1115.system.entry.js} +1 -1
  170. package/lib/duet/p-f42b06ec.entry.js +4 -0
  171. package/lib/duet/{p-343975bc.js → p-f5ced40a.js} +1 -1
  172. package/lib/duet/{p-83aaed17.system.entry.js → p-f7e5404c.system.entry.js} +1 -1
  173. package/lib/duet/{p-636dfb04.system.entry.js → p-f9ddfbd3.system.entry.js} +1 -1
  174. package/lib/duet/{p-812b0905.system.js → p-fa99eaa4.system.js} +0 -0
  175. package/lib/esm/duet-action-button.entry.js +5 -5
  176. package/lib/esm/duet-alert.entry.js +2 -2
  177. package/lib/esm/duet-badge.entry.js +2 -2
  178. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  179. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  180. package/lib/esm/duet-button_2.entry.js +4 -4
  181. package/lib/esm/duet-caption_4.entry.js +4 -4
  182. package/lib/esm/duet-card.entry.js +5 -5
  183. package/lib/esm/duet-checkbox.entry.js +2 -2
  184. package/lib/esm/duet-choice_2.entry.js +4 -4
  185. package/lib/esm/duet-collapsible.entry.js +4 -4
  186. package/lib/esm/duet-combobox.entry.js +386 -0
  187. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  188. package/lib/esm/duet-date-picker.entry.js +10 -5
  189. package/lib/esm/duet-divider_2.entry.js +2 -2
  190. package/lib/esm/duet-editable-table_3.entry.js +9 -7
  191. package/lib/esm/duet-empty-state.entry.js +2 -2
  192. package/lib/esm/duet-fieldset.entry.js +2 -2
  193. package/lib/esm/duet-footer.entry.js +4 -4
  194. package/lib/esm/duet-grid_2.entry.js +3 -3
  195. package/lib/esm/duet-header_2.entry.js +40 -9
  196. package/lib/esm/duet-hero.entry.js +2 -2
  197. package/lib/esm/duet-icon.entry.js +4 -4
  198. package/lib/esm/duet-input_2.entry.js +42 -4
  199. package/lib/esm/duet-layout.entry.js +1 -1
  200. package/lib/esm/duet-list_2.entry.js +2 -2
  201. package/lib/esm/duet-modal.entry.js +4 -4
  202. package/lib/esm/duet-notification_2.entry.js +2 -2
  203. package/lib/esm/duet-number-input.entry.js +3 -3
  204. package/lib/esm/duet-pagination_2.entry.js +3 -3
  205. package/lib/esm/duet-progress.entry.js +2 -2
  206. package/lib/esm/duet-radio_2.entry.js +2 -2
  207. package/lib/esm/duet-range-slider.entry.js +3 -3
  208. package/lib/esm/duet-scrollable_3.entry.js +3 -3
  209. package/lib/esm/duet-select.entry.js +2 -2
  210. package/lib/esm/duet-step_2.entry.js +3 -3
  211. package/lib/esm/duet-textarea.entry.js +3 -3
  212. package/lib/esm/duet-toggle.entry.js +2 -2
  213. package/lib/esm/duet-tooltip.entry.js +2 -2
  214. package/lib/esm/duet-tray.entry.js +3 -3
  215. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  216. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  217. package/lib/esm/duet.js +2 -2
  218. package/lib/esm/{focus-utils-e649bb9d.js → focus-utils-b6b1e60d.js} +1 -1
  219. package/lib/esm/{index-fe6fd837.js → index-0b088451.js} +1 -1
  220. package/lib/esm/{input-utils-f4cafee1.js → input-utils-de45e099.js} +1 -1
  221. package/lib/esm/{keyboard-utils-6eb55cd5.js → keyboard-utils-88ea1007.js} +2 -1
  222. package/lib/esm/loader.js +2 -2
  223. package/lib/esm/themeable-component-e8fc98bf.js +13 -0
  224. package/lib/esm/{token-utils-e9a0cb88.js → token-utils-e9a69acf.js} +1 -1
  225. package/lib/esm/{tokens-57d98824.js → tokens-e110dc89.js} +0 -0
  226. package/lib/esm/{tokens.module-a13e9683.js → tokens.module-49cbf963.js} +0 -0
  227. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  228. package/lib/esm-es5/duet-alert.entry.js +1 -1
  229. package/lib/esm-es5/duet-badge.entry.js +1 -1
  230. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  231. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  232. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  233. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  234. package/lib/esm-es5/duet-card.entry.js +1 -1
  235. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  236. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  237. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  238. package/lib/esm-es5/duet-combobox.entry.js +4 -0
  239. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  240. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  241. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  242. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  243. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  244. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  245. package/lib/esm-es5/duet-footer.entry.js +1 -1
  246. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  247. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  248. package/lib/esm-es5/duet-hero.entry.js +1 -1
  249. package/lib/esm-es5/duet-icon.entry.js +1 -1
  250. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  251. package/lib/esm-es5/duet-layout.entry.js +1 -1
  252. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  253. package/lib/esm-es5/duet-modal.entry.js +1 -1
  254. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  255. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  256. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  257. package/lib/esm-es5/duet-progress.entry.js +1 -1
  258. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  259. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  260. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  261. package/lib/esm-es5/duet-select.entry.js +1 -1
  262. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  263. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  264. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  265. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  266. package/lib/esm-es5/duet-tray.entry.js +1 -1
  267. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  268. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  269. package/lib/esm-es5/duet.js +1 -1
  270. package/lib/esm-es5/focus-utils-b6b1e60d.js +4 -0
  271. package/lib/esm-es5/{index-fe6fd837.js → index-0b088451.js} +1 -1
  272. package/lib/esm-es5/input-utils-de45e099.js +4 -0
  273. package/lib/esm-es5/keyboard-utils-88ea1007.js +4 -0
  274. package/lib/esm-es5/loader.js +1 -1
  275. package/lib/esm-es5/themeable-component-e8fc98bf.js +4 -0
  276. package/lib/esm-es5/{token-utils-e9a0cb88.js → token-utils-e9a69acf.js} +1 -1
  277. package/lib/esm-es5/{tokens-57d98824.js → tokens-e110dc89.js} +0 -0
  278. package/lib/esm-es5/{tokens.module-a13e9683.js → tokens.module-49cbf963.js} +0 -0
  279. package/lib/html.html-data.json +56 -1
  280. package/lib/types/components/duet-combobox/duet-combobox-select-single.d.ts +8 -0
  281. package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +14 -0
  282. package/lib/types/components/duet-combobox/duet-combobox.d.ts +131 -0
  283. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +4 -0
  284. package/lib/types/components/duet-footer/duet-footer.d.ts +4 -0
  285. package/lib/types/components/duet-header/duet-header.d.ts +8 -0
  286. package/lib/types/components/duet-input/duet-input.d.ts +17 -0
  287. package/lib/types/components.d.ts +115 -0
  288. package/package.json +7 -7
  289. package/lib/cjs/themeable-component-0c1be552.js +0 -12
  290. package/lib/duet/p-251ee915.system.entry.js +0 -4
  291. package/lib/duet/p-2759fa82.system.entry.js +0 -4
  292. package/lib/duet/p-2fd6f95a.system.js +0 -4
  293. package/lib/duet/p-35a8dcc6.entry.js +0 -4
  294. package/lib/duet/p-7385e892.entry.js +0 -4
  295. package/lib/duet/p-74780bca.system.js +0 -4
  296. package/lib/duet/p-898f30a5.js +0 -4
  297. package/lib/duet/p-9ad2878e.system.entry.js +0 -4
  298. package/lib/duet/p-9dfcd29a.js +0 -4
  299. package/lib/duet/p-a28cf57b.js +0 -4
  300. package/lib/duet/p-d1a4aa9c.entry.js +0 -4
  301. package/lib/duet/p-dc9de1e3.entry.js +0 -4
  302. package/lib/duet/p-efaa0c04.system.js +0 -4
  303. package/lib/esm/themeable-component-572685dd.js +0 -10
  304. package/lib/esm-es5/focus-utils-e649bb9d.js +0 -4
  305. package/lib/esm-es5/input-utils-f4cafee1.js +0 -4
  306. package/lib/esm-es5/keyboard-utils-6eb55cd5.js +0 -4
  307. package/lib/esm-es5/themeable-component-572685dd.js +0 -4
@@ -1176,6 +1176,49 @@
1176
1176
  }
1177
1177
  ]
1178
1178
  },
1179
+ {
1180
+ "name": "duet-combobox",
1181
+ "description": {
1182
+ "kind": "markdown",
1183
+ "value": "---\ntitle: Combobox\nname: duet-combobox\nstatus: prototype\nreleased: 5.0.2\nplatforms: Web only\ninternationalization: Supported\naccessibility: Keyboard, Screen Reader\nssr: Supported\ncategory: Text\nintro: ComboBox is used as an alternative to a select box, where many items must be chosen from\nexamples:\n - name: ComboBox\n code: This first example creates the actual URL and DOCS, hence it needs to be\n here.\n - name: Default ComboBox\n file: fixtures/duet-combobox.html \n - name: Passing values as string to ComboBox\n file: fixtures/duet-combobox-values-as-json.html\n - name: Combobox with categories, forced selection and custom formatter\n file: fixtures/duet-combobox-custom-formatter.html\n - name: Combobox with error checking\n file: fixtures/duet-combobox-custom-formatter-with-errorchecking.html\ntags:\n - docs-components\n\n---\n\n<!-- usage -->"
1184
+ },
1185
+ "attributes": [
1186
+ {
1187
+ "name": "accessible-label-defaults",
1188
+ "description": "Placeholder defaults"
1189
+ },
1190
+ {
1191
+ "name": "force",
1192
+ "description": "Force the user to make a selection (typing things in the input field will only be used for list search)"
1193
+ },
1194
+ {
1195
+ "name": "items",
1196
+ "description": "Array of item objects."
1197
+ },
1198
+ {
1199
+ "name": "theme",
1200
+ "description": "Theme of the combobox.",
1201
+ "values": [
1202
+ {
1203
+ "name": "default"
1204
+ },
1205
+ {
1206
+ "name": "turva"
1207
+ }
1208
+ ]
1209
+ },
1210
+ {
1211
+ "name": "value",
1212
+ "description": "Object containing selected item/s"
1213
+ }
1214
+ ],
1215
+ "references": [
1216
+ {
1217
+ "name": "Source code",
1218
+ "url": "./https:/lt-devtool.visualstudio.com/_git/Duet%20Design%20System?path=/packages/components/src/components/duet-combobox/duet-combobox.tsx"
1219
+ }
1220
+ ]
1221
+ },
1179
1222
  {
1180
1223
  "name": "duet-cookie-consent",
1181
1224
  "description": {
@@ -1211,7 +1254,7 @@
1211
1254
  "name": "duet-date-picker",
1212
1255
  "description": {
1213
1256
  "kind": "markdown",
1214
- "value": "---\ntitle: Date Picker\nname: duet-date-picker\nstatus: ready\nplatforms: Web only\nssr: Supported\nreleased: 4.4.2\ninternationalization: Supported\naccessibility: Keyboard, Screen Reader\nintro: Date Picker component lets user pick a single date or a date range using\n a special calendar like date picker interface. There’s also <a\n href=\"https://github.com/duetds/date-picker\">open source version</a> of this\n component available.\ndescription: \"Date Picker allows you to set a minimum and a maximum allowed\n date. These settings can be combined or used alone, depending on the need.\n Please note that the date values must be passed in IS0-8601 format:\n <code>YYYY-MM-DD</code>.\"\nexample_height: 540px\nexamples:\n - name: date-picker\n code: This first example creates the actual URL and DOCS, hence it needs to be\n here.\n - name: Basic date picker usage\n file: fixtures/duet-date-picker_basic_date_picker_usage.html\n - name: Date picker using min and max values\n file: fixtures/duet-date-picker_date_picker_using_min_and_max_values.html\n - name: Date picker with validation error messages\n file: fixtures/duet-date-picker_date_picker_with_validation_error_messages.html\n - name: Date range using date picker\n file: fixtures/duet-date-picker_date_range_using_date_picker.html\n - name: Date picker using expand property\n file: fixtures/duet-date-picker_date_picker_using_expand_property.html\n - name: Disabled date picker\n file: fixtures/duet-date-picker_disabled_date_picker.html\n - name: Date picker with an error\n file: fixtures/duet-date-picker_date_picker_with_an_error.html\n - name: Date picker with a tooltip\n file: fixtures/duet-date-picker_date_picker_with_a_tooltip.html\n - name: Date picker using english\n file: fixtures/duet-date-picker_date_picker_using_english.html\n - name: Date picker using swedish\n file: fixtures/duet-date-picker_date_picker_using_swedish.html\n - name: Showing the date picker using the provided method\n file: fixtures/duet-date-picker_showing_the_date_picker_using_the_provided_method.html\n - name: Showing the date picker with caption and echoing placeholder\n file: fixtures/duet-date-picker_caption_and_echoing_placeholder.html \ntags:\n - docs-components\n---\n\n<!-- usage -->"
1257
+ "value": "---\ntitle: Date Picker\nname: duet-date-picker\nstatus: ready\nplatforms: Web only\nssr: Supported\nreleased: 4.4.2\ninternationalization: Supported\naccessibility: Keyboard, Screen Reader\nintro: Date Picker component lets user pick a single date or a date range using\n a special calendar like date picker interface. There’s also <a\n href=\"https://github.com/duetds/date-picker\">open source version</a> of this\n component available.\ndescription: \"Date Picker allows you to set a minimum and a maximum allowed\n date. These settings can be combined or used alone, depending on the need.\n Please note that the date values must be passed in IS0-8601 format:\n <code>YYYY-MM-DD</code>.\"\nexample_height: 540px\nexamples:\n - name: date-picker\n code: This first example creates the actual URL and DOCS, hence it needs to be\n here.\n - name: Basic date picker usage\n file: fixtures/duet-date-picker_basic_date_picker_usage.html \n - name: Date picker with large increment\n file: fixtures/duet-date-picker_with_large_increment.html\n - name: Date picker using min and max values\n file: fixtures/duet-date-picker_date_picker_using_min_and_max_values.html\n - name: Date picker with validation error messages\n file: fixtures/duet-date-picker_date_picker_with_validation_error_messages.html\n - name: Date range using date picker\n file: fixtures/duet-date-picker_date_range_using_date_picker.html\n - name: Date picker using expand property\n file: fixtures/duet-date-picker_date_picker_using_expand_property.html\n - name: Disabled date picker\n file: fixtures/duet-date-picker_disabled_date_picker.html\n - name: Date picker with an error\n file: fixtures/duet-date-picker_date_picker_with_an_error.html\n - name: Date picker with a tooltip\n file: fixtures/duet-date-picker_date_picker_with_a_tooltip.html\n - name: Date picker using english\n file: fixtures/duet-date-picker_date_picker_using_english.html\n - name: Date picker using swedish\n file: fixtures/duet-date-picker_date_picker_using_swedish.html\n - name: Showing the date picker using the provided method\n file: fixtures/duet-date-picker_showing_the_date_picker_using_the_provided_method.html\n - name: Showing the date picker with caption and echoing placeholder\n file: fixtures/duet-date-picker_caption_and_echoing_placeholder.html \ntags:\n - docs-components\n---\n\n<!-- usage -->"
1215
1258
  },
1216
1259
  "attributes": [
1217
1260
  {
@@ -1266,6 +1309,10 @@
1266
1309
  "name": "identifier",
1267
1310
  "description": "Adds a unique identifier for the date picker input."
1268
1311
  },
1312
+ {
1313
+ "name": "increment",
1314
+ "description": "Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100"
1315
+ },
1269
1316
  {
1270
1317
  "name": "label",
1271
1318
  "description": "Label for the date picker input."
@@ -2405,6 +2452,14 @@
2405
2452
  "name": "accessible-described-by",
2406
2453
  "description": "Indicates the id of a component that describes the input."
2407
2454
  },
2455
+ {
2456
+ "name": "accessible-expanded",
2457
+ "description": "Expanded state of the element, if needed"
2458
+ },
2459
+ {
2460
+ "name": "accessible-has-popup",
2461
+ "description": "Indicates value of any popup element associated with the input."
2462
+ },
2408
2463
  {
2409
2464
  "name": "accessible-owns",
2410
2465
  "description": "Indicates the id of a component owned by the input."
@@ -0,0 +1,8 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ import { DuetComboboxItem } from "./duet-combobox";
3
+ export interface DuetComboboxSelectSingleProps {
4
+ item: DuetComboboxItem;
5
+ search: string;
6
+ selected: boolean;
7
+ }
8
+ export declare const SelectSingle: FunctionalComponent<DuetComboboxSelectSingleProps>;
@@ -0,0 +1,14 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ import { DuetComboboxItem } from "./duet-combobox";
3
+ interface DuetComboboxSelect {
4
+ item: DuetComboboxItem;
5
+ active: boolean;
6
+ search: string;
7
+ total: number;
8
+ clickHandler?: any;
9
+ keyHandler?: any;
10
+ label?: string;
11
+ selected: boolean;
12
+ }
13
+ export declare const DuetComboBoxSelect: FunctionalComponent<DuetComboboxSelect>;
14
+ export {};
@@ -0,0 +1,131 @@
1
+ import { EventEmitter } from "../../stencil-public-runtime";
2
+ import { DuetTheme } from "../../common-types";
3
+ import { DuetLangObject } from "../../utils/language-utils";
4
+ import { ThemeableComponent } from "../../utils/themeable-component";
5
+ export declare type DuetComboboxEvent = {
6
+ originalEvent?: Event;
7
+ component: "duet-combobox";
8
+ value: any;
9
+ item: DuetComboboxItem;
10
+ };
11
+ export declare type DuetComboboxItem = {
12
+ id?: number;
13
+ value: any;
14
+ name: string;
15
+ html?: string;
16
+ tags?: string[];
17
+ };
18
+ export declare class DuetCombobox implements ThemeableComponent {
19
+ private input?;
20
+ private listElement;
21
+ private listContainer;
22
+ private isSafari;
23
+ private resizeObserver;
24
+ element: HTMLDivElement;
25
+ processedItems: DuetComboboxItem[];
26
+ inputWidth: number;
27
+ inputValue: string;
28
+ selectionMsg: string;
29
+ listOpen: boolean;
30
+ selectedItems?: Set<number>;
31
+ activeItem?: number;
32
+ activeItemHandler(state: any): void;
33
+ /**
34
+ * Placeholder defaults
35
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
36
+ */
37
+ accessibleLabelDefaults: DuetLangObject | string;
38
+ /**
39
+ * Hint text to display before the user types into the date picker input.
40
+ * @default {
41
+ * heading: "Valitse:",
42
+ * item: "{0}, ({1}/{2})",
43
+ * itemFiltered: "{0}, ({1}/{2} - {3} suodatettu"
44
+ * }
45
+ */
46
+ accessibleLabels: Record<string, string>;
47
+ /**
48
+ * Theme of the combobox.
49
+ */
50
+ theme: DuetTheme;
51
+ /**
52
+ * Force the user to make a selection (typing things in the input field will only be used for list search)
53
+ */
54
+ force: boolean;
55
+ /**
56
+ * Array of item objects.
57
+ */
58
+ items: any;
59
+ /**
60
+ * A hook to overwrite how the values are displayed in the input field after a User select an item
61
+ * @example (item) => `${item.name} (${item.value})`
62
+ * @default undefined
63
+ */
64
+ formatter: (item: DuetComboboxItem) => string;
65
+ /**
66
+ * Object containing selected item/s
67
+ */
68
+ value: string;
69
+ /**
70
+ * Emitted when a keyboard input occurred.
71
+ */
72
+ duetChange: EventEmitter<DuetComboboxEvent>;
73
+ handleDocumentClick(e: MouseEvent): void;
74
+ /**
75
+ * Exposes a formatter function to format the item value displayed after a user selects an item
76
+ * @param item: DuetComboboxItem
77
+ */
78
+ formatItem(item: DuetComboboxItem): Promise<string>;
79
+ /**
80
+ * Component lifecycle events.
81
+ */
82
+ componentWillLoad(): void;
83
+ connectedCallback(): void;
84
+ disconnectedCallback(): void;
85
+ componentDidLoad(): void;
86
+ /**
87
+ * Updates the input text based on the selected/clicked items.
88
+ * @param event - event
89
+ *'param item: DuetComboboxItem - the item that was selected
90
+ */
91
+ private onListClick;
92
+ /**
93
+ * Helper function that checks inputs in the field, compares it with the item list and returns true when inputvalue matches selectedItem id
94
+ * TODO: this should be disabled in multiple mode
95
+ */
96
+ private shouldListBeFiltered;
97
+ /**
98
+ * Helper function that return correct collection depending on filter status returend by shouldListBeFiltered
99
+ */
100
+ private returnFilteredOrNonFiltered;
101
+ /**
102
+ * Updates the selected items based on the item id.
103
+ * @param id
104
+ * @private
105
+ */
106
+ private updateSelectedItems;
107
+ /**
108
+ * Updates the input text based on the selected/clicked items.
109
+ * @param bool -override to clear if invoked by "click outside"
110
+ */
111
+ private updateInputText;
112
+ private updateInputValue;
113
+ private handleInputKeyDownEvent;
114
+ private selectActiveItem;
115
+ private announceActive;
116
+ private scrollToActive;
117
+ private formatLabel;
118
+ /**
119
+ * Filter the items based on the input value
120
+ */
121
+ private getFilteredItems;
122
+ /**
123
+ * Sort the return from getFilteredItems so that any item with and item.id that matches this.selectedItems is placed first
124
+ */
125
+ private sortFilteredItems;
126
+ /**
127
+ * render() function
128
+ * Always the last one in the class.
129
+ */
130
+ render(): any;
131
+ }
@@ -152,6 +152,10 @@ export declare class DuetDatePicker implements ThemeableComponent, InputComponen
152
152
  * This setting can be used alone or together with the min property.
153
153
  */
154
154
  max: string;
155
+ /**
156
+ * Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100
157
+ */
158
+ incrementYears: number;
155
159
  /**
156
160
  * This offers information relating to the current validity of the component.
157
161
  * It follow as closely as possible the behaviour of the native date input.
@@ -19,6 +19,10 @@ export declare type DuetFooterChangeEvent = {
19
19
  originalEvent: Event;
20
20
  };
21
21
  export declare type DuetFooterAnalyticsEvent = DuetAnalyticsEvent<"duet-footer">;
22
+ /**
23
+ * @part top - piercing selector for styling the top part of the footer
24
+ * @part menu - piercing selector for styling the menu section of the footer
25
+ */
22
26
  export declare class DuetFooter implements ThemeableComponent {
23
27
  /**
24
28
  * Reference to host HTML element.
@@ -23,6 +23,10 @@ export declare type DuetHeaderLanguageItem = DuetHeaderItem & {
23
23
  };
24
24
  export declare type DuetHeaderSession = DuetHeaderItem & {
25
25
  type: "login" | "logout";
26
+ sessionItems?: [{
27
+ label: string | undefined;
28
+ items: DuetHeaderItem[];
29
+ }];
26
30
  };
27
31
  export declare type DuetHeaderSearch = DuetHeaderItem;
28
32
  export declare type DuetHeaderChangeEvent = {
@@ -52,6 +56,8 @@ export declare class DuetHeader implements ThemeableComponent {
52
56
  private hasLanguageChanged;
53
57
  private languageItemsEl;
54
58
  private languageItemsButtonEl;
59
+ private sessionItemsEl;
60
+ private sessionItemsButtonEl;
55
61
  private segmentItemsEl;
56
62
  private segmentItemsButtonEl;
57
63
  private navigationEl;
@@ -68,6 +74,7 @@ export declare class DuetHeader implements ThemeableComponent {
68
74
  */
69
75
  isContactOpen: boolean;
70
76
  isLanguageOpen: boolean;
77
+ isSessionOpen: boolean;
71
78
  isSlideOutOpen: boolean;
72
79
  isSegmentOpen: boolean;
73
80
  openMenu: string;
@@ -312,6 +319,7 @@ export declare class DuetHeader implements ThemeableComponent {
312
319
  private handleLanguageClick;
313
320
  private handleClick;
314
321
  private handleSessionClick;
322
+ private handleSessionItemClick;
315
323
  private handleSearchClick;
316
324
  private handleUserClick;
317
325
  private handleBackClick;
@@ -43,10 +43,18 @@ export declare class DuetInput implements ThemeableComponent, InputComponent {
43
43
  * Indicates the id of a component owned by the input.
44
44
  */
45
45
  accessibleOwns: string;
46
+ /**
47
+ * Expanded state of the element, if needed
48
+ */
49
+ accessibleExpanded: string;
46
50
  /**
47
51
  * Indicates the id of a component that describes the input.
48
52
  */
49
53
  accessibleDescribedBy: string;
54
+ /**
55
+ * Indicates value of any popup element associated with the input.
56
+ */
57
+ accessibleHasPopup: string;
50
58
  /**
51
59
  * Set the amount of time, in milliseconds, to wait to trigger the duetChange
52
60
  * event after each keystroke.
@@ -195,11 +203,20 @@ export declare class DuetInput implements ThemeableComponent, InputComponent {
195
203
  private onInput;
196
204
  private onBlur;
197
205
  private onFocus;
206
+ /** Private functions
207
+ *
208
+ */
209
+ private getDescribedBy;
198
210
  /**
199
211
  * Sets focus on the specified `duet-input`. Use this method instead of the global
200
212
  * `input.focus()`.
201
213
  */
202
214
  setFocus(options?: FocusOptions): Promise<void>;
215
+ /**
216
+ * Reset the cursor position on the native element
217
+ * `input.resetCursor()`.
218
+ */
219
+ resetCursor(): Promise<void>;
203
220
  /**
204
221
  * render() function
205
222
  * Always the last one in the class.
@@ -15,6 +15,7 @@ import { DuetCardPadding, DuetCardToggleEvent, DuetCardVariation } from "./compo
15
15
  import { DuetCheckboxEvent } from "./components/duet-checkbox/duet-checkbox";
16
16
  import { DuetChoiceEvent, DuetChoiceType } from "./components/duet-choice/duet-choice";
17
17
  import { DuetCollapsibleHeadingFontSize, DuetCollapsibleToggleEvent, DuetCollapsibleWeight } from "./components/duet-collapsible/duet-collapsible";
18
+ import { DuetComboboxEvent, DuetComboboxItem } from "./components/duet-combobox/duet-combobox";
18
19
  import { DuetCookieConsentEvent } from "./components/duet-cookie-consent/duet-cookie-consent";
19
20
  import { DuetDatePickerChangeEvent, DuetDatePickerDirection, DuetDatePickerFocusEvent } from "./components/duet-date-picker/duet-date-picker";
20
21
  import { DuetDividerMargin } from "./components/duet-divider/duet-divider";
@@ -688,6 +689,45 @@ export namespace Components {
688
689
  */
689
690
  "theme": DuetTheme;
690
691
  }
692
+ interface DuetCombobox {
693
+ /**
694
+ * Placeholder defaults
695
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
696
+ */
697
+ "accessibleLabelDefaults": DuetLangObject | string;
698
+ /**
699
+ * Hint text to display before the user types into the date picker input.
700
+ * @default { heading: "Valitse:", item: "{0}, ({1}/{2})", itemFiltered: "{0}, ({1}/{2} - {3} suodatettu" }
701
+ */
702
+ "accessibleLabels": Record<string, string>;
703
+ /**
704
+ * Force the user to make a selection (typing things in the input field will only be used for list search)
705
+ */
706
+ "force": boolean;
707
+ /**
708
+ * Exposes a formatter function to format the item value displayed after a user selects an item
709
+ * @param item : DuetComboboxItem
710
+ */
711
+ "formatItem": (item: DuetComboboxItem) => Promise<string>;
712
+ /**
713
+ * A hook to overwrite how the values are displayed in the input field after a User select an item
714
+ * @example (item) => `${item.name} (${item.value})`
715
+ * @default undefined
716
+ */
717
+ "formatter": (item: DuetComboboxItem) => string;
718
+ /**
719
+ * Array of item objects.
720
+ */
721
+ "items": any;
722
+ /**
723
+ * Theme of the combobox.
724
+ */
725
+ "theme": DuetTheme;
726
+ /**
727
+ * Object containing selected item/s
728
+ */
729
+ "value": string;
730
+ }
691
731
  interface DuetCookieConsent {
692
732
  /**
693
733
  * Adds accessible label for the cookie consent ok button.
@@ -747,6 +787,10 @@ export namespace Components {
747
787
  * Adds a unique identifier for the date picker input.
748
788
  */
749
789
  "identifier": string;
790
+ /**
791
+ * Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100
792
+ */
793
+ "incrementYears": number;
750
794
  /**
751
795
  * Label for the date picker input.
752
796
  */
@@ -1312,6 +1356,14 @@ export namespace Components {
1312
1356
  * Indicates the id of a component that describes the input.
1313
1357
  */
1314
1358
  "accessibleDescribedBy": string;
1359
+ /**
1360
+ * Expanded state of the element, if needed
1361
+ */
1362
+ "accessibleExpanded": string;
1363
+ /**
1364
+ * Indicates value of any popup element associated with the input.
1365
+ */
1366
+ "accessibleHasPopup": string;
1315
1367
  /**
1316
1368
  * Indicates the id of a component owned by the input.
1317
1369
  */
@@ -1400,6 +1452,10 @@ export namespace Components {
1400
1452
  * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them. When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.
1401
1453
  */
1402
1454
  "required": boolean;
1455
+ /**
1456
+ * Reset the cursor position on the native element `input.resetCursor()`.
1457
+ */
1458
+ "resetCursor": () => Promise<void>;
1403
1459
  /**
1404
1460
  * Defines a specific role attribute for the input.
1405
1461
  */
@@ -3098,6 +3154,12 @@ declare global {
3098
3154
  prototype: HTMLDuetCollapsibleElement;
3099
3155
  new (): HTMLDuetCollapsibleElement;
3100
3156
  };
3157
+ interface HTMLDuetComboboxElement extends Components.DuetCombobox, HTMLStencilElement {
3158
+ }
3159
+ var HTMLDuetComboboxElement: {
3160
+ prototype: HTMLDuetComboboxElement;
3161
+ new (): HTMLDuetComboboxElement;
3162
+ };
3101
3163
  interface HTMLDuetCookieConsentElement extends Components.DuetCookieConsent, HTMLStencilElement {
3102
3164
  }
3103
3165
  var HTMLDuetCookieConsentElement: {
@@ -3393,6 +3455,7 @@ declare global {
3393
3455
  "duet-choice": HTMLDuetChoiceElement;
3394
3456
  "duet-choice-group": HTMLDuetChoiceGroupElement;
3395
3457
  "duet-collapsible": HTMLDuetCollapsibleElement;
3458
+ "duet-combobox": HTMLDuetComboboxElement;
3396
3459
  "duet-cookie-consent": HTMLDuetCookieConsentElement;
3397
3460
  "duet-date-picker": HTMLDuetDatePickerElement;
3398
3461
  "duet-divider": HTMLDuetDividerElement;
@@ -4101,6 +4164,44 @@ declare namespace LocalJSX {
4101
4164
  */
4102
4165
  "theme"?: DuetTheme;
4103
4166
  }
4167
+ interface DuetCombobox {
4168
+ /**
4169
+ * Placeholder defaults
4170
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
4171
+ */
4172
+ "accessibleLabelDefaults"?: DuetLangObject | string;
4173
+ /**
4174
+ * Hint text to display before the user types into the date picker input.
4175
+ * @default { heading: "Valitse:", item: "{0}, ({1}/{2})", itemFiltered: "{0}, ({1}/{2} - {3} suodatettu" }
4176
+ */
4177
+ "accessibleLabels"?: Record<string, string>;
4178
+ /**
4179
+ * Force the user to make a selection (typing things in the input field will only be used for list search)
4180
+ */
4181
+ "force"?: boolean;
4182
+ /**
4183
+ * A hook to overwrite how the values are displayed in the input field after a User select an item
4184
+ * @example (item) => `${item.name} (${item.value})`
4185
+ * @default undefined
4186
+ */
4187
+ "formatter"?: (item: DuetComboboxItem) => string;
4188
+ /**
4189
+ * Array of item objects.
4190
+ */
4191
+ "items"?: any;
4192
+ /**
4193
+ * Emitted when a keyboard input occurred.
4194
+ */
4195
+ "onDuetChange"?: (event: CustomEvent<DuetComboboxEvent>) => void;
4196
+ /**
4197
+ * Theme of the combobox.
4198
+ */
4199
+ "theme"?: DuetTheme;
4200
+ /**
4201
+ * Object containing selected item/s
4202
+ */
4203
+ "value"?: string;
4204
+ }
4104
4205
  interface DuetCookieConsent {
4105
4206
  /**
4106
4207
  * Adds accessible label for the cookie consent ok button.
@@ -4160,6 +4261,10 @@ declare namespace LocalJSX {
4160
4261
  * Adds a unique identifier for the date picker input.
4161
4262
  */
4162
4263
  "identifier"?: string;
4264
+ /**
4265
+ * Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100
4266
+ */
4267
+ "incrementYears"?: number;
4163
4268
  /**
4164
4269
  * Label for the date picker input.
4165
4270
  */
@@ -4799,6 +4904,14 @@ declare namespace LocalJSX {
4799
4904
  * Indicates the id of a component that describes the input.
4800
4905
  */
4801
4906
  "accessibleDescribedBy"?: string;
4907
+ /**
4908
+ * Expanded state of the element, if needed
4909
+ */
4910
+ "accessibleExpanded"?: string;
4911
+ /**
4912
+ * Indicates value of any popup element associated with the input.
4913
+ */
4914
+ "accessibleHasPopup"?: string;
4802
4915
  /**
4803
4916
  * Indicates the id of a component owned by the input.
4804
4917
  */
@@ -6576,6 +6689,7 @@ declare namespace LocalJSX {
6576
6689
  "duet-choice": DuetChoice;
6577
6690
  "duet-choice-group": DuetChoiceGroup;
6578
6691
  "duet-collapsible": DuetCollapsible;
6692
+ "duet-combobox": DuetCombobox;
6579
6693
  "duet-cookie-consent": DuetCookieConsent;
6580
6694
  "duet-date-picker": DuetDatePicker;
6581
6695
  "duet-divider": DuetDivider;
@@ -6641,6 +6755,7 @@ declare module "@stencil/core" {
6641
6755
  "duet-choice": LocalJSX.DuetChoice & JSXBase.HTMLAttributes<HTMLDuetChoiceElement>;
6642
6756
  "duet-choice-group": LocalJSX.DuetChoiceGroup & JSXBase.HTMLAttributes<HTMLDuetChoiceGroupElement>;
6643
6757
  "duet-collapsible": LocalJSX.DuetCollapsible & JSXBase.HTMLAttributes<HTMLDuetCollapsibleElement>;
6758
+ "duet-combobox": LocalJSX.DuetCombobox & JSXBase.HTMLAttributes<HTMLDuetComboboxElement>;
6644
6759
  "duet-cookie-consent": LocalJSX.DuetCookieConsent & JSXBase.HTMLAttributes<HTMLDuetCookieConsentElement>;
6645
6760
  "duet-date-picker": LocalJSX.DuetDatePicker & JSXBase.HTMLAttributes<HTMLDuetDatePickerElement>;
6646
6761
  "duet-divider": LocalJSX.DuetDivider & JSXBase.HTMLAttributes<HTMLDuetDividerElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetds/components",
3
- "version": "5.0.3",
3
+ "version": "5.1.0",
4
4
  "description": "This package includes Duet Design System Web Components and related utilities.",
5
5
  "bugs": {
6
6
  "email": "duetdesignsystem@lahitapiola.fi"
@@ -48,15 +48,14 @@
48
48
  "copy:vscode": "copyfiles --flat \"./lib/html.html-data.json\" \"../vscode\""
49
49
  },
50
50
  "dependencies": {
51
- "body-scroll-lock": "3.1.5",
52
- "kill-process-by-name": "1.0.5"
51
+ "body-scroll-lock": "3.1.5"
53
52
  },
54
53
  "devDependencies": {
55
- "@duetds/fonts": "1.4.20",
56
- "@duetds/icons": "2.2.21",
54
+ "@duetds/fonts": "1.4.22",
55
+ "@duetds/icons": "2.2.23",
57
56
  "@duetds/stencil-angular-output-target": "0.0.2",
58
57
  "@duetds/stencil-react-output-target": "0.0.10",
59
- "@duetds/tokens": "2.4.16",
58
+ "@duetds/tokens": "2.5.5",
60
59
  "@koa/cors": "3.3.0",
61
60
  "@rollup/plugin-replace": "3.1.0",
62
61
  "@stencil/core": "2.15.0",
@@ -73,6 +72,7 @@
73
72
  "jest-environment-node": "26.6.2",
74
73
  "jest-image-snapshot": "4.5.1",
75
74
  "jest-junit": "12.3.0",
75
+ "kill-process-by-name": "1.0.5",
76
76
  "npm-run-all": "4.1.5",
77
77
  "onchange": "7.1.0",
78
78
  "prettier": "2.6.1",
@@ -88,5 +88,5 @@
88
88
  "collection": "lib/collection/collection-manifest.json",
89
89
  "es2015": "lib/esm/index.js",
90
90
  "es2017": "lib/esm/index.js",
91
- "gitHead": "870f91d9e42999bbd807e374cf2408d2ffd50f98"
91
+ "gitHead": "67efc168275e7621103c2c83ff6a1c3e0d9c5570"
92
92
  }
@@ -1,12 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- 'use strict';
5
-
6
- const inheritGlobalTheme = (component) => {
7
- if (component.theme !== "default" && document.documentElement.classList.contains("duet-theme-turva")) {
8
- component.theme = "turva";
9
- }
10
- };
11
-
12
- exports.inheritGlobalTheme = inheritGlobalTheme;