@duetds/components 6.2.4 → 6.2.5

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 (566) hide show
  1. package/hydrate/index.d.ts +1 -1
  2. package/hydrate/index.js +2257 -4172
  3. package/lib/cjs/{dom-96576bce.js → dom-bcfa684c.js} +1 -1
  4. package/lib/cjs/duet-action-button.cjs.entry.js +14 -77
  5. package/lib/cjs/duet-alert.cjs.entry.js +10 -42
  6. package/lib/cjs/duet-badge.cjs.entry.js +1 -10
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -10
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -4
  9. package/lib/cjs/duet-button_2.cjs.entry.js +30 -119
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +4 -78
  11. package/lib/cjs/duet-card.cjs.entry.js +16 -55
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +21 -49
  13. package/lib/cjs/duet-choice_2.cjs.entry.js +51 -152
  14. package/lib/cjs/duet-collapsible.cjs.entry.js +8 -41
  15. package/lib/cjs/duet-combobox.cjs.entry.js +26 -50
  16. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -9
  17. package/lib/cjs/duet-date-picker.cjs.entry.js +37 -108
  18. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -17
  19. package/lib/cjs/duet-editable-table_3.cjs.entry.js +163 -404
  20. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -10
  21. package/lib/cjs/duet-fieldset.cjs.entry.js +7 -13
  22. package/lib/cjs/duet-footer.cjs.entry.js +13 -42
  23. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -43
  24. package/lib/cjs/duet-header_2.cjs.entry.js +56 -163
  25. package/lib/cjs/duet-hero.cjs.entry.js +15 -90
  26. package/lib/cjs/duet-icon.cjs.entry.js +4 -35
  27. package/lib/cjs/duet-input_2.cjs.entry.js +41 -115
  28. package/lib/cjs/duet-layout.cjs.entry.js +1 -24
  29. package/lib/cjs/duet-list_2.cjs.entry.js +1 -23
  30. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -10
  31. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +4 -13
  32. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -10
  33. package/lib/cjs/duet-menu-bar-menu-dropdown-link.cjs.entry.js +1 -16
  34. package/lib/cjs/duet-menu-bar-menu-dropdown.cjs.entry.js +4 -13
  35. package/lib/cjs/duet-menu-bar-menu-link.cjs.entry.js +1 -13
  36. package/lib/cjs/duet-menu-bar-menu.cjs.entry.js +4 -13
  37. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -6
  38. package/lib/cjs/duet-modal.cjs.entry.js +4 -59
  39. package/lib/cjs/duet-multiselect.cjs.entry.js +18 -59
  40. package/lib/cjs/duet-nav.cjs.entry.js +2 -5
  41. package/lib/cjs/duet-notification_2.cjs.entry.js +15 -74
  42. package/lib/cjs/duet-number-input.cjs.entry.js +53 -142
  43. package/lib/cjs/duet-pagination_2.cjs.entry.js +51 -125
  44. package/lib/cjs/duet-progress.cjs.entry.js +4 -26
  45. package/lib/cjs/duet-radio_2.cjs.entry.js +36 -84
  46. package/lib/cjs/duet-range-slider.cjs.entry.js +21 -62
  47. package/lib/cjs/duet-scrollable_3.cjs.entry.js +25 -88
  48. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -7
  49. package/lib/cjs/duet-select.cjs.entry.js +25 -65
  50. package/lib/cjs/duet-step_2.cjs.entry.js +8 -34
  51. package/lib/cjs/duet-textarea.cjs.entry.js +31 -79
  52. package/lib/cjs/duet-toggle.cjs.entry.js +15 -38
  53. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -13
  54. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +5 -17
  55. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -13
  56. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -4
  57. package/lib/cjs/duet-tooltip.cjs.entry.js +25 -77
  58. package/lib/cjs/duet-tray.cjs.entry.js +11 -53
  59. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +8 -29
  60. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  61. package/lib/cjs/duet.cjs.js +4 -4
  62. package/lib/cjs/{focus-utils-25247ce1.js → focus-utils-18ea61a6.js} +1 -1
  63. package/lib/cjs/{index-e009343b.js → index-d2f05eb8.js} +1438 -1235
  64. package/lib/cjs/loader.cjs.js +3 -3
  65. package/lib/cjs/{shadow-css-38b9e725.js → shadow-css-1ea48714.js} +1 -1
  66. package/lib/collection/collection-manifest.json +2 -2
  67. package/lib/collection/common/a11y-component.js +0 -3
  68. package/lib/collection/common/form-components.js +0 -3
  69. package/lib/collection/components/duet-action-button/duet-action-button.js +403 -461
  70. package/lib/collection/components/duet-alert/duet-alert.js +259 -289
  71. package/lib/collection/components/duet-badge/duet-badge.js +84 -89
  72. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +96 -101
  73. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +47 -48
  74. package/lib/collection/components/duet-button/duet-button.js +838 -912
  75. package/lib/collection/components/duet-caption/duet-caption.js +96 -103
  76. package/lib/collection/components/duet-card/duet-card.js +381 -431
  77. package/lib/collection/components/duet-checkbox/duet-checkbox.js +476 -498
  78. package/lib/collection/components/duet-choice/duet-choice.js +731 -819
  79. package/lib/collection/components/duet-choice-group/duet-choice-group.js +282 -308
  80. package/lib/collection/components/duet-collapsible/duet-collapsible.js +208 -237
  81. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +1 -5
  82. package/lib/collection/components/duet-combobox/duet-combobox-select.js +1 -3
  83. package/lib/collection/components/duet-combobox/duet-combobox.css +47 -14
  84. package/lib/collection/components/duet-combobox/duet-combobox.js +257 -269
  85. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +77 -82
  86. package/lib/collection/components/duet-date-picker/date-picker-day.js +1 -3
  87. package/lib/collection/components/duet-date-picker/date-picker-input.js +1 -12
  88. package/lib/collection/components/duet-date-picker/date-picker-month.js +6 -12
  89. package/lib/collection/components/duet-date-picker/duet-date-picker.js +703 -795
  90. package/lib/collection/components/duet-divider/duet-divider.js +57 -57
  91. package/lib/collection/components/duet-editable-table/duet-editable-table.js +316 -381
  92. package/lib/collection/components/duet-empty-state/duet-empty-state.js +83 -90
  93. package/lib/collection/components/duet-fieldset/duet-fieldset.js +143 -153
  94. package/lib/collection/components/duet-footer/duet-footer.js +337 -378
  95. package/lib/collection/components/duet-grid/duet-grid.js +149 -162
  96. package/lib/collection/components/duet-grid-item/duet-grid-item.js +153 -164
  97. package/lib/collection/components/duet-header/duet-header-dropdown.js +11 -19
  98. package/lib/collection/components/duet-header/duet-header-hamburger.js +1 -5
  99. package/lib/collection/components/duet-header/duet-header-icon.js +1 -2
  100. package/lib/collection/components/duet-header/duet-header.js +872 -1023
  101. package/lib/collection/components/duet-heading/duet-heading.js +183 -200
  102. package/lib/collection/components/duet-hero/duet-hero.js +568 -660
  103. package/lib/collection/components/duet-icon/duet-icon.js +240 -263
  104. package/lib/collection/components/duet-input/duet-input.js +937 -1009
  105. package/lib/collection/components/duet-label/duet-label.js +95 -100
  106. package/lib/collection/components/duet-layout/duet-layout.js +163 -189
  107. package/lib/collection/components/duet-link/duet-link.js +204 -223
  108. package/lib/collection/components/duet-list/duet-list.js +181 -196
  109. package/lib/collection/components/duet-list-item/duet-list-item.js +12 -12
  110. package/lib/collection/components/duet-logo/duet-logo.js +171 -190
  111. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +45 -44
  112. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +100 -109
  113. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +75 -81
  114. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +72 -78
  115. package/lib/collection/components/duet-menu-bar-menu/duet-menu-bar-menu.js +100 -106
  116. package/lib/collection/components/duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.js +100 -109
  117. package/lib/collection/components/duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.js +110 -123
  118. package/lib/collection/components/duet-menu-bar-menu-link/duet-menu-bar-menu-link.js +89 -98
  119. package/lib/collection/components/duet-modal/duet-modal.js +466 -520
  120. package/lib/collection/components/duet-multiselect/duet-multiselect.js +411 -454
  121. package/lib/collection/components/duet-nav/duet-nav.js +78 -75
  122. package/lib/collection/components/duet-notification/duet-notification.js +201 -231
  123. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +284 -312
  124. package/lib/collection/components/duet-number-input/duet-number-input.js +851 -944
  125. package/lib/collection/components/duet-pagination/duet-pagination.js +374 -439
  126. package/lib/collection/components/duet-paragraph/duet-paragraph.js +140 -154
  127. package/lib/collection/components/duet-progress/duet-progress.js +223 -253
  128. package/lib/collection/components/duet-radio/duet-radio.js +519 -531
  129. package/lib/collection/components/duet-radio-group/duet-radio-group.js +282 -308
  130. package/lib/collection/components/duet-range-slider/duet-range-slider.js +468 -505
  131. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +187 -204
  132. package/lib/collection/components/duet-scrollable/duet-scrollable.js +98 -106
  133. package/lib/collection/components/duet-section-layout/duet-section-layout.js +58 -61
  134. package/lib/collection/components/duet-select/duet-select.js +565 -606
  135. package/lib/collection/components/duet-spacer/duet-spacer.js +77 -81
  136. package/lib/collection/components/duet-spinner/duet-spinner.js +99 -107
  137. package/lib/collection/components/duet-step/duet-step.js +206 -219
  138. package/lib/collection/components/duet-stepper/duet-stepper.js +148 -156
  139. package/lib/collection/components/duet-tab/duet-tab.js +95 -96
  140. package/lib/collection/components/duet-tab-group/duet-tab-group.js +367 -405
  141. package/lib/collection/components/duet-table/duet-table.js +144 -160
  142. package/lib/collection/components/duet-textarea/duet-textarea.js +694 -747
  143. package/lib/collection/components/duet-toggle/duet-toggle.js +388 -404
  144. package/lib/collection/components/duet-toolbar/duet-toolbar.js +38 -38
  145. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +123 -135
  146. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +93 -102
  147. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +89 -98
  148. package/lib/collection/components/duet-tooltip/duet-tooltip.js +349 -401
  149. package/lib/collection/components/duet-tray/duet-tray.js +235 -276
  150. package/lib/collection/components/duet-upload/duet-upload.js +1371 -1549
  151. package/lib/collection/components/duet-upload/upload-editable-item-error.js +1 -6
  152. package/lib/collection/components/duet-upload/upload-editable-item-inprogres.js +1 -6
  153. package/lib/collection/components/duet-upload/upload-editable-item-pending.js +1 -4
  154. package/lib/collection/components/duet-upload/upload-editable-item-success.js +5 -21
  155. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +137 -153
  156. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +12 -9
  157. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  158. package/lib/dist-custom-elements/duet-alert.js +1 -1
  159. package/lib/dist-custom-elements/duet-badge.js +1 -1
  160. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -11
  161. package/lib/dist-custom-elements/duet-breadcrumbs.js +3 -5
  162. package/lib/dist-custom-elements/duet-button.js +1 -1
  163. package/lib/dist-custom-elements/duet-caption.js +1 -1
  164. package/lib/dist-custom-elements/duet-card.js +19 -58
  165. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  166. package/lib/dist-custom-elements/duet-choice-group.js +19 -49
  167. package/lib/dist-custom-elements/duet-choice.js +42 -113
  168. package/lib/dist-custom-elements/duet-collapsible.js +10 -43
  169. package/lib/dist-custom-elements/duet-combobox.js +29 -59
  170. package/lib/dist-custom-elements/duet-cookie-consent.js +8 -14
  171. package/lib/dist-custom-elements/duet-date-picker.js +45 -116
  172. package/lib/dist-custom-elements/duet-divider.js +1 -1
  173. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  174. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  175. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  176. package/lib/dist-custom-elements/duet-footer.js +16 -45
  177. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  178. package/lib/dist-custom-elements/duet-grid.js +1 -1
  179. package/lib/dist-custom-elements/duet-header.js +65 -152
  180. package/lib/dist-custom-elements/duet-heading.js +1 -1
  181. package/lib/dist-custom-elements/duet-hero.js +23 -98
  182. package/lib/dist-custom-elements/duet-icon.js +1 -1
  183. package/lib/dist-custom-elements/duet-input.js +1 -1
  184. package/lib/dist-custom-elements/duet-label.js +1 -1
  185. package/lib/dist-custom-elements/duet-layout.js +1 -24
  186. package/lib/dist-custom-elements/duet-link.js +1 -1
  187. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  188. package/lib/dist-custom-elements/duet-list.js +1 -1
  189. package/lib/dist-custom-elements/duet-logo.js +1 -1
  190. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -11
  191. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +5 -14
  192. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -11
  193. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown-link.js +2 -17
  194. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown.js +5 -14
  195. package/lib/dist-custom-elements/duet-menu-bar-menu-link.js +2 -14
  196. package/lib/dist-custom-elements/duet-menu-bar-menu.js +4 -13
  197. package/lib/dist-custom-elements/duet-menu-bar.js +5 -8
  198. package/lib/dist-custom-elements/duet-modal.js +10 -65
  199. package/lib/dist-custom-elements/duet-multiselect.js +25 -66
  200. package/lib/dist-custom-elements/duet-nav.js +2 -5
  201. package/lib/dist-custom-elements/duet-notification-drawer.js +18 -48
  202. package/lib/dist-custom-elements/duet-notification.js +2 -31
  203. package/lib/dist-custom-elements/duet-number-input.js +59 -148
  204. package/lib/dist-custom-elements/duet-pagination.js +51 -101
  205. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  206. package/lib/dist-custom-elements/duet-progress.js +1 -1
  207. package/lib/dist-custom-elements/duet-radio-group.js +19 -49
  208. package/lib/dist-custom-elements/duet-radio.js +23 -41
  209. package/lib/dist-custom-elements/duet-range-slider.js +23 -64
  210. package/lib/dist-custom-elements/duet-range-stepper.js +10 -34
  211. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  212. package/lib/dist-custom-elements/duet-section-layout.js +1 -7
  213. package/lib/dist-custom-elements/duet-select.js +1 -1
  214. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  215. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  216. package/lib/dist-custom-elements/duet-step.js +11 -20
  217. package/lib/dist-custom-elements/duet-stepper.js +2 -19
  218. package/lib/dist-custom-elements/duet-tab-group.js +26 -72
  219. package/lib/dist-custom-elements/duet-tab.js +3 -9
  220. package/lib/dist-custom-elements/duet-table.js +1 -1
  221. package/lib/dist-custom-elements/duet-textarea.js +38 -86
  222. package/lib/dist-custom-elements/duet-toggle.js +16 -39
  223. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -14
  224. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -18
  225. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -14
  226. package/lib/dist-custom-elements/duet-toolbar.js +1 -4
  227. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  228. package/lib/dist-custom-elements/duet-tray.js +14 -56
  229. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  230. package/lib/dist-custom-elements/duet-upload.js +165 -332
  231. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  232. package/lib/dist-custom-elements/index.d.ts +75 -5
  233. package/lib/dist-custom-elements/index.js +76 -1
  234. package/lib/dist-custom-elements/{p-ca2b02bc.js → p-0cc49790.js} +3 -25
  235. package/lib/dist-custom-elements/{p-1f03397c.js → p-0ef384ca.js} +7 -30
  236. package/lib/dist-custom-elements/{p-70d1ca9f.js → p-10feffd3.js} +1 -1
  237. package/lib/dist-custom-elements/{p-4367369a.js → p-14a163e6.js} +475 -272
  238. package/lib/dist-custom-elements/{p-e987e04b.js → p-25d4fffb.js} +1 -11
  239. package/lib/dist-custom-elements/{p-862c60cc.js → p-354f8a94.js} +3 -16
  240. package/lib/dist-custom-elements/{p-c5d74817.js → p-37dd7faf.js} +2 -22
  241. package/lib/dist-custom-elements/{p-e57df145.js → p-4115062c.js} +2 -25
  242. package/lib/dist-custom-elements/{p-ed503468.js → p-4447816d.js} +3 -20
  243. package/lib/dist-custom-elements/{p-9ed347f9.js → p-535ce3ec.js} +1 -1
  244. package/lib/dist-custom-elements/{p-33e00967.js → p-55325c49.js} +1 -1
  245. package/lib/dist-custom-elements/{p-1fef1f90.js → p-65ee8608.js} +8 -14
  246. package/lib/dist-custom-elements/{p-3fa8edce.js → p-737dd784.js} +45 -111
  247. package/lib/dist-custom-elements/{p-c4d8cad0.js → p-738bd3c5.js} +1 -1
  248. package/lib/dist-custom-elements/{p-6e81048c.js → p-7958dc0c.js} +30 -70
  249. package/lib/dist-custom-elements/{p-2a509b17.js → p-82fec063.js} +2 -21
  250. package/lib/dist-custom-elements/{p-279dedcd.js → p-88d217a7.js} +2 -11
  251. package/lib/dist-custom-elements/{p-f51d88cc.js → p-9245c901.js} +2 -10
  252. package/lib/dist-custom-elements/{p-dcffd5be.js → p-94eae3e6.js} +1 -7
  253. package/lib/dist-custom-elements/{p-0b8f16f1.js → p-9986919d.js} +1 -1
  254. package/lib/dist-custom-elements/{p-bd4ab88c.js → p-9fef7d37.js} +21 -49
  255. package/lib/dist-custom-elements/{p-0347f9ec.js → p-a1212d29.js} +1 -1
  256. package/lib/dist-custom-elements/{p-29b4f008.js → p-ad7292b3.js} +5 -26
  257. package/lib/dist-custom-elements/{p-9cfc3bee.js → p-af2e8de4.js} +14 -46
  258. package/lib/dist-custom-elements/{p-396cb7a5.js → p-b5ea480c.js} +9 -30
  259. package/lib/dist-custom-elements/{p-4bb2e37b.js → p-bd64a84d.js} +6 -17
  260. package/lib/dist-custom-elements/{p-0938933e.js → p-cab1e8a0.js} +20 -71
  261. package/lib/dist-custom-elements/{p-8c0cf877.js → p-d2402b45.js} +27 -79
  262. package/lib/dist-custom-elements/{p-b89983b2.js → p-d34c42bc.js} +1 -10
  263. package/lib/dist-custom-elements/{p-f674e164.js → p-d628dd87.js} +17 -80
  264. package/lib/dist-custom-elements/{p-c4165359.js → p-db135ec9.js} +1 -13
  265. package/lib/dist-custom-elements/{p-d4c234ed.js → p-e2cd1c98.js} +1 -1
  266. package/lib/dist-custom-elements/{p-b9058029.js → p-e4a60f42.js} +8 -0
  267. package/lib/dist-custom-elements/{p-b4b809ff.js → p-eb6fc032.js} +33 -109
  268. package/lib/dist-custom-elements/{p-464a80f2.js → p-f7c0e5bf.js} +1 -23
  269. package/lib/dist-custom-elements/{p-908c1151.js → p-fddad5df.js} +5 -36
  270. package/lib/dist-custom-elements/{p-1302f6e8.js → p-fed8d27a.js} +5 -27
  271. package/lib/duet/duet.esm.js +1 -1
  272. package/lib/duet/duet.js +2 -1
  273. package/lib/duet/{p-fe87f458.system.entry.js → p-00ee31e2.system.entry.js} +1 -1
  274. package/lib/duet/{p-5d9ec5ef.entry.js → p-0169eb09.entry.js} +1 -1
  275. package/lib/duet/{p-a585455c.system.entry.js → p-0236fc28.system.entry.js} +1 -1
  276. package/lib/duet/p-0285e5d3.entry.js +4 -0
  277. package/lib/duet/{p-fc2cda87.system.entry.js → p-028da443.system.entry.js} +2 -2
  278. package/lib/duet/{p-b09e3f47.system.entry.js → p-0426e86f.system.entry.js} +1 -1
  279. package/lib/duet/{p-7ea15c5c.system.entry.js → p-06c01b8a.system.entry.js} +1 -1
  280. package/lib/duet/{p-3b31184e.js → p-07970d29.js} +0 -0
  281. package/lib/duet/{p-ad0cf0f5.system.entry.js → p-09e9e6e0.system.entry.js} +2 -2
  282. package/lib/duet/p-0aae8ebf.entry.js +4 -0
  283. package/lib/duet/{p-526c88d9.system.entry.js → p-0c519c1f.system.entry.js} +1 -1
  284. package/lib/duet/p-0d218007.entry.js +4 -0
  285. package/lib/duet/p-0d6723f5.entry.js +4 -0
  286. package/lib/duet/p-0e1a3c6d.entry.js +4 -0
  287. package/lib/duet/{p-e60b3dc2.entry.js → p-0f8e4b6a.entry.js} +1 -1
  288. package/lib/duet/p-0fc0e90e.entry.js +4 -0
  289. package/lib/duet/{p-a5f977bc.system.entry.js → p-10b1ea3e.system.entry.js} +2 -2
  290. package/lib/duet/{p-32c587da.entry.js → p-1184c37e.entry.js} +1 -1
  291. package/lib/duet/{p-ce3fc2bd.entry.js → p-11c58a6b.entry.js} +1 -1
  292. package/lib/duet/p-14cca806.entry.js +4 -0
  293. package/lib/duet/{p-a2d89ed8.system.entry.js → p-14e93ad6.system.entry.js} +1 -1
  294. package/lib/duet/{p-2cf9ce9f.system.entry.js → p-16b61523.system.entry.js} +2 -2
  295. package/lib/duet/p-16cbd476.entry.js +4 -0
  296. package/lib/duet/{p-f5149c67.entry.js → p-1833941e.entry.js} +1 -1
  297. package/lib/duet/{p-15743dbe.system.entry.js → p-1a45eddb.system.entry.js} +1 -1
  298. package/lib/duet/{p-37b5759b.entry.js → p-1b63c3bf.entry.js} +1 -1
  299. package/lib/duet/p-1e442975.entry.js +4 -0
  300. package/lib/duet/{p-22793750.entry.js → p-27a1c897.entry.js} +1 -1
  301. package/lib/duet/{p-a4575910.entry.js → p-2c5b761d.entry.js} +1 -1
  302. package/lib/duet/{p-1b4da2a6.entry.js → p-2cbe5fe4.entry.js} +1 -1
  303. package/lib/duet/{p-ace82109.system.entry.js → p-2f0f8b9e.system.entry.js} +2 -2
  304. package/lib/duet/{p-b0fa24ea.system.entry.js → p-326d3440.system.entry.js} +1 -1
  305. package/lib/duet/{p-74edab4b.system.entry.js → p-394efc25.system.entry.js} +1 -1
  306. package/lib/duet/{p-bb2dab53.system.entry.js → p-400f8e9d.system.entry.js} +2 -2
  307. package/lib/duet/{p-21e8b3cb.system.entry.js → p-43750071.system.entry.js} +1 -1
  308. package/lib/duet/{p-995fe7b5.entry.js → p-45b0469f.entry.js} +1 -1
  309. package/lib/duet/p-4644616b.entry.js +4 -0
  310. package/lib/duet/{p-48d5c614.entry.js → p-4c96e54d.entry.js} +1 -1
  311. package/lib/duet/{p-f084d355.system.entry.js → p-4d1a5b9e.system.entry.js} +1 -1
  312. package/lib/duet/{p-fc34b8a0.system.entry.js → p-4e2db855.system.entry.js} +1 -1
  313. package/lib/duet/{p-e7196c1b.system.entry.js → p-5214682e.system.entry.js} +1 -1
  314. package/lib/duet/{p-c8ba8ed5.system.entry.js → p-575e4d53.system.entry.js} +1 -1
  315. package/lib/duet/{p-e1dc6e7f.system.entry.js → p-58de4753.system.entry.js} +1 -1
  316. package/lib/duet/p-592bcdd4.entry.js +4 -0
  317. package/lib/duet/{p-1b3fc470.system.entry.js → p-5b00d0cf.system.entry.js} +1 -1
  318. package/lib/duet/p-5bffb89f.entry.js +4 -0
  319. package/lib/duet/{p-93138df9.entry.js → p-5e134670.entry.js} +1 -1
  320. package/lib/duet/p-60c70efa.entry.js +4 -0
  321. package/lib/duet/p-61f8dd7f.system.entry.js +4 -0
  322. package/lib/duet/{p-7ac15184.system.entry.js → p-63cb7308.system.entry.js} +1 -1
  323. package/lib/duet/p-696d99ff.system.entry.js +4 -0
  324. package/lib/duet/p-6999702a.js +5 -0
  325. package/lib/duet/p-6db0f8c0.entry.js +4 -0
  326. package/lib/duet/{p-caf8cc5f.system.entry.js → p-6f2e72e2.system.entry.js} +2 -2
  327. package/lib/duet/{p-b668b67c.system.js → p-73900354.system.js} +0 -0
  328. package/lib/duet/{p-fc200674.system.entry.js → p-758c0528.system.entry.js} +2 -2
  329. package/lib/duet/{p-436b415a.system.entry.js → p-79c8d35c.system.entry.js} +1 -1
  330. package/lib/duet/{p-6226ebc9.entry.js → p-7ccf8ef9.entry.js} +1 -1
  331. package/lib/duet/{p-5a61c374.system.entry.js → p-7e67fedc.system.entry.js} +1 -1
  332. package/lib/duet/{p-aa10446f.system.entry.js → p-7fcbf80a.system.entry.js} +1 -1
  333. package/lib/duet/{p-a57f8242.entry.js → p-81313736.entry.js} +1 -1
  334. package/lib/duet/{p-a5dcf047.entry.js → p-81e66ef1.entry.js} +1 -1
  335. package/lib/duet/p-8512b463.js +4 -0
  336. package/lib/duet/p-855f9e2a.system.entry.js +4 -0
  337. package/lib/duet/{p-c4f57811.entry.js → p-8681c6e0.entry.js} +1 -1
  338. package/lib/duet/p-89bf7be7.entry.js +4 -0
  339. package/lib/duet/{p-1c2bc99b.system.entry.js → p-8a47d599.system.entry.js} +1 -1
  340. package/lib/duet/{p-ebbe496d.entry.js → p-8f6cf5d1.entry.js} +1 -1
  341. package/lib/duet/{p-0734bdd5.system.entry.js → p-90ea4509.system.entry.js} +1 -1
  342. package/lib/duet/p-9101f9ed.entry.js +4 -0
  343. package/lib/duet/{p-14e5b2e7.system.entry.js → p-914c3280.system.entry.js} +1 -1
  344. package/lib/duet/{p-9ea3b585.system.entry.js → p-948d492d.system.entry.js} +2 -2
  345. package/lib/duet/{p-daa920e3.system.entry.js → p-9a14ca19.system.entry.js} +1 -1
  346. package/lib/duet/{p-41110e9b.system.entry.js → p-9f60735a.system.entry.js} +1 -1
  347. package/lib/duet/p-a8d942ea.entry.js +4 -0
  348. package/lib/duet/{p-fe0cb2a5.entry.js → p-ac4c233b.entry.js} +1 -1
  349. package/lib/duet/p-acea52f5.entry.js +4 -0
  350. package/lib/duet/{p-bf4e00b1.system.entry.js → p-b180a4e2.system.entry.js} +1 -1
  351. package/lib/duet/{p-c0732300.system.entry.js → p-b2688afc.system.entry.js} +1 -1
  352. package/lib/duet/p-b293c2ff.entry.js +4 -0
  353. package/lib/duet/{p-2bcf54bb.entry.js → p-b2c913ea.entry.js} +1 -1
  354. package/lib/duet/p-b3046425.entry.js +4 -0
  355. package/lib/duet/p-b5dc8a8f.system.entry.js +4 -0
  356. package/lib/duet/{p-d448c7fc.system.entry.js → p-b821b721.system.entry.js} +1 -1
  357. package/lib/duet/p-bc2c1014.entry.js +4 -0
  358. package/lib/duet/{p-4c7ae11f.system.entry.js → p-bcd4a927.system.entry.js} +1 -1
  359. package/lib/duet/p-c12ecca9.entry.js +4 -0
  360. package/lib/duet/p-c17cae49.entry.js +4 -0
  361. package/lib/duet/p-c2c48bb2.entry.js +4 -0
  362. package/lib/duet/{p-870e88b7.system.entry.js → p-c3a0505e.system.entry.js} +1 -1
  363. package/lib/duet/{p-15b79ed1.entry.js → p-c41bfab0.entry.js} +1 -1
  364. package/lib/duet/{p-9e5192fd.entry.js → p-c4932f05.entry.js} +1 -1
  365. package/lib/duet/{p-8755500b.entry.js → p-c5e54be9.entry.js} +1 -1
  366. package/lib/duet/p-cf11b05b.entry.js +4 -0
  367. package/lib/duet/{p-d1da9fe1.system.entry.js → p-d0f1d25f.system.entry.js} +1 -1
  368. package/lib/duet/p-d16434dc.entry.js +4 -0
  369. package/lib/duet/{p-ed024bd6.entry.js → p-d2ef832d.entry.js} +1 -1
  370. package/lib/duet/{p-eb168145.system.js → p-d58991bc.system.js} +1 -1
  371. package/lib/duet/p-d971be46.entry.js +4 -0
  372. package/lib/duet/{p-ff46ec81.system.js → p-da0d4ee3.system.js} +0 -0
  373. package/lib/duet/p-da803459.entry.js +4 -0
  374. package/lib/duet/{p-eb94a92c.system.entry.js → p-daa20c36.system.entry.js} +1 -1
  375. package/lib/duet/{p-7e0d3659.entry.js → p-dbddb719.entry.js} +1 -1
  376. package/lib/duet/{p-5bbac6e9.system.entry.js → p-dc18b76c.system.entry.js} +1 -1
  377. package/lib/duet/p-dc51f077.entry.js +4 -0
  378. package/lib/duet/{p-db64d031.system.entry.js → p-dd676f12.system.entry.js} +1 -1
  379. package/lib/duet/{p-176c64c4.system.entry.js → p-dfcbf758.system.entry.js} +1 -1
  380. package/lib/duet/{p-d4c234ed.js → p-e2cd1c98.js} +0 -0
  381. package/lib/duet/{p-71e54f66.system.entry.js → p-e621c31c.system.entry.js} +1 -1
  382. package/lib/duet/p-e71a6257.system.js +5 -0
  383. package/lib/duet/{p-f8133fe1.system.entry.js → p-ea8e5649.system.entry.js} +1 -1
  384. package/lib/duet/{p-617872b5.system.entry.js → p-ebc09697.system.entry.js} +1 -1
  385. package/lib/duet/{p-66f1bdce.entry.js → p-ec635593.entry.js} +1 -1
  386. package/lib/duet/p-ef3f4213.entry.js +4 -0
  387. package/lib/duet/{p-61baccc6.system.entry.js → p-f01d234f.system.entry.js} +1 -1
  388. package/lib/duet/p-f150740b.entry.js +4 -0
  389. package/lib/duet/{p-71f1a210.system.entry.js → p-f2bcb922.system.entry.js} +1 -1
  390. package/lib/duet/{p-67a7ac4f.entry.js → p-f3d0d889.entry.js} +1 -1
  391. package/lib/duet/{p-a629e72a.system.entry.js → p-f6712ec8.system.entry.js} +1 -1
  392. package/lib/duet/{p-d164cdeb.system.entry.js → p-f678edf7.system.entry.js} +1 -1
  393. package/lib/duet/p-f7453c05.system.entry.js +4 -0
  394. package/lib/duet/{p-2e71b284.system.js → p-f9133dc5.system.js} +1 -1
  395. package/lib/duet/{p-465c7f64.system.entry.js → p-f9afad76.system.entry.js} +1 -1
  396. package/lib/esm/{dom-3dbcb0d8.js → dom-4d9c03f4.js} +1 -1
  397. package/lib/esm/duet-action-button.entry.js +14 -77
  398. package/lib/esm/duet-alert.entry.js +10 -42
  399. package/lib/esm/duet-badge.entry.js +1 -10
  400. package/lib/esm/duet-breadcrumb.entry.js +2 -10
  401. package/lib/esm/duet-breadcrumbs.entry.js +2 -4
  402. package/lib/esm/duet-button_2.entry.js +30 -119
  403. package/lib/esm/duet-caption_4.entry.js +4 -78
  404. package/lib/esm/duet-card.entry.js +16 -55
  405. package/lib/esm/duet-checkbox.entry.js +21 -49
  406. package/lib/esm/duet-choice_2.entry.js +51 -152
  407. package/lib/esm/duet-collapsible.entry.js +8 -41
  408. package/lib/esm/duet-combobox.entry.js +26 -50
  409. package/lib/esm/duet-cookie-consent.entry.js +3 -9
  410. package/lib/esm/duet-date-picker.entry.js +37 -108
  411. package/lib/esm/duet-divider_2.entry.js +1 -17
  412. package/lib/esm/duet-editable-table_3.entry.js +163 -404
  413. package/lib/esm/duet-empty-state.entry.js +1 -10
  414. package/lib/esm/duet-fieldset.entry.js +7 -13
  415. package/lib/esm/duet-footer.entry.js +13 -42
  416. package/lib/esm/duet-grid_2.entry.js +3 -43
  417. package/lib/esm/duet-header_2.entry.js +56 -163
  418. package/lib/esm/duet-hero.entry.js +15 -90
  419. package/lib/esm/duet-icon.entry.js +4 -35
  420. package/lib/esm/duet-input_2.entry.js +41 -115
  421. package/lib/esm/duet-layout.entry.js +1 -24
  422. package/lib/esm/duet-list_2.entry.js +1 -23
  423. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -10
  424. package/lib/esm/duet-menu-bar-dropdown.entry.js +4 -13
  425. package/lib/esm/duet-menu-bar-link.entry.js +1 -10
  426. package/lib/esm/duet-menu-bar-menu-dropdown-link.entry.js +1 -16
  427. package/lib/esm/duet-menu-bar-menu-dropdown.entry.js +4 -13
  428. package/lib/esm/duet-menu-bar-menu-link.entry.js +1 -13
  429. package/lib/esm/duet-menu-bar-menu.entry.js +4 -13
  430. package/lib/esm/duet-menu-bar.entry.js +3 -6
  431. package/lib/esm/duet-modal.entry.js +4 -59
  432. package/lib/esm/duet-multiselect.entry.js +18 -59
  433. package/lib/esm/duet-nav.entry.js +2 -5
  434. package/lib/esm/duet-notification_2.entry.js +15 -74
  435. package/lib/esm/duet-number-input.entry.js +53 -142
  436. package/lib/esm/duet-pagination_2.entry.js +51 -125
  437. package/lib/esm/duet-progress.entry.js +4 -26
  438. package/lib/esm/duet-radio_2.entry.js +36 -84
  439. package/lib/esm/duet-range-slider.entry.js +21 -62
  440. package/lib/esm/duet-scrollable_3.entry.js +25 -88
  441. package/lib/esm/duet-section-layout.entry.js +1 -7
  442. package/lib/esm/duet-select.entry.js +25 -65
  443. package/lib/esm/duet-step_2.entry.js +8 -34
  444. package/lib/esm/duet-textarea.entry.js +31 -79
  445. package/lib/esm/duet-toggle.entry.js +15 -38
  446. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -13
  447. package/lib/esm/duet-toolbar-dropdown.entry.js +5 -17
  448. package/lib/esm/duet-toolbar-link.entry.js +1 -13
  449. package/lib/esm/duet-toolbar.entry.js +1 -4
  450. package/lib/esm/duet-tooltip.entry.js +25 -77
  451. package/lib/esm/duet-tray.entry.js +11 -53
  452. package/lib/esm/duet-upload-aria-status.entry.js +8 -29
  453. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  454. package/lib/esm/duet.js +4 -4
  455. package/lib/esm/{focus-utils-c6e25a2b.js → focus-utils-abaea1e6.js} +1 -1
  456. package/lib/esm/{index-adbabdb3.js → index-4df60498.js} +1438 -1235
  457. package/lib/esm/loader.js +3 -3
  458. package/lib/esm/polyfills/css-shim.js +1 -1
  459. package/lib/esm/{shadow-css-501eda9a.js → shadow-css-a011f1fe.js} +1 -1
  460. package/lib/esm-es5/{dom-3dbcb0d8.js → dom-4d9c03f4.js} +0 -0
  461. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  462. package/lib/esm-es5/duet-alert.entry.js +1 -1
  463. package/lib/esm-es5/duet-badge.entry.js +1 -1
  464. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  465. package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
  466. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  467. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  468. package/lib/esm-es5/duet-card.entry.js +1 -1
  469. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  470. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  471. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  472. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  473. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  474. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  475. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  476. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  477. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  478. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  479. package/lib/esm-es5/duet-footer.entry.js +2 -2
  480. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  481. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  482. package/lib/esm-es5/duet-hero.entry.js +1 -1
  483. package/lib/esm-es5/duet-icon.entry.js +2 -2
  484. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  485. package/lib/esm-es5/duet-layout.entry.js +1 -1
  486. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  487. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  488. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  489. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  490. package/lib/esm-es5/duet-menu-bar-menu-dropdown-link.entry.js +1 -1
  491. package/lib/esm-es5/duet-menu-bar-menu-dropdown.entry.js +1 -1
  492. package/lib/esm-es5/duet-menu-bar-menu-link.entry.js +1 -1
  493. package/lib/esm-es5/duet-menu-bar-menu.entry.js +1 -1
  494. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  495. package/lib/esm-es5/duet-modal.entry.js +2 -2
  496. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  497. package/lib/esm-es5/duet-nav.entry.js +1 -1
  498. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  499. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  500. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  501. package/lib/esm-es5/duet-progress.entry.js +1 -1
  502. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  503. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  504. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  505. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  506. package/lib/esm-es5/duet-select.entry.js +2 -2
  507. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  508. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  509. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  510. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  511. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  512. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  513. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  514. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  515. package/lib/esm-es5/duet-tray.entry.js +1 -1
  516. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  517. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  518. package/lib/esm-es5/duet.js +1 -1
  519. package/lib/esm-es5/{focus-utils-c6e25a2b.js → focus-utils-abaea1e6.js} +1 -1
  520. package/lib/esm-es5/index-4df60498.js +5 -0
  521. package/lib/esm-es5/loader.js +1 -1
  522. package/lib/esm-es5/{shadow-css-501eda9a.js → shadow-css-a011f1fe.js} +0 -0
  523. package/lib/loader/package.json +1 -0
  524. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -2
  525. package/lib/types/stencil-public-runtime.d.ts +20 -4
  526. package/package.json +8 -10
  527. package/lib/duet/p-03ac8c12.entry.js +0 -4
  528. package/lib/duet/p-0b0b1a31.js +0 -4
  529. package/lib/duet/p-2482298d.entry.js +0 -4
  530. package/lib/duet/p-2be7affe.system.entry.js +0 -4
  531. package/lib/duet/p-2e2eca0e.entry.js +0 -4
  532. package/lib/duet/p-3198246d.system.entry.js +0 -4
  533. package/lib/duet/p-31a8380d.entry.js +0 -4
  534. package/lib/duet/p-3d96bd35.entry.js +0 -4
  535. package/lib/duet/p-4fd9fab5.entry.js +0 -4
  536. package/lib/duet/p-570786a7.system.entry.js +0 -4
  537. package/lib/duet/p-5be11a3f.entry.js +0 -4
  538. package/lib/duet/p-6198dd87.entry.js +0 -4
  539. package/lib/duet/p-6ef4c26f.system.entry.js +0 -4
  540. package/lib/duet/p-73b1bfff.system.js +0 -5
  541. package/lib/duet/p-74a85e06.entry.js +0 -4
  542. package/lib/duet/p-8e12f166.entry.js +0 -4
  543. package/lib/duet/p-8e83ab80.entry.js +0 -4
  544. package/lib/duet/p-925f5739.entry.js +0 -4
  545. package/lib/duet/p-aeee20b5.system.entry.js +0 -4
  546. package/lib/duet/p-b252c6c7.entry.js +0 -4
  547. package/lib/duet/p-b28b7458.entry.js +0 -4
  548. package/lib/duet/p-bbc7c22c.js +0 -5
  549. package/lib/duet/p-bce4669c.entry.js +0 -4
  550. package/lib/duet/p-bf165746.entry.js +0 -4
  551. package/lib/duet/p-c4375ca3.entry.js +0 -4
  552. package/lib/duet/p-cd5358ce.entry.js +0 -4
  553. package/lib/duet/p-d770b87e.entry.js +0 -4
  554. package/lib/duet/p-d7d944f5.entry.js +0 -4
  555. package/lib/duet/p-d7fa0c7c.entry.js +0 -4
  556. package/lib/duet/p-d83f8247.entry.js +0 -4
  557. package/lib/duet/p-dc9b21ad.entry.js +0 -4
  558. package/lib/duet/p-dcf2df11.entry.js +0 -4
  559. package/lib/duet/p-de024983.entry.js +0 -4
  560. package/lib/duet/p-e01e9f71.entry.js +0 -4
  561. package/lib/duet/p-e7808045.entry.js +0 -4
  562. package/lib/duet/p-e9cf0568.entry.js +0 -4
  563. package/lib/duet/p-f015180c.entry.js +0 -4
  564. package/lib/duet/p-f0e4ccb6.entry.js +0 -4
  565. package/lib/duet/p-f0f8a1fd.entry.js +0 -4
  566. package/lib/esm-es5/index-adbabdb3.js +0 -5
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { Component, Element, Event, h, Host, Method, Prop, Watch, } from "@stencil/core";
4
+ import { h, Host, } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common";
6
6
  import { createID } from "../../utils/create-id";
