@nextcloud/vue 8.31.0 → 8.32.0

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 (589) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/Components/NcActionButton.cjs +1 -1
  3. package/dist/Components/NcActionButton.mjs +1 -1
  4. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  6. package/dist/Components/NcActionCheckbox.cjs +1 -1
  7. package/dist/Components/NcActionCheckbox.mjs +1 -1
  8. package/dist/Components/NcActionInput.cjs +1 -1
  9. package/dist/Components/NcActionInput.mjs +1 -1
  10. package/dist/Components/NcActionLink.cjs +3 -3
  11. package/dist/Components/NcActionLink.cjs.map +1 -1
  12. package/dist/Components/NcActionLink.mjs +3 -3
  13. package/dist/Components/NcActionLink.mjs.map +1 -1
  14. package/dist/Components/NcActionRadio.cjs +1 -1
  15. package/dist/Components/NcActionRadio.mjs +1 -1
  16. package/dist/Components/NcActionRouter.cjs +2 -2
  17. package/dist/Components/NcActionRouter.mjs +2 -2
  18. package/dist/Components/NcActionText.cjs +2 -2
  19. package/dist/Components/NcActionText.mjs +2 -2
  20. package/dist/Components/NcActionTextEditable.cjs +1 -1
  21. package/dist/Components/NcActionTextEditable.mjs +1 -1
  22. package/dist/Components/NcActions.cjs +1 -1
  23. package/dist/Components/NcActions.mjs +1 -1
  24. package/dist/Components/NcAppContent.cjs +1 -1
  25. package/dist/Components/NcAppContent.mjs +1 -1
  26. package/dist/Components/NcAppNavigation.cjs +1 -1
  27. package/dist/Components/NcAppNavigation.mjs +1 -1
  28. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  29. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  30. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  31. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  32. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  33. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  34. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  35. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  36. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  37. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  38. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  39. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  40. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  41. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  42. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  43. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  44. package/dist/Components/NcAppSettingsSection.cjs +2 -63
  45. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  46. package/dist/Components/NcAppSettingsSection.mjs +2 -63
  47. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  48. package/dist/Components/NcAppSidebar.cjs +1 -1
  49. package/dist/Components/NcAppSidebar.mjs +1 -1
  50. package/dist/Components/NcAppSidebarTab.cjs +3 -2
  51. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  52. package/dist/Components/NcAppSidebarTab.mjs +3 -2
  53. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  54. package/dist/Components/NcAssistantButton.cjs +1 -1
  55. package/dist/Components/NcAssistantButton.mjs +1 -1
  56. package/dist/Components/NcAssistantIcon.cjs +1 -1
  57. package/dist/Components/NcAssistantIcon.mjs +1 -1
  58. package/dist/Components/NcAvatar.cjs +1 -1
  59. package/dist/Components/NcAvatar.mjs +1 -1
  60. package/dist/Components/NcBreadcrumb.cjs +1 -1
  61. package/dist/Components/NcBreadcrumb.mjs +1 -1
  62. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  63. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  64. package/dist/Components/NcButton.cjs +1 -1
  65. package/dist/Components/NcButton.mjs +1 -1
  66. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  67. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  68. package/dist/Components/NcChip.cjs +14 -8
  69. package/dist/Components/NcChip.cjs.map +1 -1
  70. package/dist/Components/NcChip.mjs +14 -8
  71. package/dist/Components/NcChip.mjs.map +1 -1
  72. package/dist/Components/NcCollectionList.cjs +1 -1
  73. package/dist/Components/NcCollectionList.mjs +1 -1
  74. package/dist/Components/NcColorPicker.cjs +1 -1
  75. package/dist/Components/NcColorPicker.mjs +1 -1
  76. package/dist/Components/NcContent.cjs +1 -1
  77. package/dist/Components/NcContent.mjs +1 -1
  78. package/dist/Components/NcCounterBubble.cjs +1 -1
  79. package/dist/Components/NcCounterBubble.mjs +1 -1
  80. package/dist/Components/NcDashboardWidget.cjs +1 -1
  81. package/dist/Components/NcDashboardWidget.mjs +1 -1
  82. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  83. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  84. package/dist/Components/NcDateTimePicker.cjs +32 -19
  85. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  86. package/dist/Components/NcDateTimePicker.mjs +32 -19
  87. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  88. package/dist/Components/NcDateTimePickerNative.cjs +32 -14
  89. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  90. package/dist/Components/NcDateTimePickerNative.mjs +32 -14
  91. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  92. package/dist/Components/NcDialog.cjs +1 -1
  93. package/dist/Components/NcDialog.mjs +1 -1
  94. package/dist/Components/NcDialogButton.cjs +1 -1
  95. package/dist/Components/NcDialogButton.mjs +1 -1
  96. package/dist/Components/NcEllipsisedOption.cjs +1 -1
  97. package/dist/Components/NcEllipsisedOption.mjs +1 -1
  98. package/dist/Components/NcEmojiPicker.cjs +1 -1
  99. package/dist/Components/NcEmojiPicker.mjs +1 -1
  100. package/dist/Components/NcEmptyContent.cjs +2 -1
  101. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  102. package/dist/Components/NcEmptyContent.mjs +2 -1
  103. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  104. package/dist/Components/NcHeaderButton.cjs +1 -1
  105. package/dist/Components/NcHeaderButton.mjs +1 -1
  106. package/dist/Components/NcHeaderMenu.cjs +1 -1
  107. package/dist/Components/NcHeaderMenu.mjs +1 -1
  108. package/dist/Components/NcHighlight.cjs +1 -1
  109. package/dist/Components/NcHighlight.mjs +1 -1
  110. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  111. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  112. package/dist/Components/NcInputField.cjs +1 -1
  113. package/dist/Components/NcInputField.mjs +1 -1
  114. package/dist/Components/NcKbd.cjs +1 -1
  115. package/dist/Components/NcKbd.mjs +1 -1
  116. package/dist/Components/NcListItem.cjs +1 -1
  117. package/dist/Components/NcListItem.mjs +1 -1
  118. package/dist/Components/NcListItemIcon.cjs +1 -1
  119. package/dist/Components/NcListItemIcon.mjs +1 -1
  120. package/dist/Components/NcModal.cjs +33 -18
  121. package/dist/Components/NcModal.cjs.map +1 -1
  122. package/dist/Components/NcModal.mjs +33 -18
  123. package/dist/Components/NcModal.mjs.map +1 -1
  124. package/dist/Components/NcNoteCard.cjs +2 -2
  125. package/dist/Components/NcNoteCard.mjs +2 -2
  126. package/dist/Components/NcPasswordField.cjs +1 -1
  127. package/dist/Components/NcPasswordField.mjs +1 -1
  128. package/dist/Components/NcPopover.cjs +1 -1
  129. package/dist/Components/NcPopover.mjs +1 -1
  130. package/dist/Components/NcProgressBar.cjs +1 -1
  131. package/dist/Components/NcProgressBar.mjs +1 -1
  132. package/dist/Components/NcRadioGroup.cjs +1 -1
  133. package/dist/Components/NcRadioGroup.mjs +1 -1
  134. package/dist/Components/NcRadioGroupButton.cjs +1 -1
  135. package/dist/Components/NcRadioGroupButton.mjs +1 -1
  136. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  137. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  138. package/dist/Components/NcRichContenteditable.cjs +2 -2
  139. package/dist/Components/NcRichContenteditable.mjs +2 -2
  140. package/dist/Components/NcRichText.cjs +3 -3
  141. package/dist/Components/NcRichText.mjs +4 -4
  142. package/dist/Components/NcSelect.cjs +1 -1
  143. package/dist/Components/NcSelect.mjs +1 -1
  144. package/dist/Components/NcSelectTags.cjs +1 -1
  145. package/dist/Components/NcSelectTags.mjs +1 -1
  146. package/dist/Components/NcSelectUsers.cjs +1 -1
  147. package/dist/Components/NcSelectUsers.mjs +1 -1
  148. package/dist/Components/NcSettingsInputText.cjs +1 -1
  149. package/dist/Components/NcSettingsInputText.mjs +1 -1
  150. package/dist/Components/NcSettingsSection.cjs +1 -1
  151. package/dist/Components/NcSettingsSection.mjs +1 -1
  152. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  153. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  154. package/dist/Components/NcTextArea.cjs +1 -1
  155. package/dist/Components/NcTextArea.mjs +1 -1
  156. package/dist/Components/NcTextField.cjs +1 -1
  157. package/dist/Components/NcTextField.mjs +1 -1
  158. package/dist/Components/NcThemeProvider.cjs +1 -1
  159. package/dist/Components/NcThemeProvider.mjs +1 -1
  160. package/dist/Components/NcTimezonePicker.cjs +1 -1
  161. package/dist/Components/NcTimezonePicker.mjs +1 -1
  162. package/dist/Components/NcUserBubble.cjs +1 -1
  163. package/dist/Components/NcUserBubble.mjs +1 -1
  164. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  165. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  166. package/dist/Components/NcVNodes.cjs +2 -1
  167. package/dist/Components/NcVNodes.cjs.map +1 -1
  168. package/dist/Components/NcVNodes.mjs +2 -1
  169. package/dist/Components/NcVNodes.mjs.map +1 -1
  170. package/dist/Composables/useFormatDateTime.cjs +27 -12
  171. package/dist/Composables/useFormatDateTime.cjs.map +1 -1
  172. package/dist/Composables/useFormatDateTime.mjs +27 -12
  173. package/dist/Composables/useFormatDateTime.mjs.map +1 -1
  174. package/dist/Composables/useHotKey.cjs +2 -1
  175. package/dist/Composables/useHotKey.cjs.map +1 -1
  176. package/dist/Composables/useHotKey.mjs +2 -1
  177. package/dist/Composables/useHotKey.mjs.map +1 -1
  178. package/dist/Composables/useIsDarkTheme.cjs +5 -2
  179. package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
  180. package/dist/Composables/useIsDarkTheme.mjs +5 -2
  181. package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
  182. package/dist/Composables/useIsMobile.cjs.map +1 -1
  183. package/dist/Composables/useIsMobile.mjs.map +1 -1
  184. package/dist/Directives/Linkify.cjs +2 -1
  185. package/dist/Directives/Linkify.cjs.map +1 -1
  186. package/dist/Directives/Linkify.mjs +2 -1
  187. package/dist/Directives/Linkify.mjs.map +1 -1
  188. package/dist/Functions/contactsMenu.cjs +3 -2
  189. package/dist/Functions/contactsMenu.cjs.map +1 -1
  190. package/dist/Functions/contactsMenu.mjs +3 -2
  191. package/dist/Functions/contactsMenu.mjs.map +1 -1
  192. package/dist/Functions/dialog.cjs +20 -5
  193. package/dist/Functions/dialog.cjs.map +1 -1
  194. package/dist/Functions/dialog.mjs +20 -5
  195. package/dist/Functions/dialog.mjs.map +1 -1
  196. package/dist/Functions/emoji.cjs +1 -1
  197. package/dist/Functions/emoji.mjs +1 -1
  198. package/dist/Functions/reference.cjs +2 -2
  199. package/dist/Functions/reference.mjs +2 -2
  200. package/dist/Functions/registerReference.cjs +1 -1
  201. package/dist/Functions/registerReference.mjs +1 -1
  202. package/dist/Functions/usernameToColor.cjs +2 -2
  203. package/dist/Functions/usernameToColor.cjs.map +1 -1
  204. package/dist/Functions/usernameToColor.mjs +2 -2
  205. package/dist/Functions/usernameToColor.mjs.map +1 -1
  206. package/dist/Mixins/isMobile.cjs.map +1 -1
  207. package/dist/Mixins/isMobile.mjs.map +1 -1
  208. package/dist/Mixins/richEditor.cjs +1 -1
  209. package/dist/Mixins/richEditor.mjs +1 -1
  210. package/dist/assets/{NcActionInput-DXZaAilC.css → NcActionInput-DsGwr3wt.css} +65 -65
  211. package/dist/assets/{NcAppContent-DerHKU6P.css → NcAppContent-BpjG38I8.css} +23 -23
  212. package/dist/assets/{NcAppNavigation-R4E_wTZ-.css → NcAppNavigation-Bg4Oe7WC.css} +12 -12
  213. package/dist/assets/{NcAppNavigationItem-Kua1hP7u.css → NcAppNavigationItem-UaB3qdsS.css} +36 -36
  214. package/dist/assets/{NcAppSettingsDialog-DiJpVNeb.css → NcAppSettingsDialog-DH3DIIwL.css} +10 -10
  215. package/dist/assets/{NcAppSettingsSection-IzrCzLDw.css → NcAppSettingsSection-Dq0eTGEp.css} +3 -3
  216. package/dist/assets/{NcAppSidebar-CJYtNcF0.css → NcAppSidebar-Bd2cj1W-.css} +44 -44
  217. package/dist/assets/{NcAvatar-BdAXbXdR.css → NcAvatar-Cm4kVIfS.css} +24 -24
  218. package/dist/assets/{NcButton-D8AOCliw.css → NcButton-uQUvp7DS.css} +46 -46
  219. package/dist/assets/{NcCollectionList-DInDhsAS.css → NcCollectionList-hRgvNUMR.css} +15 -15
  220. package/dist/assets/{NcColorPicker-CGI9ElwB.css → NcColorPicker-CCqpXoam.css} +43 -35
  221. package/dist/assets/{NcContent-BedDNXST.css → NcContent-IIXgAj_u.css} +10 -10
  222. package/dist/assets/{NcDateTimePicker-4Zw7r2r4.css → NcDateTimePicker-C6sMtYzL.css} +13 -13
  223. package/dist/assets/{NcEmojiPicker-CrjOSMLF.css → NcEmojiPicker-B-iLLj37.css} +122 -122
  224. package/dist/assets/{NcModal-BzkYPomo.css → NcModal-4ZPVUmG2.css} +62 -62
  225. package/dist/assets/{NcRadioGroupButton-B1hPj4B8.css → NcRadioGroupButton-6mf16D0h.css} +16 -15
  226. package/dist/assets/{NcRelatedResourcesPanel-d2OxhjiL.css → NcRelatedResourcesPanel-BgMc8bue.css} +17 -17
  227. package/dist/assets/{NcRichContenteditable-BoM95AVW.css → NcRichContenteditable-Ds_cptgr.css} +11 -11
  228. package/dist/assets/{NcRichText-BDx2fupZ.css → NcRichText-CVy4zTPr.css} +2 -2
  229. package/dist/assets/{referencePickerModal-CTpc6_U6.css → referencePickerModal-CGtNx7ew.css} +6 -6
  230. package/dist/chunks/{NcActionButton-CVW8aRkE.mjs → NcActionButton-CZsSFAT4.mjs} +5 -5
  231. package/dist/chunks/{NcActionButton-CVW8aRkE.mjs.map → NcActionButton-CZsSFAT4.mjs.map} +1 -1
  232. package/dist/chunks/{NcActionButton-CFXzNoFT.cjs → NcActionButton-lJ0IA3IS.cjs} +5 -5
  233. package/dist/chunks/{NcActionButton-CFXzNoFT.cjs.map → NcActionButton-lJ0IA3IS.cjs.map} +1 -1
  234. package/dist/chunks/{NcActionButtonGroup-BOr5Of3k.mjs → NcActionButtonGroup-CIvAeDpU.mjs} +3 -3
  235. package/dist/chunks/{NcActionButtonGroup-BOr5Of3k.mjs.map → NcActionButtonGroup-CIvAeDpU.mjs.map} +1 -1
  236. package/dist/chunks/{NcActionButtonGroup-Bwuy2WZQ.cjs → NcActionButtonGroup-CQZL14Nz.cjs} +3 -3
  237. package/dist/chunks/{NcActionButtonGroup-Bwuy2WZQ.cjs.map → NcActionButtonGroup-CQZL14Nz.cjs.map} +1 -1
  238. package/dist/chunks/{NcActionCheckbox-C05ls65i.mjs → NcActionCheckbox-BAuN4ZMC.mjs} +2 -2
  239. package/dist/chunks/{NcActionCheckbox-C05ls65i.mjs.map → NcActionCheckbox-BAuN4ZMC.mjs.map} +1 -1
  240. package/dist/chunks/{NcActionCheckbox-Dg_1Ovt0.cjs → NcActionCheckbox-BvMmq0jL.cjs} +2 -2
  241. package/dist/chunks/{NcActionCheckbox-Dg_1Ovt0.cjs.map → NcActionCheckbox-BvMmq0jL.cjs.map} +1 -1
  242. package/dist/chunks/{NcActionInput-CoG-fZq9.mjs → NcActionInput-CfznemNH.mjs} +9 -9
  243. package/dist/chunks/{NcActionInput-CoG-fZq9.mjs.map → NcActionInput-CfznemNH.mjs.map} +1 -1
  244. package/dist/chunks/{NcActionInput-iIJpNS_Q.cjs → NcActionInput-DfjLV0Gg.cjs} +9 -9
  245. package/dist/chunks/{NcActionInput-iIJpNS_Q.cjs.map → NcActionInput-DfjLV0Gg.cjs.map} +1 -1
  246. package/dist/chunks/{NcActionRadio-Bpbs2dPm.mjs → NcActionRadio-Bg5VuF7I.mjs} +2 -2
  247. package/dist/chunks/{NcActionRadio-Bpbs2dPm.mjs.map → NcActionRadio-Bg5VuF7I.mjs.map} +1 -1
  248. package/dist/chunks/{NcActionRadio-Dtrwffyh.cjs → NcActionRadio-CBh6AlC4.cjs} +2 -2
  249. package/dist/chunks/{NcActionRadio-Dtrwffyh.cjs.map → NcActionRadio-CBh6AlC4.cjs.map} +1 -1
  250. package/dist/chunks/{NcActionTextEditable-BpahzGpr.cjs → NcActionTextEditable-BhucWrOO.cjs} +6 -6
  251. package/dist/chunks/{NcActionTextEditable-BpahzGpr.cjs.map → NcActionTextEditable-BhucWrOO.cjs.map} +1 -1
  252. package/dist/chunks/{NcActionTextEditable-DRwDJjPd.mjs → NcActionTextEditable-CSP4OjpU.mjs} +6 -6
  253. package/dist/chunks/{NcActionTextEditable-DRwDJjPd.mjs.map → NcActionTextEditable-CSP4OjpU.mjs.map} +1 -1
  254. package/dist/chunks/{NcActions-C832pWHO.mjs → NcActions-A918mfXE.mjs} +82 -64
  255. package/dist/chunks/{NcActions-C832pWHO.mjs.map → NcActions-A918mfXE.mjs.map} +1 -1
  256. package/dist/chunks/{NcActions-B7oXbiVt.cjs → NcActions-D3N_As6c.cjs} +82 -64
  257. package/dist/chunks/{NcActions-B7oXbiVt.cjs.map → NcActions-D3N_As6c.cjs.map} +1 -1
  258. package/dist/chunks/{NcAppContent-Djy38ou2.cjs → NcAppContent-CCyPMvUa.cjs} +27 -31
  259. package/dist/chunks/NcAppContent-CCyPMvUa.cjs.map +1 -0
  260. package/dist/chunks/{NcAppContent-C9NGJE6n.mjs → NcAppContent-DFlcxER-.mjs} +27 -31
  261. package/dist/chunks/NcAppContent-DFlcxER-.mjs.map +1 -0
  262. package/dist/chunks/{NcAppNavigation-C0Oc0gQ6.cjs → NcAppNavigation-CCHYn0D6.cjs} +7 -6
  263. package/dist/chunks/{NcAppNavigation-C0Oc0gQ6.cjs.map → NcAppNavigation-CCHYn0D6.cjs.map} +1 -1
  264. package/dist/chunks/{NcAppNavigation-DjtmN3dS.mjs → NcAppNavigation-CLF6-i2t.mjs} +7 -6
  265. package/dist/chunks/{NcAppNavigation-DjtmN3dS.mjs.map → NcAppNavigation-CLF6-i2t.mjs.map} +1 -1
  266. package/dist/chunks/{NcAppNavigationCaption-CsoHaLXg.mjs → NcAppNavigationCaption-CsG8P-1P.mjs} +3 -3
  267. package/dist/chunks/{NcAppNavigationCaption-CsoHaLXg.mjs.map → NcAppNavigationCaption-CsG8P-1P.mjs.map} +1 -1
  268. package/dist/chunks/{NcAppNavigationCaption-D4-hEmCi.cjs → NcAppNavigationCaption-DhW300oH.cjs} +3 -3
  269. package/dist/chunks/{NcAppNavigationCaption-D4-hEmCi.cjs.map → NcAppNavigationCaption-DhW300oH.cjs.map} +1 -1
  270. package/dist/chunks/{NcAppNavigationItem-DvVYHshm.mjs → NcAppNavigationItem-CwuKVEUN.mjs} +9 -9
  271. package/dist/chunks/{NcAppNavigationItem-DvVYHshm.mjs.map → NcAppNavigationItem-CwuKVEUN.mjs.map} +1 -1
  272. package/dist/chunks/{NcAppNavigationItem-ZOXUMmX5.cjs → NcAppNavigationItem-HZVy5JEa.cjs} +9 -9
  273. package/dist/chunks/{NcAppNavigationItem-ZOXUMmX5.cjs.map → NcAppNavigationItem-HZVy5JEa.cjs.map} +1 -1
  274. package/dist/chunks/{NcAppNavigationNew-AiFYSCW1.mjs → NcAppNavigationNew-DbqusDUV.mjs} +2 -2
  275. package/dist/chunks/{NcAppNavigationNew-AiFYSCW1.mjs.map → NcAppNavigationNew-DbqusDUV.mjs.map} +1 -1
  276. package/dist/chunks/{NcAppNavigationNew-BqNIa8N9.cjs → NcAppNavigationNew-T56pahiu.cjs} +2 -2
  277. package/dist/chunks/{NcAppNavigationNew-BqNIa8N9.cjs.map → NcAppNavigationNew-T56pahiu.cjs.map} +1 -1
  278. package/dist/chunks/{NcAppNavigationNewItem-CdlWkGU3.mjs → NcAppNavigationNewItem-BsnZWCLW.mjs} +2 -2
  279. package/dist/chunks/{NcAppNavigationNewItem-CdlWkGU3.mjs.map → NcAppNavigationNewItem-BsnZWCLW.mjs.map} +1 -1
  280. package/dist/chunks/{NcAppNavigationNewItem-BuEkCd2H.cjs → NcAppNavigationNewItem-DMRZwa_y.cjs} +2 -2
  281. package/dist/chunks/{NcAppNavigationNewItem-BuEkCd2H.cjs.map → NcAppNavigationNewItem-DMRZwa_y.cjs.map} +1 -1
  282. package/dist/chunks/{NcAppNavigationSearch-BXjB3FEJ.cjs → NcAppNavigationSearch-BlG1xMok.cjs} +9 -5
  283. package/dist/chunks/{NcAppNavigationSearch-BXjB3FEJ.cjs.map → NcAppNavigationSearch-BlG1xMok.cjs.map} +1 -1
  284. package/dist/chunks/{NcAppNavigationSearch-CsIzwF6F.mjs → NcAppNavigationSearch-DCMN2cWp.mjs} +9 -5
  285. package/dist/chunks/{NcAppNavigationSearch-CsIzwF6F.mjs.map → NcAppNavigationSearch-DCMN2cWp.mjs.map} +1 -1
  286. package/dist/chunks/{NcAppNavigationSettings-CkFZMLtH.cjs → NcAppNavigationSettings-DlIDzhxh.cjs} +5 -5
  287. package/dist/chunks/{NcAppNavigationSettings-CkFZMLtH.cjs.map → NcAppNavigationSettings-DlIDzhxh.cjs.map} +1 -1
  288. package/dist/chunks/{NcAppNavigationSettings-Dq2O3kRz.mjs → NcAppNavigationSettings-n8OaxTbE.mjs} +5 -5
  289. package/dist/chunks/{NcAppNavigationSettings-Dq2O3kRz.mjs.map → NcAppNavigationSettings-n8OaxTbE.mjs.map} +1 -1
  290. package/dist/chunks/{NcAppNavigationToggle-DlWpnYdz.mjs → NcAppNavigationToggle-ClYKr8Zn.mjs} +14 -13
  291. package/dist/chunks/{NcAppNavigationToggle-DlWpnYdz.mjs.map → NcAppNavigationToggle-ClYKr8Zn.mjs.map} +1 -1
  292. package/dist/chunks/{NcAppNavigationToggle-C2vtZ3uV.cjs → NcAppNavigationToggle-Cn1UvxNP.cjs} +14 -13
  293. package/dist/chunks/{NcAppNavigationToggle-C2vtZ3uV.cjs.map → NcAppNavigationToggle-Cn1UvxNP.cjs.map} +1 -1
  294. package/dist/chunks/NcAppSettingsDialog-Cpjr8Tca.mjs +132 -0
  295. package/dist/chunks/NcAppSettingsDialog-Cpjr8Tca.mjs.map +1 -0
  296. package/dist/chunks/NcAppSettingsDialog-R6Y-tl6d.cjs +134 -0
  297. package/dist/chunks/NcAppSettingsDialog-R6Y-tl6d.cjs.map +1 -0
  298. package/dist/chunks/NcAppSettingsSection-BNVlt4g0.mjs +88 -0
  299. package/dist/chunks/NcAppSettingsSection-BNVlt4g0.mjs.map +1 -0
  300. package/dist/chunks/NcAppSettingsSection-CTqViPnP.cjs +87 -0
  301. package/dist/chunks/NcAppSettingsSection-CTqViPnP.cjs.map +1 -0
  302. package/dist/chunks/{NcAppSidebar-Bda_fc-F.mjs → NcAppSidebar-CVcOP4bk.mjs} +20 -17
  303. package/dist/chunks/{NcAppSidebar-Bda_fc-F.mjs.map → NcAppSidebar-CVcOP4bk.mjs.map} +1 -1
  304. package/dist/chunks/{NcAppSidebar-Cx2ZxU4N.cjs → NcAppSidebar-Ddt82bsA.cjs} +20 -17
  305. package/dist/chunks/{NcAppSidebar-Cx2ZxU4N.cjs.map → NcAppSidebar-Ddt82bsA.cjs.map} +1 -1
  306. package/dist/chunks/{NcAssistantButton-zriu0Kiz.cjs → NcAssistantButton-WQvWhoAr.cjs} +5 -5
  307. package/dist/chunks/{NcAssistantButton-zriu0Kiz.cjs.map → NcAssistantButton-WQvWhoAr.cjs.map} +1 -1
  308. package/dist/chunks/{NcAssistantButton-Dk28Wilk.mjs → NcAssistantButton-lDdWOemf.mjs} +5 -5
  309. package/dist/chunks/{NcAssistantButton-Dk28Wilk.mjs.map → NcAssistantButton-lDdWOemf.mjs.map} +1 -1
  310. package/dist/chunks/{NcAssistantIcon-CtEF1hjA.mjs → NcAssistantIcon-BTjYuSQ9.mjs} +5 -5
  311. package/dist/chunks/{NcAssistantIcon-CtEF1hjA.mjs.map → NcAssistantIcon-BTjYuSQ9.mjs.map} +1 -1
  312. package/dist/chunks/{NcAssistantIcon-B-Udgta_.cjs → NcAssistantIcon-RDQ8YhZE.cjs} +5 -5
  313. package/dist/chunks/{NcAssistantIcon-B-Udgta_.cjs.map → NcAssistantIcon-RDQ8YhZE.cjs.map} +1 -1
  314. package/dist/chunks/{NcAvatar-CuYtFEdJ.mjs → NcAvatar-Cupl4prm.mjs} +31 -29
  315. package/dist/chunks/NcAvatar-Cupl4prm.mjs.map +1 -0
  316. package/dist/chunks/{NcAvatar-bd-5zXWN.cjs → NcAvatar-D_0Aw88L.cjs} +31 -29
  317. package/dist/chunks/NcAvatar-D_0Aw88L.cjs.map +1 -0
  318. package/dist/chunks/{NcBreadcrumb-ChxXdE2m.cjs → NcBreadcrumb-FbePEaGS.cjs} +22 -6
  319. package/dist/chunks/{NcBreadcrumb-ChxXdE2m.cjs.map → NcBreadcrumb-FbePEaGS.cjs.map} +1 -1
  320. package/dist/chunks/{NcBreadcrumb-D1106x4x.mjs → NcBreadcrumb-VJGW992x.mjs} +22 -6
  321. package/dist/chunks/{NcBreadcrumb-D1106x4x.mjs.map → NcBreadcrumb-VJGW992x.mjs.map} +1 -1
  322. package/dist/chunks/{NcBreadcrumbs-XAvQ1MIp.cjs → NcBreadcrumbs-CrNBCyUa.cjs} +47 -29
  323. package/dist/chunks/{NcBreadcrumbs-C9Zo0nca.mjs.map → NcBreadcrumbs-CrNBCyUa.cjs.map} +1 -1
  324. package/dist/chunks/{NcBreadcrumbs-C9Zo0nca.mjs → NcBreadcrumbs-DJSAcn8x.mjs} +47 -29
  325. package/dist/chunks/{NcBreadcrumbs-XAvQ1MIp.cjs.map → NcBreadcrumbs-DJSAcn8x.mjs.map} +1 -1
  326. package/dist/chunks/{NcButton-CWPBzbcC.mjs → NcButton-D3CaJu1f.mjs} +38 -22
  327. package/dist/chunks/{NcButton-CWPBzbcC.mjs.map → NcButton-D3CaJu1f.mjs.map} +1 -1
  328. package/dist/chunks/{NcButton-DOsCAjiE.cjs → NcButton-DK7bNZIL.cjs} +38 -22
  329. package/dist/chunks/{NcButton-DOsCAjiE.cjs.map → NcButton-DK7bNZIL.cjs.map} +1 -1
  330. package/dist/chunks/{NcCheckboxRadioSwitch-yVj7slxL.cjs → NcCheckboxRadioSwitch-CDFUoj2J.cjs} +8 -8
  331. package/dist/chunks/{NcCheckboxRadioSwitch-yVj7slxL.cjs.map → NcCheckboxRadioSwitch-CDFUoj2J.cjs.map} +1 -1
  332. package/dist/chunks/{NcCheckboxRadioSwitch-CLnWsBwK.mjs → NcCheckboxRadioSwitch-ezquUuPz.mjs} +8 -8
  333. package/dist/chunks/{NcCheckboxRadioSwitch-CLnWsBwK.mjs.map → NcCheckboxRadioSwitch-ezquUuPz.mjs.map} +1 -1
  334. package/dist/chunks/{NcCollectionList-5_ghrfiE.mjs → NcCollectionList-w-7M5HGN.mjs} +17 -16
  335. package/dist/chunks/{NcCollectionList-5_ghrfiE.mjs.map → NcCollectionList-w-7M5HGN.mjs.map} +1 -1
  336. package/dist/chunks/{NcCollectionList-DZh_7a3g.cjs → NcCollectionList-zAI6Ysc0.cjs} +17 -16
  337. package/dist/chunks/{NcCollectionList-DZh_7a3g.cjs.map → NcCollectionList-zAI6Ysc0.cjs.map} +1 -1
  338. package/dist/chunks/NcColorPicker-DpLU-oKM.mjs +157 -0
  339. package/dist/chunks/NcColorPicker-DpLU-oKM.mjs.map +1 -0
  340. package/dist/chunks/NcColorPicker-F-UP8OaJ.cjs +156 -0
  341. package/dist/chunks/NcColorPicker-F-UP8OaJ.cjs.map +1 -0
  342. package/dist/chunks/{NcContent-CGBJ782F.mjs → NcContent-C0_AA_wt.mjs} +7 -7
  343. package/dist/chunks/{NcContent-CGBJ782F.mjs.map → NcContent-C0_AA_wt.mjs.map} +1 -1
  344. package/dist/chunks/{NcContent-I3cwZc0Z.cjs → NcContent-DITvuNbF.cjs} +7 -7
  345. package/dist/chunks/{NcContent-I3cwZc0Z.cjs.map → NcContent-DITvuNbF.cjs.map} +1 -1
  346. package/dist/chunks/{NcCounterBubble-oxV8oMlX.mjs → NcCounterBubble-BKPpoBiy.mjs} +6 -4
  347. package/dist/chunks/{NcCounterBubble-oxV8oMlX.mjs.map → NcCounterBubble-BKPpoBiy.mjs.map} +1 -1
  348. package/dist/chunks/{NcCounterBubble-hyvazclA.cjs → NcCounterBubble-B_H3NCef.cjs} +6 -4
  349. package/dist/chunks/{NcCounterBubble-hyvazclA.cjs.map → NcCounterBubble-B_H3NCef.cjs.map} +1 -1
  350. package/dist/chunks/{NcDashboardWidget-DKUU16oT.cjs → NcDashboardWidget--n1nzfhg.cjs} +4 -4
  351. package/dist/chunks/{NcDashboardWidget-DKUU16oT.cjs.map → NcDashboardWidget--n1nzfhg.cjs.map} +1 -1
  352. package/dist/chunks/{NcDashboardWidget-_Bi63nDZ.mjs → NcDashboardWidget-CEL-DhKX.mjs} +4 -4
  353. package/dist/chunks/{NcDashboardWidget-_Bi63nDZ.mjs.map → NcDashboardWidget-CEL-DhKX.mjs.map} +1 -1
  354. package/dist/chunks/{NcDashboardWidgetItem-D4q57Lg_.mjs → NcDashboardWidgetItem-DeQtScn8.mjs} +4 -4
  355. package/dist/chunks/{NcDashboardWidgetItem-D4q57Lg_.mjs.map → NcDashboardWidgetItem-DeQtScn8.mjs.map} +1 -1
  356. package/dist/chunks/{NcDashboardWidgetItem-BhGOOhKF.cjs → NcDashboardWidgetItem-loanO02A.cjs} +4 -4
  357. package/dist/chunks/{NcDashboardWidgetItem-BhGOOhKF.cjs.map → NcDashboardWidgetItem-loanO02A.cjs.map} +1 -1
  358. package/dist/chunks/{NcDialog-Du-BeUCp.mjs → NcDialog-BM_wTqUn.mjs} +3 -3
  359. package/dist/chunks/{NcDialog-Du-BeUCp.mjs.map → NcDialog-BM_wTqUn.mjs.map} +1 -1
  360. package/dist/chunks/{NcDialog-B2tW1DtP.cjs → NcDialog-CG2sufkb.cjs} +3 -3
  361. package/dist/chunks/{NcDialog-B2tW1DtP.cjs.map → NcDialog-CG2sufkb.cjs.map} +1 -1
  362. package/dist/chunks/{NcDialogButton-DtGSMhif.mjs → NcDialogButton-Cr0wVMne.mjs} +6 -5
  363. package/dist/chunks/{NcDialogButton-DtGSMhif.mjs.map → NcDialogButton-Cr0wVMne.mjs.map} +1 -1
  364. package/dist/chunks/{NcDialogButton-BB84DliS.cjs → NcDialogButton-DkfxsIhv.cjs} +6 -5
  365. package/dist/chunks/{NcDialogButton-BB84DliS.cjs.map → NcDialogButton-DkfxsIhv.cjs.map} +1 -1
  366. package/dist/chunks/{NcEmojiPicker-B2SLfIBu.mjs → NcEmojiPicker-BV_iVlIv.mjs} +14 -13
  367. package/dist/chunks/NcEmojiPicker-BV_iVlIv.mjs.map +1 -0
  368. package/dist/chunks/{NcEmojiPicker-q_n1Rd8U.cjs → NcEmojiPicker-fgsuVz7X.cjs} +20 -19
  369. package/dist/chunks/NcEmojiPicker-fgsuVz7X.cjs.map +1 -0
  370. package/dist/chunks/{NcHeaderButton-AKzxd51V.cjs → NcHeaderButton-CNQVz4QP.cjs} +2 -2
  371. package/dist/chunks/{NcHeaderButton-AKzxd51V.cjs.map → NcHeaderButton-CNQVz4QP.cjs.map} +1 -1
  372. package/dist/chunks/{NcHeaderButton-BORaK-yT.mjs → NcHeaderButton-TJML067P.mjs} +2 -2
  373. package/dist/chunks/{NcHeaderButton-BORaK-yT.mjs.map → NcHeaderButton-TJML067P.mjs.map} +1 -1
  374. package/dist/chunks/{NcHeaderMenu-CBP4SYca.cjs → NcHeaderMenu-BzyFhg55.cjs} +10 -8
  375. package/dist/chunks/{NcHeaderMenu-CBP4SYca.cjs.map → NcHeaderMenu-BzyFhg55.cjs.map} +1 -1
  376. package/dist/chunks/{NcHeaderMenu-CkD6cjnH.mjs → NcHeaderMenu-D5ddiKnF.mjs} +10 -8
  377. package/dist/chunks/{NcHeaderMenu-CkD6cjnH.mjs.map → NcHeaderMenu-D5ddiKnF.mjs.map} +1 -1
  378. package/dist/chunks/{NcIconSvgWrapper-BreCg8pX.mjs → NcIconSvgWrapper-BCVwmZN2.mjs} +2 -2
  379. package/dist/chunks/{NcIconSvgWrapper-BreCg8pX.mjs.map → NcIconSvgWrapper-BCVwmZN2.mjs.map} +1 -1
  380. package/dist/chunks/{NcIconSvgWrapper-D-aKMbf3.cjs → NcIconSvgWrapper-DoVPfeNg.cjs} +2 -2
  381. package/dist/chunks/{NcIconSvgWrapper-D-aKMbf3.cjs.map → NcIconSvgWrapper-DoVPfeNg.cjs.map} +1 -1
  382. package/dist/chunks/{NcInputConfirmCancel-21vM2JHp.mjs → NcInputConfirmCancel-C8WnMK2V.mjs} +3 -3
  383. package/dist/chunks/{NcInputConfirmCancel-21vM2JHp.mjs.map → NcInputConfirmCancel-C8WnMK2V.mjs.map} +1 -1
  384. package/dist/chunks/{NcInputConfirmCancel-BqZm3WBG.cjs → NcInputConfirmCancel-DVVTaxWi.cjs} +3 -3
  385. package/dist/chunks/{NcInputConfirmCancel-BqZm3WBG.cjs.map → NcInputConfirmCancel-DVVTaxWi.cjs.map} +1 -1
  386. package/dist/chunks/{NcInputField-kKgY_2GV.mjs → NcInputField-1ujONIvp.mjs} +8 -7
  387. package/dist/chunks/{NcInputField-kKgY_2GV.mjs.map → NcInputField-1ujONIvp.mjs.map} +1 -1
  388. package/dist/chunks/{NcInputField-Dry3uU_8.cjs → NcInputField-LBv3nCrt.cjs} +8 -7
  389. package/dist/chunks/{NcInputField-Dry3uU_8.cjs.map → NcInputField-LBv3nCrt.cjs.map} +1 -1
  390. package/dist/chunks/{NcListItem-D_-a7WR9.cjs → NcListItem-DFEvD1TA.cjs} +9 -7
  391. package/dist/chunks/{NcListItem-D_-a7WR9.cjs.map → NcListItem-DFEvD1TA.cjs.map} +1 -1
  392. package/dist/chunks/{NcListItem-B3ETbT9w.mjs → NcListItem-DNMfT12A.mjs} +9 -7
  393. package/dist/chunks/{NcListItem-B3ETbT9w.mjs.map → NcListItem-DNMfT12A.mjs.map} +1 -1
  394. package/dist/chunks/{NcListItemIcon-CYR8eKOU.cjs → NcListItemIcon-OzD38-2R.cjs} +6 -5
  395. package/dist/chunks/{NcListItemIcon-CYR8eKOU.cjs.map → NcListItemIcon-OzD38-2R.cjs.map} +1 -1
  396. package/dist/chunks/{NcListItemIcon-bQZej-L0.mjs → NcListItemIcon-PNp6Wael.mjs} +6 -5
  397. package/dist/chunks/{NcListItemIcon-bQZej-L0.mjs.map → NcListItemIcon-PNp6Wael.mjs.map} +1 -1
  398. package/dist/chunks/{NcPasswordField-9LYKS0t_.mjs → NcPasswordField-D2iDTTpp.mjs} +29 -16
  399. package/dist/chunks/{NcPasswordField-9LYKS0t_.mjs.map → NcPasswordField-D2iDTTpp.mjs.map} +1 -1
  400. package/dist/chunks/{NcPasswordField-DPGGwGEl.cjs → NcPasswordField-lqTDeja4.cjs} +29 -16
  401. package/dist/chunks/{NcPasswordField-DPGGwGEl.cjs.map → NcPasswordField-lqTDeja4.cjs.map} +1 -1
  402. package/dist/chunks/{NcPopover-DkX3Esbr.cjs → NcPopover-DrXnNOgM.cjs} +14 -10
  403. package/dist/chunks/{NcPopover-DMUA5d7U.mjs.map → NcPopover-DrXnNOgM.cjs.map} +1 -1
  404. package/dist/chunks/{NcPopover-DMUA5d7U.mjs → NcPopover-nzbq2IjT.mjs} +14 -10
  405. package/dist/chunks/{NcPopover-DkX3Esbr.cjs.map → NcPopover-nzbq2IjT.mjs.map} +1 -1
  406. package/dist/chunks/{NcProgressBar-D7zYeXBH.mjs → NcProgressBar-BwnuvxiZ.mjs} +2 -2
  407. package/dist/chunks/{NcProgressBar-D7zYeXBH.mjs.map → NcProgressBar-BwnuvxiZ.mjs.map} +1 -1
  408. package/dist/chunks/{NcProgressBar-DvxA9bq5.cjs → NcProgressBar-D10gQgAY.cjs} +2 -2
  409. package/dist/chunks/{NcProgressBar-DvxA9bq5.cjs.map → NcProgressBar-D10gQgAY.cjs.map} +1 -1
  410. package/dist/chunks/{NcRadioGroup-BZ-humrK.cjs → NcRadioGroup-DsnIVQZJ.cjs} +23 -5
  411. package/dist/chunks/{NcRadioGroup-VKZJ0Vnh.mjs.map → NcRadioGroup-DsnIVQZJ.cjs.map} +1 -1
  412. package/dist/chunks/{NcRadioGroup-VKZJ0Vnh.mjs → NcRadioGroup-sZaH_3Y0.mjs} +23 -5
  413. package/dist/chunks/{NcRadioGroup-BZ-humrK.cjs.map → NcRadioGroup-sZaH_3Y0.mjs.map} +1 -1
  414. package/dist/chunks/{NcRadioGroupButton-QLL4wM7A.mjs → NcRadioGroupButton-B6m10k9G.mjs} +9 -9
  415. package/dist/chunks/{NcRadioGroupButton-QLL4wM7A.mjs.map → NcRadioGroupButton-B6m10k9G.mjs.map} +1 -1
  416. package/dist/chunks/{NcRadioGroupButton-7UZaDiJ2.cjs → NcRadioGroupButton-CDf_01-t.cjs} +9 -9
  417. package/dist/chunks/{NcRadioGroupButton-7UZaDiJ2.cjs.map → NcRadioGroupButton-CDf_01-t.cjs.map} +1 -1
  418. package/dist/chunks/{NcRelatedResourcesPanel-jvOEQWWO.mjs → NcRelatedResourcesPanel-Q6jZk-Pm.mjs} +49 -40
  419. package/dist/chunks/NcRelatedResourcesPanel-Q6jZk-Pm.mjs.map +1 -0
  420. package/dist/chunks/{NcRelatedResourcesPanel-jHQ2bRko.cjs → NcRelatedResourcesPanel-bfv-6W_Z.cjs} +50 -41
  421. package/dist/chunks/NcRelatedResourcesPanel-bfv-6W_Z.cjs.map +1 -0
  422. package/dist/chunks/{NcRichContenteditable-iQhj1-AH.mjs → NcRichContenteditable-8_poOeSx.mjs} +54 -31
  423. package/dist/chunks/{NcRichContenteditable-BILbjzSU.cjs.map → NcRichContenteditable-8_poOeSx.mjs.map} +1 -1
  424. package/dist/chunks/{NcRichContenteditable-BILbjzSU.cjs → NcRichContenteditable-CtLNSs0S.cjs} +54 -31
  425. package/dist/chunks/{NcRichContenteditable-iQhj1-AH.mjs.map → NcRichContenteditable-CtLNSs0S.cjs.map} +1 -1
  426. package/dist/chunks/{NcRichText-DYcfsH5s.cjs → NcRichText-CEsiozf5.cjs} +112 -121
  427. package/dist/chunks/NcRichText-CEsiozf5.cjs.map +1 -0
  428. package/dist/chunks/{NcRichText-B7M7rNqC.mjs → NcRichText-Dnx5x9WS.mjs} +114 -121
  429. package/dist/chunks/NcRichText-Dnx5x9WS.mjs.map +1 -0
  430. package/dist/chunks/{NcSelect-PvjbF3jF.mjs → NcSelect-TjZw7TJ_.mjs} +41 -24
  431. package/dist/chunks/{NcSelect-PvjbF3jF.mjs.map → NcSelect-TjZw7TJ_.mjs.map} +1 -1
  432. package/dist/chunks/{NcSelect-s3_u0qvy.cjs → NcSelect-bo6wla87.cjs} +41 -24
  433. package/dist/chunks/{NcSelect-s3_u0qvy.cjs.map → NcSelect-bo6wla87.cjs.map} +1 -1
  434. package/dist/chunks/{NcSelectTags-DYUCDZ_e.mjs → NcSelectTags-CytnLDOw.mjs} +52 -31
  435. package/dist/chunks/NcSelectTags-CytnLDOw.mjs.map +1 -0
  436. package/dist/chunks/{NcSelectTags-e4Gjcx_7.cjs → NcSelectTags-D2OSaAfO.cjs} +52 -31
  437. package/dist/chunks/NcSelectTags-D2OSaAfO.cjs.map +1 -0
  438. package/dist/chunks/{NcSelectUsers-CMF_h9c0.mjs → NcSelectUsers-Bm0877Tm.mjs} +7 -6
  439. package/dist/chunks/{NcSelectUsers-CMF_h9c0.mjs.map → NcSelectUsers-Bm0877Tm.mjs.map} +1 -1
  440. package/dist/chunks/{NcSelectUsers-Bmwhu14K.cjs → NcSelectUsers-wcRyExkC.cjs} +7 -6
  441. package/dist/chunks/{NcSelectUsers-Bmwhu14K.cjs.map → NcSelectUsers-wcRyExkC.cjs.map} +1 -1
  442. package/dist/chunks/{NcSettingsInputText-BQVh24zT.mjs → NcSettingsInputText-DPAtsY2T.mjs} +3 -3
  443. package/dist/chunks/{NcSettingsInputText-BQVh24zT.mjs.map → NcSettingsInputText-DPAtsY2T.mjs.map} +1 -1
  444. package/dist/chunks/{NcSettingsInputText-DWihH7ke.cjs → NcSettingsInputText-DaFMiOS6.cjs} +3 -3
  445. package/dist/chunks/{NcSettingsInputText-DWihH7ke.cjs.map → NcSettingsInputText-DaFMiOS6.cjs.map} +1 -1
  446. package/dist/chunks/{NcSettingsSection-evNvfEg2.mjs → NcSettingsSection-CX5q924g.mjs} +4 -3
  447. package/dist/chunks/{NcSettingsSection-evNvfEg2.mjs.map → NcSettingsSection-CX5q924g.mjs.map} +1 -1
  448. package/dist/chunks/{NcSettingsSection-Dgc7SEuu.cjs → NcSettingsSection-r4NOxKIz.cjs} +4 -3
  449. package/dist/chunks/{NcSettingsSection-Dgc7SEuu.cjs.map → NcSettingsSection-r4NOxKIz.cjs.map} +1 -1
  450. package/dist/chunks/{NcSettingsSelectGroup-C-YAk1f8.mjs → NcSettingsSelectGroup-CR4XLrgs.mjs} +25 -9
  451. package/dist/chunks/{NcSettingsSelectGroup-C-YAk1f8.mjs.map → NcSettingsSelectGroup-CR4XLrgs.mjs.map} +1 -1
  452. package/dist/chunks/{NcSettingsSelectGroup-X1pBwmAZ.cjs → NcSettingsSelectGroup-DYYAPkgp.cjs} +25 -9
  453. package/dist/chunks/{NcSettingsSelectGroup-X1pBwmAZ.cjs.map → NcSettingsSelectGroup-DYYAPkgp.cjs.map} +1 -1
  454. package/dist/chunks/{NcTextArea-DHmD6-6s.mjs → NcTextArea-If_ygOSv.mjs} +5 -5
  455. package/dist/chunks/{NcTextArea-DHmD6-6s.mjs.map → NcTextArea-If_ygOSv.mjs.map} +1 -1
  456. package/dist/chunks/{NcTextArea-DkVtHTpD.cjs → NcTextArea-iDhGI-Ko.cjs} +5 -5
  457. package/dist/chunks/{NcTextArea-DkVtHTpD.cjs.map → NcTextArea-iDhGI-Ko.cjs.map} +1 -1
  458. package/dist/chunks/{NcTextField-D_IMz2MR.mjs → NcTextField-BE9R1pLt.mjs} +31 -17
  459. package/dist/chunks/{NcTextField-D_IMz2MR.mjs.map → NcTextField-BE9R1pLt.mjs.map} +1 -1
  460. package/dist/chunks/{NcTextField-Cp3tulze.cjs → NcTextField-OPiMgNR7.cjs} +31 -17
  461. package/dist/chunks/{NcTextField-Cp3tulze.cjs.map → NcTextField-OPiMgNR7.cjs.map} +1 -1
  462. package/dist/chunks/{NcThemeProvider-BqGPTeWg.cjs → NcThemeProvider-DbNRSwkX.cjs} +2 -2
  463. package/dist/chunks/{NcThemeProvider-BqGPTeWg.cjs.map → NcThemeProvider-DbNRSwkX.cjs.map} +1 -1
  464. package/dist/chunks/{NcThemeProvider-25ResoIv.mjs → NcThemeProvider-E_S5rhIQ.mjs} +2 -2
  465. package/dist/chunks/{NcThemeProvider-25ResoIv.mjs.map → NcThemeProvider-E_S5rhIQ.mjs.map} +1 -1
  466. package/dist/chunks/{NcTimezonePicker-Cu1FrSIX.mjs → NcTimezonePicker-D4y736xC.mjs} +5 -5
  467. package/dist/chunks/{NcTimezonePicker-Cu1FrSIX.mjs.map → NcTimezonePicker-D4y736xC.mjs.map} +1 -1
  468. package/dist/chunks/{NcTimezonePicker-Co7jDP7N.cjs → NcTimezonePicker-DPpWz5fa.cjs} +5 -5
  469. package/dist/chunks/{NcTimezonePicker-Co7jDP7N.cjs.map → NcTimezonePicker-DPpWz5fa.cjs.map} +1 -1
  470. package/dist/chunks/{NcUserBubble-Be2B8iJY.mjs → NcUserBubble-8Mts76ii.mjs} +7 -6
  471. package/dist/chunks/{NcUserBubble-Be2B8iJY.mjs.map → NcUserBubble-8Mts76ii.mjs.map} +1 -1
  472. package/dist/chunks/{NcUserBubble-CdX6H9-M.cjs → NcUserBubble-Bb9WBP1S.cjs} +7 -6
  473. package/dist/chunks/{NcUserBubble-CdX6H9-M.cjs.map → NcUserBubble-Bb9WBP1S.cjs.map} +1 -1
  474. package/dist/chunks/{NcUserStatusIcon-C83nB_8T.mjs → NcUserStatusIcon-BWxo_etm.mjs} +11 -8
  475. package/dist/chunks/{NcUserStatusIcon-C83nB_8T.mjs.map → NcUserStatusIcon-BWxo_etm.mjs.map} +1 -1
  476. package/dist/chunks/{NcUserStatusIcon-DhZabBIY.cjs → NcUserStatusIcon-DV2H-KfR.cjs} +11 -8
  477. package/dist/chunks/{NcUserStatusIcon-DhZabBIY.cjs.map → NcUserStatusIcon-DV2H-KfR.cjs.map} +1 -1
  478. package/dist/chunks/{ScopeComponent-9wtS_FpN.cjs → ScopeComponent-CDX-s-IV.cjs} +2 -2
  479. package/dist/chunks/{ScopeComponent-9wtS_FpN.cjs.map → ScopeComponent-CDX-s-IV.cjs.map} +1 -1
  480. package/dist/chunks/{ScopeComponent-305QOaqN.mjs → ScopeComponent-DsONbC6w.mjs} +2 -2
  481. package/dist/chunks/{ScopeComponent-305QOaqN.mjs.map → ScopeComponent-DsONbC6w.mjs.map} +1 -1
  482. package/dist/chunks/{_l10n-DM-VRK9x.cjs → _l10n-9b4TMo5Q.cjs} +2 -6
  483. package/dist/chunks/{_l10n-DM-VRK9x.cjs.map → _l10n-9b4TMo5Q.cjs.map} +1 -1
  484. package/dist/chunks/{_l10n-BEfeU7gr.mjs → _l10n-DSLCwJSN.mjs} +41 -45
  485. package/dist/chunks/_l10n-DSLCwJSN.mjs.map +1 -0
  486. package/dist/chunks/{actionText-D2-z0ud3.cjs → actionText-D_3-6fCH.cjs} +2 -2
  487. package/dist/chunks/{actionText-D2-z0ud3.cjs.map → actionText-D_3-6fCH.cjs.map} +1 -1
  488. package/dist/chunks/{actionText-BMig9Egt.mjs → actionText-ZM1k96ts.mjs} +2 -2
  489. package/dist/chunks/{actionText-BMig9Egt.mjs.map → actionText-ZM1k96ts.mjs.map} +1 -1
  490. package/dist/chunks/{GenColors-DIH749TS.mjs → colors-BMiIMYXK.mjs} +42 -48
  491. package/dist/chunks/colors-BMiIMYXK.mjs.map +1 -0
  492. package/dist/chunks/{GenColors-BVouTbTJ.cjs → colors-DcbJ13is.cjs} +41 -47
  493. package/dist/chunks/colors-DcbJ13is.cjs.map +1 -0
  494. package/dist/chunks/createElementId-5skgwxOP.mjs +9 -0
  495. package/dist/chunks/{createElementId-DhjFt1I9.mjs.map → createElementId-5skgwxOP.mjs.map} +1 -1
  496. package/dist/chunks/createElementId-DaJhnLzq.cjs +8 -0
  497. package/dist/chunks/{createElementId-lalylSCf.cjs.map → createElementId-DaJhnLzq.cjs.map} +1 -1
  498. package/dist/chunks/{customPickerElements-DLFtgReB.mjs → customPickerElements-BPROmh4T.mjs} +43 -21
  499. package/dist/chunks/{customPickerElements-DLFtgReB.mjs.map → customPickerElements-BPROmh4T.mjs.map} +1 -1
  500. package/dist/chunks/{customPickerElements-GyIIOHiQ.cjs → customPickerElements-DBEOrbce.cjs} +43 -21
  501. package/dist/chunks/{customPickerElements-GyIIOHiQ.cjs.map → customPickerElements-DBEOrbce.cjs.map} +1 -1
  502. package/dist/chunks/{emoji-VgSjNTd5.cjs → emoji-BCCCB3t3.cjs} +4 -3
  503. package/dist/chunks/{emoji-VgSjNTd5.cjs.map → emoji-BCCCB3t3.cjs.map} +1 -1
  504. package/dist/chunks/{emoji-BY_D0V5K.mjs → emoji-V6ytyzoR.mjs} +4 -3
  505. package/dist/chunks/{emoji-BY_D0V5K.mjs.map → emoji-V6ytyzoR.mjs.map} +1 -1
  506. package/dist/chunks/{focusTrap-HJQ4pqHV.mjs → focusTrap-BibOtksr.mjs} +3 -2
  507. package/dist/chunks/{focusTrap-DUTqW_IG.cjs.map → focusTrap-BibOtksr.mjs.map} +1 -1
  508. package/dist/chunks/{focusTrap-DUTqW_IG.cjs → focusTrap-DhhUL4JZ.cjs} +3 -2
  509. package/dist/chunks/{focusTrap-HJQ4pqHV.mjs.map → focusTrap-DhhUL4JZ.cjs.map} +1 -1
  510. package/dist/chunks/getAvatarUrl-C8Q41hfR.mjs +16 -0
  511. package/dist/chunks/{getAvatarUrl-IhLacDEr.mjs.map → getAvatarUrl-C8Q41hfR.mjs.map} +1 -1
  512. package/dist/chunks/getAvatarUrl-DwWyuiUZ.cjs +15 -0
  513. package/dist/chunks/{getAvatarUrl-Du9Y3cPO.cjs.map → getAvatarUrl-DwWyuiUZ.cjs.map} +1 -1
  514. package/dist/chunks/{index-TmAR7I2T.mjs → index-BsEMR4S4.mjs} +9 -9
  515. package/dist/chunks/{index-TmAR7I2T.mjs.map → index-BsEMR4S4.mjs.map} +1 -1
  516. package/dist/chunks/{index-Dr9k4hIP.cjs → index-CmwBGDjr.cjs} +22 -4
  517. package/dist/chunks/{index-CxTT94_h.mjs.map → index-CmwBGDjr.cjs.map} +1 -1
  518. package/dist/chunks/{index-CgkN1xho.cjs → index-D_jGr37E.cjs} +9 -9
  519. package/dist/chunks/{index-CgkN1xho.cjs.map → index-D_jGr37E.cjs.map} +1 -1
  520. package/dist/chunks/{index-CxTT94_h.mjs → index-JArK0Dbx.mjs} +22 -4
  521. package/dist/chunks/{index-Dr9k4hIP.cjs.map → index-JArK0Dbx.mjs.map} +1 -1
  522. package/dist/chunks/legacy-DUgfmdiS.cjs +6 -0
  523. package/dist/chunks/{legacy-MK4GvP26.mjs.map → legacy-DUgfmdiS.cjs.map} +1 -1
  524. package/dist/chunks/legacy-NU_qxPFK.mjs +7 -0
  525. package/dist/chunks/{legacy-KBXhWdRy.cjs.map → legacy-NU_qxPFK.mjs.map} +1 -1
  526. package/dist/chunks/{mdi-DXu6GWVJ.mjs → mdi-CKSXwCsV.mjs} +8 -6
  527. package/dist/chunks/{mdi-DXu6GWVJ.mjs.map → mdi-CKSXwCsV.mjs.map} +1 -1
  528. package/dist/chunks/{mdi-BBwE-MZC.cjs → mdi-Nhb6SBw8.cjs} +3 -1
  529. package/dist/chunks/{mdi-BBwE-MZC.cjs.map → mdi-Nhb6SBw8.cjs.map} +1 -1
  530. package/dist/chunks/{referencePickerModal-BcAnnsxZ.cjs → referencePickerModal-CusxgEsK.cjs} +66 -35
  531. package/dist/chunks/referencePickerModal-CusxgEsK.cjs.map +1 -0
  532. package/dist/chunks/{referencePickerModal-CN4C9eDc.mjs → referencePickerModal-DpJUQ5fq.mjs} +66 -35
  533. package/dist/chunks/referencePickerModal-DpJUQ5fq.mjs.map +1 -0
  534. package/dist/chunks/useAppSettingsDialog-CPqmms-u.cjs +9 -0
  535. package/dist/chunks/useAppSettingsDialog-CPqmms-u.cjs.map +1 -0
  536. package/dist/chunks/useAppSettingsDialog-Dn48dw1k.mjs +10 -0
  537. package/dist/chunks/useAppSettingsDialog-Dn48dw1k.mjs.map +1 -0
  538. package/dist/chunks/{useModelMigration-EhAWvqDD.mjs → useModelMigration-DBUi8saj.mjs} +2 -2
  539. package/dist/chunks/useModelMigration-DBUi8saj.mjs.map +1 -0
  540. package/dist/chunks/{useModelMigration-D5zhrNXr.cjs → useModelMigration-HPf30klj.cjs} +2 -2
  541. package/dist/chunks/useModelMigration-HPf30klj.cjs.map +1 -0
  542. package/dist/chunks/{useTrapStackControl-BnLfCgGU.mjs → useTrapStackControl-2gEo3rvr.mjs} +2 -2
  543. package/dist/chunks/{useTrapStackControl-BnLfCgGU.mjs.map → useTrapStackControl-2gEo3rvr.mjs.map} +1 -1
  544. package/dist/chunks/{useTrapStackControl-XYABY64G.cjs → useTrapStackControl-dthvITlQ.cjs} +2 -2
  545. package/dist/chunks/{useTrapStackControl-XYABY64G.cjs.map → useTrapStackControl-dthvITlQ.cjs.map} +1 -1
  546. package/dist/components/NcAppSettingsDialog/index.d.ts +5 -0
  547. package/dist/components/NcAppSettingsDialog/useAppSettingsDialog.d.ts +24 -0
  548. package/dist/components/NcColorPicker/index.d.ts +5 -0
  549. package/dist/composables/index.d.ts +9 -0
  550. package/dist/composables/useHotKey/index.d.ts +4 -2
  551. package/dist/composables/useIsMobile/index.d.ts +23 -0
  552. package/dist/composables/useModelMigration.d.ts +1 -1
  553. package/dist/index.cjs +67 -67
  554. package/dist/index.mjs +67 -67
  555. package/dist/utils/colors.d.ts +36 -0
  556. package/package.json +10 -10
  557. package/dist/chunks/GenColors-BVouTbTJ.cjs.map +0 -1
  558. package/dist/chunks/GenColors-DIH749TS.mjs.map +0 -1
  559. package/dist/chunks/NcAppContent-C9NGJE6n.mjs.map +0 -1
  560. package/dist/chunks/NcAppContent-Djy38ou2.cjs.map +0 -1
  561. package/dist/chunks/NcAppSettingsDialog-DVFw09eD.mjs +0 -223
  562. package/dist/chunks/NcAppSettingsDialog-DVFw09eD.mjs.map +0 -1
  563. package/dist/chunks/NcAppSettingsDialog-DalEoC9H.cjs +0 -225
  564. package/dist/chunks/NcAppSettingsDialog-DalEoC9H.cjs.map +0 -1
  565. package/dist/chunks/NcAvatar-CuYtFEdJ.mjs.map +0 -1
  566. package/dist/chunks/NcAvatar-bd-5zXWN.cjs.map +0 -1
  567. package/dist/chunks/NcColorPicker-Cae6XNoK.mjs +0 -255
  568. package/dist/chunks/NcColorPicker-Cae6XNoK.mjs.map +0 -1
  569. package/dist/chunks/NcColorPicker-D-E2dT4Q.cjs +0 -254
  570. package/dist/chunks/NcColorPicker-D-E2dT4Q.cjs.map +0 -1
  571. package/dist/chunks/NcEmojiPicker-B2SLfIBu.mjs.map +0 -1
  572. package/dist/chunks/NcEmojiPicker-q_n1Rd8U.cjs.map +0 -1
  573. package/dist/chunks/NcRelatedResourcesPanel-jHQ2bRko.cjs.map +0 -1
  574. package/dist/chunks/NcRelatedResourcesPanel-jvOEQWWO.mjs.map +0 -1
  575. package/dist/chunks/NcRichText-B7M7rNqC.mjs.map +0 -1
  576. package/dist/chunks/NcRichText-DYcfsH5s.cjs.map +0 -1
  577. package/dist/chunks/NcSelectTags-DYUCDZ_e.mjs.map +0 -1
  578. package/dist/chunks/NcSelectTags-e4Gjcx_7.cjs.map +0 -1
  579. package/dist/chunks/_l10n-BEfeU7gr.mjs.map +0 -1
  580. package/dist/chunks/createElementId-DhjFt1I9.mjs +0 -8
  581. package/dist/chunks/createElementId-lalylSCf.cjs +0 -7
  582. package/dist/chunks/getAvatarUrl-Du9Y3cPO.cjs +0 -14
  583. package/dist/chunks/getAvatarUrl-IhLacDEr.mjs +0 -15
  584. package/dist/chunks/legacy-KBXhWdRy.cjs +0 -5
  585. package/dist/chunks/legacy-MK4GvP26.mjs +0 -6
  586. package/dist/chunks/referencePickerModal-BcAnnsxZ.cjs.map +0 -1
  587. package/dist/chunks/referencePickerModal-CN4C9eDc.mjs.map +0 -1
  588. package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +0 -1
  589. package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +0 -1
