@nextcloud/vue 9.0.0-alpha.0 → 9.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/CHANGELOG.md +47 -1
  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 +1 -1
  11. package/dist/Components/NcActionLink.mjs +1 -1
  12. package/dist/Components/NcActionRadio.cjs +1 -1
  13. package/dist/Components/NcActionRadio.mjs +1 -1
  14. package/dist/Components/NcActionRouter.cjs +1 -1
  15. package/dist/Components/NcActionRouter.mjs +1 -1
  16. package/dist/Components/NcActionText.cjs +1 -1
  17. package/dist/Components/NcActionText.mjs +1 -1
  18. package/dist/Components/NcActionTextEditable.cjs +1 -1
  19. package/dist/Components/NcActionTextEditable.mjs +1 -1
  20. package/dist/Components/NcActions.cjs +1 -1
  21. package/dist/Components/NcActions.mjs +1 -1
  22. package/dist/Components/NcAppContent.cjs +1 -1
  23. package/dist/Components/NcAppContent.mjs +1 -1
  24. package/dist/Components/NcAppNavigation.cjs +1 -1
  25. package/dist/Components/NcAppNavigation.mjs +1 -1
  26. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  27. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  28. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  29. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  30. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  31. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  32. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  33. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  34. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  35. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  36. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  37. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  38. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  39. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  40. package/dist/Components/NcAppSettingsSection.cjs +1 -1
  41. package/dist/Components/NcAppSettingsSection.mjs +1 -1
  42. package/dist/Components/NcAppSidebar.cjs +1 -1
  43. package/dist/Components/NcAppSidebar.mjs +1 -1
  44. package/dist/Components/NcAppSidebarTab.cjs +1 -1
  45. package/dist/Components/NcAppSidebarTab.mjs +1 -1
  46. package/dist/Components/NcAvatar.cjs +1 -1
  47. package/dist/Components/NcAvatar.mjs +1 -1
  48. package/dist/Components/NcBreadcrumb.cjs +1 -1
  49. package/dist/Components/NcBreadcrumb.mjs +1 -1
  50. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  51. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  52. package/dist/Components/NcButton.cjs +1 -1
  53. package/dist/Components/NcButton.mjs +1 -1
  54. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  55. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  56. package/dist/Components/NcColorPicker.cjs +1 -1
  57. package/dist/Components/NcColorPicker.mjs +1 -1
  58. package/dist/Components/NcContent.cjs +1 -1
  59. package/dist/Components/NcContent.mjs +1 -1
  60. package/dist/Components/NcDashboardWidget.cjs +1 -1
  61. package/dist/Components/NcDashboardWidget.mjs +1 -1
  62. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  63. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  64. package/dist/Components/NcDateTime.cjs +1 -1
  65. package/dist/Components/NcDateTime.mjs +1 -1
  66. package/dist/Components/NcDateTimePicker.cjs +1 -1
  67. package/dist/Components/NcDateTimePicker.mjs +1 -1
  68. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  69. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  70. package/dist/Components/NcDialog.cjs +1 -1
  71. package/dist/Components/NcDialog.mjs +1 -1
  72. package/dist/Components/NcDialogButton.cjs +1 -1
  73. package/dist/Components/NcDialogButton.mjs +1 -1
  74. package/dist/Components/NcEmojiPicker.cjs +1 -1
  75. package/dist/Components/NcEmojiPicker.mjs +1 -1
  76. package/dist/Components/NcHeaderMenu.cjs +1 -1
  77. package/dist/Components/NcHeaderMenu.mjs +1 -1
  78. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  79. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  80. package/dist/Components/NcInputField.cjs +1 -1
  81. package/dist/Components/NcInputField.mjs +1 -1
  82. package/dist/Components/NcListItem.cjs +1 -1
  83. package/dist/Components/NcListItem.mjs +1 -1
  84. package/dist/Components/NcListItemIcon.cjs +1 -1
  85. package/dist/Components/NcListItemIcon.mjs +1 -1
  86. package/dist/Components/NcModal.cjs +12 -11
  87. package/dist/Components/NcModal.cjs.map +1 -1
  88. package/dist/Components/NcModal.mjs +37 -36
  89. package/dist/Components/NcModal.mjs.map +1 -1
  90. package/dist/Components/NcNoteCard.cjs +1 -1
  91. package/dist/Components/NcNoteCard.mjs +1 -1
  92. package/dist/Components/NcPasswordField.cjs +1 -1
  93. package/dist/Components/NcPasswordField.mjs +1 -1
  94. package/dist/Components/NcPopover.cjs +1 -1
  95. package/dist/Components/NcPopover.mjs +1 -1
  96. package/dist/Components/NcProgressBar.cjs +1 -1
  97. package/dist/Components/NcProgressBar.mjs +1 -1
  98. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  99. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  100. package/dist/Components/NcRichContenteditable.cjs +1 -1
  101. package/dist/Components/NcRichContenteditable.mjs +2 -2
  102. package/dist/Components/NcRichText.cjs +1 -1
  103. package/dist/Components/NcRichText.mjs +3 -3
  104. package/dist/Components/NcSelect.cjs +1 -1
  105. package/dist/Components/NcSelect.mjs +1 -1
  106. package/dist/Components/NcSelectTags.cjs +1 -1
  107. package/dist/Components/NcSelectTags.mjs +1 -1
  108. package/dist/Components/NcSettingsInputText.cjs +1 -1
  109. package/dist/Components/NcSettingsInputText.mjs +1 -1
  110. package/dist/Components/NcSettingsSection.cjs +1 -1
  111. package/dist/Components/NcSettingsSection.mjs +1 -1
  112. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  113. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  114. package/dist/Components/NcTextArea.cjs +1 -1
  115. package/dist/Components/NcTextArea.mjs +1 -1
  116. package/dist/Components/NcTextField.cjs +1 -1
  117. package/dist/Components/NcTextField.mjs +1 -1
  118. package/dist/Components/NcTimezonePicker.cjs +1 -1
  119. package/dist/Components/NcTimezonePicker.mjs +1 -1
  120. package/dist/Components/NcUserBubble.cjs +1 -1
  121. package/dist/Components/NcUserBubble.mjs +1 -1
  122. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  123. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  124. package/dist/Components/NcVNodes.cjs +4 -3
  125. package/dist/Components/NcVNodes.cjs.map +1 -1
  126. package/dist/Components/NcVNodes.mjs +4 -3
  127. package/dist/Components/NcVNodes.mjs.map +1 -1
  128. package/dist/Directives/Linkify.cjs +5 -4
  129. package/dist/Directives/Linkify.cjs.map +1 -1
  130. package/dist/Directives/Linkify.mjs +6 -5
  131. package/dist/Directives/Linkify.mjs.map +1 -1
  132. package/dist/Functions/emoji.cjs +1 -1
  133. package/dist/Functions/emoji.mjs +1 -1
  134. package/dist/Functions/usernameToColor.cjs +1 -1
  135. package/dist/Functions/usernameToColor.mjs +1 -1
  136. package/dist/Mixins/richEditor.cjs +1 -1
  137. package/dist/Mixins/richEditor.mjs +1 -1
  138. package/dist/assets/{NcActionButton-p7spK21h.css → NcActionButton-De4wlKZH.css} +17 -17
  139. package/dist/assets/{NcActions-cEMOhd0g.css → NcActions-PR-7NI_x.css} +12 -12
  140. package/dist/assets/{NcAppContent--D5zvLsb.css → NcAppContent-kIkHd4VN.css} +1 -0
  141. package/dist/assets/{NcAppNavigationItem-V2jQd3bm.css → NcAppNavigationItem-_MHs9DEv.css} +14 -7
  142. package/dist/assets/{NcAppNavigationNewItem-MQBvffq9.css → NcAppNavigationNewItem-ue-H4LQY.css} +14 -7
  143. package/dist/assets/{NcAppNavigationToggle-egZffUzR.css → NcAppNavigationToggle-VrntFGdJ.css} +3 -3
  144. package/dist/assets/{NcAppSettingsDialog-F29bz2Yx.css → NcAppSettingsDialog-HOydlmNi.css} +16 -17
  145. package/dist/assets/{NcAppSidebar-QQPSZPo9.css → NcAppSidebar-UFABwmpX.css} +44 -44
  146. package/dist/assets/{NcAvatar-qgACiUer.css → NcAvatar-DCUiVghV.css} +27 -27
  147. package/dist/assets/{NcBreadcrumbs-liWjT068.css → NcBreadcrumbs-VKFJ9HrE.css} +7 -7
  148. package/dist/assets/{NcButton-fqTN6SJK.css → NcButton-rKJYdkZn.css} +43 -43
  149. package/dist/assets/{NcCheckboxRadioSwitch-P71iLdgD.css → NcCheckboxRadioSwitch-dNV4KgTO.css} +49 -47
  150. package/dist/assets/{NcColorPicker-88MDZrB0.css → NcColorPicker-FiFz1rof.css} +24 -24
  151. package/dist/assets/{NcContent-ZG2BJ837.css → NcContent-3Fl9j87E.css} +9 -9
  152. package/dist/assets/{NcDateTimePicker-SsDztIsS.css → NcDateTimePicker-CC5ocPIo.css} +10 -10
  153. package/dist/assets/{NcDateTimePickerNative-QBosiBWA.css → NcDateTimePickerNative-BeREqSH_.css} +19 -7
  154. package/dist/assets/{NcDialog-9-cx1V0y.css → NcDialog-IM0YIgKq.css} +30 -19
  155. package/dist/assets/{NcEmojiPicker-KRMyqbWg.css → NcEmojiPicker-nDpi1GKA.css} +6 -5
  156. package/dist/assets/{NcHeaderMenu-j8h_puZT.css → NcHeaderMenu-kKraSlS3.css} +15 -15
  157. package/dist/assets/{NcInputField-42mSa1zm.css → NcInputField-qx4Me7uJ.css} +39 -38
  158. package/dist/assets/{NcListItem--i7b67QY.css → NcListItem-RylkggkP.css} +49 -49
  159. package/dist/assets/{NcModal-DzsqMWSJ.css → NcModal-lgvjJTYz.css} +65 -65
  160. package/dist/assets/{NcNoteCard-OTfZqVvP.css → NcNoteCard-f0NZpwjL.css} +7 -7
  161. package/dist/assets/{NcRichContenteditable-nUZdQSMZ.css → NcRichContenteditable--bkjerM1.css} +13 -12
  162. package/dist/assets/{NcTextArea-6akBm4Ks.css → NcTextArea-Eqv_-5FR.css} +24 -23
  163. package/dist/assets/{referencePickerModal-G-NTZHL1.css → referencePickerModal-k5G-IS2z.css} +2 -2
  164. package/dist/chunks/{AlertCircleOutline-Q4EgxGNm.mjs → AlertCircleOutline-1fsF7za7.mjs} +6 -6
  165. package/dist/chunks/AlertCircleOutline-1fsF7za7.mjs.map +1 -0
  166. package/dist/chunks/{AlertCircleOutline-aU4Cu4IM.cjs → AlertCircleOutline-M7wVqz_-.cjs} +1 -1
  167. package/dist/chunks/AlertCircleOutline-M7wVqz_-.cjs.map +1 -0
  168. package/dist/chunks/{ArrowLeft-4DZMGcXE.cjs → ArrowLeft-arUkZZ3U.cjs} +4 -4
  169. package/dist/chunks/ArrowLeft-arUkZZ3U.cjs.map +1 -0
  170. package/dist/chunks/{ArrowLeft-LlLrrfss.mjs → ArrowLeft-uvAzhtxD.mjs} +4 -4
  171. package/dist/chunks/ArrowLeft-uvAzhtxD.mjs.map +1 -0
  172. package/dist/chunks/{ArrowRight-Fk_qtqpW.mjs → ArrowRight-6gYTXvBH.mjs} +4 -4
  173. package/dist/chunks/ArrowRight-6gYTXvBH.mjs.map +1 -0
  174. package/dist/chunks/{ArrowRight-mI4Fw0h2.cjs → ArrowRight-UxW1qyeX.cjs} +5 -5
  175. package/dist/chunks/ArrowRight-UxW1qyeX.cjs.map +1 -0
  176. package/dist/chunks/{Check-SlTPuUzR.cjs → Check-fwcsc82n.cjs} +4 -4
  177. package/dist/chunks/Check-fwcsc82n.cjs.map +1 -0
  178. package/dist/chunks/{Check-hentWFPd.mjs → Check-tQl0Vp18.mjs} +6 -6
  179. package/dist/chunks/Check-tQl0Vp18.mjs.map +1 -0
  180. package/dist/chunks/{ChevronDown-7w1_NWAd.cjs → ChevronDown-8tkFE94e.cjs} +4 -4
  181. package/dist/chunks/ChevronDown-8tkFE94e.cjs.map +1 -0
  182. package/dist/chunks/{ChevronDown-hP8YKVnf.mjs → ChevronDown-BxTx7hZm.mjs} +1 -1
  183. package/dist/chunks/ChevronDown-BxTx7hZm.mjs.map +1 -0
  184. package/dist/chunks/{ChevronRight-iDcqZ2Ih.cjs → ChevronRight-7GGKl2bX.cjs} +2 -2
  185. package/dist/chunks/ChevronRight-7GGKl2bX.cjs.map +1 -0
  186. package/dist/chunks/{ChevronRight-xEIO1OE7.mjs → ChevronRight-gF2cX9Cu.mjs} +4 -4
  187. package/dist/chunks/ChevronRight-gF2cX9Cu.mjs.map +1 -0
  188. package/dist/chunks/{Close-2nENZfbn.cjs → Close-e2vDvDm2.cjs} +7 -7
  189. package/dist/chunks/Close-e2vDvDm2.cjs.map +1 -0
  190. package/dist/chunks/{Close-4lZze_oD.mjs → Close-hKJ11hky.mjs} +5 -5
  191. package/dist/chunks/Close-hKJ11hky.mjs.map +1 -0
  192. package/dist/chunks/{DotsHorizontal-2GCivGee.mjs → DotsHorizontal-JfmEIGBo.mjs} +4 -4
  193. package/dist/chunks/DotsHorizontal-JfmEIGBo.mjs.map +1 -0
  194. package/dist/chunks/{DotsHorizontal-Ehuu1q0g.cjs → DotsHorizontal-z8LXg-4B.cjs} +4 -4
  195. package/dist/chunks/DotsHorizontal-z8LXg-4B.cjs.map +1 -0
  196. package/dist/chunks/{GenColors-avBT67Zu.mjs → GenColors-L7jWucCS.mjs} +3 -3
  197. package/dist/chunks/{GenColors-avBT67Zu.mjs.map → GenColors-L7jWucCS.mjs.map} +1 -1
  198. package/dist/chunks/{GenColors-ojnUsIA8.cjs → GenColors-vx_p2Tvw.cjs} +3 -3
  199. package/dist/chunks/{GenColors-ojnUsIA8.cjs.map → GenColors-vx_p2Tvw.cjs.map} +1 -1
  200. package/dist/chunks/{NcActionButton-TAhaLmwa.mjs → NcActionButton-VnbqrtOY.mjs} +15 -13
  201. package/dist/chunks/NcActionButton-VnbqrtOY.mjs.map +1 -0
  202. package/dist/chunks/{NcActionButton-G4OSfyii.cjs → NcActionButton-sJpgOVU9.cjs} +19 -17
  203. package/dist/chunks/NcActionButton-sJpgOVU9.cjs.map +1 -0
  204. package/dist/chunks/{NcActionButtonGroup-jTRjqpYM.cjs → NcActionButtonGroup-5PPiueIz.cjs} +2 -2
  205. package/dist/chunks/{NcActionButtonGroup-jTRjqpYM.cjs.map → NcActionButtonGroup-5PPiueIz.cjs.map} +1 -1
  206. package/dist/chunks/{NcActionButtonGroup-0hif9Dcf.mjs → NcActionButtonGroup-oFPVvd4U.mjs} +2 -2
  207. package/dist/chunks/{NcActionButtonGroup-0hif9Dcf.mjs.map → NcActionButtonGroup-oFPVvd4U.mjs.map} +1 -1
  208. package/dist/chunks/{NcActionCheckbox-PWAridhc.mjs → NcActionCheckbox-5-bIAzkC.mjs} +1 -1
  209. package/dist/chunks/{NcActionCheckbox-PWAridhc.mjs.map → NcActionCheckbox-5-bIAzkC.mjs.map} +1 -1
  210. package/dist/chunks/{NcActionCheckbox-Z4Wc9828.cjs → NcActionCheckbox-CUXJQss6.cjs} +1 -1
  211. package/dist/chunks/{NcActionCheckbox-Z4Wc9828.cjs.map → NcActionCheckbox-CUXJQss6.cjs.map} +1 -1
  212. package/dist/chunks/{NcActionInput-GuwDt73G.cjs → NcActionInput-of1oXP_n.cjs} +2 -2
  213. package/dist/chunks/{NcActionInput-GuwDt73G.cjs.map → NcActionInput-of1oXP_n.cjs.map} +1 -1
  214. package/dist/chunks/{NcActionInput-7-f1OPr6.mjs → NcActionInput-zg13uJ6x.mjs} +8 -8
  215. package/dist/chunks/{NcActionInput-7-f1OPr6.mjs.map → NcActionInput-zg13uJ6x.mjs.map} +1 -1
  216. package/dist/chunks/{NcActionLink-QLFtD_iF.cjs → NcActionLink-eBaRU5qY.cjs} +2 -2
  217. package/dist/chunks/{NcActionLink-QLFtD_iF.cjs.map → NcActionLink-eBaRU5qY.cjs.map} +1 -1
  218. package/dist/chunks/{NcActionLink-YllmwOrF.mjs → NcActionLink-pscYsQ_3.mjs} +2 -2
  219. package/dist/chunks/{NcActionLink-YllmwOrF.mjs.map → NcActionLink-pscYsQ_3.mjs.map} +1 -1
  220. package/dist/chunks/{NcActionRadio-DSBghCIA.mjs → NcActionRadio-1QLxEcfl.mjs} +1 -1
  221. package/dist/chunks/{NcActionRadio-DSBghCIA.mjs.map → NcActionRadio-1QLxEcfl.mjs.map} +1 -1
  222. package/dist/chunks/{NcActionRadio-1U50276u.cjs → NcActionRadio-3UkRsS6r.cjs} +1 -1
  223. package/dist/chunks/{NcActionRadio-1U50276u.cjs.map → NcActionRadio-3UkRsS6r.cjs.map} +1 -1
  224. package/dist/chunks/{NcActionRouter-vBYCxyc1.mjs → NcActionRouter-BsOXVKlY.mjs} +2 -2
  225. package/dist/chunks/{NcActionRouter-vBYCxyc1.mjs.map → NcActionRouter-BsOXVKlY.mjs.map} +1 -1
  226. package/dist/chunks/{NcActionRouter-Vg-BSvq7.cjs → NcActionRouter-c6pYto3T.cjs} +2 -2
  227. package/dist/chunks/{NcActionRouter-Vg-BSvq7.cjs.map → NcActionRouter-c6pYto3T.cjs.map} +1 -1
  228. package/dist/chunks/{NcActionText-p3Ew3r1G.mjs → NcActionText-9Ti6bh1b.mjs} +2 -2
  229. package/dist/chunks/{NcActionText-p3Ew3r1G.mjs.map → NcActionText-9Ti6bh1b.mjs.map} +1 -1
  230. package/dist/chunks/{NcActionText-aWTbDRVH.cjs → NcActionText-Sw_tMRaW.cjs} +2 -2
  231. package/dist/chunks/{NcActionText-aWTbDRVH.cjs.map → NcActionText-Sw_tMRaW.cjs.map} +1 -1
  232. package/dist/chunks/{NcActionTextEditable-RUh3BjpU.cjs → NcActionTextEditable-faJIAtYw.cjs} +2 -2
  233. package/dist/chunks/{NcActionTextEditable-RUh3BjpU.cjs.map → NcActionTextEditable-faJIAtYw.cjs.map} +1 -1
  234. package/dist/chunks/{NcActionTextEditable-PAn8Dpv4.mjs → NcActionTextEditable-xPb_cTMW.mjs} +3 -3
  235. package/dist/chunks/{NcActionTextEditable-PAn8Dpv4.mjs.map → NcActionTextEditable-xPb_cTMW.mjs.map} +1 -1
  236. package/dist/chunks/{NcActions-6Yv0De7D.mjs → NcActions-76CtOBCq.mjs} +160 -114
  237. package/dist/chunks/NcActions-76CtOBCq.mjs.map +1 -0
  238. package/dist/chunks/{NcActions-VJy75Dj8.cjs → NcActions-YpbmJ7hS.cjs} +160 -115
  239. package/dist/chunks/NcActions-YpbmJ7hS.cjs.map +1 -0
  240. package/dist/chunks/{NcAppContent-rV1EGzGY.mjs → NcAppContent-Tw5gNorr.mjs} +6 -6
  241. package/dist/chunks/{NcAppContent-rV1EGzGY.mjs.map → NcAppContent-Tw5gNorr.mjs.map} +1 -1
  242. package/dist/chunks/{NcAppContent-khCUrgDu.cjs → NcAppContent-mHc-Ms2b.cjs} +5 -5
  243. package/dist/chunks/{NcAppContent-khCUrgDu.cjs.map → NcAppContent-mHc-Ms2b.cjs.map} +1 -1
  244. package/dist/chunks/{NcAppNavigation-wvBM1j2_.mjs → NcAppNavigation-sY7HaHMv.mjs} +1 -1
  245. package/dist/chunks/{NcAppNavigation-wvBM1j2_.mjs.map → NcAppNavigation-sY7HaHMv.mjs.map} +1 -1
  246. package/dist/chunks/{NcAppNavigation-qnc3o3YP.cjs → NcAppNavigation-yEZ-RJA2.cjs} +1 -1
  247. package/dist/chunks/{NcAppNavigation-qnc3o3YP.cjs.map → NcAppNavigation-yEZ-RJA2.cjs.map} +1 -1
  248. package/dist/chunks/{NcAppNavigationCaption-6SpoIhcW.cjs → NcAppNavigationCaption-XpbVXYKV.cjs} +1 -1
  249. package/dist/chunks/{NcAppNavigationCaption-6SpoIhcW.cjs.map → NcAppNavigationCaption-XpbVXYKV.cjs.map} +1 -1
  250. package/dist/chunks/{NcAppNavigationCaption-wnBg9gYq.mjs → NcAppNavigationCaption-pcyV3wRO.mjs} +1 -1
  251. package/dist/chunks/{NcAppNavigationCaption-wnBg9gYq.mjs.map → NcAppNavigationCaption-pcyV3wRO.mjs.map} +1 -1
  252. package/dist/chunks/{NcAppNavigationItem-VR6oSt2q.mjs → NcAppNavigationItem-JLYTEgEH.mjs} +22 -22
  253. package/dist/chunks/NcAppNavigationItem-JLYTEgEH.mjs.map +1 -0
  254. package/dist/chunks/{NcAppNavigationItem-6kzsp9I8.cjs → NcAppNavigationItem-NE1UdZkS.cjs} +6 -6
  255. package/dist/chunks/NcAppNavigationItem-NE1UdZkS.cjs.map +1 -0
  256. package/dist/chunks/{NcAppNavigationNew-AamR4VD3.mjs → NcAppNavigationNew-6ZAJS_DY.mjs} +1 -1
  257. package/dist/chunks/{NcAppNavigationNew-AamR4VD3.mjs.map → NcAppNavigationNew-6ZAJS_DY.mjs.map} +1 -1
  258. package/dist/chunks/{NcAppNavigationNew-ae4GCKxx.cjs → NcAppNavigationNew-hmJL2IDR.cjs} +1 -1
  259. package/dist/chunks/{NcAppNavigationNew-ae4GCKxx.cjs.map → NcAppNavigationNew-hmJL2IDR.cjs.map} +1 -1
  260. package/dist/chunks/{NcAppNavigationNewItem-sZ0DdaXr.cjs → NcAppNavigationNewItem-MjsbS_dO.cjs} +2 -2
  261. package/dist/chunks/{NcAppNavigationNewItem-sZ0DdaXr.cjs.map → NcAppNavigationNewItem-MjsbS_dO.cjs.map} +1 -1
  262. package/dist/chunks/{NcAppNavigationNewItem-tSH06MX2.mjs → NcAppNavigationNewItem-NzRL8Uwy.mjs} +2 -2
  263. package/dist/chunks/{NcAppNavigationNewItem-tSH06MX2.mjs.map → NcAppNavigationNewItem-NzRL8Uwy.mjs.map} +1 -1
  264. package/dist/chunks/{NcAppNavigationSettings-mYqB3vRb.cjs → NcAppNavigationSettings-DPeH305A.cjs} +2 -2
  265. package/dist/chunks/NcAppNavigationSettings-DPeH305A.cjs.map +1 -0
  266. package/dist/chunks/{NcAppNavigationSettings-giVx2sHN.mjs → NcAppNavigationSettings-LR3QCvNr.mjs} +2 -2
  267. package/dist/chunks/NcAppNavigationSettings-LR3QCvNr.mjs.map +1 -0
  268. package/dist/chunks/{NcAppNavigationToggle-DBCPaseG.mjs → NcAppNavigationToggle-SEvIEY16.mjs} +29 -20
  269. package/dist/chunks/NcAppNavigationToggle-SEvIEY16.mjs.map +1 -0
  270. package/dist/chunks/{NcAppNavigationToggle-cRUPsHZH.cjs → NcAppNavigationToggle-sXvQDqok.cjs} +17 -8
  271. package/dist/chunks/NcAppNavigationToggle-sXvQDqok.cjs.map +1 -0
  272. package/dist/chunks/{NcAppSettingsDialog-WvDTWMwC.cjs → NcAppSettingsDialog-HnYa47vg.cjs} +51 -44
  273. package/dist/chunks/{NcAppSettingsDialog-90cJBaTf.mjs.map → NcAppSettingsDialog-HnYa47vg.cjs.map} +1 -1
  274. package/dist/chunks/{NcAppSettingsDialog-90cJBaTf.mjs → NcAppSettingsDialog-nbTWBbti.mjs} +65 -58
  275. package/dist/chunks/{NcAppSettingsDialog-WvDTWMwC.cjs.map → NcAppSettingsDialog-nbTWBbti.mjs.map} +1 -1
  276. package/dist/chunks/NcAppSettingsSection-LHcKgBpz.cjs +54 -0
  277. package/dist/chunks/{NcAppSettingsSection-wLClE1lO.cjs.map → NcAppSettingsSection-LHcKgBpz.cjs.map} +1 -1
  278. package/dist/chunks/{NcAppSettingsSection-WcupJObJ.mjs → NcAppSettingsSection-a0Un2ZRv.mjs} +18 -15
  279. package/dist/chunks/{NcAppSettingsSection-WcupJObJ.mjs.map → NcAppSettingsSection-a0Un2ZRv.mjs.map} +1 -1
  280. package/dist/chunks/NcAppSidebar-Tvy0LplS.cjs +712 -0
  281. package/dist/chunks/NcAppSidebar-Tvy0LplS.cjs.map +1 -0
  282. package/dist/chunks/NcAppSidebar-xWMj1EI8.mjs +731 -0
  283. package/dist/chunks/NcAppSidebar-xWMj1EI8.mjs.map +1 -0
  284. package/dist/chunks/{NcAppSidebarTab-BeWt8Sdt.cjs → NcAppSidebarTab-oPHofCKq.cjs} +15 -14
  285. package/dist/chunks/{NcAppSidebarTab-BeWt8Sdt.cjs.map → NcAppSidebarTab-oPHofCKq.cjs.map} +1 -1
  286. package/dist/chunks/{NcAppSidebarTab--7BkDK9T.mjs → NcAppSidebarTab-sMoFkDTb.mjs} +13 -12
  287. package/dist/chunks/{NcAppSidebarTab--7BkDK9T.mjs.map → NcAppSidebarTab-sMoFkDTb.mjs.map} +1 -1
  288. package/dist/chunks/{NcAvatar-paLjF9Tc.mjs → NcAvatar-JsMCceHU.mjs} +110 -100
  289. package/dist/chunks/NcAvatar-JsMCceHU.mjs.map +1 -0
  290. package/dist/chunks/{NcAvatar-1MXwkOA2.cjs → NcAvatar-uPVG9WWg.cjs} +133 -123
  291. package/dist/chunks/NcAvatar-uPVG9WWg.cjs.map +1 -0
  292. package/dist/chunks/{NcBreadcrumb-X45pwcLq.cjs → NcBreadcrumb-7q3EEfcO.cjs} +3 -3
  293. package/dist/chunks/{NcBreadcrumb-X45pwcLq.cjs.map → NcBreadcrumb-7q3EEfcO.cjs.map} +1 -1
  294. package/dist/chunks/{NcBreadcrumb-gB_hnDG_.mjs → NcBreadcrumb-Fr7J33Qv.mjs} +5 -5
  295. package/dist/chunks/{NcBreadcrumb-gB_hnDG_.mjs.map → NcBreadcrumb-Fr7J33Qv.mjs.map} +1 -1
  296. package/dist/chunks/{NcBreadcrumbs-Y8LRE6xz.cjs → NcBreadcrumbs-XVIsLfXn.cjs} +100 -96
  297. package/dist/chunks/NcBreadcrumbs-XVIsLfXn.cjs.map +1 -0
  298. package/dist/chunks/{NcBreadcrumbs-N7-Jj_ry.mjs → NcBreadcrumbs-ozezYXlM.mjs} +114 -110
  299. package/dist/chunks/NcBreadcrumbs-ozezYXlM.mjs.map +1 -0
  300. package/dist/chunks/{NcButton-Uxh-oARg.cjs → NcButton-7UKtzkX5.cjs} +73 -66
  301. package/dist/chunks/NcButton-7UKtzkX5.cjs.map +1 -0
  302. package/dist/chunks/{NcButton-nCkJxwsi.mjs → NcButton-YOXv3gFY.mjs} +73 -66
  303. package/dist/chunks/NcButton-YOXv3gFY.mjs.map +1 -0
  304. package/dist/chunks/{NcCheckboxRadioSwitch-Hi5ocuhB.cjs → NcCheckboxRadioSwitch-IA6Ssm8K.cjs} +22 -22
  305. package/dist/chunks/NcCheckboxRadioSwitch-IA6Ssm8K.cjs.map +1 -0
  306. package/dist/chunks/{NcCheckboxRadioSwitch-RgFq8ZUL.mjs → NcCheckboxRadioSwitch-NwTx_zgG.mjs} +80 -80
  307. package/dist/chunks/NcCheckboxRadioSwitch-NwTx_zgG.mjs.map +1 -0
  308. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_48c28b96_lang-togIrFzp.cjs +3 -0
  309. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_48c28b96_lang-togIrFzp.cjs.map +1 -0
  310. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_48c28b96_lang-yghIE9RS.mjs +3 -0
  311. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_48c28b96_lang-yghIE9RS.mjs.map +1 -0
  312. package/dist/chunks/{NcColorPicker-hS0KYrLP.mjs → NcColorPicker-DNy0FRJb.mjs} +42 -35
  313. package/dist/chunks/{NcColorPicker-hS0KYrLP.mjs.map → NcColorPicker-DNy0FRJb.mjs.map} +1 -1
  314. package/dist/chunks/{NcColorPicker-rE3Dd7s7.cjs → NcColorPicker-i9PgTYBd.cjs} +26 -19
  315. package/dist/chunks/{NcColorPicker-rE3Dd7s7.cjs.map → NcColorPicker-i9PgTYBd.cjs.map} +1 -1
  316. package/dist/chunks/NcContent-HdbQCleH.mjs +111 -0
  317. package/dist/chunks/{NcContent-fGj1oSM5.cjs.map → NcContent-HdbQCleH.mjs.map} +1 -1
  318. package/dist/chunks/NcContent-MOEEa0z1.cjs +103 -0
  319. package/dist/chunks/{NcContent-CUWR0V-w.mjs.map → NcContent-MOEEa0z1.cjs.map} +1 -1
  320. package/dist/chunks/{NcDashboardWidget-DC4_9Yv_.mjs → NcDashboardWidget-JGkvqDWC.mjs} +4 -4
  321. package/dist/chunks/{NcDashboardWidget-DC4_9Yv_.mjs.map → NcDashboardWidget-JGkvqDWC.mjs.map} +1 -1
  322. package/dist/chunks/{NcDashboardWidget-fnhMGIb6.cjs → NcDashboardWidget-qHSuK2yd.cjs} +1 -1
  323. package/dist/chunks/{NcDashboardWidget-fnhMGIb6.cjs.map → NcDashboardWidget-qHSuK2yd.cjs.map} +1 -1
  324. package/dist/chunks/{NcDashboardWidgetItem-0jGJ_5Nx.cjs → NcDashboardWidgetItem-fl92G4Pt.cjs} +1 -1
  325. package/dist/chunks/{NcDashboardWidgetItem-0jGJ_5Nx.cjs.map → NcDashboardWidgetItem-fl92G4Pt.cjs.map} +1 -1
  326. package/dist/chunks/{NcDashboardWidgetItem-TD0N9xlv.mjs → NcDashboardWidgetItem-oQGp29KO.mjs} +3 -3
  327. package/dist/chunks/{NcDashboardWidgetItem-TD0N9xlv.mjs.map → NcDashboardWidgetItem-oQGp29KO.mjs.map} +1 -1
  328. package/dist/chunks/{NcDateTime-EnQV6T52.mjs → NcDateTime-JYO8uPbb.mjs} +1 -1
  329. package/dist/chunks/{NcDateTime-EnQV6T52.mjs.map → NcDateTime-JYO8uPbb.mjs.map} +1 -1
  330. package/dist/chunks/{NcDateTime-m_WZoAvd.cjs → NcDateTime-T52KrH65.cjs} +1 -1
  331. package/dist/chunks/{NcDateTime-m_WZoAvd.cjs.map → NcDateTime-T52KrH65.cjs.map} +1 -1
  332. package/dist/chunks/{NcDateTimePicker-4edYzlVf.cjs → NcDateTimePicker-X2pCnTer.cjs} +36 -34
  333. package/dist/chunks/NcDateTimePicker-X2pCnTer.cjs.map +1 -0
  334. package/dist/chunks/{NcDateTimePicker-GHt3kJ7B.mjs → NcDateTimePicker-ahgVldMQ.mjs} +55 -53
  335. package/dist/chunks/NcDateTimePicker-ahgVldMQ.mjs.map +1 -0
  336. package/dist/chunks/{NcDateTimePickerNative-nDQjZSiZ.mjs → NcDateTimePickerNative-3Xru7_OT.mjs} +12 -12
  337. package/dist/chunks/{NcDateTimePickerNative-nDQjZSiZ.mjs.map → NcDateTimePickerNative-3Xru7_OT.mjs.map} +1 -1
  338. package/dist/chunks/{NcDateTimePickerNative-m30hv5MT.cjs → NcDateTimePickerNative-xSITuvpX.cjs} +13 -13
  339. package/dist/chunks/{NcDateTimePickerNative-m30hv5MT.cjs.map → NcDateTimePickerNative-xSITuvpX.cjs.map} +1 -1
  340. package/dist/chunks/{NcDialog-qsI2VY8S.cjs → NcDialog-BYXi2emF.cjs} +26 -24
  341. package/dist/chunks/NcDialog-BYXi2emF.cjs.map +1 -0
  342. package/dist/chunks/{NcDialog-eZWcoYL9.mjs → NcDialog-rTTTdaH3.mjs} +36 -34
  343. package/dist/chunks/NcDialog-rTTTdaH3.mjs.map +1 -0
  344. package/dist/chunks/NcDialogButton-37TPbyFs.cjs +73 -0
  345. package/dist/chunks/{NcDialogButton-Dou0EAc_.cjs.map → NcDialogButton-37TPbyFs.cjs.map} +1 -1
  346. package/dist/chunks/{NcDialogButton-R-zAILHz.mjs → NcDialogButton-ax4NTfDU.mjs} +21 -20
  347. package/dist/chunks/{NcDialogButton-R-zAILHz.mjs.map → NcDialogButton-ax4NTfDU.mjs.map} +1 -1
  348. package/dist/chunks/{NcEmojiPicker-84m02Stk.mjs → NcEmojiPicker-oWZ5anxp.mjs} +74 -71
  349. package/dist/chunks/NcEmojiPicker-oWZ5anxp.mjs.map +1 -0
  350. package/dist/chunks/{NcEmojiPicker-hxiKGEHb.cjs → NcEmojiPicker-tOE2N9VS.cjs} +68 -65
  351. package/dist/chunks/NcEmojiPicker-tOE2N9VS.cjs.map +1 -0
  352. package/dist/chunks/{NcHeaderMenu-yJJ4FWin.mjs → NcHeaderMenu-67JCzTGo.mjs} +44 -42
  353. package/dist/chunks/{NcHeaderMenu-Eo6rZDeL.cjs.map → NcHeaderMenu-67JCzTGo.mjs.map} +1 -1
  354. package/dist/chunks/{NcHeaderMenu-Eo6rZDeL.cjs → NcHeaderMenu-TvFFSvGS.cjs} +30 -28
  355. package/dist/chunks/{NcHeaderMenu-yJJ4FWin.mjs.map → NcHeaderMenu-TvFFSvGS.cjs.map} +1 -1
  356. package/dist/chunks/{NcIconSvgWrapper-gQnsseD2.mjs → NcIconSvgWrapper-ACaaN_pS.mjs} +1 -1
  357. package/dist/chunks/{NcIconSvgWrapper-gQnsseD2.mjs.map → NcIconSvgWrapper-ACaaN_pS.mjs.map} +1 -1
  358. package/dist/chunks/{NcIconSvgWrapper-rDMSblV4.cjs → NcIconSvgWrapper-_hHu9P_M.cjs} +1 -1
  359. package/dist/chunks/{NcIconSvgWrapper-rDMSblV4.cjs.map → NcIconSvgWrapper-_hHu9P_M.cjs.map} +1 -1
  360. package/dist/chunks/{NcInputConfirmCancel-3c-uWUuw.cjs → NcInputConfirmCancel-DYlc289d.cjs} +1 -1
  361. package/dist/chunks/{NcInputConfirmCancel-3c-uWUuw.cjs.map → NcInputConfirmCancel-DYlc289d.cjs.map} +1 -1
  362. package/dist/chunks/{NcInputConfirmCancel-cDJ5_L-Z.mjs → NcInputConfirmCancel-lmWu4ouW.mjs} +4 -4
  363. package/dist/chunks/{NcInputConfirmCancel-cDJ5_L-Z.mjs.map → NcInputConfirmCancel-lmWu4ouW.mjs.map} +1 -1
  364. package/dist/chunks/{NcInputField-9PAE2ONE.mjs → NcInputField-6pRWha3h.mjs} +7 -7
  365. package/dist/chunks/{NcInputField-dP-QARJo.cjs.map → NcInputField-6pRWha3h.mjs.map} +1 -1
  366. package/dist/chunks/{NcInputField-dP-QARJo.cjs → NcInputField-6vveMrmf.cjs} +5 -5
  367. package/dist/chunks/{NcInputField-9PAE2ONE.mjs.map → NcInputField-6vveMrmf.cjs.map} +1 -1
  368. package/dist/chunks/{NcListItem-iWTR4IZZ.cjs → NcListItem-3QDILDKr.cjs} +55 -53
  369. package/dist/chunks/NcListItem-3QDILDKr.cjs.map +1 -0
  370. package/dist/chunks/{NcListItem-gdczIybY.mjs → NcListItem-vkgu6Biu.mjs} +63 -61
  371. package/dist/chunks/NcListItem-vkgu6Biu.mjs.map +1 -0
  372. package/dist/chunks/{NcListItemIcon-XsKTtITp.mjs → NcListItemIcon-130Lt3dW.mjs} +32 -31
  373. package/dist/chunks/{NcListItemIcon-XsKTtITp.mjs.map → NcListItemIcon-130Lt3dW.mjs.map} +1 -1
  374. package/dist/chunks/{NcListItemIcon-FeNwaJy4.cjs → NcListItemIcon-dOvFvjqI.cjs} +29 -28
  375. package/dist/chunks/{NcListItemIcon-FeNwaJy4.cjs.map → NcListItemIcon-dOvFvjqI.cjs.map} +1 -1
  376. package/dist/chunks/{NcNoteCard-joOYqjyF.mjs → NcNoteCard-MnmgJvKD.mjs} +41 -39
  377. package/dist/chunks/NcNoteCard-MnmgJvKD.mjs.map +1 -0
  378. package/dist/chunks/{NcNoteCard-IAgTi5HW.cjs → NcNoteCard-ujnbiyLI.cjs} +20 -18
  379. package/dist/chunks/NcNoteCard-ujnbiyLI.cjs.map +1 -0
  380. package/dist/chunks/{NcPasswordField-QA6kIMu2.cjs → NcPasswordField-8rboJv29.cjs} +21 -21
  381. package/dist/chunks/NcPasswordField-8rboJv29.cjs.map +1 -0
  382. package/dist/chunks/{NcPasswordField-8NI5u7lk.mjs → NcPasswordField-RHelr3R-.mjs} +27 -27
  383. package/dist/chunks/NcPasswordField-RHelr3R-.mjs.map +1 -0
  384. package/dist/chunks/{NcPopover-sVfBFdPh.cjs → NcPopover-J0pw-klF.cjs} +31 -32
  385. package/dist/chunks/NcPopover-J0pw-klF.cjs.map +1 -0
  386. package/dist/chunks/{NcPopover-HwP68PjO.mjs → NcPopover-XgOWyuQF.mjs} +46 -47
  387. package/dist/chunks/NcPopover-XgOWyuQF.mjs.map +1 -0
  388. package/dist/chunks/{NcProgressBar-KvtCwl-0.mjs → NcProgressBar-1EANJyYJ.mjs} +2 -2
  389. package/dist/chunks/{NcProgressBar-KvtCwl-0.mjs.map → NcProgressBar-1EANJyYJ.mjs.map} +1 -1
  390. package/dist/chunks/{NcProgressBar-3p3Phbcw.cjs → NcProgressBar-zsehqkEw.cjs} +2 -2
  391. package/dist/chunks/{NcProgressBar-3p3Phbcw.cjs.map → NcProgressBar-zsehqkEw.cjs.map} +1 -1
  392. package/dist/chunks/{NcRelatedResourcesPanel--UoHihRf.mjs → NcRelatedResourcesPanel-NqDuh_7F.mjs} +24 -20
  393. package/dist/chunks/{NcRelatedResourcesPanel--UoHihRf.mjs.map → NcRelatedResourcesPanel-NqDuh_7F.mjs.map} +1 -1
  394. package/dist/chunks/{NcRelatedResourcesPanel-oTY2g2gt.cjs → NcRelatedResourcesPanel-QgNIHnCY.cjs} +45 -41
  395. package/dist/chunks/{NcRelatedResourcesPanel-oTY2g2gt.cjs.map → NcRelatedResourcesPanel-QgNIHnCY.cjs.map} +1 -1
  396. package/dist/chunks/{NcRichContenteditable-0x4AmYZf.cjs → NcRichContenteditable-L8aEJNGb.cjs} +28 -25
  397. package/dist/chunks/{NcRichContenteditable-rSquEMs2.mjs.map → NcRichContenteditable-L8aEJNGb.cjs.map} +1 -1
  398. package/dist/chunks/{NcRichContenteditable-rSquEMs2.mjs → NcRichContenteditable-W0BnJp3x.mjs} +31 -28
  399. package/dist/chunks/{NcRichContenteditable-0x4AmYZf.cjs.map → NcRichContenteditable-W0BnJp3x.mjs.map} +1 -1
  400. package/dist/chunks/{NcRichText-S8FLpGCe.cjs → NcRichText-91v7gJEe.cjs} +66 -54
  401. package/dist/chunks/NcRichText-91v7gJEe.cjs.map +1 -0
  402. package/dist/chunks/{NcRichText-_MNRVaQB.mjs → NcRichText-RTwlrmhz.mjs} +95 -83
  403. package/dist/chunks/NcRichText-RTwlrmhz.mjs.map +1 -0
  404. package/dist/chunks/{NcSelect-w_Gt1U72.mjs → NcSelect-HmmLuUCp.mjs} +63 -58
  405. package/dist/chunks/{NcSelect-9cM-OGdn.cjs.map → NcSelect-HmmLuUCp.mjs.map} +1 -1
  406. package/dist/chunks/{NcSelect-9cM-OGdn.cjs → NcSelect-P2FpWJBr.cjs} +46 -41
  407. package/dist/chunks/{NcSelect-w_Gt1U72.mjs.map → NcSelect-P2FpWJBr.cjs.map} +1 -1
  408. package/dist/chunks/{NcSelectTags-vm5Fx2H5.cjs → NcSelectTags-HX8YbYwd.cjs} +2 -11
  409. package/dist/chunks/{NcSelectTags-vm5Fx2H5.cjs.map → NcSelectTags-HX8YbYwd.cjs.map} +1 -1
  410. package/dist/chunks/{NcSelectTags-6F9oTRUw.mjs → NcSelectTags-ZoLcdmHG.mjs} +3 -12
  411. package/dist/chunks/{NcSelectTags-6F9oTRUw.mjs.map → NcSelectTags-ZoLcdmHG.mjs.map} +1 -1
  412. package/dist/chunks/{NcSettingsInputText-KTYvd9zc.mjs → NcSettingsInputText-9TVSwO_s.mjs} +1 -1
  413. package/dist/chunks/{NcSettingsInputText-KTYvd9zc.mjs.map → NcSettingsInputText-9TVSwO_s.mjs.map} +1 -1
  414. package/dist/chunks/{NcSettingsInputText-wY_R_c6S.cjs → NcSettingsInputText-oJ_c6sMr.cjs} +1 -1
  415. package/dist/chunks/{NcSettingsInputText-wY_R_c6S.cjs.map → NcSettingsInputText-oJ_c6sMr.cjs.map} +1 -1
  416. package/dist/chunks/{NcSettingsSection-2TP0NQPH.cjs → NcSettingsSection-W7Ieq32P.cjs} +7 -7
  417. package/dist/chunks/NcSettingsSection-W7Ieq32P.cjs.map +1 -0
  418. package/dist/chunks/{NcSettingsSection-dEPaFL2w.mjs → NcSettingsSection-bpmpu801.mjs} +2 -2
  419. package/dist/chunks/NcSettingsSection-bpmpu801.mjs.map +1 -0
  420. package/dist/chunks/{NcSettingsSelectGroup-JfvkEnNr.mjs → NcSettingsSelectGroup-HFDYgsw-.mjs} +5 -5
  421. package/dist/chunks/{NcSettingsSelectGroup-JfvkEnNr.mjs.map → NcSettingsSelectGroup-HFDYgsw-.mjs.map} +1 -1
  422. package/dist/chunks/{NcSettingsSelectGroup-p8cgn6pv.cjs → NcSettingsSelectGroup-UnB2ao3D.cjs} +4 -4
  423. package/dist/chunks/{NcSettingsSelectGroup-p8cgn6pv.cjs.map → NcSettingsSelectGroup-UnB2ao3D.cjs.map} +1 -1
  424. package/dist/chunks/{NcTextArea-hNPj4rEs.cjs → NcTextArea-QIkvyzz7.cjs} +7 -7
  425. package/dist/chunks/{NcTextArea-hNPj4rEs.cjs.map → NcTextArea-QIkvyzz7.cjs.map} +1 -1
  426. package/dist/chunks/{NcTextArea-dRgNOiSU.mjs → NcTextArea-SeSiP6Dy.mjs} +6 -6
  427. package/dist/chunks/{NcTextArea-dRgNOiSU.mjs.map → NcTextArea-SeSiP6Dy.mjs.map} +1 -1
  428. package/dist/chunks/{NcTextField-avDV7Ry_.mjs → NcTextField-qqwMB07_.mjs} +19 -19
  429. package/dist/chunks/NcTextField-qqwMB07_.mjs.map +1 -0
  430. package/dist/chunks/{NcTextField-bz_keSKF.cjs → NcTextField-zi19KqEm.cjs} +2 -2
  431. package/dist/chunks/NcTextField-zi19KqEm.cjs.map +1 -0
  432. package/dist/chunks/NcTimezonePicker-EPCmHeHy.mjs +3790 -0
  433. package/dist/chunks/{NcTimezonePicker-wLjOcbbU.mjs.map → NcTimezonePicker-EPCmHeHy.mjs.map} +1 -1
  434. package/dist/chunks/NcTimezonePicker-f6X4yiuj.cjs +3783 -0
  435. package/dist/chunks/{NcTimezonePicker-YNWJXRnl.cjs.map → NcTimezonePicker-f6X4yiuj.cjs.map} +1 -1
  436. package/dist/chunks/{NcUserBubble-fA1TQtnx.mjs → NcUserBubble-Jw-rOju8.mjs} +17 -16
  437. package/dist/chunks/{NcUserBubble-fA1TQtnx.mjs.map → NcUserBubble-Jw-rOju8.mjs.map} +1 -1
  438. package/dist/chunks/{NcUserBubble-epl-RDQa.cjs → NcUserBubble-NZeBFOmo.cjs} +23 -22
  439. package/dist/chunks/{NcUserBubble-epl-RDQa.cjs.map → NcUserBubble-NZeBFOmo.cjs.map} +1 -1
  440. package/dist/chunks/NcUserStatusIcon-b0xt-g7X.cjs +146 -0
  441. package/dist/chunks/{NcUserStatusIcon-swCHU0tl.cjs.map → NcUserStatusIcon-b0xt-g7X.cjs.map} +1 -1
  442. package/dist/chunks/NcUserStatusIcon-hmLq9dti.mjs +154 -0
  443. package/dist/chunks/{NcUserStatusIcon--z2VUZIt.mjs.map → NcUserStatusIcon-hmLq9dti.mjs.map} +1 -1
  444. package/dist/chunks/{ScopeComponent-4ppIHwI4.cjs → ScopeComponent-Gzz2FMnQ.cjs} +1 -1
  445. package/dist/chunks/{ScopeComponent-4ppIHwI4.cjs.map → ScopeComponent-Gzz2FMnQ.cjs.map} +1 -1
  446. package/dist/chunks/{ScopeComponent-KbEZrKGJ.mjs → ScopeComponent-mG7CSpxl.mjs} +1 -1
  447. package/dist/chunks/{ScopeComponent-KbEZrKGJ.mjs.map → ScopeComponent-mG7CSpxl.mjs.map} +1 -1
  448. package/dist/chunks/_l10n-Fl7RzbcZ.cjs +64 -0
  449. package/dist/chunks/_l10n-Fl7RzbcZ.cjs.map +1 -0
  450. package/dist/chunks/_l10n-uuAvfQgY.mjs +66 -0
  451. package/dist/chunks/_l10n-uuAvfQgY.mjs.map +1 -0
  452. package/dist/chunks/{actionGlobal-kyAHPMcH.cjs → actionGlobal-Cx6Fi9Pj.cjs} +4 -3
  453. package/dist/chunks/{actionGlobal-1onxXJwM.mjs.map → actionGlobal-Cx6Fi9Pj.cjs.map} +1 -1
  454. package/dist/chunks/{actionGlobal-1onxXJwM.mjs → actionGlobal-pi4JQ0yh.mjs} +4 -3
  455. package/dist/chunks/{actionGlobal-kyAHPMcH.cjs.map → actionGlobal-pi4JQ0yh.mjs.map} +1 -1
  456. package/dist/chunks/{actionText-WQ07UNmt.cjs → actionText-H_SIpDkO.cjs} +1 -1
  457. package/dist/chunks/{actionText-WQ07UNmt.cjs.map → actionText-H_SIpDkO.cjs.map} +1 -1
  458. package/dist/chunks/{actionText-IqPIFk1D.mjs → actionText-yZ-YQ_fz.mjs} +1 -1
  459. package/dist/chunks/{actionText-IqPIFk1D.mjs.map → actionText-yZ-YQ_fz.mjs.map} +1 -1
  460. package/dist/chunks/{emoji-mJIuLpNR.cjs → emoji-NrWIXNZ4.cjs} +7 -6
  461. package/dist/chunks/{emoji-mJIuLpNR.cjs.map → emoji-NrWIXNZ4.cjs.map} +1 -1
  462. package/dist/chunks/{emoji-tllD0Rvt.mjs → emoji-mEkenm2t.mjs} +4 -3
  463. package/dist/chunks/{emoji-tllD0Rvt.mjs.map → emoji-mEkenm2t.mjs.map} +1 -1
  464. package/dist/chunks/{index-NP8hZQhr.cjs → index-6mzaBTml.cjs} +8 -10
  465. package/dist/chunks/{index-NP8hZQhr.cjs.map → index-6mzaBTml.cjs.map} +1 -1
  466. package/dist/chunks/{index-hX7KRzaJ.mjs → index-clpvFjGU.mjs} +8 -10
  467. package/dist/chunks/{index-hX7KRzaJ.mjs.map → index-clpvFjGU.mjs.map} +1 -1
  468. package/dist/chunks/{referencePickerModal-9sd4Ftja.mjs → referencePickerModal-Fu9pQBdT.mjs} +188 -173
  469. package/dist/chunks/referencePickerModal-Fu9pQBdT.mjs.map +1 -0
  470. package/dist/chunks/{referencePickerModal-gCkuVbeM.cjs → referencePickerModal-JVKOIVTG.cjs} +143 -128
  471. package/dist/chunks/referencePickerModal-JVKOIVTG.cjs.map +1 -0
  472. package/dist/chunks/{usernameToColor-t95If_mB.mjs → usernameToColor-YCPAFxlc.mjs} +1 -1
  473. package/dist/chunks/{usernameToColor-t95If_mB.mjs.map → usernameToColor-YCPAFxlc.mjs.map} +1 -1
  474. package/dist/chunks/{usernameToColor--FE9Dq8h.cjs → usernameToColor-r5M5P032.cjs} +1 -1
  475. package/dist/chunks/{usernameToColor--FE9Dq8h.cjs.map → usernameToColor-r5M5P032.cjs.map} +1 -1
  476. package/dist/index.cjs +4 -4
  477. package/dist/index.mjs +64 -64
  478. package/dist/src/components/NcActionButton/NcActionButton.vue.d.ts +8 -4
  479. package/dist/src/components/NcActions/NcActions.vue.d.ts +29 -7
  480. package/dist/src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue.d.ts +14 -0
  481. package/dist/src/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +2 -3
  482. package/dist/src/components/NcButton/NcButton.vue.d.ts +1 -0
  483. package/dist/src/components/NcListItem/NcListItem.vue.d.ts +1 -1
  484. package/dist/src/components/NcRichText/NcReferenceList.vue.d.ts +9 -0
  485. package/dist/src/components/NcRichText/NcRichText.vue.d.ts +1 -1
  486. package/dist/vendor.LICENSE.txt +1 -1
  487. package/package.json +4 -3
  488. package/dist/chunks/AlertCircleOutline-Q4EgxGNm.mjs.map +0 -1
  489. package/dist/chunks/AlertCircleOutline-aU4Cu4IM.cjs.map +0 -1
  490. package/dist/chunks/ArrowLeft-4DZMGcXE.cjs.map +0 -1
  491. package/dist/chunks/ArrowLeft-LlLrrfss.mjs.map +0 -1
  492. package/dist/chunks/ArrowRight-Fk_qtqpW.mjs.map +0 -1
  493. package/dist/chunks/ArrowRight-mI4Fw0h2.cjs.map +0 -1
  494. package/dist/chunks/Check-SlTPuUzR.cjs.map +0 -1
  495. package/dist/chunks/Check-hentWFPd.mjs.map +0 -1
  496. package/dist/chunks/ChevronDown-7w1_NWAd.cjs.map +0 -1
  497. package/dist/chunks/ChevronDown-hP8YKVnf.mjs.map +0 -1
  498. package/dist/chunks/ChevronRight-iDcqZ2Ih.cjs.map +0 -1
  499. package/dist/chunks/ChevronRight-xEIO1OE7.mjs.map +0 -1
  500. package/dist/chunks/Close-2nENZfbn.cjs.map +0 -1
  501. package/dist/chunks/Close-4lZze_oD.mjs.map +0 -1
  502. package/dist/chunks/DotsHorizontal-2GCivGee.mjs.map +0 -1
  503. package/dist/chunks/DotsHorizontal-Ehuu1q0g.cjs.map +0 -1
  504. package/dist/chunks/NcActionButton-G4OSfyii.cjs.map +0 -1
  505. package/dist/chunks/NcActionButton-TAhaLmwa.mjs.map +0 -1
  506. package/dist/chunks/NcActions-6Yv0De7D.mjs.map +0 -1
  507. package/dist/chunks/NcActions-VJy75Dj8.cjs.map +0 -1
  508. package/dist/chunks/NcAppNavigationItem-6kzsp9I8.cjs.map +0 -1
  509. package/dist/chunks/NcAppNavigationItem-VR6oSt2q.mjs.map +0 -1
  510. package/dist/chunks/NcAppNavigationSettings-giVx2sHN.mjs.map +0 -1
  511. package/dist/chunks/NcAppNavigationSettings-mYqB3vRb.cjs.map +0 -1
  512. package/dist/chunks/NcAppNavigationToggle-DBCPaseG.mjs.map +0 -1
  513. package/dist/chunks/NcAppNavigationToggle-cRUPsHZH.cjs.map +0 -1
  514. package/dist/chunks/NcAppSettingsSection-wLClE1lO.cjs +0 -51
  515. package/dist/chunks/NcAppSidebar-19vWkj82.cjs +0 -706
  516. package/dist/chunks/NcAppSidebar-19vWkj82.cjs.map +0 -1
  517. package/dist/chunks/NcAppSidebar-yjd-HiUO.mjs +0 -725
  518. package/dist/chunks/NcAppSidebar-yjd-HiUO.mjs.map +0 -1
  519. package/dist/chunks/NcAvatar-1MXwkOA2.cjs.map +0 -1
  520. package/dist/chunks/NcAvatar-paLjF9Tc.mjs.map +0 -1
  521. package/dist/chunks/NcBreadcrumbs-N7-Jj_ry.mjs.map +0 -1
  522. package/dist/chunks/NcBreadcrumbs-Y8LRE6xz.cjs.map +0 -1
  523. package/dist/chunks/NcButton-Uxh-oARg.cjs.map +0 -1
  524. package/dist/chunks/NcButton-nCkJxwsi.mjs.map +0 -1
  525. package/dist/chunks/NcCheckboxRadioSwitch-Hi5ocuhB.cjs.map +0 -1
  526. package/dist/chunks/NcCheckboxRadioSwitch-RgFq8ZUL.mjs.map +0 -1
  527. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-RYt-H2PA.cjs +0 -3
  528. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-RYt-H2PA.cjs.map +0 -1
  529. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-kB-352LR.mjs +0 -3
  530. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-kB-352LR.mjs.map +0 -1
  531. package/dist/chunks/NcContent-CUWR0V-w.mjs +0 -156
  532. package/dist/chunks/NcContent-fGj1oSM5.cjs +0 -148
  533. package/dist/chunks/NcDateTimePicker-4edYzlVf.cjs.map +0 -1
  534. package/dist/chunks/NcDateTimePicker-GHt3kJ7B.mjs.map +0 -1
  535. package/dist/chunks/NcDialog-eZWcoYL9.mjs.map +0 -1
  536. package/dist/chunks/NcDialog-qsI2VY8S.cjs.map +0 -1
  537. package/dist/chunks/NcDialogButton-Dou0EAc_.cjs +0 -72
  538. package/dist/chunks/NcEmojiPicker-84m02Stk.mjs.map +0 -1
  539. package/dist/chunks/NcEmojiPicker-hxiKGEHb.cjs.map +0 -1
  540. package/dist/chunks/NcListItem-gdczIybY.mjs.map +0 -1
  541. package/dist/chunks/NcListItem-iWTR4IZZ.cjs.map +0 -1
  542. package/dist/chunks/NcNoteCard-IAgTi5HW.cjs.map +0 -1
  543. package/dist/chunks/NcNoteCard-joOYqjyF.mjs.map +0 -1
  544. package/dist/chunks/NcPasswordField-8NI5u7lk.mjs.map +0 -1
  545. package/dist/chunks/NcPasswordField-QA6kIMu2.cjs.map +0 -1
  546. package/dist/chunks/NcPopover-HwP68PjO.mjs.map +0 -1
  547. package/dist/chunks/NcPopover-sVfBFdPh.cjs.map +0 -1
  548. package/dist/chunks/NcRichText-S8FLpGCe.cjs.map +0 -1
  549. package/dist/chunks/NcRichText-_MNRVaQB.mjs.map +0 -1
  550. package/dist/chunks/NcSettingsSection-2TP0NQPH.cjs.map +0 -1
  551. package/dist/chunks/NcSettingsSection-dEPaFL2w.mjs.map +0 -1
  552. package/dist/chunks/NcTextField-avDV7Ry_.mjs.map +0 -1
  553. package/dist/chunks/NcTextField-bz_keSKF.cjs.map +0 -1
  554. package/dist/chunks/NcTimezonePicker-YNWJXRnl.cjs +0 -7202
  555. package/dist/chunks/NcTimezonePicker-wLjOcbbU.mjs +0 -7209
  556. package/dist/chunks/NcUserStatusIcon--z2VUZIt.mjs +0 -171
  557. package/dist/chunks/NcUserStatusIcon-swCHU0tl.cjs +0 -163
  558. package/dist/chunks/_l10n-JmazR_zZ.mjs +0 -66
  559. package/dist/chunks/_l10n-JmazR_zZ.mjs.map +0 -1
  560. package/dist/chunks/_l10n-wK0o0jNS.cjs +0 -64
  561. package/dist/chunks/_l10n-wK0o0jNS.cjs.map +0 -1
  562. package/dist/chunks/referencePickerModal-9sd4Ftja.mjs.map +0 -1
  563. package/dist/chunks/referencePickerModal-gCkuVbeM.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcEmojiPicker-tOE2N9VS.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 - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n -\n - @author 2020 Georg Ehrke <oc.list@georgehrke.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\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 v-model:shown=\"open\"\n\t\t:container=\"container\"\n\t\tpopup-role=\"dialog\"\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<Picker ref=\"picker\"\n\t\t\t:auto-focus=\"false /* We manage the input focus ourselves */\"\n\t\t\tcolor=\"var(--color-primary-element)\"\n\t\t\t:data=\"emojiIndex\"\n\t\t\t:emoji=\"previewFallbackEmoji\"\n\t\t\t:i18n=\"i18n\"\n\t\t\t:native=\"native\"\n\t\t\t:emoji-size=\"20\"\n\t\t\t:per-line=\"8\"\n\t\t\t:picker-styles=\"{ width: '320px' }\"\n\t\t\t:show-preview=\"showPreview\"\n\t\t\t:skin=\"currentSkinTone\"\n\t\t\t:show-skin-tones=\"false\"\n\t\t\t:title=\"previewFallbackName\"\n\t\t\trole=\"dialog\"\n\t\t\t:aria-label=\"t('Emoji picker')\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\t@select=\"select\">\n\t\t\t<template #searchTemplate=\"slotProps\">\n\t\t\t\t<div class=\"search__wrapper\">\n\t\t\t\t\t<NcTextField ref=\"search\"\n\t\t\t\t\t\tv-model=\"search\"\n\t\t\t\t\t\tclass=\"search\"\n\t\t\t\t\t\t:label=\"t('Search')\"\n\t\t\t\t\t\t:label-visible=\"true\"\n\t\t\t\t\t\t:placeholder=\"i18n.search\"\n\t\t\t\t\t\ttrailing-button-icon=\"close\"\n\t\t\t\t\t\t:trailing-button-label=\"t('Clear search')\"\n\t\t\t\t\t\t:show-trailing-button=\"search !== ''\"\n\t\t\t\t\t\t@trailing-button-click=\"clearSearch(); slotProps.onSearch(search);\"\n\t\t\t\t\t\t@update:model-value=\"slotProps.onSearch(search)\" />\n\t\t\t\t\t<NcColorPicker palette-only\n\t\t\t\t\t\t:container=\"container\"\n\t\t\t\t\t\t:palette=\"skinTonePalette\"\n\t\t\t\t\t\t:model-value=\"currentColor.color\"\n\t\t\t\t\t\t@update:model-value=\"onChangeSkinTone\">\n\t\t\t\t\t\t<NcButton :aria-label=\"t('Skin tone')\" type=\"tertiary-no-background\">\n\t\t\t\t\t\t\t<template #icon>\n\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</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</NcColorPicker>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if=\"allowUnselect && selectedEmoji\" #customCategory>\n\t\t\t\t<div class=\"emoji-mart-category-label\">\n\t\t\t\t\t<h3 class=\"emoji-mart-category-label\">\n\t\t\t\t\t\t{{ t('Selected') }}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t\t<Emoji class=\"emoji-selected\"\n\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\t:emoji=\"selectedEmoji\"\n\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t:size=\"32\"\n\t\t\t\t\t@click=\"unselect\" />\n\t\t\t\t<Emoji class=\"emoji-delete\"\n\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\temoji=\":x:\"\n\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t:size=\"10\"\n\t\t\t\t\t@click=\"unselect\" />\n\t\t\t</template>\n\t\t</Picker>\n\t</NcPopover>\n</template>\n\n<script>\nimport { getCurrentSkinTone, setCurrentSkinTone } from '../../functions/emoji/emoji.ts'\nimport { Color } from '../../utils/GenColors.js'\n\nimport IconCircle from 'vue-material-design-icons/Circle.vue'\nimport NcButton from '../NcButton/index.ts'\nimport NcColorPicker from '../NcColorPicker/NcColorPicker.vue'\nimport NcPopover from '../NcPopover/index.js'\nimport NcTextField from '../NcTextField/index.js'\nimport { t } from '../../l10n.js'\n\nimport { Picker, Emoji, EmojiIndex } from 'emoji-mart-vue-fast/src/index.js'\nimport data from 'emoji-mart-vue-fast/data/all.json'\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\tIconCircle,\n\t\tNcButton,\n\t\tNcColorPicker,\n\t\tNcPopover,\n\t\tNcTextField,\n\t\tEmoji,\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\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\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\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\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\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\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\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: [String, Object, Element, Boolean],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\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 * @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\tmethods: {\n\t\tt,\n\n\t\tclearSearch() {\n\t\t\tthis.search = ''\n\t\t\tconst input = this.$refs.search?.$refs.inputField?.$refs.input\n\t\t\tif (input) {\n\t\t\t\tinput.focus()\n\t\t\t}\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 * @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\t// add focus trap in modal\n\t\t\tconst picker = this.$refs.picker\n\t\t\tpicker.$el.addEventListener('keydown', this.checkKeyEvent)\n\n\t\t\t// set focus on input search field\n\t\t\tconst input = this.$refs.search?.$refs.inputField?.$refs.input\n\t\t\tif (input) {\n\t\t\t\tinput.focus()\n\t\t\t}\n\t\t},\n\n\t\tafterHide() {\n\t\t\t// remove keydown listner if popover is hidden\n\t\t\tconst picker = this.$refs.picker\n\t\t\tpicker.$el.removeEventListener('keydown', this.checkKeyEvent)\n\t\t},\n\n\t\tcheckKeyEvent(event) {\n\t\t\tif (event.key !== 'Tab') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst picker = this.$refs.picker\n\t\t\tconst focusableList = picker.$el.querySelectorAll(\n\t\t\t\t'button, input',\n\t\t\t)\n\t\t\tconst last = focusableList.length - 1\n\t\t\t// escape early if only 1 or no elements to focus\n\t\t\tif (focusableList.length <= 1) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (event.shiftKey === false && event.target === focusableList[last]) {\n\t\t\t\t// Jump to first item when pressing tab on the latest item\n\t\t\t\tevent.preventDefault()\n\t\t\t\tfocusableList[0].focus()\n\t\t\t} else if (event.shiftKey === true && event.target === focusableList[0]) {\n\t\t\t\t// Jump to the last item if pressing shift+tab on the first item\n\t\t\t\tevent.preventDefault()\n\t\t\t\tfocusableList[last].focus()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n@import 'emoji-mart-vue-fast/css/emoji-mart.css';\n\n.emoji-mart {\n\tbackground-color: var(--color-main-background) !important;\n\tborder: 0;\n\tcolor: var(--color-main-text) !important;\n\tdisplay: flex !important;\n\n\t// default style reset\n\tbutton {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tfont-size: inherit;\n\t\theight: 36px;\n\t\twidth: auto;\n\n\t\t* {\n\t\t\tcursor: pointer !important;\n\t\t}\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-search input:focus-visible {\n\t\tbox-shadow: inset 0 0 0 2px var(--color-primary-element);\n\t\toutline: none;\n\t}\n\n\t.emoji-mart-bar {\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: var(--border-radius) !important;\n\t\t\tborder-top-right-radius: var(--border-radius) !important;\n\t\t}\n\t}\n\n\t.emoji-mart-anchors {\n\t\tbutton {\n\t\t\tborder-radius: 0;\n\t\t\tpadding: 12px 4px;\n\t\t\theight: auto;\n\t\t\t&:focus-visible {\n\t\t\t\t/* box-shadow: inset 0 0 0 2px var(--color-primary-element); */\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t}\n\n\t.emoji-mart-category {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: start;\n\n\t\t.emoji-mart-category-label,\n\t\t.emoji-mart-emoji {\n\t\t\tuser-select: none;\n\t\t\tflex-grow: 0;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t.emoji-mart-category-label {\n\t\t\tflex-basis: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t.emoji-mart-emoji {\n\t\t\t// 8 emoji per row\n\t\t\tflex-basis: calc(100% / 8);\n\t\t\ttext-align: center;\n\n\t\t\t&:hover::before,\n\t\t\t&.emoji-mart-emoji-selected::before{\n\t\t\t\tbackground-color: var(--color-background-hover) !important;\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t\tbutton {\n\n\t\t\t&:focus-visible {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\tborder: 2px solid var(--color-primary-element) !important;\n\t\t\t\tborder-radius: 50%;\n\t\t\t}\n\t\t}\n\t}\n\n}\n</style>\n\n<style scoped lang=\"scss\">\n.search {\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 4px; // for focus-visible outlines\n\t\talign-items: end;\n\t\tpadding: 4px 8px;\n\t}\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$1","_hoisted_1$1","_hoisted_2$1","_hoisted_3$1","$props","vue","emojiIndex","i18n","_l10n","skinTonePalette","GenColors","_sfc_main","NcButton","NcPopover","index_js","currentSkinTone","emoji","input","index","emojiObject","event","last","focusableList","_hoisted_1","_hoisted_2","_hoisted_3","$data","_cache","$event","$options","_component_Picker","$setup","_ctx","slotProps"],"mappings":";+hBAoBAA,IAAA;AAAA,EACE,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACE,OAAA;AAAA;;;;MAKE,SAAA;AAAA;;;MAIA,SAAA;AAAA,IACF;AAAA,EACF;AACF,GApCAC,IAAA,CAAA,eAAA,YAAA,GAAAC,IAAA,CAAA,QAAA,SAAA,QAAA,GAYYC,IAAA,EAAA,GAAA,+EAAA;;;IAVH,eAAAC,EAAA,QAAA,OAAA;AAAA,IACA,cAAAA,EAAA;AAAA,IACD,OAAA;AAAA,IACA,MAAA;AAAA;;;MAEE,MAAAA,EAAA;AAAA,MACD,OAAA;AAAA,MACC,OAAAA,EAAA;AAAA,MACA,QAAAA,EAAA;AAAA,MACD,SAAA;AAAA;MACHC,EAAA,mBAAA,QAAAF,GAAA;AAAA,qGAZNE,EAAA,mBAAA,IAAA,EAAA;AAAA;IAAA,GAAA,GAAAH,CAAA;AAAA,EAAA,GAAA,IAAAD,CAAA;;;;ACyNA,IAAAK;AAEA,MAAAC,IAAA;AAAA;;;;;;;;IASE,OAAAC,EAAA,EAAA,cAAA;AAAA;;IAGA,SAAAA,EAAA,EAAA,SAAA;AAAA,IACA,SAAAA,EAAA,EAAA,SAAA;AAAA,IACA,OAAAA,EAAA,EAAA,OAAA;AAAA,IACA,QAAAA,EAAA,EAAA,QAAA;AAAA;AAEF,GAEAC,IAAA;AAAA,EACC,IAAAC,EAAA,MAAA,KAAA,KAAA,IAAAF,EAAA,EAAA,oBAAA,CAAA;AAAA,EACA,IAAAE,EAAA,MAAA,KAAA,KAAA,KAAAF,EAAA,EAAA,iBAAA,CAAA;AAAA;EAEA,IAAAE,EAAA,MAAA,KAAA,KAAA,IAAAF,EAAA,EAAA,kBAAA,CAAA;AAAA,EACA,IAAAE,EAAA,MAAA,KAAA,KAAA,IAAAF,EAAA,EAAA,uBAAA,CAAA;AAAA,EACA,IAAAE,EAAA,MAAA,IAAA,IAAA,IAAAF,EAAA,EAAA,gBAAA,CAAA;AACD,GAEAG,IAAA;AAAA,EACC,MAAA;AAAA;;IAIC,UAAAC,EAAA;AAAA;IAEA,WAAAC,EAAA;AAAA;;IAGA,QAAAC,EAAA;AAAA;EAGD,OAAA;AAAA;AAAA;AAAA;AAAA;;MAME,SAAA;AAAA;;;;;;;;;;;IAYD,eAAA;AAAA;;;;;;IAOA,eAAA;AAAA;;;;;;IAOA,sBAAA;AAAA;MAEC,SAAA;AAAA;;;;IAKD,qBAAA;AAAA;;;;;;IAOA,eAAA;AAAA;;;;;;;MASC,MAAA,CAAA,QAAA,QAAA,SAAA,OAAA;AAAA,MACA,SAAA;AAAA;;EAGF,OAAA;AAAA,IACC;AAAA;;;EAKD,QAAA;AAEC,WAAAR,wCAIA;AAAA;AAAA;MAGC,iBAAAG;AAAA;IAED;AAAA;EAGD,OAAA;AACC,UAAAM,IAAAC,EAAA,mBAAA;AAEA,WAAA;AAAA;AAAA;AAAA;AAAA;;;;;MASC,iBAAAD;AAAA,MACA,QAAA;AAAA;IAED;AAAA;EAGD,UAAA;AAAA,IACC,SAAA;AACC,aAAA,KAAA,cAAA;AAAA;;EAIF,SAAA;AAAA;;;;;AAME,MAAAE;;;;;;;;+CAaC,KAAA,eAAA,KAAA,gBAAAC,CAAA,GACAF,EAAA,mBAAA,KAAA,eAAA;AAAA;IAIF,OAAAG,GAAA;AAIC,WAAA,MAAA,UAAAA,EAAA,MAAA,GAKA,KAAA,MAAA,eAAAA,CAAA,0BAGC,KAAA,OAAA;AAAA;;AAKD,WAAA,MAAA,UAAA;AAAA;;;;;AAUA,MAAAF;;;;;IAWD,cAAAG,GAAA;AACC,UAAAA,EAAA,QAAA;;;QAKC;AAAA,MACD,GACAC,IAAAC,EAAA,SAAA;;AAGC,QAAAF,EAAA,eAAA;;MAED;AACA,MAAAA,EAAA,aAAA,MAAAA,EAAA,WAAAE,EAAAD,CAAA,KAECD,EAAA,eAAA,mBAEDA,EAAA,aAAA,MAAAA,EAAA,WAAAE,EAAA,CAAA,MAECF,EAAA,eAAA;;;AAKJ,GAzSSG,IAAA,EAAA,OAAA,kBAAA,GA0BAC,IAAA,EAAA,OAAA,4BAAA,GACAC,IAAA,EAAA,OAAA,4BAAA;;;;IAtDW,OAAAC,EAAA;AAAA,IA9HpB,kBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAF,EAAA,OAAAE;AAAA,IA+HG,WAAAxB,EAAA;AAAA,IACD,cAAA;AAAA,IACC,aAAAyB,EAAA;AAAA,IACA,aAAAA,EAAA;AAAA;;;;IAlIH,SAAAxB,EAAA,QAAA,MAAA;AAAA,MAsIEA,EAAA,YAAAyB,GAAAzB,EAAA,WAAA;AAAA,QAAQ,KAAA;AAAA,QACN,cAAA;AAAA,QACD,OAAA;AAAA,QACC,MAAA0B,EAAA;AAAA,QACA,OAAA3B,EAAA;AAAA,QACA,MAAA2B,EAAA;AAAA,QACA,QAAAF,EAAA;AAAA,QACA,cAAA;AAAA,QACA,YAAA;AAAA,QACA,iBAAA,EAAA,OAAA,QAAA;AAAA,QACA,gBAAAzB,EAAA;AAAA,QACA,MAAAsB,EAAA;AAAA,QACA,mBAAA;AAAA,QACA,OAAAtB,EAAA;AAAA,QACD,MAAA;AAAA,QACC,cAAAyB,EAAA,EAAA,cAAA;AAAA,MACO,GAAAG,EAAA,QAAA,EAAA,UAAAH,EAAA,OAAA,CAAA,GAAAxB,EAAA,YAAA;AAAA;UAGPA,EAAA,mBAAA,OAAAkB,GAAA;AAAA;cACc,KAAA;AAAA,cA1JlB,YAAAG,EAAA;AAAA,cAAA,uBAAA;AAAA;;;cA4JM,OAAA;AAAA,cACC,OAAAG,EAAA,EAAA,QAAA;AAAA,cACA,iBAAA;AAAA;cAED,wBAAA;AAAA,cACC,yBAAAA,EAAA,EAAA,cAAA;AAAA,cACA,wBAAAH,EAAA,WAAA;AAAA,cACA,uBAAA,CAAAE,MAAA;AAAA,gBAAAC,EAAA,YAAA,GAAAI,EAAA,SAAAP,EAAA,MAAA;AAAA,cAAA;AAAA;;cAEa,gBAAA;AAAA,cACb,WAAAtB,EAAA;AAAA,cACA,SAAA2B,EAAA;AAAA;cAEA,uBAAAF,EAAA;AAAA;cAzKP,SAAAxB,EAAA,QAAA,MAAA;AAAA;kBA0KiB,cAAAwB,EAAA,EAAA,WAAA;AAAA,kBAA4B,MAAA;AAAA;kBAC3B,MAAAxB,EAAA,QAAA,MAAA;AAAA;sBACG,OAAAA,EAAA,eAAA,EAAA,OAAAqB,EAAA,aAAA,MAAA,CAAA;AAAA;sBAAkE,MAAA;AAAA;;;;;;;;;;;QAMpEtB,EAAA,iBAAAA,EAAA;UAlLnB,MAAA;AAAA,UAAA,IAAAC,EAAA,QAAA,MAAA;AAAA,YAmLIA,EAAA,mBAAA,OAAAmB,GAAA;AAAA;;;cAKO,OAAA;AAAA,cACL,MAAAO,EAAA;AAAA,cACA,OAAA3B,EAAA;AAAA,cACA,QAAA;AAAA,cACA,MAAA;AAAA,cACA,SAAAyB,EAAA;AAAA;;cACK,OAAA;AAAA,cACL,MAAAE,EAAA;AAAA,cACD,OAAA;AAAA,cACC,QAAA;AAAA,cACA,MAAA;AAAA,cACA,SAAAF,EAAA;AAAA;;;YAnMN;AAAA;;;;;;;","x_google_ignoreList":[0]}