7
7
  import { cleanValue } from "../../utils/input-utils";
@@ -12,13 +12,7 @@ const CharacterCount = ({ value, maxlength, label, theme }) => {
12
12
  const length = value.length;
13
13
  const remainder = Math.max(maxlength - length, 0); // ensure we never have negative numbers
14
14
  const isApproachingLimit = remainder / maxlength <= 0.1; // <= 10% chars remaining
15
- return (h("div", { class: "duet-character-count" },
16
- h("duet-caption", { margin: "none", theme: theme, size: "small" },
17
- h("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", class: "duet-textarea-counter-remaining" }, isApproachingLimit && `${remainder} ${label}`),
18
- h("span", { "aria-hidden": "true" },
19
- length,
20
- "/",
21
- maxlength))));
15
+ return (h("div", { class: "duet-character-count" }, h("duet-caption", { margin: "none", theme: theme, size: "small" }, h("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", class: "duet-textarea-counter-remaining" }, isApproachingLimit && `${remainder} ${label}`), h("span", { "aria-hidden": "true" }, length, "/", maxlength))));
22
16
  };
23
17
  export class DuetTextarea {
24
18
  constructor() {
@@ -31,84 +25,6 @@ export class DuetTextarea {
31
25
  this.labelId = createID("DuetLabel");
32
26
  this.errorId = createID("DuetError");
33
27
  this.disallowPatternRegex = null;
34
- /**
35
- * Controls the margin of the component.
36
- */
37
- this.margin = "auto";
38
- /**
39
- * Aria Details of the component
40
- */
41
- this.accessibleDetails = undefined;
42
- /**
43
- * String of id's that indicate alternative labels elements
44
- */
45
- this.accessibleLabelledBy = undefined;
46
- /**
47
- * Aria description the button
48
- */
49
- this.accessibleDescription = undefined;
50
- /**
51
- * Theme of the textarea.
52
- */
53
- this.theme = "";
54
- /**
55
- * Expands the textarea to fill 100% of the container width.
56
- */
57
- this.expand = false;
58
- /**
59
- * Makes the textarea component disabled. This prevents users from being able
60
- * to interact with the textarea, and conveys its inactive state to assistive
61
- * technologies.
62
- */
63
- this.disabled = false;
64
- /**
65
- * Set whether the textarea is required or not. Please note that this is required for
66
- * accessible inputs when the user is required to fill them. When using this property
67
- * you need to also set “novalidate” attribute to your form element to prevent
68
- * browser from displaying its own validation errors.
69
- */
70
- this.required = false;
71
- /**
72
- * Label for the textarea.
73
- */
74
- this.label = "label";
75
- /**
76
- * Visually hide the label, but still show it to screen readers.
77
- */
78
- this.labelHidden = false;
79
- /**
80
- * If form input field has a placeholder text, and user types anything (causing the text to dissapear),
81
- * settings this to true will "echo" it into the caption slot - this option will be false by default for the next few versions, but will eventually be true by default (scheduled for 4.30.0)
82
- */
83
- this.echoPlaceholder = false;
84
- /**
85
- * Display the textarea in error state along with an error message.
86
- */
87
- this.error = "";
88
- /**
89
- * Tooltip to display next to the label of the input.
90
- */
91
- this.tooltip = "";
92
- /**
93
- * With direction setting you can force the tooltip to always open towards left
94
- * or right instead of automatically determining the direction.
95
- */
96
- this.tooltipDirection = "auto";
97
- /**
98
- * Value of the textarea.
99
- */
100
- this.value = "";
101
- /**
102
- * A regular expression that matches any characters which should be *disallowed*.
103
- * This differs from `pattern`, as it actively prevents users entering any characters which match the regular expression.
104
- * e.g. the following will disallow any non-numeric characters `[^0-9]`
105
- */
106
- this.disallowPattern = null;
107
- /**
108
- * Display character counter. Must be used in conjunction with
109
- * **maxlength** and **counterLabel** properties.
110
- */
111
- this.counter = false;
112
28
  /**
113
29
  * Component event handling.
114
30
  */
@@ -146,6 +62,36 @@ export class DuetTextarea {
146
62
  component: "duet-textarea",
147
63
  });
148
64
  };
65
+ this.margin = "auto";
66
+ this.accessibleActiveDescendant = undefined;
67
+ this.accessibleAutocomplete = undefined;
68
+ this.accessibleControls = undefined;
69
+ this.accessibleDetails = undefined;
70
+ this.accessibleLabelledBy = undefined;
71
+ this.accessibleDescription = undefined;
72
+ this.accessibleOwns = undefined;
73
+ this.accessibleDescribedBy = undefined;
74
+ this.theme = "";
75
+ this.expand = false;
76
+ this.disabled = false;
77
+ this.identifier = undefined;
78
+ this.required = false;
79
+ this.label = "label";
80
+ this.labelHidden = false;
81
+ this.name = undefined;
82
+ this.placeholder = undefined;
83
+ this.caption = undefined;
84
+ this.echoPlaceholder = false;
85
+ this.maxlength = undefined;
86
+ this.minlength = undefined;
87
+ this.error = "";
88
+ this.role = undefined;
89
+ this.tooltip = "";
90
+ this.tooltipDirection = "auto";
91
+ this.value = "";
92
+ this.disallowPattern = null;
93
+ this.counter = false;
94
+ this.counterLabel = undefined;
149
95
  }