@@ -1,17 +1,17 @@
1
- require('../assets/NcEmojiPicker-CrjOSMLF.css');
1
+ require('../assets/NcEmojiPicker-B-iLLj37.css');
2
2
  "use strict";
3
3
  const emojiMartVueFast = require("emoji-mart-vue-fast");
4
4
  const data = require("emoji-mart-vue-fast/data/all.json");
5
5
  const tabbable = require("tabbable");
6
6
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
7
- const NcColorPicker = require("./NcColorPicker-D-E2dT4Q.cjs");
8
- const useTrapStackControl = require("./useTrapStackControl-XYABY64G.cjs");
9
- const emoji = require("./emoji-VgSjNTd5.cjs");
10
- const _l10n = require("./_l10n-DM-VRK9x.cjs");
11
- const GenColors = require("./GenColors-BVouTbTJ.cjs");
12
- const NcButton = require("./NcButton-DOsCAjiE.cjs");
13
- const NcPopover = require("./NcPopover-DkX3Esbr.cjs");
14
- const NcTextField = require("./NcTextField-Cp3tulze.cjs");
7
+ const NcColorPicker = require("./NcColorPicker-F-UP8OaJ.cjs");
8
+ const useTrapStackControl = require("./useTrapStackControl-dthvITlQ.cjs");
9
+ const emoji = require("./emoji-BCCCB3t3.cjs");
10
+ const _l10n = require("./_l10n-9b4TMo5Q.cjs");
11
+ const colors = require("./colors-DcbJ13is.cjs");
12
+ const NcButton = require("./NcButton-DK7bNZIL.cjs");
13
+ const NcPopover = require("./NcPopover-DrXnNOgM.cjs");
14
+ const NcTextField = require("./NcTextField-OPiMgNR7.cjs");
15
15
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
16
16
  const data__default = /* @__PURE__ */ _interopDefault(data);
