@umbraco-ui/uui 2.0.0-rc.2 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (635) hide show
  1. package/custom-elements.json +103 -1
  2. package/dist/_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js +9 -0
  3. package/dist/components/action-bar/action-bar.d.ts +0 -1
  4. package/dist/components/action-bar/action-bar.element.js +15 -12
  5. package/dist/components/action-bar/action-bar.element.js.map +1 -1
  6. package/dist/components/action-bar/action-bar.js +5 -5
  7. package/dist/components/action-bar/action-bar.js.map +1 -1
  8. package/dist/components/avatar/avatar.d.ts +0 -1
  9. package/dist/components/avatar/avatar.element.js +72 -86
  10. package/dist/components/avatar/avatar.element.js.map +1 -1
  11. package/dist/components/avatar/avatar.js +5 -5
  12. package/dist/components/avatar/avatar.js.map +1 -1
  13. package/dist/components/avatar-group/avatar-group.d.ts +0 -1
  14. package/dist/components/avatar-group/avatar-group.element.js +58 -68
  15. package/dist/components/avatar-group/avatar-group.element.js.map +1 -1
  16. package/dist/components/avatar-group/avatar-group.js +5 -5
  17. package/dist/components/avatar-group/avatar-group.js.map +1 -1
  18. package/dist/components/badge/badge.d.ts +0 -1
  19. package/dist/components/badge/badge.element.js +32 -38
  20. package/dist/components/badge/badge.element.js.map +1 -1
  21. package/dist/components/badge/badge.js +5 -5
  22. package/dist/components/badge/badge.js.map +1 -1
  23. package/dist/components/boolean-input/UUIBooleanInputEvent.js +15 -13
  24. package/dist/components/boolean-input/UUIBooleanInputEvent.js.map +1 -1
  25. package/dist/components/boolean-input/boolean-input.d.ts +0 -1
  26. package/dist/components/boolean-input/boolean-input.element.js +114 -134
  27. package/dist/components/boolean-input/boolean-input.element.js.map +1 -1
  28. package/dist/components/boolean-input/boolean-input.js +3 -0
  29. package/dist/components/box/box.d.ts +0 -1
  30. package/dist/components/box/box.element.js +74 -77
  31. package/dist/components/box/box.element.js.map +1 -1
  32. package/dist/components/box/box.js +5 -5
  33. package/dist/components/box/box.js.map +1 -1
  34. package/dist/components/breadcrumbs/breadcrumb-item.element.js +45 -50
  35. package/dist/components/breadcrumbs/breadcrumb-item.element.js.map +1 -1
  36. package/dist/components/breadcrumbs/breadcrumbs.d.ts +0 -1
  37. package/dist/components/breadcrumbs/breadcrumbs.element.js +40 -47
  38. package/dist/components/breadcrumbs/breadcrumbs.element.js.map +1 -1
  39. package/dist/components/breadcrumbs/breadcrumbs.js +5 -6
  40. package/dist/components/breadcrumbs/breadcrumbs.js.map +1 -1
  41. package/dist/components/button/button.d.ts +0 -1
  42. package/dist/components/button/button.element.js +147 -199
  43. package/dist/components/button/button.element.js.map +1 -1
  44. package/dist/components/button/button.js +5 -5
  45. package/dist/components/button/button.js.map +1 -1
  46. package/dist/components/button-copy-text/UUICopyTextEvent.js +16 -12
  47. package/dist/components/button-copy-text/UUICopyTextEvent.js.map +1 -1
  48. package/dist/components/button-copy-text/button-copy-text.d.ts +0 -1
  49. package/dist/components/button-copy-text/button-copy-text.element.js +78 -93
  50. package/dist/components/button-copy-text/button-copy-text.element.js.map +1 -1
  51. package/dist/components/button-copy-text/button-copy-text.js +6 -7
  52. package/dist/components/button-copy-text/button-copy-text.js.map +1 -1
  53. package/dist/components/button-group/button-group.d.ts +0 -1
  54. package/dist/components/button-group/button-group.element.js +19 -14
  55. package/dist/components/button-group/button-group.element.js.map +1 -1
  56. package/dist/components/button-group/button-group.js +5 -5
  57. package/dist/components/button-group/button-group.js.map +1 -1
  58. package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js +16 -14
  59. package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js.map +1 -1
  60. package/dist/components/button-inline-create/button-inline-create.d.ts +0 -1
  61. package/dist/components/button-inline-create/button-inline-create.element.js +63 -88
  62. package/dist/components/button-inline-create/button-inline-create.element.js.map +1 -1
  63. package/dist/components/button-inline-create/button-inline-create.js +6 -7
  64. package/dist/components/button-inline-create/button-inline-create.js.map +1 -1
  65. package/dist/components/card/UUICardEvent.js +9 -7
  66. package/dist/components/card/UUICardEvent.js.map +1 -1
  67. package/dist/components/card/card.d.ts +0 -1
  68. package/dist/components/card/card.element.d.ts +7 -0
  69. package/dist/components/card/card.element.js +72 -69
  70. package/dist/components/card/card.element.js.map +1 -1
  71. package/dist/components/card/card.js +6 -7
  72. package/dist/components/card/card.js.map +1 -1
  73. package/dist/components/card-block-type/card-block-type.d.ts +0 -1
  74. package/dist/components/card-block-type/card-block-type.element.js +55 -74
  75. package/dist/components/card-block-type/card-block-type.element.js.map +1 -1
  76. package/dist/components/card-block-type/card-block-type.js +5 -5
  77. package/dist/components/card-block-type/card-block-type.js.map +1 -1
  78. package/dist/components/card-content-node/card-content-node.d.ts +0 -1
  79. package/dist/components/card-content-node/card-content-node.element.d.ts +1 -0
  80. package/dist/components/card-content-node/card-content-node.element.js +82 -83
  81. package/dist/components/card-content-node/card-content-node.element.js.map +1 -1
  82. package/dist/components/card-content-node/card-content-node.js +5 -5
  83. package/dist/components/card-content-node/card-content-node.js.map +1 -1
  84. package/dist/components/card-media/card-media.d.ts +0 -1
  85. package/dist/components/card-media/card-media.element.d.ts +4 -0
  86. package/dist/components/card-media/card-media.element.js +103 -89
  87. package/dist/components/card-media/card-media.element.js.map +1 -1
  88. package/dist/components/card-media/card-media.js +5 -5
  89. package/dist/components/card-media/card-media.js.map +1 -1
  90. package/dist/components/card-user/card-user.d.ts +0 -1
  91. package/dist/components/card-user/card-user.element.js +57 -72
  92. package/dist/components/card-user/card-user.element.js.map +1 -1
  93. package/dist/components/card-user/card-user.js +5 -5
  94. package/dist/components/card-user/card-user.js.map +1 -1
  95. package/dist/components/checkbox/checkbox.d.ts +0 -1
  96. package/dist/components/checkbox/checkbox.element.js +41 -22
  97. package/dist/components/checkbox/checkbox.element.js.map +1 -1
  98. package/dist/components/checkbox/checkbox.js +5 -5
  99. package/dist/components/checkbox/checkbox.js.map +1 -1
  100. package/dist/components/color-area/UUIColorAreaEvent.js +15 -13
  101. package/dist/components/color-area/UUIColorAreaEvent.js.map +1 -1
  102. package/dist/components/color-area/color-area.d.ts +0 -1
  103. package/dist/components/color-area/color-area.element.js +137 -174
  104. package/dist/components/color-area/color-area.element.js.map +1 -1
  105. package/dist/components/color-area/color-area.js +6 -7
  106. package/dist/components/color-area/color-area.js.map +1 -1
  107. package/dist/components/color-picker/UUIColorPickerEvent.js +15 -13
  108. package/dist/components/color-picker/UUIColorPickerEvent.js.map +1 -1
  109. package/dist/components/color-picker/color-picker.d.ts +0 -1
  110. package/dist/components/color-picker/color-picker.element.js +293 -334
  111. package/dist/components/color-picker/color-picker.element.js.map +1 -1
  112. package/dist/components/color-picker/color-picker.js +6 -7
  113. package/dist/components/color-picker/color-picker.js.map +1 -1
  114. package/dist/components/color-slider/UUIColorSliderEvent.js +15 -13
  115. package/dist/components/color-slider/UUIColorSliderEvent.js.map +1 -1
  116. package/dist/components/color-slider/color-slider.d.ts +0 -1
  117. package/dist/components/color-slider/color-slider.element.js +169 -219
  118. package/dist/components/color-slider/color-slider.element.js.map +1 -1
  119. package/dist/components/color-slider/color-slider.js +6 -7
  120. package/dist/components/color-slider/color-slider.js.map +1 -1
  121. package/dist/components/color-swatch/color-swatch.d.ts +0 -1
  122. package/dist/components/color-swatch/color-swatch.element.d.ts +1 -1
  123. package/dist/components/color-swatch/color-swatch.element.js +215 -201
  124. package/dist/components/color-swatch/color-swatch.element.js.map +1 -1
  125. package/dist/components/color-swatch/color-swatch.js +5 -5
  126. package/dist/components/color-swatch/color-swatch.js.map +1 -1
  127. package/dist/components/color-swatches/UUIColorSwatchesEvent.js +15 -13
  128. package/dist/components/color-swatches/UUIColorSwatchesEvent.js.map +1 -1
  129. package/dist/components/color-swatches/color-swatches.d.ts +0 -1
  130. package/dist/components/color-swatches/color-swatches.element.js +115 -132
  131. package/dist/components/color-swatches/color-swatches.element.js.map +1 -1
  132. package/dist/components/color-swatches/color-swatches.js +6 -7
  133. package/dist/components/color-swatches/color-swatches.js.map +1 -1
  134. package/dist/components/combobox/UUIComboboxEvent.js +18 -14
  135. package/dist/components/combobox/UUIComboboxEvent.js.map +1 -1
  136. package/dist/components/combobox/combobox.d.ts +0 -1
  137. package/dist/components/combobox/combobox.element.js +321 -425
  138. package/dist/components/combobox/combobox.element.js.map +1 -1
  139. package/dist/components/combobox/combobox.js +6 -7
  140. package/dist/components/combobox/combobox.js.map +1 -1
  141. package/dist/components/combobox-list/UUIComboboxListEvent.js +18 -14
  142. package/dist/components/combobox-list/UUIComboboxListEvent.js.map +1 -1
  143. package/dist/components/combobox-list/combobox-list-option.element.js +88 -80
  144. package/dist/components/combobox-list/combobox-list-option.element.js.map +1 -1
  145. package/dist/components/combobox-list/combobox-list.d.ts +0 -1
  146. package/dist/components/combobox-list/combobox-list.element.js +218 -275
  147. package/dist/components/combobox-list/combobox-list.element.js.map +1 -1
  148. package/dist/components/combobox-list/combobox-list.js +6 -8
  149. package/dist/components/combobox-list/combobox-list.js.map +1 -1
  150. package/dist/components/dialog/dialog.d.ts +0 -1
  151. package/dist/components/dialog/dialog.element.js +19 -14
  152. package/dist/components/dialog/dialog.element.js.map +1 -1
  153. package/dist/components/dialog/dialog.js +5 -5
  154. package/dist/components/dialog/dialog.js.map +1 -1
  155. package/dist/components/dialog-layout/dialog-layout.d.ts +0 -1
  156. package/dist/components/dialog-layout/dialog-layout.element.js +59 -64
  157. package/dist/components/dialog-layout/dialog-layout.element.js.map +1 -1
  158. package/dist/components/dialog-layout/dialog-layout.js +5 -5
  159. package/dist/components/dialog-layout/dialog-layout.js.map +1 -1
  160. package/dist/components/file-dropzone/UUIFileDropzoneEvent.js +18 -14
  161. package/dist/components/file-dropzone/UUIFileDropzoneEvent.js.map +1 -1
  162. package/dist/components/file-dropzone/file-dropzone.d.ts +0 -1
  163. package/dist/components/file-dropzone/file-dropzone.element.js +214 -257
  164. package/dist/components/file-dropzone/file-dropzone.element.js.map +1 -1
  165. package/dist/components/file-dropzone/file-dropzone.js +6 -7
  166. package/dist/components/file-dropzone/file-dropzone.js.map +1 -1
  167. package/dist/components/file-preview/UUIFileSize.js +46 -19
  168. package/dist/components/file-preview/UUIFileSize.js.map +1 -1
  169. package/dist/components/file-preview/file-preview.d.ts +0 -1
  170. package/dist/components/file-preview/file-preview.element.js +78 -103
  171. package/dist/components/file-preview/file-preview.element.js.map +1 -1
  172. package/dist/components/file-preview/file-preview.js +6 -5
  173. package/dist/components/file-preview/file-preview.js.map +1 -1
  174. package/dist/components/form/form.d.ts +0 -1
  175. package/dist/components/form/form.element.js +46 -46
  176. package/dist/components/form/form.element.js.map +1 -1
  177. package/dist/components/form/form.js +5 -5
  178. package/dist/components/form/form.js.map +1 -1
  179. package/dist/components/form-layout-item/form-layout-item.d.ts +0 -1
  180. package/dist/components/form-layout-item/form-layout-item.element.js +39 -45
  181. package/dist/components/form-layout-item/form-layout-item.element.js.map +1 -1
  182. package/dist/components/form-layout-item/form-layout-item.js +5 -5
  183. package/dist/components/form-layout-item/form-layout-item.js.map +1 -1
  184. package/dist/components/form-validation-message/form-validation-message.d.ts +0 -1
  185. package/dist/components/form-validation-message/form-validation-message.element.js +71 -89
  186. package/dist/components/form-validation-message/form-validation-message.element.js.map +1 -1
  187. package/dist/components/form-validation-message/form-validation-message.js +5 -5
  188. package/dist/components/form-validation-message/form-validation-message.js.map +1 -1
  189. package/dist/components/icon/UUIIconRequestEvent.js +21 -19
  190. package/dist/components/icon/UUIIconRequestEvent.js.map +1 -1
  191. package/dist/components/icon/icon.d.ts +0 -1
  192. package/dist/components/icon/icon.element.js +93 -117
  193. package/dist/components/icon/icon.element.js.map +1 -1
  194. package/dist/components/icon/icon.js +6 -7
  195. package/dist/components/icon/icon.js.map +1 -1
  196. package/dist/components/icon-registry/UUIIconHost.js +16 -17
  197. package/dist/components/icon-registry/UUIIconHost.js.map +1 -1
  198. package/dist/components/icon-registry/UUIIconRegistry.js +67 -77
  199. package/dist/components/icon-registry/UUIIconRegistry.js.map +1 -1
  200. package/dist/components/icon-registry/icon-registry.d.ts +0 -1
  201. package/dist/components/icon-registry/icon-registry.element.js +39 -48
  202. package/dist/components/icon-registry/icon-registry.element.js.map +1 -1
  203. package/dist/components/icon-registry/icon-registry.js +7 -6
  204. package/dist/components/icon-registry/icon-registry.js.map +1 -1
  205. package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js +44 -42
  206. package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js.map +1 -1
  207. package/dist/components/icon-registry-essential/icon-registry-essential.d.ts +0 -1
  208. package/dist/components/icon-registry-essential/icon-registry-essential.element.js +15 -9
  209. package/dist/components/icon-registry-essential/icon-registry-essential.element.js.map +1 -1
  210. package/dist/components/icon-registry-essential/icon-registry-essential.js +6 -39
  211. package/dist/components/icon-registry-essential/icon-registry-essential.js.map +1 -1
  212. package/dist/components/icon-registry-essential/svgs/iconAdd.js +6 -5
  213. package/dist/components/icon-registry-essential/svgs/iconAdd.js.map +1 -1
  214. package/dist/components/icon-registry-essential/svgs/iconAlert.js +6 -5
  215. package/dist/components/icon-registry-essential/svgs/iconAlert.js.map +1 -1
  216. package/dist/components/icon-registry-essential/svgs/iconAttachment.js +6 -5
  217. package/dist/components/icon-registry-essential/svgs/iconAttachment.js.map +1 -1
  218. package/dist/components/icon-registry-essential/svgs/iconCalendar.js +6 -5
  219. package/dist/components/icon-registry-essential/svgs/iconCalendar.js.map +1 -1
  220. package/dist/components/icon-registry-essential/svgs/iconCheck.js +6 -5
  221. package/dist/components/icon-registry-essential/svgs/iconCheck.js.map +1 -1
  222. package/dist/components/icon-registry-essential/svgs/iconClipboard.js +6 -5
  223. package/dist/components/icon-registry-essential/svgs/iconClipboard.js.map +1 -1
  224. package/dist/components/icon-registry-essential/svgs/iconCode.js +6 -5
  225. package/dist/components/icon-registry-essential/svgs/iconCode.js.map +1 -1
  226. package/dist/components/icon-registry-essential/svgs/iconColorPicker.js +6 -5
  227. package/dist/components/icon-registry-essential/svgs/iconColorPicker.js.map +1 -1
  228. package/dist/components/icon-registry-essential/svgs/iconCopy.js +6 -5
  229. package/dist/components/icon-registry-essential/svgs/iconCopy.js.map +1 -1
  230. package/dist/components/icon-registry-essential/svgs/iconDelete.js +6 -5
  231. package/dist/components/icon-registry-essential/svgs/iconDelete.js.map +1 -1
  232. package/dist/components/icon-registry-essential/svgs/iconDocument.js +6 -5
  233. package/dist/components/icon-registry-essential/svgs/iconDocument.js.map +1 -1
  234. package/dist/components/icon-registry-essential/svgs/iconDownload.js +6 -5
  235. package/dist/components/icon-registry-essential/svgs/iconDownload.js.map +1 -1
  236. package/dist/components/icon-registry-essential/svgs/iconDrag.js +6 -5
  237. package/dist/components/icon-registry-essential/svgs/iconDrag.js.map +1 -1
  238. package/dist/components/icon-registry-essential/svgs/iconEdit.js +6 -5
  239. package/dist/components/icon-registry-essential/svgs/iconEdit.js.map +1 -1
  240. package/dist/components/icon-registry-essential/svgs/iconFavorite.js +6 -5
  241. package/dist/components/icon-registry-essential/svgs/iconFavorite.js.map +1 -1
  242. package/dist/components/icon-registry-essential/svgs/iconFolder.js +6 -5
  243. package/dist/components/icon-registry-essential/svgs/iconFolder.js.map +1 -1
  244. package/dist/components/icon-registry-essential/svgs/iconForbidden.js +6 -5
  245. package/dist/components/icon-registry-essential/svgs/iconForbidden.js.map +1 -1
  246. package/dist/components/icon-registry-essential/svgs/iconInfo.js +6 -5
  247. package/dist/components/icon-registry-essential/svgs/iconInfo.js.map +1 -1
  248. package/dist/components/icon-registry-essential/svgs/iconLink.js +6 -5
  249. package/dist/components/icon-registry-essential/svgs/iconLink.js.map +1 -1
  250. package/dist/components/icon-registry-essential/svgs/iconLock.js +6 -5
  251. package/dist/components/icon-registry-essential/svgs/iconLock.js.map +1 -1
  252. package/dist/components/icon-registry-essential/svgs/iconPause.js +6 -5
  253. package/dist/components/icon-registry-essential/svgs/iconPause.js.map +1 -1
  254. package/dist/components/icon-registry-essential/svgs/iconPicture.js +6 -5
  255. package/dist/components/icon-registry-essential/svgs/iconPicture.js.map +1 -1
  256. package/dist/components/icon-registry-essential/svgs/iconPlay.js +6 -5
  257. package/dist/components/icon-registry-essential/svgs/iconPlay.js.map +1 -1
  258. package/dist/components/icon-registry-essential/svgs/iconRemove.js +6 -5
  259. package/dist/components/icon-registry-essential/svgs/iconRemove.js.map +1 -1
  260. package/dist/components/icon-registry-essential/svgs/iconSearch.js +6 -5
  261. package/dist/components/icon-registry-essential/svgs/iconSearch.js.map +1 -1
  262. package/dist/components/icon-registry-essential/svgs/iconSee.js +6 -5
  263. package/dist/components/icon-registry-essential/svgs/iconSee.js.map +1 -1
  264. package/dist/components/icon-registry-essential/svgs/iconSettings.js +6 -5
  265. package/dist/components/icon-registry-essential/svgs/iconSettings.js.map +1 -1
  266. package/dist/components/icon-registry-essential/svgs/iconSubtract.js +6 -5
  267. package/dist/components/icon-registry-essential/svgs/iconSubtract.js.map +1 -1
  268. package/dist/components/icon-registry-essential/svgs/iconSync.js +6 -5
  269. package/dist/components/icon-registry-essential/svgs/iconSync.js.map +1 -1
  270. package/dist/components/icon-registry-essential/svgs/iconUnlock.js +6 -5
  271. package/dist/components/icon-registry-essential/svgs/iconUnlock.js.map +1 -1
  272. package/dist/components/icon-registry-essential/svgs/iconUnsee.js +6 -5
  273. package/dist/components/icon-registry-essential/svgs/iconUnsee.js.map +1 -1
  274. package/dist/components/icon-registry-essential/svgs/iconWand.js +6 -5
  275. package/dist/components/icon-registry-essential/svgs/iconWand.js.map +1 -1
  276. package/dist/components/icon-registry-essential/svgs/iconWrong.js +6 -5
  277. package/dist/components/icon-registry-essential/svgs/iconWrong.js.map +1 -1
  278. package/dist/components/icon-registry-essential/svgs/index.js +34 -0
  279. package/dist/components/index.js +206 -0
  280. package/dist/components/input/UUIInputEvent.js +18 -14
  281. package/dist/components/input/UUIInputEvent.js.map +1 -1
  282. package/dist/components/input/input.d.ts +0 -1
  283. package/dist/components/input/input.element.js +176 -201
  284. package/dist/components/input/input.element.js.map +1 -1
  285. package/dist/components/input/input.js +6 -7
  286. package/dist/components/input/input.js.map +1 -1
  287. package/dist/components/input-file/input-file.d.ts +0 -1
  288. package/dist/components/input-file/input-file.element.js +137 -211
  289. package/dist/components/input-file/input-file.element.js.map +1 -1
  290. package/dist/components/input-file/input-file.js +5 -5
  291. package/dist/components/input-file/input-file.js.map +1 -1
  292. package/dist/components/input-lock/UUIInputLockEvent.js +15 -13
  293. package/dist/components/input-lock/UUIInputLockEvent.js.map +1 -1
  294. package/dist/components/input-lock/input-lock.d.ts +0 -1
  295. package/dist/components/input-lock/input-lock.element.js +69 -105
  296. package/dist/components/input-lock/input-lock.element.js.map +1 -1
  297. package/dist/components/input-lock/input-lock.js +6 -7
  298. package/dist/components/input-lock/input-lock.js.map +1 -1
  299. package/dist/components/input-password/input-password.d.ts +0 -1
  300. package/dist/components/input-password/input-password.element.js +45 -90
  301. package/dist/components/input-password/input-password.element.js.map +1 -1
  302. package/dist/components/input-password/input-password.js +5 -5
  303. package/dist/components/input-password/input-password.js.map +1 -1
  304. package/dist/components/keyboard-shortcut/key.element.js +19 -14
  305. package/dist/components/keyboard-shortcut/key.element.js.map +1 -1
  306. package/dist/components/keyboard-shortcut/keyboard-shortcut.d.ts +0 -1
  307. package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js +19 -14
  308. package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js.map +1 -1
  309. package/dist/components/keyboard-shortcut/keyboard-shortcut.js +5 -6
  310. package/dist/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  311. package/dist/components/label/label.d.ts +0 -1
  312. package/dist/components/label/label.element.js +52 -54
  313. package/dist/components/label/label.element.js.map +1 -1
  314. package/dist/components/label/label.js +5 -5
  315. package/dist/components/label/label.js.map +1 -1
  316. package/dist/components/loader/loader.d.ts +0 -1
  317. package/dist/components/loader/loader.element.js +18 -14
  318. package/dist/components/loader/loader.element.js.map +1 -1
  319. package/dist/components/loader/loader.js +5 -5
  320. package/dist/components/loader/loader.js.map +1 -1
  321. package/dist/components/loader-bar/loader-bar.d.ts +0 -1
  322. package/dist/components/loader-bar/loader-bar.element.js +55 -52
  323. package/dist/components/loader-bar/loader-bar.element.js.map +1 -1
  324. package/dist/components/loader-bar/loader-bar.js +5 -5
  325. package/dist/components/loader-bar/loader-bar.js.map +1 -1
  326. package/dist/components/loader-circle/loader-circle.d.ts +0 -1
  327. package/dist/components/loader-circle/loader-circle.element.js +52 -59
  328. package/dist/components/loader-circle/loader-circle.element.js.map +1 -1
  329. package/dist/components/loader-circle/loader-circle.js +5 -5
  330. package/dist/components/loader-circle/loader-circle.js.map +1 -1
  331. package/dist/components/menu-item/UUIMenuItemEvent.js +15 -9
  332. package/dist/components/menu-item/UUIMenuItemEvent.js.map +1 -1
  333. package/dist/components/menu-item/menu-item.d.ts +0 -1
  334. package/dist/components/menu-item/menu-item.element.js +136 -139
  335. package/dist/components/menu-item/menu-item.element.js.map +1 -1
  336. package/dist/components/menu-item/menu-item.js +6 -7
  337. package/dist/components/menu-item/menu-item.js.map +1 -1
  338. package/dist/components/modal/modal-container.js +86 -141
  339. package/dist/components/modal/modal-container.js.map +1 -1
  340. package/dist/components/modal/modal-dialog.element.js +14 -15
  341. package/dist/components/modal/modal-dialog.element.js.map +1 -1
  342. package/dist/components/modal/modal-sidebar.element.js +41 -64
  343. package/dist/components/modal/modal-sidebar.element.js.map +1 -1
  344. package/dist/components/modal/modal.d.ts +0 -1
  345. package/dist/components/modal/modal.element.js +89 -106
  346. package/dist/components/modal/modal.element.js.map +1 -1
  347. package/dist/components/modal/modal.js +6 -12
  348. package/dist/components/modal/modal.js.map +1 -1
  349. package/dist/components/pagination/UUIPaginationEvent.js +15 -13
  350. package/dist/components/pagination/UUIPaginationEvent.js.map +1 -1
  351. package/dist/components/pagination/pagination.d.ts +0 -1
  352. package/dist/components/pagination/pagination.element.js +188 -228
  353. package/dist/components/pagination/pagination.element.js.map +1 -1
  354. package/dist/components/pagination/pagination.js +6 -7
  355. package/dist/components/pagination/pagination.js.map +1 -1
  356. package/dist/components/popover-container/popover-container.d.ts +0 -1
  357. package/dist/components/popover-container/popover-container.element.d.ts +1 -0
  358. package/dist/components/popover-container/popover-container.element.js +290 -335
  359. package/dist/components/popover-container/popover-container.element.js.map +1 -1
  360. package/dist/components/popover-container/popover-container.js +5 -5
  361. package/dist/components/popover-container/popover-container.js.map +1 -1
  362. package/dist/components/progress-bar/progress-bar.d.ts +0 -1
  363. package/dist/components/progress-bar/progress-bar.element.js +41 -43
  364. package/dist/components/progress-bar/progress-bar.element.js.map +1 -1
  365. package/dist/components/progress-bar/progress-bar.js +5 -5
  366. package/dist/components/progress-bar/progress-bar.js.map +1 -1
  367. package/dist/components/radio/UUIRadioEvent.js +15 -13
  368. package/dist/components/radio/UUIRadioEvent.js.map +1 -1
  369. package/dist/components/radio/UUIRadioGroupEvent.js +15 -13
  370. package/dist/components/radio/UUIRadioGroupEvent.js.map +1 -1
  371. package/dist/components/radio/radio-group.element.js +224 -279
  372. package/dist/components/radio/radio-group.element.js.map +1 -1
  373. package/dist/components/radio/radio.d.ts +0 -1
  374. package/dist/components/radio/radio.element.js +100 -123
  375. package/dist/components/radio/radio.element.js.map +1 -1
  376. package/dist/components/radio/radio.js +7 -10
  377. package/dist/components/radio/radio.js.map +1 -1
  378. package/dist/components/range-slider/UUIRangeSliderEvent.js +18 -14
  379. package/dist/components/range-slider/UUIRangeSliderEvent.js.map +1 -1
  380. package/dist/components/range-slider/range-slider.d.ts +0 -1
  381. package/dist/components/range-slider/range-slider.element.js +439 -504
  382. package/dist/components/range-slider/range-slider.element.js.map +1 -1
  383. package/dist/components/range-slider/range-slider.js +6 -7
  384. package/dist/components/range-slider/range-slider.js.map +1 -1
  385. package/dist/components/ref/UUIRefEvent.js +9 -7
  386. package/dist/components/ref/UUIRefEvent.js.map +1 -1
  387. package/dist/components/ref/ref.d.ts +0 -1
  388. package/dist/components/ref/ref.element.js +55 -50
  389. package/dist/components/ref/ref.element.js.map +1 -1
  390. package/dist/components/ref/ref.js +6 -7
  391. package/dist/components/ref/ref.js.map +1 -1
  392. package/dist/components/ref-list/ref-list.d.ts +0 -1
  393. package/dist/components/ref-list/ref-list.element.js +17 -14
  394. package/dist/components/ref-list/ref-list.element.js.map +1 -1
  395. package/dist/components/ref-list/ref-list.js +5 -5
  396. package/dist/components/ref-list/ref-list.js.map +1 -1
  397. package/dist/components/ref-node/ref-node.d.ts +0 -1
  398. package/dist/components/ref-node/ref-node.element.js +91 -109
  399. package/dist/components/ref-node/ref-node.element.js.map +1 -1
  400. package/dist/components/ref-node/ref-node.js +5 -5
  401. package/dist/components/ref-node/ref-node.js.map +1 -1
  402. package/dist/components/ref-node-data-type/ref-node-data-type.d.ts +0 -1
  403. package/dist/components/ref-node-data-type/ref-node-data-type.element.js +30 -35
  404. package/dist/components/ref-node-data-type/ref-node-data-type.element.js.map +1 -1
  405. package/dist/components/ref-node-data-type/ref-node-data-type.js +5 -5
  406. package/dist/components/ref-node-data-type/ref-node-data-type.js.map +1 -1
  407. package/dist/components/ref-node-document-type/ref-node-document-type.d.ts +0 -1
  408. package/dist/components/ref-node-document-type/ref-node-document-type.element.js +30 -35
  409. package/dist/components/ref-node-document-type/ref-node-document-type.element.js.map +1 -1
  410. package/dist/components/ref-node-document-type/ref-node-document-type.js +5 -5
  411. package/dist/components/ref-node-document-type/ref-node-document-type.js.map +1 -1
  412. package/dist/components/ref-node-form/ref-node-form.d.ts +0 -1
  413. package/dist/components/ref-node-form/ref-node-form.element.js +21 -12
  414. package/dist/components/ref-node-form/ref-node-form.element.js.map +1 -1
  415. package/dist/components/ref-node-form/ref-node-form.js +5 -5
  416. package/dist/components/ref-node-form/ref-node-form.js.map +1 -1
  417. package/dist/components/ref-node-member/ref-node-member.d.ts +0 -1
  418. package/dist/components/ref-node-member/ref-node-member.element.js +33 -35
  419. package/dist/components/ref-node-member/ref-node-member.element.js.map +1 -1
  420. package/dist/components/ref-node-member/ref-node-member.js +5 -5
  421. package/dist/components/ref-node-member/ref-node-member.js.map +1 -1
  422. package/dist/components/ref-node-package/ref-node-package.d.ts +0 -1
  423. package/dist/components/ref-node-package/ref-node-package.element.js +33 -42
  424. package/dist/components/ref-node-package/ref-node-package.element.js.map +1 -1
  425. package/dist/components/ref-node-package/ref-node-package.js +5 -5
  426. package/dist/components/ref-node-package/ref-node-package.js.map +1 -1
  427. package/dist/components/ref-node-user/ref-node-user.d.ts +0 -1
  428. package/dist/components/ref-node-user/ref-node-user.element.js +33 -35
  429. package/dist/components/ref-node-user/ref-node-user.element.js.map +1 -1
  430. package/dist/components/ref-node-user/ref-node-user.js +5 -5
  431. package/dist/components/ref-node-user/ref-node-user.js.map +1 -1
  432. package/dist/components/responsive-container/responsive-container.d.ts +0 -1
  433. package/dist/components/responsive-container/responsive-container.element.js +186 -244
  434. package/dist/components/responsive-container/responsive-container.element.js.map +1 -1
  435. package/dist/components/responsive-container/responsive-container.js +5 -5
  436. package/dist/components/responsive-container/responsive-container.js.map +1 -1
  437. package/dist/components/scroll-container/scroll-container.d.ts +0 -1
  438. package/dist/components/scroll-container/scroll-container.element.js +35 -36
  439. package/dist/components/scroll-container/scroll-container.element.js.map +1 -1
  440. package/dist/components/scroll-container/scroll-container.js +5 -5
  441. package/dist/components/scroll-container/scroll-container.js.map +1 -1
  442. package/dist/components/select/UUISelectEvent.js +15 -13
  443. package/dist/components/select/UUISelectEvent.js.map +1 -1
  444. package/dist/components/select/select.d.ts +0 -1
  445. package/dist/components/select/select.element.js +134 -163
  446. package/dist/components/select/select.element.js.map +1 -1
  447. package/dist/components/select/select.js +6 -7
  448. package/dist/components/select/select.js.map +1 -1
  449. package/dist/components/slider/UUISliderEvent.js +18 -14
  450. package/dist/components/slider/UUISliderEvent.js.map +1 -1
  451. package/dist/components/slider/native-input.styles.js +6 -5
  452. package/dist/components/slider/native-input.styles.js.map +1 -1
  453. package/dist/components/slider/slider.d.ts +0 -1
  454. package/dist/components/slider/slider.element.d.ts +7 -0
  455. package/dist/components/slider/slider.element.js +197 -227
  456. package/dist/components/slider/slider.element.js.map +1 -1
  457. package/dist/components/slider/slider.js +6 -7
  458. package/dist/components/slider/slider.js.map +1 -1
  459. package/dist/components/symbol-drag-handle/symbol-drag-handle.d.ts +0 -1
  460. package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js +19 -16
  461. package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js.map +1 -1
  462. package/dist/components/symbol-drag-handle/symbol-drag-handle.js +5 -5
  463. package/dist/components/symbol-drag-handle/symbol-drag-handle.js.map +1 -1
  464. package/dist/components/symbol-expand/symbol-expand.d.ts +0 -1
  465. package/dist/components/symbol-expand/symbol-expand.element.js +27 -30
  466. package/dist/components/symbol-expand/symbol-expand.element.js.map +1 -1
  467. package/dist/components/symbol-expand/symbol-expand.js +5 -5
  468. package/dist/components/symbol-expand/symbol-expand.js.map +1 -1
  469. package/dist/components/symbol-file/symbol-file.d.ts +0 -1
  470. package/dist/components/symbol-file/symbol-file.element.js +24 -32
  471. package/dist/components/symbol-file/symbol-file.element.js.map +1 -1
  472. package/dist/components/symbol-file/symbol-file.js +5 -5
  473. package/dist/components/symbol-file/symbol-file.js.map +1 -1
  474. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.d.ts +0 -1
  475. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js +26 -30
  476. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js.map +1 -1
  477. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js +5 -5
  478. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js.map +1 -1
  479. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.d.ts +0 -1
  480. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js +39 -95
  481. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js.map +1 -1
  482. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js +5 -5
  483. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js.map +1 -1
  484. package/dist/components/symbol-folder/symbol-folder.d.ts +0 -1
  485. package/dist/components/symbol-folder/symbol-folder.element.js +17 -14
  486. package/dist/components/symbol-folder/symbol-folder.element.js.map +1 -1
  487. package/dist/components/symbol-folder/symbol-folder.js +5 -5
  488. package/dist/components/symbol-folder/symbol-folder.js.map +1 -1
  489. package/dist/components/symbol-lock/symbol-lock.d.ts +0 -1
  490. package/dist/components/symbol-lock/symbol-lock.element.js +26 -30
  491. package/dist/components/symbol-lock/symbol-lock.element.js.map +1 -1
  492. package/dist/components/symbol-lock/symbol-lock.js +5 -5
  493. package/dist/components/symbol-lock/symbol-lock.js.map +1 -1
  494. package/dist/components/symbol-more/symbol-more.d.ts +0 -1
  495. package/dist/components/symbol-more/symbol-more.element.js +17 -14
  496. package/dist/components/symbol-more/symbol-more.element.js.map +1 -1
  497. package/dist/components/symbol-more/symbol-more.js +5 -5
  498. package/dist/components/symbol-more/symbol-more.js.map +1 -1
  499. package/dist/components/symbol-sort/symbol-sort.d.ts +0 -1
  500. package/dist/components/symbol-sort/symbol-sort.element.js +29 -31
  501. package/dist/components/symbol-sort/symbol-sort.element.js.map +1 -1
  502. package/dist/components/symbol-sort/symbol-sort.js +5 -5
  503. package/dist/components/symbol-sort/symbol-sort.js.map +1 -1
  504. package/dist/components/table/table-cell.element.js +65 -71
  505. package/dist/components/table/table-cell.element.js.map +1 -1
  506. package/dist/components/table/table-column.element.js +14 -10
  507. package/dist/components/table/table-column.element.js.map +1 -1
  508. package/dist/components/table/table-head-cell.element.js +19 -16
  509. package/dist/components/table/table-head-cell.element.js.map +1 -1
  510. package/dist/components/table/table-head.element.js +23 -18
  511. package/dist/components/table/table-head.element.js.map +1 -1
  512. package/dist/components/table/table-row.element.js +41 -52
  513. package/dist/components/table/table-row.element.js.map +1 -1
  514. package/dist/components/table/table.d.ts +0 -1
  515. package/dist/components/table/table.element.js +31 -20
  516. package/dist/components/table/table.element.js.map +1 -1
  517. package/dist/components/table/table.js +5 -10
  518. package/dist/components/table/table.js.map +1 -1
  519. package/dist/components/tabs/UUITabEvent.js +6 -6
  520. package/dist/components/tabs/UUITabEvent.js.map +1 -1
  521. package/dist/components/tabs/UUITabGroupEvent.js +6 -6
  522. package/dist/components/tabs/UUITabGroupEvent.js.map +1 -1
  523. package/dist/components/tabs/tab-group.element.js +188 -251
  524. package/dist/components/tabs/tab-group.element.js.map +1 -1
  525. package/dist/components/tabs/tab.element.js +66 -56
  526. package/dist/components/tabs/tab.element.js.map +1 -1
  527. package/dist/components/tabs/tabs.d.ts +0 -1
  528. package/dist/components/tabs/tabs.js +7 -6
  529. package/dist/components/tabs/tabs.js.map +1 -1
  530. package/dist/components/tag/tag.d.ts +0 -1
  531. package/dist/components/tag/tag.element.js +32 -34
  532. package/dist/components/tag/tag.element.js.map +1 -1
  533. package/dist/components/tag/tag.js +5 -5
  534. package/dist/components/tag/tag.js.map +1 -1
  535. package/dist/components/textarea/UUITextareaEvent.js +18 -14
  536. package/dist/components/textarea/UUITextareaEvent.js.map +1 -1
  537. package/dist/components/textarea/textarea.d.ts +0 -1
  538. package/dist/components/textarea/textarea.element.d.ts +2 -0
  539. package/dist/components/textarea/textarea.element.js +153 -180
  540. package/dist/components/textarea/textarea.element.js.map +1 -1
  541. package/dist/components/textarea/textarea.js +6 -7
  542. package/dist/components/textarea/textarea.js.map +1 -1
  543. package/dist/components/toast-notification/UUIToastNotificationEvent.js +18 -10
  544. package/dist/components/toast-notification/UUIToastNotificationEvent.js.map +1 -1
  545. package/dist/components/toast-notification/toast-notification.d.ts +0 -1
  546. package/dist/components/toast-notification/toast-notification.element.js +155 -224
  547. package/dist/components/toast-notification/toast-notification.element.js.map +1 -1
  548. package/dist/components/toast-notification/toast-notification.js +6 -7
  549. package/dist/components/toast-notification/toast-notification.js.map +1 -1
  550. package/dist/components/toast-notification-container/toast-notification-container.d.ts +0 -1
  551. package/dist/components/toast-notification-container/toast-notification-container.element.js +98 -122
  552. package/dist/components/toast-notification-container/toast-notification-container.element.js.map +1 -1
  553. package/dist/components/toast-notification-container/toast-notification-container.js +6 -9
  554. package/dist/components/toast-notification-container/toast-notification-container.js.map +1 -1
  555. package/dist/components/toast-notification-layout/toast-notification-layout.d.ts +0 -1
  556. package/dist/components/toast-notification-layout/toast-notification-layout.element.js +33 -39
  557. package/dist/components/toast-notification-layout/toast-notification-layout.element.js.map +1 -1
  558. package/dist/components/toast-notification-layout/toast-notification-layout.js +6 -9
  559. package/dist/components/toast-notification-layout/toast-notification-layout.js.map +1 -1
  560. package/dist/components/toggle/toggle.d.ts +0 -1
  561. package/dist/components/toggle/toggle.element.js +43 -54
  562. package/dist/components/toggle/toggle.element.js.map +1 -1
  563. package/dist/components/toggle/toggle.js +5 -5
  564. package/dist/components/toggle/toggle.js.map +1 -1
  565. package/dist/components/visually-hidden/visually-hidden.d.ts +0 -1
  566. package/dist/components/visually-hidden/visually-hidden.element.js +17 -14
  567. package/dist/components/visually-hidden/visually-hidden.element.js.map +1 -1
  568. package/dist/components/visually-hidden/visually-hidden.js +5 -5
  569. package/dist/components/visually-hidden/visually-hidden.js.map +1 -1
  570. package/dist/index.js +115 -359
  571. package/dist/internal/animations/uui-blink.js +7 -7
  572. package/dist/internal/animations/uui-blink.js.map +1 -1
  573. package/dist/internal/animations/uui-pulse.js +7 -9
  574. package/dist/internal/animations/uui-pulse.js.map +1 -1
  575. package/dist/internal/animations/uui-shake.js +7 -9
  576. package/dist/internal/animations/uui-shake.js.map +1 -1
  577. package/dist/internal/events/UUIEvent.js +13 -9
  578. package/dist/internal/events/UUIEvent.js.map +1 -1
  579. package/dist/internal/events/UUIFormControlEvent.d.ts +2 -2
  580. package/dist/internal/events/UUIFormControlEvent.js +18 -14
  581. package/dist/internal/events/UUIFormControlEvent.js.map +1 -1
  582. package/dist/internal/events/UUISelectableEvent.js +19 -15
  583. package/dist/internal/events/UUISelectableEvent.js.map +1 -1
  584. package/dist/internal/mixins/ActiveMixin.js +24 -24
  585. package/dist/internal/mixins/ActiveMixin.js.map +1 -1
  586. package/dist/internal/mixins/FormControlMixin.d.ts +3 -3
  587. package/dist/internal/mixins/FormControlMixin.js +276 -339
  588. package/dist/internal/mixins/FormControlMixin.js.map +1 -1
  589. package/dist/internal/mixins/FormControlWithBasicsMixin.d.ts +19 -3
  590. package/dist/internal/mixins/FormControlWithBasicsMixin.js +54 -60
  591. package/dist/internal/mixins/FormControlWithBasicsMixin.js.map +1 -1
  592. package/dist/internal/mixins/LabelMixin.js +54 -57
  593. package/dist/internal/mixins/LabelMixin.js.map +1 -1
  594. package/dist/internal/mixins/PopoverTargetMixin.js +43 -47
  595. package/dist/internal/mixins/PopoverTargetMixin.js.map +1 -1
  596. package/dist/internal/mixins/SelectOnlyMixin.js +39 -33
  597. package/dist/internal/mixins/SelectOnlyMixin.js.map +1 -1
  598. package/dist/internal/mixins/SelectableMixin.js +109 -121
  599. package/dist/internal/mixins/SelectableMixin.js.map +1 -1
  600. package/dist/internal/registration/index.js +17 -20
  601. package/dist/internal/registration/index.js.map +1 -1
  602. package/dist/internal/types/InterfaceColor.js +11 -10
  603. package/dist/internal/types/InterfaceColor.js.map +1 -1
  604. package/dist/internal/types/InterfaceHeading.js +12 -11
  605. package/dist/internal/types/InterfaceHeading.js.map +1 -1
  606. package/dist/internal/types/InterfaceLook.js +11 -10
  607. package/dist/internal/types/InterfaceLook.js.map +1 -1
  608. package/dist/internal/utils/Timer.js +56 -61
  609. package/dist/internal/utils/Timer.js.map +1 -1
  610. package/dist/internal/utils/color.js +105 -74
  611. package/dist/internal/utils/color.js.map +1 -1
  612. package/dist/internal/utils/drag.js +27 -36
  613. package/dist/internal/utils/drag.js.map +1 -1
  614. package/dist/internal/utils/findAncestorByAttributeValue.js +22 -19
  615. package/dist/internal/utils/findAncestorByAttributeValue.js.map +1 -1
  616. package/dist/internal/utils/math.js +23 -13
  617. package/dist/internal/utils/math.js.map +1 -1
  618. package/dist/internal/utils/slotHasContent.js +6 -5
  619. package/dist/internal/utils/slotHasContent.js.map +1 -1
  620. package/dist/internal/version.js +10 -16
  621. package/dist/internal/version.js.map +1 -1
  622. package/dist/package.json.js +6 -5
  623. package/dist/package.json.js.map +1 -1
  624. package/dist/styles/uui-font.css +1 -1
  625. package/dist/styles/uui-text.css +1 -1
  626. package/dist/styles/uui-text.css.js +6 -5
  627. package/dist/styles/uui-text.css.js.map +1 -1
  628. package/dist/styles/uui-text.styles.js +7 -6
  629. package/dist/styles/uui-text.styles.js.map +1 -1
  630. package/dist/themes/dark.css +1 -1
  631. package/dist/themes/high-contrast.css +1 -1
  632. package/dist/themes/light.css +1 -1
  633. package/package.json +26 -25
  634. package/vscode.html-custom-data.json +36 -7
  635. package/dist/index.js.map +0 -1
