@umbraco-ui/uui 1.17.0 → 2.0.0-alpha.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 (835) hide show
  1. package/README.md +101 -44
  2. package/custom-elements.json +629 -974
  3. package/dist/assets/fonts/LatoLatin-Black.woff2 +0 -0
  4. package/dist/assets/fonts/LatoLatin-BlackItalic.woff2 +0 -0
  5. package/dist/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  6. package/dist/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  7. package/dist/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  8. package/dist/assets/fonts/LatoLatin-Light.woff2 +0 -0
  9. package/dist/assets/fonts/LatoLatin-LightItalic.woff2 +0 -0
  10. package/dist/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  11. package/dist/components/action-bar/action-bar.d.ts +8 -0
  12. package/dist/components/action-bar/action-bar.element.d.ts +8 -0
  13. package/dist/components/action-bar/action-bar.element.js +56 -0
  14. package/dist/components/action-bar/action-bar.element.js.map +1 -0
  15. package/dist/components/action-bar/action-bar.js +8 -0
  16. package/dist/components/action-bar/action-bar.js.map +1 -0
  17. package/dist/components/avatar/avatar.d.ts +8 -0
  18. package/dist/components/avatar/avatar.element.d.ts +49 -0
  19. package/dist/components/avatar/avatar.element.js +124 -0
  20. package/dist/components/avatar/avatar.element.js.map +1 -0
  21. package/dist/components/avatar/avatar.js +8 -0
  22. package/dist/components/avatar/avatar.js.map +1 -0
  23. package/dist/components/avatar-group/avatar-group.d.ts +8 -0
  24. package/dist/components/avatar-group/avatar-group.element.d.ts +26 -0
  25. package/dist/components/avatar-group/avatar-group.element.js +87 -0
  26. package/dist/components/avatar-group/avatar-group.element.js.map +1 -0
  27. package/dist/components/avatar-group/avatar-group.js +8 -0
  28. package/dist/components/avatar-group/avatar-group.js.map +1 -0
  29. package/dist/components/badge/badge.d.ts +8 -0
  30. package/dist/components/badge/badge.element.d.ts +32 -0
  31. package/dist/components/badge/badge.element.js +154 -0
  32. package/dist/components/badge/badge.element.js.map +1 -0
  33. package/dist/components/badge/badge.js +8 -0
  34. package/dist/components/badge/badge.js.map +1 -0
  35. package/dist/components/boolean-input/UUIBooleanInputEvent.d.ts +6 -0
  36. package/dist/components/boolean-input/UUIBooleanInputEvent.js +15 -0
  37. package/dist/components/boolean-input/UUIBooleanInputEvent.js.map +1 -0
  38. package/dist/components/boolean-input/boolean-input.d.ts +3 -0
  39. package/dist/components/boolean-input/boolean-input.element.d.ts +77 -0
  40. package/dist/components/boolean-input/boolean-input.element.js +196 -0
  41. package/dist/components/boolean-input/boolean-input.element.js.map +1 -0
  42. package/dist/components/box/box.d.ts +8 -0
  43. package/dist/components/box/box.element.d.ts +48 -0
  44. package/dist/components/box/box.element.js +130 -0
  45. package/dist/components/box/box.element.js.map +1 -0
  46. package/dist/components/box/box.js +8 -0
  47. package/dist/components/box/box.js.map +1 -0
  48. package/dist/components/breadcrumbs/breadcrumb-item.element.d.ts +27 -0
  49. package/dist/components/breadcrumbs/breadcrumb-item.element.js +83 -0
  50. package/dist/components/breadcrumbs/breadcrumb-item.element.js.map +1 -0
  51. package/dist/components/breadcrumbs/breadcrumbs.d.ts +11 -0
  52. package/dist/components/breadcrumbs/breadcrumbs.element.d.ts +15 -0
  53. package/dist/components/breadcrumbs/breadcrumbs.element.js +87 -0
  54. package/dist/components/breadcrumbs/breadcrumbs.element.js.map +1 -0
  55. package/dist/components/breadcrumbs/breadcrumbs.js +11 -0
  56. package/dist/components/breadcrumbs/breadcrumbs.js.map +1 -0
  57. package/dist/components/button/button.d.ts +8 -0
  58. package/dist/components/button/button.element.d.ts +120 -0
  59. package/dist/components/button/button.element.js +517 -0
  60. package/dist/components/button/button.element.js.map +1 -0
  61. package/dist/components/button/button.js +8 -0
  62. package/dist/components/button/button.js.map +1 -0
  63. package/dist/components/button-copy-text/UUICopyTextEvent.d.ts +12 -0
  64. package/dist/components/button-copy-text/UUICopyTextEvent.js +14 -0
  65. package/dist/components/button-copy-text/UUICopyTextEvent.js.map +1 -0
  66. package/dist/components/button-copy-text/button-copy-text.d.ts +9 -0
  67. package/dist/components/button-copy-text/button-copy-text.element.d.ts +41 -0
  68. package/dist/components/button-copy-text/button-copy-text.element.js +100 -0
  69. package/dist/components/button-copy-text/button-copy-text.element.js.map +1 -0
  70. package/dist/components/button-copy-text/button-copy-text.js +10 -0
  71. package/dist/components/button-copy-text/button-copy-text.js.map +1 -0
  72. package/dist/components/button-group/button-group.d.ts +8 -0
  73. package/dist/components/button-group/button-group.element.d.ts +10 -0
  74. package/dist/components/button-group/button-group.element.js +44 -0
  75. package/dist/components/button-group/button-group.element.js.map +1 -0
  76. package/dist/components/button-group/button-group.js +8 -0
  77. package/dist/components/button-group/button-group.js.map +1 -0
  78. package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.d.ts +6 -0
  79. package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js +16 -0
  80. package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js.map +1 -0
  81. package/dist/components/button-inline-create/button-inline-create.d.ts +9 -0
  82. package/dist/components/button-inline-create/button-inline-create.element.d.ts +48 -0
  83. package/dist/components/button-inline-create/button-inline-create.element.js +272 -0
  84. package/dist/components/button-inline-create/button-inline-create.element.js.map +1 -0
  85. package/dist/components/button-inline-create/button-inline-create.js +10 -0
  86. package/dist/components/button-inline-create/button-inline-create.js.map +1 -0
  87. package/dist/components/card/UUICardEvent.d.ts +5 -0
  88. package/dist/components/card/UUICardEvent.js +9 -0
  89. package/dist/components/card/UUICardEvent.js.map +1 -0
  90. package/dist/components/card/card.d.ts +9 -0
  91. package/dist/components/card/card.element.d.ts +54 -0
  92. package/dist/components/card/card.element.js +242 -0
  93. package/dist/components/card/card.element.js.map +1 -0
  94. package/dist/components/card/card.js +10 -0
  95. package/dist/components/card/card.js.map +1 -0
  96. package/dist/components/card-block-type/card-block-type.d.ts +8 -0
  97. package/dist/components/card-block-type/card-block-type.element.d.ts +32 -0
  98. package/dist/components/card-block-type/card-block-type.element.js +249 -0
  99. package/dist/components/card-block-type/card-block-type.element.js.map +1 -0
  100. package/dist/components/card-block-type/card-block-type.js +8 -0
  101. package/dist/components/card-block-type/card-block-type.js.map +1 -0
  102. package/dist/components/card-content-node/card-content-node.d.ts +8 -0
  103. package/dist/components/card-content-node/card-content-node.element.d.ts +34 -0
  104. package/dist/components/card-content-node/card-content-node.element.js +232 -0
  105. package/dist/components/card-content-node/card-content-node.element.js.map +1 -0
  106. package/dist/components/card-content-node/card-content-node.js +8 -0
  107. package/dist/components/card-content-node/card-content-node.js.map +1 -0
  108. package/dist/components/card-media/card-media.d.ts +8 -0
  109. package/dist/components/card-media/card-media.element.d.ts +39 -0
  110. package/dist/components/card-media/card-media.element.js +251 -0
  111. package/dist/components/card-media/card-media.element.js.map +1 -0
  112. package/dist/components/card-media/card-media.js +8 -0
  113. package/dist/components/card-media/card-media.js.map +1 -0
  114. package/dist/components/card-user/card-user.d.ts +8 -0
  115. package/dist/components/card-user/card-user.element.d.ts +24 -0
  116. package/dist/components/card-user/card-user.element.js +188 -0
  117. package/dist/components/card-user/card-user.element.js.map +1 -0
  118. package/dist/components/card-user/card-user.js +8 -0
  119. package/dist/components/card-user/card-user.js.map +1 -0
  120. package/dist/components/checkbox/checkbox-indeterminate.example.d.ts +20 -0
  121. package/dist/components/checkbox/checkbox.d.ts +8 -0
  122. package/dist/components/checkbox/checkbox.element.d.ts +17 -0
  123. package/dist/components/checkbox/checkbox.element.js +202 -0
  124. package/dist/components/checkbox/checkbox.element.js.map +1 -0
  125. package/dist/components/checkbox/checkbox.js +8 -0
  126. package/dist/components/checkbox/checkbox.js.map +1 -0
  127. package/dist/components/color-area/UUIColorAreaEvent.d.ts +6 -0
  128. package/dist/components/color-area/UUIColorAreaEvent.js +15 -0
  129. package/dist/components/color-area/UUIColorAreaEvent.js.map +1 -0
  130. package/dist/components/color-area/color-area.d.ts +9 -0
  131. package/dist/components/color-area/color-area.element.d.ts +87 -0
  132. package/dist/components/color-area/color-area.element.js +251 -0
  133. package/dist/components/color-area/color-area.element.js.map +1 -0
  134. package/dist/components/color-area/color-area.js +10 -0
  135. package/dist/components/color-area/color-area.js.map +1 -0
  136. package/dist/components/color-picker/UUIColorPickerEvent.d.ts +6 -0
  137. package/dist/components/color-picker/UUIColorPickerEvent.js +15 -0
  138. package/dist/components/color-picker/UUIColorPickerEvent.js.map +1 -0
  139. package/dist/components/color-picker/color-picker.d.ts +9 -0
  140. package/dist/components/color-picker/color-picker.element.d.ts +135 -0
  141. package/dist/components/color-picker/color-picker.element.js +588 -0
  142. package/dist/components/color-picker/color-picker.element.js.map +1 -0
  143. package/dist/components/color-picker/color-picker.js +10 -0
  144. package/dist/components/color-picker/color-picker.js.map +1 -0
  145. package/dist/components/color-slider/UUIColorSliderEvent.d.ts +6 -0
  146. package/dist/components/color-slider/UUIColorSliderEvent.js +15 -0
  147. package/dist/components/color-slider/UUIColorSliderEvent.js.map +1 -0
  148. package/dist/components/color-slider/color-slider.d.ts +9 -0
  149. package/dist/components/color-slider/color-slider.element.d.ts +103 -0
  150. package/dist/components/color-slider/color-slider.element.js +348 -0
  151. package/dist/components/color-slider/color-slider.element.js.map +1 -0
  152. package/dist/components/color-slider/color-slider.js +10 -0
  153. package/dist/components/color-slider/color-slider.js.map +1 -0
  154. package/dist/components/color-swatch/color-swatch.d.ts +8 -0
  155. package/dist/components/color-swatch/color-swatch.element.d.ts +57 -0
  156. package/dist/components/color-swatch/color-swatch.element.js +358 -0
  157. package/dist/components/color-swatch/color-swatch.element.js.map +1 -0
  158. package/dist/components/color-swatch/color-swatch.js +8 -0
  159. package/dist/components/color-swatch/color-swatch.js.map +1 -0
  160. package/dist/components/color-swatches/UUIColorSwatchesEvent.d.ts +6 -0
  161. package/dist/components/color-swatches/UUIColorSwatchesEvent.js +15 -0
  162. package/dist/components/color-swatches/UUIColorSwatchesEvent.js.map +1 -0
  163. package/dist/components/color-swatches/color-swatches.d.ts +9 -0
  164. package/dist/components/color-swatches/color-swatches.element.d.ts +51 -0
  165. package/dist/components/color-swatches/color-swatches.element.js +140 -0
  166. package/dist/components/color-swatches/color-swatches.element.js.map +1 -0
  167. package/dist/components/color-swatches/color-swatches.js +10 -0
  168. package/dist/components/color-swatches/color-swatches.js.map +1 -0
  169. package/dist/components/combobox/UUIComboboxEvent.d.ts +7 -0
  170. package/dist/components/combobox/UUIComboboxEvent.js +16 -0
  171. package/dist/components/combobox/UUIComboboxEvent.js.map +1 -0
  172. package/dist/components/combobox/combobox-async-example.d.ts +10 -0
  173. package/dist/components/combobox/combobox-async-options-example.d.ts +8 -0
  174. package/dist/components/combobox/combobox.d.ts +9 -0
  175. package/dist/components/combobox/combobox.element.d.ts +90 -0
  176. package/dist/components/combobox/combobox.element.js +458 -0
  177. package/dist/components/combobox/combobox.element.js.map +1 -0
  178. package/dist/components/combobox/combobox.js +10 -0
  179. package/dist/components/combobox/combobox.js.map +1 -0
  180. package/dist/components/combobox-list/UUIComboboxListEvent.d.ts +7 -0
  181. package/dist/components/combobox-list/UUIComboboxListEvent.js +16 -0
  182. package/dist/components/combobox-list/UUIComboboxListEvent.js.map +1 -0
  183. package/dist/components/combobox-list/combobox-list-option.element.d.ts +40 -0
  184. package/dist/components/combobox-list/combobox-list-option.element.js +150 -0
  185. package/dist/components/combobox-list/combobox-list-option.element.js.map +1 -0
  186. package/dist/components/combobox-list/combobox-list.d.ts +12 -0
  187. package/dist/components/combobox-list/combobox-list.element.d.ts +52 -0
  188. package/dist/components/combobox-list/combobox-list.element.js +233 -0
  189. package/dist/components/combobox-list/combobox-list.element.js.map +1 -0
  190. package/dist/components/combobox-list/combobox-list.js +13 -0
  191. package/dist/components/combobox-list/combobox-list.js.map +1 -0
  192. package/dist/components/dialog/dialog.d.ts +8 -0
  193. package/dist/components/dialog/dialog.element.d.ts +10 -0
  194. package/dist/components/dialog/dialog.element.js +32 -0
  195. package/dist/components/dialog/dialog.element.js.map +1 -0
  196. package/dist/components/dialog/dialog.js +8 -0
  197. package/dist/components/dialog/dialog.js.map +1 -0
  198. package/dist/components/dialog-layout/dialog-layout.d.ts +8 -0
  199. package/dist/components/dialog-layout/dialog-layout.element.d.ts +42 -0
  200. package/dist/components/dialog-layout/dialog-layout.element.js +83 -0
  201. package/dist/components/dialog-layout/dialog-layout.element.js.map +1 -0
  202. package/dist/components/dialog-layout/dialog-layout.js +8 -0
  203. package/dist/components/dialog-layout/dialog-layout.js.map +1 -0
  204. package/dist/components/file-dropzone/UUIFileDropzoneEvent.d.ts +10 -0
  205. package/dist/components/file-dropzone/UUIFileDropzoneEvent.js +16 -0
  206. package/dist/components/file-dropzone/UUIFileDropzoneEvent.js.map +1 -0
  207. package/dist/components/file-dropzone/file-dropzone.d.ts +9 -0
  208. package/dist/components/file-dropzone/file-dropzone.element.d.ts +80 -0
  209. package/dist/components/file-dropzone/file-dropzone.element.js +321 -0
  210. package/dist/components/file-dropzone/file-dropzone.element.js.map +1 -0
  211. package/dist/components/file-dropzone/file-dropzone.js +10 -0
  212. package/dist/components/file-dropzone/file-dropzone.js.map +1 -0
  213. package/dist/components/file-preview/UUIFileSize.d.ts +13 -0
  214. package/dist/components/file-preview/UUIFileSize.js +20 -0
  215. package/dist/components/file-preview/UUIFileSize.js.map +1 -0
  216. package/dist/components/file-preview/file-preview.d.ts +9 -0
  217. package/dist/components/file-preview/file-preview.element.d.ts +17 -0
  218. package/dist/components/file-preview/file-preview.element.js +175 -0
  219. package/dist/components/file-preview/file-preview.element.js.map +1 -0
  220. package/dist/components/file-preview/file-preview.js +8 -0
  221. package/dist/components/file-preview/file-preview.js.map +1 -0
  222. package/dist/components/form/form.d.ts +8 -0
  223. package/dist/components/form/form.element.d.ts +13 -0
  224. package/dist/components/form/form.element.js +48 -0
  225. package/dist/components/form/form.element.js.map +1 -0
  226. package/dist/components/form/form.js +8 -0
  227. package/dist/components/form/form.js.map +1 -0
  228. package/dist/components/form-layout-item/form-layout-item.d.ts +8 -0
  229. package/dist/components/form-layout-item/form-layout-item.element.d.ts +19 -0
  230. package/dist/components/form-layout-item/form-layout-item.element.js +81 -0
  231. package/dist/components/form-layout-item/form-layout-item.element.js.map +1 -0
  232. package/dist/components/form-layout-item/form-layout-item.js +8 -0
  233. package/dist/components/form-layout-item/form-layout-item.js.map +1 -0
  234. package/dist/components/form-validation-message/form-validation-message.d.ts +8 -0
  235. package/dist/components/form-validation-message/form-validation-message.element.d.ts +26 -0
  236. package/dist/components/form-validation-message/form-validation-message.element.js +100 -0
  237. package/dist/components/form-validation-message/form-validation-message.element.js.map +1 -0
  238. package/dist/components/form-validation-message/form-validation-message.js +8 -0
  239. package/dist/components/form-validation-message/form-validation-message.js.map +1 -0
  240. package/dist/components/icon/UUIIconRequestEvent.d.ts +9 -0
  241. package/dist/components/icon/UUIIconRequestEvent.js +21 -0
  242. package/dist/components/icon/UUIIconRequestEvent.js.map +1 -0
  243. package/dist/components/icon/icon.d.ts +9 -0
  244. package/dist/components/icon/icon.element.d.ts +52 -0
  245. package/dist/components/icon/icon.element.js +145 -0
  246. package/dist/components/icon/icon.element.js.map +1 -0
  247. package/dist/components/icon/icon.js +10 -0
  248. package/dist/components/icon/icon.js.map +1 -0
  249. package/dist/components/icon-registry/UUIIconHost.d.ts +7 -0
  250. package/dist/components/icon-registry/UUIIconHost.js +18 -0
  251. package/dist/components/icon-registry/UUIIconHost.js.map +1 -0
  252. package/dist/components/icon-registry/UUIIconRegistry.d.ts +38 -0
  253. package/dist/components/icon-registry/UUIIconRegistry.js +80 -0
  254. package/dist/components/icon-registry/UUIIconRegistry.js.map +1 -0
  255. package/dist/components/icon-registry/icon-registry.d.ts +10 -0
  256. package/dist/components/icon-registry/icon-registry.element.d.ts +23 -0
  257. package/dist/components/icon-registry/icon-registry.element.js +51 -0
  258. package/dist/components/icon-registry/icon-registry.element.js.map +1 -0
  259. package/dist/components/icon-registry/icon-registry.js +9 -0
  260. package/dist/components/icon-registry/icon-registry.js.map +1 -0
  261. package/dist/components/icon-registry-essential/UUIIconRegistryEssential.d.ts +4 -0
  262. package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js +76 -0
  263. package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js.map +1 -0
  264. package/dist/components/icon-registry-essential/icon-registry-essential.d.ts +9 -0
  265. package/dist/components/icon-registry-essential/icon-registry-essential.element.d.ts +9 -0
  266. package/dist/components/icon-registry-essential/icon-registry-essential.element.js +12 -0
  267. package/dist/components/icon-registry-essential/icon-registry-essential.element.js.map +1 -0
  268. package/dist/components/icon-registry-essential/icon-registry-essential.js +9 -0
  269. package/dist/components/icon-registry-essential/icon-registry-essential.js.map +1 -0
  270. package/dist/components/icon-registry-essential/svgs/iconAdd.d.ts +1 -0
  271. package/dist/components/icon-registry-essential/svgs/iconAdd.js +6 -0
  272. package/dist/components/icon-registry-essential/svgs/iconAdd.js.map +1 -0
  273. package/dist/components/icon-registry-essential/svgs/iconAlert.d.ts +1 -0
  274. package/dist/components/icon-registry-essential/svgs/iconAlert.js +6 -0
  275. package/dist/components/icon-registry-essential/svgs/iconAlert.js.map +1 -0
  276. package/dist/components/icon-registry-essential/svgs/iconAttachment.d.ts +1 -0
  277. package/dist/components/icon-registry-essential/svgs/iconAttachment.js +6 -0
  278. package/dist/components/icon-registry-essential/svgs/iconAttachment.js.map +1 -0
  279. package/dist/components/icon-registry-essential/svgs/iconCalendar.d.ts +1 -0
  280. package/dist/components/icon-registry-essential/svgs/iconCalendar.js +6 -0
  281. package/dist/components/icon-registry-essential/svgs/iconCalendar.js.map +1 -0
  282. package/dist/components/icon-registry-essential/svgs/iconCheck.d.ts +1 -0
  283. package/dist/components/icon-registry-essential/svgs/iconCheck.js +6 -0
  284. package/dist/components/icon-registry-essential/svgs/iconCheck.js.map +1 -0
  285. package/dist/components/icon-registry-essential/svgs/iconClipboard.d.ts +1 -0
  286. package/dist/components/icon-registry-essential/svgs/iconClipboard.js +6 -0
  287. package/dist/components/icon-registry-essential/svgs/iconClipboard.js.map +1 -0
  288. package/dist/components/icon-registry-essential/svgs/iconCode.d.ts +1 -0
  289. package/dist/components/icon-registry-essential/svgs/iconCode.js +6 -0
  290. package/dist/components/icon-registry-essential/svgs/iconCode.js.map +1 -0
  291. package/dist/components/icon-registry-essential/svgs/iconColorPicker.d.ts +1 -0
  292. package/dist/components/icon-registry-essential/svgs/iconColorPicker.js +6 -0
  293. package/dist/components/icon-registry-essential/svgs/iconColorPicker.js.map +1 -0
  294. package/dist/components/icon-registry-essential/svgs/iconCopy.d.ts +1 -0
  295. package/dist/components/icon-registry-essential/svgs/iconCopy.js +6 -0
  296. package/dist/components/icon-registry-essential/svgs/iconCopy.js.map +1 -0
  297. package/dist/components/icon-registry-essential/svgs/iconDelete.d.ts +1 -0
  298. package/dist/components/icon-registry-essential/svgs/iconDelete.js +6 -0
  299. package/dist/components/icon-registry-essential/svgs/iconDelete.js.map +1 -0
  300. package/dist/components/icon-registry-essential/svgs/iconDocument.d.ts +1 -0
  301. package/dist/components/icon-registry-essential/svgs/iconDocument.js +6 -0
  302. package/dist/components/icon-registry-essential/svgs/iconDocument.js.map +1 -0
  303. package/dist/components/icon-registry-essential/svgs/iconDownload.d.ts +1 -0
  304. package/dist/components/icon-registry-essential/svgs/iconDownload.js +6 -0
  305. package/dist/components/icon-registry-essential/svgs/iconDownload.js.map +1 -0
  306. package/dist/components/icon-registry-essential/svgs/iconDrag.d.ts +1 -0
  307. package/dist/components/icon-registry-essential/svgs/iconDrag.js +6 -0
  308. package/dist/components/icon-registry-essential/svgs/iconDrag.js.map +1 -0
  309. package/dist/components/icon-registry-essential/svgs/iconEdit.d.ts +1 -0
  310. package/dist/components/icon-registry-essential/svgs/iconEdit.js +6 -0
  311. package/dist/components/icon-registry-essential/svgs/iconEdit.js.map +1 -0
  312. package/dist/components/icon-registry-essential/svgs/iconFavorite.d.ts +1 -0
  313. package/dist/components/icon-registry-essential/svgs/iconFavorite.js +6 -0
  314. package/dist/components/icon-registry-essential/svgs/iconFavorite.js.map +1 -0
  315. package/dist/components/icon-registry-essential/svgs/iconFolder.d.ts +1 -0
  316. package/dist/components/icon-registry-essential/svgs/iconFolder.js +6 -0
  317. package/dist/components/icon-registry-essential/svgs/iconFolder.js.map +1 -0
  318. package/dist/components/icon-registry-essential/svgs/iconForbidden.d.ts +1 -0
  319. package/dist/components/icon-registry-essential/svgs/iconForbidden.js +6 -0
  320. package/dist/components/icon-registry-essential/svgs/iconForbidden.js.map +1 -0
  321. package/dist/components/icon-registry-essential/svgs/iconInfo.d.ts +1 -0
  322. package/dist/components/icon-registry-essential/svgs/iconInfo.js +6 -0
  323. package/dist/components/icon-registry-essential/svgs/iconInfo.js.map +1 -0
  324. package/dist/components/icon-registry-essential/svgs/iconLink.d.ts +1 -0
  325. package/dist/components/icon-registry-essential/svgs/iconLink.js +6 -0
  326. package/dist/components/icon-registry-essential/svgs/iconLink.js.map +1 -0
  327. package/dist/components/icon-registry-essential/svgs/iconLock.d.ts +1 -0
  328. package/dist/components/icon-registry-essential/svgs/iconLock.js +6 -0
  329. package/dist/components/icon-registry-essential/svgs/iconLock.js.map +1 -0
  330. package/dist/components/icon-registry-essential/svgs/iconPause.d.ts +1 -0
  331. package/dist/components/icon-registry-essential/svgs/iconPause.js +6 -0
  332. package/dist/components/icon-registry-essential/svgs/iconPause.js.map +1 -0
  333. package/dist/components/icon-registry-essential/svgs/iconPicture.d.ts +1 -0
  334. package/dist/components/icon-registry-essential/svgs/iconPicture.js +6 -0
  335. package/dist/components/icon-registry-essential/svgs/iconPicture.js.map +1 -0
  336. package/dist/components/icon-registry-essential/svgs/iconPlay.d.ts +1 -0
  337. package/dist/components/icon-registry-essential/svgs/iconPlay.js +6 -0
  338. package/dist/components/icon-registry-essential/svgs/iconPlay.js.map +1 -0
  339. package/dist/components/icon-registry-essential/svgs/iconRemove.d.ts +1 -0
  340. package/dist/components/icon-registry-essential/svgs/iconRemove.js +6 -0
  341. package/dist/components/icon-registry-essential/svgs/iconRemove.js.map +1 -0
  342. package/dist/components/icon-registry-essential/svgs/iconSearch.d.ts +1 -0
  343. package/dist/components/icon-registry-essential/svgs/iconSearch.js +6 -0
  344. package/dist/components/icon-registry-essential/svgs/iconSearch.js.map +1 -0
  345. package/dist/components/icon-registry-essential/svgs/iconSee.d.ts +1 -0
  346. package/dist/components/icon-registry-essential/svgs/iconSee.js +6 -0
  347. package/dist/components/icon-registry-essential/svgs/iconSee.js.map +1 -0
  348. package/dist/components/icon-registry-essential/svgs/iconSettings.d.ts +1 -0
  349. package/dist/components/icon-registry-essential/svgs/iconSettings.js +6 -0
  350. package/dist/components/icon-registry-essential/svgs/iconSettings.js.map +1 -0
  351. package/dist/components/icon-registry-essential/svgs/iconSubtract.d.ts +1 -0
  352. package/dist/components/icon-registry-essential/svgs/iconSubtract.js +6 -0
  353. package/dist/components/icon-registry-essential/svgs/iconSubtract.js.map +1 -0
  354. package/dist/components/icon-registry-essential/svgs/iconSync.d.ts +1 -0
  355. package/dist/components/icon-registry-essential/svgs/iconSync.js +6 -0
  356. package/dist/components/icon-registry-essential/svgs/iconSync.js.map +1 -0
  357. package/dist/components/icon-registry-essential/svgs/iconUnlock.d.ts +1 -0
  358. package/dist/components/icon-registry-essential/svgs/iconUnlock.js +6 -0
  359. package/dist/components/icon-registry-essential/svgs/iconUnlock.js.map +1 -0
  360. package/dist/components/icon-registry-essential/svgs/iconUnsee.d.ts +1 -0
  361. package/dist/components/icon-registry-essential/svgs/iconUnsee.js +6 -0
  362. package/dist/components/icon-registry-essential/svgs/iconUnsee.js.map +1 -0
  363. package/dist/components/icon-registry-essential/svgs/iconWand.d.ts +1 -0
  364. package/dist/components/icon-registry-essential/svgs/iconWand.js +6 -0
  365. package/dist/components/icon-registry-essential/svgs/iconWand.js.map +1 -0
  366. package/dist/components/icon-registry-essential/svgs/iconWrong.d.ts +1 -0
  367. package/dist/components/icon-registry-essential/svgs/iconWrong.js +6 -0
  368. package/dist/components/icon-registry-essential/svgs/iconWrong.js.map +1 -0
  369. package/dist/components/icon-registry-essential/svgs/index.d.ts +33 -0
  370. package/dist/components/input/UUIInputEvent.d.ts +7 -0
  371. package/dist/components/input/UUIInputEvent.js +16 -0
  372. package/dist/components/input/UUIInputEvent.js.map +1 -0
  373. package/dist/components/input/input.d.ts +9 -0
  374. package/dist/components/input/input.element.d.ts +177 -0
  375. package/dist/components/input/input.element.js +371 -0
  376. package/dist/components/input/input.element.js.map +1 -0
  377. package/dist/components/input/input.js +10 -0
  378. package/dist/components/input/input.js.map +1 -0
  379. package/dist/components/input-file/input-file.d.ts +8 -0
  380. package/dist/components/input-file/input-file.element.d.ts +55 -0
  381. package/dist/components/input-file/input-file.element.js +255 -0
  382. package/dist/components/input-file/input-file.element.js.map +1 -0
  383. package/dist/components/input-file/input-file.js +8 -0
  384. package/dist/components/input-file/input-file.js.map +1 -0
  385. package/dist/components/input-lock/UUIInputLockEvent.d.ts +6 -0
  386. package/dist/components/input-lock/UUIInputLockEvent.js +15 -0
  387. package/dist/components/input-lock/UUIInputLockEvent.js.map +1 -0
  388. package/dist/components/input-lock/input-lock.d.ts +9 -0
  389. package/dist/components/input-lock/input-lock.element.d.ts +37 -0
  390. package/dist/components/input-lock/input-lock.element.js +102 -0
  391. package/dist/components/input-lock/input-lock.element.js.map +1 -0
  392. package/dist/components/input-lock/input-lock.js +10 -0
  393. package/dist/components/input-lock/input-lock.js.map +1 -0
  394. package/dist/components/input-password/input-password.d.ts +8 -0
  395. package/dist/components/input-password/input-password.element.d.ts +18 -0
  396. package/dist/components/input-password/input-password.element.js +82 -0
  397. package/dist/components/input-password/input-password.element.js.map +1 -0
  398. package/dist/components/input-password/input-password.js +8 -0
  399. package/dist/components/input-password/input-password.js.map +1 -0
  400. package/dist/components/keyboard-shortcut/key.element.d.ts +10 -0
  401. package/dist/components/keyboard-shortcut/key.element.js +28 -0
  402. package/dist/components/keyboard-shortcut/key.element.js.map +1 -0
  403. package/dist/components/keyboard-shortcut/keyboard-shortcut.d.ts +11 -0
  404. package/dist/components/keyboard-shortcut/keyboard-shortcut.element.d.ts +10 -0
  405. package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js +29 -0
  406. package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js.map +1 -0
  407. package/dist/components/keyboard-shortcut/keyboard-shortcut.js +11 -0
  408. package/dist/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -0
  409. package/dist/components/label/label.d.ts +8 -0
  410. package/dist/components/label/label.element.d.ts +35 -0
  411. package/dist/components/label/label.element.js +73 -0
  412. package/dist/components/label/label.element.js.map +1 -0
  413. package/dist/components/label/label.js +8 -0
  414. package/dist/components/label/label.js.map +1 -0
  415. package/dist/components/loader/loader.d.ts +8 -0
  416. package/dist/components/loader/loader.element.d.ts +9 -0
  417. package/dist/components/loader/loader.element.js +61 -0
  418. package/dist/components/loader/loader.element.js.map +1 -0
  419. package/dist/components/loader/loader.js +8 -0
  420. package/dist/components/loader/loader.js.map +1 -0
  421. package/dist/components/loader-bar/loader-bar.d.ts +8 -0
  422. package/dist/components/loader-bar/loader-bar.element.d.ts +27 -0
  423. package/dist/components/loader-bar/loader-bar.element.js +122 -0
  424. package/dist/components/loader-bar/loader-bar.element.js.map +1 -0
  425. package/dist/components/loader-bar/loader-bar.js +8 -0
  426. package/dist/components/loader-bar/loader-bar.js.map +1 -0
  427. package/dist/components/loader-circle/loader-circle.d.ts +8 -0
  428. package/dist/components/loader-circle/loader-circle.element.d.ts +30 -0
  429. package/dist/components/loader-circle/loader-circle.element.js +163 -0
  430. package/dist/components/loader-circle/loader-circle.element.js.map +1 -0
  431. package/dist/components/loader-circle/loader-circle.js +8 -0
  432. package/dist/components/loader-circle/loader-circle.js.map +1 -0
  433. package/dist/components/menu-item/UUIMenuItemEvent.d.ts +7 -0
  434. package/dist/components/menu-item/UUIMenuItemEvent.js +11 -0
  435. package/dist/components/menu-item/UUIMenuItemEvent.js.map +1 -0
  436. package/dist/components/menu-item/menu-item.d.ts +9 -0
  437. package/dist/components/menu-item/menu-item.element.d.ts +110 -0
  438. package/dist/components/menu-item/menu-item.element.js +558 -0
  439. package/dist/components/menu-item/menu-item.element.js.map +1 -0
  440. package/dist/components/menu-item/menu-item.js +10 -0
  441. package/dist/components/menu-item/menu-item.js.map +1 -0
  442. package/dist/components/modal/modal-container.d.ts +14 -0
  443. package/dist/components/modal/modal-container.js +160 -0
  444. package/dist/components/modal/modal-container.js.map +1 -0
  445. package/dist/components/modal/modal-dialog.element.d.ts +5 -0
  446. package/dist/components/modal/modal-dialog.element.js +44 -0
  447. package/dist/components/modal/modal-dialog.element.js.map +1 -0
  448. package/dist/components/modal/modal-example.element.d.ts +13 -0
  449. package/dist/components/modal/modal-sidebar.element.d.ts +15 -0
  450. package/dist/components/modal/modal-sidebar.element.js +109 -0
  451. package/dist/components/modal/modal-sidebar.element.js.map +1 -0
  452. package/dist/components/modal/modal.d.ts +15 -0
  453. package/dist/components/modal/modal.element.d.ts +20 -0
  454. package/dist/components/modal/modal.element.js +135 -0
  455. package/dist/components/modal/modal.element.js.map +1 -0
  456. package/dist/components/modal/modal.js +13 -0
  457. package/dist/components/modal/modal.js.map +1 -0
  458. package/dist/components/pagination/UUIPaginationEvent.d.ts +6 -0
  459. package/dist/components/pagination/UUIPaginationEvent.js +15 -0
  460. package/dist/components/pagination/UUIPaginationEvent.js.map +1 -0
  461. package/dist/components/pagination/pagination.d.ts +9 -0
  462. package/dist/components/pagination/pagination.element.d.ts +103 -0
  463. package/dist/components/pagination/pagination.element.js +317 -0
  464. package/dist/components/pagination/pagination.element.js.map +1 -0
  465. package/dist/components/pagination/pagination.js +10 -0
  466. package/dist/components/pagination/pagination.js.map +1 -0
  467. package/dist/components/popover-container/popover-container-shadowdomtester.element.d.ts +9 -0
  468. package/dist/components/popover-container/popover-container.d.ts +8 -0
  469. package/dist/components/popover-container/popover-container.element.d.ts +43 -0
  470. package/dist/components/popover-container/popover-container.element.js +329 -0
  471. package/dist/components/popover-container/popover-container.element.js.map +1 -0
  472. package/dist/components/popover-container/popover-container.js +8 -0
  473. package/dist/components/popover-container/popover-container.js.map +1 -0
  474. package/dist/components/progress-bar/progress-bar.d.ts +8 -0
  475. package/dist/components/progress-bar/progress-bar.element.d.ts +18 -0
  476. package/dist/components/progress-bar/progress-bar.element.js +64 -0
  477. package/dist/components/progress-bar/progress-bar.element.js.map +1 -0
  478. package/dist/components/progress-bar/progress-bar.js +8 -0
  479. package/dist/components/progress-bar/progress-bar.js.map +1 -0
  480. package/dist/components/radio/UUIRadioEvent.d.ts +6 -0
  481. package/dist/components/radio/UUIRadioEvent.js +15 -0
  482. package/dist/components/radio/UUIRadioEvent.js.map +1 -0
  483. package/dist/components/radio/UUIRadioGroupEvent.d.ts +6 -0
  484. package/dist/components/radio/UUIRadioGroupEvent.js +15 -0
  485. package/dist/components/radio/UUIRadioGroupEvent.js.map +1 -0
  486. package/dist/components/radio/radio-group.element.d.ts +44 -0
  487. package/dist/components/radio/radio-group.element.js +294 -0
  488. package/dist/components/radio/radio-group.element.js.map +1 -0
  489. package/dist/components/radio/radio.d.ts +13 -0
  490. package/dist/components/radio/radio.element.d.ts +67 -0
  491. package/dist/components/radio/radio.element.js +271 -0
  492. package/dist/components/radio/radio.element.js.map +1 -0
  493. package/dist/components/radio/radio.js +15 -0
  494. package/dist/components/radio/radio.js.map +1 -0
  495. package/dist/components/range-slider/UUIRangeSliderEvent.d.ts +7 -0
  496. package/dist/components/range-slider/UUIRangeSliderEvent.js +16 -0
  497. package/dist/components/range-slider/UUIRangeSliderEvent.js.map +1 -0
  498. package/dist/components/range-slider/range-slider.d.ts +9 -0
  499. package/dist/components/range-slider/range-slider.element.d.ts +149 -0
  500. package/dist/components/range-slider/range-slider.element.js +879 -0
  501. package/dist/components/range-slider/range-slider.element.js.map +1 -0
  502. package/dist/components/range-slider/range-slider.js +10 -0
  503. package/dist/components/range-slider/range-slider.js.map +1 -0
  504. package/dist/components/ref/UUIRefEvent.d.ts +5 -0
  505. package/dist/components/ref/UUIRefEvent.js +9 -0
  506. package/dist/components/ref/UUIRefEvent.js.map +1 -0
  507. package/dist/components/ref/ref.d.ts +9 -0
  508. package/dist/components/ref/ref.element.d.ts +39 -0
  509. package/dist/components/ref/ref.element.js +224 -0
  510. package/dist/components/ref/ref.element.js.map +1 -0
  511. package/dist/components/ref/ref.js +10 -0
  512. package/dist/components/ref/ref.js.map +1 -0
  513. package/dist/components/ref-list/ref-list.d.ts +8 -0
  514. package/dist/components/ref-list/ref-list.element.d.ts +8 -0
  515. package/dist/components/ref-list/ref-list.element.js +30 -0
  516. package/dist/components/ref-list/ref-list.element.js.map +1 -0
  517. package/dist/components/ref-list/ref-list.js +8 -0
  518. package/dist/components/ref-list/ref-list.js.map +1 -0
  519. package/dist/components/ref-node/ref-node.d.ts +8 -0
  520. package/dist/components/ref-node/ref-node.element.d.ts +58 -0
  521. package/dist/components/ref-node/ref-node.element.js +235 -0
  522. package/dist/components/ref-node/ref-node.element.js.map +1 -0
  523. package/dist/components/ref-node/ref-node.js +8 -0
  524. package/dist/components/ref-node/ref-node.js.map +1 -0
  525. package/dist/components/ref-node-data-type/ref-node-data-type.d.ts +8 -0
  526. package/dist/components/ref-node-data-type/ref-node-data-type.element.d.ts +20 -0
  527. package/dist/components/ref-node-data-type/ref-node-data-type.element.js +41 -0
  528. package/dist/components/ref-node-data-type/ref-node-data-type.element.js.map +1 -0
  529. package/dist/components/ref-node-data-type/ref-node-data-type.js +8 -0
  530. package/dist/components/ref-node-data-type/ref-node-data-type.js.map +1 -0
  531. package/dist/components/ref-node-document-type/ref-node-document-type.d.ts +8 -0
  532. package/dist/components/ref-node-document-type/ref-node-document-type.element.d.ts +20 -0
  533. package/dist/components/ref-node-document-type/ref-node-document-type.element.js +41 -0
  534. package/dist/components/ref-node-document-type/ref-node-document-type.element.js.map +1 -0
  535. package/dist/components/ref-node-document-type/ref-node-document-type.js +8 -0
  536. package/dist/components/ref-node-document-type/ref-node-document-type.js.map +1 -0
  537. package/dist/components/ref-node-form/ref-node-form.d.ts +8 -0
  538. package/dist/components/ref-node-form/ref-node-form.element.d.ts +12 -0
  539. package/dist/components/ref-node-form/ref-node-form.element.js +14 -0
  540. package/dist/components/ref-node-form/ref-node-form.element.js.map +1 -0
  541. package/dist/components/ref-node-form/ref-node-form.js +8 -0
  542. package/dist/components/ref-node-form/ref-node-form.js.map +1 -0
  543. package/dist/components/ref-node-member/ref-node-member.d.ts +8 -0
  544. package/dist/components/ref-node-member/ref-node-member.element.d.ts +20 -0
  545. package/dist/components/ref-node-member/ref-node-member.element.js +41 -0
  546. package/dist/components/ref-node-member/ref-node-member.element.js.map +1 -0
  547. package/dist/components/ref-node-member/ref-node-member.js +8 -0
  548. package/dist/components/ref-node-member/ref-node-member.js.map +1 -0
  549. package/dist/components/ref-node-package/ref-node-package.d.ts +8 -0
  550. package/dist/components/ref-node-package/ref-node-package.element.d.ts +27 -0
  551. package/dist/components/ref-node-package/ref-node-package.element.js +48 -0
  552. package/dist/components/ref-node-package/ref-node-package.element.js.map +1 -0
  553. package/dist/components/ref-node-package/ref-node-package.js +8 -0
  554. package/dist/components/ref-node-package/ref-node-package.js.map +1 -0
  555. package/dist/components/ref-node-user/ref-node-user.d.ts +8 -0
  556. package/dist/components/ref-node-user/ref-node-user.element.d.ts +20 -0
  557. package/dist/components/ref-node-user/ref-node-user.element.js +41 -0
  558. package/dist/components/ref-node-user/ref-node-user.element.js.map +1 -0
  559. package/dist/components/ref-node-user/ref-node-user.js +8 -0
  560. package/dist/components/ref-node-user/ref-node-user.js.map +1 -0
  561. package/dist/components/responsive-container/responsive-container.d.ts +8 -0
  562. package/dist/components/responsive-container/responsive-container.element.d.ts +30 -0
  563. package/dist/components/responsive-container/responsive-container.element.js +294 -0
  564. package/dist/components/responsive-container/responsive-container.element.js.map +1 -0
  565. package/dist/components/responsive-container/responsive-container.js +8 -0
  566. package/dist/components/responsive-container/responsive-container.js.map +1 -0
  567. package/dist/components/scroll-container/scroll-container.d.ts +8 -0
  568. package/dist/components/scroll-container/scroll-container.element.d.ts +18 -0
  569. package/dist/components/scroll-container/scroll-container.element.js +79 -0
  570. package/dist/components/scroll-container/scroll-container.element.js.map +1 -0
  571. package/dist/components/scroll-container/scroll-container.js +8 -0
  572. package/dist/components/scroll-container/scroll-container.js.map +1 -0
  573. package/dist/components/select/UUISelectEvent.d.ts +6 -0
  574. package/dist/components/select/UUISelectEvent.js +15 -0
  575. package/dist/components/select/UUISelectEvent.js.map +1 -0
  576. package/dist/components/select/select.d.ts +9 -0
  577. package/dist/components/select/select.element.d.ts +96 -0
  578. package/dist/components/select/select.element.js +249 -0
  579. package/dist/components/select/select.element.js.map +1 -0
  580. package/dist/components/select/select.js +10 -0
  581. package/dist/components/select/select.js.map +1 -0
  582. package/dist/components/slider/UUISliderEvent.d.ts +7 -0
  583. package/dist/components/slider/UUISliderEvent.js +16 -0
  584. package/dist/components/slider/UUISliderEvent.js.map +1 -0
  585. package/dist/components/slider/native-input.styles.d.ts +1 -0
  586. package/dist/components/slider/native-input.styles.js +113 -0
  587. package/dist/components/slider/native-input.styles.js.map +1 -0
  588. package/dist/components/slider/slider.d.ts +9 -0
  589. package/dist/components/slider/slider.element.d.ts +111 -0
  590. package/dist/components/slider/slider.element.js +408 -0
  591. package/dist/components/slider/slider.element.js.map +1 -0
  592. package/dist/components/slider/slider.js +10 -0
  593. package/dist/components/slider/slider.js.map +1 -0
  594. package/dist/components/symbol-drag-handle/symbol-drag-handle.d.ts +8 -0
  595. package/dist/components/symbol-drag-handle/symbol-drag-handle.element.d.ts +11 -0
  596. package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js +26 -0
  597. package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js.map +1 -0
  598. package/dist/components/symbol-drag-handle/symbol-drag-handle.js +8 -0
  599. package/dist/components/symbol-drag-handle/symbol-drag-handle.js.map +1 -0
  600. package/dist/components/symbol-expand/symbol-expand.d.ts +8 -0
  601. package/dist/components/symbol-expand/symbol-expand.element.d.ts +16 -0
  602. package/dist/components/symbol-expand/symbol-expand.element.js +58 -0
  603. package/dist/components/symbol-expand/symbol-expand.element.js.map +1 -0
  604. package/dist/components/symbol-expand/symbol-expand.js +8 -0
  605. package/dist/components/symbol-expand/symbol-expand.js.map +1 -0
  606. package/dist/components/symbol-file/symbol-file.d.ts +8 -0
  607. package/dist/components/symbol-file/symbol-file.element.d.ts +13 -0
  608. package/dist/components/symbol-file/symbol-file.element.js +76 -0
  609. package/dist/components/symbol-file/symbol-file.element.js.map +1 -0
  610. package/dist/components/symbol-file/symbol-file.js +8 -0
  611. package/dist/components/symbol-file/symbol-file.js.map +1 -0
  612. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.d.ts +8 -0
  613. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.d.ts +15 -0
  614. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js +56 -0
  615. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js.map +1 -0
  616. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js +8 -0
  617. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js.map +1 -0
  618. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.d.ts +8 -0
  619. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.d.ts +27 -0
  620. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js +91 -0
  621. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js.map +1 -0
  622. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js +8 -0
  623. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js.map +1 -0
  624. package/dist/components/symbol-folder/symbol-folder.d.ts +8 -0
  625. package/dist/components/symbol-folder/symbol-folder.element.d.ts +8 -0
  626. package/dist/components/symbol-folder/symbol-folder.element.js +36 -0
  627. package/dist/components/symbol-folder/symbol-folder.element.js.map +1 -0
  628. package/dist/components/symbol-folder/symbol-folder.js +8 -0
  629. package/dist/components/symbol-folder/symbol-folder.js.map +1 -0
  630. package/dist/components/symbol-lock/symbol-lock.d.ts +8 -0
  631. package/dist/components/symbol-lock/symbol-lock.element.d.ts +9 -0
  632. package/dist/components/symbol-lock/symbol-lock.element.js +43 -0
  633. package/dist/components/symbol-lock/symbol-lock.element.js.map +1 -0
  634. package/dist/components/symbol-lock/symbol-lock.js +8 -0
  635. package/dist/components/symbol-lock/symbol-lock.js.map +1 -0
  636. package/dist/components/symbol-more/symbol-more.d.ts +8 -0
  637. package/dist/components/symbol-more/symbol-more.element.d.ts +8 -0
  638. package/dist/components/symbol-more/symbol-more.element.js +29 -0
  639. package/dist/components/symbol-more/symbol-more.element.js.map +1 -0
  640. package/dist/components/symbol-more/symbol-more.js +8 -0
  641. package/dist/components/symbol-more/symbol-more.js.map +1 -0
  642. package/dist/components/symbol-sort/symbol-sort.d.ts +8 -0
  643. package/dist/components/symbol-sort/symbol-sort.element.d.ts +18 -0
  644. package/dist/components/symbol-sort/symbol-sort.element.js +116 -0
  645. package/dist/components/symbol-sort/symbol-sort.element.js.map +1 -0
  646. package/dist/components/symbol-sort/symbol-sort.js +8 -0
  647. package/dist/components/symbol-sort/symbol-sort.js.map +1 -0
  648. package/dist/components/table/table-advanced-example.d.ts +56 -0
  649. package/dist/components/table/table-cell.element.d.ts +37 -0
  650. package/dist/components/table/table-cell.element.js +106 -0
  651. package/dist/components/table/table-cell.element.js.map +1 -0
  652. package/dist/components/table/table-column.element.d.ts +8 -0
  653. package/dist/components/table/table-column.element.js +15 -0
  654. package/dist/components/table/table-column.element.js.map +1 -0
  655. package/dist/components/table/table-head-cell.element.d.ts +9 -0
  656. package/dist/components/table/table-head-cell.element.js +21 -0
  657. package/dist/components/table/table-head-cell.element.js.map +1 -0
  658. package/dist/components/table/table-head.element.d.ts +11 -0
  659. package/dist/components/table/table-head.element.js +23 -0
  660. package/dist/components/table/table-head.element.js.map +1 -0
  661. package/dist/components/table/table-row.element.d.ts +17 -0
  662. package/dist/components/table/table-row.element.js +74 -0
  663. package/dist/components/table/table-row.element.js.map +1 -0
  664. package/dist/components/table/table.d.ts +23 -0
  665. package/dist/components/table/table.element.d.ts +11 -0
  666. package/dist/components/table/table.element.js +27 -0
  667. package/dist/components/table/table.element.js.map +1 -0
  668. package/dist/components/table/table.js +23 -0
  669. package/dist/components/table/table.js.map +1 -0
  670. package/dist/components/tabs/UUITabEvent.d.ts +6 -0
  671. package/dist/components/tabs/UUITabEvent.js +7 -0
  672. package/dist/components/tabs/UUITabEvent.js.map +1 -0
  673. package/dist/components/tabs/UUITabGroupEvent.d.ts +6 -0
  674. package/dist/components/tabs/UUITabGroupEvent.js +7 -0
  675. package/dist/components/tabs/UUITabGroupEvent.js.map +1 -0
  676. package/dist/components/tabs/tab-group.element.d.ts +31 -0
  677. package/dist/components/tabs/tab-group.element.js +345 -0
  678. package/dist/components/tabs/tab-group.element.js.map +1 -0
  679. package/dist/components/tabs/tab.element.d.ts +57 -0
  680. package/dist/components/tabs/tab.element.js +196 -0
  681. package/dist/components/tabs/tab.element.js.map +1 -0
  682. package/dist/components/tabs/tabs.d.ts +13 -0
  683. package/dist/components/tabs/tabs.js +11 -0
  684. package/dist/components/tabs/tabs.js.map +1 -0
  685. package/dist/components/tag/tag.d.ts +8 -0
  686. package/dist/components/tag/tag.element.d.ts +30 -0
  687. package/dist/components/tag/tag.element.js +108 -0
  688. package/dist/components/tag/tag.element.js.map +1 -0
  689. package/dist/components/tag/tag.js +8 -0
  690. package/dist/components/tag/tag.js.map +1 -0
  691. package/dist/components/textarea/UUITextareaEvent.d.ts +7 -0
  692. package/dist/components/textarea/UUITextareaEvent.js +16 -0
  693. package/dist/components/textarea/UUITextareaEvent.js.map +1 -0
  694. package/dist/components/textarea/textarea.d.ts +9 -0
  695. package/dist/components/textarea/textarea.element.d.ts +124 -0
  696. package/dist/components/textarea/textarea.element.js +272 -0
  697. package/dist/components/textarea/textarea.element.js.map +1 -0
  698. package/dist/components/textarea/textarea.js +10 -0
  699. package/dist/components/textarea/textarea.js.map +1 -0
  700. package/dist/components/toast-notification/UUIToastNotificationEvent.d.ts +8 -0
  701. package/dist/components/toast-notification/UUIToastNotificationEvent.js +12 -0
  702. package/dist/components/toast-notification/UUIToastNotificationEvent.js.map +1 -0
  703. package/dist/components/toast-notification/toast-notification.d.ts +9 -0
  704. package/dist/components/toast-notification/toast-notification.element.d.ts +62 -0
  705. package/dist/components/toast-notification/toast-notification.element.js +312 -0
  706. package/dist/components/toast-notification/toast-notification.element.js.map +1 -0
  707. package/dist/components/toast-notification/toast-notification.js +10 -0
  708. package/dist/components/toast-notification/toast-notification.js.map +1 -0
  709. package/dist/components/toast-notification-container/toast-notification-container.d.ts +8 -0
  710. package/dist/components/toast-notification-container/toast-notification-container.element.d.ts +44 -0
  711. package/dist/components/toast-notification-container/toast-notification-container.element.js +152 -0
  712. package/dist/components/toast-notification-container/toast-notification-container.element.js.map +1 -0
  713. package/dist/components/toast-notification-container/toast-notification-container.js +11 -0
  714. package/dist/components/toast-notification-container/toast-notification-container.js.map +1 -0
  715. package/dist/components/toast-notification-layout/toast-notification-layout.d.ts +8 -0
  716. package/dist/components/toast-notification-layout/toast-notification-layout.element.d.ts +20 -0
  717. package/dist/components/toast-notification-layout/toast-notification-layout.element.js +71 -0
  718. package/dist/components/toast-notification-layout/toast-notification-layout.element.js.map +1 -0
  719. package/dist/components/toast-notification-layout/toast-notification-layout.js +11 -0
  720. package/dist/components/toast-notification-layout/toast-notification-layout.js.map +1 -0
  721. package/dist/components/toggle/toggle.d.ts +8 -0
  722. package/dist/components/toggle/toggle.element.d.ts +25 -0
  723. package/dist/components/toggle/toggle.element.js +181 -0
  724. package/dist/components/toggle/toggle.element.js.map +1 -0
  725. package/dist/components/toggle/toggle.js +8 -0
  726. package/dist/components/toggle/toggle.js.map +1 -0
  727. package/dist/components/visually-hidden/visually-hidden.d.ts +8 -0
  728. package/dist/components/visually-hidden/visually-hidden.element.d.ts +8 -0
  729. package/dist/components/visually-hidden/visually-hidden.element.js +26 -0
  730. package/dist/components/visually-hidden/visually-hidden.element.js.map +1 -0
  731. package/dist/components/visually-hidden/visually-hidden.js +8 -0
  732. package/dist/components/visually-hidden/visually-hidden.js.map +1 -0
  733. package/dist/index.d.ts +83 -0
  734. package/dist/index.js +395 -0
  735. package/dist/index.js.map +1 -0
  736. package/dist/internal/animations/index.d.ts +3 -0
  737. package/dist/internal/animations/uui-blink.d.ts +2 -0
  738. package/dist/internal/animations/uui-blink.js +18 -0
  739. package/dist/internal/animations/uui-blink.js.map +1 -0
  740. package/dist/internal/animations/uui-pulse.d.ts +2 -0
  741. package/dist/internal/animations/uui-pulse.js +28 -0
  742. package/dist/internal/animations/uui-pulse.js.map +1 -0
  743. package/dist/internal/animations/uui-shake.d.ts +2 -0
  744. package/dist/internal/animations/uui-shake.js +33 -0
  745. package/dist/internal/animations/uui-shake.js.map +1 -0
  746. package/dist/internal/events/UUIEvent.d.ts +8 -0
  747. package/dist/internal/events/UUIEvent.js +10 -0
  748. package/dist/internal/events/UUIEvent.js.map +1 -0
  749. package/dist/internal/events/UUIFormControlEvent.d.ts +7 -0
  750. package/dist/internal/events/UUIFormControlEvent.js +16 -0
  751. package/dist/internal/events/UUIFormControlEvent.js.map +1 -0
  752. package/dist/internal/events/UUISelectableEvent.d.ts +7 -0
  753. package/dist/internal/events/UUISelectableEvent.js +17 -0
  754. package/dist/internal/events/UUISelectableEvent.js.map +1 -0
  755. package/dist/internal/events/index.d.ts +3 -0
  756. package/dist/internal/index.d.ts +7 -0
  757. package/dist/internal/mixins/ActiveMixin.d.ts +19 -0
  758. package/dist/internal/mixins/ActiveMixin.js +26 -0
  759. package/dist/internal/mixins/ActiveMixin.js.map +1 -0
  760. package/dist/internal/mixins/FormControlMixin.d.ts +50 -0
  761. package/dist/internal/mixins/FormControlMixin.js +342 -0
  762. package/dist/internal/mixins/FormControlMixin.js.map +1 -0
  763. package/dist/internal/mixins/FormControlWithBasicsMixin.d.ts +26 -0
  764. package/dist/internal/mixins/FormControlWithBasicsMixin.js +62 -0
  765. package/dist/internal/mixins/FormControlWithBasicsMixin.js.map +1 -0
  766. package/dist/internal/mixins/LabelMixin.d.ts +21 -0
  767. package/dist/internal/mixins/LabelMixin.js +54 -0
  768. package/dist/internal/mixins/LabelMixin.js.map +1 -0
  769. package/dist/internal/mixins/PopoverTargetMixin.d.ts +23 -0
  770. package/dist/internal/mixins/PopoverTargetMixin.js +49 -0
  771. package/dist/internal/mixins/PopoverTargetMixin.js.map +1 -0
  772. package/dist/internal/mixins/SelectOnlyMixin.d.ts +14 -0
  773. package/dist/internal/mixins/SelectOnlyMixin.js +35 -0
  774. package/dist/internal/mixins/SelectOnlyMixin.js.map +1 -0
  775. package/dist/internal/mixins/SelectableMixin.d.ts +29 -0
  776. package/dist/internal/mixins/SelectableMixin.js +123 -0
  777. package/dist/internal/mixins/SelectableMixin.js.map +1 -0
  778. package/dist/internal/mixins/index.d.ts +7 -0
  779. package/dist/internal/registration/index.d.ts +9 -0
  780. package/dist/internal/registration/index.js +24 -0
  781. package/dist/internal/registration/index.js.map +1 -0
  782. package/dist/internal/test/a11y.d.ts +6 -0
  783. package/dist/internal/test/index.d.ts +5 -0
  784. package/dist/internal/types/InterfaceColor.d.ts +2 -0
  785. package/dist/internal/types/InterfaceColor.js +11 -0
  786. package/dist/internal/types/InterfaceColor.js.map +1 -0
  787. package/dist/internal/types/InterfaceHeading.d.ts +2 -0
  788. package/dist/internal/types/InterfaceHeading.js +12 -0
  789. package/dist/internal/types/InterfaceHeading.js.map +1 -0
  790. package/dist/internal/types/InterfaceLook.d.ts +2 -0
  791. package/dist/internal/types/InterfaceLook.js +11 -0
  792. package/dist/internal/types/InterfaceLook.js.map +1 -0
  793. package/dist/internal/types/index.d.ts +3 -0
  794. package/dist/internal/utils/Timer.d.ts +17 -0
  795. package/dist/internal/utils/Timer.js +62 -0
  796. package/dist/internal/utils/Timer.js.map +1 -0
  797. package/dist/internal/utils/color.d.ts +54 -0
  798. package/dist/internal/utils/color.js +91 -0
  799. package/dist/internal/utils/color.js.map +1 -0
  800. package/dist/internal/utils/drag.d.ts +14 -0
  801. package/dist/internal/utils/drag.js +37 -0
  802. package/dist/internal/utils/drag.js.map +1 -0
  803. package/dist/internal/utils/findAncestorByAttributeValue.d.ts +8 -0
  804. package/dist/internal/utils/findAncestorByAttributeValue.js +20 -0
  805. package/dist/internal/utils/findAncestorByAttributeValue.js.map +1 -0
  806. package/dist/internal/utils/index.d.ts +6 -0
  807. package/dist/internal/utils/math.d.ts +14 -0
  808. package/dist/internal/utils/math.js +16 -0
  809. package/dist/internal/utils/math.js.map +1 -0
  810. package/dist/internal/utils/slotHasContent.d.ts +1 -0
  811. package/dist/internal/utils/slotHasContent.js +7 -0
  812. package/dist/internal/utils/slotHasContent.js.map +1 -0
  813. package/dist/internal/version.d.ts +4 -0
  814. package/dist/internal/version.js +21 -0
  815. package/dist/internal/version.js.map +1 -0
  816. package/dist/package.json.js +5 -0
  817. package/dist/package.json.js.map +1 -0
  818. package/dist/styles/index.d.ts +1 -0
  819. package/dist/styles/uui-font.css +1 -0
  820. package/dist/styles/uui-text.css +1 -0
  821. package/dist/styles/uui-text.css.js +5 -0
  822. package/dist/styles/uui-text.css.js.map +1 -0
  823. package/dist/styles/uui-text.styles.d.ts +1 -0
  824. package/dist/styles/uui-text.styles.js +7 -0
  825. package/dist/styles/uui-text.styles.js.map +1 -0
  826. package/dist/themes/dark.css +1 -0
  827. package/dist/themes/high-contrast.css +1 -0
  828. package/dist/themes/light.css +1 -0
  829. package/package.json +132 -117
  830. package/{vscode-html-custom-data.json → vscode.html-custom-data.json} +109 -397
  831. package/dist/uui.min.js +0 -7395
  832. package/dist/uui.min.js.map +0 -1
  833. package/lib/index.d.ts +0 -84
  834. package/lib/index.js +0 -84
  835. package/lib/index.umd.d.ts +0 -4
