@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,73 +1,171 @@
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
- var _childElements, _hiddenElements, _clonedElements, _hiddenElementsMap, _visibilityBreakpoints, _resizeObserver, _childResizeObservers, _breakPointCalculationInProgress, _isConnected, _UUIResponsiveContainerElement_instances, initialize_fn, onResize_fn, onSlotChange_fn, cleanup_fn, calculateBreakPoints_fn, updateCollapsibleItems_fn, hideElement_fn, collapseFromEnd_fn, collapseFromStart_fn, _onItemClicked, onPopoverToggle_fn, buildDropdownItems_fn;
10
- import { LitElement, html, css } from "lit";
11
- import { query, property, queryAssignedElements } from "lit/decorators.js";
12
- import { repeat } from "lit/directives/repeat.js";
1
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js";
13
2
  import "../button/button.js";
14
3
  import "../popover-container/popover-container.js";
15
4
  import "../symbol-more/symbol-more.js";
16
- var __defProp = Object.defineProperty;
17
- var __decorateClass = (decorators, target, key, kind) => {
18
- var result = void 0;
19
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
20
- if (decorator = decorators[i])
21
- result = decorator(target, key, result) || result;
22
- if (result) __defProp(target, key, result);
23
- return result;
24
- };
25
- const _UUIResponsiveContainerElement = class _UUIResponsiveContainerElement extends LitElement {
26
- constructor() {
27
- super(...arguments);
28
- __privateAdd(this, _UUIResponsiveContainerElement_instances);
29
- __privateAdd(this, _childElements);
30
- __privateAdd(this, _hiddenElements);
31
- __privateAdd(this, _clonedElements);
32
- __privateAdd(this, _hiddenElementsMap);
33
- __privateAdd(this, _visibilityBreakpoints);
34
- __privateAdd(this, _resizeObserver);
35
- __privateAdd(this, _childResizeObservers);
36
- __privateAdd(this, _breakPointCalculationInProgress);
37
- __privateAdd(this, _isConnected);
38
- __privateAdd(this, _onItemClicked);
39
- this.collapse = "end";
40
- __privateSet(this, _childElements, []);
41
- __privateSet(this, _hiddenElements, []);
42
- __privateSet(this, _clonedElements, []);
43
- __privateSet(this, _hiddenElementsMap, /* @__PURE__ */ new Map());
44
- __privateSet(this, _visibilityBreakpoints, []);
45
- __privateSet(this, _resizeObserver, new ResizeObserver(__privateMethod(this, _UUIResponsiveContainerElement_instances, onResize_fn).bind(this)));
46
- __privateSet(this, _childResizeObservers, []);
47
- __privateSet(this, _breakPointCalculationInProgress, false);
48
- __privateSet(this, _isConnected, false);
49
- __privateSet(this, _onItemClicked, (e) => {
50
- const clickedElement = e.currentTarget;
51
- const originalElement = __privateGet(this, _hiddenElementsMap).get(clickedElement);
52
- if (originalElement) {
53
- this._popoverContainerElement?.hidePopover();
54
- originalElement.click();
55
- }
56
- });
57
- }
58
- connectedCallback() {
59
- super.connectedCallback();
60
- __privateSet(this, _isConnected, true);
61
- __privateMethod(this, _UUIResponsiveContainerElement_instances, initialize_fn).call(this);
62
- }
63
- disconnectedCallback() {
64
- super.disconnectedCallback();
65
- __privateSet(this, _isConnected, false);
66
- __privateGet(this, _resizeObserver).disconnect();
67
- __privateMethod(this, _UUIResponsiveContainerElement_instances, cleanup_fn).call(this);
68
- }
69
- render() {
70
- const moreButton = html`
5
+ import { LitElement, css, html } from "lit";
6
+ import { property, query, queryAssignedElements } from "lit/decorators.js";
7
+ import { repeat } from "lit/directives/repeat.js";
8
+ //#region src/components/responsive-container/responsive-container.element.ts
9
+ /**
10
+ * A responsive container that collapses overflowing children into a dropdown.
11
+ *
12
+ * @element uui-responsive-container
13
+ * @slot - Default slot for child elements (buttons, etc.)
14
+ * @cssprop --uui-responsive-container-gap - Gap between items (default: 8px)
15
+ */
16
+ var UUIResponsiveContainerElement = class extends LitElement {
17
+ constructor(..._args) {
18
+ super(..._args);
19
+ this.collapse = "end";
20
+ this.#childElements = [];
21
+ this.#hiddenElements = [];
22
+ this.#clonedElements = [];
23
+ this.#hiddenElementsMap = /* @__PURE__ */ new Map();
24
+ this.#visibilityBreakpoints = [];
25
+ this.#resizeObserver = new ResizeObserver(this.#onResize.bind(this));
26
+ this.#childResizeObservers = [];
27
+ this.#breakPointCalculationInProgress = false;
28
+ this.#isConnected = false;
29
+ this.#onItemClicked = (e) => {
30
+ const clickedElement = e.currentTarget;
31
+ const originalElement = this.#hiddenElementsMap.get(clickedElement);
32
+ if (originalElement) {
33
+ this._popoverContainerElement?.hidePopover();
34
+ originalElement.click();
35
+ }
36
+ };
37
+ }
38
+ #childElements;
39
+ #hiddenElements;
40
+ #clonedElements;
41
+ #hiddenElementsMap;
42
+ #visibilityBreakpoints;
43
+ #resizeObserver;
44
+ #childResizeObservers;
45
+ #breakPointCalculationInProgress;
46
+ #isConnected;
47
+ connectedCallback() {
48
+ super.connectedCallback();
49
+ this.#isConnected = true;
50
+ this.#initialize();
51
+ }
52
+ disconnectedCallback() {
53
+ super.disconnectedCallback();
54
+ this.#isConnected = false;
55
+ this.#resizeObserver.disconnect();
56
+ this.#cleanup();
57
+ }
58
+ async #initialize() {
59
+ await this.updateComplete;
60
+ if (!this.#isConnected) return;
61
+ this.#resizeObserver.observe(this);
62
+ requestAnimationFrame(() => {
63
+ if (!this.#isConnected) return;
64
+ this.#onSlotChange();
65
+ });
66
+ }
67
+ #onResize(entries) {
68
+ if (!this.#isConnected) return;
69
+ const newWidth = entries[0].contentBoxSize[0].inlineSize;
70
+ this.#updateCollapsibleItems(newWidth);
71
+ }
72
+ #onSlotChange() {
73
+ if (!this.#isConnected) return;
74
+ this.#cleanup();
75
+ this.#childElements = this._slottedNodes ? [...this._slottedNodes] : [];
76
+ this.#childElements.forEach((el) => {
77
+ const observer = new ResizeObserver(this.#calculateBreakPoints.bind(this));
78
+ observer.observe(el);
79
+ this.#childResizeObservers.push(observer);
80
+ });
81
+ this.#calculateBreakPoints();
82
+ }
83
+ #cleanup() {
84
+ this.#childResizeObservers.forEach((observer) => observer.disconnect());
85
+ this.#childResizeObservers = [];
86
+ this.#visibilityBreakpoints = [];
87
+ this.#clonedElements.forEach((el) => {
88
+ el.removeEventListener("click", this.#onItemClicked);
89
+ });
90
+ this.#clonedElements = [];
91
+ this.#hiddenElements = [];
92
+ this.#hiddenElementsMap.clear();
93
+ }
94
+ async #calculateBreakPoints() {
95
+ if (!this.#isConnected) return;
96
+ if (this.#breakPointCalculationInProgress) return;
97
+ this.#breakPointCalculationInProgress = true;
98
+ await this.updateComplete;
99
+ const gapCSSVar = Number.parseFloat(getComputedStyle(this).getPropertyValue("--uui-responsive-container-gap"));
100
+ const gap = Number.isNaN(gapCSSVar) ? 8 : gapCSSVar;
101
+ let totalWidth = 0;
102
+ for (let i = 0; i < this.#childElements.length; i++) {
103
+ this.#childElements[i].style.display = "";
104
+ totalWidth += this.#childElements[i].offsetWidth;
105
+ this.#visibilityBreakpoints[i] = totalWidth;
106
+ totalWidth += gap;
107
+ }
108
+ const tolerance = 2;
109
+ this._mainElement.style.width = totalWidth - gap + tolerance + "px";
110
+ this.#updateCollapsibleItems(this.offsetWidth);
111
+ this.#breakPointCalculationInProgress = false;
112
+ }
113
+ #updateCollapsibleItems(containerWidth) {
114
+ const availableWidth = containerWidth - (this._moreButtonElement?.offsetWidth || 40);
115
+ this.#hiddenElements = [];
116
+ this.#clonedElements.forEach((el) => el.removeEventListener("click", this.#onItemClicked));
117
+ this.#clonedElements = [];
118
+ this._popoverContainerElement?.hidePopover();
119
+ this.#hiddenElementsMap.clear();
120
+ if (this.collapse === "end") this.#collapseFromEnd(containerWidth, availableWidth);
121
+ else this.#collapseFromStart(containerWidth, availableWidth);
122
+ if (this.#hiddenElements.length === 0) {
123
+ this._moreButtonElement.style.display = "none";
124
+ this._popoverContainerElement?.hidePopover();
125
+ } else this._moreButtonElement.style.display = "";
126
+ this.requestUpdate();
127
+ }
128
+ #hideElement(element) {
129
+ element.style.display = "none";
130
+ this.#hiddenElements.push(element);
131
+ }
132
+ #collapseFromEnd(containerWidth, availableWidth) {
133
+ const len = this.#visibilityBreakpoints.length;
134
+ for (let i = 0; i < len; i++) {
135
+ const breakpoint = this.#visibilityBreakpoints[i];
136
+ const element = this.#childElements[i];
137
+ if (breakpoint <= (i === len - 1 ? containerWidth : availableWidth)) element.style.display = "";
138
+ else this.#hideElement(element);
139
+ }
140
+ }
141
+ #collapseFromStart(containerWidth, availableWidth) {
142
+ const len = this.#visibilityBreakpoints.length;
143
+ const totalWidth = this.#visibilityBreakpoints[len - 1] || 0;
144
+ for (let i = 0; i < len; i++) {
145
+ const element = this.#childElements[i];
146
+ if (totalWidth - (i > 0 ? this.#visibilityBreakpoints[i - 1] : 0) <= ((i === 0 || this.#childElements[i - 1].style.display === "none") && this.#hiddenElements.length === 0 ? containerWidth : availableWidth)) element.style.display = "";
147
+ else this.#hideElement(element);
148
+ }
149
+ }
150
+ #onItemClicked;
151
+ #onPopoverToggle(e) {
152
+ if (e.newState === "open") this.#buildDropdownItems();
153
+ }
154
+ #buildDropdownItems() {
155
+ this.#clonedElements.forEach((el) => el.removeEventListener("click", this.#onItemClicked));
156
+ this.#clonedElements = [];
157
+ this.#hiddenElementsMap.clear();
158
+ for (const original of this.#hiddenElements) {
159
+ const clone = original.cloneNode(true);
160
+ clone.style.display = "";
161
+ clone.addEventListener("click", this.#onItemClicked);
162
+ this.#hiddenElementsMap.set(clone, original);
163
+ this.#clonedElements.push(clone);
164
+ }
165
+ this.requestUpdate();
166
+ }
167
+ render() {
168
+ const moreButton = html`
71
169
  <uui-button
72
170
  popovertarget="popover-container"
73
171
  style="display: none"
@@ -79,176 +177,27 @@ const _UUIResponsiveContainerElement = class _UUIResponsiveContainerElement exte
79
177
  </slot>
80
178
  </uui-button>
81
179
  `;
82
- return html`
180
+ return html`
83
181
  <div id="main">
84
182
  ${this.collapse === "start" ? moreButton : ""}
85
183
  <div id="items-container">
86
- <slot @slotchange=${__privateMethod(this, _UUIResponsiveContainerElement_instances, onSlotChange_fn)}></slot>
184
+ <slot @slotchange=${this.#onSlotChange}></slot>
87
185
  </div>
88
186
  ${this.collapse === "end" ? moreButton : ""}
89
187
  </div>
90
188
  <uui-popover-container
91
189
  id="popover-container"
92
190
  popover
93
- @beforetoggle=${__privateMethod(this, _UUIResponsiveContainerElement_instances, onPopoverToggle_fn)}
191
+ @beforetoggle=${this.#onPopoverToggle}
94
192
  placement=${this.collapse === "start" ? "bottom-start" : "bottom-end"}>
95
193
  <div id="dropdown-container">
96
- ${repeat(__privateGet(this, _clonedElements), (el) => html`${el}`)}
194
+ ${repeat(this.#clonedElements, (el) => html`${el}`)}
97
195
  </div>
98
196
  </uui-popover-container>
99
197
  `;
100
- }
101
- };
102
- _childElements = new WeakMap();
103
- _hiddenElements = new WeakMap();
104
- _clonedElements = new WeakMap();
105
- _hiddenElementsMap = new WeakMap();
106
- _visibilityBreakpoints = new WeakMap();
107
- _resizeObserver = new WeakMap();
108
- _childResizeObservers = new WeakMap();
109
- _breakPointCalculationInProgress = new WeakMap();
110
- _isConnected = new WeakMap();
111
- _UUIResponsiveContainerElement_instances = new WeakSet();
112
- initialize_fn = async function() {
113
- await this.updateComplete;
114
- if (!__privateGet(this, _isConnected)) return;
115
- __privateGet(this, _resizeObserver).observe(this);
116
- requestAnimationFrame(() => {
117
- if (!__privateGet(this, _isConnected)) return;
118
- __privateMethod(this, _UUIResponsiveContainerElement_instances, onSlotChange_fn).call(this);
119
- });
120
- };
121
- // This runs when the container size changes
122
- onResize_fn = function(entries) {
123
- if (!__privateGet(this, _isConnected)) return;
124
- const newWidth = entries[0].contentBoxSize[0].inlineSize;
125
- __privateMethod(this, _UUIResponsiveContainerElement_instances, updateCollapsibleItems_fn).call(this, newWidth);
126
- };
127
- // This runs when children are added/removed
128
- onSlotChange_fn = function() {
129
- if (!__privateGet(this, _isConnected)) return;
130
- __privateMethod(this, _UUIResponsiveContainerElement_instances, cleanup_fn).call(this);
131
- __privateSet(this, _childElements, this._slottedNodes ? [...this._slottedNodes] : []);
132
- __privateGet(this, _childElements).forEach((el) => {
133
- const observer = new ResizeObserver(
134
- __privateMethod(this, _UUIResponsiveContainerElement_instances, calculateBreakPoints_fn).bind(this)
135
- );
136
- observer.observe(el);
137
- __privateGet(this, _childResizeObservers).push(observer);
138
- });
139
- __privateMethod(this, _UUIResponsiveContainerElement_instances, calculateBreakPoints_fn).call(this);
140
- };
141
- cleanup_fn = function() {
142
- __privateGet(this, _childResizeObservers).forEach((observer) => observer.disconnect());
143
- __privateSet(this, _childResizeObservers, []);
144
- __privateSet(this, _visibilityBreakpoints, []);
145
- __privateGet(this, _clonedElements).forEach((el) => {
146
- el.removeEventListener("click", __privateGet(this, _onItemClicked));
147
- });
148
- __privateSet(this, _clonedElements, []);
149
- __privateSet(this, _hiddenElements, []);
150
- __privateGet(this, _hiddenElementsMap).clear();
151
- };
152
- calculateBreakPoints_fn = async function() {
153
- if (!__privateGet(this, _isConnected)) return;
154
- if (__privateGet(this, _breakPointCalculationInProgress)) return;
155
- __privateSet(this, _breakPointCalculationInProgress, true);
156
- await this.updateComplete;
157
- const gapCSSVar = Number.parseFloat(
158
- getComputedStyle(this).getPropertyValue("--uui-responsive-container-gap")
159
- );
160
- const gap = Number.isNaN(gapCSSVar) ? 8 : gapCSSVar;
161
- let totalWidth = 0;
162
- for (let i = 0; i < __privateGet(this, _childElements).length; i++) {
163
- __privateGet(this, _childElements)[i].style.display = "";
164
- totalWidth += __privateGet(this, _childElements)[i].offsetWidth;
165
- __privateGet(this, _visibilityBreakpoints)[i] = totalWidth;
166
- totalWidth += gap;
167
- }
168
- const tolerance = 2;
169
- this._mainElement.style.width = totalWidth - gap + tolerance + "px";
170
- __privateMethod(this, _UUIResponsiveContainerElement_instances, updateCollapsibleItems_fn).call(this, this.offsetWidth);
171
- __privateSet(this, _breakPointCalculationInProgress, false);
172
- };
173
- // The main logic that shows/hides items
174
- updateCollapsibleItems_fn = function(containerWidth) {
175
- const moreButtonWidth = this._moreButtonElement?.offsetWidth || 40;
176
- const availableWidth = containerWidth - moreButtonWidth;
177
- __privateSet(this, _hiddenElements, []);
178
- __privateGet(this, _clonedElements).forEach(
179
- (el) => el.removeEventListener("click", __privateGet(this, _onItemClicked))
180
- );
181
- __privateSet(this, _clonedElements, []);
182
- this._popoverContainerElement?.hidePopover();
183
- __privateGet(this, _hiddenElementsMap).clear();
184
- if (this.collapse === "end") {
185
- __privateMethod(this, _UUIResponsiveContainerElement_instances, collapseFromEnd_fn).call(this, containerWidth, availableWidth);
186
- } else {
187
- __privateMethod(this, _UUIResponsiveContainerElement_instances, collapseFromStart_fn).call(this, containerWidth, availableWidth);
188
- }
189
- if (__privateGet(this, _hiddenElements).length === 0) {
190
- this._moreButtonElement.style.display = "none";
191
- this._popoverContainerElement?.hidePopover();
192
- } else {
193
- this._moreButtonElement.style.display = "";
194
- }
195
- this.requestUpdate();
196
- };
197
- hideElement_fn = function(element) {
198
- element.style.display = "none";
199
- __privateGet(this, _hiddenElements).push(element);
200
- };
201
- collapseFromEnd_fn = function(containerWidth, availableWidth) {
202
- const len = __privateGet(this, _visibilityBreakpoints).length;
203
- for (let i = 0; i < len; i++) {
204
- const breakpoint = __privateGet(this, _visibilityBreakpoints)[i];
205
- const element = __privateGet(this, _childElements)[i];
206
- const widthToCheck = i === len - 1 ? containerWidth : availableWidth;
207
- if (breakpoint <= widthToCheck) {
208
- element.style.display = "";
209
- } else {
210
- __privateMethod(this, _UUIResponsiveContainerElement_instances, hideElement_fn).call(this, element);
211
- }
212
- }
213
- };
214
- collapseFromStart_fn = function(containerWidth, availableWidth) {
215
- const len = __privateGet(this, _visibilityBreakpoints).length;
216
- const totalWidth = __privateGet(this, _visibilityBreakpoints)[len - 1] || 0;
217
- for (let i = 0; i < len; i++) {
218
- const element = __privateGet(this, _childElements)[i];
219
- const widthFromEnd = totalWidth - (i > 0 ? __privateGet(this, _visibilityBreakpoints)[i - 1] : 0);
220
- const isFirstPotentiallyVisible = i === 0 || __privateGet(this, _childElements)[i - 1].style.display === "none";
221
- const widthToCheck = isFirstPotentiallyVisible && __privateGet(this, _hiddenElements).length === 0 ? containerWidth : availableWidth;
222
- if (widthFromEnd <= widthToCheck) {
223
- element.style.display = "";
224
- } else {
225
- __privateMethod(this, _UUIResponsiveContainerElement_instances, hideElement_fn).call(this, element);
226
- }
227
- }
228
- };
229
- _onItemClicked = new WeakMap();
230
- onPopoverToggle_fn = function(e) {
231
- if (e.newState === "open") {
232
- __privateMethod(this, _UUIResponsiveContainerElement_instances, buildDropdownItems_fn).call(this);
233
- }
234
- };
235
- buildDropdownItems_fn = function() {
236
- __privateGet(this, _clonedElements).forEach(
237
- (el) => el.removeEventListener("click", __privateGet(this, _onItemClicked))
238
- );
239
- __privateSet(this, _clonedElements, []);
240
- __privateGet(this, _hiddenElementsMap).clear();
241
- for (const original of __privateGet(this, _hiddenElements)) {
242
- const clone = original.cloneNode(true);
243
- clone.style.display = "";
244
- clone.addEventListener("click", __privateGet(this, _onItemClicked));
245
- __privateGet(this, _hiddenElementsMap).set(clone, original);
246
- __privateGet(this, _clonedElements).push(clone);
247
- }
248
- this.requestUpdate();
249
- };
250
- _UUIResponsiveContainerElement.styles = [
251
- css`
198
+ }
199
+ static {
200
+ this.styles = [css`
252
201
  :host {
253
202
  display: flex;
254
203
  min-width: 0;
@@ -292,25 +241,18 @@ _UUIResponsiveContainerElement.styles = [
292
241
  padding: var(--uui-size-space-2);
293
242
  gap: var(--uui-size-space-1);
294
243
  }
295
- `
296
- ];
297
- let UUIResponsiveContainerElement = _UUIResponsiveContainerElement;
298
- __decorateClass([
299
- query("#more-button")
300
- ], UUIResponsiveContainerElement.prototype, "_moreButtonElement");
301
- __decorateClass([
302
- query("#popover-container")
303
- ], UUIResponsiveContainerElement.prototype, "_popoverContainerElement");
304
- __decorateClass([
305
- query("#main")
306
- ], UUIResponsiveContainerElement.prototype, "_mainElement");
307
- __decorateClass([
308
- property({ type: String, reflect: true })
309
- ], UUIResponsiveContainerElement.prototype, "collapse");
310
- __decorateClass([
311
- queryAssignedElements({ flatten: true })
312
- ], UUIResponsiveContainerElement.prototype, "_slottedNodes");
313
- export {
314
- UUIResponsiveContainerElement
244
+ `];
245
+ }
315
246
  };