17
17
  const _sfc_main$1 = {
@@ -68,12 +68,12 @@ const i18n = {
68
68
  }
69
69
  };
70
70
  const skinTonePalette = [
71
- new GenColors.Color(255, 222, 52, _l10n.t("Neutral skin color")),
72
- new GenColors.Color(228, 205, 166, _l10n.t("Light skin tone")),
73
- new GenColors.Color(250, 221, 192, _l10n.t("Medium light skin tone")),
74
- new GenColors.Color(174, 129, 87, _l10n.t("Medium skin tone")),
75
- new GenColors.Color(158, 113, 88, _l10n.t("Medium dark skin tone")),
76
- new GenColors.Color(96, 79, 69, _l10n.t("Dark skin tone"))
71
+ new colors.Color(255, 222, 52, _l10n.t("Neutral skin color")),
72
+ new colors.Color(228, 205, 166, _l10n.t("Light skin tone")),
73
+ new colors.Color(250, 221, 192, _l10n.t("Medium light skin tone")),
74
+ new colors.Color(174, 129, 87, _l10n.t("Medium skin tone")),
75
+ new colors.Color(158, 113, 88, _l10n.t("Medium dark skin tone")),
76
+ new colors.Color(96, 79, 69, _l10n.t("Dark skin tone"))
77
77
  ];