@@ -1,30 +1,30 @@
1
- import "../assets/NcHeaderMenu-j8h_puZT.css";
2
- import { vOnClickOutside as h } from "@vueuse/components";
3
- import { createFocusTrap as m } from "focus-trap";
4
- import { G as s } from "./GenRandomId-VodkdWbp.mjs";
5
- import f from "../Mixins/clickOutsideOptions.mjs";
1
+ import "../assets/NcHeaderMenu-kKraSlS3.css";
2
+ import { vOnClickOutside as m } from "@vueuse/components";
3
+ import { createFocusTrap as f } from "focus-trap";
4
+ import { G as a } from "./GenRandomId-VodkdWbp.mjs";
5
+ import _ from "../Mixins/clickOutsideOptions.mjs";
6
6
  import "@nextcloud/router";
7
- import { resolveComponent as _, resolveDirective as g, withDirectives as r, openBlock as a, createBlock as v, resolveDynamicComponent as k, mergeProps as y, toHandlers as b, withCtx as c, createVNode as T, withModifiers as w, renderSlot as d, createElementBlock as M, toDisplayString as N, createCommentVNode as C, createElementVNode as o, vShow as l } from "vue";
7
+ import { resolveComponent as g, resolveDirective as v, withDirectives as o, openBlock as c, createBlock as k, resolveDynamicComponent as y, mergeProps as b, toHandlers as T, withCtx as d, createVNode as w, withModifiers as M, renderSlot as l, createElementBlock as N, toDisplayString as C, createCommentVNode as O, createElementVNode as s, vShow as u } from "vue";
8
8
  /* empty css */