316
- //# sourceMappingURL=responsive-container.element.js.map
247
+ __decorate([query("#more-button")], UUIResponsiveContainerElement.prototype, "_moreButtonElement", void 0);
248
+ __decorate([query("#popover-container")], UUIResponsiveContainerElement.prototype, "_popoverContainerElement", void 0);
249
+ __decorate([query("#main")], UUIResponsiveContainerElement.prototype, "_mainElement", void 0);
250
+ __decorate([property({
251
+ type: String,
252
+ reflect: true
253
+ })], UUIResponsiveContainerElement.prototype, "collapse", void 0);
254
+ __decorate([queryAssignedElements({ flatten: true })], UUIResponsiveContainerElement.prototype, "_slottedNodes", void 0);
255
+ //#endregion
256
+ export { UUIResponsiveContainerElement };
257
+
258
+ //# sourceMappingURL=responsive-container.element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responsive-container.element.js","sources":["../../../src/components/responsive-container/responsive-container.element.ts"],"sourcesContent":["import type { UUIButtonElement } from '../button/button.js';\nimport type { UUIPopoverContainerElement } from '../popover-container/popover-container.js';\nimport { css, html, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\n\nimport '../button/button.js';\nimport '../popover-container/popover-container.js';\nimport '../symbol-more/symbol-more.js';\n\n/**\n * A responsive container that collapses overflowing children into a dropdown.\n *\n * @element uui-responsive-container\n * @slot - Default slot for child elements (buttons, etc.)\n * @cssprop --uui-responsive-container-gap - Gap between items (default: 8px)\n */\nexport class UUIResponsiveContainerElement extends LitElement {\n // These help us find elements inside the component\n @query('#more-button')\n private readonly _moreButtonElement!: UUIButtonElement;\n\n @query('#popover-container')\n private readonly _popoverContainerElement!: UUIPopoverContainerElement;\n\n @query('#main')\n private readonly _mainElement!: HTMLElement;\n\n /**\n * Controls which side items collapse from.\n * - \"end\": Items collapse from the right, more button appears on right (default)\n * - \"start\": Items collapse from the left, more button appears on left\n * @attr collapse\n * @default \"end\"\n */\n @property({ type: String, reflect: true })\n collapse: 'start' | 'end' = 'end';\n\n // This gets all elements put inside the slot\n @queryAssignedElements({ flatten: true })\n private readonly _slottedNodes?: HTMLElement[];\n\n // These store the component's internal state\n #childElements: HTMLElement[] = []; // All child elements\n #hiddenElements: HTMLElement[] = []; // Elements in the dropdown\n #clonedElements: HTMLElement[] = []; // Clones of hidden elements for the dropdown\n readonly #hiddenElementsMap: Map<HTMLElement, HTMLElement> = new Map();\n #visibilityBreakpoints: number[] = []; // Width thresholds for each item\n\n // ResizeObserver watches for size changes\n readonly #resizeObserver = new ResizeObserver(this.#onResize.bind(this));\n #childResizeObservers: ResizeObserver[] = [];\n #breakPointCalculationInProgress = false;\n\n #isConnected = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.#isConnected = true;\n this.#initialize();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.#isConnected = false;\n this.#resizeObserver.disconnect();\n this.#cleanup();\n }\n\n async #initialize() {\n await this.updateComplete;\n if (!this.#isConnected) return;\n this.#resizeObserver.observe(this);\n\n requestAnimationFrame(() => {\n if (!this.#isConnected) return;\n this.#onSlotChange();\n });\n }\n\n // This runs when the container size changes\n #onResize(entries: ResizeObserverEntry[]) {\n if (!this.#isConnected) return;\n const newWidth = entries[0].contentBoxSize[0].inlineSize;\n this.#updateCollapsibleItems(newWidth);\n }\n\n // This runs when children are added/removed\n #onSlotChange() {\n if (!this.#isConnected) return;\n\n this.#cleanup();\n this.#childElements = this._slottedNodes ? [...this._slottedNodes] : [];\n\n this.#childElements.forEach(el => {\n const observer = new ResizeObserver(\n this.#calculateBreakPoints.bind(this),\n );\n observer.observe(el);\n this.#childResizeObservers.push(observer);\n });\n\n this.#calculateBreakPoints();\n }\n\n #cleanup() {\n this.#childResizeObservers.forEach(observer => observer.disconnect());\n this.#childResizeObservers = [];\n this.#visibilityBreakpoints = [];\n\n // Clean up hidden elements\n this.#clonedElements.forEach(el => {\n el.removeEventListener('click', this.#onItemClicked);\n });\n this.#clonedElements = [];\n this.#hiddenElements = [];\n this.#hiddenElementsMap.clear();\n }\n\n // Calculate at what widths items should hide\n async #calculateBreakPoints() {\n if (!this.#isConnected) return;\n if (this.#breakPointCalculationInProgress) return;\n\n this.#breakPointCalculationInProgress = true;\n\n await this.updateComplete;\n\n // Get the gap from CSS or use default\n const gapCSSVar = Number.parseFloat(\n getComputedStyle(this).getPropertyValue('--uui-responsive-container-gap'),\n );\n const gap = Number.isNaN(gapCSSVar) ? 8 : gapCSSVar;\n\n let totalWidth = 0;\n\n // Calculate cumulative width for each item\n for (let i = 0; i < this.#childElements.length; i++) {\n this.#childElements[i].style.display = '';\n totalWidth += this.#childElements[i].offsetWidth;\n this.#visibilityBreakpoints[i] = totalWidth;\n totalWidth += gap;\n }\n\n // Set the container width\n const tolerance = 2;\n this._mainElement.style.width = totalWidth - gap + tolerance + 'px';\n\n this.#updateCollapsibleItems(this.offsetWidth);\n this.#breakPointCalculationInProgress = false;\n }\n\n // The main logic that shows/hides items\n #updateCollapsibleItems(containerWidth: number) {\n const moreButtonWidth = this._moreButtonElement?.offsetWidth || 40;\n const availableWidth = containerWidth - moreButtonWidth;\n\n // Clear previous hidden items\n this.#hiddenElements = [];\n this.#clonedElements.forEach(el =>\n el.removeEventListener('click', this.#onItemClicked),\n );\n this.#clonedElements = [];\n this._popoverContainerElement?.hidePopover();\n this.#hiddenElementsMap.clear();\n\n if (this.collapse === 'end') {\n this.#collapseFromEnd(containerWidth, availableWidth);\n } else {\n this.#collapseFromStart(containerWidth, availableWidth);\n }\n\n // Show/hide the \"more\" button\n if (this.#hiddenElements.length === 0) {\n this._moreButtonElement.style.display = 'none';\n this._popoverContainerElement?.hidePopover();\n } else {\n this._moreButtonElement.style.display = '';\n }\n\n this.requestUpdate();\n }\n\n #hideElement(element: HTMLElement) {\n element.style.display = 'none';\n this.#hiddenElements.push(element);\n }\n\n #collapseFromEnd(containerWidth: number, availableWidth: number) {\n const len = this.#visibilityBreakpoints.length;\n\n for (let i = 0; i < len; i++) {\n const breakpoint = this.#visibilityBreakpoints[i];\n const element = this.#childElements[i];\n\n // Last item: use full width (no more button needed if all fit)\n const widthToCheck = i === len - 1 ? containerWidth : availableWidth;\n\n if (breakpoint <= widthToCheck) {\n element.style.display = '';\n } else {\n this.#hideElement(element);\n }\n }\n }\n\n #collapseFromStart(containerWidth: number, availableWidth: number) {\n const len = this.#visibilityBreakpoints.length;\n const totalWidth = this.#visibilityBreakpoints[len - 1] || 0;\n\n for (let i = 0; i < len; i++) {\n const element = this.#childElements[i];\n // Width from this item to the end\n const widthFromEnd =\n totalWidth - (i > 0 ? this.#visibilityBreakpoints[i - 1] : 0);\n\n // First visible item: use full width (no more button needed if all fit)\n const isFirstPotentiallyVisible =\n i === 0 || this.#childElements[i - 1].style.display === 'none';\n const widthToCheck =\n isFirstPotentiallyVisible && this.#hiddenElements.length === 0\n ? containerWidth\n : availableWidth;\n\n if (widthFromEnd <= widthToCheck) {\n element.style.display = '';\n } else {\n this.#hideElement(element);\n }\n }\n }\n\n readonly #onItemClicked = (e: MouseEvent) => {\n const clickedElement = e.currentTarget as HTMLElement;\n\n // Find the original element linked to this clone\n const originalElement = this.#hiddenElementsMap.get(clickedElement);\n\n if (originalElement) {\n // Close the dropdown\n this._popoverContainerElement?.hidePopover();\n\n // Trigger click on the ORIGINAL element so its event handlers fire\n originalElement.click();\n }\n };\n\n #onPopoverToggle(e: ToggleEvent) {\n if (e.newState === 'open') {\n this.#buildDropdownItems();\n }\n }\n\n #buildDropdownItems() {\n // Clear old clones\n this.#clonedElements.forEach(el =>\n el.removeEventListener('click', this.#onItemClicked),\n );\n this.#clonedElements = [];\n this.#hiddenElementsMap.clear();\n\n for (const original of this.#hiddenElements) {\n const clone = original.cloneNode(true) as HTMLElement;\n clone.style.display = '';\n clone.addEventListener('click', this.#onItemClicked);\n this.#hiddenElementsMap.set(clone, original);\n this.#clonedElements.push(clone);\n }\n this.requestUpdate();\n }\n\n render() {\n const moreButton = html`\n <uui-button\n popovertarget=\"popover-container\"\n style=\"display: none\"\n id=\"more-button\"\n label=\"More\"\n compact>\n <slot name=\"trigger-content\">\n <uui-symbol-more></uui-symbol-more>\n </slot>\n </uui-button>\n `;\n\n return html`\n <div id=\"main\">\n ${this.collapse === 'start' ? moreButton : ''}\n <div id=\"items-container\">\n <slot @slotchange=${this.#onSlotChange}></slot>\n </div>\n ${this.collapse === 'end' ? moreButton : ''}\n </div>\n <uui-popover-container\n id=\"popover-container\"\n popover\n @beforetoggle=${this.#onPopoverToggle}\n placement=${this.collapse === 'start' ? 'bottom-start' : 'bottom-end'}>\n <div id=\"dropdown-container\">\n ${repeat(this.#clonedElements, el => html`${el}`)}\n </div>\n </uui-popover-container>\n `;\n }\n\n static override readonly styles = [\n css`\n :host {\n display: flex;\n min-width: 0;\n }\n\n #main {\n display: flex;\n overflow: hidden;\n align-items: center;\n }\n\n #items-container {\n display: flex;\n gap: var(--uui-responsive-container-gap, var(--uui-size-3));\n overflow: hidden;\n align-items: center;\n }\n\n #more-button {\n --uui-button-background-color: transparent;\n --uui-button-background-color-hover: var(--uui-color-surface-alt);\n flex-shrink: 0;\n }\n\n :host([collapse='end']) #more-button,\n :host(:not([collapse])) #more-button {\n margin-left: var(--uui-responsive-container-gap, var(--uui-size-3));\n }\n\n :host([collapse='start']) #more-button {\n margin-right: var(--uui-responsive-container-gap, var(--uui-size-3));\n }\n\n #dropdown-container {\n display: flex;\n flex-direction: column;\n background-color: var(--uui-color-surface);\n border-radius: var(--uui-border-radius);\n box-shadow: var(--uui-shadow-depth-3);\n overflow: hidden;\n padding: var(--uui-size-space-2);\n gap: var(--uui-size-space-1);\n }\n `,\n ];\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responsive-container.element.js","names":["#onResize","#hiddenElementsMap","#resizeObserver","#isConnected","#initialize","#cleanup","#onSlotChange","#updateCollapsibleItems","#childElements","#calculateBreakPoints","#childResizeObservers","#visibilityBreakpoints","#clonedElements","#onItemClicked","#hiddenElements","#breakPointCalculationInProgress","#collapseFromEnd","#collapseFromStart","#hideElement","#buildDropdownItems","#onPopoverToggle"],"sources":["../../../src/components/responsive-container/responsive-container.element.ts"],"sourcesContent":["import type { UUIButtonElement } from '../button/button.js';\nimport type { UUIPopoverContainerElement } from '../popover-container/popover-container.js';\nimport { css, html, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\n\nimport '../button/button.js';\nimport '../popover-container/popover-container.js';\nimport '../symbol-more/symbol-more.js';\n\n/**\n * A responsive container that collapses overflowing children into a dropdown.\n *\n * @element uui-responsive-container\n * @slot - Default slot for child elements (buttons, etc.)\n * @cssprop --uui-responsive-container-gap - Gap between items (default: 8px)\n */\nexport class UUIResponsiveContainerElement extends LitElement {\n // These help us find elements inside the component\n @query('#more-button')\n private readonly _moreButtonElement!: UUIButtonElement;\n\n @query('#popover-container')\n private readonly _popoverContainerElement!: UUIPopoverContainerElement;\n\n @query('#main')\n private readonly _mainElement!: HTMLElement;\n\n /**\n * Controls which side items collapse from.\n * - \"end\": Items collapse from the right, more button appears on right (default)\n * - \"start\": Items collapse from the left, more button appears on left\n * @attr collapse\n * @default \"end\"\n */\n @property({ type: String, reflect: true })\n collapse: 'start' | 'end' = 'end';\n\n // This gets all elements put inside the slot\n @queryAssignedElements({ flatten: true })\n private readonly _slottedNodes?: HTMLElement[];\n\n // These store the component's internal state\n #childElements: HTMLElement[] = []; // All child elements\n #hiddenElements: HTMLElement[] = []; // Elements in the dropdown\n #clonedElements: HTMLElement[] = []; // Clones of hidden elements for the dropdown\n readonly #hiddenElementsMap: Map<HTMLElement, HTMLElement> = new Map();\n #visibilityBreakpoints: number[] = []; // Width thresholds for each item\n\n // ResizeObserver watches for size changes\n readonly #resizeObserver = new ResizeObserver(this.#onResize.bind(this));\n #childResizeObservers: ResizeObserver[] = [];\n #breakPointCalculationInProgress = false;\n\n #isConnected = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.#isConnected = true;\n this.#initialize();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.#isConnected = false;\n this.#resizeObserver.disconnect();\n this.#cleanup();\n }\n\n async #initialize() {\n await this.updateComplete;\n if (!this.#isConnected) return;\n this.#resizeObserver.observe(this);\n\n requestAnimationFrame(() => {\n if (!this.#isConnected) return;\n this.#onSlotChange();\n });\n }\n\n // This runs when the container size changes\n #onResize(entries: ResizeObserverEntry[]) {\n if (!this.#isConnected) return;\n const newWidth = entries[0].contentBoxSize[0].inlineSize;\n this.#updateCollapsibleItems(newWidth);\n }\n\n // This runs when children are added/removed\n #onSlotChange() {\n if (!this.#isConnected) return;\n\n this.#cleanup();\n this.#childElements = this._slottedNodes ? [...this._slottedNodes] : [];\n\n this.#childElements.forEach(el => {\n const observer = new ResizeObserver(\n this.#calculateBreakPoints.bind(this),\n );\n observer.observe(el);\n this.#childResizeObservers.push(observer);\n });\n\n this.#calculateBreakPoints();\n }\n\n #cleanup() {\n this.#childResizeObservers.forEach(observer => observer.disconnect());\n this.#childResizeObservers = [];\n this.#visibilityBreakpoints = [];\n\n // Clean up hidden elements\n this.#clonedElements.forEach(el => {\n el.removeEventListener('click', this.#onItemClicked);\n });\n this.#clonedElements = [];\n this.#hiddenElements = [];\n this.#hiddenElementsMap.clear();\n }\n\n // Calculate at what widths items should hide\n async #calculateBreakPoints() {\n if (!this.#isConnected) return;\n if (this.#breakPointCalculationInProgress) return;\n\n this.#breakPointCalculationInProgress = true;\n\n await this.updateComplete;\n\n // Get the gap from CSS or use default\n const gapCSSVar = Number.parseFloat(\n getComputedStyle(this).getPropertyValue('--uui-responsive-container-gap'),\n );\n const gap = Number.isNaN(gapCSSVar) ? 8 : gapCSSVar;\n\n let totalWidth = 0;\n\n // Calculate cumulative width for each item\n for (let i = 0; i < this.#childElements.length; i++) {\n this.#childElements[i].style.display = '';\n totalWidth += this.#childElements[i].offsetWidth;\n this.#visibilityBreakpoints[i] = totalWidth;\n totalWidth += gap;\n }\n\n // Set the container width\n const tolerance = 2;\n this._mainElement.style.width = totalWidth - gap + tolerance + 'px';\n\n this.#updateCollapsibleItems(this.offsetWidth);\n this.#breakPointCalculationInProgress = false;\n }\n\n // The main logic that shows/hides items\n #updateCollapsibleItems(containerWidth: number) {\n const moreButtonWidth = this._moreButtonElement?.offsetWidth || 40;\n const availableWidth = containerWidth - moreButtonWidth;\n\n // Clear previous hidden items\n this.#hiddenElements = [];\n this.#clonedElements.forEach(el =>\n el.removeEventListener('click', this.#onItemClicked),\n );\n this.#clonedElements = [];\n this._popoverContainerElement?.hidePopover();\n this.#hiddenElementsMap.clear();\n\n if (this.collapse === 'end') {\n this.#collapseFromEnd(containerWidth, availableWidth);\n } else {\n this.#collapseFromStart(containerWidth, availableWidth);\n }\n\n // Show/hide the \"more\" button\n if (this.#hiddenElements.length === 0) {\n this._moreButtonElement.style.display = 'none';\n this._popoverContainerElement?.hidePopover();\n } else {\n this._moreButtonElement.style.display = '';\n }\n\n this.requestUpdate();\n }\n\n #hideElement(element: HTMLElement) {\n element.style.display = 'none';\n this.#hiddenElements.push(element);\n }\n\n #collapseFromEnd(containerWidth: number, availableWidth: number) {\n const len = this.#visibilityBreakpoints.length;\n\n for (let i = 0; i < len; i++) {\n const breakpoint = this.#visibilityBreakpoints[i];\n const element = this.#childElements[i];\n\n // Last item: use full width (no more button needed if all fit)\n const widthToCheck = i === len - 1 ? containerWidth : availableWidth;\n\n if (breakpoint <= widthToCheck) {\n element.style.display = '';\n } else {\n this.#hideElement(element);\n }\n }\n }\n\n #collapseFromStart(containerWidth: number, availableWidth: number) {\n const len = this.#visibilityBreakpoints.length;\n const totalWidth = this.#visibilityBreakpoints[len - 1] || 0;\n\n for (let i = 0; i < len; i++) {\n const element = this.#childElements[i];\n // Width from this item to the end\n const widthFromEnd =\n totalWidth - (i > 0 ? this.#visibilityBreakpoints[i - 1] : 0);\n\n // First visible item: use full width (no more button needed if all fit)\n const isFirstPotentiallyVisible =\n i === 0 || this.#childElements[i - 1].style.display === 'none';\n const widthToCheck =\n isFirstPotentiallyVisible && this.#hiddenElements.length === 0\n ? containerWidth\n : availableWidth;\n\n if (widthFromEnd <= widthToCheck) {\n element.style.display = '';\n } else {\n this.#hideElement(element);\n }\n }\n }\n\n readonly #onItemClicked = (e: MouseEvent) => {\n const clickedElement = e.currentTarget as HTMLElement;\n\n // Find the original element linked to this clone\n const originalElement = this.#hiddenElementsMap.get(clickedElement);\n\n if (originalElement) {\n // Close the dropdown\n this._popoverContainerElement?.hidePopover();\n\n // Trigger click on the ORIGINAL element so its event handlers fire\n originalElement.click();\n }\n };\n\n #onPopoverToggle(e: ToggleEvent) {\n if (e.newState === 'open') {\n this.#buildDropdownItems();\n }\n }\n\n #buildDropdownItems() {\n // Clear old clones\n this.#clonedElements.forEach(el =>\n el.removeEventListener('click', this.#onItemClicked),\n );\n this.#clonedElements = [];\n this.#hiddenElementsMap.clear();\n\n for (const original of this.#hiddenElements) {\n const clone = original.cloneNode(true) as HTMLElement;\n clone.style.display = '';\n clone.addEventListener('click', this.#onItemClicked);\n this.#hiddenElementsMap.set(clone, original);\n this.#clonedElements.push(clone);\n }\n this.requestUpdate();\n }\n\n render() {\n const moreButton = html`\n <uui-button\n popovertarget=\"popover-container\"\n style=\"display: none\"\n id=\"more-button\"\n label=\"More\"\n compact>\n <slot name=\"trigger-content\">\n <uui-symbol-more></uui-symbol-more>\n </slot>\n </uui-button>\n `;\n\n return html`\n <div id=\"main\">\n ${this.collapse === 'start' ? moreButton : ''}\n <div id=\"items-container\">\n <slot @slotchange=${this.#onSlotChange}></slot>\n </div>\n ${this.collapse === 'end' ? moreButton : ''}\n </div>\n <uui-popover-container\n id=\"popover-container\"\n popover\n @beforetoggle=${this.#onPopoverToggle}\n placement=${this.collapse === 'start' ? 'bottom-start' : 'bottom-end'}>\n <div id=\"dropdown-container\">\n ${repeat(this.#clonedElements, el => html`${el}`)}\n </div>\n </uui-popover-container>\n `;\n }\n\n static override readonly styles = [\n css`\n :host {\n display: flex;\n min-width: 0;\n }\n\n #main {\n display: flex;\n overflow: hidden;\n align-items: center;\n }\n\n #items-container {\n display: flex;\n gap: var(--uui-responsive-container-gap, var(--uui-size-3));\n overflow: hidden;\n align-items: center;\n }\n\n #more-button {\n --uui-button-background-color: transparent;\n --uui-button-background-color-hover: var(--uui-color-surface-alt);\n flex-shrink: 0;\n }\n\n :host([collapse='end']) #more-button,\n :host(:not([collapse])) #more-button {\n margin-left: var(--uui-responsive-container-gap, var(--uui-size-3));\n }\n\n :host([collapse='start']) #more-button {\n margin-right: var(--uui-responsive-container-gap, var(--uui-size-3));\n }\n\n #dropdown-container {\n display: flex;\n flex-direction: column;\n background-color: var(--uui-color-surface);\n border-radius: var(--uui-border-radius);\n box-shadow: var(--uui-shadow-depth-3);\n overflow: hidden;\n padding: var(--uui-size-space-2);\n gap: var(--uui-size-space-1);\n }\n `,\n ];\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { defineElement } from "../../internal/registration/index.js";
2
2
  import { UUIResponsiveContainerElement } from "./responsive-container.element.js";