78
78
  const _sfc_main = {
79
79
  name: "NcEmojiPicker",
@@ -219,8 +219,9 @@ const _sfc_main = {
219
219
  this.$refs.search.focus();
220
220
  },
221
221
  afterHide() {
222
+ var _a;
222
223
  if (!document.activeElement || this.$refs.picker.$el.contains(document.activeElement) || !tabbable.isFocusable(document.activeElement)) {
223
- this.$refs.popover.$el.querySelector('button, [role="button"]')?.focus();
224
+ (_a = this.$refs.popover.$el.querySelector('button, [role="button"]')) == null ? void 0 : _a.focus();
224
225
  }
225
226
  },
226
227
  /**
@@ -250,7 +251,7 @@ const _sfc_main = {
250
251
  this.$refs.picker[originalHandlerName](event);
251
252
  await this.$nextTick();
252
253
  const selectedEmoji = this.$refs.picker.$el.querySelector(".emoji-mart-emoji-selected");
253
- selectedEmoji?.scrollIntoView({
254
+ selectedEmoji == null ? void 0 : selectedEmoji.scrollIntoView({
254
255
  block: "center",
255
256
  inline: "center"
256
257
  });
@@ -312,8 +313,8 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
312
313
  _sfc_staticRenderFns,
313
314
  false,
314
315
  null,
315
- "5a94b919"
316
+ "a3ed576d"
316
317
  );
317
318
  const NcEmojiPicker = __component__.exports;
318
319
  exports.NcEmojiPicker = NcEmojiPicker;
319
- //# sourceMappingURL=NcEmojiPicker-q_n1Rd8U.cjs.map
320
+ //# sourceMappingURL=NcEmojiPicker-fgsuVz7X.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcEmojiPicker-fgsuVz7X.cjs","sources":["../../node_modules/vue-material-design-icons/Circle.vue","../../src/components/NcEmojiPicker/NcEmojiPicker.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component allows the user to pick an emoji.\n\n### Usage\n\n* Listen to the select event and pass in an HTML element that will be treated as a trigger:\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker @select=\"select\" style=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n* Showing a preview and keeping it open after a user selected an emoji\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker\n\t\t\t:close-on-select=\"false\"\n\t\t\t:show-preview=\"true\"\n\t\t\t@select=\"select\"\n\t\t\tstyle=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n* Allow unselecting a previously set emoji.\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker\n\t\t\t:show-preview=\"true\"\n\t\t\t:allow-unselect=\"true\"\n\t\t\t:selected-emoji=\"emoji\"\n\t\t\t@select=\"select\"\n\t\t\t@unselect=\"unselect\"\n\t\t\tstyle=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t\tunselect() {\n\t\t\t\tthis.emoji = ''\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n</docs>\n\n<template>\n\t<NcPopover\n\t\tref=\"popover\"\n\t\t:shown.sync=\"open\"\n\t\t:container=\"container\"\n\t\tpopup-role=\"dialog\"\n\t\tv-bind=\"$attrs\"\n\t\t:focus-trap=\"false /* Handled manually to remove emoji buttons from TAB sequence */\"\n\t\tv-on=\"$listeners\"\n\t\t@after-show=\"afterShow\"\n\t\t@after-hide=\"afterHide\">\n\t\t<template #trigger=\"slotProps\">\n\t\t\t<slot v-bind=\"slotProps\" />\n\t\t</template>\n\t\t<div class=\"nc-emoji-picker-container\">\n\t\t\t<Picker\n\t\t\t\tref=\"picker\"\n\t\t\t\tcolor=\"var(--color-primary-element)\"\n\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t:emoji=\"previewFallbackEmoji\"\n\t\t\t\t:i18n=\"i18n\"\n\t\t\t\t:native=\"native\"\n\t\t\t\t:emoji-size=\"20\"\n\t\t\t\t:per-line=\"8\"\n\t\t\t\t:picker-styles=\"{ width: '320px' }\"\n\t\t\t\t:show-preview=\"showPreview\"\n\t\t\t\t:skin=\"currentSkinTone\"\n\t\t\t\t:show-skin-tones=\"false\"\n\t\t\t\t:title=\"previewFallbackName\"\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-modal=\"true\"\n\t\t\t\t:aria-label=\"t('Emoji picker')\"\n\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t@keydown.native.tab.prevent=\"handleTabNavigationSkippingEmojis\"\n\t\t\t\t@select=\"select\">\n\t\t\t\t<template #searchTemplate=\"{ onSearch }\">\n\t\t\t\t\t<div class=\"search__wrapper\">\n\t\t\t\t\t\t<NcTextField\n\t\t\t\t\t\t\tref=\"search\"\n\t\t\t\t\t\t\tclass=\"search\"\n\t\t\t\t\t\t\t:value.sync=\"search\"\n\t\t\t\t\t\t\t:label=\"t('Search')\"\n\t\t\t\t\t\t\t:label-visible=\"true\"\n\t\t\t\t\t\t\t:placeholder=\"i18n.search\"\n\t\t\t\t\t\t\ttrailing-button-icon=\"close\"\n\t\t\t\t\t\t\t:trailing-button-label=\"t('Clear search')\"\n\t\t\t\t\t\t\t:show-trailing-button=\"search !== ''\"\n\t\t\t\t\t\t\t@keydown.left=\"callPickerArrowHandlerWithScrollFix('onArrowLeft', $event)\"\n\t\t\t\t\t\t\t@keydown.right=\"callPickerArrowHandlerWithScrollFix('onArrowRight', $event)\"\n\t\t\t\t\t\t\t@keydown.down=\"callPickerArrowHandlerWithScrollFix('onArrowDown', $event)\"\n\t\t\t\t\t\t\t@keydown.up=\"callPickerArrowHandlerWithScrollFix('onArrowUp', $event)\"\n\t\t\t\t\t\t\t@keydown.enter=\"$refs.picker.onEnter\"\n\t\t\t\t\t\t\t@trailing-button-click=\"clearSearch(); onSearch('');\"\n\t\t\t\t\t\t\t@update:value=\"onSearch(search)\" />\n\t\t\t\t\t\t<NcColorPicker\n\t\t\t\t\t\t\tpalette-only\n\t\t\t\t\t\t\t:container=\"container\"\n\t\t\t\t\t\t\t:palette=\"skinTonePalette\"\n\t\t\t\t\t\t\t:value=\"currentColor.color\"\n\t\t\t\t\t\t\t@update:value=\"onChangeSkinTone\">\n\t\t\t\t\t\t\t<NcButton :aria-label=\"t('Skin tone')\" variant=\"tertiary-no-background\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<IconCircle :style=\"{ color: currentColor.color }\" :title=\"currentColor.name\" :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</NcColorPicker>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-if=\"allowUnselect && selectedEmoji\" #customCategory>\n\t\t\t\t\t<div class=\"emoji-mart-category-label\">\n\t\t\t\t\t\t<h3 class=\"emoji-mart-category-label\">\n\t\t\t\t\t\t\t{{ t('Selected') }}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Emoji\n\t\t\t\t\t\tclass=\"emoji-selected\"\n\t\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\t\t:emoji=\"selectedEmoji\"\n\t\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t\t:size=\"32\"\n\t\t\t\t\t\t@click=\"unselect\" />\n\t\t\t\t\t<Emoji\n\t\t\t\t\t\tclass=\"emoji-delete\"\n\t\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\t\temoji=\":x:\"\n\t\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t\t:size=\"10\"\n\t\t\t\t\t\t@click=\"unselect\" />\n\t\t\t\t</template>\n\t\t\t</Picker>\n\t\t</div>\n\t</NcPopover>\n</template>\n\n<script>\nimport { Emoji, EmojiIndex, Picker } from 'emoji-mart-vue-fast'\nimport data from 'emoji-mart-vue-fast/data/all.json'\nimport { isFocusable } from 'tabbable'\nimport IconCircle from 'vue-material-design-icons/Circle.vue'\nimport NcColorPicker from '../NcColorPicker/NcColorPicker.vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { getCurrentSkinTone, setCurrentSkinTone } from '../../functions/emoji/emoji.ts'\nimport { t } from '../../l10n.js'\nimport { Color } from '../../utils/colors.ts'\nimport NcButton from '../NcButton/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport NcTextField from '../NcTextField/index.js'\n\n// Shared emoji index and skinTone for all NcEmojiPicker instances\n// Will be initialized on the first NcEmojiPicker creating\nlet emojiIndex\n\nconst i18n = {\n\tsearch: t('Search emoji'),\n\tnotfound: t('No emoji found'),\n\tcategories: {\n\t\tsearch: t('Search results'),\n\t\trecent: t('Frequently used'),\n\t\tsmileys: t('Smileys & Emotion'),\n\t\tpeople: t('People & Body'),\n\t\tnature: t('Animals & Nature'),\n\t\tfoods: t('Food & Drink'),\n\t\tactivity: t('Activities'),\n\t\tplaces: t('Travel & Places'),\n\t\tobjects: t('Objects'),\n\t\tsymbols: t('Symbols'),\n\t\tflags: t('Flags'),\n\t\tcustom: t('Custom'),\n\t},\n}\n\nconst skinTonePalette = [\n\tnew Color(255, 222, 52, t('Neutral skin color')),\n\tnew Color(228, 205, 166, t('Light skin tone')),\n\tnew Color(250, 221, 192, t('Medium light skin tone')),\n\tnew Color(174, 129, 87, t('Medium skin tone')),\n\tnew Color(158, 113, 88, t('Medium dark skin tone')),\n\tnew Color(96, 79, 69, t('Dark skin tone')),\n]\n\nexport default {\n\tname: 'NcEmojiPicker',\n\n\tcomponents: {\n\t\tEmoji,\n\t\tIconCircle,\n\t\tNcButton,\n\t\tNcColorPicker,\n\t\tNcPopover,\n\t\tNcTextField,\n\t\tPicker,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The emoji-set\n\t\t */\n\t\tactiveSet: {\n\t\t\ttype: String,\n\t\t\tdefault: 'native',\n\t\t},\n\n\t\t/**\n\t\t * Show preview section when hovering emoji\n\t\t */\n\t\tshowPreview: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Allow unselecting the selected emoji\n\t\t */\n\t\tallowUnselect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Selected emoji to allow unselecting\n\t\t */\n\t\tselectedEmoji: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * The fallback emoji in the preview section\n\t\t */\n\t\tpreviewFallbackEmoji: {\n\t\t\ttype: String,\n\t\t\tdefault: 'grinning',\n\t\t},\n\n\t\t/**\n\t\t * The fallback text in the preview section\n\t\t */\n\t\tpreviewFallbackName: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Pick an emoji'),\n\t\t},\n\n\t\t/**\n\t\t * Whether to close the emoji picker after picking one\n\t\t */\n\t\tcloseOnSelect: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover container\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: [Boolean, String, Object, Element],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\n\temits: [\n\t\t'select',\n\t\t'select-data',\n\t\t'unselect',\n\t],\n\n\tsetup() {\n\t\t// If this is the first instance of NcEmojiPicker - setup EmojiIndex\n\t\tif (!emojiIndex) {\n\t\t\temojiIndex = new EmojiIndex(data)\n\t\t}\n\n\t\treturn {\n\t\t\t// Non-reactive constants\n\t\t\temojiIndex,\n\t\t\tskinTonePalette,\n\t\t\ti18n,\n\t\t}\n\t},\n\n\tdata() {\n\t\tconst currentSkinTone = getCurrentSkinTone()\n\n\t\treturn {\n\t\t\t/**\n\t\t\t * The current active color from the skin tone palette\n\t\t\t */\n\t\t\tcurrentColor: skinTonePalette[currentSkinTone - 1],\n\t\t\t/**\n\t\t\t * The current active skin tone\n\t\t\t *\n\t\t\t * @type {1|2|3|4|5|6}\n\t\t\t */\n\t\t\tcurrentSkinTone,\n\t\t\tsearch: '',\n\t\t\topen: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tnative() {\n\t\t\treturn this.activeSet === 'native'\n\t\t},\n\t},\n\n\tcreated() {\n\t\t// Component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(() => this.open)\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tclearSearch() {\n\t\t\tthis.search = ''\n\t\t\tthis.$refs.search.focus()\n\t\t},\n\n\t\t/**\n\t\t * Update the current skin tone by the result of the color picker\n\t\t *\n\t\t * @param {string} color Color set\n\t\t */\n\t\tonChangeSkinTone(color) {\n\t\t\tconst index = this.skinTonePalette.findIndex((tone) => tone.color.toLowerCase() === color.toLowerCase())\n\t\t\tif (index > -1) {\n\t\t\t\tthis.currentSkinTone = index + 1\n\t\t\t\tthis.currentColor = this.skinTonePalette[index]\n\t\t\t\tsetCurrentSkinTone(this.currentSkinTone)\n\t\t\t}\n\t\t},\n\n\t\tselect(emojiObject) {\n\t\t\t/**\n\t\t\t * Emits a string containing the emoji e.g. '👩🏿‍💻'\n\t\t\t */\n\t\t\tthis.$emit('select', emojiObject.native)\n\n\t\t\t/**\n\t\t\t * Emits a object with more data about the picked emoji\n\t\t\t */\n\t\t\tthis.$emit('select-data', emojiObject)\n\n\t\t\tif (this.closeOnSelect) {\n\t\t\t\tthis.open = false\n\t\t\t}\n\t\t},\n\n\t\tunselect() {\n\t\t\tthis.$emit('unselect')\n\t\t},\n\n\t\tafterShow() {\n\t\t\tthis.$refs.search.focus()\n\t\t},\n\n\t\tafterHide() {\n\t\t\t// Manually return focus to the trigger button, as we disabled focus-trap\n\t\t\t// But only if there is no focus target outside the picker, for example, input element that received focus by click closing the emoji picker\n\t\t\tif (!document.activeElement || this.$refs.picker.$el.contains(document.activeElement) || !isFocusable(document.activeElement)) {\n\t\t\t\tthis.$refs.popover.$el.querySelector('button, [role=\"button\"]')?.focus()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manually handle Tab navigation skipping emoji buttons.\n\t\t * Navigation over emojis is handled by Arrow keys.\n\t\t *\n\t\t * @param {KeyboardEvent} event - Keyboard event\n\t\t */\n\t\thandleTabNavigationSkippingEmojis(event) {\n\t\t\tconst current = event.target\n\t\t\tconst focusable = Array.from(this.$refs.picker.$el.querySelectorAll('button:not(.emoji-mart-emoji), input'))\n\t\t\tif (!event.shiftKey) {\n\t\t\t\tconst nextNode = focusable.find((node) => current.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_FOLLOWING) || focusable[0]\n\t\t\t\tnextNode.focus()\n\t\t\t} else {\n\t\t\t\tconst prevNode = focusable.findLast((node) => current.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_PRECEDING) || focusable.at(-1)\n\t\t\t\tprevNode.focus()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle arrow navigation via <Picker>'s handlers with scroll bug fix\n\t\t *\n\t\t * @param {'onArrowLeft' | 'onArrowRight' | 'onArrowDown' | 'onArrowUp'} originalHandlerName - Picker's arrow keydown handler name\n\t\t * @param {KeyboardEvent} event - Keyboard event\n\t\t */\n\t\tasync callPickerArrowHandlerWithScrollFix(originalHandlerName, event) {\n\t\t\t// Call the original handler\n\t\t\t// See: https://github.com/serebrov/emoji-mart-vue/blob/a1ea72673a111cce78dc8caad8bc9ea3e02ad5bd/src/components/Picker.vue#L29\n\t\t\t// TODO: expose these methods via slot props in upstream library\n\t\t\tthis.$refs.picker[originalHandlerName](event)\n\n\t\t\t// Wait until emoji-mart-vue-fast scrolls\n\t\t\tawait this.$nextTick()\n\n\t\t\t// Scroll position is incorrect after emoji-mart-vue-fast scrolls...\n\t\t\t// It calculates scroll incorrectly.\n\t\t\t// It doesn't take into account, that emojis are wrapped into categories sections\n\t\t\t// See: https://github.com/serebrov/emoji-mart-vue/blob/a1ea72673a111cce78dc8caad8bc9ea3e02ad5bd/src/utils/picker.js#L244\n\t\t\t// Now scroll to the correct position\n\t\t\t// TODO: fix in upstream\n\t\t\tconst selectedEmoji = this.$refs.picker.$el.querySelector('.emoji-mart-emoji-selected')\n\t\t\tselectedEmoji?.scrollIntoView({\n\t\t\t\tblock: 'center',\n\t\t\t\tinline: 'center',\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use \"sass:meta\";\n\n.nc-emoji-picker-container :deep() {\n\t@include meta.load-css('emoji-mart-vue-fast/css/emoji-mart.css');\n}\n\n.nc-emoji-picker-container :deep(.emoji-mart) {\n\tbackground-color: var(--color-main-background) !important;\n\tborder: 0;\n\tcolor: var(--color-main-text) !important;\n\n\t// Reset emoji-mart styles\n\tbutton {\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tfont-size: inherit;\n\t}\n\n\t.emoji-mart-bar,\n\t.emoji-mart-anchors,\n\t.emoji-mart-search,\n\t.emoji-mart-search input,\n\t.emoji-mart-category,\n\t.emoji-mart-category-label,\n\t.emoji-mart-category-label span,\n\t.emoji-mart-skin-swatches {\n\t\tbackground-color: transparent !important;\n\t\tborder-color: var(--color-border) !important;\n\t\tcolor: inherit !important;\n\t}\n\n\t.emoji-mart-anchors {\n\t\tpadding-block: 0;\n\t\tpadding-inline: calc(2 * var(--default-grid-baseline));\n\t}\n\n\t.emoji-mart-anchor {\n\t\tborder-radius: 0;\n\t\tmargin: 0 !important;\n\t\tpadding: 0 !important;\n\t\theight: var(--clickable-area-small);\n\t\tmin-width: var(--clickable-area-small);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\toutline: 2px solid var(--color-primary-element) !important;\n\t\t\toutline-offset: -2px;\n\t\t}\n\n\t\t// Icon\n\t\tdiv {\n\t\t\tdisplay: grid;\n\t\t\tplace-content: center;\n\t\t}\n\t}\n\n\t.emoji-mart-scroll {\n\t\tpadding-inline: calc(2 * var(--default-grid-baseline));\n\t\tpadding-block: 0 calc(2 * var(--default-grid-baseline));\n\t}\n\n\t.emoji-mart-category {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(8, 1fr);\n\t\tjustify-items: stretch;\n\n\t\t&.emoji-mart-no-results {\n\t\t\tgrid-template-columns: 1fr;\n\t\t\tfont-size: inherit;\n\t\t\tcolor: var(--color-text-maxcontrast) !important;\n\t\t}\n\t}\n\n\t/* Label element in the section grid */\n\tdiv.emoji-mart-category-label {\n\t\tgrid-column: span 8;\n\t\tjustify-self: stretch;\n\t}\n\n\t/* An actual heading inside the element */\n\th3.emoji-mart-category-label {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t// Inline with buttons\n\t\theight: var(--default-clickable-area);\n\t\tmargin: 0;\n\t\t// Inline with input\n\t\tpadding-inline: calc(2 * var(--default-grid-baseline));\n\t\tpadding-block: 0;\n\t\tuser-select: none;\n\t}\n\n\t.emoji-mart-emoji {\n\t\taspect-ratio: 1 / 1;\n\t\ttext-align: center;\n\t\tmargin: 0 !important;\n\t\tpadding: 0 !important;\n\n\t\t&:hover,\n\t\t&:focus-visible,\n\t\t&.emoji-mart-emoji-selected {\n\t\t\tbackground-color: var(--color-background-hover) !important;\n\t\t\tborder: none;\n\t\t\tborder-radius: var(--border-radius-element, var(--border-radius-pill));\n\t\t\tbox-shadow: none !important;\n\t\t\toutline: 2px solid var(--color-primary-element) !important;\n\t\t\toutline-offset: -2px;\n\t\t}\n\n\t\t&::before {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\tspan {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n.search__wrapper {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: var(--default-grid-baseline);\n\talign-items: end;\n\tpadding-block: var(--default-grid-baseline);\n\tpadding-inline: calc(2 * var(--default-grid-baseline));\n}\n\n.row-selected {\n\tbutton, span {\n\t\tvertical-align: middle;\n\t}\n}\n\n.emoji-delete {\n\tvertical-align: top;\n\tmargin-left: -21px;\n\tmargin-top: -3px;\n}\n</style>\n"],"names":["_sfc_main","t","Color","Emoji","NcButton","NcColorPicker","NcPopover","NcTextField","Picker","EmojiIndex","data","getCurrentSkinTone","useTrapStackControl","setCurrentSkinTone","isFocusable"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,7 +1,7 @@
1
1
  require('../assets/NcHeaderButton-CeT-dsLr.css');
2
2
  "use strict";
3
3
  const GenRandomId = require("./GenRandomId-D7iOvpZS.cjs");
4
- const NcButton = require("./NcButton-DOsCAjiE.cjs");
4
+ const NcButton = require("./NcButton-DK7bNZIL.cjs");
5
5
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
6
6
  const _sfc_main = {
7
7
  name: "NcHeaderButton",
@@ -60,4 +60,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
60
60
  );
61
61
  const NcHeaderButton = __component__.exports;
62
62
  exports.NcHeaderButton = NcHeaderButton;
63
- //# sourceMappingURL=NcHeaderButton-AKzxd51V.cjs.map
63
+ //# sourceMappingURL=NcHeaderButton-CNQVz4QP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderButton-AKzxd51V.cjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../NcHeaderMenu/header-menu__trigger';\n</style>\n"],"names":["NcButton","GenRandomId"],"mappings":";;;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA,SAAAA;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAAC,YAAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHeaderButton-CNQVz4QP.cjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../NcHeaderMenu/header-menu__trigger';\n</style>\n"],"names":["NcButton","GenRandomId"],"mappings":";;;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA,SAAAA;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAAC,YAAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import '../assets/NcHeaderButton-CeT-dsLr.css';
2
2
  import { G as GenRandomId } from "./GenRandomId-F5ebeBB_.mjs";
3
- import { N as NcButton } from "./NcButton-CWPBzbcC.mjs";
3
+ import { N as NcButton } from "./NcButton-D3CaJu1f.mjs";
4
4
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
5
5
  const _sfc_main = {
6
6
  name: "NcHeaderButton",
@@ -61,4 +61,4 @@ const NcHeaderButton = __component__.exports;
61
61
  export {
62
62
  NcHeaderButton as N
63
63
  };
64
- //# sourceMappingURL=NcHeaderButton-BORaK-yT.mjs.map
64
+ //# sourceMappingURL=NcHeaderButton-TJML067P.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderButton-BORaK-yT.mjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../NcHeaderMenu/header-menu__trigger';\n</style>\n"],"names":[],"mappings":";;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHeaderButton-TJML067P.mjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../NcHeaderMenu/header-menu__trigger';\n</style>\n"],"names":[],"mappings":";;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ require('../assets/NcHeaderMenu-BXb9npZp.css');
4
4
  const components = require("@vueuse/components");
5
5
  const focusTrap = require("focus-trap");
6
6
  const Vue = require("vue");
7
- const useTrapStackControl = require("./useTrapStackControl-XYABY64G.cjs");
7
+ const useTrapStackControl = require("./useTrapStackControl-dthvITlQ.cjs");
8
8
  const Mixins_clickOutsideOptions = require("../Mixins/clickOutsideOptions.cjs");
9
9
  require("../Composables/useIsFullscreen.cjs");
10
10
  require("../Composables/useIsMobile.cjs");
@@ -19,9 +19,9 @@ require("@nextcloud/auth");
19
19
  require("@nextcloud/axios");
20
20
  require("@nextcloud/capabilities");
21
21
  require("./logger-3HuiEIF6.cjs");
22
- const focusTrap$1 = require("./focusTrap-DUTqW_IG.cjs");
22
+ const focusTrap$1 = require("./focusTrap-DhhUL4JZ.cjs");
23
23
  const GenRandomId = require("./GenRandomId-D7iOvpZS.cjs");
24
- const NcButton = require("./NcButton-DOsCAjiE.cjs");
24
+ const NcButton = require("./NcButton-DK7bNZIL.cjs");
25
25
  const _sfc_main = {
26
26
  name: "NcHeaderMenu",
27
27
  components: {
@@ -92,9 +92,10 @@ const _sfc_main = {
92
92
  };
93
93
  },
94
94
  data() {
95
+ var _a, _b, _c;
95
96
  return {
96
97
  focusTrap: null,
97
- shortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),
98
+ shortcutsDisabled: (_c = (_b = (_a = window.OCP) == null ? void 0 : _a.Accessibility) == null ? void 0 : _b.disableKeyboardShortcuts) == null ? void 0 : _c.call(_b),
98
99
  triggerId: GenRandomId.GenRandomId(),
99
100
  descriptionId: GenRandomId.GenRandomId()
100
101
  };
@@ -205,19 +206,20 @@ const _sfc_main = {
205
206
  this.focusTrap.activate();
206
207
  },
207
208
  clearFocusTrap() {
208
- this.focusTrap?.deactivate();
209
+ var _a;
210
+ (_a = this.focusTrap) == null ? void 0 : _a.deactivate();
209
211
  this.focusTrap = null;
210
212
  }
211
213
  }
212
214
  };
213
215
  var _sfc_render = function render() {
214
216
  var _vm = this, _c = _vm._self._c;
215
- return _c(_vm.wrapperTag, _vm._g({ directives: [{ name: "click-outside", rawName: "v-click-outside", value: _vm.clickOutsideConfig, expression: "clickOutsideConfig" }], ref: "headerMenu", tag: "component", staticClass: "header-menu", class: { "header-menu--opened": _vm.opened }, attrs: { "id": _vm.id, "aria-labelledby": _vm.isNav ? _vm.triggerId : null } }, _vm.listeners), [_c("NcButton", { ref: "trigger", staticClass: "header-menu__trigger", attrs: { "id": _vm.isNav ? _vm.triggerId : null, "aria-controls": `header-menu-${_vm.id}`, "aria-describedby": _vm.description ? _vm.descriptionId : null, "aria-expanded": _vm.opened.toString(), "aria-label": _vm.ariaLabel, "size": "large", "variant": "tertiary-no-background" }, on: { "click": function($event) {
217
+ return _c(_vm.wrapperTag, _vm._g({ directives: [{ name: "click-outside", rawName: "v-click-outside", value: _vm.clickOutsideConfig, expression: "clickOutsideConfig" }], ref: "headerMenu", tag: "component", staticClass: "header-menu", class: { "header-menu--opened": _vm.opened }, attrs: { "id": _vm.id, "aria-labelledby": _vm.isNav ? _vm.triggerId : null } }, _vm.listeners), [_c("NcButton", { ref: "trigger", staticClass: "header-menu__trigger", attrs: { "id": _vm.isNav ? _vm.triggerId : null, "aria-controls": "header-menu-".concat(_vm.id), "aria-describedby": _vm.description ? _vm.descriptionId : null, "aria-expanded": _vm.opened.toString(), "aria-label": _vm.ariaLabel, "size": "large", "variant": "tertiary-no-background" }, on: { "click": function($event) {
216
218
  $event.preventDefault();
217
219
  return _vm.toggleMenu.apply(null, arguments);
218
220
  } }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
219
221
  return [_vm._t("trigger")];
220
- }, proxy: true }], null, true) }), _vm.description ? _c("span", { staticClass: "header-menu__description hidden-visually", attrs: { "id": _vm.descriptionId } }, [_vm._v(" " + _vm._s(_vm.description) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__carret" }), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__wrapper", attrs: { "id": `header-menu-${_vm.id}` } }, [_c("div", { ref: "content", staticClass: "header-menu__content" }, [_vm._t("default")], 2)])], 1);
222
+ }, proxy: true }], null, true) }), _vm.description ? _c("span", { staticClass: "header-menu__description hidden-visually", attrs: { "id": _vm.descriptionId } }, [_vm._v(" " + _vm._s(_vm.description) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__carret" }), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__wrapper", attrs: { "id": "header-menu-".concat(_vm.id) } }, [_c("div", { ref: "content", staticClass: "header-menu__content" }, [_vm._t("default")], 2)])], 1);
221
223
  };