150
96
  disallowedPatternChange() {
151
97
  this.disallowPatternRegex = this.disallowPattern ? new RegExp(this.disallowPattern, "g") : null;
@@ -184,683 +130,684 @@ export class DuetTextarea {
184
130
  "duet-m-0": this.margin === "none",
185
131
  "duet-has-counter": this.counter && !this.error,
186
132
  "duet-expand": this.expand,
187
- } },
188
- h("div", { class: {
189
- "duet-textarea-container": true,
190
- "duet-theme-turva": this.theme === "turva",
191
- "duet-label-hidden": this.labelHidden,
192
- "duet-input-top-caption-shown": this.isCaptionVisible,
193
- "has-error": !!this.error,
194
- } },
195
- h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label),
196
- this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)),
197
- this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)),
198
- h("div", { class: "duet-textarea-wrapper" },
199
- this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)),
200
- h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy
201
- ? `${this.errorId} ${this.labelId} ${this.accessibleLabelledBy}`
202
- : `${this.errorId} ${this.labelId} `, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-errormessage": this.error ? this.errorId : null, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })),
203
- h("duet-grid", { alignment: "stretch" },
204
- h("duet-grid-item", { margin: "none", fill: true },
205
- h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": "polite", "aria-relevant": "additions removals" }, this.error && h("span", null, this.error))),
206
- h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))))));
133
+ } }, h("div", { class: {
134
+ "duet-textarea-container": true,
135
+ "duet-theme-turva": this.theme === "turva",
136
+ "duet-label-hidden": this.labelHidden,
137
+ "duet-input-top-caption-shown": this.isCaptionVisible,
138
+ "has-error": !!this.error,
139
+ } }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy
140
+ ? `${this.errorId} ${this.labelId} ${this.accessibleLabelledBy}`
141
+ : `${this.errorId} ${this.labelId} `, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-errormessage": this.error ? this.errorId : null, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { alignment: "stretch" }, h("duet-grid-item", { margin: "none", fill: true }, h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": "polite", "aria-relevant": "additions removals" }, this.error && h("span", null, this.error))), h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))))));
207
142
  }