3
+ //#region src/components/responsive-container/responsive-container.ts
3
4
  defineElement("uui-responsive-container", UUIResponsiveContainerElement);
4
- export {
5
- UUIResponsiveContainerElement,
6
- UUIResponsiveContainerElement as default
7
- };
8
- //# sourceMappingURL=responsive-container.js.map
5
+ //#endregion
6
+ export { UUIResponsiveContainerElement };
7
+
8
+ //# sourceMappingURL=responsive-container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responsive-container.js","sources":["../../../src/components/responsive-container/responsive-container.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIResponsiveContainerElement } from './responsive-container.element.js';\n\ndefineElement('uui-responsive-container', UUIResponsiveContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-responsive-container': UUIResponsiveContainerElement;\n }\n}\n\nexport * from './responsive-container.element.js';\nexport { UUIResponsiveContainerElement as default } from './responsive-container.element.js';\n"],"names":[],"mappings":";;AAGA,cAAc,4BAA4B,6BAA6B;"}
1
+ {"version":3,"file":"responsive-container.js","names":[],"sources":["../../../src/components/responsive-container/responsive-container.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIResponsiveContainerElement } from './responsive-container.element.js';\n\ndefineElement('uui-responsive-container', UUIResponsiveContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-responsive-container': UUIResponsiveContainerElement;\n }\n}\n\nexport * from './responsive-container.element.js';\n"],"mappings":";;;AAGA,cAAc,4BAA4B,6BAA6B"}
@@ -5,4 +5,3 @@ declare global {
5
5
  }
