@dpa-id-components/dpa-shared-components 22.0.0-next.1 → 22.0.0-next.11

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 (299) hide show
  1. package/dist/{activities-BxyZQp7R.js → activities-CNONG76g.js} +2 -2
  2. package/dist/{ai-CvQQ6hUw.js → ai-BORdA1tP.js} +2 -2
  3. package/dist/{alert-BeP6nqRf.js → alert-CEh7TpHk.js} +2 -2
  4. package/dist/{alert-filled-COSmQYAa.js → alert-filled-GUQ1sv5T.js} +2 -2
  5. package/dist/{alert-CdAp0ksh.js → alert-k4dRvZkA.js} +2 -2
  6. package/dist/{alert-octagon-Cd-_T4ON.js → alert-octagon-D6ymVrlL.js} +2 -2
  7. package/dist/{apps-CtY6nO4d.js → apps-31DLZEqJ.js} +2 -2
  8. package/dist/{archive-DmV6cQ50.js → archive-DxH0AmUn.js} +2 -2
  9. package/dist/{arrow-down-Cfib5c-0.js → arrow-down-B9xmpEKh.js} +2 -2
  10. package/dist/{arrow-left-CFSY8V--.js → arrow-left-w89ZP810.js} +2 -2
  11. package/dist/{arrow-nav-left-BRYPr4oj.js → arrow-nav-left-CsT11yHm.js} +2 -2
  12. package/dist/{arrow-nav-right-PqR7W08e.js → arrow-nav-right-CauLQRaf.js} +2 -2
  13. package/dist/{arrow-right-ByFSLzJb.js → arrow-right-Dj7Me-mB.js} +2 -2
  14. package/dist/{arrow-up-DfhQKYKi.js → arrow-up-C7yQWUg5.js} +2 -2
  15. package/dist/{arrowhead-left-BxBCmhZy.js → arrowhead-left-D3prb6lT.js} +2 -2
  16. package/dist/{arrowhead-right-D6Hk6b6x.js → arrowhead-right-DYkeDm5p.js} +2 -2
  17. package/dist/{arrowhead-top-wkcSxZmc.js → arrowhead-top-D6Yiw4OG.js} +2 -2
  18. package/dist/assets/icons/lock-filled.vue.d.ts +3 -0
  19. package/dist/assets/icons/play-filled.vue.d.ts +3 -0
  20. package/dist/{atmo-CqanVC-e.js → atmo-BYdaOrhT.js} +2 -2
  21. package/dist/{audio-DS8plcCU.js → audio-BLhGEnZc.js} +2 -2
  22. package/dist/{audio-Cgg6MUeM.js → audio-CaUo0DpR.js} +2 -2
  23. package/dist/{bag-B28jMR7E.js → bag-DfUnEdIG.js} +2 -2
  24. package/dist/{bell-k_sZgnpL.js → bell-BUoHDgUa.js} +2 -2
  25. package/dist/{bell-filled-7gfK8601.js → bell-filled-9k1Rm3vh.js} +2 -2
  26. package/dist/{book-CqUJ_JRz.js → book-DJ-BeeEm.js} +2 -2
  27. package/dist/{bookmark-D65iW--h.js → bookmark-C6STJXUN.js} +2 -2
  28. package/dist/{bookmark-filled-5lCW1BfF.js → bookmark-filled-CxwMfIfF.js} +2 -2
  29. package/dist/{box-BCDNtaq7.js → box-DFDPFTQ7.js} +2 -2
  30. package/dist/{bulb-12wSYpgA.js → bulb-qwe4TWu7.js} +2 -2
  31. package/dist/{call-CW04DyHi.js → call-CfOzRaYz.js} +2 -2
  32. package/dist/{camera-CbeyxVU5.js → camera-BCW_KVfC.js} +2 -2
  33. package/dist/{check-BpPjjXqx.js → check-CiZxunah.js} +2 -2
  34. package/dist/{checklist-CFCfO7IN.js → checklist-CKV_EHso.js} +2 -2
  35. package/dist/{checkmark-DhUksPvT.js → checkmark-BE0OoZGa.js} +2 -2
  36. package/dist/{checkmark-double-BNGXAUiT.js → checkmark-double-BJAvABOC.js} +2 -2
  37. package/dist/{chevron-down-BjZ6BFFp.js → chevron-down-B5PIbEio.js} +2 -2
  38. package/dist/{chevron-left-Z-D_OY2t.js → chevron-left-BPryaWHJ.js} +2 -2
  39. package/dist/{chevron-right-D1GfZQB6.js → chevron-right-CB2iqaCO.js} +2 -2
  40. package/dist/{chevron-up-DWZ1F8w0.js → chevron-up-NvAEC--2.js} +2 -2
  41. package/dist/{clipboard-CNCIToKK.js → clipboard-BsskWPLx.js} +2 -2
  42. package/dist/{clock-CqWSNhFX.js → clock-D3iR841r.js} +2 -2
  43. package/dist/{close-oHIGT_JQ.js → close-BwgoeQAp.js} +2 -2
  44. package/dist/{cloud-save-CWTQ5IHS.js → cloud-save-C1k851Z_.js} +2 -2
  45. package/dist/{code-BD5nOHqK.js → code-CbwDeiVM.js} +2 -2
  46. package/dist/{collapse-D6QeCZC7.js → collapse-BIUDbTyr.js} +2 -2
  47. package/dist/{color-palette-BpONORjj.js → color-palette-DUY9An-f.js} +2 -2
  48. package/dist/{comment-D5RZxZWG.js → comment-DUUDjk_v.js} +2 -2
  49. package/dist/{comment-filled-Cl_qZ6Fz.js → comment-filled-rvm3HWly.js} +2 -2
  50. package/dist/components/UiBadge/UiBadge.vue.d.ts +1 -1
  51. package/dist/components/UiButton/UiButton.vue.d.ts +1 -1
  52. package/dist/components/UiCheckbox/UiCheckbox.vue.d.ts +35 -32
  53. package/dist/components/UiDialog/UiDialog.vue.d.ts +1 -0
  54. package/dist/components/UiIcon/icons.d.ts +2 -0
  55. package/dist/components/UiInput/UiInput.vue.d.ts +35 -32
  56. package/dist/components/UiListItem/UiListItem.vue.d.ts +2 -3
  57. package/dist/components/UiMenu/UiMenu.vue.d.ts +1 -3
  58. package/dist/components/UiPopover/UiPopover.vue.d.ts +5 -1
  59. package/dist/components/UiToggleButton/UiToggleButton.vue.d.ts +1 -1
  60. package/dist/{copy-BDnlScSS.js → copy-DIcAlkg5.js} +2 -2
  61. package/dist/{copy-link-BSfa58Tb.js → copy-link-Dy9otjUI.js} +2 -2
  62. package/dist/{delete-dDyi0gau.js → delete-BI38E8vg.js} +2 -2
  63. package/dist/{download-B-ZTsIBv.js → download-COkMFqqt.js} +2 -2
  64. package/dist/{dpa-id-DRnjTcHI.js → dpa-id-lBIeVHgX.js} +2 -2
  65. package/dist/dpa-shared-components.d.ts +1 -1
  66. package/dist/dpa-shared-components.js +4339 -4120
  67. package/dist/{edit-BbFkVyRd.js → edit-DFZucLKb.js} +2 -2
  68. package/dist/{edit-add-CAPOsjts.js → edit-add-Cx7x5gfl.js} +2 -2
  69. package/dist/{eil-CzEP-9Lo.js → eil-BjfC8db7.js} +2 -2
  70. package/dist/{emoji-BjLqvypC.js → emoji-CZAa65rh.js} +2 -2
  71. package/dist/{emoji-add-BB4fB4th.js → emoji-add-Bdw-xZuW.js} +2 -2
  72. package/dist/{envelope-DftzB5Ol.js → envelope-BL-sHuqE.js} +2 -2
  73. package/dist/eslint.base.config.js +1 -4
  74. package/dist/{event-FR1JMgj6.js → event-C6fYIB3A.js} +2 -2
  75. package/dist/{expand-DaVQ0gpz.js → expand-CbaTiURl.js} +2 -2
  76. package/dist/{external-link-2Es0qWwd.js → external-link-DKF31dpS.js} +2 -2
  77. package/dist/{file-AHJ00f5M.js → file-DWQzWW7U.js} +2 -2
  78. package/dist/{file-pdf-CJDdjKS0.js → file-pdf-C4WTAvL4.js} +2 -2
  79. package/dist/{filter-CXjBFUUg.js → filter-kGJtnOhb.js} +2 -2
  80. package/dist/{flag-CbX4PUMS.js → flag-L7yd4mwV.js} +2 -2
  81. package/dist/{flag-filled-VmJW-U0p.js → flag-filled-CTDa2efs.js} +2 -2
  82. package/dist/{flags-Buo1j-9g.js → flags-Dl7zJKmO.js} +2 -2
  83. package/dist/{flash-Dlr5gL01.js → flash-DZhODZa2.js} +2 -2
  84. package/dist/{folder-DQwCjGZC.js → folder-9Uwlobw5.js} +2 -2
  85. package/dist/{folder-add-zPr2Gmtj.js → folder-add-BTNpiyeV.js} +2 -2
  86. package/dist/{folder-filled-D6pmcH0e.js → folder-filled-VCsVbqgw.js} +2 -2
  87. package/dist/{gallery-DPl8qZQu.js → gallery-CaJoU7iC.js} +2 -2
  88. package/dist/{gallery-CfUbckcB.js → gallery-D-A6Lk4l.js} +2 -2
  89. package/dist/{graphic-BbhCuiiE.js → graphic-BHfsGi2Y.js} +2 -2
  90. package/dist/{graphic-nXH5ifxc.js → graphic-BtBeBP53.js} +2 -2
  91. package/dist/{graphics-Dp8pQzs-.js → graphics-BQsurkrS.js} +2 -2
  92. package/dist/{grid-1-DZUEMbtb.js → grid-1-CYbZv-UT.js} +2 -2
  93. package/dist/{grid-2-BQ-9yylY.js → grid-2-BTFSXvzD.js} +2 -2
  94. package/dist/{grid-3-BGhZrrCJ.js → grid-3-BjlnBMzz.js} +2 -2
  95. package/dist/{grid-4-DY9N435A.js → grid-4-BQUX0ES8.js} +2 -2
  96. package/dist/{grid-6-B0BR3wbB.js → grid-6-CBmGEiqx.js} +2 -2
  97. package/dist/{grid-9-BWhM7qat.js → grid-9-B4NrxHyA.js} +2 -2
  98. package/dist/{grid-masonry-9-DiiX1pQo.js → grid-masonry-9-5-pMpPJP.js} +2 -2
  99. package/dist/{grid-masonry-1e9tYkSK.js → grid-masonry-CQKadmp9.js} +2 -2
  100. package/dist/{help-CLfj4LQM.js → help-DRp9OUcp.js} +2 -2
  101. package/dist/{home-D6htLjOF.js → home-BXPuwKXk.js} +2 -2
  102. package/dist/{image-DnYnaoeu.js → image-BuaeqPub.js} +2 -2
  103. package/dist/{image-focus-point-BJ7HhehR.js → image-focus-point-TJFo_N1n.js} +2 -2
  104. package/dist/{impact-high-DuECIU0d.js → impact-high-DVgcn-Ae.js} +2 -2
  105. package/dist/{impact-low-DMtzvmWi.js → impact-low-CsvuPmk_.js} +2 -2
  106. package/dist/{impact-medium-B5-WfnV2.js → impact-medium-GY_OHSc1.js} +2 -2
  107. package/dist/{impact-very-high-C1K1nCE9.js → impact-very-high-B3en_oYR.js} +2 -2
  108. package/dist/{impact-very-low-CXbiBK6E.js → impact-very-low-Bb-zEAGB.js} +2 -2
  109. package/dist/{info-Ca-64c_9.js → info-CaNyekC4.js} +2 -2
  110. package/dist/{info-filled-PYbvwGmZ.js → info-filled-BMA19BzN.js} +2 -2
  111. package/dist/{label-D8X5FrVe.js → label-Bw1zj9W1.js} +2 -2
  112. package/dist/{label-filled-DjSc-Fk4.js → label-filled-DrguwEbm.js} +2 -2
  113. package/dist/{language-OE6ZfER_.js → language-rz5Z2ZmC.js} +2 -2
  114. package/dist/{latest-D0dlub5f.js → latest-ChE2cmSz.js} +2 -2
  115. package/dist/{lightbulb-DKJrsADi.js → lightbulb-DNR4PX3F.js} +2 -2
  116. package/dist/{list-BviTrZEl.js → list-Cz72rNRB.js} +2 -2
  117. package/dist/{list-search-Ck6anukf.js → list-search-BFpET5qV.js} +2 -2
  118. package/dist/{lock-C5vUwbkA.js → lock-DJTDJhgw.js} +2 -2
  119. package/dist/lock-filled-DRjvJBj3.js +18 -0
  120. package/dist/{mail-CtA-d2d0.js → mail-Bkf5whgc.js} +2 -2
  121. package/dist/{map-filled-Y8JaYK4Y.js → map-filled-DOurRYP3.js} +2 -2
  122. package/dist/{map-FF2zfEGP.js → map-xA3002JW.js} +2 -2
  123. package/dist/{menu-DFzmvE6J.js → menu-2v2TRGv7.js} +2 -2
  124. package/dist/{minus-COmVHb9S.js → minus-BHrEG9BZ.js} +2 -2
  125. package/dist/{more-horizontal-DzHbd3yn.js → more-horizontal-BiLFHNjR.js} +2 -2
  126. package/dist/{more-vertical-CiJm6ZaV.js → more-vertical-MHbB9_He.js} +2 -2
  127. package/dist/{move-CUyDTrlz.js → move-C2Mel2Fs.js} +2 -2
  128. package/dist/{move-up-down-3AiMDXGu.js → move-up-down-CX9AFsb5.js} +2 -2
  129. package/dist/{navigation-BryXzz7G.js → navigation-BxUEjd2D.js} +2 -2
  130. package/dist/{note-CXIfkCb0.js → note-JDaeQ7KP.js} +2 -2
  131. package/dist/{offline-BlqqTvjx.js → offline-DTVkLzxG.js} +2 -2
  132. package/dist/{package-BEkSqrZt.js → package-Cqki3iBp.js} +2 -2
  133. package/dist/{package-pKbuF39E.js → package-a6wVeuDo.js} +2 -2
  134. package/dist/{paper-plane-CwVjTgAB.js → paper-plane-DAhJxCyF.js} +2 -2
  135. package/dist/{pause-D-nbILiS.js → pause-D9YWbY88.js} +2 -2
  136. package/dist/{pdf-C7o5LP5D.js → pdf-DYHgIGl5.js} +2 -2
  137. package/dist/{pen-5O6IZM5k.js → pen-DpSe4QTA.js} +2 -2
  138. package/dist/{pen-check-GQoVyZ_V.js → pen-check-B6w-qyKk.js} +2 -2
  139. package/dist/{people-CFA1u84D.js → people-L-RBpthJ.js} +2 -2
  140. package/dist/{phone-BmL2p-7F.js → phone-D9f_M1qn.js} +2 -2
  141. package/dist/{picture-jf1PkZfY.js → picture-CN4X8eKB.js} +2 -2
  142. package/dist/{picture-BBiWVmta.js → picture-CmfKLBKL.js} +2 -2
  143. package/dist/{pin-CTaBntUQ.js → pin-BxwEBnT3.js} +2 -2
  144. package/dist/{planning-s3sRV6ix.js → planning-f_b-yvy0.js} +2 -2
  145. package/dist/play-B3HQvb0Y.js +18 -0
  146. package/dist/play-filled-D5vhGrVt.js +18 -0
  147. package/dist/{plus-Dm-ZxxHJ.js → plus-C8VUl4nl.js} +2 -2
  148. package/dist/{print-B5fjHJZL.js → print-l0oxfj0P.js} +2 -2
  149. package/dist/{refresh-gU5ZZuG6.js → refresh-NFCjjw_E.js} +2 -2
  150. package/dist/{reset-CwU1iGF5.js → reset-ejMu30sL.js} +2 -2
  151. package/dist/{responsive-BHNmDmM6.js → responsive-DxkuLBT-.js} +2 -2
  152. package/dist/{rubix-thema-BZvVEFud.js → rubix-thema-C_AFU2TJ.js} +2 -2
  153. package/dist/{save-mTHDeUnL.js → save-CXjuYnpN.js} +2 -2
  154. package/dist/{saved-search-DJO4_yPH.js → saved-search-CFvfKYcT.js} +2 -2
  155. package/dist/{saved-search-filled-CNz5iwu_.js → saved-search-filled-CzEFnSAz.js} +2 -2
  156. package/dist/{search-B5yHBLf_.js → search-DCYa9f-a.js} +2 -2
  157. package/dist/{settings-Hb_Y7Y53.js → settings-D744QSWD.js} +2 -2
  158. package/dist/{share-OpdW8ZmZ.js → share-D4fImRnp.js} +2 -2
  159. package/dist/{share-alternative-C3pSVTYb.js → share-alternative-jYDTaOhB.js} +2 -2
  160. package/dist/{sidebar-DtAUGBof.js → sidebar-CymSOARn.js} +2 -2
  161. package/dist/{sidebar-filled-BnnqCUYl.js → sidebar-filled-gWTXdyC3.js} +2 -2
  162. package/dist/{slack-mCoCq7b9.js → slack-CxvOlRRy.js} +2 -2
  163. package/dist/{slider-config-yjKG-9r9.js → slider-config-D65lpbtz.js} +2 -2
  164. package/dist/{spellcheck-bP4DPCKJ.js → spellcheck-CAd06Iwp.js} +2 -2
  165. package/dist/{spinner-CrCQ6H6L.js → spinner-C2v5HebP.js} +2 -2
  166. package/dist/src/assets/icons/lock-filled.vue +13 -0
  167. package/dist/src/assets/icons/play-filled.vue +13 -0
  168. package/dist/src/assets/icons/play.vue +1 -1
  169. package/dist/src/components/DpaMediaItem/DpaMediaItem.spec.ts +12 -12
  170. package/dist/src/components/UiBadge/UiBadge.spec.ts +3 -3
  171. package/dist/src/components/UiBadge/UiBadge.stories.ts +1 -1
  172. package/dist/src/components/UiBadge/UiBadge.vue +3 -8
  173. package/dist/src/components/UiButton/README.md +8 -8
  174. package/dist/src/components/UiButton/UiButton.spec.ts +3 -1
  175. package/dist/src/components/UiButton/UiButton.stories.ts +18 -1
  176. package/dist/src/components/UiButton/UiButton.vue +12 -7
  177. package/dist/src/components/UiButtonGroup/UiButtonGroup.spec.ts +2 -2
  178. package/dist/src/components/UiButtonGroup/UiButtonGroup.stories.ts +9 -8
  179. package/dist/src/components/UiCard/UiCard.spec.ts +2 -2
  180. package/dist/src/components/UiCheckBoxGroup/UiCheckBoxGroup.spec.ts +4 -4
  181. package/dist/src/components/UiCheckbox/README.md +9 -9
  182. package/dist/src/components/UiCheckbox/UiCheckbox.stories.ts +21 -8
  183. package/dist/src/components/UiCheckbox/UiCheckbox.vue +6 -2
  184. package/dist/src/components/UiChip/UiChip.spec.ts +4 -4
  185. package/dist/src/components/UiChip/UiChip.vue +2 -2
  186. package/dist/src/components/UiCollapseNavigation/UiCollapseNavigation.spec.ts +2 -2
  187. package/dist/src/components/UiCollapseNavigation/UiCollapseNavigation.vue +1 -1
  188. package/dist/src/components/UiColorPicker/UiColorPicker.spec.ts +5 -5
  189. package/dist/src/components/UiDatePicker/UiDatePicker.spec.ts +12 -12
  190. package/dist/src/components/UiDatePicker/UiDatePicker.stories.ts +48 -28
  191. package/dist/src/components/UiDatePicker/UiDatePicker.vue +21 -21
  192. package/dist/src/components/UiDialog/UiDialog.spec.ts +5 -5
  193. package/dist/src/components/UiDialog/UiDialog.stories.ts +1 -0
  194. package/dist/src/components/UiDialog/UiDialog.vue +49 -1
  195. package/dist/src/components/UiFilterBadge/UiFilterBadge.spec.ts +6 -6
  196. package/dist/src/components/UiFilterButton/UiFilterButton.spec.ts +6 -6
  197. package/dist/src/components/UiIcon/UiIcon.spec.ts +4 -4
  198. package/dist/src/components/UiIcon/UiIcon.stories.ts +8 -4
  199. package/dist/src/components/UiIcon/UiIconLoading.vue +8 -1
  200. package/dist/src/components/UiIcon/icons.ts +2 -0
  201. package/dist/src/components/UiIconButton/UiIconButton.spec.ts +6 -6
  202. package/dist/src/components/UiInfoContent/UiInfoContent.spec.ts +6 -6
  203. package/dist/src/components/UiInput/README.md +28 -17
  204. package/dist/src/components/UiInput/UiInput.spec.ts +20 -0
  205. package/dist/src/components/UiInput/UiInput.stories.ts +34 -7
  206. package/dist/src/components/UiInput/UiInput.vue +7 -4
  207. package/dist/src/components/UiList/UiList.spec.ts +2 -2
  208. package/dist/src/components/UiListItem/README.md +0 -1
  209. package/dist/src/components/UiListItem/UiListItem.spec.ts +8 -8
  210. package/dist/src/components/UiListItem/UiListItem.vue +5 -8
  211. package/dist/src/components/UiMediaTypeIcon/UiMediaTypeIcon.stories.ts +8 -4
  212. package/dist/src/components/UiMediaTypeIcon/UiMediaTypeIcon.vue +1 -1
  213. package/dist/src/components/UiMenu/README.md +0 -2
  214. package/dist/src/components/UiMenu/UiMenu.spec.ts +5 -5
  215. package/dist/src/components/UiMenu/UiMenu.stories.ts +83 -146
  216. package/dist/src/components/UiMenu/UiMenu.vue +98 -102
  217. package/dist/src/components/UiOverlay/UiOverlay.spec.ts +2 -2
  218. package/dist/src/components/UiOverlayMenu/UiOverlayMenu.spec.ts +2 -2
  219. package/dist/src/components/UiPopover/UiPopover.stories.ts +1 -1
  220. package/dist/src/components/UiPopover/UiPopover.vue +30 -7
  221. package/dist/src/components/UiRadioButton/UiRadioButton.stories.ts +17 -8
  222. package/dist/src/components/UiRadioButton/UiRadioButton.vue +1 -1
  223. package/dist/src/components/UiRadioInputGroup/UiRadioInputGroup.spec.ts +4 -4
  224. package/dist/src/components/UiSearchBar/UiSearchBar.spec.ts +6 -6
  225. package/dist/src/components/UiSearchBar/UiSearchBar.vue +1 -1
  226. package/dist/src/components/UiSearchInput/UiSearchInput.spec.ts +4 -4
  227. package/dist/src/components/UiSection/UiSection.spec.ts +5 -5
  228. package/dist/src/components/UiSectionDivider/UiSectionDivider.spec.ts +3 -3
  229. package/dist/src/components/UiSelect/{UIiSelect.spec.ts → UiSelect.spec.ts} +16 -8
  230. package/dist/src/components/UiSelect/UiSelect.stories.ts +13 -6
  231. package/dist/src/components/UiSelect/UiSelect.vue +14 -2
  232. package/dist/src/components/UiSkeletonBox/UiSkeletonBox.spec.ts +2 -2
  233. package/dist/src/components/UiSnackbar/UiSnackbar.spec.ts +8 -8
  234. package/dist/src/components/UiSpinner/UiSpinner.spec.ts +4 -4
  235. package/dist/src/components/UiSpinner/UiSpinner.stories.ts +1 -1
  236. package/dist/src/components/UiSpinner/UiSpinner.vue +31 -32
  237. package/dist/src/components/UiTextButton/UiTextButton.spec.ts +11 -11
  238. package/dist/src/components/UiToggleButton/UiToggleButton.spec.ts +8 -8
  239. package/dist/src/components/UiToggleButton/UiToggleButton.vue +19 -31
  240. package/dist/src/components/UiTooltip/UiTooltip.spec.ts +9 -9
  241. package/dist/{standard-view-CN0ixRE4.js → standard-view-BoYytoMT.js} +2 -2
  242. package/dist/{star-filled-CdXMXBn7.js → star-filled-CpCXunl1.js} +2 -2
  243. package/dist/{star-BKWqck4u.js → star-h8P_5_mG.js} +2 -2
  244. package/dist/{stop-B8l9lmwT.js → stop-CUitimZI.js} +2 -2
  245. package/dist/{story-DOxZDwJp.js → story-DHD4LNQr.js} +2 -2
  246. package/dist/{story-Cxy8EkgB.js → story-DRn-XI6F.js} +2 -2
  247. package/dist/style.css +2 -2
  248. package/dist/{sync-BW_fAqt6.js → sync-Y2eA3WT_.js} +2 -2
  249. package/dist/{tasks-DLNuebMi.js → tasks-C2MvrwpO.js} +2 -2
  250. package/dist/{text-Bsl2QZz3.js → text-C4wZ-s0Z.js} +2 -2
  251. package/dist/{text-CPSps-qh.js → text-C7Bt0-5h.js} +2 -2
  252. package/dist/{thumbs-down-pSf_ND98.js → thumbs-down-DRz1ad6Z.js} +2 -2
  253. package/dist/{thumbs-up-Braz70N6.js → thumbs-up-Tt4RC_93.js} +2 -2
  254. package/dist/{thumbs-up-double-C6foUkOq.js → thumbs-up-double-BiN5UiKl.js} +2 -2
  255. package/dist/{topic-BamlhBNV.js → topic-D6_NwX-F.js} +2 -2
  256. package/dist/{union-CYw04THu.js → union-s1aVCIT5.js} +2 -2
  257. package/dist/{upload-BL_iLqTa.js → upload-Csz6PEGc.js} +2 -2
  258. package/dist/{user-need-divert-me-2RaqdMMH.js → user-need-divert-me-NGIF6wBc.js} +2 -2
  259. package/dist/{user-need-educate-me-CRi42bIc.js → user-need-educate-me-B5uX-I2R.js} +2 -2
  260. package/dist/{user-need-give-me-perspective-BIF7v9vF.js → user-need-give-me-perspective-D1ivktbZ.js} +2 -2
  261. package/dist/{user-need-help-me-O0XSLzP-.js → user-need-help-me-Re-fEjwm.js} +2 -2
  262. package/dist/{user-need-touch-me-BueJ3SSh.js → user-need-touch-me-D025Uac5.js} +2 -2
  263. package/dist/{user-need-update-me-DP574fsn.js → user-need-update-me-DU3SfxYI.js} +2 -2
  264. package/dist/{video-DhS7zpNF.js → video-07EjnCpD.js} +2 -2
  265. package/dist/{video-CWHoNlON.js → video-B0IVRe8t.js} +2 -2
  266. package/dist/{video-overlay-D6e61Eo7.js → video-overlay-blAbosdl.js} +2 -2
  267. package/dist/{view-Bc5W8beK.js → view-BrJ61_ek.js} +2 -2
  268. package/dist/{view-off-DquC2i3E.js → view-off-Chs7NQif.js} +2 -2
  269. package/dist/{volume-up-DEzoW7Bq.js → volume-up-BDZJhktI.js} +2 -2
  270. package/package.json +33 -33
  271. package/src/assets/icons/lock-filled.vue +13 -0
  272. package/src/assets/icons/play-filled.vue +13 -0
  273. package/src/assets/icons/play.vue +1 -1
  274. package/src/components/UiBadge/UiBadge.vue +3 -8
  275. package/src/components/UiButton/README.md +8 -8
  276. package/src/components/UiButton/UiButton.vue +12 -7
  277. package/src/components/UiCheckbox/README.md +9 -9
  278. package/src/components/UiCheckbox/UiCheckbox.vue +6 -2
  279. package/src/components/UiChip/UiChip.vue +2 -2
  280. package/src/components/UiCollapseNavigation/UiCollapseNavigation.vue +1 -1
  281. package/src/components/UiDatePicker/UiDatePicker.vue +21 -21
  282. package/src/components/UiDialog/UiDialog.vue +49 -1
  283. package/src/components/UiIcon/UiIconLoading.vue +8 -1
  284. package/src/components/UiIcon/icons.ts +2 -0
  285. package/src/components/UiInput/README.md +28 -17
  286. package/src/components/UiInput/UiInput.vue +7 -4
  287. package/src/components/UiListItem/README.md +0 -1
  288. package/src/components/UiListItem/UiListItem.vue +5 -8
  289. package/src/components/UiMediaTypeIcon/UiMediaTypeIcon.vue +1 -1
  290. package/src/components/UiMenu/README.md +0 -2
  291. package/src/components/UiMenu/UiMenu.vue +98 -102
  292. package/src/components/UiPopover/UiPopover.vue +30 -7
  293. package/src/components/UiRadioButton/UiRadioButton.vue +1 -1
  294. package/src/components/UiSearchBar/UiSearchBar.vue +1 -1
  295. package/src/components/UiSelect/UiSelect.vue +14 -2
  296. package/src/components/UiSpinner/UiSpinner.vue +31 -32
  297. package/src/components/UiToggleButton/UiToggleButton.vue +19 -31
  298. package/dist/play-CArB2O7k.js +0 -18
  299. /package/dist/{_plugin-vue_export-helper-BTgDAbhb.js → _plugin-vue_export-helper-B3ysoDQm.js} +0 -0