208
143
  static get is() { return "duet-textarea"; }
209
144
  static get encapsulation() { return "scoped"; }
210
- static get originalStyleUrls() { return {
211
- "$": ["duet-textarea.scss"]
212
- }; }
213
- static get styleUrls() { return {
214
- "$": ["duet-textarea.css"]
215
- }; }
216
- static get properties() { return {
217
- "margin": {
218
- "type": "string",
219
- "mutable": false,
220
- "complexType": {
221
- "original": "DuetMargin",
222
- "resolved": "\"auto\" | \"none\"",
223
- "references": {
224
- "DuetMargin": {
225
- "location": "import",
226
- "path": "../../common-types"
145
+ static get originalStyleUrls() {
146
+ return {
147
+ "$": ["duet-textarea.scss"]
148
+ };
149
+ }
150
+ static get styleUrls() {
151
+ return {
152
+ "$": ["duet-textarea.css"]
153
+ };
154
+ }
155
+ static get properties() {
156
+ return {
157
+ "margin": {
158
+ "type": "string",
159
+ "mutable": false,
160
+ "complexType": {
161
+ "original": "DuetMargin",
162
+ "resolved": "\"auto\" | \"none\"",
163
+ "references": {
164
+ "DuetMargin": {
165
+ "location": "import",
166
+ "path": "../../common-types"
167
+ }
227
168
  }
228
- }
229
- },
230
- "required": false,
231
- "optional": false,
232
- "docs": {
233
- "tags": [],
234
- "text": "Controls the margin of the component."
235
- },
236
- "attribute": "margin",
237
- "reflect": false,
238
- "defaultValue": "\"auto\""
239
- },
240
- "accessibleActiveDescendant": {
241
- "type": "string",
242
- "mutable": false,
243
- "complexType": {
244
- "original": "string",
245
- "resolved": "string",
246
- "references": {}
247
- },
248
- "required": false,
249
- "optional": false,
250
- "docs": {
251
- "tags": [],
252
- "text": "Indicates the id of a related component\u2019s visually focused element."
253
- },
254
- "attribute": "accessible-active-descendant",
255
- "reflect": false
256
- },
257
- "accessibleAutocomplete": {
258
- "type": "string",
259
- "mutable": false,
260
- "complexType": {
261
- "original": "string",
262
- "resolved": "string",
263
- "references": {}
264
- },
265
- "required": false,
266
- "optional": false,
267
- "docs": {
268
- "tags": [],
269
- "text": "Indicates what kind of user input completion suggestions are provided."
270
- },
271
- "attribute": "accessible-autocomplete",
272
- "reflect": false
273
- },
274
- "accessibleControls": {
275
- "type": "string",
276
- "mutable": false,
277
- "complexType": {
278
- "original": "string",
279
- "resolved": "string",
280
- "references": {}
281
- },
282
- "required": false,
283
- "optional": false,
284
- "docs": {
285
- "tags": [],
286
- "text": "Use this prop to add an aria-controls attribute. Use the attribute to\nindicate the id of a component controlled by this component."
287
- },
288
- "attribute": "accessible-controls",
289
- "reflect": false
290
- },
291
- "accessibleDetails": {
292
- "type": "string",
293
- "mutable": false,
294
- "complexType": {
295
- "original": "string",
296
- "resolved": "string",
297
- "references": {}
298
- },
299
- "required": false,
300
- "optional": false,
301
- "docs": {
302
- "tags": [],
303
- "text": "Aria Details of the component"
304
- },
305
- "attribute": "accessible-details",
306
- "reflect": false,
307
- "defaultValue": "undefined"
308
- },
309
- "accessibleLabelledBy": {
310
- "type": "string",
311
- "mutable": false,
312
- "complexType": {
313
- "original": "string",
314
- "resolved": "string",
315
- "references": {}
316
- },
317
- "required": false,
318
- "optional": false,
319
- "docs": {
320
- "tags": [],
321
- "text": "String of id's that indicate alternative labels elements"
322
- },
323
- "attribute": "accessible-labelled-by",
324
- "reflect": false,
325
- "defaultValue": "undefined"
326
- },
327
- "accessibleDescription": {
328
- "type": "string",
329
- "mutable": false,
330
- "complexType": {
331
- "original": "string",
332
- "resolved": "string",
333
- "references": {}
334
- },
335
- "required": false,
336
- "optional": false,
337
- "docs": {
338
- "tags": [],
339
- "text": "Aria description the button"
340
- },
341
- "attribute": "accessible-description",
342
- "reflect": false,
343
- "defaultValue": "undefined"
344
- },
345
- "accessibleOwns": {
346
- "type": "string",
347
- "mutable": false,
348
- "complexType": {
349
- "original": "string",
350
- "resolved": "string",
351
- "references": {}
352
- },
353
- "required": false,
354
- "optional": false,
355
- "docs": {
356
- "tags": [],
357
- "text": "Indicates the id of a component owned by the textarea."
358
- },
359
- "attribute": "accessible-owns",
360
- "reflect": false
361
- },
362
- "accessibleDescribedBy": {
363
- "type": "string",
364
- "mutable": false,
365
- "complexType": {
366
- "original": "string",
367
- "resolved": "string",
368
- "references": {}
369
- },
370
- "required": false,
371
- "optional": false,
372
- "docs": {
373
- "tags": [],
374
- "text": "Indicates the id of a component that describes the input."
375
- },
376
- "attribute": "accessible-described-by",
377
- "reflect": false
378
- },
379
- "theme": {
380
- "type": "string",
381
- "mutable": true,
382
- "complexType": {
383
- "original": "DuetTheme",
384
- "resolved": "\"\" | \"default\" | \"turva\"",
385
- "references": {
386
- "DuetTheme": {
387
- "location": "import",
388
- "path": "../../common-types"
169
+ },
170
+ "required": false,
171
+ "optional": false,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": "Controls the margin of the component."
175
+ },
176
+ "attribute": "margin",
177
+ "reflect": false,
178
+ "defaultValue": "\"auto\""
179
+ },
180
+ "accessibleActiveDescendant": {
181
+ "type": "string",
182
+ "mutable": false,
183
+ "complexType": {
184
+ "original": "string",
185
+ "resolved": "string",
186
+ "references": {}
187
+ },
188
+ "required": false,
189
+ "optional": false,
190
+ "docs": {
191
+ "tags": [],
192
+ "text": "Indicates the id of a related component\u2019s visually focused element."
193
+ },
194
+ "attribute": "accessible-active-descendant",
195
+ "reflect": false
196
+ },
197
+ "accessibleAutocomplete": {
198
+ "type": "string",
199
+ "mutable": false,
200
+ "complexType": {
201
+ "original": "string",
202
+ "resolved": "string",
203
+ "references": {}
204
+ },
205
+ "required": false,
206
+ "optional": false,
207
+ "docs": {
208
+ "tags": [],
209
+ "text": "Indicates what kind of user input completion suggestions are provided."
210
+ },
211
+ "attribute": "accessible-autocomplete",
212
+ "reflect": false
213
+ },
214
+ "accessibleControls": {
215
+ "type": "string",
216
+ "mutable": false,
217
+ "complexType": {
218
+ "original": "string",
219
+ "resolved": "string",
220
+ "references": {}
221
+ },
222
+ "required": false,
223
+ "optional": false,
224
+ "docs": {
225
+ "tags": [],
226
+ "text": "Use this prop to add an aria-controls attribute. Use the attribute to\nindicate the id of a component controlled by this component."
227
+ },
228
+ "attribute": "accessible-controls",
229
+ "reflect": false
230
+ },
231
+ "accessibleDetails": {
232
+ "type": "string",
233
+ "mutable": false,
234
+ "complexType": {
235
+ "original": "string",
236
+ "resolved": "string",
237
+ "references": {}
238
+ },
239
+ "required": false,
240
+ "optional": false,
241
+ "docs": {
242
+ "tags": [],
243
+ "text": "Aria Details of the component"
244
+ },
245
+ "attribute": "accessible-details",
246
+ "reflect": false,
247
+ "defaultValue": "undefined"
248
+ },
249
+ "accessibleLabelledBy": {
250
+ "type": "string",
251
+ "mutable": false,
252
+ "complexType": {
253
+ "original": "string",
254
+ "resolved": "string",
255
+ "references": {}
256
+ },
257
+ "required": false,
258
+ "optional": false,
259
+ "docs": {
260
+ "tags": [],
261
+ "text": "String of id's that indicate alternative labels elements"
262
+ },
263
+ "attribute": "accessible-labelled-by",
264
+ "reflect": false,
265
+ "defaultValue": "undefined"
266
+ },
267
+ "accessibleDescription": {
268
+ "type": "string",
269
+ "mutable": false,
270
+ "complexType": {
271
+ "original": "string",
272
+ "resolved": "string",
273
+ "references": {}
274
+ },
275
+ "required": false,
276
+ "optional": false,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": "Aria description the button"
280
+ },
281
+ "attribute": "accessible-description",
282
+ "reflect": false,
283
+ "defaultValue": "undefined"
284
+ },
285
+ "accessibleOwns": {
286
+ "type": "string",
287
+ "mutable": false,
288
+ "complexType": {
289
+ "original": "string",
290
+ "resolved": "string",
291
+ "references": {}
292
+ },
293
+ "required": false,
294
+ "optional": false,
295
+ "docs": {
296
+ "tags": [],
297
+ "text": "Indicates the id of a component owned by the textarea."
298
+ },
299
+ "attribute": "accessible-owns",
300
+ "reflect": false
301
+ },
302
+ "accessibleDescribedBy": {
303
+ "type": "string",
304
+ "mutable": false,
305
+ "complexType": {
306
+ "original": "string",
307
+ "resolved": "string",
308
+ "references": {}
309
+ },
310
+ "required": false,
311
+ "optional": false,
312
+ "docs": {
313
+ "tags": [],
314
+ "text": "Indicates the id of a component that describes the input."
315
+ },
316
+ "attribute": "accessible-described-by",
317
+ "reflect": false
318
+ },
319
+ "theme": {
320
+ "type": "string",
321
+ "mutable": true,
322
+ "complexType": {
323
+ "original": "DuetTheme",
324
+ "resolved": "\"\" | \"default\" | \"turva\"",
325
+ "references": {
326
+ "DuetTheme": {
327
+ "location": "import",
328
+ "path": "../../common-types"
329
+ }
389
330
  }
390
- }
391
- },
392
- "required": false,
393
- "optional": false,
394
- "docs": {
395
- "tags": [],
396
- "text": "Theme of the textarea."
397
- },
398
- "attribute": "theme",
399
- "reflect": false,
400
- "defaultValue": "\"\""
401
- },
402
- "expand": {
403
- "type": "boolean",
404
- "mutable": false,
405
- "complexType": {
406
- "original": "boolean",
407
- "resolved": "boolean",
408
- "references": {}
409
- },
410
- "required": false,
411
- "optional": false,
412
- "docs": {
413
- "tags": [],
414
- "text": "Expands the textarea to fill 100% of the container width."
415
- },
416
- "attribute": "expand",
417
- "reflect": false,
418
- "defaultValue": "false"
419
- },
420
- "disabled": {
421
- "type": "boolean",
422
- "mutable": false,
423
- "complexType": {
424
- "original": "boolean",
425
- "resolved": "boolean",
426
- "references": {}
427
- },
428
- "required": false,
429
- "optional": false,
430
- "docs": {
431
- "tags": [],
432
- "text": "Makes the textarea component disabled. This prevents users from being able\nto interact with the textarea, and conveys its inactive state to assistive\ntechnologies."
433
- },
434
- "attribute": "disabled",
435
- "reflect": true,
436
- "defaultValue": "false"
437
- },
438
- "identifier": {
439
- "type": "string",
440
- "mutable": false,
441
- "complexType": {
442
- "original": "string",
443
- "resolved": "string",
444
- "references": {}
445
- },
446
- "required": false,
447
- "optional": false,
448
- "docs": {
449
- "tags": [],
450
- "text": "Adds a unique identifier for the textarea."
451
- },
452
- "attribute": "identifier",
453
- "reflect": false
454
- },
455
- "required": {
456
- "type": "boolean",
457
- "mutable": false,
458
- "complexType": {
459
- "original": "boolean",
460
- "resolved": "boolean",
461
- "references": {}
462
- },
463
- "required": false,
464
- "optional": false,
465
- "docs": {
466
- "tags": [],
467
- "text": "Set whether the textarea is required or not. Please note that this is required for\naccessible inputs when the user is required to fill them. When using this property\nyou need to also set \u201Cnovalidate\u201D attribute to your form element to prevent\nbrowser from displaying its own validation errors."
468
- },
469
- "attribute": "required",
470
- "reflect": false,
471
- "defaultValue": "false"
472
- },
473
- "label": {
474
- "type": "string",
475
- "mutable": false,
476
- "complexType": {
477
- "original": "string",
478
- "resolved": "string",
479
- "references": {}
480
- },
481
- "required": false,
482
- "optional": false,
483
- "docs": {
484
- "tags": [],
485
- "text": "Label for the textarea."
486
- },
487
- "attribute": "label",
488
- "reflect": false,
489
- "defaultValue": "\"label\""
490
- },
491
- "labelHidden": {
492
- "type": "boolean",
493
- "mutable": false,
494
- "complexType": {
495
- "original": "boolean",
496
- "resolved": "boolean",
497
- "references": {}
498
- },
499
- "required": false,
500
- "optional": false,
501
- "docs": {
502
- "tags": [],
503
- "text": "Visually hide the label, but still show it to screen readers."
504
- },
505
- "attribute": "label-hidden",
506
- "reflect": false,
507
- "defaultValue": "false"
508
- },
509
- "name": {
510
- "type": "string",
511
- "mutable": false,
512
- "complexType": {
513
- "original": "string",
514
- "resolved": "string",
515
- "references": {}
516
- },
517
- "required": false,
518
- "optional": false,
519
- "docs": {
520
- "tags": [],
521
- "text": "Name of the textarea."
522
- },
523
- "attribute": "name",
524
- "reflect": false
525
- },
526
- "placeholder": {
527
- "type": "string",
528
- "mutable": false,
529
- "complexType": {
530
- "original": "string",
531
- "resolved": "string",
532
- "references": {}
533
- },
534
- "required": false,
535
- "optional": false,
536
- "docs": {
537
- "tags": [],
538
- "text": "Hint text to display."
539
- },
540
- "attribute": "placeholder",
541
- "reflect": false
542
- },
543
- "caption": {
544
- "type": "string",
545
- "mutable": false,
546
- "complexType": {
547
- "original": "string",
548
- "resolved": "string",
549
- "references": {}
550
- },
551
- "required": false,
552
- "optional": false,
553
- "docs": {
554
- "tags": [],
555
- "text": "Caption (underneath label) that can be set as a way of adding extra information"
556
- },
557
- "attribute": "caption",
558
- "reflect": false
559
- },
560
- "echoPlaceholder": {
561
- "type": "boolean",
562
- "mutable": false,
563
- "complexType": {
564
- "original": "boolean",
565
- "resolved": "boolean",
566
- "references": {}
567
- },
568
- "required": false,
569
- "optional": false,
570
- "docs": {
571
- "tags": [],
572
- "text": "If form input field has a placeholder text, and user types anything (causing the text to dissapear),\nsettings this to true will \"echo\" it into the caption slot - this option will be false by default for the next few versions, but will eventually be true by default (scheduled for 4.30.0)"
573
- },
574
- "attribute": "echo-placeholder",
575
- "reflect": false,
576
- "defaultValue": "false"
577
- },
578
- "maxlength": {
579
- "type": "number",
580
- "mutable": false,
581
- "complexType": {
582
- "original": "number",
583
- "resolved": "number",
584
- "references": {}
585
- },
586
- "required": false,
587
- "optional": false,
588
- "docs": {
589
- "tags": [],
590
- "text": "Use maxlength to specify the maximum length of the value that can be entered.\nPlease note that this uses native HTML5 pattern validation."
591
- },
592
- "attribute": "maxlength",
593
- "reflect": false
594
- },
595
- "minlength": {
596
- "type": "number",
597
- "mutable": false,
598
- "complexType": {
599
- "original": "number",
600
- "resolved": "number",
601
- "references": {}
602
- },
603
- "required": false,
604
- "optional": false,
605
- "docs": {
606
- "tags": [],
607
- "text": "Use minlength to specify the minimum length of the value that can be entered.\nPlease note that this uses native HTML5 pattern validation."
608
- },
609
- "attribute": "minlength",
610
- "reflect": false
611
- },
612
- "error": {
613
- "type": "string",
614
- "mutable": false,
615
- "complexType": {
616
- "original": "string",
617
- "resolved": "string",
618
- "references": {}
619
- },
620
- "required": false,
621
- "optional": false,
622
- "docs": {
623
- "tags": [],
624
- "text": "Display the textarea in error state along with an error message."
625
- },
626
- "attribute": "error",
627
- "reflect": false,
628
- "defaultValue": "\"\""
629
- },
630
- "role": {
631
- "type": "string",
632
- "mutable": false,
633
- "complexType": {
634
- "original": "string",
635
- "resolved": "string",
636
- "references": {}
637
- },
638
- "required": false,
639
- "optional": false,
640
- "docs": {
641
- "tags": [],
642
- "text": "Defines a specific role attribute for the input."
643
- },
644
- "attribute": "role",
645
- "reflect": false
646
- },
647
- "tooltip": {
648
- "type": "string",
649
- "mutable": false,
650
- "complexType": {
651
- "original": "string",
652
- "resolved": "string",
653
- "references": {}
654
- },
655
- "required": false,
656
- "optional": false,
657
- "docs": {
658
- "tags": [],
659
- "text": "Tooltip to display next to the label of the input."
660
- },
661
- "attribute": "tooltip",
662
- "reflect": false,
663
- "defaultValue": "\"\""
664
- },
665
- "tooltipDirection": {
666
- "type": "string",
667
- "mutable": false,
668
- "complexType": {
669
- "original": "DuetTooltipDirection",
670
- "resolved": "\"auto\" | \"left\" | \"right\"",
671
- "references": {
672
- "DuetTooltipDirection": {
673
- "location": "import",
674
- "path": "../../common-types"
331
+ },
332
+ "required": false,
333
+ "optional": false,
334
+ "docs": {
335
+ "tags": [],
336
+ "text": "Theme of the textarea."
337
+ },
338
+ "attribute": "theme",
339
+ "reflect": false,
340
+ "defaultValue": "\"\""
341
+ },
342
+ "expand": {
343
+ "type": "boolean",
344
+ "mutable": false,
345
+ "complexType": {
346
+ "original": "boolean",
347
+ "resolved": "boolean",
348
+ "references": {}
349
+ },
350
+ "required": false,
351
+ "optional": false,
352
+ "docs": {
353
+ "tags": [],
354
+ "text": "Expands the textarea to fill 100% of the container width."
355
+ },
356
+ "attribute": "expand",
357
+ "reflect": false,
358
+ "defaultValue": "false"
359
+ },
360
+ "disabled": {
361
+ "type": "boolean",
362
+ "mutable": false,
363
+ "complexType": {
364
+ "original": "boolean",
365
+ "resolved": "boolean",
366
+ "references": {}
367
+ },
368
+ "required": false,
369
+ "optional": false,
370
+ "docs": {
371
+ "tags": [],
372
+ "text": "Makes the textarea component disabled. This prevents users from being able\nto interact with the textarea, and conveys its inactive state to assistive\ntechnologies."
373
+ },
374
+ "attribute": "disabled",
375
+ "reflect": true,
376
+ "defaultValue": "false"
377
+ },
378
+ "identifier": {
379
+ "type": "string",
380
+ "mutable": false,
381
+ "complexType": {
382
+ "original": "string",
383
+ "resolved": "string",
384
+ "references": {}
385
+ },
386
+ "required": false,
387
+ "optional": false,
388
+ "docs": {
389
+ "tags": [],
390
+ "text": "Adds a unique identifier for the textarea."
391
+ },
392
+ "attribute": "identifier",
393
+ "reflect": false
394
+ },
395
+ "required": {
396
+ "type": "boolean",
397
+ "mutable": false,
398
+ "complexType": {
399
+ "original": "boolean",
400
+ "resolved": "boolean",
401
+ "references": {}
402
+ },
403
+ "required": false,
404
+ "optional": false,
405
+ "docs": {
406
+ "tags": [],
407
+ "text": "Set whether the textarea is required or not. Please note that this is required for\naccessible inputs when the user is required to fill them. When using this property\nyou need to also set \u201Cnovalidate\u201D attribute to your form element to prevent\nbrowser from displaying its own validation errors."
408
+ },
409
+ "attribute": "required",
410
+ "reflect": false,
411
+ "defaultValue": "false"
412
+ },
413
+ "label": {
414
+ "type": "string",
415
+ "mutable": false,
416
+ "complexType": {
417
+ "original": "string",
418
+ "resolved": "string",
419
+ "references": {}
420
+ },
421
+ "required": false,
422
+ "optional": false,
423
+ "docs": {
424
+ "tags": [],
425
+ "text": "Label for the textarea."
426
+ },
427
+ "attribute": "label",
428
+ "reflect": false,
429
+ "defaultValue": "\"label\""
430
+ },
431
+ "labelHidden": {
432
+ "type": "boolean",
433
+ "mutable": false,
434
+ "complexType": {
435
+ "original": "boolean",
436
+ "resolved": "boolean",
437
+ "references": {}
438
+ },
439
+ "required": false,
440
+ "optional": false,
441
+ "docs": {
442
+ "tags": [],
443
+ "text": "Visually hide the label, but still show it to screen readers."
444
+ },
445
+ "attribute": "label-hidden",
446
+ "reflect": false,
447
+ "defaultValue": "false"
448
+ },
449
+ "name": {
450
+ "type": "string",
451
+ "mutable": false,
452
+ "complexType": {
453
+ "original": "string",
454
+ "resolved": "string",
455
+ "references": {}
456
+ },
457
+ "required": false,
458
+ "optional": false,
459
+ "docs": {
460
+ "tags": [],
461
+ "text": "Name of the textarea."
462
+ },
463
+ "attribute": "name",
464
+ "reflect": false
465
+ },
466
+ "placeholder": {
467
+ "type": "string",
468
+ "mutable": false,
469
+ "complexType": {
470
+ "original": "string",
471
+ "resolved": "string",
472
+ "references": {}
473
+ },
474
+ "required": false,
475
+ "optional": false,
476
+ "docs": {
477
+ "tags": [],
478
+ "text": "Hint text to display."
479
+ },
480
+ "attribute": "placeholder",
481
+ "reflect": false
482
+ },
483
+ "caption": {
484
+ "type": "string",
485
+ "mutable": false,
486
+ "complexType": {
487
+ "original": "string",
488
+ "resolved": "string",
489
+ "references": {}
490
+ },
491
+ "required": false,
492
+ "optional": false,
493
+ "docs": {
494
+ "tags": [],
495
+ "text": "Caption (underneath label) that can be set as a way of adding extra information"
496
+ },
497
+ "attribute": "caption",
498
+ "reflect": false
499
+ },
500
+ "echoPlaceholder": {
501
+ "type": "boolean",
502
+ "mutable": false,
503
+ "complexType": {
504
+ "original": "boolean",
505
+ "resolved": "boolean",
506
+ "references": {}
507
+ },
508
+ "required": false,
509
+ "optional": false,
510
+ "docs": {
511
+ "tags": [],
512
+ "text": "If form input field has a placeholder text, and user types anything (causing the text to dissapear),\nsettings this to true will \"echo\" it into the caption slot - this option will be false by default for the next few versions, but will eventually be true by default (scheduled for 4.30.0)"
513
+ },
514
+ "attribute": "echo-placeholder",
515
+ "reflect": false,
516
+ "defaultValue": "false"
517
+ },
518
+ "maxlength": {
519
+ "type": "number",
520
+ "mutable": false,
521
+ "complexType": {
522
+ "original": "number",
523
+ "resolved": "number",
524
+ "references": {}
525
+ },
526
+ "required": false,
527
+ "optional": false,
528
+ "docs": {
529
+ "tags": [],
530
+ "text": "Use maxlength to specify the maximum length of the value that can be entered.\nPlease note that this uses native HTML5 pattern validation."
531
+ },
532
+ "attribute": "maxlength",
533
+ "reflect": false
534
+ },
535
+ "minlength": {
536
+ "type": "number",
537
+ "mutable": false,
538
+ "complexType": {
539
+ "original": "number",
540
+ "resolved": "number",
541
+ "references": {}
542
+ },
543
+ "required": false,
544
+ "optional": false,
545
+ "docs": {
546
+ "tags": [],
547
+ "text": "Use minlength to specify the minimum length of the value that can be entered.\nPlease note that this uses native HTML5 pattern validation."
548
+ },
549
+ "attribute": "minlength",
550
+ "reflect": false
551
+ },
552
+ "error": {
553
+ "type": "string",
554
+ "mutable": false,
555
+ "complexType": {
556
+ "original": "string",
557
+ "resolved": "string",
558
+ "references": {}
559
+ },
560
+ "required": false,
561
+ "optional": false,
562
+ "docs": {
563
+ "tags": [],
564
+ "text": "Display the textarea in error state along with an error message."
565
+ },
566
+ "attribute": "error",
567
+ "reflect": false,
568
+ "defaultValue": "\"\""
569
+ },
570
+ "role": {
571
+ "type": "string",
572
+ "mutable": false,
573
+ "complexType": {
574
+ "original": "string",
575
+ "resolved": "string",
576
+ "references": {}
577
+ },
578
+ "required": false,
579
+ "optional": false,
580
+ "docs": {
581
+ "tags": [],
582
+ "text": "Defines a specific role attribute for the input."
583
+ },
584
+ "attribute": "role",
585
+ "reflect": false
586
+ },
587
+ "tooltip": {
588
+ "type": "string",
589
+ "mutable": false,
590
+ "complexType": {
591
+ "original": "string",
592
+ "resolved": "string",
593
+ "references": {}
594
+ },
595
+ "required": false,
596
+ "optional": false,
597
+ "docs": {
598
+ "tags": [],
599
+ "text": "Tooltip to display next to the label of the input."
600
+ },
601
+ "attribute": "tooltip",
602
+ "reflect": false,
603
+ "defaultValue": "\"\""
604
+ },
605
+ "tooltipDirection": {
606
+ "type": "string",
607
+ "mutable": false,
608
+ "complexType": {
609
+ "original": "DuetTooltipDirection",
610
+ "resolved": "\"auto\" | \"left\" | \"right\"",
611
+ "references": {
612
+ "DuetTooltipDirection": {
613
+ "location": "import",
614
+ "path": "../../common-types"
615
+ }
675
616
  }
676
- }
677
- },
678
- "required": false,
679
- "optional": false,
680
- "docs": {
681
- "tags": [],
682
- "text": "With direction setting you can force the tooltip to always open towards left\nor right instead of automatically determining the direction."
683
- },
684
- "attribute": "tooltip-direction",
685
- "reflect": false,
686
- "defaultValue": "\"auto\""
687
- },
688
- "value": {
689
- "type": "string",
690
- "mutable": true,
691
- "complexType": {
692
- "original": "string",
693
- "resolved": "string",
694
- "references": {}
695
- },
696
- "required": false,
697
- "optional": false,
698
- "docs": {
699
- "tags": [],
700
- "text": "Value of the textarea."
701
- },
702
- "attribute": "value",
703
- "reflect": false,
704
- "defaultValue": "\"\""
705
- },
706
- "disallowPattern": {
707
- "type": "string",
708
- "mutable": false,
709
- "complexType": {
710
- "original": "string",
711
- "resolved": "string",
712
- "references": {}
713
- },
714
- "required": false,
715
- "optional": false,
716
- "docs": {
717
- "tags": [],
718
- "text": "A regular expression that matches any characters which should be *disallowed*.\nThis differs from `pattern`, as it actively prevents users entering any characters which match the regular expression.\ne.g. the following will disallow any non-numeric characters `[^0-9]`"
719
- },
720
- "attribute": "disallow-pattern",
721
- "reflect": false,
722
- "defaultValue": "null"
723
- },
724
- "counter": {
725
- "type": "boolean",
726
- "mutable": false,
727
- "complexType": {
728
- "original": "boolean",
729
- "resolved": "boolean",
730
- "references": {}
731
- },
732
- "required": false,
733
- "optional": false,
734
- "docs": {
735
- "tags": [],
736
- "text": "Display character counter. Must be used in conjunction with\n**maxlength** and **counterLabel** properties."
737
- },
738
- "attribute": "counter",
739
- "reflect": false,
740
- "defaultValue": "false"
741
- },
742
- "counterLabel": {
743
- "type": "string",
744
- "mutable": false,
745
- "complexType": {
746
- "original": "string",
747
- "resolved": "string",
748
- "references": {}
749
- },
750
- "required": false,
751
- "optional": false,
752
- "docs": {
753
- "tags": [],
754
- "text": "Accessible label for character counter. Must be used in conjunction with\n**counter** property."
755
- },
756
- "attribute": "counter-label",
757
- "reflect": false
758
- }
759
- }; }
760
- static get events() { return [{
761
- "method": "duetInput",
762
- "name": "duetInput",
763
- "bubbles": true,
764
- "cancelable": true,
765
- "composed": true,
766
- "docs": {
767
- "tags": [],
768
- "text": "Emitted when a keyboard input ocurred."
769
- },
770
- "complexType": {
771
- "original": "DuetTextareaEvent",
772
- "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
773
- "references": {
774
- "DuetTextareaEvent": {
775
- "location": "local"
617
+ },
618
+ "required": false,
619
+ "optional": false,
620
+ "docs": {
621
+ "tags": [],
622
+ "text": "With direction setting you can force the tooltip to always open towards left\nor right instead of automatically determining the direction."
623
+ },
624
+ "attribute": "tooltip-direction",
625
+ "reflect": false,
626
+ "defaultValue": "\"auto\""
627
+ },
628
+ "value": {
629
+ "type": "string",
630
+ "mutable": true,
631
+ "complexType": {
632
+ "original": "string",
633
+ "resolved": "string",
634
+ "references": {}
635
+ },
636
+ "required": false,
637
+ "optional": false,
638
+ "docs": {
639
+ "tags": [],
640
+ "text": "Value of the textarea."
641
+ },
642
+ "attribute": "value",
643
+ "reflect": false,
644
+ "defaultValue": "\"\""
645
+ },
646
+ "disallowPattern": {
647
+ "type": "string",
648
+ "mutable": false,
649
+ "complexType": {
650
+ "original": "string",
651
+ "resolved": "string",
652
+ "references": {}
653
+ },
654
+ "required": false,
655
+ "optional": false,
656
+ "docs": {
657
+ "tags": [],
658
+ "text": "A regular expression that matches any characters which should be *disallowed*.\nThis differs from `pattern`, as it actively prevents users entering any characters which match the regular expression.\ne.g. the following will disallow any non-numeric characters `[^0-9]`"
659
+ },
660
+ "attribute": "disallow-pattern",
661
+ "reflect": false,
662
+ "defaultValue": "null"
663
+ },
664
+ "counter": {
665
+ "type": "boolean",
666
+ "mutable": false,
667
+ "complexType": {
668
+ "original": "boolean",
669
+ "resolved": "boolean",
670
+ "references": {}
671
+ },
672
+ "required": false,
673
+ "optional": false,
674
+ "docs": {
675
+ "tags": [],
676
+ "text": "Display character counter. Must be used in conjunction with\n**maxlength** and **counterLabel** properties."
677
+ },
678
+ "attribute": "counter",
679
+ "reflect": false,
680
+ "defaultValue": "false"
681
+ },
682
+ "counterLabel": {
683
+ "type": "string",
684
+ "mutable": false,
685
+ "complexType": {
686
+ "original": "string",
687
+ "resolved": "string",
688
+ "references": {}
689
+ },
690
+ "required": false,
691
+ "optional": false,
692
+ "docs": {
693
+ "tags": [],
694
+ "text": "Accessible label for character counter. Must be used in conjunction with\n**counter** property."
695
+ },
696
+ "attribute": "counter-label",
697
+ "reflect": false
698
+ }
699
+ };
700
+ }
701
+ static get events() {
702
+ return [{
703
+ "method": "duetInput",
704
+ "name": "duetInput",
705
+ "bubbles": true,
706
+ "cancelable": true,
707
+ "composed": true,
708
+ "docs": {
709
+ "tags": [],
710
+ "text": "Emitted when a keyboard input ocurred."
711
+ },
712
+ "complexType": {
713
+ "original": "DuetTextareaEvent",
714
+ "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
715
+ "references": {
716
+ "DuetTextareaEvent": {
717
+ "location": "local"
718
+ }
776
719
  }
777
720
  }
778
- }
779
- }, {
780
- "method": "duetChange",
781
- "name": "duetChange",
782
- "bubbles": true,
783
- "cancelable": true,
784
- "composed": true,
785
- "docs": {
786
- "tags": [],
787
- "text": "Emitted when the value has changed."
788
- },
789
- "complexType": {
790
- "original": "DuetTextareaEvent",
791
- "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
792
- "references": {
793
- "DuetTextareaEvent": {
794
- "location": "local"
721
+ }, {
722
+ "method": "duetChange",
723
+ "name": "duetChange",
724
+ "bubbles": true,
725
+ "cancelable": true,
726
+ "composed": true,
727
+ "docs": {
728
+ "tags": [],
729
+ "text": "Emitted when the value has changed."
730
+ },
731
+ "complexType": {
732
+ "original": "DuetTextareaEvent",
733
+ "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
734
+ "references": {
735
+ "DuetTextareaEvent": {
736
+ "location": "local"
737
+ }
795
738
  }
796
739
  }
797
- }
798
- }, {
799
- "method": "duetBlur",
800
- "name": "duetBlur",
801
- "bubbles": true,
802
- "cancelable": true,
803
- "composed": true,
804
- "docs": {
805
- "tags": [],
806
- "text": "Emitted when the input loses focus."
807
- },
808
- "complexType": {
809
- "original": "DuetTextareaEvent",
810
- "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
811
- "references": {
812
- "DuetTextareaEvent": {
813
- "location": "local"
740
+ }, {
741
+ "method": "duetBlur",
742
+ "name": "duetBlur",
743
+ "bubbles": true,
744
+ "cancelable": true,
745
+ "composed": true,
746
+ "docs": {
747
+ "tags": [],
748
+ "text": "Emitted when the input loses focus."
749
+ },
750
+ "complexType": {
751
+ "original": "DuetTextareaEvent",
752
+ "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
753
+ "references": {
754
+ "DuetTextareaEvent": {
755
+ "location": "local"
756
+ }
814
757
  }
815
758
  }
816
- }
817
- }, {
818
- "method": "duetFocus",
819
- "name": "duetFocus",
820
- "bubbles": true,
821
- "cancelable": true,
822
- "composed": true,
823
- "docs": {
824
- "tags": [],
825
- "text": "Emitted when the input has focus."
826
- },
827
- "complexType": {
828
- "original": "DuetTextareaEvent",
829
- "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
830
- "references": {
831
- "DuetTextareaEvent": {
832
- "location": "local"
759
+ }, {
760
+ "method": "duetFocus",
761
+ "name": "duetFocus",
762
+ "bubbles": true,
763
+ "cancelable": true,
764
+ "composed": true,
765
+ "docs": {
766
+ "tags": [],
767
+ "text": "Emitted when the input has focus."
768
+ },
769
+ "complexType": {
770
+ "original": "DuetTextareaEvent",
771
+ "resolved": "{ originalEvent?: Event; component: \"duet-textarea\"; value: string; }",
772
+ "references": {
773
+ "DuetTextareaEvent": {
774
+ "location": "local"
775
+ }
833
776
  }
834
777
  }
835
- }
836
- }]; }
837
- static get methods() { return {
838
- "setFocus": {
839
- "complexType": {
840
- "signature": "(options?: FocusOptions) => Promise<void>",
841
- "parameters": [{
842
- "tags": [],
843
- "text": ""
844
- }],
845
- "references": {
846
- "Promise": {
847
- "location": "global"
778
+ }];
779
+ }
780
+ static get methods() {
781
+ return {
782
+ "setFocus": {
783
+ "complexType": {
784
+ "signature": "(options?: FocusOptions) => Promise<void>",
785
+ "parameters": [{
786
+ "tags": [],
787
+ "text": ""
788
+ }],
789
+ "references": {
790
+ "Promise": {
791
+ "location": "global"
792
+ },
793
+ "FocusOptions": {
794
+ "location": "global"
795
+ }
848
796
  },
849
- "FocusOptions": {
850
- "location": "global"
851
- }
797
+ "return": "Promise<void>"
852
798
  },
853
- "return": "Promise<void>"
854
- },
855
- "docs": {
856
- "text": "Sets focus on the specified `duet-textarea`. Use this method instead of the global\n`textarea.focus()`.",
857
- "tags": []
799
+ "docs": {
800
+ "text": "Sets focus on the specified `duet-textarea`. Use this method instead of the global\n`textarea.focus()`.",
801
+ "tags": []
802
+ }
858
803
  }
859
- }
860
- }; }
804
+ };
805
+ }
861
806
  static get elementRef() { return "element"; }
862
- static get watchers() { return [{
863
- "propName": "disallowPattern",
864
- "methodName": "disallowedPatternChange"
865
- }]; }
807
+ static get watchers() {
808
+ return [{
809
+ "propName": "disallowPattern",
810
+ "methodName": "disallowedPatternChange"
811
+ }];
812
+ }
866
813
  }