@@ -1,119 +1,125 @@
1
- var __typeError = (msg) => {
2
- throw TypeError(msg);
3
- };
4
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
6
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
7
- var _UUIInputElement_instances, onKeyDown_fn;
8
- import { LitElement, html, css } from "lit";
1
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js";
2
+ import { LabelMixin } from "../../internal/mixins/LabelMixin.js";
3
+ import { UUIFormControlMixin as UUIFormControlWithBasicsMixin } from "../../internal/mixins/FormControlWithBasicsMixin.js";
4
+ import { UUIInputEvent } from "./UUIInputEvent.js";
5
+ import { LitElement, css, html } from "lit";
9
6
  import { property, query } from "lit/decorators.js";
10
7
  import { ifDefined } from "lit/directives/if-defined.js";
11
- import { UUIInputEvent } from "./UUIInputEvent.js";
12
- import { UUIFormControlWithBasicsMixin } from "../../internal/mixins/FormControlWithBasicsMixin.js";
13
- import { LabelMixin } from "../../internal/mixins/LabelMixin.js";
14
- var __defProp = Object.defineProperty;
15
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
16
- var __decorateClass = (decorators, target, key, kind) => {
17
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
18
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
19
- if (decorator = decorators[i])
20
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
21
- if (kind && result) __defProp(target, key, result);
22
- return result;
23
- };
24
- const _UUIInputElement = class _UUIInputElement extends UUIFormControlWithBasicsMixin(
25
- LabelMixin("", LitElement),
26
- ""
27
- ) {
28
- constructor() {
29
- super();
30
- __privateAdd(this, _UUIInputElement_instances);
31
- this.minlengthMessage = (charsLeft) => `${charsLeft} characters left`;
32
- this.maxlengthMessage = (max, current) => `Maximum ${max} characters, ${current - max} too many.`;
33
- this.disabled = false;
34
- this.readonly = false;
35
- this.placeholder = "";
36
- this.autoWidth = false;
37
- this.inputMode = "text";
38
- this.tabIndex = 0;
39
- this._type = "text";
40
- this.addEventListener("keydown", __privateMethod(this, _UUIInputElement_instances, onKeyDown_fn));
41
- this.addValidator(
42
- "tooShort",
43
- () => {
44
- const label = this.minlengthMessage;
45
- if (typeof label === "function") {
46
- return label(
47
- this.minlength ? this.minlength - String(this.value).length : 0
48
- );
49
- }
50
- return label;
51
- },
52
- () => !!this.minlength && String(this.value).length < this.minlength
53
- );
54
- this.addValidator(
55
- "tooLong",
56
- () => {
57
- const label = this.maxlengthMessage;
58
- if (typeof label === "function") {
59
- return label(this.maxlength ?? 0, String(this.value).length);
60
- }
61
- return label;
62
- },
63
- () => !!this.maxlength && String(this.value).length > this.maxlength
64
- );
65
- this.updateComplete.then(() => {
66
- this.addFormControlElement(this._input);
67
- });
68
- }
69
- get type() {
70
- return this._type;
71
- }
72
- set type(value) {
73
- this._type = value;
74
- }
75
- /**
76
- * Removes focus from the input.
77
- */
78
- async blur() {
79
- await this.updateComplete;
80
- this._input.blur();
81
- }
82
- /**
83
- * This method enables <label for="..."> to focus the input
84
- */
85
- async focus() {
86
- await this.updateComplete;
87
- this._input.focus();
88
- }
89
- /**
90
- * Selects all the text in the input.
91
- */
92
- async select() {
93
- await this.updateComplete;
94
- this._input.select();
95
- }
96
- getFormElement() {
97
- return this.shadowRoot?.querySelector("input");
98
- }
99
- onInput(e) {
100
- e.stopPropagation();
101
- this.value = e.target.value;
102
- this.dispatchEvent(new UUIInputEvent(UUIInputEvent.INPUT));
103
- }
104
- onChange(e) {
105
- e.stopPropagation();
106
- this.pristine = false;
107
- this.dispatchEvent(new UUIInputEvent(UUIInputEvent.CHANGE));
108
- }
109
- renderPrepend() {
110
- return html`<slot name="prepend"></slot>`;
111
- }
112
- renderAppend() {
113
- return html`<slot name="append"></slot>`;
114
- }
115
- render() {
116
- return html`
8
+ //#region src/components/input/input.element.ts
9
+ /**
10
+ * Custom element wrapping the native input element.This is a formAssociated element, meaning it can participate in a native HTMLForm. A name:value pair will be submitted.
11
+ * @element uui-input
12
+ * @slot prepend - for components to render to the left of the input.
13
+ * @slot append - for components to render to the right of the input.
14
+ * @property {boolean} spellcheck - get/set native spellcheck attribute
15
+ * @attribute spellcheck - native spellcheck attribute
16
+ * @property {string} value - get/set the value of the input
17
+ * @attribute value - get/set the value of the input
18
+ * @property {string} name - get/set the name of the input
19
+ * @attribute name - get/set the name of the input
20
+ * @fires UUIInputEvent#change on change
21
+ * @fires InputEvent#input on input
22
+ * @fires KeyboardEvent#keyup on keyup
23
+ * @cssprop --uui-input-height - Height of the element
24
+ * @cssprop --uui-input-background-color - Background color of the element
25
+ * @cssprop --uui-input-background-color-disabled - Background color when disabled
26
+ * @cssprop --uui-input-background-color-readonly - Background color when readonly
27
+ * @cssprop --uui-input-border-width - Border width
28
+ * @cssprop --uui-input-border-radius - Border radius
29
+ * @cssprop --uui-input-border-color - Border color
30
+ * @cssprop --uui-input-border-color-hover - Border color on hover
31
+ * @cssprop --uui-input-border-color-focus - Border color on focus
32
+ * @cssprop --uui-input-border-color-disabled - Border color when disabled
33
+ * @cssprop --uui-input-border-color-readonly - Border color when readonly
34
+ */
35
+ var UUIInputElement = class extends UUIFormControlWithBasicsMixin(LabelMixin("", LitElement), "") {
36
+ static {
37
+ this.formAssociated = true;
38
+ }
39
+ /**
40
+ * This property specifies the type of input that will be rendered.
41
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types|MDN} for further information
42
+ * @type {'text' | 'tel' | 'url' | 'email' | 'password' | 'date' | 'month' | 'week' | 'time' | 'datetime-local' | 'number' | 'color'}
43
+ * @attr
44
+ * @default text
45
+ */
46
+ get type() {
47
+ return this._type;
48
+ }
49
+ set type(value) {
50
+ this._type = value;
51
+ }
52
+ constructor() {
53
+ super();
54
+ this.minlengthMessage = (charsLeft) => `${charsLeft} characters left`;
55
+ this.maxlengthMessage = (max, current) => `Maximum ${max} characters, ${current - max} too many.`;
56
+ this.disabled = false;
57
+ this.readonly = false;
58
+ this.placeholder = "";
59
+ this.autoWidth = false;
60
+ this.inputMode = "text";
61
+ this.tabIndex = 0;
62
+ this._type = "text";
63
+ this.addEventListener("keydown", this.#onKeyDown);
64
+ this.addValidator("tooShort", () => {
65
+ const label = this.minlengthMessage;
66
+ if (typeof label === "function") return label(this.minlength ? this.minlength - String(this.value).length : 0);
67
+ return label;
68
+ }, () => !!this.minlength && String(this.value).length < this.minlength);
69
+ this.addValidator("tooLong", () => {
70
+ const label = this.maxlengthMessage;
71
+ if (typeof label === "function") return label(this.maxlength ?? 0, String(this.value).length);
72
+ return label;
73
+ }, () => !!this.maxlength && String(this.value).length > this.maxlength);
74
+ this.updateComplete.then(() => {
75
+ this.addFormControlElement(this._input);
76
+ });
77
+ }
78
+ #onKeyDown(e) {
79
+ if (this.type !== "color" && e.key == "Enter") this.submit();
80
+ }
81
+ /**
82
+ * Removes focus from the input.
83
+ */
84
+ async blur() {
85
+ await this.updateComplete;
86
+ this._input.blur();
87
+ }
88
+ /**
89
+ * This method enables <label for="..."> to focus the input
90
+ */
91
+ async focus() {
92
+ await this.updateComplete;
93
+ this._input.focus();
94
+ }
95
+ /**
96
+ * Selects all the text in the input.
97
+ */
98
+ async select() {
99
+ await this.updateComplete;
100
+ this._input.select();
101
+ }
102
+ getFormElement() {
103
+ return this.shadowRoot?.querySelector("input");
104
+ }
105
+ onInput(e) {
106
+ e.stopPropagation();
107
+ this.value = e.target.value;
108
+ this.dispatchEvent(new UUIInputEvent(UUIInputEvent.INPUT));
109
+ }
110
+ onChange(e) {
111
+ e.stopPropagation();
112
+ this.pristine = false;
113
+ this.dispatchEvent(new UUIInputEvent(UUIInputEvent.CHANGE));
114
+ }
115
+ renderPrepend() {
116
+ return html`<slot name="prepend"></slot>`;
117
+ }
118
+ renderAppend() {
119
+ return html`<slot name="append"></slot>`;
120
+ }
121
+ render() {
122
+ return html`
117
123
  ${this.renderPrepend()}
118
124
  <div id="inner">
119
125
  <slot></slot>
@@ -121,14 +127,14 @@ const _UUIInputElement = class _UUIInputElement extends UUIFormControlWithBasics
121
127
  </div>
122
128
  ${this.renderAppend()}
123
129
  `;
124
- }
125
- renderInputWithAutoWidth() {
126
- return html`<div id="autoWidth">
130
+ }
131
+ renderInputWithAutoWidth() {
132
+ return html`<div id="autoWidth">
127
133
  ${this.renderInput()}${this.renderAutoWidthBackground()}
128
134
  </div>`;
129
- }
130
- renderInput() {
131
- return html`<input
135
+ }
136
+ renderInput() {
137
+ return html`<input
132
138
  id="input"
133
139
  size=${ifDefined(this.autoWidth ? "1" : void 0)}
134
140
  .type=${this.type}
@@ -141,12 +147,8 @@ const _UUIInputElement = class _UUIInputElement extends UUIFormControlWithBasics
141
147
  spellcheck=${this.spellcheck}
142
148
  autocomplete=${ifDefined(this.autocomplete)}
143
149
  placeholder=${ifDefined(this.placeholder)}
144
- aria-label=${ifDefined(
145
- this.getAttribute("aria-label") || this.label || void 0
146
- )}
147
- aria-labelledby=${ifDefined(
148
- this.getAttribute("aria-labelledby") || void 0
149
- )}
150
+ aria-label=${ifDefined(this.getAttribute("aria-label") || this.label || void 0)}
151
+ aria-labelledby=${ifDefined(this.getAttribute("aria-labelledby") || void 0)}
150
152
  inputmode=${ifDefined(this.inputMode)}
151
153
  ?disabled=${this.disabled}
152
154
  ?autofocus=${this.autofocus}
@@ -155,23 +157,15 @@ const _UUIInputElement = class _UUIInputElement extends UUIFormControlWithBasics
155
157
  tabindex=${ifDefined(this.tabIndex)}
156
158
  @input=${this.onInput}
157
159
  @change=${this.onChange} />`;
158
- }
159
- renderAutoWidthBackground() {
160
- return html` <div id="auto" aria-hidden="true">${this.renderText()}</div>`;
161
- }
162
- renderText() {
163
- return html`${this.value.length > 0 ? this.value : this.placeholder}`;
164
- }
165
- };
166
- _UUIInputElement_instances = new WeakSet();
167
- onKeyDown_fn = function(e) {
168
- if (this.type !== "color" && e.key == "Enter") {
169
- this.submit();
170
- }
171
- };
172
- _UUIInputElement.formAssociated = true;
173
- _UUIInputElement.styles = [
174
- css`
160
+ }
161
+ renderAutoWidthBackground() {
162
+ return html` <div id="auto" aria-hidden="true">${this.renderText()}</div>`;
163
+ }
164
+ renderText() {
165
+ return html`${this.value.length > 0 ? this.value : this.placeholder}`;
166
+ }
167
+ static {
168
+ this.styles = [css`
175
169
  :host {
176
170
  position: relative;
177
171
  display: inline-flex;
@@ -235,7 +229,8 @@ _UUIInputElement.styles = [
235
229
  --uui-input-border-color-focus,
236
230
  var(--uui-color-border-emphasis)
237
231
  );
238
- outline: 2px solid var(--uui-color-focus);
232
+ outline: calc(2px * var(--uui-show-focus-outline, 1)) solid
233
+ var(--uui-color-focus);
239
234
  }
240
235
  :host(:focus) {
241
236
  border-color: var(
@@ -341,61 +336,41 @@ _UUIInputElement.styles = [
341
336
  min-width: 0;
342
337
  padding: 2px;
343
338
  }
344
- `
345
- ];
346
- let UUIInputElement = _UUIInputElement;
347
- __decorateClass([
348
- property()
349
- ], UUIInputElement.prototype, "min", 2);
350
- __decorateClass([
351
- property({ type: Number })
352
- ], UUIInputElement.prototype, "minlength", 2);
353
- __decorateClass([
354
- property({ attribute: "minlength-message" })
355
- ], UUIInputElement.prototype, "minlengthMessage", 2);
356
- __decorateClass([
357
- property()
358
- ], UUIInputElement.prototype, "max", 2);
359
- __decorateClass([
360
- property({ type: Number })
361
- ], UUIInputElement.prototype, "maxlength", 2);
362
- __decorateClass([
363
- property({ attribute: "maxlength-message" })
364
- ], UUIInputElement.prototype, "maxlengthMessage", 2);
365
- __decorateClass([
366
- property({ type: Number })
367
- ], UUIInputElement.prototype, "step", 2);
368
- __decorateClass([
369
- property({ type: Boolean, reflect: true })
370
- ], UUIInputElement.prototype, "disabled", 2);
371
- __decorateClass([
372
- property({ type: Boolean, reflect: true })
373
- ], UUIInputElement.prototype, "readonly", 2);
374
- __decorateClass([
375
- property()
376
- ], UUIInputElement.prototype, "placeholder", 2);
377
- __decorateClass([
378
- property()
379
- ], UUIInputElement.prototype, "autocomplete", 2);
380
- __decorateClass([
381
- property({ type: Boolean, reflect: true, attribute: "auto-width" })
382
- ], UUIInputElement.prototype, "autoWidth", 2);
383
- __decorateClass([
384
- property({ type: String })
385
- ], UUIInputElement.prototype, "type", 1);
386
- __decorateClass([
387
- property({ attribute: "inputmode" })
388
- ], UUIInputElement.prototype, "inputMode", 2);
389
- __decorateClass([
390
- property({ type: String })
391
- ], UUIInputElement.prototype, "pattern", 2);
392
- __decorateClass([
393
- property({ type: Number, reflect: false, attribute: "tabindex" })
394
- ], UUIInputElement.prototype, "tabIndex", 2);
395
- __decorateClass([
396
- query("#input")
397
- ], UUIInputElement.prototype, "_input", 2);
398
- export {
399
- UUIInputElement
339
+ `];
340
+ }
400
341
  };
401
- //# sourceMappingURL=input.element.js.map
342
+ __decorate([property()], UUIInputElement.prototype, "min", void 0);
343
+ __decorate([property({ type: Number })], UUIInputElement.prototype, "minlength", void 0);
344
+ __decorate([property({ attribute: "minlength-message" })], UUIInputElement.prototype, "minlengthMessage", void 0);
345
+ __decorate([property()], UUIInputElement.prototype, "max", void 0);
346
+ __decorate([property({ type: Number })], UUIInputElement.prototype, "maxlength", void 0);
347
+ __decorate([property({ attribute: "maxlength-message" })], UUIInputElement.prototype, "maxlengthMessage", void 0);
348
+ __decorate([property({ type: Number })], UUIInputElement.prototype, "step", void 0);
349
+ __decorate([property({
350
+ type: Boolean,
351
+ reflect: true
352
+ })], UUIInputElement.prototype, "disabled", void 0);
353
+ __decorate([property({
354
+ type: Boolean,
355
+ reflect: true
356
+ })], UUIInputElement.prototype, "readonly", void 0);
357
+ __decorate([property()], UUIInputElement.prototype, "placeholder", void 0);
358
+ __decorate([property()], UUIInputElement.prototype, "autocomplete", void 0);
359
+ __decorate([property({
360
+ type: Boolean,
361
+ reflect: true,
362
+ attribute: "auto-width"
363
+ })], UUIInputElement.prototype, "autoWidth", void 0);
364
+ __decorate([property({ type: String })], UUIInputElement.prototype, "type", null);
365
+ __decorate([property({ attribute: "inputmode" })], UUIInputElement.prototype, "inputMode", void 0);
366
+ __decorate([property({ type: String })], UUIInputElement.prototype, "pattern", void 0);
367
+ __decorate([property({
368
+ type: Number,
369
+ reflect: false,
370
+ attribute: "tabindex"
371
+ })], UUIInputElement.prototype, "tabIndex", void 0);
372
+ __decorate([query("#input")], UUIInputElement.prototype, "_input", void 0);
373
+ //#endregion
374
+ export { UUIInputElement };
375
+
376
+ //# sourceMappingURL=input.element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.element.js","sources":["../../../src/components/input/input.element.ts"],"sourcesContent":["import {\n UUIFormControlWithBasicsMixin,\n LabelMixin,\n} from '../../internal/mixins/index.js';\nimport { css, html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { UUIInputEvent } from './UUIInputEvent.js';\n\nexport type InputType =\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'password'\n | 'search'\n | 'month'\n | 'week'\n | 'time'\n | 'date'\n | 'datetime-local'\n | 'number'\n | 'color';\n\nexport type InputMode =\n | 'text'\n | 'none'\n | 'decimal'\n | 'numeric'\n | 'tel'\n | 'search'\n | 'email'\n | 'url';\n\n/**\n * Custom element wrapping the native input element.This is a formAssociated element, meaning it can participate in a native HTMLForm. A name:value pair will be submitted.\n * @element uui-input\n * @slot prepend - for components to render to the left of the input.\n * @slot append - for components to render to the right of the input.\n * @property {boolean} spellcheck - get/set native spellcheck attribute\n * @attribute spellcheck - native spellcheck attribute\n * @property {string} value - get/set the value of the input\n * @attribute value - get/set the value of the input\n * @property {string} name - get/set the name of the input\n * @attribute name - get/set the name of the input\n * @fires UUIInputEvent#change on change\n * @fires InputEvent#input on input\n * @fires KeyboardEvent#keyup on keyup\n * @cssprop --uui-input-height - Height of the element\n * @cssprop --uui-input-background-color - Background color of the element\n * @cssprop --uui-input-background-color-disabled - Background color when disabled\n * @cssprop --uui-input-background-color-readonly - Background color when readonly\n * @cssprop --uui-input-border-width - Border width\n * @cssprop --uui-input-border-radius - Border radius\n * @cssprop --uui-input-border-color - Border color\n * @cssprop --uui-input-border-color-hover - Border color on hover\n * @cssprop --uui-input-border-color-focus - Border color on focus\n * @cssprop --uui-input-border-color-disabled - Border color when disabled\n * @cssprop --uui-input-border-color-readonly - Border color when readonly\n */\nexport class UUIInputElement extends UUIFormControlWithBasicsMixin(\n LabelMixin('', LitElement),\n '',\n) {\n /**\n * This is a static class field indicating that the element is can be used inside a native form and participate in its events. It may require a polyfill, check support here https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals. Read more about form controls here https://web.dev/more-capable-form-controls/\n * @type {boolean}\n */\n static readonly formAssociated = true;\n\n /**\n * Sets the min value of the input.\n * Examples: the first date the user may pick in date and datetime-local, or the min numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n min?: number | string;\n\n /**\n * Sets the minimum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n minlength?: number;\n\n /**\n * Minlength validation message.\n * @attr minlength-message\n * @default\n */\n @property({ attribute: 'minlength-message' })\n minlengthMessage: string | ((charsLeft: number) => string) = charsLeft =>\n `${charsLeft} characters left`;\n\n /**\n * Sets the max value of the input.\n * Examples: the last date the user may pick in date and datetime-local, or the max numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n max?: number | string;\n\n /**\n * Sets the maximum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Maxlength validation message.\n * @attr maxlength-message\n * @default\n */\n @property({ attribute: 'maxlength-message' })\n maxlengthMessage: string | ((max: number, current: number) => string) = (\n max,\n current,\n ) => `Maximum ${max} characters, ${current - max} too many.`;\n\n /**\n * Specifies the interval between legal numbers of the input\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Disables the input.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Defines the input placeholder.\n * @type {string}\n * @attr\n * @default ''\n */\n @property()\n placeholder = '';\n\n /**\n * Defines the input autocomplete.\n * @type {string}\n * @attr\n * @default undefined\n */\n @property()\n autocomplete?: string;\n\n /**\n * Sets the input width to fit the value or placeholder if empty\n * @type {boolean}\n * @attr auto-width\n */\n @property({ type: Boolean, reflect: true, attribute: 'auto-width' })\n autoWidth = false;\n\n /**\n * This property specifies the type of input that will be rendered.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types|MDN} for further information\n * @type {'text' | 'tel' | 'url' | 'email' | 'password' | 'date' | 'month' | 'week' | 'time' | 'datetime-local' | 'number' | 'color'}\n * @attr\n * @default text\n */\n @property({ type: String })\n get type(): InputType {\n return this._type;\n }\n set type(value: InputType) {\n this._type = value;\n }\n\n /**\n * The inputmode global attribute is an enumerated attribute that hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode|MDN} for further information\n * @type {'text' | 'none' | 'decimal' | 'number' | 'tel' | 'search' | 'email' | 'url'}\n * @attr\n * @default text\n */\n @property({ attribute: 'inputmode' })\n inputMode: InputMode = 'text';\n\n /**\n * Validates the input based on the Regex pattern\n * @type {string}\n * @attr\n */\n @property({ type: String })\n pattern?: string;\n\n /**\n * Set the input tabindex, set this to `-1` to avoid tabbing into the input.\n * @type {number}\n * @attr\n */\n @property({ type: Number, reflect: false, attribute: 'tabindex' })\n tabIndex: number = 0;\n\n @query('#input')\n readonly _input!: HTMLInputElement;\n\n private _type: InputType = 'text';\n\n constructor() {\n super();\n\n this.addEventListener('keydown', this.#onKeyDown);\n\n this.addValidator(\n 'tooShort',\n () => {\n const label = this.minlengthMessage;\n if (typeof label === 'function') {\n return label(\n this.minlength ? this.minlength - String(this.value).length : 0,\n );\n }\n return label;\n },\n () => !!this.minlength && String(this.value).length < this.minlength,\n );\n this.addValidator(\n 'tooLong',\n () => {\n const label = this.maxlengthMessage;\n if (typeof label === 'function') {\n return label(this.maxlength ?? 0, String(this.value).length);\n }\n return label;\n },\n () => !!this.maxlength && String(this.value).length > this.maxlength,\n );\n\n this.updateComplete.then(() => {\n this.addFormControlElement(this._input);\n });\n }\n\n #onKeyDown(e: KeyboardEvent): void {\n if (this.type !== 'color' && e.key == 'Enter') {\n this.submit();\n }\n }\n\n /**\n * Removes focus from the input.\n */\n async blur() {\n await this.updateComplete;\n this._input.blur();\n }\n\n /**\n * This method enables <label for=\"...\"> to focus the input\n */\n async focus() {\n await this.updateComplete;\n this._input.focus();\n }\n\n /**\n * Selects all the text in the input.\n */\n async select() {\n await this.updateComplete;\n this._input.select();\n }\n\n protected getFormElement(): HTMLElement {\n return this.shadowRoot?.querySelector('input') as HTMLElement;\n }\n\n protected onInput(e: Event) {\n e.stopPropagation();\n this.value = (e.target as HTMLInputElement).value;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.INPUT));\n }\n\n protected onChange(e: Event) {\n e.stopPropagation();\n this.pristine = false;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.CHANGE));\n }\n\n protected renderPrepend() {\n return html`<slot name=\"prepend\"></slot>`;\n }\n\n protected renderAppend() {\n return html`<slot name=\"append\"></slot>`;\n }\n\n render() {\n return html`\n ${this.renderPrepend()}\n <div id=\"inner\">\n <slot></slot>\n ${this.autoWidth ? this.renderInputWithAutoWidth() : this.renderInput()}\n </div>\n ${this.renderAppend()}\n `;\n }\n\n private renderInputWithAutoWidth() {\n return html`<div id=\"autoWidth\">\n ${this.renderInput()}${this.renderAutoWidthBackground()}\n </div>`;\n }\n\n renderInput() {\n return html`<input\n id=\"input\"\n size=${ifDefined(this.autoWidth ? '1' : undefined)}\n .type=${this.type}\n .value=${this.value as string}\n .name=${this.name}\n pattern=${ifDefined(this.pattern)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n spellcheck=${this.spellcheck}\n autocomplete=${ifDefined(this.autocomplete as any)}\n placeholder=${ifDefined(this.placeholder)}\n aria-label=${ifDefined(\n this.getAttribute('aria-label') || this.label || undefined,\n )}\n aria-labelledby=${ifDefined(\n this.getAttribute('aria-labelledby') || undefined,\n )}\n inputmode=${ifDefined(this.inputMode)}\n ?disabled=${this.disabled}\n ?autofocus=${this.autofocus}\n ?required=${this.required}\n ?readonly=${this.readonly}\n tabindex=${ifDefined(this.tabIndex)}\n @input=${this.onInput}\n @change=${this.onChange} />`;\n }\n\n private renderAutoWidthBackground() {\n return html` <div id=\"auto\" aria-hidden=\"true\">${this.renderText()}</div>`;\n }\n\n private renderText() {\n return html`${(this.value as string).length > 0\n ? this.value\n : this.placeholder}`;\n }\n\n static override readonly styles = [\n css`\n :host {\n position: relative;\n display: inline-flex;\n align-items: stretch;\n height: var(--uui-input-height, var(--uui-size-11));\n text-align: left;\n color: var(--uui-color-text);\n color-scheme: var(--uui-color-scheme, normal);\n box-sizing: border-box;\n background-color: var(\n --uui-input-background-color,\n var(--uui-color-surface)\n );\n border: var(--uui-input-border-width, 1px) solid\n var(--uui-input-border-color, var(--uui-color-border));\n border-radius: var(--uui-input-border-radius, var(--uui-border-radius));\n min-width: 0;\n overflow: hidden;\n\n --uui-input-padding: 1px var(--uui-size-3);\n --uui-button-height: 100%;\n --uui-button-border-radius: var(\n --uui-input-border-radius,\n var(--uui-border-radius)\n );\n --auto-width-text-margin-right: 0;\n --auto-width-text-margin-left: 0;\n }\n\n #autoWidth {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0;\n }\n\n #auto {\n border: 0 1px solid transparent;\n visibility: hidden;\n white-space: pre;\n z-index: -1;\n height: 0px;\n padding: 0 var(--uui-size-space-3);\n margin: 0 var(--auto-width-text-margin-right) 0\n var(--auto-width-text-margin-left);\n }\n\n :host(:hover) {\n border-color: var(\n --uui-input-border-color-hover,\n var(--uui-color-border-standalone)\n );\n }\n /* TODO: Fix so we dont get double outline when there is focus on things in the slot. */\n :host(:focus-within) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n outline: 2px solid var(--uui-color-focus);\n }\n :host(:focus) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n }\n :host([disabled]) {\n background-color: var(\n --uui-input-background-color-disabled,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-disabled,\n var(--uui-color-disabled)\n );\n\n color: var(--uui-color-disabled-contrast);\n }\n :host([disabled]) input {\n -webkit-text-fill-color: var(\n --uui-color-disabled-contrast\n ); /* required on Safari and IOS */\n }\n :host([readonly]) {\n background-color: var(\n --uui-input-background-color-readonly,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-readonly,\n var(--uui-color-disabled-standalone)\n );\n }\n\n :host(:not([pristine]):invalid),\n /* polyfill support */\n :host(:not([pristine])[internals-invalid]) {\n border-color: var(--uui-color-invalid);\n }\n\n input {\n font-family: inherit;\n padding: var(--uui-input-padding);\n font-size: inherit;\n color: inherit;\n border-radius: var(--uui-border-radius);\n box-sizing: border-box;\n border: none;\n background: none;\n min-width: 0;\n flex-grow: 1;\n flex-shrink: 1;\n height: inherit;\n text-align: inherit;\n outline: none;\n text-overflow: ellipsis;\n line-height: 1;\n flex: 1 1 auto;\n min-width: 60px;\n }\n\n input[type='password']::-ms-reveal {\n display: none;\n }\n\n /* TODO: make sure color looks good, or remove it as an option as we want to provide color-picker component */\n input[type='color'] {\n width: 30px;\n padding: 0;\n border: none;\n }\n\n slot[name='prepend'],\n slot[name='append'] {\n display: flex;\n align-items: center;\n line-height: 1;\n height: 100%;\n min-width: 0;\n }\n\n uui-input,\n uui-input-lock,\n ::slotted(uui-input),\n ::slotted(uui-input-lock) {\n height: 100%;\n --uui-input-border-width: 0;\n }\n\n uui-button,\n ::slotted(uui-button) {\n height: 100%;\n --uui-button-border-width: 0;\n }\n\n #inner {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n flex: 1 1 auto;\n min-width: 0;\n padding: 2px;\n }\n `,\n ];\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.element.js","names":["#onKeyDown"],"sources":["../../../src/components/input/input.element.ts"],"sourcesContent":["import {\n UUIFormControlWithBasicsMixin,\n LabelMixin,\n} from '../../internal/mixins/index.js';\nimport { css, html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { UUIInputEvent } from './UUIInputEvent.js';\n\nexport type InputType =\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'password'\n | 'search'\n | 'month'\n | 'week'\n | 'time'\n | 'date'\n | 'datetime-local'\n | 'number'\n | 'color';\n\nexport type InputMode =\n | 'text'\n | 'none'\n | 'decimal'\n | 'numeric'\n | 'tel'\n | 'search'\n | 'email'\n | 'url';\n\n/**\n * Custom element wrapping the native input element.This is a formAssociated element, meaning it can participate in a native HTMLForm. A name:value pair will be submitted.\n * @element uui-input\n * @slot prepend - for components to render to the left of the input.\n * @slot append - for components to render to the right of the input.\n * @property {boolean} spellcheck - get/set native spellcheck attribute\n * @attribute spellcheck - native spellcheck attribute\n * @property {string} value - get/set the value of the input\n * @attribute value - get/set the value of the input\n * @property {string} name - get/set the name of the input\n * @attribute name - get/set the name of the input\n * @fires UUIInputEvent#change on change\n * @fires InputEvent#input on input\n * @fires KeyboardEvent#keyup on keyup\n * @cssprop --uui-input-height - Height of the element\n * @cssprop --uui-input-background-color - Background color of the element\n * @cssprop --uui-input-background-color-disabled - Background color when disabled\n * @cssprop --uui-input-background-color-readonly - Background color when readonly\n * @cssprop --uui-input-border-width - Border width\n * @cssprop --uui-input-border-radius - Border radius\n * @cssprop --uui-input-border-color - Border color\n * @cssprop --uui-input-border-color-hover - Border color on hover\n * @cssprop --uui-input-border-color-focus - Border color on focus\n * @cssprop --uui-input-border-color-disabled - Border color when disabled\n * @cssprop --uui-input-border-color-readonly - Border color when readonly\n */\nexport class UUIInputElement extends UUIFormControlWithBasicsMixin(\n LabelMixin('', LitElement),\n '',\n) {\n /**\n * This is a static class field indicating that the element is can be used inside a native form and participate in its events. It may require a polyfill, check support here https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals. Read more about form controls here https://web.dev/more-capable-form-controls/\n * @type {boolean}\n */\n static readonly formAssociated = true;\n\n /**\n * Sets the min value of the input.\n * Examples: the first date the user may pick in date and datetime-local, or the min numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n min?: number | string;\n\n /**\n * Sets the minimum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n minlength?: number;\n\n /**\n * Minlength validation message.\n * @attr minlength-message\n * @default\n */\n @property({ attribute: 'minlength-message' })\n minlengthMessage: string | ((charsLeft: number) => string) = charsLeft =>\n `${charsLeft} characters left`;\n\n /**\n * Sets the max value of the input.\n * Examples: the last date the user may pick in date and datetime-local, or the max numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n max?: number | string;\n\n /**\n * Sets the maximum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Maxlength validation message.\n * @attr maxlength-message\n * @default\n */\n @property({ attribute: 'maxlength-message' })\n maxlengthMessage: string | ((max: number, current: number) => string) = (\n max,\n current,\n ) => `Maximum ${max} characters, ${current - max} too many.`;\n\n /**\n * Specifies the interval between legal numbers of the input\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Disables the input.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Defines the input placeholder.\n * @type {string}\n * @attr\n * @default ''\n */\n @property()\n placeholder = '';\n\n /**\n * Defines the input autocomplete.\n * @type {string}\n * @attr\n * @default undefined\n */\n @property()\n autocomplete?: string;\n\n /**\n * Sets the input width to fit the value or placeholder if empty\n * @type {boolean}\n * @attr auto-width\n */\n @property({ type: Boolean, reflect: true, attribute: 'auto-width' })\n autoWidth = false;\n\n /**\n * This property specifies the type of input that will be rendered.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types|MDN} for further information\n * @type {'text' | 'tel' | 'url' | 'email' | 'password' | 'date' | 'month' | 'week' | 'time' | 'datetime-local' | 'number' | 'color'}\n * @attr\n * @default text\n */\n @property({ type: String })\n get type(): InputType {\n return this._type;\n }\n set type(value: InputType) {\n this._type = value;\n }\n\n /**\n * The inputmode global attribute is an enumerated attribute that hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode|MDN} for further information\n * @type {'text' | 'none' | 'decimal' | 'number' | 'tel' | 'search' | 'email' | 'url'}\n * @attr\n * @default text\n */\n @property({ attribute: 'inputmode' })\n inputMode: InputMode = 'text';\n\n /**\n * Validates the input based on the Regex pattern\n * @type {string}\n * @attr\n */\n @property({ type: String })\n pattern?: string;\n\n /**\n * Set the input tabindex, set this to `-1` to avoid tabbing into the input.\n * @type {number}\n * @attr\n */\n @property({ type: Number, reflect: false, attribute: 'tabindex' })\n tabIndex: number = 0;\n\n @query('#input')\n readonly _input!: HTMLInputElement;\n\n private _type: InputType = 'text';\n\n constructor() {\n super();\n\n this.addEventListener('keydown', this.#onKeyDown);\n\n this.addValidator(\n 'tooShort',\n () => {\n const label = this.minlengthMessage;\n if (typeof label === 'function') {\n return label(\n this.minlength ? this.minlength - String(this.value).length : 0,\n );\n }\n return label;\n },\n () => !!this.minlength && String(this.value).length < this.minlength,\n );\n this.addValidator(\n 'tooLong',\n () => {\n const label = this.maxlengthMessage;\n if (typeof label === 'function') {\n return label(this.maxlength ?? 0, String(this.value).length);\n }\n return label;\n },\n () => !!this.maxlength && String(this.value).length > this.maxlength,\n );\n\n this.updateComplete.then(() => {\n this.addFormControlElement(this._input);\n });\n }\n\n #onKeyDown(e: KeyboardEvent): void {\n if (this.type !== 'color' && e.key == 'Enter') {\n this.submit();\n }\n }\n\n /**\n * Removes focus from the input.\n */\n async blur() {\n await this.updateComplete;\n this._input.blur();\n }\n\n /**\n * This method enables <label for=\"...\"> to focus the input\n */\n async focus() {\n await this.updateComplete;\n this._input.focus();\n }\n\n /**\n * Selects all the text in the input.\n */\n async select() {\n await this.updateComplete;\n this._input.select();\n }\n\n protected getFormElement(): HTMLElement {\n return this.shadowRoot?.querySelector('input') as HTMLElement;\n }\n\n protected onInput(e: Event) {\n e.stopPropagation();\n this.value = (e.target as HTMLInputElement).value;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.INPUT));\n }\n\n protected onChange(e: Event) {\n e.stopPropagation();\n this.pristine = false;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.CHANGE));\n }\n\n protected renderPrepend() {\n return html`<slot name=\"prepend\"></slot>`;\n }\n\n protected renderAppend() {\n return html`<slot name=\"append\"></slot>`;\n }\n\n render() {\n return html`\n ${this.renderPrepend()}\n <div id=\"inner\">\n <slot></slot>\n ${this.autoWidth ? this.renderInputWithAutoWidth() : this.renderInput()}\n </div>\n ${this.renderAppend()}\n `;\n }\n\n private renderInputWithAutoWidth() {\n return html`<div id=\"autoWidth\">\n ${this.renderInput()}${this.renderAutoWidthBackground()}\n </div>`;\n }\n\n renderInput() {\n return html`<input\n id=\"input\"\n size=${ifDefined(this.autoWidth ? '1' : undefined)}\n .type=${this.type}\n .value=${this.value as string}\n .name=${this.name}\n pattern=${ifDefined(this.pattern)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n spellcheck=${this.spellcheck}\n autocomplete=${ifDefined(this.autocomplete as any)}\n placeholder=${ifDefined(this.placeholder)}\n aria-label=${ifDefined(\n this.getAttribute('aria-label') || this.label || undefined,\n )}\n aria-labelledby=${ifDefined(\n this.getAttribute('aria-labelledby') || undefined,\n )}\n inputmode=${ifDefined(this.inputMode)}\n ?disabled=${this.disabled}\n ?autofocus=${this.autofocus}\n ?required=${this.required}\n ?readonly=${this.readonly}\n tabindex=${ifDefined(this.tabIndex)}\n @input=${this.onInput}\n @change=${this.onChange} />`;\n }\n\n private renderAutoWidthBackground() {\n return html` <div id=\"auto\" aria-hidden=\"true\">${this.renderText()}</div>`;\n }\n\n private renderText() {\n return html`${(this.value as string).length > 0\n ? this.value\n : this.placeholder}`;\n }\n\n static override readonly styles = [\n css`\n :host {\n position: relative;\n display: inline-flex;\n align-items: stretch;\n height: var(--uui-input-height, var(--uui-size-11));\n text-align: left;\n color: var(--uui-color-text);\n color-scheme: var(--uui-color-scheme, normal);\n box-sizing: border-box;\n background-color: var(\n --uui-input-background-color,\n var(--uui-color-surface)\n );\n border: var(--uui-input-border-width, 1px) solid\n var(--uui-input-border-color, var(--uui-color-border));\n border-radius: var(--uui-input-border-radius, var(--uui-border-radius));\n min-width: 0;\n overflow: hidden;\n\n --uui-input-padding: 1px var(--uui-size-3);\n --uui-button-height: 100%;\n --uui-button-border-radius: var(\n --uui-input-border-radius,\n var(--uui-border-radius)\n );\n --auto-width-text-margin-right: 0;\n --auto-width-text-margin-left: 0;\n }\n\n #autoWidth {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0;\n }\n\n #auto {\n border: 0 1px solid transparent;\n visibility: hidden;\n white-space: pre;\n z-index: -1;\n height: 0px;\n padding: 0 var(--uui-size-space-3);\n margin: 0 var(--auto-width-text-margin-right) 0\n var(--auto-width-text-margin-left);\n }\n\n :host(:hover) {\n border-color: var(\n --uui-input-border-color-hover,\n var(--uui-color-border-standalone)\n );\n }\n /* TODO: Fix so we dont get double outline when there is focus on things in the slot. */\n :host(:focus-within) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n outline: calc(2px * var(--uui-show-focus-outline, 1)) solid\n var(--uui-color-focus);\n }\n :host(:focus) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n }\n :host([disabled]) {\n background-color: var(\n --uui-input-background-color-disabled,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-disabled,\n var(--uui-color-disabled)\n );\n\n color: var(--uui-color-disabled-contrast);\n }\n :host([disabled]) input {\n -webkit-text-fill-color: var(\n --uui-color-disabled-contrast\n ); /* required on Safari and IOS */\n }\n :host([readonly]) {\n background-color: var(\n --uui-input-background-color-readonly,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-readonly,\n var(--uui-color-disabled-standalone)\n );\n }\n\n :host(:not([pristine]):invalid),\n /* polyfill support */\n :host(:not([pristine])[internals-invalid]) {\n border-color: var(--uui-color-invalid);\n }\n\n input {\n font-family: inherit;\n padding: var(--uui-input-padding);\n font-size: inherit;\n color: inherit;\n border-radius: var(--uui-border-radius);\n box-sizing: border-box;\n border: none;\n background: none;\n min-width: 0;\n flex-grow: 1;\n flex-shrink: 1;\n height: inherit;\n text-align: inherit;\n outline: none;\n text-overflow: ellipsis;\n line-height: 1;\n flex: 1 1 auto;\n min-width: 60px;\n }\n\n input[type='password']::-ms-reveal {\n display: none;\n }\n\n /* TODO: make sure color looks good, or remove it as an option as we want to provide color-picker component */\n input[type='color'] {\n width: 30px;\n padding: 0;\n border: none;\n }\n\n slot[name='prepend'],\n slot[name='append'] {\n display: flex;\n align-items: center;\n line-height: 1;\n height: 100%;\n min-width: 0;\n }\n\n uui-input,\n uui-input-lock,\n ::slotted(uui-input),\n ::slotted(uui-input-lock) {\n height: 100%;\n --uui-input-border-width: 0;\n }\n\n uui-button,\n ::slotted(uui-button) {\n height: 100%;\n --uui-button-border-width: 0;\n }\n\n #inner {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n flex: 1 1 auto;\n min-width: 0;\n padding: 2px;\n }\n `,\n ];\n}\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { defineElement } from "../../internal/registration/index.js";
2
- import { UUIInputElement } from "./input.element.js";
3
2
  import { UUIInputEvent } from "./UUIInputEvent.js";
3
+ import { UUIInputElement } from "./input.element.js";
4
+ //#region src/components/input/input.ts
4
5
  defineElement("uui-input", UUIInputElement);
5
- export {
6
- UUIInputElement,
7
- UUIInputEvent,
8
- UUIInputElement as default
9
- };
10
- //# sourceMappingURL=input.js.map
6
+ //#endregion
7
+ export { UUIInputElement, UUIInputEvent };
8
+
9
+ //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../../src/components/input/input.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIInputElement } from './input.element.js';\n\ndefineElement('uui-input', UUIInputElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-input': UUIInputElement;\n }\n}\n\nexport * from './input.element.js';\nexport * from './UUIInputEvent.js';\nexport { UUIInputElement as default } from './input.element.js';\n"],"names":[],"mappings":";;;AAGA,cAAc,aAAa,eAAe;"}
1
+ {"version":3,"file":"input.js","names":[],"sources":["../../../src/components/input/input.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIInputElement } from './input.element.js';\n\ndefineElement('uui-input', UUIInputElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-input': UUIInputElement;\n }\n}\n\nexport * from './input.element.js';\nexport * from './UUIInputEvent.js';\n"],"mappings":";;;;AAGA,cAAc,aAAa,eAAe"}
@@ -5,4 +5,3 @@ declare global {
5
5
  }
6
6
  }
7
7
  export * from './input-file.element.js';
8
- export { UUIInputFileElement as default } from './input-file.element.js';