6
6
  }
7
7
  export * from './scroll-container.element.js';
8
- export { UUIScrollContainerElement as default } from './scroll-container.element.js';
@@ -1,31 +1,28 @@
1
- import { LitElement, html, css } from "lit";
1
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js";
2
+ import { LitElement, css, html } from "lit";
2
3
  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 _UUIScrollContainerElement = class _UUIScrollContainerElement extends LitElement {
13
- constructor() {
14
- super(...arguments);
15
- this.enforceScroll = false;
16
- }
17
- connectedCallback() {
18
- super.connectedCallback();
19
- if (!this.hasAttribute("tabindex")) {
20
- this.setAttribute("tabindex", "0");
21
- }
22
- }
23
- render() {
24
- return html`<slot></slot>`;
25
- }
26
- };
27
- _UUIScrollContainerElement.styles = [
28
- css`
4
+ //#region src/components/scroll-container/scroll-container.element.ts
5
+ /**
6
+ * @element uui-scroll-container
7
+ * @slot - for content
8
+ * @attribute enforce-scroll - forces the scrollbar to appear
9
+ * @description - Component for displaying a larger amount of .
10
+ *
11
+ */
12
+ var UUIScrollContainerElement = class extends LitElement {
13
+ constructor(..._args) {
14
+ super(..._args);
15
+ this.enforceScroll = false;
16
+ }
17
+ connectedCallback() {
18
+ super.connectedCallback();
19
+ if (!this.hasAttribute("tabindex")) this.setAttribute("tabindex", "0");
20
+ }
21
+ render() {
22
+ return html`<slot></slot>`;
23
+ }
24
+ static {
25
+ this.styles = [css`
29
26
  :host {
30
27
  display: block;
31
28
  overflow-y: auto;
@@ -67,13 +64,15 @@ _UUIScrollContainerElement.styles = [
67
64
  :host(:focus-within)::-webkit-scrollbar-thumb {
68
65
  background-color: var(--uui-color-disabled-standalone);
69
66
  }
70
- `
71
- ];
72
- let UUIScrollContainerElement = _UUIScrollContainerElement;
73
- __decorateClass([
74
- property({ type: Boolean, reflect: true, attribute: "enforce-scroll" })
75
- ], UUIScrollContainerElement.prototype, "enforceScroll");
76
- export {
77
- UUIScrollContainerElement
67
+ `];
68
+ }
78
69
  };
79
- //# sourceMappingURL=scroll-container.element.js.map
70
+ __decorate([property({
71
+ type: Boolean,
72
+ reflect: true,
73
+ attribute: "enforce-scroll"
74
+ })], UUIScrollContainerElement.prototype, "enforceScroll", void 0);
75
+ //#endregion
76
+ export { UUIScrollContainerElement };
77
+
78
+ //# sourceMappingURL=scroll-container.element.js.map