222
224
  var _sfc_staticRenderFns = [];
223
225
  var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
@@ -230,4 +232,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
230
232
  );
231
233
  const NcHeaderMenu = __component__.exports;
232
234
  exports.NcHeaderMenu = NcHeaderMenu;
233
- //# sourceMappingURL=NcHeaderMenu-CBP4SYca.cjs.map
235
+ //# sourceMappingURL=NcHeaderMenu-BzyFhg55.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderMenu-CBP4SYca.cjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@import './header-menu__trigger';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcButton","ClickOutside","clickOutsideOptions","ref","useTrapStackControl","GenRandomId","createFocusTrap","getTrapStack"],"mappings":"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"}
1
+ {"version":3,"file":"NcHeaderMenu-BzyFhg55.cjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@import './header-menu__trigger';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcButton","ClickOutside","clickOutsideOptions","ref","useTrapStackControl","GenRandomId","createFocusTrap","getTrapStack"],"mappings":"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"}
@@ -3,7 +3,7 @@ import '../assets/NcHeaderMenu-BXb9npZp.css';
3
3
  import { vOnClickOutside } from "@vueuse/components";
4
4
  import { createFocusTrap } from "focus-trap";
5
5
  import { ref } from "vue";
6
- import { u as useTrapStackControl } from "./useTrapStackControl-BnLfCgGU.mjs";
6
+ import { u as useTrapStackControl } from "./useTrapStackControl-2gEo3rvr.mjs";
7
7
  import clickOutsideOptions from "../Mixins/clickOutsideOptions.mjs";