@@ -5,6 +5,7 @@
5
5
  cn(
6
6
  'fixed inset-0 m-auto w-120 rounded-2xl bg-surface-level-1 text-current shadow-lg backdrop:bg-shadow-strong',
7
7
  $attrs.class,
8
+ { animate },
8
9
  )
9
10
  "
10
11
  @click.self="dialog?.requestClose()"
@@ -64,9 +65,14 @@ defineSlots<{
64
65
  }) => any;
65
66
  }>();
66
67
 
67
- const { hasCloseButton = true, closeLabel = undefined } = defineProps<{
68
+ const {
69
+ hasCloseButton = true,
70
+ closeLabel = undefined,
71
+ animate = false,
72
+ } = defineProps<{
68
73
  hasCloseButton?: boolean;
69
74
  closeLabel?: string;
75
+ animate?: boolean;
70
76
  }>();
71
77
 
72
78
  function close() {
@@ -87,3 +93,45 @@ defineExpose({
87
93
  requestClose,
88
94
  });
89
95
  </script>
96
+
97
+ <style scoped>
98
+ @media (prefers-reduced-motion: no-preference) {
99
+ /* Backdrop */
100
+ .animate::backdrop {
101
+ background: rgb(0 0 0 / 0%);
102
+ transition:
103
+ background 0.3s ease,
104
+ display 0.2s ease allow-discrete,
105
+ overlay 0.2s ease allow-discrete;
106
+ }
107
+
108
+ .animate[open]::backdrop {
109
+ background: rgb(0 0 0 / 50%);
110
+
111
+ @starting-style {
112
+ background: rgb(0 0 0 / 0%);
113
+ }
114
+ }
115
+
116
+ /* Dialog box — fade + scale */
117
+ .animate {
118
+ opacity: 0;
119
+ transform: scale(0.95);
120
+ transition:
121
+ opacity 0.2s ease,
122
+ transform 0.2s ease,
123
+ display 0.2s ease allow-discrete,
124
+ overlay 0.2s ease allow-discrete;
125
+ }
126
+
127
+ .animate[open] {
128
+ opacity: 1;
129
+ transform: scale(1);
130
+
131
+ @starting-style {
132
+ opacity: 0;
133
+ transform: scale(0.95);
134
+ }
135
+ }
136
+ }
137
+ </style>
@@ -1 +1,8 @@
1
- <template><div></div></template>
1
+ <template>
2
+ <svg
3
+ width="24"
4
+ height="24"
5
+ viewBox="0 0 24 24"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ ></svg>
8
+ </template>
@@ -100,6 +100,7 @@ export const icons = {
100
100
  "list": () => import("../../assets/icons/list.vue"),
101
101
  "list-search": () => import("../../assets/icons/list-search.vue"),
102
102
  "lock": () => import("../../assets/icons/lock.vue"),
103
+ "lock-filled": () => import("../../assets/icons/lock-filled.vue"),
103
104
  "mail": () => import("../../assets/icons/mail.vue"),
104
105
  "map": () => import("../../assets/icons/map.vue"),
105
106
  "map-filled": () => import("../../assets/icons/map-filled.vue"),
@@ -124,6 +125,7 @@ export const icons = {
124
125
  "pin": () => import("../../assets/icons/pin.vue"),
125
126
  "planning": () => import("../../assets/icons/planning.vue"),
126
127
  "play": () => import("../../assets/icons/play.vue"),
128
+ "play-filled": () => import("../../assets/icons/play-filled.vue"),
127
129
  "plus": () => import("../../assets/icons/plus.vue"),
128
130
  "print": () => import("../../assets/icons/print.vue"),
129
131
  "refresh": () => import("../../assets/icons/refresh.vue"),
@@ -3,29 +3,40 @@
3
3
  ## Usage
4
4
 
5
5
  ```vue
6
- <template>
7
- <UiInput
8
- label="Postal code"
9
- id="postal_code-1"
10
- name="postal_code"
11
- value="04277"
12
- required
13
- placeholder="12345"
14
- ></UiInput>
15
- </template>
16
-
17
- <script setup lang="ts">
18
- import { UiInput } from "@dpa-id-components/dpa-shared-components";
19
- </script>
6
+ <UiInput
7
+ id="postal-code"
8
+ name="postal_code"
9
+ value="04277"
10
+ required
11
+ placeholder="12345"
12
+ >
13
+ Postal code
14
+ </UiInput>
15
+ ```
16
+
17
+ **Using `v-model`**:
18
+
19
+ ```vue
20
+ <UiInput v-model="postalCode">
21
+ Postal code
22
+ </UiInput>
23
+ ```
24
+
25
+ **With `number` value**:
26
+
27
+ ```vue
28
+ <UiInput v-model="count" type="number">
29
+ Count
30
+ </UiInput>
20
31
  ```
21
32
 
22
33
  ## API
23
34
 
24
35
  ### Models
25
36
 
26
- | Name | Type | Default | Description |
27
- |-----------|----------|-------------|----------------------|
28
- | _default_ | `string` | `undefined` | Sets the input value |
37
+ | Name | Type | Default | Description |
38
+ |-----------|--------------------|-------------|----------------------|
39
+ | _default_ | `string \| number` | `undefined` | Sets the input value |
29
40
 
30
41
  ### Props
31
42
 
@@ -34,7 +34,7 @@
34
34
  data-testid="input-value"
35
35
  v-bind="{ ...$attrs, class: null }"
36
36
  :data-is-label-raised="
37
- $attrs.placeholder || isFocused || model ? '' : undefined
37
+ $attrs.placeholder || isFocused || hasInput ? '' : undefined
38
38
  "
39
39
  @focus="isFocused = true"
40
40
  @blur="isFocused = false"
@@ -55,7 +55,7 @@
55
55
  data-testid="input-value"
56
56
  v-bind="{ ...$attrs, class: null }"
57
57
  :data-is-label-raised="
58
- $attrs.placeholder || isFocused || model ? '' : undefined
58
+ $attrs.placeholder || isFocused || hasInput ? '' : undefined
59
59
  "
60
60
  @focus="isFocused = true"
61
61
  @blur="isFocused = false"
@@ -82,7 +82,7 @@
82
82
  </div>
83
83
  </template>
84
84
 
85
- <script setup lang="ts">
85
+ <script setup lang="ts" generic="ModelValue extends string | number">
86
86
  import { computed, ref, useId } from "vue";
87
87
 
88
88
  import { cn } from "../../utils/cn.ts";
@@ -130,8 +130,11 @@ const {
130
130
  inputStatus?: "info" | "warning" | "error";
131
131
  }>();
132
132
 
133
- const model = defineModel<string>();
133
+ const model = defineModel<ModelValue>();
134
134
 
135
+ const hasInput = computed(
136
+ () => model.value !== undefined && model.value !== "",
137
+ );
135
138
  const isFocused = ref(false);
136
139
 
137
140
  const defaultId = useId();
@@ -31,7 +31,6 @@
31
31
  | `imageSrc` | `String` | `""` | Image to be displayed at the beginning of the list item. |
32
32
  | `imageShape` | `"rounded" &#124; "square"` | `"square"` | Shape pf the image to be displayed. |
33
33
  | `checkboxColor` | `"blue" &#124; "gray"` | `"blue"` | Checkbox color style. |
34
- | `checkboxSize` | `"small" &#124; "medium"` | `"medium"` | Checkbox size style. |
35
34
 
36
35
  ### Events
37
36
 
@@ -2,26 +2,25 @@
2
2
  <li
3
3
  :class="
4
4
  cn(
5
- 'flex cursor-pointer list-none items-center gap-2 px-4 py-2 text-sm/normal text-neutral-emphasis select-none hover:text-primary focus:outline-hidden focus-visible:focus-outline focus-visible:-outline-offset-2',
5
+ 'flex cursor-pointer list-none items-center gap-2 px-4 py-1.5 text-sm/normal text-neutral-emphasis select-none hover:text-primary focus:outline-hidden focus-visible:focus-outline focus-visible:-outline-offset-2',
6
6
  {
7
7
  'cursor-default text-neutral-medium': disabled,
8
8
  'is-selected': selected,
9
- 'py-3': checkboxSize === 'md',
10
9
  },
11
10
  overrideClasses,
12
11
  $attrs.class,
13
12
  )
14
13
  "
15
14
  tabindex="0"
16
- @click.prevent.stop="$emit('list-item-click', value, true)"
15
+ @click.prevent.stop="$emit('list-item-click', value)"
17
16
  >
18
17
  <UiCheckbox
19
18
  v-if="checkBoxMenu"
20
19
  :appearance="checkboxAppearance"
21
20
  :model-value="isChecked"
22
21
  :disabled="disabled"
23
- :size="checkboxSize"
24
- @click.stop="$emit('list-item-click', value, false)"
22
+ size="sm"
23
+ @click.stop="$emit('list-item-click', value)"
25
24
  >
26
25
  <span class="sr-only"><slot /></span>
27
26
  </UiCheckbox>
@@ -65,7 +64,6 @@ const {
65
64
  imageSrc = undefined,
66
65
  imageShape = "rounded",
67
66
  checkboxAppearance = "primary",
68
- checkboxSize = "md",
69
67
  isChecked = false,
70
68
  disabled = false,
71
69
  } = defineProps<{
@@ -79,12 +77,11 @@ const {
79
77
  imageShape?: "rounded" | "square";
80
78
  iconSize?: "sm" | "md" | "lg";
81
79
  checkboxAppearance?: "primary" | "secondary";
82
- checkboxSize?: "sm" | "md";
83
80
  isChecked?: boolean;
84
81
  disabled?: boolean;
85
82
  }>();
86
83
 
87
84
  defineEmits<{
88
- "list-item-click": [value: string, shouldCloseMenu: boolean];
85
+ "list-item-click": [value: string];
89
86
  }>();
90
87
  </script>
@@ -42,7 +42,7 @@ const iconComponent = computed(() =>
42
42
 
43
43
  watchEffect(() => {
44
44
  if (!icons[name]) {
45
- throw new Error(`UiMediaFormatIcon: No icon named “${name}” exists.`);
45
+ throw new Error(`UiMediaTypeIcon: No icon named “${name}” exists.`);
46
46
  }
47
47
  });
48
48
  </script>
@@ -89,7 +89,6 @@ const options = ref([
89
89
  | `buttonAppearance` | `"primary"`, `"secondary"`, `"secondary-alt"`, or `"ghost"` | `"secondary-alt"` | |
90
90
  | `listVariant` | `"checkbox" &#124; "selectable" &#124; "blank"` | `"blank"` | Menu style. |
91
91
  | `checkboxColor` | `"blue" &#124; "gray"` | `"blue"` | Checkbox color style. |
92
- | `checkboxSize` | `"small" &#124; "medium"` | `"medium"` | Checkbox size style. |
93
92
  | `imageShape` | `"rounded" &#124; "square"` | `"square"` | shape of image. |
94
93
  | `hasResetOption` | `boolean` | `false` | Toggles option for a reset button |
95
94
  | `resetLabel` | `string` | `""` | Sets text of reset button. |
@@ -142,7 +141,6 @@ Wraps the UiListItem and uses the same settings as in the original UiMenu, helps
142
141
  | `listVariant?` | `"checkbox" &#124; "selectable" &#124; "blank"` | `blank` | Provide the list variant, same as in UiMenu.vue |
143
142
  | `iconSize?` | `"small" &#124; "medium" &#124; "large"` | `small` | Provide the icon size, same as in UiMenu.vue |
144
143
  | `imageShape?` | `"rounded" &#124; "square"` | `square` | Provide the imageShape, same as in UiMenu.vue |
145
- | `checkboxSize?` | `"small" &#124; "medium"` | `medium` | Provide the checkboxSize, same as in UiMenu.vue |
146
144
  | `checkboxColor?` | `"blue" &#124; "gray"` | `blue` | Provide the checkboxColor, same as in UiMenu.vue |
147
145
 
148
146
  #### Slots
@@ -1,19 +1,21 @@
1
1
  <template>
2
- <UiPopover :initially-open="isOpen" :animate :placement="floatingUiPlacement">
2
+ <UiPopover
3
+ :initially-open="isOpen"
4
+ :animate
5
+ :placement="floatingUiPlacement"
6
+ @toggle="$event ? $emit('open') : $emit('close')"
7
+ >
3
8
  <template #button="{ toggle, isOpen: isPopoverOpen }">
4
9
  <UiButton
5
10
  class="w-full justify-between"
6
11
  :class="{
7
12
  'border-neutral-subtle': isPopoverOpen,
8
13
  }"
9
- :appearance="active ? 'primary' : buttonAppearance"
14
+ :appearance="active ? 'fill-emphasis' : buttonAppearance"
10
15
  :disabled
11
16
  :size="filterButtonSize"
12
17
  data-testid="menu-button"
13
- @click="
14
- toggle();
15
- isPopoverOpen ? $emit('close') : $emit('open');
16
- "
18
+ @click="toggle"
17
19
  >
18
20
  <div class="flex items-center gap-2">
19
21
  <UiIcon v-if="iconLeft" :name="iconLeft" size="sm" />
@@ -23,106 +25,98 @@
23
25
  </UiButton>
24
26
  </template>
25
27
 
26
- <template #default="{ close }">
28
+ <div
29
+ class="block w-max max-w-full divide-y overflow-hidden rounded-lg border border-neutral-faint bg-neutral text-base/6 shadow-md focus:outline-hidden sm:text-sm/5"
30
+ >
27
31
  <div
28
- class="block w-max max-w-full divide-y overflow-hidden rounded-sm text-base/6 shadow-lg focus:outline-hidden sm:text-sm/5"
32
+ v-if="hasSearch"
33
+ class="flex items-center gap-2 rounded-t-lg px-4 pt-2.5 pb-1.5 text-neutral-primary [&:has(>input:focus-visible)]:focus-outline [&:has(>input:focus-visible)]:-outline-offset-2"
29
34
  >
30
- <div
31
- v-if="hasSearch"
32
- class="flex items-center gap-2 rounded-t-sm px-4 py-2 text-neutral-primary [&:has(>input:focus-visible)]:focus-outline [&:has(>input:focus-visible)]:-outline-offset-2"
33
- >
34
- <UiIcon
35
- class="shrink-0 text-neutral-emphasis"
36
- name="search"
37
- size="sm"
38
- />
39
- <input
40
- ref="search-input"
41
- v-model="queryModel"
42
- type="text"
43
- spellcheck="false"
44
- class="w-full text-sm focus:outline-hidden"
45
- :placeholder="searchPlaceholder"
46
- data-testid="menu-search-input"
47
- />
48
- </div>
35
+ <UiIcon
36
+ class="shrink-0 text-neutral-emphasis"
37
+ name="search"
38
+ size="sm"
39
+ />
40
+ <input
41
+ ref="search-input"
42
+ v-model="queryModel"
43
+ type="text"
44
+ spellcheck="false"
45
+ class="w-full text-sm focus:outline-hidden"
46
+ :placeholder="searchPlaceholder"
47
+ data-testid="menu-search-input"
48
+ />
49
+ </div>
49
50
 
50
- <slot
51
- v-bind="{
52
- checkboxAppearance,
53
- checkboxSize,
54
- iconSize,
55
- imageShape,
56
- listVariant,
57
- options,
58
- groupedOptions,
59
- }"
51
+ <slot
52
+ v-bind="{
53
+ checkboxAppearance,
54
+ iconSize,
55
+ imageShape,
56
+ listVariant,
57
+ options,
58
+ groupedOptions,
59
+ }"
60
+ >
61
+ <ul
62
+ v-if="processedOptions.some(({ options }) => options.length > 0)"
63
+ class="max-h-80 overflow-y-auto"
64
+ data-testid="menu-option-list"
60
65
  >
61
- <ul
62
- v-if="processedOptions.some(({ options }) => options.length > 0)"
63
- class="max-h-80 overflow-y-auto"
64
- data-testid="menu-option-list"
66
+ <template
67
+ v-for="group in processedOptions"
68
+ :key="`group-${group.groupLabel ?? 'default'}`"
65
69
  >
66
- <template
67
- v-for="group in processedOptions"
68
- :key="`group-${group.groupLabel ?? 'default'}`"
69
- >
70
- <template v-if="group.options.length > 0">
71
- <li
72
- v-if="group.groupLabel"
73
- class="flex h-6 items-center bg-neutral-whisper px-4 text-xs font-semibold tracking-wider text-neutral-subtle uppercase"
74
- >
75
- {{ group.groupLabel }}
76
- </li>
70
+ <template v-if="group.options.length > 0">
71
+ <li
72
+ v-if="group.groupLabel"
73
+ class="flex h-6 items-center bg-neutral-faint px-4 text-xs font-semibold tracking-wider text-neutral-subtle uppercase"
74
+ >
75
+ {{ group.groupLabel }}
76
+ </li>
77
77
 
78
- <UiListItem
79
- v-for="(option, index) in group.options"
80
- :key="`option-${option.value}`"
81
- :selected="option.selected"
82
- :selectable="listVariant === 'selectable'"
83
- :is-checked="option.selected"
84
- :check-box-menu="listVariant === 'checkbox'"
85
- :icon-size="iconSize"
86
- :image-shape="imageShape"
87
- :image-src="option.imageSrc"
88
- :icon-name="option.iconName"
89
- :checkbox-size="checkboxSize"
90
- :checkbox-appearance="checkboxAppearance"
91
- class="hover:bg-neutral-whisper focus:bg-neutral-faint"
92
- :class="{
93
- 'border-t': option.hasDividerAbove,
94
- }"
95
- :data-testid="`menu-option-button-${index}`"
96
- @list-item-click="
97
- (value, shouldCloseMenu) => {
98
- selectOption(option);
99
- if (shouldCloseMenu) {
100
- close();
101
- }
102
- }
103
- "
104
- >{{ option.label }}</UiListItem
105
- >
106
- </template>
78
+ <UiListItem
79
+ v-for="(option, index) in group.options"
80
+ :key="`option-${option.value}`"
81
+ :selected="option.selected"
82
+ :selectable="listVariant === 'selectable'"
83
+ :is-checked="option.selected"
84
+ :check-box-menu="listVariant === 'checkbox'"
85
+ :icon-size="iconSize"
86
+ :image-shape="imageShape"
87
+ :image-src="option.imageSrc"
88
+ :icon-name="option.iconName"
89
+ :checkbox-appearance="checkboxAppearance"
90
+ class="hover:bg-neutral-whisper focus:bg-neutral-faint"
91
+ :class="{
92
+ 'border-t': option.hasDividerAbove,
93
+ }"
94
+ :data-testid="`menu-option-button-${index}`"
95
+ @list-item-click="selectOption(option)"
96
+ >{{ option.label }}</UiListItem
97
+ >
107
98
  </template>
108
- </ul>
109
- </slot>
99
+ </template>
100
+ </ul>
101
+ </slot>
110
102
 
111
- <div v-if="hasResetOption" class="px-4 py-2 text-neutral-primary">
112
- <UiButton
113
- appearance="secondary"
114
- :disabled="disabledReset"
115
- icon-name="reset"
116
- size="xs"
117
- data-testid="menu-search-reset-button"
118
- @click="$emit('reset')"
119
- >
120
- <UiIcon name="reset" />
121
- {{ resetLabel }}
122
- </UiButton>
123
- </div>
103
+ <div v-if="hasResetOption" class="px-2 pt-1.5 pb-2 text-neutral-primary">
104
+ <UiButton
105
+ appearance="outline-emphasis"
106
+ :disabled="disabledReset"
107
+ icon-name="reset"
108
+ size="xs"
109
+ data-testid="menu-search-reset-button"
110
+ @click="
111
+ queryModel = '';
112
+ $emit('reset');
113
+ "
114
+ >
115
+ <UiIcon name="reset" />
116
+ {{ resetLabel }}
117
+ </UiButton>
124
118
  </div>
125
- </template>
119
+ </div>
126
120
  </UiPopover>
127
121
  </template>
128
122
 
@@ -158,7 +152,6 @@ export type UiMenuGroupedOption<Value = unknown> = {
158
152
  defineSlots<{
159
153
  default?: (props: {
160
154
  checkboxAppearance: typeof checkboxAppearance;
161
- checkboxSize: typeof checkboxSize;
162
155
  iconSize: typeof iconSize;
163
156
  imageShape: typeof imageShape;
164
157
  listVariant: typeof listVariant;
@@ -180,7 +173,7 @@ const {
180
173
  disabled = false,
181
174
  active = false,
182
175
  iconLeft = null,
183
- buttonAppearance = "secondary-alt",
176
+ buttonAppearance = "outline-subtle",
184
177
  filterButtonSize = "sm",
185
178
  defaultTitle = "",
186
179
  multiLabel = "",
@@ -196,7 +189,6 @@ const {
196
189
  // Menu
197
190
  iconSize = "sm",
198
191
  imageShape = "square",
199
- checkboxSize = "md",
200
192
  checkboxAppearance = "primary",
201
193
  listVariant = "blank",
202
194
  } = defineProps<{
@@ -210,7 +202,12 @@ const {
210
202
  disabled?: boolean;
211
203
  active?: boolean;
212
204
  iconLeft?: UiIconName;
213
- buttonAppearance?: "primary" | "secondary" | "secondary-alt" | "ghost";
205
+ buttonAppearance?:
206
+ | "fill-emphasis"
207
+ | "fill-subtle"
208
+ | "outline-emphasis"
209
+ | "outline-subtle"
210
+ | "ghost";
214
211
  filterButtonSize?: "sm" | "xs";
215
212
  defaultTitle?: string;
216
213
  multiLabel?: string;
@@ -226,7 +223,6 @@ const {
226
223
  // Menu
227
224
  iconSize?: "sm" | "md" | "lg";
228
225
  imageShape?: "rounded" | "square";
229
- checkboxSize?: "sm" | "md";
230
226
  checkboxAppearance?: "primary" | "secondary";
231
227
  listVariant?: "checkbox" | "selectable" | "blank";
232
228
  }>();
@@ -1,13 +1,13 @@
1
1
  <template>
2
- <div ref="reference" v-click-away="close" class="w-fit" @click="update">
2
+ <div ref="reference" class="w-fit" @click="update">
3
3
  <slot name="button" v-bind="{ open, close, toggle, isOpen }" />
4
4
 
5
5
  <Transition :name="animate ? 'fade-up' : 'none'">
6
6
  <div
7
- v-show="isOpen"
7
+ v-if="isOpen"
8
8
  ref="floating"
9
9
  :style="floatingStyles"
10
- class="z-10 w-fit rounded-sm bg-neutral [text-align:initial] [--transition-close-duration:100ms] [--transition-duration:200ms]"
10
+ class="z-10 w-fit [text-align:initial] [--transition-close-duration:100ms] [--transition-duration:200ms]"
11
11
  :data-side="placement"
12
12
  >
13
13
  <slot v-bind="{ close }" />
@@ -25,9 +25,8 @@ import {
25
25
  shift,
26
26
  useFloating,
27
27
  } from "@floating-ui/vue";
28
- import { ref, useTemplateRef } from "vue";
29
-
30
- import { vClickAway } from "../../directives/vClickAway.ts";
28
+ import { onClickOutside } from "@vueuse/core";
29
+ import { ref, useTemplateRef, watch } from "vue";
31
30
 
32
31
  defineSlots<{
33
32
  button: (props: {
@@ -61,9 +60,12 @@ const {
61
60
  placement?: Placement;
62
61
  }>();
63
62
 
63
+ const emit = defineEmits<{
64
+ toggle: [isOpen: boolean];
65
+ }>();
66
+
64
67
  const reference = useTemplateRef("reference");
65
68
  const floating = useTemplateRef("floating");
66
- const isOpen = ref(initiallyOpen);
67
69
 
68
70
  const { floatingStyles, update } = useFloating(reference, floating, {
69
71
  placement,
@@ -71,6 +73,12 @@ const { floatingStyles, update } = useFloating(reference, floating, {
71
73
  whileElementsMounted: autoUpdate,
72
74
  });
73
75
 
76
+ const isOpen = ref(initiallyOpen);
77
+
78
+ watch(isOpen, (isOpen) => {
79
+ emit("toggle", isOpen);
80
+ });
81
+
74
82
  function open() {
75
83
  isOpen.value = true;
76
84
  }
@@ -83,6 +91,21 @@ function toggle() {
83
91
  isOpen.value = !isOpen.value;
84
92
  }
85
93
 
94
+ onClickOutside(
95
+ floating,
96
+ () => {
97
+ if (isOpen.value) {
98
+ close();
99
+ }
100
+ },
101
+ {
102
+ ignore: [
103
+ // Ignore clicks on the reference element
104
+ reference,
105
+ ],
106
+ },
107
+ );
108
+
86
109
  defineExpose({ open, close });
87
110
  </script>
88
111
 
@@ -13,7 +13,7 @@
13
13
  <input
14
14
  :id="uniqueId"
15
15
  v-model="model"
16
- class="inline-flex aspect-square appearance-none items-center justify-center rounded-full border-2 bg-neutral align-middle transition-colors after:size-2 after:rounded-full checked:after:content-[''] not-read-only:enabled:cursor-pointer disabled:border-neutral-muted disabled:text-neutral-soft disabled:checked:after:bg-neutral-muted"
16
+ class="inline-flex aspect-square appearance-none items-center justify-center rounded-full border-2 bg-neutral align-middle transition-colors after:size-2 after:rounded-full checked:after:content-[''] enabled:cursor-pointer disabled:border-neutral-muted disabled:text-neutral-soft disabled:checked:after:bg-neutral-muted"
17
17
  :class="{
18
18
  'size-4': size === 'sm',
19
19
  'size-5': size === 'md',
@@ -51,7 +51,7 @@
51
51
  <UiButton
52
52
  :aria-label="executeSearchButtonTitle"
53
53
  :appearance="
54
- isInputFocused || searchIconHover ? 'primary' : 'ghost'
54
+ isInputFocused || searchIconHover ? 'fill-emphasis' : 'ghost'
55
55
  "
56
56
  size="sm"
57
57
  @click="handleSearchButton"