@umbraco-ui/uui 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (635) hide show
  1. package/custom-elements.json +103 -1
  2. package/dist/_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js +9 -0
  3. package/dist/components/action-bar/action-bar.d.ts +0 -1
  4. package/dist/components/action-bar/action-bar.element.js +15 -12
  5. package/dist/components/action-bar/action-bar.element.js.map +1 -1
  6. package/dist/components/action-bar/action-bar.js +5 -5
  7. package/dist/components/action-bar/action-bar.js.map +1 -1
  8. package/dist/components/avatar/avatar.d.ts +0 -1
  9. package/dist/components/avatar/avatar.element.js +72 -86
  10. package/dist/components/avatar/avatar.element.js.map +1 -1
  11. package/dist/components/avatar/avatar.js +5 -5
  12. package/dist/components/avatar/avatar.js.map +1 -1
  13. package/dist/components/avatar-group/avatar-group.d.ts +0 -1
  14. package/dist/components/avatar-group/avatar-group.element.js +58 -68
  15. package/dist/components/avatar-group/avatar-group.element.js.map +1 -1
  16. package/dist/components/avatar-group/avatar-group.js +5 -5
  17. package/dist/components/avatar-group/avatar-group.js.map +1 -1
  18. package/dist/components/badge/badge.d.ts +0 -1
  19. package/dist/components/badge/badge.element.js +32 -38
  20. package/dist/components/badge/badge.element.js.map +1 -1
  21. package/dist/components/badge/badge.js +5 -5
  22. package/dist/components/badge/badge.js.map +1 -1
  23. package/dist/components/boolean-input/UUIBooleanInputEvent.js +15 -13
  24. package/dist/components/boolean-input/UUIBooleanInputEvent.js.map +1 -1
  25. package/dist/components/boolean-input/boolean-input.d.ts +0 -1
  26. package/dist/components/boolean-input/boolean-input.element.js +114 -134
  27. package/dist/components/boolean-input/boolean-input.element.js.map +1 -1
  28. package/dist/components/boolean-input/boolean-input.js +3 -0
  29. package/dist/components/box/box.d.ts +0 -1
  30. package/dist/components/box/box.element.js +74 -77
  31. package/dist/components/box/box.element.js.map +1 -1
  32. package/dist/components/box/box.js +5 -5
  33. package/dist/components/box/box.js.map +1 -1
  34. package/dist/components/breadcrumbs/breadcrumb-item.element.js +45 -50
  35. package/dist/components/breadcrumbs/breadcrumb-item.element.js.map +1 -1
  36. package/dist/components/breadcrumbs/breadcrumbs.d.ts +0 -1
  37. package/dist/components/breadcrumbs/breadcrumbs.element.js +40 -47
  38. package/dist/components/breadcrumbs/breadcrumbs.element.js.map +1 -1
  39. package/dist/components/breadcrumbs/breadcrumbs.js +5 -6
  40. package/dist/components/breadcrumbs/breadcrumbs.js.map +1 -1
  41. package/dist/components/button/button.d.ts +0 -1
  42. package/dist/components/button/button.element.js +147 -199
  43. package/dist/components/button/button.element.js.map +1 -1
  44. package/dist/components/button/button.js +5 -5
  45. package/dist/components/button/button.js.map +1 -1
  46. package/dist/components/button-copy-text/UUICopyTextEvent.js +16 -12
  47. package/dist/components/button-copy-text/UUICopyTextEvent.js.map +1 -1
  48. package/dist/components/button-copy-text/button-copy-text.d.ts +0 -1
  49. package/dist/components/button-copy-text/button-copy-text.element.js +78 -93
  50. package/dist/components/button-copy-text/button-copy-text.element.js.map +1 -1
  51. package/dist/components/button-copy-text/button-copy-text.js +6 -7
  52. package/dist/components/button-copy-text/button-copy-text.js.map +1 -1
  53. package/dist/components/button-group/button-group.d.ts +0 -1
  54. package/dist/components/button-group/button-group.element.js +19 -14
  55. package/dist/components/button-group/button-group.element.js.map +1 -1
  56. package/dist/components/button-group/button-group.js +5 -5
  57. package/dist/components/button-group/button-group.js.map +1 -1
  58. package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js +16 -14
  59. package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js.map +1 -1
  60. package/dist/components/button-inline-create/button-inline-create.d.ts +0 -1
  61. package/dist/components/button-inline-create/button-inline-create.element.js +63 -88
  62. package/dist/components/button-inline-create/button-inline-create.element.js.map +1 -1
  63. package/dist/components/button-inline-create/button-inline-create.js +6 -7
  64. package/dist/components/button-inline-create/button-inline-create.js.map +1 -1
  65. package/dist/components/card/UUICardEvent.js +9 -7
  66. package/dist/components/card/UUICardEvent.js.map +1 -1
  67. package/dist/components/card/card.d.ts +0 -1
  68. package/dist/components/card/card.element.d.ts +7 -0
  69. package/dist/components/card/card.element.js +72 -69
  70. package/dist/components/card/card.element.js.map +1 -1
  71. package/dist/components/card/card.js +6 -7
  72. package/dist/components/card/card.js.map +1 -1
  73. package/dist/components/card-block-type/card-block-type.d.ts +0 -1
  74. package/dist/components/card-block-type/card-block-type.element.js +55 -74
  75. package/dist/components/card-block-type/card-block-type.element.js.map +1 -1
  76. package/dist/components/card-block-type/card-block-type.js +5 -5
  77. package/dist/components/card-block-type/card-block-type.js.map +1 -1
  78. package/dist/components/card-content-node/card-content-node.d.ts +0 -1
  79. package/dist/components/card-content-node/card-content-node.element.d.ts +1 -0
  80. package/dist/components/card-content-node/card-content-node.element.js +82 -83
  81. package/dist/components/card-content-node/card-content-node.element.js.map +1 -1
  82. package/dist/components/card-content-node/card-content-node.js +5 -5
  83. package/dist/components/card-content-node/card-content-node.js.map +1 -1
  84. package/dist/components/card-media/card-media.d.ts +0 -1
  85. package/dist/components/card-media/card-media.element.d.ts +4 -0
  86. package/dist/components/card-media/card-media.element.js +103 -89
  87. package/dist/components/card-media/card-media.element.js.map +1 -1
  88. package/dist/components/card-media/card-media.js +5 -5
  89. package/dist/components/card-media/card-media.js.map +1 -1
  90. package/dist/components/card-user/card-user.d.ts +0 -1
  91. package/dist/components/card-user/card-user.element.js +57 -72
  92. package/dist/components/card-user/card-user.element.js.map +1 -1
  93. package/dist/components/card-user/card-user.js +5 -5
  94. package/dist/components/card-user/card-user.js.map +1 -1
  95. package/dist/components/checkbox/checkbox.d.ts +0 -1
  96. package/dist/components/checkbox/checkbox.element.js +41 -22
  97. package/dist/components/checkbox/checkbox.element.js.map +1 -1
  98. package/dist/components/checkbox/checkbox.js +5 -5
  99. package/dist/components/checkbox/checkbox.js.map +1 -1
  100. package/dist/components/color-area/UUIColorAreaEvent.js +15 -13
  101. package/dist/components/color-area/UUIColorAreaEvent.js.map +1 -1
  102. package/dist/components/color-area/color-area.d.ts +0 -1
  103. package/dist/components/color-area/color-area.element.js +137 -174
  104. package/dist/components/color-area/color-area.element.js.map +1 -1
  105. package/dist/components/color-area/color-area.js +6 -7
  106. package/dist/components/color-area/color-area.js.map +1 -1
  107. package/dist/components/color-picker/UUIColorPickerEvent.js +15 -13
  108. package/dist/components/color-picker/UUIColorPickerEvent.js.map +1 -1
  109. package/dist/components/color-picker/color-picker.d.ts +0 -1
  110. package/dist/components/color-picker/color-picker.element.js +293 -334
  111. package/dist/components/color-picker/color-picker.element.js.map +1 -1
  112. package/dist/components/color-picker/color-picker.js +6 -7
  113. package/dist/components/color-picker/color-picker.js.map +1 -1
  114. package/dist/components/color-slider/UUIColorSliderEvent.js +15 -13
  115. package/dist/components/color-slider/UUIColorSliderEvent.js.map +1 -1
  116. package/dist/components/color-slider/color-slider.d.ts +0 -1
  117. package/dist/components/color-slider/color-slider.element.js +169 -219
  118. package/dist/components/color-slider/color-slider.element.js.map +1 -1
  119. package/dist/components/color-slider/color-slider.js +6 -7
  120. package/dist/components/color-slider/color-slider.js.map +1 -1
  121. package/dist/components/color-swatch/color-swatch.d.ts +0 -1
  122. package/dist/components/color-swatch/color-swatch.element.d.ts +1 -1
  123. package/dist/components/color-swatch/color-swatch.element.js +215 -201
  124. package/dist/components/color-swatch/color-swatch.element.js.map +1 -1
  125. package/dist/components/color-swatch/color-swatch.js +5 -5
  126. package/dist/components/color-swatch/color-swatch.js.map +1 -1
  127. package/dist/components/color-swatches/UUIColorSwatchesEvent.js +15 -13
  128. package/dist/components/color-swatches/UUIColorSwatchesEvent.js.map +1 -1
  129. package/dist/components/color-swatches/color-swatches.d.ts +0 -1
  130. package/dist/components/color-swatches/color-swatches.element.js +115 -132
  131. package/dist/components/color-swatches/color-swatches.element.js.map +1 -1
  132. package/dist/components/color-swatches/color-swatches.js +6 -7
  133. package/dist/components/color-swatches/color-swatches.js.map +1 -1
  134. package/dist/components/combobox/UUIComboboxEvent.js +18 -14
  135. package/dist/components/combobox/UUIComboboxEvent.js.map +1 -1
  136. package/dist/components/combobox/combobox.d.ts +0 -1
  137. package/dist/components/combobox/combobox.element.js +321 -425
  138. package/dist/components/combobox/combobox.element.js.map +1 -1
  139. package/dist/components/combobox/combobox.js +6 -7
  140. package/dist/components/combobox/combobox.js.map +1 -1
  141. package/dist/components/combobox-list/UUIComboboxListEvent.js +18 -14
  142. package/dist/components/combobox-list/UUIComboboxListEvent.js.map +1 -1
  143. package/dist/components/combobox-list/combobox-list-option.element.js +88 -80
  144. package/dist/components/combobox-list/combobox-list-option.element.js.map +1 -1
  145. package/dist/components/combobox-list/combobox-list.d.ts +0 -1
  146. package/dist/components/combobox-list/combobox-list.element.js +218 -275
  147. package/dist/components/combobox-list/combobox-list.element.js.map +1 -1
  148. package/dist/components/combobox-list/combobox-list.js +6 -8
  149. package/dist/components/combobox-list/combobox-list.js.map +1 -1
  150. package/dist/components/dialog/dialog.d.ts +0 -1
  151. package/dist/components/dialog/dialog.element.js +19 -14
  152. package/dist/components/dialog/dialog.element.js.map +1 -1
  153. package/dist/components/dialog/dialog.js +5 -5
  154. package/dist/components/dialog/dialog.js.map +1 -1
  155. package/dist/components/dialog-layout/dialog-layout.d.ts +0 -1
  156. package/dist/components/dialog-layout/dialog-layout.element.js +59 -64
  157. package/dist/components/dialog-layout/dialog-layout.element.js.map +1 -1
  158. package/dist/components/dialog-layout/dialog-layout.js +5 -5
  159. package/dist/components/dialog-layout/dialog-layout.js.map +1 -1
  160. package/dist/components/file-dropzone/UUIFileDropzoneEvent.js +18 -14
  161. package/dist/components/file-dropzone/UUIFileDropzoneEvent.js.map +1 -1
  162. package/dist/components/file-dropzone/file-dropzone.d.ts +0 -1
  163. package/dist/components/file-dropzone/file-dropzone.element.js +214 -257
  164. package/dist/components/file-dropzone/file-dropzone.element.js.map +1 -1
  165. package/dist/components/file-dropzone/file-dropzone.js +6 -7
  166. package/dist/components/file-dropzone/file-dropzone.js.map +1 -1
  167. package/dist/components/file-preview/UUIFileSize.js +46 -19
  168. package/dist/components/file-preview/UUIFileSize.js.map +1 -1
  169. package/dist/components/file-preview/file-preview.d.ts +0 -1
  170. package/dist/components/file-preview/file-preview.element.js +78 -103
  171. package/dist/components/file-preview/file-preview.element.js.map +1 -1
  172. package/dist/components/file-preview/file-preview.js +6 -5
  173. package/dist/components/file-preview/file-preview.js.map +1 -1
  174. package/dist/components/form/form.d.ts +0 -1
  175. package/dist/components/form/form.element.js +46 -46
  176. package/dist/components/form/form.element.js.map +1 -1
  177. package/dist/components/form/form.js +5 -5
  178. package/dist/components/form/form.js.map +1 -1
  179. package/dist/components/form-layout-item/form-layout-item.d.ts +0 -1
  180. package/dist/components/form-layout-item/form-layout-item.element.js +39 -45
  181. package/dist/components/form-layout-item/form-layout-item.element.js.map +1 -1
  182. package/dist/components/form-layout-item/form-layout-item.js +5 -5
  183. package/dist/components/form-layout-item/form-layout-item.js.map +1 -1
  184. package/dist/components/form-validation-message/form-validation-message.d.ts +0 -1
  185. package/dist/components/form-validation-message/form-validation-message.element.js +71 -89
  186. package/dist/components/form-validation-message/form-validation-message.element.js.map +1 -1
  187. package/dist/components/form-validation-message/form-validation-message.js +5 -5
  188. package/dist/components/form-validation-message/form-validation-message.js.map +1 -1
  189. package/dist/components/icon/UUIIconRequestEvent.js +21 -19
  190. package/dist/components/icon/UUIIconRequestEvent.js.map +1 -1
  191. package/dist/components/icon/icon.d.ts +0 -1
  192. package/dist/components/icon/icon.element.js +93 -117
  193. package/dist/components/icon/icon.element.js.map +1 -1
  194. package/dist/components/icon/icon.js +6 -7
  195. package/dist/components/icon/icon.js.map +1 -1
  196. package/dist/components/icon-registry/UUIIconHost.js +16 -17
  197. package/dist/components/icon-registry/UUIIconHost.js.map +1 -1
  198. package/dist/components/icon-registry/UUIIconRegistry.js +67 -77
  199. package/dist/components/icon-registry/UUIIconRegistry.js.map +1 -1
  200. package/dist/components/icon-registry/icon-registry.d.ts +0 -1
  201. package/dist/components/icon-registry/icon-registry.element.js +39 -48
  202. package/dist/components/icon-registry/icon-registry.element.js.map +1 -1
  203. package/dist/components/icon-registry/icon-registry.js +7 -6
  204. package/dist/components/icon-registry/icon-registry.js.map +1 -1
  205. package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js +44 -42
  206. package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js.map +1 -1
  207. package/dist/components/icon-registry-essential/icon-registry-essential.d.ts +0 -1
  208. package/dist/components/icon-registry-essential/icon-registry-essential.element.js +15 -9
  209. package/dist/components/icon-registry-essential/icon-registry-essential.element.js.map +1 -1
  210. package/dist/components/icon-registry-essential/icon-registry-essential.js +6 -39
  211. package/dist/components/icon-registry-essential/icon-registry-essential.js.map +1 -1
  212. package/dist/components/icon-registry-essential/svgs/iconAdd.js +6 -5
  213. package/dist/components/icon-registry-essential/svgs/iconAdd.js.map +1 -1
  214. package/dist/components/icon-registry-essential/svgs/iconAlert.js +6 -5
  215. package/dist/components/icon-registry-essential/svgs/iconAlert.js.map +1 -1
  216. package/dist/components/icon-registry-essential/svgs/iconAttachment.js +6 -5
  217. package/dist/components/icon-registry-essential/svgs/iconAttachment.js.map +1 -1
  218. package/dist/components/icon-registry-essential/svgs/iconCalendar.js +6 -5
  219. package/dist/components/icon-registry-essential/svgs/iconCalendar.js.map +1 -1
  220. package/dist/components/icon-registry-essential/svgs/iconCheck.js +6 -5
  221. package/dist/components/icon-registry-essential/svgs/iconCheck.js.map +1 -1
  222. package/dist/components/icon-registry-essential/svgs/iconClipboard.js +6 -5
  223. package/dist/components/icon-registry-essential/svgs/iconClipboard.js.map +1 -1
  224. package/dist/components/icon-registry-essential/svgs/iconCode.js +6 -5
  225. package/dist/components/icon-registry-essential/svgs/iconCode.js.map +1 -1
  226. package/dist/components/icon-registry-essential/svgs/iconColorPicker.js +6 -5
  227. package/dist/components/icon-registry-essential/svgs/iconColorPicker.js.map +1 -1
  228. package/dist/components/icon-registry-essential/svgs/iconCopy.js +6 -5
  229. package/dist/components/icon-registry-essential/svgs/iconCopy.js.map +1 -1
  230. package/dist/components/icon-registry-essential/svgs/iconDelete.js +6 -5
  231. package/dist/components/icon-registry-essential/svgs/iconDelete.js.map +1 -1
  232. package/dist/components/icon-registry-essential/svgs/iconDocument.js +6 -5
  233. package/dist/components/icon-registry-essential/svgs/iconDocument.js.map +1 -1
  234. package/dist/components/icon-registry-essential/svgs/iconDownload.js +6 -5
  235. package/dist/components/icon-registry-essential/svgs/iconDownload.js.map +1 -1
  236. package/dist/components/icon-registry-essential/svgs/iconDrag.js +6 -5
  237. package/dist/components/icon-registry-essential/svgs/iconDrag.js.map +1 -1
  238. package/dist/components/icon-registry-essential/svgs/iconEdit.js +6 -5
  239. package/dist/components/icon-registry-essential/svgs/iconEdit.js.map +1 -1
  240. package/dist/components/icon-registry-essential/svgs/iconFavorite.js +6 -5
  241. package/dist/components/icon-registry-essential/svgs/iconFavorite.js.map +1 -1
  242. package/dist/components/icon-registry-essential/svgs/iconFolder.js +6 -5
  243. package/dist/components/icon-registry-essential/svgs/iconFolder.js.map +1 -1
  244. package/dist/components/icon-registry-essential/svgs/iconForbidden.js +6 -5
  245. package/dist/components/icon-registry-essential/svgs/iconForbidden.js.map +1 -1
  246. package/dist/components/icon-registry-essential/svgs/iconInfo.js +6 -5
  247. package/dist/components/icon-registry-essential/svgs/iconInfo.js.map +1 -1
  248. package/dist/components/icon-registry-essential/svgs/iconLink.js +6 -5
  249. package/dist/components/icon-registry-essential/svgs/iconLink.js.map +1 -1
  250. package/dist/components/icon-registry-essential/svgs/iconLock.js +6 -5
  251. package/dist/components/icon-registry-essential/svgs/iconLock.js.map +1 -1
  252. package/dist/components/icon-registry-essential/svgs/iconPause.js +6 -5
  253. package/dist/components/icon-registry-essential/svgs/iconPause.js.map +1 -1
  254. package/dist/components/icon-registry-essential/svgs/iconPicture.js +6 -5
  255. package/dist/components/icon-registry-essential/svgs/iconPicture.js.map +1 -1
  256. package/dist/components/icon-registry-essential/svgs/iconPlay.js +6 -5
  257. package/dist/components/icon-registry-essential/svgs/iconPlay.js.map +1 -1
  258. package/dist/components/icon-registry-essential/svgs/iconRemove.js +6 -5
  259. package/dist/components/icon-registry-essential/svgs/iconRemove.js.map +1 -1
  260. package/dist/components/icon-registry-essential/svgs/iconSearch.js +6 -5
  261. package/dist/components/icon-registry-essential/svgs/iconSearch.js.map +1 -1
  262. package/dist/components/icon-registry-essential/svgs/iconSee.js +6 -5
  263. package/dist/components/icon-registry-essential/svgs/iconSee.js.map +1 -1
  264. package/dist/components/icon-registry-essential/svgs/iconSettings.js +6 -5
  265. package/dist/components/icon-registry-essential/svgs/iconSettings.js.map +1 -1
  266. package/dist/components/icon-registry-essential/svgs/iconSubtract.js +6 -5
  267. package/dist/components/icon-registry-essential/svgs/iconSubtract.js.map +1 -1
  268. package/dist/components/icon-registry-essential/svgs/iconSync.js +6 -5
  269. package/dist/components/icon-registry-essential/svgs/iconSync.js.map +1 -1
  270. package/dist/components/icon-registry-essential/svgs/iconUnlock.js +6 -5
  271. package/dist/components/icon-registry-essential/svgs/iconUnlock.js.map +1 -1
  272. package/dist/components/icon-registry-essential/svgs/iconUnsee.js +6 -5
  273. package/dist/components/icon-registry-essential/svgs/iconUnsee.js.map +1 -1
  274. package/dist/components/icon-registry-essential/svgs/iconWand.js +6 -5
  275. package/dist/components/icon-registry-essential/svgs/iconWand.js.map +1 -1
  276. package/dist/components/icon-registry-essential/svgs/iconWrong.js +6 -5
  277. package/dist/components/icon-registry-essential/svgs/iconWrong.js.map +1 -1
  278. package/dist/components/icon-registry-essential/svgs/index.js +34 -0
  279. package/dist/components/index.js +206 -0
  280. package/dist/components/input/UUIInputEvent.js +18 -14
  281. package/dist/components/input/UUIInputEvent.js.map +1 -1
  282. package/dist/components/input/input.d.ts +0 -1
  283. package/dist/components/input/input.element.js +176 -201
  284. package/dist/components/input/input.element.js.map +1 -1
  285. package/dist/components/input/input.js +6 -7
  286. package/dist/components/input/input.js.map +1 -1
  287. package/dist/components/input-file/input-file.d.ts +0 -1
  288. package/dist/components/input-file/input-file.element.js +137 -211
  289. package/dist/components/input-file/input-file.element.js.map +1 -1
  290. package/dist/components/input-file/input-file.js +5 -5
  291. package/dist/components/input-file/input-file.js.map +1 -1
  292. package/dist/components/input-lock/UUIInputLockEvent.js +15 -13
  293. package/dist/components/input-lock/UUIInputLockEvent.js.map +1 -1
  294. package/dist/components/input-lock/input-lock.d.ts +0 -1
  295. package/dist/components/input-lock/input-lock.element.js +69 -105
  296. package/dist/components/input-lock/input-lock.element.js.map +1 -1
  297. package/dist/components/input-lock/input-lock.js +6 -7
  298. package/dist/components/input-lock/input-lock.js.map +1 -1
  299. package/dist/components/input-password/input-password.d.ts +0 -1
  300. package/dist/components/input-password/input-password.element.js +45 -90
  301. package/dist/components/input-password/input-password.element.js.map +1 -1
  302. package/dist/components/input-password/input-password.js +5 -5
  303. package/dist/components/input-password/input-password.js.map +1 -1
  304. package/dist/components/keyboard-shortcut/key.element.js +19 -14
  305. package/dist/components/keyboard-shortcut/key.element.js.map +1 -1
  306. package/dist/components/keyboard-shortcut/keyboard-shortcut.d.ts +0 -1
  307. package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js +19 -14
  308. package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js.map +1 -1
  309. package/dist/components/keyboard-shortcut/keyboard-shortcut.js +5 -6
  310. package/dist/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  311. package/dist/components/label/label.d.ts +0 -1
  312. package/dist/components/label/label.element.js +52 -54
  313. package/dist/components/label/label.element.js.map +1 -1
  314. package/dist/components/label/label.js +5 -5
  315. package/dist/components/label/label.js.map +1 -1
  316. package/dist/components/loader/loader.d.ts +0 -1
  317. package/dist/components/loader/loader.element.js +18 -14
  318. package/dist/components/loader/loader.element.js.map +1 -1
  319. package/dist/components/loader/loader.js +5 -5
  320. package/dist/components/loader/loader.js.map +1 -1
  321. package/dist/components/loader-bar/loader-bar.d.ts +0 -1
  322. package/dist/components/loader-bar/loader-bar.element.js +55 -52
  323. package/dist/components/loader-bar/loader-bar.element.js.map +1 -1
  324. package/dist/components/loader-bar/loader-bar.js +5 -5
  325. package/dist/components/loader-bar/loader-bar.js.map +1 -1
  326. package/dist/components/loader-circle/loader-circle.d.ts +0 -1
  327. package/dist/components/loader-circle/loader-circle.element.js +52 -59
  328. package/dist/components/loader-circle/loader-circle.element.js.map +1 -1
  329. package/dist/components/loader-circle/loader-circle.js +5 -5
  330. package/dist/components/loader-circle/loader-circle.js.map +1 -1
  331. package/dist/components/menu-item/UUIMenuItemEvent.js +15 -9
  332. package/dist/components/menu-item/UUIMenuItemEvent.js.map +1 -1
  333. package/dist/components/menu-item/menu-item.d.ts +0 -1
  334. package/dist/components/menu-item/menu-item.element.js +136 -139
  335. package/dist/components/menu-item/menu-item.element.js.map +1 -1
  336. package/dist/components/menu-item/menu-item.js +6 -7
  337. package/dist/components/menu-item/menu-item.js.map +1 -1
  338. package/dist/components/modal/modal-container.js +86 -141
  339. package/dist/components/modal/modal-container.js.map +1 -1
  340. package/dist/components/modal/modal-dialog.element.js +14 -15
  341. package/dist/components/modal/modal-dialog.element.js.map +1 -1
  342. package/dist/components/modal/modal-sidebar.element.js +41 -64
  343. package/dist/components/modal/modal-sidebar.element.js.map +1 -1
  344. package/dist/components/modal/modal.d.ts +0 -1
  345. package/dist/components/modal/modal.element.js +89 -106
  346. package/dist/components/modal/modal.element.js.map +1 -1
  347. package/dist/components/modal/modal.js +6 -12
  348. package/dist/components/modal/modal.js.map +1 -1
  349. package/dist/components/pagination/UUIPaginationEvent.js +15 -13
  350. package/dist/components/pagination/UUIPaginationEvent.js.map +1 -1
  351. package/dist/components/pagination/pagination.d.ts +0 -1
  352. package/dist/components/pagination/pagination.element.js +188 -228
  353. package/dist/components/pagination/pagination.element.js.map +1 -1
  354. package/dist/components/pagination/pagination.js +6 -7
  355. package/dist/components/pagination/pagination.js.map +1 -1
  356. package/dist/components/popover-container/popover-container.d.ts +0 -1
  357. package/dist/components/popover-container/popover-container.element.d.ts +1 -0
  358. package/dist/components/popover-container/popover-container.element.js +290 -335
  359. package/dist/components/popover-container/popover-container.element.js.map +1 -1
  360. package/dist/components/popover-container/popover-container.js +5 -5
  361. package/dist/components/popover-container/popover-container.js.map +1 -1
  362. package/dist/components/progress-bar/progress-bar.d.ts +0 -1
  363. package/dist/components/progress-bar/progress-bar.element.js +41 -43
  364. package/dist/components/progress-bar/progress-bar.element.js.map +1 -1
  365. package/dist/components/progress-bar/progress-bar.js +5 -5
  366. package/dist/components/progress-bar/progress-bar.js.map +1 -1
  367. package/dist/components/radio/UUIRadioEvent.js +15 -13
  368. package/dist/components/radio/UUIRadioEvent.js.map +1 -1
  369. package/dist/components/radio/UUIRadioGroupEvent.js +15 -13
  370. package/dist/components/radio/UUIRadioGroupEvent.js.map +1 -1
  371. package/dist/components/radio/radio-group.element.js +224 -279
  372. package/dist/components/radio/radio-group.element.js.map +1 -1
  373. package/dist/components/radio/radio.d.ts +0 -1
  374. package/dist/components/radio/radio.element.js +100 -123
  375. package/dist/components/radio/radio.element.js.map +1 -1
  376. package/dist/components/radio/radio.js +7 -10
  377. package/dist/components/radio/radio.js.map +1 -1
  378. package/dist/components/range-slider/UUIRangeSliderEvent.js +18 -14
  379. package/dist/components/range-slider/UUIRangeSliderEvent.js.map +1 -1
  380. package/dist/components/range-slider/range-slider.d.ts +0 -1
  381. package/dist/components/range-slider/range-slider.element.js +439 -504
  382. package/dist/components/range-slider/range-slider.element.js.map +1 -1
  383. package/dist/components/range-slider/range-slider.js +6 -7
  384. package/dist/components/range-slider/range-slider.js.map +1 -1
  385. package/dist/components/ref/UUIRefEvent.js +9 -7
  386. package/dist/components/ref/UUIRefEvent.js.map +1 -1
  387. package/dist/components/ref/ref.d.ts +0 -1
  388. package/dist/components/ref/ref.element.js +55 -50
  389. package/dist/components/ref/ref.element.js.map +1 -1
  390. package/dist/components/ref/ref.js +6 -7
  391. package/dist/components/ref/ref.js.map +1 -1
  392. package/dist/components/ref-list/ref-list.d.ts +0 -1
  393. package/dist/components/ref-list/ref-list.element.js +17 -14
  394. package/dist/components/ref-list/ref-list.element.js.map +1 -1
  395. package/dist/components/ref-list/ref-list.js +5 -5
  396. package/dist/components/ref-list/ref-list.js.map +1 -1
  397. package/dist/components/ref-node/ref-node.d.ts +0 -1
  398. package/dist/components/ref-node/ref-node.element.js +91 -109
  399. package/dist/components/ref-node/ref-node.element.js.map +1 -1
  400. package/dist/components/ref-node/ref-node.js +5 -5
  401. package/dist/components/ref-node/ref-node.js.map +1 -1
  402. package/dist/components/ref-node-data-type/ref-node-data-type.d.ts +0 -1
  403. package/dist/components/ref-node-data-type/ref-node-data-type.element.js +30 -35
  404. package/dist/components/ref-node-data-type/ref-node-data-type.element.js.map +1 -1
  405. package/dist/components/ref-node-data-type/ref-node-data-type.js +5 -5
  406. package/dist/components/ref-node-data-type/ref-node-data-type.js.map +1 -1
  407. package/dist/components/ref-node-document-type/ref-node-document-type.d.ts +0 -1
  408. package/dist/components/ref-node-document-type/ref-node-document-type.element.js +30 -35
  409. package/dist/components/ref-node-document-type/ref-node-document-type.element.js.map +1 -1
  410. package/dist/components/ref-node-document-type/ref-node-document-type.js +5 -5
  411. package/dist/components/ref-node-document-type/ref-node-document-type.js.map +1 -1
  412. package/dist/components/ref-node-form/ref-node-form.d.ts +0 -1
  413. package/dist/components/ref-node-form/ref-node-form.element.js +21 -12
  414. package/dist/components/ref-node-form/ref-node-form.element.js.map +1 -1
  415. package/dist/components/ref-node-form/ref-node-form.js +5 -5
  416. package/dist/components/ref-node-form/ref-node-form.js.map +1 -1
  417. package/dist/components/ref-node-member/ref-node-member.d.ts +0 -1
  418. package/dist/components/ref-node-member/ref-node-member.element.js +33 -35
  419. package/dist/components/ref-node-member/ref-node-member.element.js.map +1 -1
  420. package/dist/components/ref-node-member/ref-node-member.js +5 -5
  421. package/dist/components/ref-node-member/ref-node-member.js.map +1 -1
  422. package/dist/components/ref-node-package/ref-node-package.d.ts +0 -1
  423. package/dist/components/ref-node-package/ref-node-package.element.js +33 -42
  424. package/dist/components/ref-node-package/ref-node-package.element.js.map +1 -1
  425. package/dist/components/ref-node-package/ref-node-package.js +5 -5
  426. package/dist/components/ref-node-package/ref-node-package.js.map +1 -1
  427. package/dist/components/ref-node-user/ref-node-user.d.ts +0 -1
  428. package/dist/components/ref-node-user/ref-node-user.element.js +33 -35
  429. package/dist/components/ref-node-user/ref-node-user.element.js.map +1 -1
  430. package/dist/components/ref-node-user/ref-node-user.js +5 -5
  431. package/dist/components/ref-node-user/ref-node-user.js.map +1 -1
  432. package/dist/components/responsive-container/responsive-container.d.ts +0 -1
  433. package/dist/components/responsive-container/responsive-container.element.js +186 -244
  434. package/dist/components/responsive-container/responsive-container.element.js.map +1 -1
  435. package/dist/components/responsive-container/responsive-container.js +5 -5
  436. package/dist/components/responsive-container/responsive-container.js.map +1 -1
  437. package/dist/components/scroll-container/scroll-container.d.ts +0 -1
  438. package/dist/components/scroll-container/scroll-container.element.js +35 -36
  439. package/dist/components/scroll-container/scroll-container.element.js.map +1 -1
  440. package/dist/components/scroll-container/scroll-container.js +5 -5
  441. package/dist/components/scroll-container/scroll-container.js.map +1 -1
  442. package/dist/components/select/UUISelectEvent.js +15 -13
  443. package/dist/components/select/UUISelectEvent.js.map +1 -1
  444. package/dist/components/select/select.d.ts +0 -1
  445. package/dist/components/select/select.element.js +134 -163
  446. package/dist/components/select/select.element.js.map +1 -1
  447. package/dist/components/select/select.js +6 -7
  448. package/dist/components/select/select.js.map +1 -1
  449. package/dist/components/slider/UUISliderEvent.js +18 -14
  450. package/dist/components/slider/UUISliderEvent.js.map +1 -1
  451. package/dist/components/slider/native-input.styles.js +6 -5
  452. package/dist/components/slider/native-input.styles.js.map +1 -1
  453. package/dist/components/slider/slider.d.ts +0 -1
  454. package/dist/components/slider/slider.element.d.ts +7 -0
  455. package/dist/components/slider/slider.element.js +197 -227
  456. package/dist/components/slider/slider.element.js.map +1 -1
  457. package/dist/components/slider/slider.js +6 -7
  458. package/dist/components/slider/slider.js.map +1 -1
  459. package/dist/components/symbol-drag-handle/symbol-drag-handle.d.ts +0 -1
  460. package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js +19 -16
  461. package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js.map +1 -1
  462. package/dist/components/symbol-drag-handle/symbol-drag-handle.js +5 -5
  463. package/dist/components/symbol-drag-handle/symbol-drag-handle.js.map +1 -1
  464. package/dist/components/symbol-expand/symbol-expand.d.ts +0 -1
  465. package/dist/components/symbol-expand/symbol-expand.element.js +27 -30
  466. package/dist/components/symbol-expand/symbol-expand.element.js.map +1 -1
  467. package/dist/components/symbol-expand/symbol-expand.js +5 -5
  468. package/dist/components/symbol-expand/symbol-expand.js.map +1 -1
  469. package/dist/components/symbol-file/symbol-file.d.ts +0 -1
  470. package/dist/components/symbol-file/symbol-file.element.js +24 -32
  471. package/dist/components/symbol-file/symbol-file.element.js.map +1 -1
  472. package/dist/components/symbol-file/symbol-file.js +5 -5
  473. package/dist/components/symbol-file/symbol-file.js.map +1 -1
  474. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.d.ts +0 -1
  475. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js +26 -30
  476. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js.map +1 -1
  477. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js +5 -5
  478. package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js.map +1 -1
  479. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.d.ts +0 -1
  480. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js +39 -95
  481. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js.map +1 -1
  482. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js +5 -5
  483. package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js.map +1 -1
  484. package/dist/components/symbol-folder/symbol-folder.d.ts +0 -1
  485. package/dist/components/symbol-folder/symbol-folder.element.js +17 -14
  486. package/dist/components/symbol-folder/symbol-folder.element.js.map +1 -1
  487. package/dist/components/symbol-folder/symbol-folder.js +5 -5
  488. package/dist/components/symbol-folder/symbol-folder.js.map +1 -1
  489. package/dist/components/symbol-lock/symbol-lock.d.ts +0 -1
  490. package/dist/components/symbol-lock/symbol-lock.element.js +26 -30
  491. package/dist/components/symbol-lock/symbol-lock.element.js.map +1 -1
  492. package/dist/components/symbol-lock/symbol-lock.js +5 -5
  493. package/dist/components/symbol-lock/symbol-lock.js.map +1 -1
  494. package/dist/components/symbol-more/symbol-more.d.ts +0 -1
  495. package/dist/components/symbol-more/symbol-more.element.js +17 -14
  496. package/dist/components/symbol-more/symbol-more.element.js.map +1 -1
  497. package/dist/components/symbol-more/symbol-more.js +5 -5
  498. package/dist/components/symbol-more/symbol-more.js.map +1 -1
  499. package/dist/components/symbol-sort/symbol-sort.d.ts +0 -1
  500. package/dist/components/symbol-sort/symbol-sort.element.js +29 -31
  501. package/dist/components/symbol-sort/symbol-sort.element.js.map +1 -1
  502. package/dist/components/symbol-sort/symbol-sort.js +5 -5
  503. package/dist/components/symbol-sort/symbol-sort.js.map +1 -1
  504. package/dist/components/table/table-cell.element.js +65 -71
  505. package/dist/components/table/table-cell.element.js.map +1 -1
  506. package/dist/components/table/table-column.element.js +14 -10
  507. package/dist/components/table/table-column.element.js.map +1 -1
  508. package/dist/components/table/table-head-cell.element.js +19 -16
  509. package/dist/components/table/table-head-cell.element.js.map +1 -1
  510. package/dist/components/table/table-head.element.js +23 -18
  511. package/dist/components/table/table-head.element.js.map +1 -1
  512. package/dist/components/table/table-row.element.js +41 -52
  513. package/dist/components/table/table-row.element.js.map +1 -1
  514. package/dist/components/table/table.d.ts +0 -1
  515. package/dist/components/table/table.element.js +23 -19
  516. package/dist/components/table/table.element.js.map +1 -1
  517. package/dist/components/table/table.js +5 -10
  518. package/dist/components/table/table.js.map +1 -1
  519. package/dist/components/tabs/UUITabEvent.js +6 -6
  520. package/dist/components/tabs/UUITabEvent.js.map +1 -1
  521. package/dist/components/tabs/UUITabGroupEvent.js +6 -6
  522. package/dist/components/tabs/UUITabGroupEvent.js.map +1 -1
  523. package/dist/components/tabs/tab-group.element.js +188 -251
  524. package/dist/components/tabs/tab-group.element.js.map +1 -1
  525. package/dist/components/tabs/tab.element.js +66 -56
  526. package/dist/components/tabs/tab.element.js.map +1 -1
  527. package/dist/components/tabs/tabs.d.ts +0 -1
  528. package/dist/components/tabs/tabs.js +7 -6
  529. package/dist/components/tabs/tabs.js.map +1 -1
  530. package/dist/components/tag/tag.d.ts +0 -1
  531. package/dist/components/tag/tag.element.js +32 -34
  532. package/dist/components/tag/tag.element.js.map +1 -1
  533. package/dist/components/tag/tag.js +5 -5
  534. package/dist/components/tag/tag.js.map +1 -1
  535. package/dist/components/textarea/UUITextareaEvent.js +18 -14
  536. package/dist/components/textarea/UUITextareaEvent.js.map +1 -1
  537. package/dist/components/textarea/textarea.d.ts +0 -1
  538. package/dist/components/textarea/textarea.element.d.ts +2 -0
  539. package/dist/components/textarea/textarea.element.js +153 -180
  540. package/dist/components/textarea/textarea.element.js.map +1 -1
  541. package/dist/components/textarea/textarea.js +6 -7
  542. package/dist/components/textarea/textarea.js.map +1 -1
  543. package/dist/components/toast-notification/UUIToastNotificationEvent.js +18 -10
  544. package/dist/components/toast-notification/UUIToastNotificationEvent.js.map +1 -1
  545. package/dist/components/toast-notification/toast-notification.d.ts +0 -1
  546. package/dist/components/toast-notification/toast-notification.element.js +155 -224
  547. package/dist/components/toast-notification/toast-notification.element.js.map +1 -1
  548. package/dist/components/toast-notification/toast-notification.js +6 -7
  549. package/dist/components/toast-notification/toast-notification.js.map +1 -1
  550. package/dist/components/toast-notification-container/toast-notification-container.d.ts +0 -1
  551. package/dist/components/toast-notification-container/toast-notification-container.element.js +98 -122
  552. package/dist/components/toast-notification-container/toast-notification-container.element.js.map +1 -1
  553. package/dist/components/toast-notification-container/toast-notification-container.js +6 -9
  554. package/dist/components/toast-notification-container/toast-notification-container.js.map +1 -1
  555. package/dist/components/toast-notification-layout/toast-notification-layout.d.ts +0 -1
  556. package/dist/components/toast-notification-layout/toast-notification-layout.element.js +33 -39
  557. package/dist/components/toast-notification-layout/toast-notification-layout.element.js.map +1 -1
  558. package/dist/components/toast-notification-layout/toast-notification-layout.js +6 -9
  559. package/dist/components/toast-notification-layout/toast-notification-layout.js.map +1 -1
  560. package/dist/components/toggle/toggle.d.ts +0 -1
  561. package/dist/components/toggle/toggle.element.js +43 -54
  562. package/dist/components/toggle/toggle.element.js.map +1 -1
  563. package/dist/components/toggle/toggle.js +5 -5
  564. package/dist/components/toggle/toggle.js.map +1 -1
  565. package/dist/components/visually-hidden/visually-hidden.d.ts +0 -1
  566. package/dist/components/visually-hidden/visually-hidden.element.js +17 -14
  567. package/dist/components/visually-hidden/visually-hidden.element.js.map +1 -1
  568. package/dist/components/visually-hidden/visually-hidden.js +5 -5
  569. package/dist/components/visually-hidden/visually-hidden.js.map +1 -1
  570. package/dist/index.js +115 -359
  571. package/dist/internal/animations/uui-blink.js +7 -7
  572. package/dist/internal/animations/uui-blink.js.map +1 -1
  573. package/dist/internal/animations/uui-pulse.js +7 -9
  574. package/dist/internal/animations/uui-pulse.js.map +1 -1
  575. package/dist/internal/animations/uui-shake.js +7 -9
  576. package/dist/internal/animations/uui-shake.js.map +1 -1
  577. package/dist/internal/events/UUIEvent.js +13 -9
  578. package/dist/internal/events/UUIEvent.js.map +1 -1
  579. package/dist/internal/events/UUIFormControlEvent.d.ts +2 -2
  580. package/dist/internal/events/UUIFormControlEvent.js +18 -14
  581. package/dist/internal/events/UUIFormControlEvent.js.map +1 -1
  582. package/dist/internal/events/UUISelectableEvent.js +19 -15
  583. package/dist/internal/events/UUISelectableEvent.js.map +1 -1
  584. package/dist/internal/mixins/ActiveMixin.js +24 -24
  585. package/dist/internal/mixins/ActiveMixin.js.map +1 -1
  586. package/dist/internal/mixins/FormControlMixin.d.ts +3 -3
  587. package/dist/internal/mixins/FormControlMixin.js +276 -339
  588. package/dist/internal/mixins/FormControlMixin.js.map +1 -1
  589. package/dist/internal/mixins/FormControlWithBasicsMixin.d.ts +19 -3
  590. package/dist/internal/mixins/FormControlWithBasicsMixin.js +54 -60
  591. package/dist/internal/mixins/FormControlWithBasicsMixin.js.map +1 -1
  592. package/dist/internal/mixins/LabelMixin.js +54 -57
  593. package/dist/internal/mixins/LabelMixin.js.map +1 -1
  594. package/dist/internal/mixins/PopoverTargetMixin.js +43 -47
  595. package/dist/internal/mixins/PopoverTargetMixin.js.map +1 -1
  596. package/dist/internal/mixins/SelectOnlyMixin.js +39 -33
  597. package/dist/internal/mixins/SelectOnlyMixin.js.map +1 -1
  598. package/dist/internal/mixins/SelectableMixin.js +109 -121
  599. package/dist/internal/mixins/SelectableMixin.js.map +1 -1
  600. package/dist/internal/registration/index.js +17 -20
  601. package/dist/internal/registration/index.js.map +1 -1
  602. package/dist/internal/types/InterfaceColor.js +11 -10
  603. package/dist/internal/types/InterfaceColor.js.map +1 -1
  604. package/dist/internal/types/InterfaceHeading.js +12 -11
  605. package/dist/internal/types/InterfaceHeading.js.map +1 -1
  606. package/dist/internal/types/InterfaceLook.js +11 -10
  607. package/dist/internal/types/InterfaceLook.js.map +1 -1
  608. package/dist/internal/utils/Timer.js +56 -61
  609. package/dist/internal/utils/Timer.js.map +1 -1
  610. package/dist/internal/utils/color.js +105 -74
  611. package/dist/internal/utils/color.js.map +1 -1
  612. package/dist/internal/utils/drag.js +27 -36
  613. package/dist/internal/utils/drag.js.map +1 -1
  614. package/dist/internal/utils/findAncestorByAttributeValue.js +22 -19
  615. package/dist/internal/utils/findAncestorByAttributeValue.js.map +1 -1
  616. package/dist/internal/utils/math.js +23 -13
  617. package/dist/internal/utils/math.js.map +1 -1
  618. package/dist/internal/utils/slotHasContent.js +6 -5
  619. package/dist/internal/utils/slotHasContent.js.map +1 -1
  620. package/dist/internal/version.js +10 -16
  621. package/dist/internal/version.js.map +1 -1
  622. package/dist/package.json.js +6 -5
  623. package/dist/package.json.js.map +1 -1
  624. package/dist/styles/uui-font.css +1 -1
  625. package/dist/styles/uui-text.css +1 -1
  626. package/dist/styles/uui-text.css.js +6 -5
  627. package/dist/styles/uui-text.css.js.map +1 -1
  628. package/dist/styles/uui-text.styles.js +7 -6
  629. package/dist/styles/uui-text.styles.js.map +1 -1
  630. package/dist/themes/dark.css +1 -1
  631. package/dist/themes/high-contrast.css +1 -1
  632. package/dist/themes/light.css +1 -1
  633. package/package.json +19 -18
  634. package/vscode.html-custom-data.json +36 -7
  635. package/dist/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOnlyMixin.js","sources":["../../../src/internal/mixins/SelectOnlyMixin.ts"],"sourcesContent":["import { property } from 'lit/decorators.js';\nimport type { UUISelectableMixinInterface } from './SelectableMixin.js';\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class UUISelectOnlyMixinInterface extends UUISelectableMixinInterface {\n selectOnly: boolean;\n}\n\n/**\n * This mixin partly provides the select-only functionality.\n * Each component still need to implement its own code for disabling interaction when select only is active.\n *\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n */\nexport const SelectOnlyMixin = <\n T extends Constructor<UUISelectableMixinInterface>,\n>(\n superClass: T,\n) => {\n class UUISelectOnlyMixinClass extends superClass {\n private _selectOnly = false;\n\n /**\n * Enforce selection interaction and prevent all other interactions, set this when the UI is turned into Selection-Mode.\n * @attr\n * @type boolean\n */\n @property({ type: Boolean, reflect: true, attribute: 'select-only' })\n get selectOnly() {\n return this._selectOnly;\n }\n set selectOnly(newVal) {\n const oldVal = this._selectOnly;\n this._selectOnly = newVal;\n this.requestUpdate('selectOnly', oldVal);\n }\n }\n // prettier-ignore\n return (UUISelectOnlyMixinClass as unknown) as Constructor<UUISelectOnlyMixinInterface> & T;\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAgBO,MAAM,kBAAkB,CAG7B,eACG;AAAA,EACH,MAAM,gCAAgC,WAAW;AAAA,IAAjD,cAAA;AAAA,YAAA,GAAA,SAAA;AACE,WAAQ,cAAc;AAAA,IAAA;AAAA,IAQtB,IAAI,aAAa;AACf,aAAO,KAAK;AAAA,IACd;AAAA,IACA,IAAI,WAAW,QAAQ;AACrB,YAAM,SAAS,KAAK;AACpB,WAAK,cAAc;AACnB,WAAK,cAAc,cAAc,MAAM;AAAA,IACzC;AAAA,EAAA;AAPI,kBAAA;AAAA,IADH,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM,WAAW,eAAe;AAAA,EAAA,GARhE,wBASA,WAAA,YAAA;AAUN,SAAQ;AACV;"}
1
+ {"version":3,"file":"SelectOnlyMixin.js","names":[],"sources":["../../../src/internal/mixins/SelectOnlyMixin.ts"],"sourcesContent":["import { property } from 'lit/decorators.js';\nimport type { UUISelectableMixinInterface } from './SelectableMixin.js';\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class UUISelectOnlyMixinInterface extends UUISelectableMixinInterface {\n selectOnly: boolean;\n}\n\n/**\n * This mixin partly provides the select-only functionality.\n * Each component still need to implement its own code for disabling interaction when select only is active.\n *\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n */\nexport const SelectOnlyMixin = <\n T extends Constructor<UUISelectableMixinInterface>,\n>(\n superClass: T,\n) => {\n class UUISelectOnlyMixinClass extends superClass {\n private _selectOnly = false;\n\n /**\n * Enforce selection interaction and prevent all other interactions, set this when the UI is turned into Selection-Mode.\n * @attr\n * @type boolean\n */\n @property({ type: Boolean, reflect: true, attribute: 'select-only' })\n get selectOnly() {\n return this._selectOnly;\n }\n set selectOnly(newVal) {\n const oldVal = this._selectOnly;\n this._selectOnly = newVal;\n this.requestUpdate('selectOnly', oldVal);\n }\n }\n // prettier-ignore\n return (UUISelectOnlyMixinClass as unknown) as Constructor<UUISelectOnlyMixinInterface> & T;\n};\n"],"mappings":";;;;;;;;;;AAgBA,IAAa,mBAGX,eACG;CACH,MAAM,gCAAgC,WAAW;;;sBACzB;;;;;;;EAOtB,IACI,aAAa;GACf,OAAO,KAAK;EACd;EACA,IAAI,WAAW,QAAQ;GACrB,MAAM,SAAS,KAAK;GACpB,KAAK,cAAc;GACnB,KAAK,cAAc,cAAc,MAAM;EACzC;CACF;aATG,SAAS;EAAE,MAAM;EAAS,SAAS;EAAM,WAAW;CAAc,CAAC,CAAA,GAAA,wBAAA,WAAA,cAAA,IAAA;CAWtE,OAAQ;AACV"}
@@ -1,123 +1,111 @@
1
- import { property } from "lit/decorators.js";
2
1
  import { UUISelectableEvent } from "../events/UUISelectableEvent.js";
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __decorateClass = (decorators, target, key, kind) => {
6
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
- if (decorator = decorators[i])
9
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10
- if (kind && result) __defProp(target, key, result);
11
- return result;
12
- };
13
- const SelectableMixin = (superClass) => {
14
- class UUISelectableMixinClass extends superClass {
15
- constructor(...args) {
16
- super(...args);
17
- this._selectable = false;
18
- this.deselectable = true;
19
- this.selected = false;
20
- this.#selectableTarget = this;
21
- this.#onKeydown = (e) => {
22
- if (e.code !== "Space" && e.code !== "Enter") return;
23
- if (e.composedPath().indexOf(this.#selectableTarget) === 0) {
24
- this.#onClick(e);
25
- }
26
- };
27
- this.#onClick = (e) => {
28
- const isSelectable = this._selectable || this.deselectable && this.selected;
29
- if (isSelectable === false) return;
30
- const composePath = e.composedPath();
31
- if (this.#selectableTarget === this) {
32
- const isActionTag = composePath.some((el) => {
33
- const elementTagName = el.tagName;
34
- return elementTagName === "A" || elementTagName === "BUTTON" || elementTagName === "INPUT" || elementTagName === "TEXTAREA" || elementTagName === "SELECT";
35
- });
36
- if (isActionTag) return;
37
- }
38
- if (composePath.includes(this.#selectableTarget)) {
39
- if (e.type === "keydown") {
40
- e.preventDefault();
41
- }
42
- this.#toggleSelect();
43
- }
44
- };
45
- this.addEventListener("click", this.#onClick);
46
- this.addEventListener("keydown", this.#onKeydown);
47
- }
48
- get selectable() {
49
- return this._selectable;
50
- }
51
- set selectable(newVal) {
52
- const oldVal = this._selectable;
53
- if (oldVal === newVal) return;
54
- this._selectable = newVal;
55
- if (this.#selectableTarget === this) {
56
- this.#selectableTarget.setAttribute(
57
- "tabindex",
58
- `${newVal ? "0" : "-1"}`
59
- );
60
- }
61
- this.requestUpdate("selectable", oldVal);
62
- }
63
- #selectableTarget;
64
- get selectableTarget() {
65
- return this.#selectableTarget;
66
- }
67
- set selectableTarget(target) {
68
- const oldTarget = this.#selectableTarget;
69
- oldTarget.removeAttribute("tabindex");
70
- oldTarget.removeEventListener("click", this.#onClick);
71
- oldTarget.removeEventListener(
72
- "keydown",
73
- this.#onKeydown
74
- );
75
- this.#selectableTarget = target;
76
- if (this.#selectableTarget === this) {
77
- this.#selectableTarget.setAttribute(
78
- "tabindex",
79
- this._selectable ? "0" : "-1"
80
- );
81
- }
82
- target.addEventListener("click", this.#onClick);
83
- target.addEventListener("keydown", this.#onKeydown);
84
- }
85
- #onKeydown;
86
- #onClick;
87
- #toggleSelect() {
88
- if (!this.selectable) return;
89
- if (this.deselectable === false) {
90
- this.#select();
91
- } else if (this.selected) {
92
- this.#deselect();
93
- } else {
94
- this.#select();
95
- }
96
- }
97
- #select() {
98
- if (!this.selectable) return;
99
- const selectEvent = new UUISelectableEvent(UUISelectableEvent.SELECTED);
100
- this.dispatchEvent(selectEvent);
101
- if (selectEvent.defaultPrevented) return;
102
- this.selected = true;
103
- }
104
- #deselect() {
105
- if (!this.deselectable) return;
106
- const selectEvent = new UUISelectableEvent(UUISelectableEvent.DESELECTED);
107
- this.dispatchEvent(selectEvent);
108
- if (selectEvent.defaultPrevented) return;
109
- this.selected = false;
110
- }
111
- }
112
- __decorateClass([
113
- property({ type: Boolean, reflect: true })
114
- ], UUISelectableMixinClass.prototype, "selectable", 1);
115
- __decorateClass([
116
- property({ type: Boolean, reflect: true })
117
- ], UUISelectableMixinClass.prototype, "selected", 2);
118
- return UUISelectableMixinClass;
119
- };
120
- export {
121
- SelectableMixin
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js";
3
+ import "lit";
4
+ import { property } from "lit/decorators.js";
5
+ //#region src/internal/mixins/SelectableMixin.ts
6
+ /**
7
+ * This mixin provides select functionality.
8
+ * Consider if it makes sense to use the SelectOnlyMixin as well.
9
+ *
10
+ * @param {Object} superClass - superclass to be extended.
11
+ * @mixin
12
+ */
13
+ var SelectableMixin = (superClass) => {
14
+ /**
15
+ * @fires {UUISelectableEvent} selected - fires when the media card is selected
16
+ * @fires {UUISelectableEvent} deselected - fires when the media card is deselected
17
+ */
18
+ class UUISelectableMixinClass extends superClass {
19
+ /**
20
+ * Enable the ability to select this element.
21
+ * @attr
22
+ * @type boolean
23
+ */
24
+ get selectable() {
25
+ return this._selectable;
26
+ }
27
+ set selectable(newVal) {
28
+ const oldVal = this._selectable;
29
+ if (oldVal === newVal) return;
30
+ this._selectable = newVal;
31
+ if (this.#selectableTarget === this) this.#selectableTarget.setAttribute("tabindex", `${newVal ? "0" : "-1"}`);
32
+ this.requestUpdate("selectable", oldVal);
33
+ }
34
+ #selectableTarget;
35
+ get selectableTarget() {
36
+ return this.#selectableTarget;
37
+ }
38
+ set selectableTarget(target) {
39
+ const oldTarget = this.#selectableTarget;
40
+ oldTarget.removeAttribute("tabindex");
41
+ oldTarget.removeEventListener("click", this.#onClick);
42
+ oldTarget.removeEventListener("keydown", this.#onKeydown);
43
+ this.#selectableTarget = target;
44
+ if (this.#selectableTarget === this) this.#selectableTarget.setAttribute("tabindex", this._selectable ? "0" : "-1");
45
+ target.addEventListener("click", this.#onClick);
46
+ target.addEventListener("keydown", this.#onKeydown);
47
+ }
48
+ constructor(...args) {
49
+ super(...args);
50
+ this._selectable = false;
51
+ this.deselectable = true;
52
+ this.selected = false;
53
+ this.#selectableTarget = this;
54
+ this.#onKeydown = (e) => {
55
+ if (e.code !== "Space" && e.code !== "Enter") return;
56
+ if (e.composedPath().indexOf(this.#selectableTarget) === 0) this.#onClick(e);
57
+ };
58
+ this.#onClick = (e) => {
59
+ if ((this._selectable || this.deselectable && this.selected) === false) return;
60
+ const composePath = e.composedPath();
61
+ if (this.#selectableTarget === this) {
62
+ if (composePath.some((el) => {
63
+ const elementTagName = el.tagName;
64
+ return elementTagName === "A" || elementTagName === "BUTTON" || elementTagName === "INPUT" || elementTagName === "TEXTAREA" || elementTagName === "SELECT";
65
+ })) return;
66
+ }
67
+ if (composePath.includes(this.#selectableTarget)) {
68
+ if (e.type === "keydown") e.preventDefault();
69
+ this.#toggleSelect();
70
+ }
71
+ };
72
+ this.addEventListener("click", this.#onClick);
73
+ this.addEventListener("keydown", this.#onKeydown);
74
+ }
75
+ #onKeydown;
76
+ #onClick;
77
+ #toggleSelect() {
78
+ if (!this.selectable) return;
79
+ if (this.deselectable === false) this.#select();
80
+ else if (this.selected) this.#deselect();
81
+ else this.#select();
82
+ }
83
+ #select() {
84
+ if (!this.selectable) return;
85
+ const selectEvent = new UUISelectableEvent(UUISelectableEvent.SELECTED);
86
+ this.dispatchEvent(selectEvent);
87
+ if (selectEvent.defaultPrevented) return;
88
+ this.selected = true;
89
+ }
90
+ #deselect() {
91
+ if (!this.deselectable) return;
92
+ const selectEvent = new UUISelectableEvent(UUISelectableEvent.DESELECTED);
93
+ this.dispatchEvent(selectEvent);
94
+ if (selectEvent.defaultPrevented) return;
95
+ this.selected = false;
96
+ }
97
+ }
98
+ __decorate([property({
99
+ type: Boolean,
100
+ reflect: true
101
+ })], UUISelectableMixinClass.prototype, "selectable", null);
102
+ __decorate([property({
103
+ type: Boolean,
104
+ reflect: true
105
+ })], UUISelectableMixinClass.prototype, "selected", void 0);
106
+ return UUISelectableMixinClass;
122
107
  };
123
- //# sourceMappingURL=SelectableMixin.js.map
108
+ //#endregion
109
+ export { SelectableMixin };
110
+
111
+ //# sourceMappingURL=SelectableMixin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectableMixin.js","sources":["../../../src/internal/mixins/SelectableMixin.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { UUISelectableEvent } from '../events/UUISelectableEvent.js';\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class UUISelectableMixinInterface extends LitElement {\n /**\n * Enable the ability to select this element.\n * @attr\n * @prop\n * @type boolean\n */\n selectable: boolean;\n deselectable: boolean;\n\n /**\n * Attribute applied when the element is selected.\n * @attr\n * @prop\n * @type boolean\n */\n selected: boolean;\n selectableTarget: EventTarget;\n}\n\n/**\n * This mixin provides select functionality.\n * Consider if it makes sense to use the SelectOnlyMixin as well.\n *\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n */\nexport const SelectableMixin = <T extends Constructor<LitElement>>(\n superClass: T,\n) => {\n /**\n * @fires {UUISelectableEvent} selected - fires when the media card is selected\n * @fires {UUISelectableEvent} deselected - fires when the media card is deselected\n */\n class UUISelectableMixinClass extends superClass {\n private _selectable = false;\n /**\n * Enable the ability to select this element.\n * @attr\n * @type boolean\n */\n @property({ type: Boolean, reflect: true })\n get selectable() {\n return this._selectable;\n }\n set selectable(newVal) {\n const oldVal = this._selectable;\n if (oldVal === newVal) return;\n this._selectable = newVal;\n\n // Potentially problematic as a component might need focus for another feature when not selectable:\n if (this.#selectableTarget === this) {\n // If the selectable target, then make it self selectable. (A different selectable target should be made focusable by the component itself)\n this.#selectableTarget.setAttribute(\n 'tabindex',\n `${newVal ? '0' : '-1'}`,\n );\n }\n this.requestUpdate('selectable', oldVal);\n }\n\n protected deselectable = true;\n\n /**\n * Attribute applied when the element is selected.\n * @attr\n * @type boolean\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n #selectableTarget: Element = this;\n protected get selectableTarget(): EventTarget {\n return this.#selectableTarget;\n }\n protected set selectableTarget(target: EventTarget) {\n const oldTarget = this.#selectableTarget;\n\n oldTarget.removeAttribute('tabindex');\n oldTarget.removeEventListener('click', this.#onClick);\n oldTarget.removeEventListener(\n 'keydown',\n this.#onKeydown as EventListener,\n );\n\n this.#selectableTarget = target as Element;\n if (this.#selectableTarget === this) {\n // If the selectable target, then make it self selectable. (A different selectable target should be made focusable by the component itself)\n this.#selectableTarget.setAttribute(\n 'tabindex',\n this._selectable ? '0' : '-1',\n );\n }\n target.addEventListener('click', this.#onClick);\n target.addEventListener('keydown', this.#onKeydown as EventListener);\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.addEventListener('click', this.#onClick);\n this.addEventListener('keydown', this.#onKeydown);\n }\n\n readonly #onKeydown = (e: KeyboardEvent) => {\n if (e.code !== 'Space' && e.code !== 'Enter') return;\n if (e.composedPath().indexOf(this.#selectableTarget) === 0) {\n this.#onClick(e);\n }\n };\n\n readonly #onClick = (e: Event) => {\n const isSelectable =\n this._selectable || (this.deselectable && this.selected);\n\n if (isSelectable === false) return;\n\n const composePath = e.composedPath();\n\n if (this.#selectableTarget === this) {\n // the selectableTarget is not specified which means we need to be selective about what we accept events from.\n const isActionTag = composePath.some(el => {\n const elementTagName = (el as HTMLElement).tagName;\n return (\n elementTagName === 'A' ||\n elementTagName === 'BUTTON' ||\n elementTagName === 'INPUT' ||\n elementTagName === 'TEXTAREA' ||\n elementTagName === 'SELECT'\n );\n });\n\n // never select when clicking on a link or button\n if (isActionTag) return;\n }\n\n if (composePath.includes(this.#selectableTarget)) {\n if (e.type === 'keydown') {\n e.preventDefault(); // Do not want the space key to trigger a page scroll.\n }\n this.#toggleSelect();\n }\n };\n\n #toggleSelect() {\n // Only allow for select-interaction if selectable is true. Deselectable is ignored in this case, we do not want a DX where only deselection is a possibility..\n if (!this.selectable) return;\n if (this.deselectable === false) {\n this.#select();\n } else if (this.selected) {\n this.#deselect();\n } else {\n this.#select();\n }\n }\n\n #select() {\n if (!this.selectable) return;\n const selectEvent = new UUISelectableEvent(UUISelectableEvent.SELECTED);\n this.dispatchEvent(selectEvent);\n if (selectEvent.defaultPrevented) return;\n\n this.selected = true;\n }\n\n #deselect() {\n if (!this.deselectable) return;\n const selectEvent = new UUISelectableEvent(UUISelectableEvent.DESELECTED);\n this.dispatchEvent(selectEvent);\n if (selectEvent.defaultPrevented) return;\n\n this.selected = false;\n }\n }\n // prettier-ignore\n return (UUISelectableMixinClass as unknown) as Constructor<UUISelectableMixinInterface> & T;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAkCO,MAAM,kBAAkB,CAC7B,eACG;AAAA,EAKH,MAAM,gCAAgC,WAAW;AAAA,IA+D/C,eAAe,MAAa;AAC1B,YAAM,GAAG,IAAI;AA/Df,WAAQ,cAAc;AA0BtB,WAAU,eAAe;AAQzB,WAAO,WAAW;AAElB,WAAA,oBAA6B;AAgC7B,WAAS,aAAa,CAAC,MAAqB;AAC1C,YAAI,EAAE,SAAS,WAAW,EAAE,SAAS,QAAS;AAC9C,YAAI,EAAE,eAAe,QAAQ,KAAK,iBAAiB,MAAM,GAAG;AAC1D,eAAK,SAAS,CAAC;AAAA,QACjB;AAAA,MACF;AAEA,WAAS,WAAW,CAAC,MAAa;AAChC,cAAM,eACJ,KAAK,eAAgB,KAAK,gBAAgB,KAAK;AAEjD,YAAI,iBAAiB,MAAO;AAE5B,cAAM,cAAc,EAAE,aAAA;AAEtB,YAAI,KAAK,sBAAsB,MAAM;AAEnC,gBAAM,cAAc,YAAY,KAAK,CAAA,OAAM;AACzC,kBAAM,iBAAkB,GAAmB;AAC3C,mBACE,mBAAmB,OACnB,mBAAmB,YACnB,mBAAmB,WACnB,mBAAmB,cACnB,mBAAmB;AAAA,UAEvB,CAAC;AAGD,cAAI,YAAa;AAAA,QACnB;AAEA,YAAI,YAAY,SAAS,KAAK,iBAAiB,GAAG;AAChD,cAAI,EAAE,SAAS,WAAW;AACxB,cAAE,eAAA;AAAA,UACJ;AACA,eAAK,cAAA;AAAA,QACP;AAAA,MACF;AA1CE,WAAK,iBAAiB,SAAS,KAAK,QAAQ;AAC5C,WAAK,iBAAiB,WAAW,KAAK,UAAU;AAAA,IAClD;AAAA,IA3DA,IAAI,aAAa;AACf,aAAO,KAAK;AAAA,IACd;AAAA,IACA,IAAI,WAAW,QAAQ;AACrB,YAAM,SAAS,KAAK;AACpB,UAAI,WAAW,OAAQ;AACvB,WAAK,cAAc;AAGnB,UAAI,KAAK,sBAAsB,MAAM;AAEnC,aAAK,kBAAkB;AAAA,UACrB;AAAA,UACA,GAAG,SAAS,MAAM,IAAI;AAAA,QAAA;AAAA,MAE1B;AACA,WAAK,cAAc,cAAc,MAAM;AAAA,IACzC;AAAA,IAYA;AAAA,IACA,IAAc,mBAAgC;AAC5C,aAAO,KAAK;AAAA,IACd;AAAA,IACA,IAAc,iBAAiB,QAAqB;AAClD,YAAM,YAAY,KAAK;AAEvB,gBAAU,gBAAgB,UAAU;AACpC,gBAAU,oBAAoB,SAAS,KAAK,QAAQ;AACpD,gBAAU;AAAA,QACR;AAAA,QACA,KAAK;AAAA,MAAA;AAGP,WAAK,oBAAoB;AACzB,UAAI,KAAK,sBAAsB,MAAM;AAEnC,aAAK,kBAAkB;AAAA,UACrB;AAAA,UACA,KAAK,cAAc,MAAM;AAAA,QAAA;AAAA,MAE7B;AACA,aAAO,iBAAiB,SAAS,KAAK,QAAQ;AAC9C,aAAO,iBAAiB,WAAW,KAAK,UAA2B;AAAA,IACrE;AAAA,IAQS;AAAA,IAOA;AAAA,IAiCT,gBAAgB;AAEd,UAAI,CAAC,KAAK,WAAY;AACtB,UAAI,KAAK,iBAAiB,OAAO;AAC/B,aAAK,QAAA;AAAA,MACP,WAAW,KAAK,UAAU;AACxB,aAAK,UAAA;AAAA,MACP,OAAO;AACL,aAAK,QAAA;AAAA,MACP;AAAA,IACF;AAAA,IAEA,UAAU;AACR,UAAI,CAAC,KAAK,WAAY;AACtB,YAAM,cAAc,IAAI,mBAAmB,mBAAmB,QAAQ;AACtE,WAAK,cAAc,WAAW;AAC9B,UAAI,YAAY,iBAAkB;AAElC,WAAK,WAAW;AAAA,IAClB;AAAA,IAEA,YAAY;AACV,UAAI,CAAC,KAAK,aAAc;AACxB,YAAM,cAAc,IAAI,mBAAmB,mBAAmB,UAAU;AACxE,WAAK,cAAc,WAAW;AAC9B,UAAI,YAAY,iBAAkB;AAElC,WAAK,WAAW;AAAA,IAClB;AAAA,EAAA;AAjII,kBAAA;AAAA,IADH,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAAA,GAPtC,wBAQA,WAAA,cAAA,CAAA;AA2BG,kBAAA;AAAA,IADN,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAAA,GAlCtC,wBAmCG,WAAA,YAAA,CAAA;AAyGT,SAAQ;AACV;"}
1
+ {"version":3,"file":"SelectableMixin.js","names":["#selectableTarget","#onClick","#onKeydown","#toggleSelect","#select","#deselect"],"sources":["../../../src/internal/mixins/SelectableMixin.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { UUISelectableEvent } from '../events/UUISelectableEvent.js';\n\ntype Constructor<T = {}> = new (...args: any[]) => T;\n\nexport declare class UUISelectableMixinInterface extends LitElement {\n /**\n * Enable the ability to select this element.\n * @attr\n * @prop\n * @type boolean\n */\n selectable: boolean;\n deselectable: boolean;\n\n /**\n * Attribute applied when the element is selected.\n * @attr\n * @prop\n * @type boolean\n */\n selected: boolean;\n selectableTarget: EventTarget;\n}\n\n/**\n * This mixin provides select functionality.\n * Consider if it makes sense to use the SelectOnlyMixin as well.\n *\n * @param {Object} superClass - superclass to be extended.\n * @mixin\n */\nexport const SelectableMixin = <T extends Constructor<LitElement>>(\n superClass: T,\n) => {\n /**\n * @fires {UUISelectableEvent} selected - fires when the media card is selected\n * @fires {UUISelectableEvent} deselected - fires when the media card is deselected\n */\n class UUISelectableMixinClass extends superClass {\n private _selectable = false;\n /**\n * Enable the ability to select this element.\n * @attr\n * @type boolean\n */\n @property({ type: Boolean, reflect: true })\n get selectable() {\n return this._selectable;\n }\n set selectable(newVal) {\n const oldVal = this._selectable;\n if (oldVal === newVal) return;\n this._selectable = newVal;\n\n // Potentially problematic as a component might need focus for another feature when not selectable:\n if (this.#selectableTarget === this) {\n // If the selectable target, then make it self selectable. (A different selectable target should be made focusable by the component itself)\n this.#selectableTarget.setAttribute(\n 'tabindex',\n `${newVal ? '0' : '-1'}`,\n );\n }\n this.requestUpdate('selectable', oldVal);\n }\n\n protected deselectable = true;\n\n /**\n * Attribute applied when the element is selected.\n * @attr\n * @type boolean\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n #selectableTarget: Element = this;\n protected get selectableTarget(): EventTarget {\n return this.#selectableTarget;\n }\n protected set selectableTarget(target: EventTarget) {\n const oldTarget = this.#selectableTarget;\n\n oldTarget.removeAttribute('tabindex');\n oldTarget.removeEventListener('click', this.#onClick);\n oldTarget.removeEventListener(\n 'keydown',\n this.#onKeydown as EventListener,\n );\n\n this.#selectableTarget = target as Element;\n if (this.#selectableTarget === this) {\n // If the selectable target, then make it self selectable. (A different selectable target should be made focusable by the component itself)\n this.#selectableTarget.setAttribute(\n 'tabindex',\n this._selectable ? '0' : '-1',\n );\n }\n target.addEventListener('click', this.#onClick);\n target.addEventListener('keydown', this.#onKeydown as EventListener);\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.addEventListener('click', this.#onClick);\n this.addEventListener('keydown', this.#onKeydown);\n }\n\n readonly #onKeydown = (e: KeyboardEvent) => {\n if (e.code !== 'Space' && e.code !== 'Enter') return;\n if (e.composedPath().indexOf(this.#selectableTarget) === 0) {\n this.#onClick(e);\n }\n };\n\n readonly #onClick = (e: Event) => {\n const isSelectable =\n this._selectable || (this.deselectable && this.selected);\n\n if (isSelectable === false) return;\n\n const composePath = e.composedPath();\n\n if (this.#selectableTarget === this) {\n // the selectableTarget is not specified which means we need to be selective about what we accept events from.\n const isActionTag = composePath.some(el => {\n const elementTagName = (el as HTMLElement).tagName;\n return (\n elementTagName === 'A' ||\n elementTagName === 'BUTTON' ||\n elementTagName === 'INPUT' ||\n elementTagName === 'TEXTAREA' ||\n elementTagName === 'SELECT'\n );\n });\n\n // never select when clicking on a link or button\n if (isActionTag) return;\n }\n\n if (composePath.includes(this.#selectableTarget)) {\n if (e.type === 'keydown') {\n e.preventDefault(); // Do not want the space key to trigger a page scroll.\n }\n this.#toggleSelect();\n }\n };\n\n #toggleSelect() {\n // Only allow for select-interaction if selectable is true. Deselectable is ignored in this case, we do not want a DX where only deselection is a possibility..\n if (!this.selectable) return;\n if (this.deselectable === false) {\n this.#select();\n } else if (this.selected) {\n this.#deselect();\n } else {\n this.#select();\n }\n }\n\n #select() {\n if (!this.selectable) return;\n const selectEvent = new UUISelectableEvent(UUISelectableEvent.SELECTED);\n this.dispatchEvent(selectEvent);\n if (selectEvent.defaultPrevented) return;\n\n this.selected = true;\n }\n\n #deselect() {\n if (!this.deselectable) return;\n const selectEvent = new UUISelectableEvent(UUISelectableEvent.DESELECTED);\n this.dispatchEvent(selectEvent);\n if (selectEvent.defaultPrevented) return;\n\n this.selected = false;\n }\n }\n // prettier-ignore\n return (UUISelectableMixinClass as unknown) as Constructor<UUISelectableMixinInterface> & T;\n};\n"],"mappings":";;;;;;;;;;;;AAkCA,IAAa,mBACX,eACG;;;;;CAKH,MAAM,gCAAgC,WAAW;;;;;;EAO/C,IACI,aAAa;GACf,OAAO,KAAK;EACd;EACA,IAAI,WAAW,QAAQ;GACrB,MAAM,SAAS,KAAK;GACpB,IAAI,WAAW,QAAQ;GACvB,KAAK,cAAc;GAGnB,IAAI,KAAKA,sBAAsB,MAE7B,KAAKA,kBAAkB,aACrB,YACA,GAAG,SAAS,MAAM,MACpB;GAEF,KAAK,cAAc,cAAc,MAAM;EACzC;EAYA;EACA,IAAc,mBAAgC;GAC5C,OAAO,KAAKA;EACd;EACA,IAAc,iBAAiB,QAAqB;GAClD,MAAM,YAAY,KAAKA;GAEvB,UAAU,gBAAgB,UAAU;GACpC,UAAU,oBAAoB,SAAS,KAAKC,QAAQ;GACpD,UAAU,oBACR,WACA,KAAKC,UACP;GAEA,KAAKF,oBAAoB;GACzB,IAAI,KAAKA,sBAAsB,MAE7B,KAAKA,kBAAkB,aACrB,YACA,KAAK,cAAc,MAAM,IAC3B;GAEF,OAAO,iBAAiB,SAAS,KAAKC,QAAQ;GAC9C,OAAO,iBAAiB,WAAW,KAAKC,UAA2B;EACrE;EAEA,YAAY,GAAG,MAAa;GAC1B,MAAM,GAAG,IAAI;sBA/DO;uBA0BG;mBAQP;4BAEW;sBAgCN,MAAqB;IAC1C,IAAI,EAAE,SAAS,WAAW,EAAE,SAAS,SAAS;IAC9C,IAAI,EAAE,aAAa,CAAC,CAAC,QAAQ,KAAKF,iBAAiB,MAAM,GACvD,KAAKC,SAAS,CAAC;GAEnB;oBAEqB,MAAa;IAIhC,KAFE,KAAK,eAAgB,KAAK,gBAAgB,KAAK,cAE5B,OAAO;IAE5B,MAAM,cAAc,EAAE,aAAa;IAEnC,IAAI,KAAKD,sBAAsB;SAET,YAAY,MAAK,OAAM;MACzC,MAAM,iBAAkB,GAAmB;MAC3C,OACE,mBAAmB,OACnB,mBAAmB,YACnB,mBAAmB,WACnB,mBAAmB,cACnB,mBAAmB;KAEvB,CAGI,GAAa;IAAA;IAGnB,IAAI,YAAY,SAAS,KAAKA,iBAAiB,GAAG;KAChD,IAAI,EAAE,SAAS,WACb,EAAE,eAAe;KAEnB,KAAKG,cAAc;IACrB;GACF;GA1CE,KAAK,iBAAiB,SAAS,KAAKF,QAAQ;GAC5C,KAAK,iBAAiB,WAAW,KAAKC,UAAU;EAClD;EAEA;EAOA;EAiCA,gBAAgB;GAEd,IAAI,CAAC,KAAK,YAAY;GACtB,IAAI,KAAK,iBAAiB,OACxB,KAAKE,QAAQ;QACR,IAAI,KAAK,UACd,KAAKC,UAAU;QAEf,KAAKD,QAAQ;EAEjB;EAEA,UAAU;GACR,IAAI,CAAC,KAAK,YAAY;GACtB,MAAM,cAAc,IAAI,mBAAmB,mBAAmB,QAAQ;GACtE,KAAK,cAAc,WAAW;GAC9B,IAAI,YAAY,kBAAkB;GAElC,KAAK,WAAW;EAClB;EAEA,YAAY;GACV,IAAI,CAAC,KAAK,cAAc;GACxB,MAAM,cAAc,IAAI,mBAAmB,mBAAmB,UAAU;GACxE,KAAK,cAAc,WAAW;GAC9B,IAAI,YAAY,kBAAkB;GAElC,KAAK,WAAW;EAClB;CACF;aAnIG,SAAS;EAAE,MAAM;EAAS,SAAS;CAAK,CAAC,CAAA,GAAA,wBAAA,WAAA,cAAA,IAAA;aA2BzC,SAAS;EAAE,MAAM;EAAS,SAAS;CAAK,CAAC,CAAA,GAAA,wBAAA,WAAA,YAAA,KAAA,CAAA;CA0G5C,OAAQ;AACV"}
@@ -1,24 +1,21 @@
1
+ //#region src/internal/registration/index.ts
1
2
  function defineElement(name, constructorOrOptions, options) {
2
- if (typeof constructorOrOptions === "function") {
3
- register(name, constructorOrOptions, options);
4
- return;
5
- }
6
- return (constructor) => {
7
- register(name, constructor, constructorOrOptions);
8
- };
3
+ if (typeof constructorOrOptions === "function") {
4
+ register(name, constructorOrOptions, options);
5
+ return;
6
+ }
7
+ return (constructor) => {
8
+ register(name, constructor, constructorOrOptions);
9
+ };
9
10
  }
10
11
  function register(name, constructor, options) {
11
- if (name.indexOf("-") <= 0) {
12
- console.error(
13
- `${name} is not a valid custom element name. A custom element name should consist of at least two words separated by a hyphen.`
14
- );
15
- return;
16
- }
17
- if (!customElements.get(name)) {
18
- customElements.define(name, constructor, options);
19
- }
12
+ if (name.indexOf("-") <= 0) {
13
+ console.error(`${name} is not a valid custom element name. A custom element name should consist of at least two words separated by a hyphen.`);
14
+ return;
15
+ }
16
+ if (!customElements.get(name)) customElements.define(name, constructor, options);
20
17
  }
21
- export {
22
- defineElement
23
- };
24
- //# sourceMappingURL=index.js.map
18
+ //#endregion
19
+ export { defineElement };
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/internal/registration/index.ts"],"sourcesContent":["/**\n * Defensive definition of a custom element. It only defines the element if it has a valid name and isn't already defined.\n *\n * Supports both decorator and direct call syntax:\n * - Decorator: `@defineElement('uui-button')`\n * - Direct call: `defineElement('uui-button', UUIButtonElement)`\n */\n\n// Overload: decorator usage — returns a class decorator\nexport function defineElement(\n name: string,\n options?: ElementDefinitionOptions,\n): (constructor: CustomElementConstructor) => void;\n\n// Overload: direct call — registers immediately, returns void\nexport function defineElement(\n name: string,\n constructor: CustomElementConstructor,\n options?: ElementDefinitionOptions,\n): void;\n\n// Implementation\nexport function defineElement(\n name: string,\n constructorOrOptions?:\n | CustomElementConstructor\n | ElementDefinitionOptions\n | undefined,\n options?: ElementDefinitionOptions | undefined,\n): void | ((constructor: CustomElementConstructor) => void) {\n if (typeof constructorOrOptions === 'function') {\n register(name, constructorOrOptions, options);\n return;\n }\n return (constructor: CustomElementConstructor) => {\n register(name, constructor, constructorOrOptions);\n };\n}\n\nfunction register(\n name: string,\n constructor: CustomElementConstructor,\n options?: ElementDefinitionOptions,\n) {\n if (name.indexOf('-') <= 0) {\n console.error(\n `${name} is not a valid custom element name. A custom element name should consist of at least two words separated by a hyphen.`,\n );\n return;\n }\n\n if (!customElements.get(name)) {\n customElements.define(name, constructor, options);\n }\n}\n"],"names":[],"mappings":"AAsBO,SAAS,cACd,MACA,sBAIA,SAC0D;AAC1D,MAAI,OAAO,yBAAyB,YAAY;AAC9C,aAAS,MAAM,sBAAsB,OAAO;AAC5C;AAAA,EACF;AACA,SAAO,CAAC,gBAA0C;AAChD,aAAS,MAAM,aAAa,oBAAoB;AAAA,EAClD;AACF;AAEA,SAAS,SACP,MACA,aACA,SACA;AACA,MAAI,KAAK,QAAQ,GAAG,KAAK,GAAG;AAC1B,YAAQ;AAAA,MACN,GAAG,IAAI;AAAA,IAAA;AAET;AAAA,EACF;AAEA,MAAI,CAAC,eAAe,IAAI,IAAI,GAAG;AAC7B,mBAAe,OAAO,MAAM,aAAa,OAAO;AAAA,EAClD;AACF;"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/internal/registration/index.ts"],"sourcesContent":["/**\n * Defensive definition of a custom element. It only defines the element if it has a valid name and isn't already defined.\n *\n * Supports both decorator and direct call syntax:\n * - Decorator: `@defineElement('uui-button')`\n * - Direct call: `defineElement('uui-button', UUIButtonElement)`\n */\n\n// Overload: decorator usage — returns a class decorator\nexport function defineElement(\n name: string,\n options?: ElementDefinitionOptions,\n): (constructor: CustomElementConstructor) => void;\n\n// Overload: direct call — registers immediately, returns void\nexport function defineElement(\n name: string,\n constructor: CustomElementConstructor,\n options?: ElementDefinitionOptions,\n): void;\n\n// Implementation\nexport function defineElement(\n name: string,\n constructorOrOptions?:\n | CustomElementConstructor\n | ElementDefinitionOptions\n | undefined,\n options?: ElementDefinitionOptions | undefined,\n): void | ((constructor: CustomElementConstructor) => void) {\n if (typeof constructorOrOptions === 'function') {\n register(name, constructorOrOptions, options);\n return;\n }\n return (constructor: CustomElementConstructor) => {\n register(name, constructor, constructorOrOptions);\n };\n}\n\nfunction register(\n name: string,\n constructor: CustomElementConstructor,\n options?: ElementDefinitionOptions,\n) {\n if (name.indexOf('-') <= 0) {\n console.error(\n `${name} is not a valid custom element name. A custom element name should consist of at least two words separated by a hyphen.`,\n );\n return;\n }\n\n if (!customElements.get(name)) {\n customElements.define(name, constructor, options);\n }\n}\n"],"mappings":";AAsBA,SAAgB,cACd,MACA,sBAIA,SAC0D;CAC1D,IAAI,OAAO,yBAAyB,YAAY;EAC9C,SAAS,MAAM,sBAAsB,OAAO;EAC5C;CACF;CACA,QAAQ,gBAA0C;EAChD,SAAS,MAAM,aAAa,oBAAoB;CAClD;AACF;AAEA,SAAS,SACP,MACA,aACA,SACA;CACA,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG;EAC1B,QAAQ,MACN,GAAG,KAAK,uHACV;EACA;CACF;CAEA,IAAI,CAAC,eAAe,IAAI,IAAI,GAC1B,eAAe,OAAO,MAAM,aAAa,OAAO;AAEpD"}
@@ -1,11 +1,12 @@
1
- const UUIInterfaceColorValues = [
2
- "default",
3
- "positive",
4
- "warning",
5
- "danger",
6
- "invalid"
1
+ //#region src/internal/types/InterfaceColor.ts
2
+ var UUIInterfaceColorValues = [
3
+ "default",
4
+ "positive",
5
+ "warning",
6
+ "danger",
7
+ "invalid"
7
8
  ];
8
- export {
9
- UUIInterfaceColorValues
10
- };
11
- //# sourceMappingURL=InterfaceColor.js.map
9
+ //#endregion
10
+ export { UUIInterfaceColorValues };
11
+
12
+ //# sourceMappingURL=InterfaceColor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceColor.js","sources":["../../../src/internal/types/InterfaceColor.ts"],"sourcesContent":["export const UUIInterfaceColorValues: Readonly<UUIInterfaceColor[]> = [\n 'default',\n 'positive',\n 'warning',\n 'danger',\n 'invalid',\n] as const;\n\nexport type UUIInterfaceColor =\n | ''\n | 'default'\n | 'positive'\n | 'warning'\n | 'danger'\n | 'invalid';\n"],"names":[],"mappings":"AAAO,MAAM,0BAAyD;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"InterfaceColor.js","names":[],"sources":["../../../src/internal/types/InterfaceColor.ts"],"sourcesContent":["export const UUIInterfaceColorValues: Readonly<UUIInterfaceColor[]> = [\n 'default',\n 'positive',\n 'warning',\n 'danger',\n 'invalid',\n] as const;\n\nexport type UUIInterfaceColor =\n | ''\n | 'default'\n | 'positive'\n | 'warning'\n | 'danger'\n | 'invalid';\n"],"mappings":";AAAA,IAAa,0BAAyD;CACpE;CACA;CACA;CACA;CACA;AACF"}
@@ -1,12 +1,13 @@
1
- const UUIInterfaceHeadingValues = [
2
- "h1",
3
- "h2",
4
- "h3",
5
- "h4",
6
- "h5",
7
- "h6"
1
+ //#region src/internal/types/InterfaceHeading.ts
2
+ var UUIInterfaceHeadingValues = [
3
+ "h1",
4
+ "h2",
5
+ "h3",
6
+ "h4",
7
+ "h5",
8
+ "h6"
8
9
  ];
9
- export {
10
- UUIInterfaceHeadingValues
11
- };
12
- //# sourceMappingURL=InterfaceHeading.js.map
10
+ //#endregion
11
+ export { UUIInterfaceHeadingValues };
12
+
13
+ //# sourceMappingURL=InterfaceHeading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceHeading.js","sources":["../../../src/internal/types/InterfaceHeading.ts"],"sourcesContent":["export const UUIInterfaceHeadingValues: Readonly<UUIInterfaceHeading[]> = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n] as const;\n\nexport type UUIInterfaceHeading = '' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n"],"names":[],"mappings":"AAAO,MAAM,4BAA6D;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"InterfaceHeading.js","names":[],"sources":["../../../src/internal/types/InterfaceHeading.ts"],"sourcesContent":["export const UUIInterfaceHeadingValues: Readonly<UUIInterfaceHeading[]> = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n] as const;\n\nexport type UUIInterfaceHeading = '' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n"],"mappings":";AAAA,IAAa,4BAA6D;CACxE;CACA;CACA;CACA;CACA;CACA;AACF"}
@@ -1,11 +1,12 @@
1
- const UUIInterfaceLookValues = [
2
- "default",
3
- "primary",
4
- "secondary",
5
- "outline",
6
- "placeholder"
1
+ //#region src/internal/types/InterfaceLook.ts
2
+ var UUIInterfaceLookValues = [
3
+ "default",
4
+ "primary",
5
+ "secondary",
6
+ "outline",
7
+ "placeholder"
7
8
  ];
8
- export {
9
- UUIInterfaceLookValues
10
- };
11
- //# sourceMappingURL=InterfaceLook.js.map
9
+ //#endregion
10
+ export { UUIInterfaceLookValues };
11
+
12
+ //# sourceMappingURL=InterfaceLook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceLook.js","sources":["../../../src/internal/types/InterfaceLook.ts"],"sourcesContent":["export const UUIInterfaceLookValues: Readonly<UUIInterfaceLook[]> = [\n 'default',\n 'primary',\n 'secondary',\n 'outline',\n 'placeholder',\n] as const;\n\nexport type UUIInterfaceLook =\n | ''\n | 'default'\n | 'primary'\n | 'secondary'\n | 'outline'\n | 'placeholder';\n"],"names":[],"mappings":"AAAO,MAAM,yBAAuD;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"InterfaceLook.js","names":[],"sources":["../../../src/internal/types/InterfaceLook.ts"],"sourcesContent":["export const UUIInterfaceLookValues: Readonly<UUIInterfaceLook[]> = [\n 'default',\n 'primary',\n 'secondary',\n 'outline',\n 'placeholder',\n] as const;\n\nexport type UUIInterfaceLook =\n | ''\n | 'default'\n | 'primary'\n | 'secondary'\n | 'outline'\n | 'placeholder';\n"],"mappings":";AAAA,IAAa,yBAAuD;CAClE;CACA;CACA;CACA;CACA;AACF"}
@@ -1,62 +1,57 @@
1
- class UUITimer {
2
- constructor(_callback, duration) {
3
- this._callback = _callback;
4
- this._timerId = null;
5
- this._remaining = null;
6
- this._onComplete = () => {
7
- this._timerId = null;
8
- this._remaining = null;
9
- this._callback();
10
- };
11
- this.setDuration(duration);
12
- }
13
- setDuration(duration) {
14
- const oldDuration = this._duration;
15
- this._duration = duration;
16
- if (this._timerId !== null) {
17
- const elapsed = Date.now() - this._startTime;
18
- const oldRemaining = (this._remaining ?? oldDuration) - elapsed;
19
- const ratio = oldDuration > 0 ? oldRemaining / oldDuration : 1;
20
- this._remaining = Math.max(0, ratio * duration);
21
- this.resume();
22
- } else if (this._remaining !== null) {
23
- const ratio = oldDuration > 0 ? this._remaining / oldDuration : 1;
24
- this._remaining = Math.max(0, ratio * duration);
25
- }
26
- }
27
- /** starts the timer */
28
- start() {
29
- if (this._timerId === null) {
30
- this.resume();
31
- }
32
- }
33
- /** restarts the timer by setting remaining time to duration. */
34
- restart() {
35
- this._remaining = this._duration;
36
- this.resume();
37
- }
38
- pause() {
39
- if (this._timerId !== null) {
40
- globalThis.clearTimeout(this._timerId);
41
- this._timerId = null;
42
- if (this._remaining !== null) {
43
- this._remaining -= Date.now() - this._startTime;
44
- }
45
- }
46
- }
47
- resume() {
48
- if (this._timerId !== null) {
49
- globalThis.clearTimeout(this._timerId);
50
- }
51
- this._remaining ??= this._duration;
52
- this._startTime = Date.now();
53
- this._timerId = globalThis.setTimeout(this._onComplete, this._remaining);
54
- }
55
- destroy() {
56
- this.pause();
57
- }
58
- }
59
- export {
60
- UUITimer
1
+ //#region src/internal/utils/Timer.ts
2
+ var UUITimer = class {
3
+ constructor(_callback, duration) {
4
+ this._callback = _callback;
5
+ this._timerId = null;
6
+ this._remaining = null;
7
+ this._onComplete = () => {
8
+ this._timerId = null;
9
+ this._remaining = null;
10
+ this._callback();
11
+ };
12
+ this.setDuration(duration);
13
+ }
14
+ setDuration(duration) {
15
+ const oldDuration = this._duration;
16
+ this._duration = duration;
17
+ if (this._timerId !== null) {
18
+ const elapsed = Date.now() - this._startTime;
19
+ const oldRemaining = (this._remaining ?? oldDuration) - elapsed;
20
+ const ratio = oldDuration > 0 ? oldRemaining / oldDuration : 1;
21
+ this._remaining = Math.max(0, ratio * duration);
22
+ this.resume();
23
+ } else if (this._remaining !== null) {
24
+ const ratio = oldDuration > 0 ? this._remaining / oldDuration : 1;
25
+ this._remaining = Math.max(0, ratio * duration);
26
+ }
27
+ }
28
+ /** starts the timer */
29
+ start() {
30
+ if (this._timerId === null) this.resume();
31
+ }
32
+ /** restarts the timer by setting remaining time to duration. */
33
+ restart() {
34
+ this._remaining = this._duration;
35
+ this.resume();
36
+ }
37
+ pause() {
38
+ if (this._timerId !== null) {
39
+ globalThis.clearTimeout(this._timerId);
40
+ this._timerId = null;
41
+ if (this._remaining !== null) this._remaining -= Date.now() - this._startTime;
42
+ }
43
+ }
44
+ resume() {
45
+ if (this._timerId !== null) globalThis.clearTimeout(this._timerId);
46
+ this._remaining ??= this._duration;
47
+ this._startTime = Date.now();
48
+ this._timerId = globalThis.setTimeout(this._onComplete, this._remaining);
49
+ }
50
+ destroy() {
51
+ this.pause();
52
+ }
61
53
  };
62
- //# sourceMappingURL=Timer.js.map
54
+ //#endregion
55
+ export { UUITimer };
56
+
57
+ //# sourceMappingURL=Timer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.js","sources":["../../../src/internal/utils/Timer.ts"],"sourcesContent":["export class UUITimer {\n private _timerId: number | null = null;\n private _startTime!: number;\n private _duration!: number;\n private _remaining: number | null = null;\n\n constructor(\n private readonly _callback: (...args: unknown[]) => void,\n duration: number,\n ) {\n this.setDuration(duration);\n }\n\n public setDuration(duration: number) {\n const oldDuration = this._duration;\n this._duration = duration;\n\n if (this._timerId !== null) {\n // Adjust remaining proportionally: if 40% elapsed at old duration,\n // keep 60% remaining at new duration\n const elapsed = Date.now() - this._startTime;\n const oldRemaining = (this._remaining ?? oldDuration) - elapsed;\n const ratio = oldDuration > 0 ? oldRemaining / oldDuration : 1;\n this._remaining = Math.max(0, ratio * duration);\n this.resume();\n } else if (this._remaining !== null) {\n // Paused: adjust remaining proportionally\n const ratio = oldDuration > 0 ? this._remaining / oldDuration : 1;\n this._remaining = Math.max(0, ratio * duration);\n }\n }\n\n /** starts the timer */\n public start() {\n if (this._timerId === null) {\n this.resume();\n }\n }\n\n /** restarts the timer by setting remaining time to duration. */\n public restart() {\n this._remaining = this._duration;\n this.resume();\n }\n\n public pause() {\n if (this._timerId !== null) {\n globalThis.clearTimeout(this._timerId);\n this._timerId = null;\n if (this._remaining !== null) {\n this._remaining -= Date.now() - this._startTime;\n }\n }\n }\n\n public resume() {\n if (this._timerId !== null) {\n globalThis.clearTimeout(this._timerId);\n }\n this._remaining ??= this._duration;\n\n this._startTime = Date.now();\n this._timerId = globalThis.setTimeout(this._onComplete, this._remaining);\n }\n\n private readonly _onComplete = () => {\n this._timerId = null;\n this._remaining = null;\n this._callback();\n };\n\n public destroy() {\n this.pause();\n }\n}\n"],"names":[],"mappings":"AAAO,MAAM,SAAS;AAAA,EAMpB,YACmB,WACjB,UACA;AAFiB,SAAA,YAAA;AANnB,SAAQ,WAA0B;AAGlC,SAAQ,aAA4B;AA6DpC,SAAiB,cAAc,MAAM;AACnC,WAAK,WAAW;AAChB,WAAK,aAAa;AAClB,WAAK,UAAA;AAAA,IACP;AA3DE,SAAK,YAAY,QAAQ;AAAA,EAC3B;AAAA,EAEO,YAAY,UAAkB;AACnC,UAAM,cAAc,KAAK;AACzB,SAAK,YAAY;AAEjB,QAAI,KAAK,aAAa,MAAM;AAG1B,YAAM,UAAU,KAAK,IAAA,IAAQ,KAAK;AAClC,YAAM,gBAAgB,KAAK,cAAc,eAAe;AACxD,YAAM,QAAQ,cAAc,IAAI,eAAe,cAAc;AAC7D,WAAK,aAAa,KAAK,IAAI,GAAG,QAAQ,QAAQ;AAC9C,WAAK,OAAA;AAAA,IACP,WAAW,KAAK,eAAe,MAAM;AAEnC,YAAM,QAAQ,cAAc,IAAI,KAAK,aAAa,cAAc;AAChE,WAAK,aAAa,KAAK,IAAI,GAAG,QAAQ,QAAQ;AAAA,IAChD;AAAA,EACF;AAAA;AAAA,EAGO,QAAQ;AACb,QAAI,KAAK,aAAa,MAAM;AAC1B,WAAK,OAAA;AAAA,IACP;AAAA,EACF;AAAA;AAAA,EAGO,UAAU;AACf,SAAK,aAAa,KAAK;AACvB,SAAK,OAAA;AAAA,EACP;AAAA,EAEO,QAAQ;AACb,QAAI,KAAK,aAAa,MAAM;AAC1B,iBAAW,aAAa,KAAK,QAAQ;AACrC,WAAK,WAAW;AAChB,UAAI,KAAK,eAAe,MAAM;AAC5B,aAAK,cAAc,KAAK,IAAA,IAAQ,KAAK;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AAAA,EAEO,SAAS;AACd,QAAI,KAAK,aAAa,MAAM;AAC1B,iBAAW,aAAa,KAAK,QAAQ;AAAA,IACvC;AACA,SAAK,eAAe,KAAK;AAEzB,SAAK,aAAa,KAAK,IAAA;AACvB,SAAK,WAAW,WAAW,WAAW,KAAK,aAAa,KAAK,UAAU;AAAA,EACzE;AAAA,EAQO,UAAU;AACf,SAAK,MAAA;AAAA,EACP;AACF;"}
1
+ {"version":3,"file":"Timer.js","names":[],"sources":["../../../src/internal/utils/Timer.ts"],"sourcesContent":["export class UUITimer {\n private _timerId: number | null = null;\n private _startTime!: number;\n private _duration!: number;\n private _remaining: number | null = null;\n\n constructor(\n private readonly _callback: (...args: unknown[]) => void,\n duration: number,\n ) {\n this.setDuration(duration);\n }\n\n public setDuration(duration: number) {\n const oldDuration = this._duration;\n this._duration = duration;\n\n if (this._timerId !== null) {\n // Adjust remaining proportionally: if 40% elapsed at old duration,\n // keep 60% remaining at new duration\n const elapsed = Date.now() - this._startTime;\n const oldRemaining = (this._remaining ?? oldDuration) - elapsed;\n const ratio = oldDuration > 0 ? oldRemaining / oldDuration : 1;\n this._remaining = Math.max(0, ratio * duration);\n this.resume();\n } else if (this._remaining !== null) {\n // Paused: adjust remaining proportionally\n const ratio = oldDuration > 0 ? this._remaining / oldDuration : 1;\n this._remaining = Math.max(0, ratio * duration);\n }\n }\n\n /** starts the timer */\n public start() {\n if (this._timerId === null) {\n this.resume();\n }\n }\n\n /** restarts the timer by setting remaining time to duration. */\n public restart() {\n this._remaining = this._duration;\n this.resume();\n }\n\n public pause() {\n if (this._timerId !== null) {\n globalThis.clearTimeout(this._timerId);\n this._timerId = null;\n if (this._remaining !== null) {\n this._remaining -= Date.now() - this._startTime;\n }\n }\n }\n\n public resume() {\n if (this._timerId !== null) {\n globalThis.clearTimeout(this._timerId);\n }\n this._remaining ??= this._duration;\n\n this._startTime = Date.now();\n this._timerId = globalThis.setTimeout(this._onComplete, this._remaining);\n }\n\n private readonly _onComplete = () => {\n this._timerId = null;\n this._remaining = null;\n this._callback();\n };\n\n public destroy() {\n this.pause();\n }\n}\n"],"mappings":";AAAA,IAAa,WAAb,MAAsB;CAMpB,YACE,WACA,UACA;EAFiB,KAAA,YAAA;kBANe;oBAGE;2BA6DC;GACnC,KAAK,WAAW;GAChB,KAAK,aAAa;GAClB,KAAK,UAAU;EACjB;EA3DE,KAAK,YAAY,QAAQ;CAC3B;CAEA,YAAmB,UAAkB;EACnC,MAAM,cAAc,KAAK;EACzB,KAAK,YAAY;EAEjB,IAAI,KAAK,aAAa,MAAM;GAG1B,MAAM,UAAU,KAAK,IAAI,IAAI,KAAK;GAClC,MAAM,gBAAgB,KAAK,cAAc,eAAe;GACxD,MAAM,QAAQ,cAAc,IAAI,eAAe,cAAc;GAC7D,KAAK,aAAa,KAAK,IAAI,GAAG,QAAQ,QAAQ;GAC9C,KAAK,OAAO;EACd,OAAO,IAAI,KAAK,eAAe,MAAM;GAEnC,MAAM,QAAQ,cAAc,IAAI,KAAK,aAAa,cAAc;GAChE,KAAK,aAAa,KAAK,IAAI,GAAG,QAAQ,QAAQ;EAChD;CACF;;CAGA,QAAe;EACb,IAAI,KAAK,aAAa,MACpB,KAAK,OAAO;CAEhB;;CAGA,UAAiB;EACf,KAAK,aAAa,KAAK;EACvB,KAAK,OAAO;CACd;CAEA,QAAe;EACb,IAAI,KAAK,aAAa,MAAM;GAC1B,WAAW,aAAa,KAAK,QAAQ;GACrC,KAAK,WAAW;GAChB,IAAI,KAAK,eAAe,MACtB,KAAK,cAAc,KAAK,IAAI,IAAI,KAAK;EAEzC;CACF;CAEA,SAAgB;EACd,IAAI,KAAK,aAAa,MACpB,WAAW,aAAa,KAAK,QAAQ;EAEvC,KAAK,eAAe,KAAK;EAEzB,KAAK,aAAa,KAAK,IAAI;EAC3B,KAAK,WAAW,WAAW,WAAW,KAAK,aAAa,KAAK,UAAU;CACzE;CAQA,UAAiB;EACf,KAAK,MAAM;CACb;AACF"}