8
8
  import "../Composables/useIsFullscreen.mjs";
9
9
  import "../Composables/useIsMobile.mjs";
@@ -18,9 +18,9 @@ import "@nextcloud/auth";
18
18
  import "@nextcloud/axios";
19
19
  import "@nextcloud/capabilities";
20
20
  import "./logger-D3RVzcfQ.mjs";
21
- import { g as getTrapStack } from "./focusTrap-HJQ4pqHV.mjs";
21
+ import { g as getTrapStack } from "./focusTrap-BibOtksr.mjs";
22
22
  import { G as GenRandomId } from "./GenRandomId-F5ebeBB_.mjs";
23
- import { N as NcButton } from "./NcButton-CWPBzbcC.mjs";
23
+ import { N as NcButton } from "./NcButton-D3CaJu1f.mjs";
24
24
  const _sfc_main = {
25
25
  name: "NcHeaderMenu",
26
26
  components: {
@@ -91,9 +91,10 @@ const _sfc_main = {
91
91
  };
92
92
  },
93
93
  data() {
94
+ var _a, _b, _c;
94
95
  return {
95
96
  focusTrap: null,
96
- shortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),
97
+ shortcutsDisabled: (_c = (_b = (_a = window.OCP) == null ? void 0 : _a.Accessibility) == null ? void 0 : _b.disableKeyboardShortcuts) == null ? void 0 : _c.call(_b),
97
98
  triggerId: GenRandomId(),
98
99
  descriptionId: GenRandomId()
99
100
  };
@@ -204,19 +205,20 @@ const _sfc_main = {
204
205
  this.focusTrap.activate();
205
206
  },
206
207
  clearFocusTrap() {
207
- this.focusTrap?.deactivate();
208
+ var _a;
209
+ (_a = this.focusTrap) == null ? void 0 : _a.deactivate();
208
210
  this.focusTrap = null;
209
211
  }
210
212
  }