@@ -0,0 +1,26 @@
1
+ import { property } from "lit/decorators.js";
2
+ var __defProp = Object.defineProperty;
3
+ var __decorateClass = (decorators, target, key, kind) => {
4
+ var result = void 0;
5
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
+ if (decorator = decorators[i])
7
+ result = decorator(target, key, result) || result;
8
+ if (result) __defProp(target, key, result);
9
+ return result;
10
+ };
11
+ const ActiveMixin = (superClass) => {
12
+ class UUIActiveMixinClass extends superClass {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.active = false;
16
+ }
17
+ }
18
+ __decorateClass([
19
+ property({ type: Boolean, reflect: true })
20
+ ], UUIActiveMixinClass.prototype, "active");
21
+ return UUIActiveMixinClass;
22
+ };
23
+ export {
24
+ ActiveMixin
25
+ };
26
+ //# sourceMappingURL=ActiveMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveMixin.js","sources":["../../../src/internal/mixins/ActiveMixin.ts"],"sourcesContent":["import type { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class UUIActiveMixinInterface {\n /**\n * Set this boolean to true for then the related composition is sorted.\n * @type {boolean}\n * @attr\n * @prop\n */\n active: boolean;\n}\n\n/**\n * This mixin provides functionality to other components to be active using a common `active` property.\n *\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n */\nexport const ActiveMixin = <T extends Constructor<LitElement>>(\n superClass: T,\n) => {\n class UUIActiveMixinClass extends superClass {\n /**\n * Set this boolean to true for then the related composition is sorted.\n * @type {boolean}\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n }\n\n return UUIActiveMixinClass as unknown as Constructor<UUIActiveMixinInterface> &\n T;\n};\n"],"names":[],"mappings":";;;;;;;;;;AAqBO,MAAM,cAAc,CACzB,eACG;AAAA,EACH,MAAM,4BAA4B,WAAW;AAAA,IAA7C,cAAA;AAAA,YAAA,GAAA,SAAA;AAOE,WAAO,SAAS;AAAA,IAAA;AAAA,EAAA;AAAT,kBAAA;AAAA,IADN,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAAA,GANtC,oBAOG,WAAA,QAAA;AAGT,SAAO;AAET;"}
@@ -0,0 +1,50 @@
1
+ import { LitElement } from 'lit';
2
+ type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
3
+ type NativeFormControlElement = HTMLInputElement;
4
+ type FlagTypes = 'badInput' | 'customError' | 'patternMismatch' | 'rangeOverflow' | 'rangeUnderflow' | 'stepMismatch' | 'tooLong' | 'tooShort' | 'typeMismatch' | 'valueMissing' | 'valid';
5
+ interface UUIFormControlValidatorConfig {
6
+ flagKey: FlagTypes;
7
+ getMessageMethod: () => string;
8
+ checkMethod: () => boolean;
9
+ weight: number;
10
+ }
11
+ export interface UUIFormControlMixinInterface<ValueType> extends LitElement {
12
+ addValidator: (flagKey: FlagTypes, getMessageMethod: () => string, checkMethod: () => boolean) => void;
13
+ removeValidator: (obj: UUIFormControlValidatorConfig) => void;
14
+ focusFirstInvalidElement(): void;
15
+ get value(): ValueType;
16
+ set value(newValue: ValueType);
17
+ hasValue(): boolean;
18
+ formResetCallback(): void;
19
+ checkValidity(): boolean;
20
+ get validationMessage(): string;
21
+ get validity(): ValidityState;
22
+ setCustomValidity(error?: string): void;
23
+ pristine: boolean;
24
+ }
25
+ export declare abstract class UUIFormControlMixinElement<ValueType> extends LitElement implements UUIFormControlMixinInterface<ValueType> {
26
+ protected _internals: ElementInternals;
27
+ protected _runValidators(): void;
28
+ addValidator: (flagKey: FlagTypes, getMessageMethod: () => string, checkMethod: () => boolean) => void;
29
+ removeValidator: (obj: UUIFormControlValidatorConfig) => void;
30
+ protected addFormControlElement(element: NativeFormControlElement): void;
31
+ protected abstract getFormElement(): HTMLElement | undefined | null;
32
+ focusFirstInvalidElement(): void;
33
+ get value(): ValueType;
34
+ set value(newValue: ValueType);
35
+ hasValue(): boolean;
36
+ formResetCallback(): void;
37
+ checkValidity(): boolean;
38
+ get validationMessage(): string;
39
+ get validity(): ValidityState;
40
+ setCustomValidity(error: string): void;
41
+ pristine: boolean;
42
+ }
43
+ /**
44
+ * The mixin allows a custom element to participate in HTML forms.
45
+ *
46
+ * @param {Object} superClass - superclass to be extended.
47
+ * @mixin
48
+ */
49
+ export declare const UUIFormControlMixin: <ValueType = FormDataEntryValue | FormData, T extends HTMLElementConstructor<LitElement> = typeof LitElement, DefaultValueType = undefined>(superClass: T, defaultValue?: DefaultValueType) => HTMLElementConstructor<UUIFormControlMixinElement<ValueType | DefaultValueType>> & T;
50
+ export {};
@@ -0,0 +1,342 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ 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);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
9
+ import { property } from "lit/decorators.js";
10
+ import { UUIFormControlEvent } from "../events/UUIFormControlEvent.js";
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __decorateClass = (decorators, target, key, kind) => {
14
+ var result = __getOwnPropDesc(target, key);
15
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
16
+ if (decorator = decorators[i])
17
+ result = decorator(target, key, result) || result;
18
+ if (result) __defProp(target, key, result);
19
+ return result;
20
+ };
21
+ const WeightedErrorFlagTypes = [
22
+ "customError",
23
+ "valueMissing",
24
+ "badInput",
25
+ "typeMismatch",
26
+ "patternMismatch",
27
+ "rangeOverflow",
28
+ "rangeUnderflow",
29
+ "stepMismatch",
30
+ "tooLong",
31
+ "tooShort"
32
+ ];
33
+ const UUIFormControlMixin = (superClass, defaultValue) => {
34
+ var _validity, _value, _valueOnFocus, _form, _validators, _formCtrlElements, _UUIFormControlMixinClass_instances, removeFormListeners_fn, _runValidatorsCallback, dispatchValidationState_fn, _onFormSubmit;
35
+ const _UUIFormControlMixinClass = class _UUIFormControlMixinClass extends superClass {
36
+ constructor(...args) {
37
+ super(...args);
38
+ __privateAdd(this, _UUIFormControlMixinClass_instances);
39
+ __privateAdd(this, _validity);
40
+ __privateAdd(this, _value);
41
+ __privateAdd(this, _valueOnFocus);
42
+ __privateAdd(this, _form);
43
+ __privateAdd(this, _validators);
44
+ __privateAdd(this, _formCtrlElements);
45
+ __privateAdd(this, _runValidatorsCallback);
46
+ __privateAdd(this, _onFormSubmit);
47
+ __privateSet(this, _validity, {});
48
+ this._pristine = true;
49
+ __privateSet(this, _value, defaultValue);
50
+ __privateSet(this, _valueOnFocus, void 0);
51
+ __privateSet(this, _form, null);
52
+ __privateSet(this, _validators, []);
53
+ __privateSet(this, _formCtrlElements, []);
54
+ __privateSet(this, _runValidatorsCallback, () => this._runValidators());
55
+ __privateSet(this, _onFormSubmit, () => {
56
+ this.pristine = false;
57
+ });
58
+ this._internals = this.attachInternals();
59
+ this.addEventListener("focus", () => {
60
+ __privateSet(this, _valueOnFocus, this.value);
61
+ });
62
+ this.addEventListener("blur", () => {
63
+ if (__privateGet(this, _valueOnFocus) !== this.value) {
64
+ this.checkValidity();
65
+ }
66
+ __privateSet(this, _valueOnFocus, void 0);
67
+ });
68
+ }
69
+ // Do not 'reflect' as the attribute is used as fallback.
70
+ set value(newValue) {
71
+ const oldValue = __privateGet(this, _value);
72
+ __privateSet(this, _value, newValue);
73
+ if ("ElementInternals" in window && "setFormValue" in window.ElementInternals.prototype) {
74
+ this._internals.setFormValue(__privateGet(this, _value) ?? null);
75
+ }
76
+ this.requestUpdate("value", oldValue);
77
+ }
78
+ get value() {
79
+ return __privateGet(this, _value);
80
+ }
81
+ set pristine(value) {
82
+ if (this._pristine !== value) {
83
+ this._pristine = value;
84
+ }
85
+ }
86
+ get pristine() {
87
+ return this._pristine;
88
+ }
89
+ /**
90
+ * Determine wether this FormControl has a value.
91
+ * @method hasValue
92
+ * @returns {boolean}
93
+ */
94
+ hasValue() {
95
+ return this.value !== this.getDefaultValue();
96
+ }
97
+ /**
98
+ * Focus first element that is invalid.
99
+ * @method focusFirstInvalidElement
100
+ * @returns {HTMLElement | undefined}
101
+ */
102
+ focusFirstInvalidElement() {
103
+ const firstInvalid = __privateGet(this, _formCtrlElements).find(
104
+ (el) => el.validity.valid === false
105
+ );
106
+ if (firstInvalid) {
107
+ if ("focusFirstInvalidElement" in firstInvalid) {
108
+ firstInvalid.focusFirstInvalidElement();
109
+ } else {
110
+ firstInvalid.focus();
111
+ }
112
+ } else {
113
+ this.focus();
114
+ }
115
+ }
116
+ disconnectedCallback() {
117
+ super.disconnectedCallback();
118
+ __privateMethod(this, _UUIFormControlMixinClass_instances, removeFormListeners_fn).call(this);
119
+ }
120
+ /**
121
+ * Add validation, to validate this Form Control.
122
+ * See https://developer.mozilla.org/en-US/docs/Web/API/ValidityState for available Validator FlagTypes.
123
+ * @example
124
+ * this.addValidator(
125
+ * 'tooLong',
126
+ * () => 'This input contains too many characters',
127
+ * () => this._value.length > 10
128
+ * );
129
+ * @function addValidator
130
+ * @param {FlagTypes} flagKey the type of validation.
131
+ * @param {method} getMessageMethod method to retrieve relevant message. Is executed every time the validator is re-executed.
132
+ * @param {method} checkMethod method to determine if this validator should invalidate this form control. Return true if this should prevent submission.
133
+ * @returns {UUIFormControlValidatorConfig} - The added validator configuration.
134
+ */
135
+ addValidator(flagKey, getMessageMethod, checkMethod) {
136
+ const validator = {
137
+ flagKey,
138
+ getMessageMethod,
139
+ checkMethod,
140
+ weight: WeightedErrorFlagTypes.indexOf(flagKey)
141
+ };
142
+ __privateGet(this, _validators).push(validator);
143
+ __privateGet(this, _validators).sort((a, b) => a.weight - b.weight);
144
+ return validator;
145
+ }
146
+ removeValidator(validator) {
147
+ const index = __privateGet(this, _validators).indexOf(validator);
148
+ if (index !== -1) {
149
+ __privateGet(this, _validators).splice(index, 1);
150
+ }
151
+ }
152
+ /**
153
+ * @method addFormControlElement
154
+ * @description Important notice if adding a native form control then ensure that its value and thereby validity is updated when value is changed from the outside.
155
+ * @param element {NativeFormControlElement} - element to validate and include as part of this form association.
156
+ */
157
+ addFormControlElement(element) {
158
+ if (!element) {
159
+ throw new Error("Element is null or undefined");
160
+ }
161
+ if (!element.validity) {
162
+ throw new Error("Element is not a Form Control");
163
+ }
164
+ if (__privateGet(this, _formCtrlElements).includes(element)) return;
165
+ __privateGet(this, _formCtrlElements).push(element);
166
+ element.addEventListener(
167
+ UUIFormControlEvent.INVALID,
168
+ __privateGet(this, _runValidatorsCallback)
169
+ );
170
+ element.addEventListener(
171
+ UUIFormControlEvent.VALID,
172
+ __privateGet(this, _runValidatorsCallback)
173
+ );
174
+ if (this._pristine === false) {
175
+ element.checkValidity();
176
+ this._runValidators();
177
+ }
178
+ }
179
+ /**
180
+ * @function removeFormControlElement
181
+ * @param {NativeFormControlElement} element - element to remove as part of this form controls associated controls.
182
+ * @returns {void}
183
+ */
184
+ removeFormControlElement(element) {
185
+ const index = __privateGet(this, _formCtrlElements).indexOf(element);
186
+ if (index !== -1) {
187
+ __privateGet(this, _formCtrlElements).splice(index, 1);
188
+ element.removeEventListener(
189
+ UUIFormControlEvent.INVALID,
190
+ __privateGet(this, _runValidatorsCallback)
191
+ );
192
+ element.removeEventListener(
193
+ UUIFormControlEvent.VALID,
194
+ __privateGet(this, _runValidatorsCallback)
195
+ );
196
+ if (this._pristine === false) {
197
+ this._runValidators();
198
+ }
199
+ }
200
+ }
201
+ /**
202
+ * @method setCustomValidity
203
+ * @description Set custom validity state, set to empty string to remove the custom message.
204
+ * @param message {string} - The message to be shown
205
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity|HTMLObjectElement:setCustomValidity}
206
+ */
207
+ setCustomValidity(message) {
208
+ if (this._customValidityObject) {
209
+ this.removeValidator(this._customValidityObject);
210
+ }
211
+ if (message != null && message !== "") {
212
+ this._customValidityObject = this.addValidator(
213
+ "customError",
214
+ () => message,
215
+ () => true
216
+ );
217
+ }
218
+ this._runValidators();
219
+ }
220
+ /**
221
+ * @protected
222
+ * @function _runValidators
223
+ * @description Run all validators and set the validityState of this form control.
224
+ * Run this method when you want to re-run all validators.
225
+ * This can be relevant if you have a validators that is using values that is not triggering the Lit Updated Callback.
226
+ * Such are mainly properties that are not declared as a Lit state and or Lit property.
227
+ */
228
+ _runValidators() {
229
+ __privateSet(this, _validity, {});
230
+ let message = void 0;
231
+ let innerFormControlEl = void 0;
232
+ __privateGet(this, _validators).some((validator) => {
233
+ if (validator.checkMethod()) {
234
+ __privateGet(this, _validity)[validator.flagKey] = true;
235
+ message = validator.getMessageMethod();
236
+ return true;
237
+ }
238
+ return false;
239
+ });
240
+ if (!message) {
241
+ __privateGet(this, _formCtrlElements).some((formCtrlEl) => {
242
+ let key;
243
+ for (key in formCtrlEl.validity) {
244
+ if (key !== "valid" && formCtrlEl.validity[key]) {
245
+ __privateGet(this, _validity)[key] = true;
246
+ message = formCtrlEl.validationMessage;
247
+ innerFormControlEl ??= formCtrlEl;
248
+ return true;
249
+ }
250
+ }
251
+ return false;
252
+ });
253
+ }
254
+ const hasError = Object.values(__privateGet(this, _validity)).includes(true);
255
+ __privateGet(this, _validity).valid = !hasError;
256
+ this._internals.setValidity(
257
+ __privateGet(this, _validity),
258
+ message,
259
+ innerFormControlEl ?? this.getFormElement() ?? void 0
260
+ );
261
+ __privateMethod(this, _UUIFormControlMixinClass_instances, dispatchValidationState_fn).call(this);
262
+ }
263
+ updated(changedProperties) {
264
+ super.updated(changedProperties);
265
+ this._runValidators();
266
+ }
267
+ formAssociatedCallback() {
268
+ __privateMethod(this, _UUIFormControlMixinClass_instances, removeFormListeners_fn).call(this);
269
+ __privateSet(this, _form, this._internals.form);
270
+ if (__privateGet(this, _form)) {
271
+ if (__privateGet(this, _form).hasAttribute("submit-invalid")) {
272
+ this.pristine = false;
273
+ }
274
+ __privateGet(this, _form).addEventListener("submit", __privateGet(this, _onFormSubmit));
275
+ }
276
+ }
277
+ formResetCallback() {
278
+ this.pristine = true;
279
+ this.value = this.getInitialValue() ?? this.getDefaultValue();
280
+ }
281
+ getDefaultValue() {
282
+ return defaultValue;
283
+ }
284
+ getInitialValue() {
285
+ return this.getAttribute("value");
286
+ }
287
+ checkValidity() {
288
+ this.pristine = false;
289
+ this._runValidators();
290
+ for (const key in __privateGet(this, _formCtrlElements)) {
291
+ if (__privateGet(this, _formCtrlElements)[key].checkValidity() === false) {
292
+ return false;
293
+ }
294
+ }
295
+ return this._internals?.checkValidity();
296
+ }
297
+ // https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validity
298
+ get validity() {
299
+ return __privateGet(this, _validity);
300
+ }
301
+ get validationMessage() {
302
+ return this._internals?.validationMessage;
303
+ }
304
+ };
305
+ _validity = new WeakMap();
306
+ _value = new WeakMap();
307
+ _valueOnFocus = new WeakMap();
308
+ _form = new WeakMap();
309
+ _validators = new WeakMap();
310
+ _formCtrlElements = new WeakMap();
311
+ _UUIFormControlMixinClass_instances = new WeakSet();
312
+ removeFormListeners_fn = function() {
313
+ if (__privateGet(this, _form)) {
314
+ __privateGet(this, _form).removeEventListener("submit", __privateGet(this, _onFormSubmit));
315
+ }
316
+ };
317
+ _runValidatorsCallback = new WeakMap();
318
+ dispatchValidationState_fn = function() {
319
+ if (this._pristine === true) return;
320
+ if (__privateGet(this, _validity).valid) {
321
+ this.dispatchEvent(new UUIFormControlEvent(UUIFormControlEvent.VALID));
322
+ } else {
323
+ this.dispatchEvent(
324
+ new UUIFormControlEvent(UUIFormControlEvent.INVALID)
325
+ );
326
+ }
327
+ };
328
+ _onFormSubmit = new WeakMap();
329
+ _UUIFormControlMixinClass.formAssociated = true;
330
+ let UUIFormControlMixinClass = _UUIFormControlMixinClass;
331
+ __decorateClass([
332
+ property()
333
+ ], UUIFormControlMixinClass.prototype, "value");
334
+ __decorateClass([
335
+ property({ type: Boolean, reflect: true })
336
+ ], UUIFormControlMixinClass.prototype, "pristine");
337
+ return UUIFormControlMixinClass;
338
+ };
339
+ export {
340
+ UUIFormControlMixin
341
+ };
342
+ //# sourceMappingURL=FormControlMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControlMixin.js","sources":["../../../src/internal/mixins/FormControlMixin.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { UUIFormControlEvent } from '../events/index.js';\n\ntype HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;\n\ntype NativeFormControlElement = HTMLInputElement; // Eventually use a specific interface or list multiple options like appending these types: ... | HTMLTextAreaElement | HTMLSelectElement\n\n/* FlagTypes type options originate from:\n * https://developer.mozilla.org/en-US/docs/Web/API/ValidityState\n * */\ntype FlagTypes =\n | 'badInput'\n | 'customError'\n | 'patternMismatch'\n | 'rangeOverflow'\n | 'rangeUnderflow'\n | 'stepMismatch'\n | 'tooLong'\n | 'tooShort'\n | 'typeMismatch'\n | 'valueMissing'\n | 'valid';\n\nconst WeightedErrorFlagTypes = [\n 'customError',\n 'valueMissing',\n 'badInput',\n 'typeMismatch',\n 'patternMismatch',\n 'rangeOverflow',\n 'rangeUnderflow',\n 'stepMismatch',\n 'tooLong',\n 'tooShort',\n];\n\n// Acceptable as an internal interface/type, BUT if exposed externally this should be turned into a public class in a separate file.\ninterface UUIFormControlValidatorConfig {\n flagKey: FlagTypes;\n getMessageMethod: () => string;\n checkMethod: () => boolean;\n weight: number;\n}\n\nexport interface UUIFormControlMixinInterface<ValueType> extends LitElement {\n addValidator: (\n flagKey: FlagTypes,\n getMessageMethod: () => string,\n checkMethod: () => boolean,\n ) => void;\n removeValidator: (obj: UUIFormControlValidatorConfig) => void;\n //static formAssociated: boolean;\n //protected getFormElement(): HTMLElement | undefined | null; // allows for null as it makes it simpler to just implement a querySelector as that might return null. [NL]\n focusFirstInvalidElement(): void;\n get value(): ValueType;\n set value(newValue: ValueType);\n hasValue(): boolean;\n formResetCallback(): void;\n checkValidity(): boolean;\n get validationMessage(): string;\n get validity(): ValidityState;\n setCustomValidity(error?: string): void;\n pristine: boolean;\n}\n\nexport declare abstract class UUIFormControlMixinElement<ValueType>\n extends LitElement\n implements UUIFormControlMixinInterface<ValueType>\n{\n protected _internals: ElementInternals;\n protected _runValidators(): void;\n addValidator: (\n flagKey: FlagTypes,\n getMessageMethod: () => string,\n checkMethod: () => boolean,\n ) => void;\n removeValidator: (obj: UUIFormControlValidatorConfig) => void;\n protected addFormControlElement(element: NativeFormControlElement): void;\n\n //static formAssociated: boolean;\n protected abstract getFormElement(): HTMLElement | undefined | null; // allows for null as it makes it simpler to just implement a querySelector as that might return null. [NL]\n focusFirstInvalidElement(): void;\n get value(): ValueType;\n set value(newValue: ValueType);\n hasValue(): boolean;\n formResetCallback(): void;\n checkValidity(): boolean;\n get validationMessage(): string;\n get validity(): ValidityState;\n public setCustomValidity(error: string): void;\n pristine: boolean;\n}\n\n/**\n * The mixin allows a custom element to participate in HTML forms.\n *\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n */\nexport const UUIFormControlMixin = <\n ValueType = FormDataEntryValue | FormData,\n T extends HTMLElementConstructor<LitElement> = typeof LitElement,\n DefaultValueType = undefined,\n>(\n superClass: T,\n defaultValue?: DefaultValueType,\n) => {\n abstract class UUIFormControlMixinClass extends superClass {\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.\n * It may require a polyfill, check support here https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals.\n * 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 * Value of this form control.\n * If you dont want the setFormValue to be called on the ElementInternals, then prevent calling this method, by not calling super.value = newValue in your implementation of the value setter method.\n * @type {string}\n * @attr value\n * @default ''\n */\n @property() // Do not 'reflect' as the attribute is used as fallback.\n set value(newValue: ValueType | DefaultValueType) {\n const oldValue = this.#value;\n this.#value = newValue;\n if (\n 'ElementInternals' in window &&\n 'setFormValue' in window.ElementInternals.prototype\n ) {\n this._internals.setFormValue((this.#value as any) ?? null);\n }\n this.requestUpdate('value', oldValue);\n }\n get value(): ValueType | DefaultValueType {\n return this.#value;\n }\n\n // Validation\n #validity: any = {};\n\n /**\n * Determines wether the form control has been touched or interacted with, this determines wether the validation-status of this form control should be made visible.\n * @type {boolean}\n * @attr\n * @default\n */\n @property({ type: Boolean, reflect: true })\n public set pristine(value: boolean) {\n if (this._pristine !== value) {\n this._pristine = value;\n }\n }\n public get pristine(): boolean {\n return this._pristine;\n }\n private _pristine: boolean = true;\n\n #value: ValueType | DefaultValueType =\n defaultValue as unknown as DefaultValueType;\n #valueOnFocus: ValueType | DefaultValueType =\n undefined as unknown as DefaultValueType;\n protected _internals: ElementInternals;\n #form: HTMLFormElement | null = null;\n readonly #validators: UUIFormControlValidatorConfig[] = [];\n readonly #formCtrlElements: NativeFormControlElement[] = [];\n\n constructor(...args: any[]) {\n super(...args);\n this._internals = this.attachInternals();\n\n this.addEventListener('focus', () => {\n this.#valueOnFocus = this.value;\n });\n this.addEventListener('blur', () => {\n if (this.#valueOnFocus !== this.value) {\n this.checkValidity();\n }\n this.#valueOnFocus = undefined as unknown as\n | ValueType\n | DefaultValueType;\n });\n }\n\n /**\n * Determine wether this FormControl has a value.\n * @method hasValue\n * @returns {boolean}\n */\n public hasValue(): boolean {\n return this.value !== this.getDefaultValue();\n }\n\n /**\n * Get internal form element.\n * This has to be implemented to provide a FormControl Element of choice for the given context. The element is used as anchor for validation-messages.\n * @abstract\n * @method getFormElement\n * @returns {HTMLElement | undefined}\n */\n protected abstract getFormElement(): HTMLElement | undefined;\n\n /**\n * Focus first element that is invalid.\n * @method focusFirstInvalidElement\n * @returns {HTMLElement | undefined}\n */\n focusFirstInvalidElement() {\n const firstInvalid = this.#formCtrlElements.find(\n el => el.validity.valid === false,\n );\n if (firstInvalid) {\n if ('focusFirstInvalidElement' in firstInvalid) {\n (firstInvalid as any).focusFirstInvalidElement();\n } else {\n firstInvalid.focus();\n }\n } else {\n this.focus();\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#removeFormListeners();\n }\n #removeFormListeners() {\n if (this.#form) {\n this.#form.removeEventListener('submit', this.#onFormSubmit);\n }\n }\n\n /**\n * Add validation, to validate this Form Control.\n * See https://developer.mozilla.org/en-US/docs/Web/API/ValidityState for available Validator FlagTypes.\n * @example\n * this.addValidator(\n * 'tooLong',\n * () => 'This input contains too many characters',\n * () => this._value.length > 10\n * );\n * @function addValidator\n * @param {FlagTypes} flagKey the type of validation.\n * @param {method} getMessageMethod method to retrieve relevant message. Is executed every time the validator is re-executed.\n * @param {method} checkMethod method to determine if this validator should invalidate this form control. Return true if this should prevent submission.\n * @returns {UUIFormControlValidatorConfig} - The added validator configuration.\n */\n addValidator(\n flagKey: FlagTypes,\n getMessageMethod: () => string,\n checkMethod: () => boolean,\n ): UUIFormControlValidatorConfig {\n const validator = {\n flagKey: flagKey,\n getMessageMethod: getMessageMethod,\n checkMethod: checkMethod,\n weight: WeightedErrorFlagTypes.indexOf(flagKey),\n } satisfies UUIFormControlValidatorConfig;\n this.#validators.push(validator);\n // Sort validators based on the WeightedErrorFlagTypes order. [NL]\n this.#validators.sort((a, b) => a.weight - b.weight);\n return validator;\n }\n\n protected removeValidator(validator: UUIFormControlValidatorConfig) {\n const index = this.#validators.indexOf(validator);\n if (index !== -1) {\n this.#validators.splice(index, 1);\n }\n }\n\n readonly #runValidatorsCallback = () => this._runValidators();\n\n /**\n * @method addFormControlElement\n * @description Important notice if adding a native form control then ensure that its value and thereby validity is updated when value is changed from the outside.\n * @param element {NativeFormControlElement} - element to validate and include as part of this form association.\n */\n protected addFormControlElement(element: NativeFormControlElement) {\n if (!element) {\n throw new Error('Element is null or undefined');\n }\n if (!element.validity) {\n throw new Error('Element is not a Form Control');\n }\n if (this.#formCtrlElements.includes(element)) return;\n this.#formCtrlElements.push(element);\n element.addEventListener(\n UUIFormControlEvent.INVALID,\n this.#runValidatorsCallback,\n );\n element.addEventListener(\n UUIFormControlEvent.VALID,\n this.#runValidatorsCallback,\n );\n // If we are in validationMode/'touched'/not-pristine then we need to validate this newly added control. [NL]\n if (this._pristine === false) {\n element.checkValidity();\n // I think we could just execute validators for the new control, but now lets just run al of it again. [NL]\n this._runValidators();\n }\n }\n\n /**\n * @function removeFormControlElement\n * @param {NativeFormControlElement} element - element to remove as part of this form controls associated controls.\n * @returns {void}\n */\n protected removeFormControlElement(element: NativeFormControlElement) {\n const index = this.#formCtrlElements.indexOf(element);\n if (index !== -1) {\n this.#formCtrlElements.splice(index, 1);\n element.removeEventListener(\n UUIFormControlEvent.INVALID,\n this.#runValidatorsCallback,\n );\n element.removeEventListener(\n UUIFormControlEvent.VALID,\n this.#runValidatorsCallback,\n );\n if (this._pristine === false) {\n this._runValidators();\n }\n }\n }\n\n private _customValidityObject?: UUIFormControlValidatorConfig;\n\n /**\n * @method setCustomValidity\n * @description Set custom validity state, set to empty string to remove the custom message.\n * @param message {string} - The message to be shown\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity|HTMLObjectElement:setCustomValidity}\n */\n protected setCustomValidity(message: string | null) {\n if (this._customValidityObject) {\n this.removeValidator(this._customValidityObject);\n }\n\n if (message != null && message !== '') {\n this._customValidityObject = this.addValidator(\n 'customError',\n (): string => message,\n () => true,\n );\n }\n\n this._runValidators();\n }\n\n /**\n * @protected\n * @function _runValidators\n * @description Run all validators and set the validityState of this form control.\n * Run this method when you want to re-run all validators.\n * This can be relevant if you have a validators that is using values that is not triggering the Lit Updated Callback.\n * Such are mainly properties that are not declared as a Lit state and or Lit property.\n */\n protected _runValidators() {\n this.#validity = {};\n let message: string | undefined = undefined;\n let innerFormControlEl: NativeFormControlElement | undefined = undefined;\n\n // Loop through custom validators, currently its intentional to have them overwritten native validity. but might need to be reconsidered (This current way enables to overwrite with custom messages) [NL]\n this.#validators.some(validator => {\n if (validator.checkMethod()) {\n this.#validity[validator.flagKey] = true;\n message = validator.getMessageMethod();\n return true;\n }\n return false;\n });\n\n if (!message) {\n // Loop through inner native form controls to adapt their validityState. [NL]\n this.#formCtrlElements.some(formCtrlEl => {\n let key: keyof ValidityState;\n for (key in formCtrlEl.validity) {\n if (key !== 'valid' && formCtrlEl.validity[key]) {\n this.#validity[key] = true;\n message = formCtrlEl.validationMessage;\n innerFormControlEl ??= formCtrlEl;\n return true;\n }\n }\n return false;\n });\n }\n\n const hasError = Object.values(this.#validity).includes(true);\n\n // https://developer.mozilla.org/en-US/docs/Web/API/ValidityState#valid\n this.#validity.valid = !hasError;\n\n // Transfer the new validityState to the ElementInternals. [NL]\n this._internals.setValidity(\n this.#validity,\n message,\n innerFormControlEl ?? this.getFormElement() ?? undefined,\n );\n\n this.#dispatchValidationState();\n }\n\n #dispatchValidationState() {\n // Do not fire validation events unless we are not pristine/'untouched'/not-in-validation-mode. [NL]\n if (this._pristine === true) return;\n if (this.#validity.valid) {\n this.dispatchEvent(new UUIFormControlEvent(UUIFormControlEvent.VALID));\n } else {\n this.dispatchEvent(\n new UUIFormControlEvent(UUIFormControlEvent.INVALID),\n );\n }\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n this._runValidators();\n }\n\n readonly #onFormSubmit = () => {\n this.pristine = false;\n };\n\n public formAssociatedCallback() {\n this.#removeFormListeners();\n this.#form = this._internals.form;\n if (this.#form) {\n // This relies on the form begin a 'uui-form':\n if (this.#form.hasAttribute('submit-invalid')) {\n this.pristine = false;\n }\n this.#form.addEventListener('submit', this.#onFormSubmit);\n }\n }\n public formResetCallback() {\n this.pristine = true;\n this.value = this.getInitialValue() ?? this.getDefaultValue();\n }\n\n protected getDefaultValue(): DefaultValueType {\n return defaultValue as DefaultValueType;\n }\n protected getInitialValue(): ValueType | DefaultValueType {\n return this.getAttribute('value') as ValueType | DefaultValueType;\n }\n\n public checkValidity() {\n this.pristine = false;\n this._runValidators();\n\n for (const key in this.#formCtrlElements) {\n if (this.#formCtrlElements[key].checkValidity() === false) {\n return false;\n }\n }\n\n return this._internals?.checkValidity();\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validity\n public get validity(): ValidityState {\n return this.#validity;\n }\n\n get validationMessage() {\n return this._internals?.validationMessage;\n }\n }\n return UUIFormControlMixinClass as unknown as HTMLElementConstructor<\n UUIFormControlMixinElement<ValueType | DefaultValueType>\n > &\n T;\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { LitElement } from 'lit';
2
+ import { type UUIFormControlMixinElement } from './FormControlMixin.js';
3
+ type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface UUIFormControlWithBasicsMixinElement<ValueType> extends UUIFormControlMixinElement<ValueType> {
8
+ name: string;
9
+ required: boolean;
10
+ requiredMessage: string;
11
+ error: boolean;
12
+ errorMessage: string;
13
+ /**
14
+ * Submits the form that this element is a part of. If the element is not part of a form, or if the form has no submit button, this method does nothing.
15
+ */
16
+ submit(): void;
17
+ }
18
+ /**
19
+ * The mixin allows a custom element to participate in HTML forms.
20
+ *
21
+ * @param {Object} superClass - superclass to be extended.
22
+ * @mixin
23
+ * @internal
24
+ */
25
+ export declare const UUIFormControlWithBasicsMixin: <ValueType = FormDataEntryValue | FormData, T extends HTMLElementConstructor<LitElement> = typeof LitElement, DefaultValueType = undefined>(superClass: T, defaultValue?: DefaultValueType) => HTMLElementConstructor<UUIFormControlWithBasicsMixinElement<ValueType | DefaultValueType>> & T;
26
+ export {};
@@ -0,0 +1,62 @@
1
+ import { UUIFormControlMixin } from "./FormControlMixin.js";
2
+ import { property } from "lit/decorators.js";
3
+ var __defProp = Object.defineProperty;
4
+ var __decorateClass = (decorators, target, key, kind) => {
5
+ var result = void 0;
6
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
+ if (decorator = decorators[i])
8
+ result = decorator(target, key, result) || result;
9
+ if (result) __defProp(target, key, result);
10
+ return result;
11
+ };
12
+ const UUIFormControlWithBasicsMixin = (superClass, defaultValue) => {
13
+ class UUIFormControlWithBasicsMixinClass extends UUIFormControlMixin(
14
+ superClass,
15
+ defaultValue
16
+ ) {
17
+ constructor(...args) {
18
+ super(...args);
19
+ this.name = "";
20
+ this.required = false;
21
+ this.requiredMessage = "This field is required";
22
+ this.error = false;
23
+ this.errorMessage = "This field is invalid";
24
+ this.addValidator(
25
+ "valueMissing",
26
+ () => this.requiredMessage,
27
+ () => this.hasAttribute("required") && this.hasValue() === false
28
+ );
29
+ this.addValidator(
30
+ "customError",
31
+ () => this.errorMessage,
32
+ () => this.error
33
+ );
34
+ }
35
+ /**
36
+ * Submits the form that this element is a part of. If the element is not part of a form, or if the form has no submit button, this method does nothing.
37
+ */
38
+ submit() {
39
+ this._internals.form?.requestSubmit();
40
+ }
41
+ }
42
+ __decorateClass([
43
+ property({ type: String })
44
+ ], UUIFormControlWithBasicsMixinClass.prototype, "name");
45
+ __decorateClass([
46
+ property({ type: Boolean, reflect: true })
47
+ ], UUIFormControlWithBasicsMixinClass.prototype, "required");
48
+ __decorateClass([
49
+ property({ type: String, attribute: "required-message" })
50
+ ], UUIFormControlWithBasicsMixinClass.prototype, "requiredMessage");
51
+ __decorateClass([
52
+ property({ type: Boolean, reflect: true })
53
+ ], UUIFormControlWithBasicsMixinClass.prototype, "error");
54
+ __decorateClass([
55
+ property({ type: String, attribute: "error-message" })
56
+ ], UUIFormControlWithBasicsMixinClass.prototype, "errorMessage");
57
+ return UUIFormControlWithBasicsMixinClass;
58
+ };
59
+ export {
60
+ UUIFormControlWithBasicsMixin
61
+ };
62
+ //# sourceMappingURL=FormControlWithBasicsMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControlWithBasicsMixin.js","sources":["../../../src/internal/mixins/FormControlWithBasicsMixin.ts"],"sourcesContent":["import type { LitElement } from 'lit';\nimport {\n UUIFormControlMixin,\n type UUIFormControlMixinElement,\n} from './FormControlMixin.js';\nimport { property } from 'lit/decorators.js';\n\ntype HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;\n\n/**\n * @internal\n */\nexport interface UUIFormControlWithBasicsMixinElement<\n ValueType,\n> extends UUIFormControlMixinElement<ValueType> {\n name: string;\n required: boolean;\n requiredMessage: string;\n error: boolean;\n errorMessage: string;\n /**\n * Submits the form that this element is a part of. If the element is not part of a form, or if the form has no submit button, this method does nothing.\n */\n submit(): void;\n}\n/**\n * The mixin allows a custom element to participate in HTML forms.\n *\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n * @internal\n */\nexport const UUIFormControlWithBasicsMixin = <\n ValueType = FormDataEntryValue | FormData,\n T extends HTMLElementConstructor<LitElement> = typeof LitElement,\n DefaultValueType = undefined,\n>(\n superClass: T,\n defaultValue?: DefaultValueType,\n) => {\n /**\n * @internal\n */\n abstract class UUIFormControlWithBasicsMixinClass\n extends UUIFormControlMixin<ValueType, T, DefaultValueType>(\n superClass,\n defaultValue,\n )\n implements\n UUIFormControlWithBasicsMixinElement<ValueType | DefaultValueType>\n {\n /**\n * This is a name property of the component.\n * @type {string}\n * @attr\n * @default ''\n */\n @property({ type: String })\n name = '';\n\n /**\n * Apply validation rule for requiring a value of this form control.\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Required validation message.\n * @attr\n */\n @property({ type: String, attribute: 'required-message' })\n requiredMessage = 'This field is required';\n\n /**\n * Apply custom error on this input.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n error = false;\n\n /**\n * Custom error message.\n * @attr\n */\n @property({ type: String, attribute: 'error-message' })\n errorMessage = 'This field is invalid';\n\n constructor(...args: unknown[]) {\n super(...args);\n\n this.addValidator(\n 'valueMissing',\n () => this.requiredMessage,\n () => this.hasAttribute('required') && this.hasValue() === false,\n );\n this.addValidator(\n 'customError',\n () => this.errorMessage,\n () => this.error,\n );\n }\n\n /**\n * Submits the form that this element is a part of. If the element is not part of a form, or if the form has no submit button, this method does nothing.\n */\n submit() {\n this._internals.form?.requestSubmit();\n }\n }\n\n return UUIFormControlWithBasicsMixinClass as unknown as HTMLElementConstructor<\n UUIFormControlWithBasicsMixinElement<ValueType | DefaultValueType>\n > &\n T;\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAgCO,MAAM,gCAAgC,CAK3C,YACA,iBACG;AAAA,EAIH,MAAe,2CACL;AAAA,IACN;AAAA,IACA;AAAA,EAAA,EAIJ;AAAA,IAuCE,eAAe,MAAiB;AAC9B,YAAM,GAAG,IAAI;AAhCf,WAAA,OAAO;AAQP,WAAA,WAAW;AAOX,WAAA,kBAAkB;AAOlB,WAAA,QAAQ;AAOR,WAAA,eAAe;AAKb,WAAK;AAAA,QACH;AAAA,QACA,MAAM,KAAK;AAAA,QACX,MAAM,KAAK,aAAa,UAAU,KAAK,KAAK,eAAe;AAAA,MAAA;AAE7D,WAAK;AAAA,QACH;AAAA,QACA,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,MAAA;AAAA,IAEf;AAAA;AAAA;AAAA;AAAA,IAKA,SAAS;AACP,WAAK,WAAW,MAAM,cAAA;AAAA,IACxB;AAAA,EAAA;AAnDA,kBAAA;AAAA,IADC,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,EAAA,GAdb,mCAeb,WAAA,MAAA;AAQA,kBAAA;AAAA,IADC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAAA,GAtB7B,mCAuBb,WAAA,UAAA;AAOA,kBAAA;AAAA,IADC,SAAS,EAAE,MAAM,QAAQ,WAAW,oBAAoB;AAAA,EAAA,GA7B5C,mCA8Bb,WAAA,iBAAA;AAOA,kBAAA;AAAA,IADC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAAA,GApC7B,mCAqCb,WAAA,OAAA;AAOA,kBAAA;AAAA,IADC,SAAS,EAAE,MAAM,QAAQ,WAAW,iBAAiB;AAAA,EAAA,GA3CzC,mCA4Cb,WAAA,cAAA;AAyBF,SAAO;AAIT;"}
@@ -0,0 +1,21 @@
1
+ import type { LitElement, TemplateResult } from 'lit';
2
+ type Constructor<T = {}> = new (...args: any[]) => T;
3
+ export declare class UUILabelMixinInterface {
4
+ /**
5
+ * Label to be used for aria-label and potentially as visual label for some components
6
+ * @type {string}
7
+ * @prop
8
+ * @attr
9
+ */
10
+ label: string;
11
+ protected renderLabel(): TemplateResult;
12
+ }
13
+ /**
14
+ * This mixin provides label functionality to other components. In the mixed component the label can be provided either via reactive label property, or through slot that this mixin contains. You can style the label template through .label selector.
15
+ *
16
+ * @param {string} labelSlotName - Name that will be assigned for the label slot
17
+ * @param {Object} superClass - superclass to be extended.
18
+ * @mixin
19
+ */
20
+ export declare const LabelMixin: <T extends Constructor<LitElement>>(labelSlotName: string | null, superClass: T) => Constructor<UUILabelMixinInterface> & T;
21
+ export {};
@@ -0,0 +1,54 @@
1
+ import { html } from "lit";
2
+ import { property, state } from "lit/decorators.js";
3
+ var __defProp = Object.defineProperty;
4
+ var __decorateClass = (decorators, target, key, kind) => {
5
+ var result = void 0;
6
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
+ if (decorator = decorators[i])
8
+ result = decorator(target, key, result) || result;
9
+ if (result) __defProp(target, key, result);
10
+ return result;
11
+ };
12
+ const LabelMixin = (labelSlotName, superClass) => {
13
+ class UUILabelMixinClass extends superClass {
14
+ constructor() {
15
+ super(...arguments);
16
+ this._labelSlotHasContent = false;
17
+ }
18
+ firstUpdated(_changedProperties) {
19
+ super.firstUpdated(_changedProperties);
20
+ if (!this.label) {
21
+ console.warn(this.tagName + " needs a `label`", this);
22
+ }
23
+ }
24
+ labelSlotChanged(e) {
25
+ this._labelSlotHasContent = e.target.assignedNodes({ flatten: true }).length > 0;
26
+ }
27
+ /**
28
+ * Call in the mixed element to render the label template. It contains a slot. This is optional.
29
+ * @method renderLabel
30
+ * @returns {TemplateResult}
31
+ */
32
+ renderLabel() {
33
+ return html`
34
+ ${this._labelSlotHasContent === false ? html`<span class="label">${this.label}</span>` : ""}
35
+ <slot
36
+ class="label"
37
+ style=${this._labelSlotHasContent ? "" : "display: none"}
38
+ name=${labelSlotName || ""}
39
+ @slotchange=${this.labelSlotChanged}></slot>
40
+ `;
41
+ }
42
+ }
43
+ __decorateClass([
44
+ property({ type: String })
45
+ ], UUILabelMixinClass.prototype, "label");
46
+ __decorateClass([
47
+ state()
48
+ ], UUILabelMixinClass.prototype, "_labelSlotHasContent");
49
+ return UUILabelMixinClass;
50
+ };
51
+ export {
52
+ LabelMixin
53
+ };
54
+ //# sourceMappingURL=LabelMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelMixin.js","sources":["../../../src/internal/mixins/LabelMixin.ts"],"sourcesContent":["import type { LitElement, TemplateResult } from 'lit';\nimport { html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class UUILabelMixinInterface {\n /**\n * Label to be used for aria-label and potentially as visual label for some components\n * @type {string}\n * @prop\n * @attr\n */\n label: string;\n protected renderLabel(): TemplateResult;\n}\n\n/**\n * This mixin provides label functionality to other components. In the mixed component the label can be provided either via reactive label property, or through slot that this mixin contains. You can style the label template through .label selector.\n *\n * @param {string} labelSlotName - Name that will be assigned for the label slot\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n */\nexport const LabelMixin = <T extends Constructor<LitElement>>(\n labelSlotName: string | null,\n superClass: T,\n) => {\n /**\n * Label mixin class containing the label functionality.\n */\n class UUILabelMixinClass extends superClass {\n /**\n * Label to be used for aria-label and potentially as visual label for some components\n * @type {string}\n * @attr\n */\n @property({ type: String })\n public label!: string;\n\n firstUpdated(_changedProperties: Map<string | number | symbol, unknown>) {\n super.firstUpdated(_changedProperties);\n if (!this.label) {\n console.warn(this.tagName + ' needs a `label`', this);\n }\n }\n\n @state()\n private _labelSlotHasContent = false;\n\n private labelSlotChanged(e: Event): void {\n this._labelSlotHasContent =\n (e.target as HTMLSlotElement).assignedNodes({ flatten: true }).length >\n 0;\n }\n\n /**\n * Call in the mixed element to render the label template. It contains a slot. This is optional.\n * @method renderLabel\n * @returns {TemplateResult}\n */\n protected renderLabel() {\n return html`\n ${this._labelSlotHasContent === false\n ? html`<span class=\"label\">${this.label}</span>`\n : ''}\n <slot\n class=\"label\"\n style=${this._labelSlotHasContent ? '' : 'display: none'}\n name=${labelSlotName || ''}\n @slotchange=${this.labelSlotChanged}></slot>\n `;\n }\n }\n return UUILabelMixinClass as unknown as Constructor<UUILabelMixinInterface> &\n T;\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAwBO,MAAM,aAAa,CACxB,eACA,eACG;AAAA,EAIH,MAAM,2BAA2B,WAAW;AAAA,IAA5C,cAAA;AAAA,YAAA,GAAA,SAAA;AAiBE,WAAQ,uBAAuB;AAAA,IAAA;AAAA,IAR/B,aAAa,oBAA4D;AACvE,YAAM,aAAa,kBAAkB;AACrC,UAAI,CAAC,KAAK,OAAO;AACf,gBAAQ,KAAK,KAAK,UAAU,oBAAoB,IAAI;AAAA,MACtD;AAAA,IACF;AAAA,IAKQ,iBAAiB,GAAgB;AACvC,WAAK,uBACF,EAAE,OAA2B,cAAc,EAAE,SAAS,KAAA,CAAM,EAAE,SAC/D;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOU,cAAc;AACtB,aAAO;AAAA,UACH,KAAK,yBAAyB,QAC5B,2BAA2B,KAAK,KAAK,YACrC,EAAE;AAAA;AAAA;AAAA,kBAGI,KAAK,uBAAuB,KAAK,eAAe;AAAA,iBACjD,iBAAiB,EAAE;AAAA,wBACZ,KAAK,gBAAgB;AAAA;AAAA,IAEzC;AAAA,EAAA;AAlCO,kBAAA;AAAA,IADN,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,EAAA,GANtB,mBAOG,WAAA,OAAA;AAUC,kBAAA;AAAA,IADP,MAAA;AAAA,EAAM,GAhBH,mBAiBI,WAAA,sBAAA;AA0BV,SAAO;AAET;"}