9
- import { _ as O } from "./_plugin-vue_export-helper-hUChTQA_.mjs";
9
+ import { _ as D } from "./_plugin-vue_export-helper-hUChTQA_.mjs";
10
10
  import "linkify-string";
11
11
  import "escape-html";
12
12
  import "striptags";
13
13
  import "@nextcloud/auth";
14
14
  import "@nextcloud/axios";
15
15
  import "@nextcloud/capabilities";
16
- import { g as D } from "./focusTrap-Py2bQ9-r.mjs";
17
- import { N as S } from "./NcButton-nCkJxwsi.mjs";
18
- const B = {
16
+ import { g as S } from "./focusTrap-Py2bQ9-r.mjs";
17
+ import { N as B } from "./NcButton-YOXv3gFY.mjs";
18
+ const F = {
19
19
  name: "NcHeaderMenu",
20
20
  components: {
21
- NcButton: S
21
+ NcButton: B
22
22
  },
23
23
  directives: {
24
- ClickOutside: h
24
+ ClickOutside: m
25
25
  },
26
26
  mixins: [
27
- f
27
+ _
28
28
  ],
29
29
  props: {
30
30
  /**
@@ -76,12 +76,13 @@ const B = {
76
76
  "cancel"
77
77
  ],
78
78
  data() {
79
+ var e, n, t;
79
80
  return {
80
81
  focusTrap: null,
81
82
  opened: this.open,
82
- shortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),
83
- triggerId: s(),
84
- descriptionId: s()
83
+ shortcutsDisabled: (t = (n = (e = window.OCP) == null ? void 0 : e.Accessibility) == null ? void 0 : n.disableKeyboardShortcuts) == null ? void 0 : t.call(n),
84
+ triggerId: a(),
85
+ descriptionId: a()
85
86
  };
86
87
  },
87
88
  computed: {
@@ -154,70 +155,71 @@ const B = {
154
155
  if (this.isNav || this.focusTrap)
155
156
  return;
156
157
  const e = this.$refs.content;
157
- this.focusTrap = m(e, {
158
+ this.focusTrap = f(e, {
158
159
  allowOutsideClick: !0,
159
- trapStack: D(),
160
+ trapStack: S(),
160
161
  fallbackFocus: this.$refs.trigger
161
162
  }), this.focusTrap.activate();
162
163
  },
163
164
  clearFocusTrap() {
164
- this.focusTrap?.deactivate(), this.focusTrap = null;
165
+ var e;
166
+ (e = this.focusTrap) == null || e.deactivate(), this.focusTrap = null;
165
167
  }
166
168
  }
167
- }, F = ["id"], I = { class: "header-menu__carret" }, x = ["id"], E = {
169
+ }, I = ["id"], x = { class: "header-menu__carret" }, E = ["id"], K = {
168
170
  ref: "content",
169
171
  class: "header-menu__content"
170
172
  };
171
- function K(e, L, t, H, i, n) {
172
- const u = _("NcButton"), p = g("click-outside");
173
- return r((a(), v(k(n.wrapperTag), y({
173
+ function L(e, n, t, H, i, r) {
174
+ const p = g("NcButton"), h = v("click-outside");
175
+ return o((c(), k(y(r.wrapperTag), b({
174
176
  id: t.id,
175
177
  ref: "headerMenu",
176
178
  "aria-labelledby": t.isNav ? i.triggerId : null,
177
179
  class: [{ "header-menu--opened": i.opened }, "header-menu"]
178
- }, b(n.listeners)), {
179
- default: c(() => [
180
- T(u, {
180
+ }, T(r.listeners)), {
181
+ default: d(() => [
182
+ w(p, {
181
183
  id: t.isNav ? i.triggerId : null,
182
184
  ref: "trigger",
183
185
  type: "tertiary-no-background",
184
186
  class: "header-menu__trigger",
185
187
  "aria-label": t.ariaLabel,
186
188
  "aria-describedby": t.description ? i.descriptionId : null,
187
- "aria-controls": `header-menu-${t.id}`,
189
+ "aria-controls": "header-menu-".concat(t.id),
188
190
  "aria-expanded": i.opened.toString(),
189
- onClick: w(n.toggleMenu, ["prevent"])
191
+ onClick: M(r.toggleMenu, ["prevent"])
190
192
  }, {
191
- icon: c(() => [
192
- d(e.$slots, "trigger", {}, void 0, !0)
193
+ icon: d(() => [
194
+ l(e.$slots, "trigger", {}, void 0, !0)
193
195
  ]),
194
196
  _: 3
195
197
  }, 8, ["id", "aria-label", "aria-describedby", "aria-controls", "aria-expanded", "onClick"]),
196
- t.description ? (a(), M("span", {
198
+ t.description ? (c(), N("span", {
197
199
  key: 0,
198
200
  id: i.descriptionId,
199
201
  class: "header-menu__description hidden-visually"
200
- }, N(t.description), 9, F)) : C("", !0),
201
- r(o("div", I, null, 512), [
202
- [l, i.opened]
202
+ }, C(t.description), 9, I)) : O("", !0),
203
+ o(s("div", x, null, 512), [
204
+ [u, i.opened]
203
205
  ]),
204
- r(o("div", {
205
- id: `header-menu-${t.id}`,
206
+ o(s("div", {
207
+ id: "header-menu-".concat(t.id),
206
208
  class: "header-menu__wrapper"
207
209
  }, [
208
- o("div", E, [
209
- d(e.$slots, "default", {}, void 0, !0)
210
+ s("div", K, [
211
+ l(e.$slots, "default", {}, void 0, !0)
210
212
  ], 512)
211
- ], 8, x), [
212
- [l, i.opened]
213
+ ], 8, E), [
214
+ [u, i.opened]
213
215
  ])
214
216
  ]),
215
217
  _: 3
216
218
  }, 16, ["id", "aria-labelledby", "class"])), [
217
- [p, n.clickOutsideConfig]
219
+ [h, r.clickOutsideConfig]
218
220
  ]);
219
221
  }
220
- const te = /* @__PURE__ */ O(B, [["render", K], ["__scopeId", "data-v-89b55d8b"]]);
222
+ const te = /* @__PURE__ */ D(F, [["render", L], ["__scopeId", "data-v-c4a8351e"]]);
221
223
  export {
222
224
  te as N
223
225
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderMenu-Eo6rZDeL.cjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":[" <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\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<input placeholder=\"Search for files, comments, contacts...\" type=\"search\" style=\"width: 99%;\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\tdescription=\"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}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component :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 :id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\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 v-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 v-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'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.js'\n\nimport NcButton from '../NcButton/index.ts'\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\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\topened: this.open,\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\tbeforeUnmount() {\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,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\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.header-menu {\n\tposition: relative;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\n\t&__trigger {\n\t\twidth: var(--header-height);\n\t\theight: var(--header-height);\n\t\topacity: .85;\n\n\t\t// header is filled with primary or image background\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t#{&}__trigger:focus-visible {\n\t\toutline: none !important;\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tpadding: 8px;\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(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.header-menu {\n\t\twidth: $clickable-area;\n\n\t\t&__trigger {\n\t\t\twidth: $clickable-area;\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","Mixins_clickOutsideOptions","open","cancelled","event","contentContainer","_hoisted_1","_hoisted_2","_hoisted_3","vue","$options","$props","$data","_hoisted_4"],"mappings":";;;;;;;;;;;;uFA0HAA,IAAA;AAAA,EACC,MAAA;AAAA;IAGC,UAAAC,EAAA;AAAA;;;;EAOD,QAAA;AAAA,IACCC;AAAA;EAGD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,IAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;IA2BA,OAAA;AAAA;;;;;;;;;;;;EAeD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;IAEA;AAAA;EAGD,OAAA;AACC,WAAA;AAAA,MACC,WAAA;AAAA,MACA,QAAA,KAAA;AAAA,MACA,mBAAA,OAAA,KAAA,eAAA,2BAAA;AAAA;;IAGD;AAAA;EAGD,UAAA;AAAA;;;IAKC,qBAAA;AACC,aAAA;AAAA,QACC,KAAA;AAAA;MAED;AAAA;;AAIA,aAAA,KAAA,QACC;AAAA;MAEA,IAED;AAAA;;EAIF,OAAA;AAAA;AAEE,MAAAC,IACC,KAAA,SAAA,IAEA,KAAA,UAAA;AAAA;;EAKH,UAAA;;;EAGA,gBAAA;;;EAIA,SAAA;AAAA;AAAA;AAAA;AAAA;AAME,MAAA,KAAA,SAGC,KAAA,UAAA,IAFA,KAAA,SAAA;AAAA;;;;;;;AAaD,WAAA,SAAA,IACA,KAAA,MAAAC,IAAA,WAAA,OAAA,GACA,KAAA,MAAA,eAAA,EAAA,GAGA,KAAA,eAAA,GAGA,KAAA,UAAA,MAAA;AACC,aAAA,MAAA,QAAA;AAAA;;;;;;AASD,WAAA,SAAA,IACA,KAAA,MAAA,MAAA,kCAIA,KAAA,UAAA,MAAA;AACC,aAAA,aAAA,GACA,KAAA,MAAA,QAAA;AAAA;;IAIF,UAAAC,GAAA;AACC,MAAA,KAAA,qBAAA,CAAA,KAAA,iCAMCA,EAAA,eAAA,GAGA,KAAA,UAAA,EAAA;AAAA;;;;IAOF,WAAAA,GAAA;yDAEE,KAAA,UAAA;AAAA;;;;;;IASF,MAAA,eAAA;AACC,UAAA,KAAA,SAAA,KAAA;;AAIA,YAAAC,IAAA,KAAA,MAAA;;;;QAIC,eAAA,KAAA,MAAA;AAAA;;IAIF,iBAAA;oCAEC,KAAA,YAAA;AAAA;;AAGH,GAhVAC,IAAA,CAAA,IAAA,GAkGuBC,IAAA,EAAA,OAAA,sBAAA,GAlGvBC,IAAA,CAAA,IAAA;EAwGQ,KAAA;AAAA,EAAc,OAAA;;;;AAtCrB,SAAAC,EAAA,gBAAAA,EAAA,UAAA,GAAAA,EAAA,YAAAA,EAAA,wBAAAC,EAAA,UAAA,GAAAD,EAAA,WAAA;AAAA,IACE,IAAAE,EAAA;AAAA,IACD,KAAA;AAAA;;EAKA,GAAAF,EAAA,WAAAC,EAAA,SAAA,CAAA,GAAA;AAAA,IAzEF,SAAAD,EAAA,QAAA,MAAA;AAAA;;QA4EG,KAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACC,cAAAE,EAAA;AAAA;QAEA,iBAAA,eAAAA,EAAA,EAAA;AAAA;;;QAGU,MAAAF,EAAA,QAAA,MAAA;AAAA;;;;;;QAQV,IAAAG,EAAA;AAAA,QACD,OAAA;AAAA,MACG,GAAAH,EAAA,gBAAAE,EAAA,WAAA,GAAA,GAAAL,CAAA,KA9FNG,EAAA,mBAAA,IAAA,EAAA;AAAA,MAkGEA,EAAA,eAAAA,EAAA,mBAAA,OAAAF,GAAA,MAAA,GAAA,GAAA;AAAA;;;QAIE,IAAA,eAAAI,EAAA,EAAA;AAAA,QACD,OAAA;AAAA;QACAF,EAAA,mBAAA,OAAAI,GAAA;AAAA;;MAxGH,GAAA,GAAAL,CAAA,GAAA;AAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHeaderMenu-67JCzTGo.mjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":[" <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\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<input placeholder=\"Search for files, comments, contacts...\" type=\"search\" style=\"width: 99%;\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\tdescription=\"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}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component :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 :id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\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 v-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 v-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'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.js'\n\nimport NcButton from '../NcButton/index.ts'\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\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\topened: this.open,\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\tbeforeUnmount() {\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,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\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.header-menu {\n\tposition: relative;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\n\t#{&}__trigger {\n\t\twidth: var(--header-height) !important;\n\t\theight: var(--header-height);\n\t\topacity: .85;\n\n\t\t// header is filled with primary or image background\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t#{&}__trigger:focus-visible {\n\t\toutline: none !important;\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tpadding: 8px;\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(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.header-menu {\n\t\twidth: $clickable-area;\n\n\t\t&__trigger {\n\t\t\twidth: $clickable-area;\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","clickOutsideOptions","_c","_b","_a","open","cancelled","event","contentContainer","_hoisted_1","_hoisted_2","_hoisted_3","withDirectives","openBlock","createBlock","resolveDynamicComponent","$options","mergeProps","$props","toHandlers","withCtx","$data","toDisplayString","createCommentVNode","createElementVNode","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;AA0HA,MAAAA,IAAA;AAAA,EACC,MAAA;AAAA;IAGC,UAAAC;AAAA;;;;EAOD,QAAA;AAAA,IACCC;AAAA;EAGD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,IAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;IA2BA,OAAA;AAAA;;;;;;;;;;;;EAeD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;IAEA;AAAA;EAGD,OAAA;;AACC,WAAA;AAAA,MACC,WAAA;AAAA,MACA,QAAA,KAAA;AAAA,MACA,oBAAAC,KAAAC,KAAAC,IAAA,OAAA,QAAA,gBAAAA,EAAA,kBAAA,gBAAAD,EAAA,6BAAA,gBAAAD,EAAA,KAAAC;AAAA;;IAGD;AAAA;EAGD,UAAA;AAAA;;;IAKC,qBAAA;AACC,aAAA;AAAA,QACC,KAAA;AAAA;MAED;AAAA;;AAIA,aAAA,KAAA,QACC;AAAA;MAEA,IAED;AAAA;;EAIF,OAAA;AAAA;AAEE,MAAAE,IACC,KAAA,SAAA,IAEA,KAAA,UAAA;AAAA;;EAKH,UAAA;;;EAGA,gBAAA;;;EAIA,SAAA;AAAA;AAAA;AAAA;AAAA;AAME,MAAA,KAAA,SAGC,KAAA,UAAA,IAFA,KAAA,SAAA;AAAA;;;;;;;AAaD,WAAA,SAAA,IACA,KAAA,MAAAC,IAAA,WAAA,OAAA,GACA,KAAA,MAAA,eAAA,EAAA,GAGA,KAAA,eAAA,GAGA,KAAA,UAAA,MAAA;AACC,aAAA,MAAA,QAAA;AAAA;;;;;;AASD,WAAA,SAAA,IACA,KAAA,MAAA,MAAA,kCAIA,KAAA,UAAA,MAAA;AACC,aAAA,aAAA,GACA,KAAA,MAAA,QAAA;AAAA;;IAIF,UAAAC,GAAA;AACC,MAAA,KAAA,qBAAA,CAAA,KAAA,iCAMCA,EAAA,eAAA,GAGA,KAAA,UAAA,EAAA;AAAA;;;;IAOF,WAAAA,GAAA;yDAEE,KAAA,UAAA;AAAA;;;;;;IASF,MAAA,eAAA;AACC,UAAA,KAAA,SAAA,KAAA;;AAIA,YAAAC,IAAA,KAAA,MAAA;;;;QAIC,eAAA,KAAA,MAAA;AAAA;;IAIF,iBAAA;;sDAEC,KAAA,YAAA;AAAA;;AAGH,GAhVAC,IAAA,CAAA,IAAA,GAkGuBC,IAAA,EAAA,OAAA,sBAAA,GAlGvBC,IAAA,CAAA,IAAA;EAwGQ,KAAA;AAAA,EAAc,OAAA;;;;AAtCrB,SAAAC,GAAAC,EAAA,GAAAC,EAAAC,EAAAC,EAAA,UAAA,GAAAC,EAAA;AAAA,IACE,IAAAC,EAAA;AAAA,IACD,KAAA;AAAA;;EAKA,GAAAC,EAAAH,EAAA,SAAA,CAAA,GAAA;AAAA,IAzEF,SAAAI,EAAA,MAAA;AAAA;;QA4EG,KAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACC,cAAAF,EAAA;AAAA;QAEA,iBAAA,eAAA,OAAAA,EAAA;AAAA;;;QAGU,MAAAE,EAAA,MAAA;AAAA;;;;;;QAQV,IAAAC,EAAA;AAAA,QACD,OAAA;AAAA,MACG,GAAAC,EAAAJ,EAAA,WAAA,GAAA,GAAAT,CAAA,KA9FNc,EAAA,IAAA,EAAA;AAAA,MAkGEX,EAAAY,EAAA,OAAAd,GAAA,MAAA,GAAA,GAAA;AAAA;;;QAIE,IAAA,eAAA,OAAAQ,EAAA;AAAA,QACD,OAAA;AAAA;QACAM,EAAA,OAAAC,GAAA;AAAA;;MAxGH,GAAA,GAAAd,CAAA,GAAA;AAAA;;;;;;;;;"}
@@ -1,25 +1,25 @@
1
- var N = require("../assets/NcHeaderMenu-j8h_puZT.css");
2
- const a = require("@vueuse/components"), d = require("focus-trap"), s = require("./GenRandomId-ULxaMkkr.cjs"), u = require("../Mixins/clickOutsideOptions.cjs");
1
+ var N = require("../assets/NcHeaderMenu-kKraSlS3.css");
2
+ const u = require("@vueuse/components"), d = require("focus-trap"), o = require("./GenRandomId-ULxaMkkr.cjs"), l = require("../Mixins/clickOutsideOptions.cjs");
3
3
  require("@nextcloud/router");
4
4
  const e = require("vue");
5
5
  ;/* empty css */
6
- const l = require("./_plugin-vue_export-helper-xG2iG1wl.cjs");
6
+ const p = require("./_plugin-vue_export-helper-xG2iG1wl.cjs");
7
7
  require("linkify-string");
8
8
  require("escape-html");
9
9
  require("striptags");
10
10
  require("@nextcloud/auth");
11
11
  require("@nextcloud/axios");
12
12
  require("@nextcloud/capabilities");
13
- const p = require("./focusTrap-n3H52LOw.cjs"), h = require("./NcButton-Uxh-oARg.cjs"), f = {
13
+ const h = require("./focusTrap-n3H52LOw.cjs"), f = require("./NcButton-7UKtzkX5.cjs"), m = {
14
14
  name: "NcHeaderMenu",
15
15
  components: {
16
- NcButton: h.NcButton
16
+ NcButton: f.NcButton
17
17
  },
18
18
  directives: {
19
- ClickOutside: a.vOnClickOutside
19
+ ClickOutside: u.vOnClickOutside
20
20
  },
21
21
  mixins: [
22
- u
22
+ l
23
23
  ],
24
24
  props: {
25
25
  /**
@@ -71,12 +71,13 @@ const p = require("./focusTrap-n3H52LOw.cjs"), h = require("./NcButton-Uxh-oARg.
71
71
  "cancel"
72
72
  ],
73
73
  data() {
74
+ var t, r, i;
74
75
  return {
75
76
  focusTrap: null,
76
77
  opened: this.open,
77
- shortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),
78
- triggerId: s.GenRandomId(),
79
- descriptionId: s.GenRandomId()
78
+ shortcutsDisabled: (i = (r = (t = window.OCP) == null ? void 0 : t.Accessibility) == null ? void 0 : r.disableKeyboardShortcuts) == null ? void 0 : i.call(r),
79
+ triggerId: o.GenRandomId(),
80
+ descriptionId: o.GenRandomId()
80
81
  };
81
82
  },
82
83
  computed: {
@@ -151,37 +152,38 @@ const p = require("./focusTrap-n3H52LOw.cjs"), h = require("./NcButton-Uxh-oARg.
151
152
  const t = this.$refs.content;
152
153
  this.focusTrap = d.createFocusTrap(t, {
153
154
  allowOutsideClick: !0,
154
- trapStack: p.getTrapStack(),
155
+ trapStack: h.getTrapStack(),
155
156
  fallbackFocus: this.$refs.trigger
156
157
  }), this.focusTrap.activate();
157
158
  },
158
159
  clearFocusTrap() {
159
- this.focusTrap?.deactivate(), this.focusTrap = null;
160
+ var t;
161
+ (t = this.focusTrap) == null || t.deactivate(), this.focusTrap = null;
160
162
  }
161
163
  }
162
- }, m = ["id"], _ = { class: "header-menu__carret" }, g = ["id"], v = {
164
+ }, _ = ["id"], g = { class: "header-menu__carret" }, v = ["id"], k = {
163
165
  ref: "content",
164
166
  class: "header-menu__content"
165
167
  };
166
- function k(t, b, i, w, n, r) {
167
- const o = e.resolveComponent("NcButton"), c = e.resolveDirective("click-outside");
168
- return e.withDirectives((e.openBlock(), e.createBlock(e.resolveDynamicComponent(r.wrapperTag), e.mergeProps({
168
+ function y(t, r, i, w, n, s) {
169
+ const c = e.resolveComponent("NcButton"), a = e.resolveDirective("click-outside");
170
+ return e.withDirectives((e.openBlock(), e.createBlock(e.resolveDynamicComponent(s.wrapperTag), e.mergeProps({
169
171
  id: i.id,
170
172
  ref: "headerMenu",
171
173
  "aria-labelledby": i.isNav ? n.triggerId : null,
172
174
  class: [{ "header-menu--opened": n.opened }, "header-menu"]
173
- }, e.toHandlers(r.listeners)), {
175
+ }, e.toHandlers(s.listeners)), {
174
176
  default: e.withCtx(() => [
175
- e.createVNode(o, {
177
+ e.createVNode(c, {
176
178
  id: i.isNav ? n.triggerId : null,
177
179
  ref: "trigger",
178
180
  type: "tertiary-no-background",
179
181
  class: "header-menu__trigger",
180
182
  "aria-label": i.ariaLabel,
181
183
  "aria-describedby": i.description ? n.descriptionId : null,
182
- "aria-controls": `header-menu-${i.id}`,
184
+ "aria-controls": "header-menu-".concat(i.id),
183
185
  "aria-expanded": n.opened.toString(),
184
- onClick: e.withModifiers(r.toggleMenu, ["prevent"])
186
+ onClick: e.withModifiers(s.toggleMenu, ["prevent"])
185
187
  }, {
186
188
  icon: e.withCtx(() => [
187
189
  e.renderSlot(t.$slots, "trigger", {}, void 0, !0)
@@ -192,25 +194,25 @@ function k(t, b, i, w, n, r) {
192
194
  key: 0,
193
195
  id: n.descriptionId,
194
196
  class: "header-menu__description hidden-visually"
195
- }, e.toDisplayString(i.description), 9, m)) : e.createCommentVNode("", !0),
196
- e.withDirectives(e.createElementVNode("div", _, null, 512), [
197
+ }, e.toDisplayString(i.description), 9, _)) : e.createCommentVNode("", !0),
198
+ e.withDirectives(e.createElementVNode("div", g, null, 512), [
197
199
  [e.vShow, n.opened]
198
200
  ]),
199
201
  e.withDirectives(e.createElementVNode("div", {
200
- id: `header-menu-${i.id}`,
202
+ id: "header-menu-".concat(i.id),
201
203
  class: "header-menu__wrapper"
202
204
  }, [
203
- e.createElementVNode("div", v, [
205
+ e.createElementVNode("div", k, [
204
206
  e.renderSlot(t.$slots, "default", {}, void 0, !0)
205
207
  ], 512)
206
- ], 8, g), [
208
+ ], 8, v), [
207
209
  [e.vShow, n.opened]
208
210
  ])
209
211
  ]),
210
212
  _: 3
211
213
  }, 16, ["id", "aria-labelledby", "class"])), [
212
- [c, r.clickOutsideConfig]
214
+ [a, s.clickOutsideConfig]
213
215
  ]);
214
216
  }
215
- const y = /* @__PURE__ */ l._export_sfc(f, [["render", k], ["__scopeId", "data-v-89b55d8b"]]);
216
- exports.NcHeaderMenu = y;
217
+ const b = /* @__PURE__ */ p._export_sfc(m, [["render", y], ["__scopeId", "data-v-c4a8351e"]]);
218
+ exports.NcHeaderMenu = b;
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderMenu-yJJ4FWin.mjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":[" <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\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<input placeholder=\"Search for files, comments, contacts...\" type=\"search\" style=\"width: 99%;\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\tdescription=\"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}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component :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 :id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\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 v-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 v-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'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.js'\n\nimport NcButton from '../NcButton/index.ts'\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\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\topened: this.open,\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\tbeforeUnmount() {\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,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\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.header-menu {\n\tposition: relative;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\n\t&__trigger {\n\t\twidth: var(--header-height);\n\t\theight: var(--header-height);\n\t\topacity: .85;\n\n\t\t// header is filled with primary or image background\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t#{&}__trigger:focus-visible {\n\t\toutline: none !important;\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tpadding: 8px;\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(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.header-menu {\n\t\twidth: $clickable-area;\n\n\t\t&__trigger {\n\t\t\twidth: $clickable-area;\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","clickOutsideOptions","open","cancelled","event","contentContainer","_hoisted_1","_hoisted_2","_hoisted_3","withDirectives","openBlock","createBlock","resolveDynamicComponent","$options","mergeProps","$props","toHandlers","withCtx","$data","toDisplayString","createCommentVNode","createElementVNode","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;AA0HA,MAAAA,IAAA;AAAA,EACC,MAAA;AAAA;IAGC,UAAAC;AAAA;;;;EAOD,QAAA;AAAA,IACCC;AAAA;EAGD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,IAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;IA2BA,OAAA;AAAA;;;;;;;;;;;;EAeD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;IAEA;AAAA;EAGD,OAAA;AACC,WAAA;AAAA,MACC,WAAA;AAAA,MACA,QAAA,KAAA;AAAA,MACA,mBAAA,OAAA,KAAA,eAAA,2BAAA;AAAA;;IAGD;AAAA;EAGD,UAAA;AAAA;;;IAKC,qBAAA;AACC,aAAA;AAAA,QACC,KAAA;AAAA;MAED;AAAA;;AAIA,aAAA,KAAA,QACC;AAAA;MAEA,IAED;AAAA;;EAIF,OAAA;AAAA;AAEE,MAAAC,IACC,KAAA,SAAA,IAEA,KAAA,UAAA;AAAA;;EAKH,UAAA;;;EAGA,gBAAA;;;EAIA,SAAA;AAAA;AAAA;AAAA;AAAA;AAME,MAAA,KAAA,SAGC,KAAA,UAAA,IAFA,KAAA,SAAA;AAAA;;;;;;;AAaD,WAAA,SAAA,IACA,KAAA,MAAAC,IAAA,WAAA,OAAA,GACA,KAAA,MAAA,eAAA,EAAA,GAGA,KAAA,eAAA,GAGA,KAAA,UAAA,MAAA;AACC,aAAA,MAAA,QAAA;AAAA;;;;;;AASD,WAAA,SAAA,IACA,KAAA,MAAA,MAAA,kCAIA,KAAA,UAAA,MAAA;AACC,aAAA,aAAA,GACA,KAAA,MAAA,QAAA;AAAA;;IAIF,UAAAC,GAAA;AACC,MAAA,KAAA,qBAAA,CAAA,KAAA,iCAMCA,EAAA,eAAA,GAGA,KAAA,UAAA,EAAA;AAAA;;;;IAOF,WAAAA,GAAA;yDAEE,KAAA,UAAA;AAAA;;;;;;IASF,MAAA,eAAA;AACC,UAAA,KAAA,SAAA,KAAA;;AAIA,YAAAC,IAAA,KAAA,MAAA;;;;QAIC,eAAA,KAAA,MAAA;AAAA;;IAIF,iBAAA;oCAEC,KAAA,YAAA;AAAA;;AAGH,GAhVAC,IAAA,CAAA,IAAA,GAkGuBC,IAAA,EAAA,OAAA,sBAAA,GAlGvBC,IAAA,CAAA,IAAA;EAwGQ,KAAA;AAAA,EAAc,OAAA;;;;AAtCrB,SAAAC,GAAAC,EAAA,GAAAC,EAAAC,EAAAC,EAAA,UAAA,GAAAC,EAAA;AAAA,IACE,IAAAC,EAAA;AAAA,IACD,KAAA;AAAA;;EAKA,GAAAC,EAAAH,EAAA,SAAA,CAAA,GAAA;AAAA,IAzEF,SAAAI,EAAA,MAAA;AAAA;;QA4EG,KAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACC,cAAAF,EAAA;AAAA;QAEA,iBAAA,eAAAA,EAAA,EAAA;AAAA;;;QAGU,MAAAE,EAAA,MAAA;AAAA;;;;;;QAQV,IAAAC,EAAA;AAAA,QACD,OAAA;AAAA,MACG,GAAAC,EAAAJ,EAAA,WAAA,GAAA,GAAAT,CAAA,KA9FNc,EAAA,IAAA,EAAA;AAAA,MAkGEX,EAAAY,EAAA,OAAAd,GAAA,MAAA,GAAA,GAAA;AAAA;;;QAIE,IAAA,eAAAQ,EAAA,EAAA;AAAA,QACD,OAAA;AAAA;QACAM,EAAA,OAAAC,GAAA;AAAA;;MAxGH,GAAA,GAAAd,CAAA,GAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"NcHeaderMenu-TvFFSvGS.cjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":[" <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\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<input placeholder=\"Search for files, comments, contacts...\" type=\"search\" style=\"width: 99%;\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\tdescription=\"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}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component :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 :id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\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 v-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 v-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'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.js'\n\nimport NcButton from '../NcButton/index.ts'\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\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\topened: this.open,\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\tbeforeUnmount() {\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,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\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.header-menu {\n\tposition: relative;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\n\t#{&}__trigger {\n\t\twidth: var(--header-height) !important;\n\t\theight: var(--header-height);\n\t\topacity: .85;\n\n\t\t// header is filled with primary or image background\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t#{&}__trigger:focus-visible {\n\t\toutline: none !important;\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tpadding: 8px;\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(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.header-menu {\n\t\twidth: $clickable-area;\n\n\t\t&__trigger {\n\t\t\twidth: $clickable-area;\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","Mixins_clickOutsideOptions","_c","_b","_a","open","cancelled","event","contentContainer","_hoisted_1","_hoisted_2","_hoisted_3","vue","$options","$props","$data","_hoisted_4"],"mappings":";;;;;;;;;;;;uFA0HAA,IAAA;AAAA,EACC,MAAA;AAAA;IAGC,UAAAC,EAAA;AAAA;;;;EAOD,QAAA;AAAA,IACCC;AAAA;EAGD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,IAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;IA2BA,OAAA;AAAA;;;;;;;;;;;;EAeD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;IAEA;AAAA;EAGD,OAAA;;AACC,WAAA;AAAA,MACC,WAAA;AAAA,MACA,QAAA,KAAA;AAAA,MACA,oBAAAC,KAAAC,KAAAC,IAAA,OAAA,QAAA,gBAAAA,EAAA,kBAAA,gBAAAD,EAAA,6BAAA,gBAAAD,EAAA,KAAAC;AAAA;;IAGD;AAAA;EAGD,UAAA;AAAA;;;IAKC,qBAAA;AACC,aAAA;AAAA,QACC,KAAA;AAAA;MAED;AAAA;;AAIA,aAAA,KAAA,QACC;AAAA;MAEA,IAED;AAAA;;EAIF,OAAA;AAAA;AAEE,MAAAE,IACC,KAAA,SAAA,IAEA,KAAA,UAAA;AAAA;;EAKH,UAAA;;;EAGA,gBAAA;;;EAIA,SAAA;AAAA;AAAA;AAAA;AAAA;AAME,MAAA,KAAA,SAGC,KAAA,UAAA,IAFA,KAAA,SAAA;AAAA;;;;;;;AAaD,WAAA,SAAA,IACA,KAAA,MAAAC,IAAA,WAAA,OAAA,GACA,KAAA,MAAA,eAAA,EAAA,GAGA,KAAA,eAAA,GAGA,KAAA,UAAA,MAAA;AACC,aAAA,MAAA,QAAA;AAAA;;;;;;AASD,WAAA,SAAA,IACA,KAAA,MAAA,MAAA,kCAIA,KAAA,UAAA,MAAA;AACC,aAAA,aAAA,GACA,KAAA,MAAA,QAAA;AAAA;;IAIF,UAAAC,GAAA;AACC,MAAA,KAAA,qBAAA,CAAA,KAAA,iCAMCA,EAAA,eAAA,GAGA,KAAA,UAAA,EAAA;AAAA;;;;IAOF,WAAAA,GAAA;yDAEE,KAAA,UAAA;AAAA;;;;;;IASF,MAAA,eAAA;AACC,UAAA,KAAA,SAAA,KAAA;;AAIA,YAAAC,IAAA,KAAA,MAAA;;;;QAIC,eAAA,KAAA,MAAA;AAAA;;IAIF,iBAAA;;sDAEC,KAAA,YAAA;AAAA;;AAGH,GAhVAC,IAAA,CAAA,IAAA,GAkGuBC,IAAA,EAAA,OAAA,sBAAA,GAlGvBC,IAAA,CAAA,IAAA;EAwGQ,KAAA;AAAA,EAAc,OAAA;;;;AAtCrB,SAAAC,EAAA,gBAAAA,EAAA,UAAA,GAAAA,EAAA,YAAAA,EAAA,wBAAAC,EAAA,UAAA,GAAAD,EAAA,WAAA;AAAA,IACE,IAAAE,EAAA;AAAA,IACD,KAAA;AAAA;;EAKA,GAAAF,EAAA,WAAAC,EAAA,SAAA,CAAA,GAAA;AAAA,IAzEF,SAAAD,EAAA,QAAA,MAAA;AAAA;;QA4EG,KAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACC,cAAAE,EAAA;AAAA;QAEA,iBAAA,eAAA,OAAAA,EAAA;AAAA;;;QAGU,MAAAF,EAAA,QAAA,MAAA;AAAA;;;;;;QAQV,IAAAG,EAAA;AAAA,QACD,OAAA;AAAA,MACG,GAAAH,EAAA,gBAAAE,EAAA,WAAA,GAAA,GAAAL,CAAA,KA9FNG,EAAA,mBAAA,IAAA,EAAA;AAAA,MAkGEA,EAAA,eAAAA,EAAA,mBAAA,OAAAF,GAAA,MAAA,GAAA,GAAA;AAAA;;;QAIE,IAAA,eAAA,OAAAI,EAAA;AAAA,QACD,OAAA;AAAA;QACAF,EAAA,mBAAA,OAAAI,GAAA;AAAA;;MAxGH,GAAA,GAAAL,CAAA,GAAA;AAAA;;;;;;;;;;"}
@@ -42,7 +42,7 @@ const i = {
42
42
  * Icon size used in CSS
43
43
  */
44
44
  iconSize() {
45
- return typeof this.size == "number" ? `${this.size}px` : this.size;
45
+ return typeof this.size == "number" ? "".concat(this.size, "px") : this.size;
46
46
  },
47
47
  cleanSvg() {
48
48
  if (!this.svg || this.path)
@@ -1 +1 @@
1
- {"version":3,"file":"NcIconSvgWrapper-gQnsseD2.mjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Example\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\tdata() {\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</docs>\n\n<template>\n\t<span v-if=\"!cleanSvg\"\n\t\tv-bind=\"attributes\">\n\t\t<svg 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</span>\n\t<span v-else\n\t\tv-bind=\"attributes\"\n\t\tv-html=\"cleanSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<script>\nimport { warn } from 'vue'\nimport DOMPurify from 'dompurify'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\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 * @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\twarn('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\tattributes() {\n\t\t\treturn {\n\t\t\t\tclass: 'icon-vue',\n\t\t\t\trole: 'img',\n\t\t\t\t'aria-hidden': !this.name ? true : undefined,\n\t\t\t\t'aria-label': this.name || undefined,\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 44px;\n\tmin-height: 44px;\n\topacity: 1;\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: v-bind('iconSize');\n\t\theight: v-bind('iconSize');\n\t\tmax-width: v-bind('iconSize');\n\t\tmax-height: v-bind('iconSize');\n\t}\n}\n</style>\n"],"names":["_sfc_main","svg","DOMPurify","svgDocument","warn","_hoisted_2","_hoisted_3","openBlock","createElementBlock","normalizeProps","mergeProps","$options","_hoisted_1","createElementVNode","$props"],"mappings":";;;;AA0GA,MAAAA,IAAA;AAAA;EAGC,OAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;MA+BE,MAAA,CAAA,QAAA,MAAA;AAAA;;;;EAMF,UAAA;AAAA;AAAA;AAAA;AAAA;;;;;;AAaE,YAAAC,IAAAC,EAAA,SAAA,KAAA,GAAA,GAEAC,IAAA,IAAA,UAAA,EAAA,gBAAAF,GAAA,eAAA;AAEA,aAAAE,EAAA,cAAA,aAAA,KACCC,EAAA,kBAAA,GACA,OAGDD,EAAA,gBAAA,+CAIAA,EAAA,gBAAA;AAAA;;AAGA,aAAA;AAAA,QACC,OAAA;AAAA;QAEA,eAAA,KAAA,OAAA,SAAA;AAAA,QACA,cAAA,KAAA,QAAA;AAAA,MACD;AAAA;;AAGH;;;;;;;EA1FO,SAAA;AAAA,EAAoB,OAAA;GA7F3BE,IAAA,CAAA,GAAA,GAAAC,IAAA,CAAA,WAAA;;+GA2FCC,EAAA,GAAAC,EAAA,QAAAC,EAAAC,EAAA,EAAA,KAAA,EAAA,GAAAC,EAAA,UAAA,CAAA,GAAA;AAAA,KAECJ,EAAA,GAAAC,EAAA,OAAAI,GAAA;AAAA,MACCC,EAAA,QAAA,EAAA,GAAAC,EAAA,KAAA,GAAA,MAAA,GAAAT,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"NcIconSvgWrapper-ACaaN_pS.mjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Example\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\tdata() {\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</docs>\n\n<template>\n\t<span v-if=\"!cleanSvg\"\n\t\tv-bind=\"attributes\">\n\t\t<svg 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</span>\n\t<span v-else\n\t\tv-bind=\"attributes\"\n\t\tv-html=\"cleanSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<script>\nimport { warn } from 'vue'\nimport DOMPurify from 'dompurify'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\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 * @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\twarn('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\tattributes() {\n\t\t\treturn {\n\t\t\t\tclass: 'icon-vue',\n\t\t\t\trole: 'img',\n\t\t\t\t'aria-hidden': !this.name ? true : undefined,\n\t\t\t\t'aria-label': this.name || undefined,\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 44px;\n\tmin-height: 44px;\n\topacity: 1;\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: v-bind('iconSize');\n\t\theight: v-bind('iconSize');\n\t\tmax-width: v-bind('iconSize');\n\t\tmax-height: v-bind('iconSize');\n\t}\n}\n</style>\n"],"names":["_sfc_main","svg","DOMPurify","svgDocument","warn","_hoisted_2","_hoisted_3","openBlock","createElementBlock","normalizeProps","mergeProps","$options","_hoisted_1","createElementVNode","$props"],"mappings":";;;;AA0GA,MAAAA,IAAA;AAAA;EAGC,OAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;MA+BE,MAAA,CAAA,QAAA,MAAA;AAAA;;;;EAMF,UAAA;AAAA;AAAA;AAAA;AAAA;;;;;;AAaE,YAAAC,IAAAC,EAAA,SAAA,KAAA,GAAA,GAEAC,IAAA,IAAA,UAAA,EAAA,gBAAAF,GAAA,eAAA;AAEA,aAAAE,EAAA,cAAA,aAAA,KACCC,EAAA,kBAAA,GACA,OAGDD,EAAA,gBAAA,+CAIAA,EAAA,gBAAA;AAAA;;AAGA,aAAA;AAAA,QACC,OAAA;AAAA;QAEA,eAAA,KAAA,OAAA,SAAA;AAAA,QACA,cAAA,KAAA,QAAA;AAAA,MACD;AAAA;;AAGH;;;;;;;EA1FO,SAAA;AAAA,EAAoB,OAAA;GA7F3BE,IAAA,CAAA,GAAA,GAAAC,IAAA,CAAA,WAAA;;+GA2FCC,EAAA,GAAAC,EAAA,QAAAC,EAAAC,EAAA,EAAA,KAAA,EAAA,GAAAC,EAAA,UAAA,CAAA,GAAA;AAAA,KAECJ,EAAA,GAAAC,EAAA,OAAAI,GAAA;AAAA,MACCC,EAAA,QAAA,EAAA,GAAAC,EAAA,KAAA,GAAA,MAAA,GAAAT,CAAA;AAAA;;;;"}
@@ -39,7 +39,7 @@ const t = require("vue"), c = require("dompurify"), u = require("./_plugin-vue_e
39
39
  * Icon size used in CSS
40
40
  */
41
41
  iconSize() {
42
- return typeof this.size == "number" ? `${this.size}px` : this.size;
42
+ return typeof this.size == "number" ? "".concat(this.size, "px") : this.size;
43
43
  },
44
44
  cleanSvg() {
45
45
  if (!this.svg || this.path)
@@ -1 +1 @@
1
- {"version":3,"file":"NcIconSvgWrapper-rDMSblV4.cjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Example\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\tdata() {\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</docs>\n\n<template>\n\t<span v-if=\"!cleanSvg\"\n\t\tv-bind=\"attributes\">\n\t\t<svg 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</span>\n\t<span v-else\n\t\tv-bind=\"attributes\"\n\t\tv-html=\"cleanSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<script>\nimport { warn } from 'vue'\nimport DOMPurify from 'dompurify'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\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 * @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\twarn('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\tattributes() {\n\t\t\treturn {\n\t\t\t\tclass: 'icon-vue',\n\t\t\t\trole: 'img',\n\t\t\t\t'aria-hidden': !this.name ? true : undefined,\n\t\t\t\t'aria-label': this.name || undefined,\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 44px;\n\tmin-height: 44px;\n\topacity: 1;\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: v-bind('iconSize');\n\t\theight: v-bind('iconSize');\n\t\tmax-width: v-bind('iconSize');\n\t\tmax-height: v-bind('iconSize');\n\t}\n}\n</style>\n"],"names":["_sfc_main","svg","DOMPurify__default","svgDocument","vue","_hoisted_2","_hoisted_3","$options","_hoisted_1","$props"],"mappings":";0LA0GAA,IAAA;AAAA;EAGC,OAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;MA+BE,MAAA,CAAA,QAAA,MAAA;AAAA;;;;EAMF,UAAA;AAAA;AAAA;AAAA;AAAA;;;;;;AAaE,YAAAC,IAAAC,EAAA,QAAA,SAAA,KAAA,GAAA,GAEAC,IAAA,IAAA,UAAA,EAAA,gBAAAF,GAAA,eAAA;AAEA,aAAAE,EAAA,cAAA,aAAA,KACCC,EAAA,KAAA,kBAAA,GACA,OAGDD,EAAA,gBAAA,+CAIAA,EAAA,gBAAA;AAAA;;AAGA,aAAA;AAAA,QACC,OAAA;AAAA;QAEA,eAAA,KAAA,OAAA,SAAA;AAAA,QACA,cAAA,KAAA,QAAA;AAAA,MACD;AAAA;;AAGH;;;;;;;EA1FO,SAAA;AAAA,EAAoB,OAAA;GA7F3BE,IAAA,CAAA,GAAA,GAAAC,IAAA,CAAA,WAAA;;uJA2FCF,EAAA,UAAA,GAAAA,EAAA,mBAAA,QAAAA,EAAA,eAAAA,EAAA,WAAA,EAAA,KAAA,EAAA,GAAAG,EAAA,UAAA,CAAA,GAAA;AAAA,KAECH,EAAA,UAAA,GAAAA,EAAA,mBAAA,OAAAI,GAAA;AAAA,MACCJ,EAAA,mBAAA,QAAA,EAAA,GAAAK,EAAA,KAAA,GAAA,MAAA,GAAAJ,CAAA;AAAA;;;;;"}
1
+ {"version":3,"file":"NcIconSvgWrapper-_hHu9P_M.cjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Example\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\tdata() {\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</docs>\n\n<template>\n\t<span v-if=\"!cleanSvg\"\n\t\tv-bind=\"attributes\">\n\t\t<svg 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</span>\n\t<span v-else\n\t\tv-bind=\"attributes\"\n\t\tv-html=\"cleanSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<script>\nimport { warn } from 'vue'\nimport DOMPurify from 'dompurify'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\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 * @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\twarn('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\tattributes() {\n\t\t\treturn {\n\t\t\t\tclass: 'icon-vue',\n\t\t\t\trole: 'img',\n\t\t\t\t'aria-hidden': !this.name ? true : undefined,\n\t\t\t\t'aria-label': this.name || undefined,\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 44px;\n\tmin-height: 44px;\n\topacity: 1;\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: v-bind('iconSize');\n\t\theight: v-bind('iconSize');\n\t\tmax-width: v-bind('iconSize');\n\t\tmax-height: v-bind('iconSize');\n\t}\n}\n</style>\n"],"names":["_sfc_main","svg","DOMPurify__default","svgDocument","vue","_hoisted_2","_hoisted_3","$options","_hoisted_1","$props"],"mappings":";0LA0GAA,IAAA;AAAA;EAGC,OAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;MA+BE,MAAA,CAAA,QAAA,MAAA;AAAA;;;;EAMF,UAAA;AAAA;AAAA;AAAA;AAAA;;;;;;AAaE,YAAAC,IAAAC,EAAA,QAAA,SAAA,KAAA,GAAA,GAEAC,IAAA,IAAA,UAAA,EAAA,gBAAAF,GAAA,eAAA;AAEA,aAAAE,EAAA,cAAA,aAAA,KACCC,EAAA,KAAA,kBAAA,GACA,OAGDD,EAAA,gBAAA,+CAIAA,EAAA,gBAAA;AAAA;;AAGA,aAAA;AAAA,QACC,OAAA;AAAA;QAEA,eAAA,KAAA,OAAA,SAAA;AAAA,QACA,cAAA,KAAA,QAAA;AAAA,MACD;AAAA;;AAGH;;;;;;;EA1FO,SAAA;AAAA,EAAoB,OAAA;GA7F3BE,IAAA,CAAA,GAAA,GAAAC,IAAA,CAAA,WAAA;;uJA2FCF,EAAA,UAAA,GAAAA,EAAA,mBAAA,QAAAA,EAAA,eAAAA,EAAA,WAAA,EAAA,KAAA,EAAA,GAAAG,EAAA,UAAA,CAAA,GAAA;AAAA,KAECH,EAAA,UAAA,GAAAA,EAAA,mBAAA,OAAAI,GAAA;AAAA,MACCJ,EAAA,mBAAA,QAAA,EAAA,GAAAK,EAAA,KAAA,GAAA,MAAA,GAAAJ,CAAA;AAAA;;;;;"}
@@ -1,5 +1,5 @@
1
1
  var g = require("../assets/NcInputConfirmCancel-_GF_RjYc.css");
2
- const u = require("./NcButton-Uxh-oARg.cjs"), r = require("./_l10n-wK0o0jNS.cjs"), m = require("./ArrowRight-mI4Fw0h2.cjs"), d = require("./Close-2nENZfbn.cjs"), e = require("vue"), f = require("./_plugin-vue_export-helper-xG2iG1wl.cjs");
2
+ const u = require("./NcButton-7UKtzkX5.cjs"), r = require("./_l10n-Fl7RzbcZ.cjs"), m = require("./ArrowRight-UxW1qyeX.cjs"), d = require("./Close-e2vDvDm2.cjs"), e = require("vue"), f = require("./_plugin-vue_export-helper-xG2iG1wl.cjs");
3
3
  r.register(r.t12);
4
4
  const C = {
5
5
  name: "NcInputConfirmCancel",
@@ -1 +1 @@
1
- {"version":3,"file":"NcInputConfirmCancel-3c-uWUuw.cjs","sources":["../../src/components/NcAppNavigationItem/NcInputConfirmCancel.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Jonathan Treffler <mail@jonathan-treffler.de>\n -\n - @author Jonathan Treffler <mail@jonathan-treffler.de>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n# Usage\n\n```\n<NcInputConfirmCancel @confirm=\"alert('confirm')\" @cancel=\"alert('cancel')\" />\n```\n</docs>\n<template>\n\t<div class=\"app-navigation-input-confirm\">\n\t\t<form @submit.prevent=\"confirm\"\n\t\t\t@keydown.esc.exact.stop.prevent=\"cancel\"\n\t\t\t@click.stop.prevent>\n\t\t\t<input ref=\"input\"\n\t\t\t\tv-model=\"valueModel\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tclass=\"app-navigation-input-confirm__input\"\n\t\t\t\t:placeholder=\"placeholder\">\n\n\t\t\t<NcButton native-type=\"submit\"\n\t\t\t\ttype=\"primary\"\n\t\t\t\t:aria-label=\"labelConfirm\"\n\t\t\t\t@click.stop.prevent=\"confirm\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<NcButton native-type=\"reset\"\n\t\t\t\t:type=\"primary ? 'primary' : 'tertiary'\"\n\t\t\t\t:aria-label=\"labelCancel\"\n\t\t\t\t@click.stop.prevent=\"cancel\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t</form>\n\t</div>\n</template>\n<script>\nimport NcButton from '../NcButton/index.ts'\nimport { t } from '../../l10n.js'\n\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nexport default {\n\tname: 'NcInputConfirmCancel',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tArrowRight,\n\t\tClose,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * If this element is used on a primary element set to true for primary styling.\n\t\t */\n\t\tprimary: {\n\t\t\tdefault: false,\n\t\t\ttype: Boolean,\n\t\t},\n\n\t\tplaceholder: {\n\t\t\tdefault: '',\n\t\t\ttype: String,\n\t\t},\n\n\t\tmodelValue: {\n\t\t\tdefault: '',\n\t\t\ttype: String,\n\t\t},\n\t},\n\n\temits: [\n\t\t'cancel',\n\t\t'confirm',\n\t\t'update:modelValue',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelConfirm: t('Confirm changes'),\n\t\t\tlabelCancel: t('Cancel changes'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tvalueModel: {\n\t\t\tget() { return this.modelValue },\n\t\t\tset(newValue) {\n\t\t\t\tthis.$emit('update:modelValue', newValue)\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tconfirm() {\n\t\t\tthis.$emit('confirm')\n\t\t},\n\t\tcancel() {\n\t\t\tthis.$emit('cancel')\n\t\t},\n\t\tfocusInput() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n$input-height: 34px;\n$input-padding: 7px;\n$input-margin: 5px;\n\n.app-navigation-input-confirm {\n\tflex: 1 0 100%;\n\twidth: 100%;\n\n\tform {\n\t\tdisplay: flex;\n\t}\n\n\t&__input {\n\t\theight: $input-height;\n\t\tflex: 1 1 100%;\n\t\tfont-size: 100% !important;\n\t\tmargin: $input-margin !important;\n\t\tmargin-left: -1px - $input-padding !important;\n\t\tpadding: $input-padding !important;\n\n\t\t&:active,\n\t\t&:focus,\n\t\t&:hover {\n\t\t\toutline: none;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","_l10n","newValue","_hoisted_1","_hoisted_2","vue","_cache","$event","$options","$props","$data"],"mappings":";;;AAmEA,MAAAA,IAAA;AAAA;;IAIE,UAAAC,EAAA;AAAA;;;EAKD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,SAAA;AAAA;;;;;;;;;;;;EAgBD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA;EAGD,OAAA;AACC,WAAA;AAAA,MACC,cAAAC,EAAA,EAAA,iBAAA;AAAA,MACA,aAAAA,EAAA,EAAA,gBAAA;AAAA,IACD;AAAA;EAGD,UAAA;AAAA;;;;;AAIG,aAAA,MAAA,qBAAAC,CAAA;AAAA;;;EAKH,SAAA;AAAA,IACC,UAAA;AACC,WAAA,MAAA,SAAA;AAAA;IAED,SAAA;AACC,WAAA,MAAA,QAAA;AAAA;;;;;AAMH,GAnGMC,IAAA,EAAA,OAAA,+BAAA,GA9BNC,IAAA,CAAA,aAAA;;;AA8BC,SAAAC,EAAA,UAAA,GAAAA,EAAA,mBAAA,OAAAF,GAAA;AAAA;;;;;;;QAIS,KAAA;AAAA,QAlCV,uBAAAG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAC,EAAA,aAAAD;AAAA,QAoCI,MAAA;AAAA,QACA,OAAA;AAAA,QACC,aAAAE,EAAA;AAAA,MAtCL,GAAA,MAAA,GAAAL,CAAA,GAAA;AAAA;;;QAwCa,eAAA;AAAA,QACT,MAAA;AAAA,QACC,cAAAM,EAAA;AAAA;;QAEU,MAAAL,EAAA,QAAA,MAAA;AAAA;;;;;QAKF,eAAA;AAAA,QACR,MAAAI,EAAA,UAAA,YAAA;AAAA,QACA,cAAAC,EAAA;AAAA;;QAEU,MAAAL,EAAA,QAAA,MAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"NcInputConfirmCancel-DYlc289d.cjs","sources":["../../src/components/NcAppNavigationItem/NcInputConfirmCancel.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Jonathan Treffler <mail@jonathan-treffler.de>\n -\n - @author Jonathan Treffler <mail@jonathan-treffler.de>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n# Usage\n\n```\n<NcInputConfirmCancel @confirm=\"alert('confirm')\" @cancel=\"alert('cancel')\" />\n```\n</docs>\n<template>\n\t<div class=\"app-navigation-input-confirm\">\n\t\t<form @submit.prevent=\"confirm\"\n\t\t\t@keydown.esc.exact.stop.prevent=\"cancel\"\n\t\t\t@click.stop.prevent>\n\t\t\t<input ref=\"input\"\n\t\t\t\tv-model=\"valueModel\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tclass=\"app-navigation-input-confirm__input\"\n\t\t\t\t:placeholder=\"placeholder\">\n\n\t\t\t<NcButton native-type=\"submit\"\n\t\t\t\ttype=\"primary\"\n\t\t\t\t:aria-label=\"labelConfirm\"\n\t\t\t\t@click.stop.prevent=\"confirm\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<NcButton native-type=\"reset\"\n\t\t\t\t:type=\"primary ? 'primary' : 'tertiary'\"\n\t\t\t\t:aria-label=\"labelCancel\"\n\t\t\t\t@click.stop.prevent=\"cancel\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t</form>\n\t</div>\n</template>\n<script>\nimport NcButton from '../NcButton/index.ts'\nimport { t } from '../../l10n.js'\n\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nexport default {\n\tname: 'NcInputConfirmCancel',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tArrowRight,\n\t\tClose,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * If this element is used on a primary element set to true for primary styling.\n\t\t */\n\t\tprimary: {\n\t\t\tdefault: false,\n\t\t\ttype: Boolean,\n\t\t},\n\n\t\tplaceholder: {\n\t\t\tdefault: '',\n\t\t\ttype: String,\n\t\t},\n\n\t\tmodelValue: {\n\t\t\tdefault: '',\n\t\t\ttype: String,\n\t\t},\n\t},\n\n\temits: [\n\t\t'cancel',\n\t\t'confirm',\n\t\t'update:modelValue',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelConfirm: t('Confirm changes'),\n\t\t\tlabelCancel: t('Cancel changes'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tvalueModel: {\n\t\t\tget() { return this.modelValue },\n\t\t\tset(newValue) {\n\t\t\t\tthis.$emit('update:modelValue', newValue)\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tconfirm() {\n\t\t\tthis.$emit('confirm')\n\t\t},\n\t\tcancel() {\n\t\t\tthis.$emit('cancel')\n\t\t},\n\t\tfocusInput() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n$input-height: 34px;\n$input-padding: 7px;\n$input-margin: 5px;\n\n.app-navigation-input-confirm {\n\tflex: 1 0 100%;\n\twidth: 100%;\n\n\tform {\n\t\tdisplay: flex;\n\t}\n\n\t&__input {\n\t\theight: $input-height;\n\t\tflex: 1 1 100%;\n\t\tfont-size: 100% !important;\n\t\tmargin: $input-margin !important;\n\t\tmargin-left: -1px - $input-padding !important;\n\t\tpadding: $input-padding !important;\n\n\t\t&:active,\n\t\t&:focus,\n\t\t&:hover {\n\t\t\toutline: none;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","_l10n","newValue","_hoisted_1","_hoisted_2","vue","_cache","$event","$options","$props","$data"],"mappings":";;;AAmEA,MAAAA,IAAA;AAAA;;IAIE,UAAAC,EAAA;AAAA;;;EAKD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,SAAA;AAAA;;;;;;;;;;;;EAgBD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA;EAGD,OAAA;AACC,WAAA;AAAA,MACC,cAAAC,EAAA,EAAA,iBAAA;AAAA,MACA,aAAAA,EAAA,EAAA,gBAAA;AAAA,IACD;AAAA;EAGD,UAAA;AAAA;;;;;AAIG,aAAA,MAAA,qBAAAC,CAAA;AAAA;;;EAKH,SAAA;AAAA,IACC,UAAA;AACC,WAAA,MAAA,SAAA;AAAA;IAED,SAAA;AACC,WAAA,MAAA,QAAA;AAAA;;;;;AAMH,GAnGMC,IAAA,EAAA,OAAA,+BAAA,GA9BNC,IAAA,CAAA,aAAA;;;AA8BC,SAAAC,EAAA,UAAA,GAAAA,EAAA,mBAAA,OAAAF,GAAA;AAAA;;;;;;;QAIS,KAAA;AAAA,QAlCV,uBAAAG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAC,EAAA,aAAAD;AAAA,QAoCI,MAAA;AAAA,QACA,OAAA;AAAA,QACC,aAAAE,EAAA;AAAA,MAtCL,GAAA,MAAA,GAAAL,CAAA,GAAA;AAAA;;;QAwCa,eAAA;AAAA,QACT,MAAA;AAAA,QACC,cAAAM,EAAA;AAAA;;QAEU,MAAAL,EAAA,QAAA,MAAA;AAAA;;;;;QAKF,eAAA;AAAA,QACR,MAAAI,EAAA,UAAA,YAAA;AAAA,QACA,cAAAC,EAAA;AAAA;;QAEU,MAAAL,EAAA,QAAA,MAAA;AAAA;;;;;;;;;"}