211
213
  };
212
214
  var _sfc_render = function render() {
213
215
  var _vm = this, _c = _vm._self._c;
214
- return _c(_vm.wrapperTag, _vm._g({ directives: [{ name: "click-outside", rawName: "v-click-outside", value: _vm.clickOutsideConfig, expression: "clickOutsideConfig" }], ref: "headerMenu", tag: "component", staticClass: "header-menu", class: { "header-menu--opened": _vm.opened }, attrs: { "id": _vm.id, "aria-labelledby": _vm.isNav ? _vm.triggerId : null } }, _vm.listeners), [_c("NcButton", { ref: "trigger", staticClass: "header-menu__trigger", attrs: { "id": _vm.isNav ? _vm.triggerId : null, "aria-controls": `header-menu-${_vm.id}`, "aria-describedby": _vm.description ? _vm.descriptionId : null, "aria-expanded": _vm.opened.toString(), "aria-label": _vm.ariaLabel, "size": "large", "variant": "tertiary-no-background" }, on: { "click": function($event) {
216
+ return _c(_vm.wrapperTag, _vm._g({ directives: [{ name: "click-outside", rawName: "v-click-outside", value: _vm.clickOutsideConfig, expression: "clickOutsideConfig" }], ref: "headerMenu", tag: "component", staticClass: "header-menu", class: { "header-menu--opened": _vm.opened }, attrs: { "id": _vm.id, "aria-labelledby": _vm.isNav ? _vm.triggerId : null } }, _vm.listeners), [_c("NcButton", { ref: "trigger", staticClass: "header-menu__trigger", attrs: { "id": _vm.isNav ? _vm.triggerId : null, "aria-controls": "header-menu-".concat(_vm.id), "aria-describedby": _vm.description ? _vm.descriptionId : null, "aria-expanded": _vm.opened.toString(), "aria-label": _vm.ariaLabel, "size": "large", "variant": "tertiary-no-background" }, on: { "click": function($event) {
215
217
  $event.preventDefault();
216
218
  return _vm.toggleMenu.apply(null, arguments);
217
219
  } }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
218
220
  return [_vm._t("trigger")];
219
- }, proxy: true }], null, true) }), _vm.description ? _c("span", { staticClass: "header-menu__description hidden-visually", attrs: { "id": _vm.descriptionId } }, [_vm._v(" " + _vm._s(_vm.description) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__carret" }), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__wrapper", attrs: { "id": `header-menu-${_vm.id}` } }, [_c("div", { ref: "content", staticClass: "header-menu__content" }, [_vm._t("default")], 2)])], 1);
221
+ }, proxy: true }], null, true) }), _vm.description ? _c("span", { staticClass: "header-menu__description hidden-visually", attrs: { "id": _vm.descriptionId } }, [_vm._v(" " + _vm._s(_vm.description) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__carret" }), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.opened, expression: "opened" }], staticClass: "header-menu__wrapper", attrs: { "id": "header-menu-".concat(_vm.id) } }, [_c("div", { ref: "content", staticClass: "header-menu__content" }, [_vm._t("default")], 2)])], 1);
220
222
  };
221
223
  var _sfc_staticRenderFns = [];
222
224
  var __component__ = /* @__PURE__ */ normalizeComponent(
@@ -231,4 +233,4 @@ const NcHeaderMenu = __component__.exports;
231
233
  export {
232
234
  NcHeaderMenu as N
233
235
  };
234
- //# sourceMappingURL=NcHeaderMenu-CkD6cjnH.mjs.map
236
+ //# sourceMappingURL=NcHeaderMenu-D5ddiKnF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderMenu-CkD6cjnH.mjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@import './header-menu__trigger';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["ClickOutside"],"mappings":"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"}
1
+ {"version":3,"file":"NcHeaderMenu-D5ddiKnF.mjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@import './header-menu__trigger';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["ClickOutside"],"mappings":"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"}
@@ -59,7 +59,7 @@ const __default__ = {
59
59
  * Icon size used in CSS
60
60
  */
61
61
  iconSize() {
62
- return typeof this.size === "number" ? `${this.size}px` : this.size;
62
+ return typeof this.size === "number" ? "".concat(this.size, "px") : this.size;
63
63
  },
64
64
  cleanSvg() {
65
65
  if (!this.svg || this.path) {
@@ -109,4 +109,4 @@ const NcIconSvgWrapper = __component__.exports;
109
109
  export {
110
110
  NcIconSvgWrapper as N
111
111
  };
112
- //# sourceMappingURL=NcIconSvgWrapper-BreCg8pX.mjs.map
112
+ //# sourceMappingURL=NcIconSvgWrapper-BCVwmZN2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcIconSvgWrapper-BreCg8pX.mjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Usage within `icon`-slot\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<NcButton aria-label=\"Close\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"closeSvg\" name=\"Close\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Settings\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"cogSvg\" name=\"Cog\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Add\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"plusSvg\" name=\"Plus\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Send\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiSend\" name=\"Send\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Star\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiStar\" name=\"Star\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport closeSvg from '@mdi/svg/svg/close.svg?raw'\nimport cogSvg from '@mdi/svg/svg/cog.svg?raw'\nimport plusSvg from '@mdi/svg/svg/plus.svg?raw'\nimport { mdiSend } from '@mdi/js'\nimport { mdiStar } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\t// This icons are static data, so you do not need to put them into `data` which will make them reactive\n\t\treturn {\n\t\t\tcloseSvg,\n\t\t\tcogSvg,\n\t\t\tplusSvg,\n\t\t\tmdiSend,\n\t\t\tmdiStar,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(5, max-content);\n\tgap: 10px;\n}\n</style>\n```\n\n### Inline usage inside text\n\n```vue\n<template>\n\t<p>\n\t\tThis is my <NcIconSvgWrapper inline :path=\"mdiStar\" /> Favorite\n\t</p>\n</template>\n<script>\nimport { mdiStar } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiStar,\n\t\t}\n\t},\n}\n</script>\n```\n\n### Directional usage\n\nThe `directional` property allows to enable a language direction aware icon.\nThis icon component can be used in places where an language direction aware icon should be used,\nfor example if an arrow pointing to the left it used it often points in the wrong direction for right-to-left languages.\nIn this cases this icon can be used which will always point into the logical \"start\" direction.\n\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcButton @click=\"isRtl = !isRtl\">Toggle RTL</NcButton>\n\t\t<div class=\"directional\" :dir=\"isRtl ? 'rtl' : 'ltr'\">\n\t\t\t<NcButton alignment=\"start\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronLeft\" />\n\t\t\t\t</template>\n\t\t\t\tPrevious\n\t\t\t</NcButton>\n\t\t\t<NcButton alignment=\"end-reverse\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronRight\" />\n\t\t\t\t</template>\n\t\t\t\tNext\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mdiChevronLeft, mdiChevronRight } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiChevronLeft,\n\t\t\tmdiChevronRight,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tisRtl: false\n\t\t}\n\t},\n}\n</script>\n<style scoped>\n.wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: calc(2 * var(--default-grid-baseline));\n\tmax-width: 300px;\n}\n\n.directional {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: calc(2 * var(--default-grid-baseline));\n}\n\n.directional * {\n\tflex: 1 50%;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span\n\t\t:aria-hidden=\"name ? undefined : 'true'\"\n\t\t:aria-label=\"name || undefined\"\n\t\tclass=\"icon-vue\"\n\t\t:class=\"{\n\t\t\t'icon-vue--directional': directional,\n\t\t\t'icon-vue--inline': inline,\n\t\t}\"\n\t\trole=\"img\">\n\t\t<svg v-if=\"!cleanSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path :d=\"path\" />\n\t\t</svg>\n\t\t<!-- eslint-disable-next-line vue/no-v-text-v-html-on-component,vue/no-v-html -->\n\t\t<span v-else v-html=\"cleanSvg\" />\n\t</span>\n</template>\n\n<script>\nimport DOMPurify from 'dompurify'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\n\t\t/**\n\t\t * Make the icon directional, meaning it is langauge direction aware.\n\t\t * If the icon is placed in a right-to-left context it will be mirrored vertically.\n\t\t */\n\t\tdirectional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set if the icon should be used as inline content e.g. within text.\n\t\t * By default the icon is made a block element for use inside `icon`-slots.\n\t\t */\n\t\tinline: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG string to render\n\t\t */\n\t\tsvg: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Label of the icon, used in aria-label\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG path to render. Takes precedence over the SVG string in the `svg` prop.\n\t\t */\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Size of the icon to show. Only use if not using within an icon slot.\n\t\t * Defaults to 20px which is the Nextcloud icon size for all icon slots.\n\t\t *\n\t\t * @default 20\n\t\t */\n\t\tsize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 20,\n\t\t\tvalidator: (value) => typeof value === 'number' || value === 'auto',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Icon size used in CSS\n\t\t */\n\t\ticonSize() {\n\t\t\treturn typeof this.size === 'number' ? `${this.size}px` : this.size\n\t\t},\n\n\t\tcleanSvg() {\n\t\t\tif (!this.svg || this.path) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst svg = DOMPurify.sanitize(this.svg)\n\n\t\t\tconst svgDocument = new DOMParser().parseFromString(svg, 'image/svg+xml')\n\n\t\t\tif (svgDocument.querySelector('parsererror')) {\n\t\t\t\tVue.util.warn('SVG is not valid')\n\t\t\t\treturn ''\n\t\t\t}\n\n\t\t\tif (svgDocument.documentElement.id) {\n\t\t\t\tsvgDocument.documentElement.removeAttribute('id')\n\t\t\t}\n\n\t\t\treturn svgDocument.documentElement.outerHTML\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\t--icon-size: v-bind('iconSize');\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: var(--default-clickable-area);\n\tmin-height: var(--default-clickable-area);\n\topacity: 1;\n\n\t&--inline {\n\t\tdisplay: inline-flex;\n\t\tmin-width: fit-content;\n\t\tmin-height: fit-content;\n\t\tvertical-align: text-bottom;\n\t}\n\n\t// Icon svg wrapper\n\tspan {\n\t\tline-height: 0;\n\t}\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: var(--icon-size, 20px);\n\t\theight: var(--icon-size, 20px);\n\t\tmax-width: var(--icon-size, 20px);\n\t\tmax-height: var(--icon-size, 20px);\n\t}\n\n\t&--directional:deep(svg:dir(rtl)) {\n\t\ttransform: scaleX(-1);\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;AAsLA,MAAA,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,UAAA,YAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,OAAA,KAAA,SAAA,WAAA,GAAA,KAAA,IAAA,OAAA,KAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,UAAA,CAAA,KAAA,OAAA,KAAA,MAAA;AACA;AAAA,MACA;AAEA,YAAA,MAAA,UAAA,SAAA,KAAA,GAAA;AAEA,YAAA,cAAA,IAAA,UAAA,EAAA,gBAAA,KAAA,eAAA;AAEA,UAAA,YAAA,cAAA,aAAA,GAAA;AACA,YAAA,KAAA,KAAA,kBAAA;AACA,eAAA;AAAA,MACA;AAEA,UAAA,YAAA,gBAAA,IAAA;AACA,oBAAA,gBAAA,gBAAA,IAAA;AAAA,MACA;AAEA,aAAA,YAAA,gBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcIconSvgWrapper-BCVwmZN2.mjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Usage within `icon`-slot\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<NcButton aria-label=\"Close\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"closeSvg\" name=\"Close\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Settings\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"cogSvg\" name=\"Cog\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Add\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"plusSvg\" name=\"Plus\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Send\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiSend\" name=\"Send\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Star\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiStar\" name=\"Star\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport closeSvg from '@mdi/svg/svg/close.svg?raw'\nimport cogSvg from '@mdi/svg/svg/cog.svg?raw'\nimport plusSvg from '@mdi/svg/svg/plus.svg?raw'\nimport { mdiSend } from '@mdi/js'\nimport { mdiStar } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\t// This icons are static data, so you do not need to put them into `data` which will make them reactive\n\t\treturn {\n\t\t\tcloseSvg,\n\t\t\tcogSvg,\n\t\t\tplusSvg,\n\t\t\tmdiSend,\n\t\t\tmdiStar,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(5, max-content);\n\tgap: 10px;\n}\n</style>\n```\n\n### Inline usage inside text\n\n```vue\n<template>\n\t<p>\n\t\tThis is my <NcIconSvgWrapper inline :path=\"mdiStar\" /> Favorite\n\t</p>\n</template>\n<script>\nimport { mdiStar } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiStar,\n\t\t}\n\t},\n}\n</script>\n```\n\n### Directional usage\n\nThe `directional` property allows to enable a language direction aware icon.\nThis icon component can be used in places where an language direction aware icon should be used,\nfor example if an arrow pointing to the left it used it often points in the wrong direction for right-to-left languages.\nIn this cases this icon can be used which will always point into the logical \"start\" direction.\n\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcButton @click=\"isRtl = !isRtl\">Toggle RTL</NcButton>\n\t\t<div class=\"directional\" :dir=\"isRtl ? 'rtl' : 'ltr'\">\n\t\t\t<NcButton alignment=\"start\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronLeft\" />\n\t\t\t\t</template>\n\t\t\t\tPrevious\n\t\t\t</NcButton>\n\t\t\t<NcButton alignment=\"end-reverse\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronRight\" />\n\t\t\t\t</template>\n\t\t\t\tNext\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mdiChevronLeft, mdiChevronRight } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiChevronLeft,\n\t\t\tmdiChevronRight,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tisRtl: false\n\t\t}\n\t},\n}\n</script>\n<style scoped>\n.wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: calc(2 * var(--default-grid-baseline));\n\tmax-width: 300px;\n}\n\n.directional {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: calc(2 * var(--default-grid-baseline));\n}\n\n.directional * {\n\tflex: 1 50%;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span\n\t\t:aria-hidden=\"name ? undefined : 'true'\"\n\t\t:aria-label=\"name || undefined\"\n\t\tclass=\"icon-vue\"\n\t\t:class=\"{\n\t\t\t'icon-vue--directional': directional,\n\t\t\t'icon-vue--inline': inline,\n\t\t}\"\n\t\trole=\"img\">\n\t\t<svg v-if=\"!cleanSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path :d=\"path\" />\n\t\t</svg>\n\t\t<!-- eslint-disable-next-line vue/no-v-text-v-html-on-component,vue/no-v-html -->\n\t\t<span v-else v-html=\"cleanSvg\" />\n\t</span>\n</template>\n\n<script>\nimport DOMPurify from 'dompurify'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\n\t\t/**\n\t\t * Make the icon directional, meaning it is langauge direction aware.\n\t\t * If the icon is placed in a right-to-left context it will be mirrored vertically.\n\t\t */\n\t\tdirectional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set if the icon should be used as inline content e.g. within text.\n\t\t * By default the icon is made a block element for use inside `icon`-slots.\n\t\t */\n\t\tinline: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG string to render\n\t\t */\n\t\tsvg: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Label of the icon, used in aria-label\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG path to render. Takes precedence over the SVG string in the `svg` prop.\n\t\t */\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Size of the icon to show. Only use if not using within an icon slot.\n\t\t * Defaults to 20px which is the Nextcloud icon size for all icon slots.\n\t\t *\n\t\t * @default 20\n\t\t */\n\t\tsize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 20,\n\t\t\tvalidator: (value) => typeof value === 'number' || value === 'auto',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Icon size used in CSS\n\t\t */\n\t\ticonSize() {\n\t\t\treturn typeof this.size === 'number' ? `${this.size}px` : this.size\n\t\t},\n\n\t\tcleanSvg() {\n\t\t\tif (!this.svg || this.path) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst svg = DOMPurify.sanitize(this.svg)\n\n\t\t\tconst svgDocument = new DOMParser().parseFromString(svg, 'image/svg+xml')\n\n\t\t\tif (svgDocument.querySelector('parsererror')) {\n\t\t\t\tVue.util.warn('SVG is not valid')\n\t\t\t\treturn ''\n\t\t\t}\n\n\t\t\tif (svgDocument.documentElement.id) {\n\t\t\t\tsvgDocument.documentElement.removeAttribute('id')\n\t\t\t}\n\n\t\t\treturn svgDocument.documentElement.outerHTML\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\t--icon-size: v-bind('iconSize');\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: var(--default-clickable-area);\n\tmin-height: var(--default-clickable-area);\n\topacity: 1;\n\n\t&--inline {\n\t\tdisplay: inline-flex;\n\t\tmin-width: fit-content;\n\t\tmin-height: fit-content;\n\t\tvertical-align: text-bottom;\n\t}\n\n\t// Icon svg wrapper\n\tspan {\n\t\tline-height: 0;\n\t}\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: var(--icon-size, 20px);\n\t\theight: var(--icon-size, 20px);\n\t\tmax-width: var(--icon-size, 20px);\n\t\tmax-height: var(--icon-size, 20px);\n\t}\n\n\t&--directional:deep(svg:dir(rtl)) {\n\t\ttransform: scaleX(-1);\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;AAsLA,MAAA,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,UAAA,YAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,OAAA,KAAA,SAAA,WAAA,GAAA,YAAA,MAAA,QAAA,KAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,UAAA,CAAA,KAAA,OAAA,KAAA,MAAA;AACA;AAAA,MACA;AAEA,YAAA,MAAA,UAAA,SAAA,KAAA,GAAA;AAEA,YAAA,cAAA,IAAA,UAAA,EAAA,gBAAA,KAAA,eAAA;AAEA,UAAA,YAAA,cAAA,aAAA,GAAA;AACA,YAAA,KAAA,KAAA,kBAAA;AACA,eAAA;AAAA,MACA;AAEA,UAAA,YAAA,gBAAA,IAAA;AACA,oBAAA,gBAAA,gBAAA,IAAA;AAAA,MACA;AAEA,aAAA,YAAA,gBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -63,7 +63,7 @@ const __default__ = {
63
63
  * Icon size used in CSS
64
64
  */
65
65
  iconSize() {
66
- return typeof this.size === "number" ? `${this.size}px` : this.size;
66
+ return typeof this.size === "number" ? "".concat(this.size, "px") : this.size;
67
67
  },
68
68
  cleanSvg() {
69
69
  if (!this.svg || this.path) {
@@ -111,4 +111,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
111
111
  );
112
112
  const NcIconSvgWrapper = __component__.exports;
113
113
  exports.NcIconSvgWrapper = NcIconSvgWrapper;
114
- //# sourceMappingURL=NcIconSvgWrapper-D-aKMbf3.cjs.map
114
+ //# sourceMappingURL=NcIconSvgWrapper-DoVPfeNg.cjs.map