@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":"NcActions-76CtOBCq.mjs","sources":["../../src/components/NcActions/NcActions.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n - @author Grigorii K. Shartsev <me@shgk.me>\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<!-- Accessibility guidelines:\nhttps://www.w3.org/TR/wai-aria-practices/examples/menu-button/menu-button-actions.html -->\n\n<docs>\n### Single action\n\n```vue\n<template>\n\t<NcActions>\n\t\t<NcActionButton @click=\"actionDelete\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t},\n\tmethods: {\n\t\tactionDelete() {\n\t\t\talert('Delete')\n\t\t},\n\t},\n}\n</script>\n```\n\n### Multiple actions\n\n```vue\n<template>\n\t<NcActions>\n\t\t<NcActionButton @click=\"showMessage('Edit')\">\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</NcActionButton>\n\t\t<NcActionButton @click=\"showMessage('Delete')\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t\t<NcActionLink href=\"https://nextcloud.com\">\n\t\t\t<template #icon>\n\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t</template>\n\t\t\tLink\n\t\t</NcActionLink>\n\t</NcActions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tOpenInNew,\n\t\tPencil,\n\t},\n\tmethods: {\n\t\tshowMessage(msg) {\n\t\t\talert(msg)\n\t\t},\n\t},\n}\n</script>\n```\n\n### Multiple actions with 2 items inline\n\n```vue\n<template>\n\t<NcActions :inline=\"2\">\n\t\t<NcActionButton @click=\"showMessage('Add')\">\n\t\t\t<template #icon>\n\t\t\t\t<Plus :size=\"20\" />\n\t\t\t</template>\n\t\t\tAdd\n\t\t</NcActionButton>\n\t\t<NcActionButton @click=\"showMessage('Edit')\">\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</NcActionButton>\n\t\t<NcActionButton @click=\"showMessage('Delete')\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t\t<NcActionLink href=\"https://nextcloud.com\">\n\t\t\t<template #icon>\n\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t</template>\n\t\t\tLink\n\t\t</NcActionLink>\n\t</NcActions>\n</template>\n<script>\nimport Plus from 'vue-material-design-icons/Plus'\nimport Delete from 'vue-material-design-icons/Delete'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tOpenInNew,\n\t\tPencil,\n\t\tPlus,\n\t},\n\tmethods: {\n\t\tshowMessage(msg) {\n\t\t\talert(msg)\n\t\t},\n\t},\n}\n</script>\n```\n\n### Multiple actions with 2 items inline AND forced names\n\n```vue\n<template>\n\t<NcActions :force-name=\"true\" :inline=\"2\">\n\t\t<NcActionButton @click=\"showMessage('Add')\">\n\t\t\t<template #icon>\n\t\t\t\t<Plus :size=\"20\" />\n\t\t\t</template>\n\t\t\tAdd\n\t\t</NcActionButton>\n\t\t<NcActionButton @click=\"showMessage('Edit')\">\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</NcActionButton>\n\t\t<NcActionButton @click=\"showMessage('Delete')\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t\t<NcActionLink href=\"https://nextcloud.com\">\n\t\t\t<template #icon>\n\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t</template>\n\t\t\tLink\n\t\t</NcActionLink>\n\t</NcActions>\n</template>\n<script>\nimport Plus from 'vue-material-design-icons/Plus'\nimport Delete from 'vue-material-design-icons/Delete'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew'\nimport Pencil from 'vue-material-design-icons/Pencil'\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tOpenInNew,\n\t\tPencil,\n\t\tPlus,\n\t},\n\tmethods: {\n\t\tshowMessage(msg) {\n\t\t\talert(msg)\n\t\t},\n\t},\n}\n</script>\n```\n\n### Multiple actions with custom icon\n\n```vue\n<template>\n\t<NcActions>\n\t\t<template #icon>\n\t\t\t<Pencil :size=\"20\" />\n\t\t</template>\n\t\t<NcActionButton @click=\"showMessage('Edit')\">\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</NcActionButton>\n\t\t<NcActionButton @click=\"showMessage('Delete')\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t\t<NcActionLink href=\"https://nextcloud.com\">\n\t\t\t<template #icon>\n\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t</template>\n\t\t\tLink\n\t\t</NcActionLink>\n\t</NcActions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tOpenInNew,\n\t\tPencil,\n\t},\n\tmethods: {\n\t\tshowMessage(msg) {\n\t\t\talert(msg)\n\t\t},\n\t},\n}\n</script>\n```\n\n### With menu name\n\n```vue\n<template>\n\t<NcActions menu-name=\"Object management\">\n\t\t<template #icon>\n\t\t\t<Pencil :size=\"20\" />\n\t\t</template>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tRename\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t</template>\n\t\t\tValidate\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Download :size=\"20\" />\n\t\t\t</template>\n\t\t\tDownload\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport ArrowRight from 'vue-material-design-icons/ArrowRight'\nimport Delete from 'vue-material-design-icons/Delete'\nimport Download from 'vue-material-design-icons/Download'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tArrowRight,\n\t\tDelete,\n\t\tDownload,\n\t\tPencil,\n\t},\n}\n</script>\n```\n\n### Various icons styles\n```vue\n<template>\n\t<NcActions :primary=\"true\">\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tPencil,\n\t},\n}\n</script>\n```\n\n```vue\n<template>\n\t<NcActions :primary=\"true\" menu-name=\"Object management\">\n\t\t<template #icon>\n\t\t\t<Plus :size=\"20\" />\n\t\t</template>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tRename\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t</template>\n\t\t\tValidate\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Download :size=\"20\" />\n\t\t\t</template>\n\t\t\tDownload\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport ArrowRight from 'vue-material-design-icons/ArrowRight'\nimport Delete from 'vue-material-design-icons/Delete'\nimport Download from 'vue-material-design-icons/Download'\nimport Pencil from 'vue-material-design-icons/Pencil'\nimport Plus from 'vue-material-design-icons/Plus'\n\nexport default {\n\tcomponents: {\n\t\tArrowRight,\n\t\tDelete,\n\t\tDownload,\n\t\tPencil,\n\t\tPlus,\n\t},\n}\n</script>\n```\n\n### Custom icon slot\nTo be used with `vue-material-design-icons` only. For icon classes use the `default-icon` slot.\nIt can be used with one or multiple actions.\n```vue\n<template>\n\t<div style=\"display: flex;align-items: center;\">\n\t\t<NcButton @click=\"toggled = !toggled\">Toggle multiple action</NcButton>\n\t\t<NcActions>\n\t\t\t<template #icon>\n\t\t\t\t<DotsHorizontalCircleOutline :size=\"20\" />\n\t\t\t</template>\n\t\t\t<NcActionButton>\n\t\t\t\t<template #icon>\n\t\t\t\t\t<MicrophoneOff :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tMute\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton v-if=\"toggled\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tDelete\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</div>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport DotsHorizontalCircleOutline from 'vue-material-design-icons/DotsHorizontalCircleOutline'\nimport MicrophoneOff from 'vue-material-design-icons/MicrophoneOff'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tDotsHorizontalCircleOutline,\n\t\tMicrophoneOff,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttoggled: false\n\t\t}\n\t}\n}\n</script>\n```\n\n### Custom icon slot in child elements\n```vue\n<template>\n\t<NcActions :primary=\"true\">\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</template>\n\t\t\tSearch\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tMagnify,\n\t},\n}\n</script>\n```\n\n### Type variants\n\n```vue\n<template>\n\t<div>\n\t\t<NcActions :type=\"current\">\n\t\t\t<template #icon>\n\t\t\t\t<SelectColor :size=\"20\" />\n\t\t\t</template>\n\n\t\t\t<NcActionButton v-if=\"current\" close-after-click @click=\"define()\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tRemove\n\t\t\t</NcActionButton>\n\n\t\t\t<NcActionButton v-for=\"row in types\" close-after-click @click=\"define(row)\" :key=\"`type-icon--${row}`\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckboxMarkedCircleOutline v-if=\"row === current\" :size=\"20\" />\n\t\t\t\t\t<SelectColor v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ row }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\n\t\t<NcActions :type=\"current\" menu-name=\"Choose a type\">\n\t\t\t<NcActionButton v-if=\"current\" close-after-click @click=\"define()\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tRemove\n\t\t\t</NcActionButton>\n\n\t\t\t<NcActionButton v-for=\"row in types\" close-after-click @click=\"define(row)\" :key=\"`type-text--${row}`\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckboxMarkedCircleOutline v-if=\"row === current\" :size=\"20\" />\n\t\t\t\t\t<SelectColor v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ row }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\n\t\t<NcActions :type=\"current\" menu-name=\"Choose a type\">\n\t\t\t<template #icon>\n\t\t\t\t<SelectColor :size=\"20\" />\n\t\t\t</template>\n\n\t\t\t<NcActionButton v-if=\"current\" close-after-click @click=\"define()\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tRemove\n\t\t\t</NcActionButton>\n\n\t\t\t<NcActionButton v-for=\"row in types\" close-after-click @click=\"define(row)\" :key=\"`type-icon-text--${row}`\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckboxMarkedCircleOutline v-if=\"row === current\" :size=\"20\" />\n\t\t\t\t\t<SelectColor v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ row }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</div>\n</template>\n\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport Palette from 'vue-material-design-icons/Palette'\nimport SelectColor from 'vue-material-design-icons/SelectColor'\nimport CheckboxMarkedCircleOutline from 'vue-material-design-icons/CheckboxMarkedCircleOutline'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tPalette,\n\t\tSelectColor,\n\t\tCheckboxMarkedCircleOutline,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcurrent: 'primary',\n\t\t\ttypes: [\n\t\t\t\t'primary',\n\t\t\t\t'secondary',\n\t\t\t\t'tertiary',\n\t\t\t\t'error',\n\t\t\t\t'warning',\n\t\t\t\t'success'\n\t\t\t]\n\t\t}\n\t},\n\tmethods: {\n\t\tdefine(row = undefined) {\n\t\t\tthis.current = row\n\t\t}\n\t}\n}\n</script>\n```\n\n### Use cases\n\n```vue\n<template>\n\t<div>\n\t\t<h2>Application menu</h2>\n\t\tUses buttons, button groups, links and router links, separators, text. May have checkboxes and radio buttons.\n\t\t<p>\n\t\t\t<NcActions aria-label=\"Email menu\" type=\"tertiary\">\n\t\t\t\t<NcActionButtonGroup>\n\t\t\t\t\t<NcActionButton>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<StarOutline :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tFavorite\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<EmailUnread :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tUnread\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Bookmark :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tImportant\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActionButtonGroup>\n\t\t\t\t<NcActionText>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<ClockOutlineIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ new Date().toLocaleDateString('en-US') }}\n\t\t\t\t</NcActionText>\n\t\t\t\t<NcActionSeparator />\n\t\t\t\t<NcActionButton>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<AlertOctagonIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tMark as spam\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionCheckbox v-model=\"selected\">\n\t\t\t\t\tSelect\n\t\t\t\t</NcActionCheckbox>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<OpenInNewIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tMove thread\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionLink href=\"#\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<DownloadIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tDownload message\n\t\t\t\t</NcActionLink>\n\t\t\t</NcActions>\n\t\t</p>\n\n\t\t<h2>Menu in menubar</h2>\n\t\tSame as application menu. Separator can be used to make groups of radio buttons as well.\n\t\t<p>\n\t\t\t<NcActions aria-label=\"Text settings\" type=\"tertiary\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<FormatTitle :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<NcActionButtonGroup name=\"Allignment\">\n\t\t\t\t\t<NcActionButton aria-label=\"Left\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<FormatAlignLeft :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton aria-label=\"Center\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<FormatAlignCenter :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton aria-label=\"Right\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<FormatAlignRight :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActionButtonGroup>\n\t\t\t\t<NcActionSeparator />\n\t\t\t\t<NcActionCheckbox v-model=\"checked.bold\" value=\"bold\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<FormatBold :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tBold\n\t\t\t\t</NcActionCheckbox>\n\t\t\t\t<NcActionCheckbox v-model=\"checked.italic\" value=\"italic\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<FormatItalic :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tItalic\n\t\t\t\t</NcActionCheckbox>\n\t\t\t\t<NcActionCheckbox v-model=\"checked.underline\" value=\"underline\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<FormatUnderline :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tUnderline\n\t\t\t\t</NcActionCheckbox>\n\t\t\t\t<NcActionSeparator />\n\t\t\t\t<NcActionRadio name=\"color\" v-model=\"color.black\" value=\"Black\">Black</NcActionRadio>\n\t\t\t\t<NcActionRadio name=\"color\" v-model=\"color.blue\" value=\"Blue\">Blue</NcActionRadio>\n\t\t\t\t<NcActionRadio name=\"color\" v-model=\"color.red\" value=\"Red\">Red</NcActionRadio>\n\t\t\t\t<NcActionRadio name=\"color\" v-model=\"color.green\" value=\"Green\">Green</NcActionRadio>\n\t\t\t</NcActions>\n\t\t</p>\n\n\t\t<h2>Navigation</h2>\n\t\tUses links or router links. May use text elements, captions and separators.\n\t\t<p>\n\t\t\t<NcActions aria-label=\"Applications navigation\" :inline=\"2\" type=\"tertiary\">\n\t\t\t\t<NcActionLink href=\"/apps/dashboard\" icon=\"icon-category-dashboard-white\">\n\t\t\t\t\tDashboard\n\t\t\t\t</NcActionLink>\n\t\t\t\t<NcActionLink href=\"/apps/files\" icon=\"icon-files-white\">\n\t\t\t\t\tFiles\n\t\t\t\t</NcActionLink>\n\t\t\t\t<NcActionLink href=\"/apps/spreed\" icon=\"icon-talk-white\">\n\t\t\t\t\tTalk\n\t\t\t\t</NcActionLink>\n\t\t\t\t<NcActionLink href=\"/apps/contacts\" icon=\"icon-contacts-white\">\n\t\t\t\t\tContacts\n\t\t\t\t</NcActionLink>\n\t\t\t\t<NcActionLink href=\"/apps/spreed\" icon=\"icon-circles-white\">\n\t\t\t\t\tCircles\n\t\t\t\t</NcActionLink>\n\t\t\t</NcActions>\n\t\t</p>\n\n\t\t<h2>Dialog</h2>\n\t\tIncludes data input elements\n\t\t<p>\n\t\t\t<NcActions aria-label=\"Group management\">\n\t\t\t\t<NcActionInput trailing-button-label=\"Submit\" label=\"Rename group\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionInput>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tRemove group\n\t\t\t\t</NcActionButton>\n\t\t\t</NcActions>\n\t\t</p>\n\n\t\t<h2>Tooltip</h2>\n\t\tHas only text and not interactive elements\n\t\t<p>\n\t\t\t<NcActions aria-label=\"Contact\" :inline=\"1\">\n\t\t\t\t<NcActionLink aria-label=\"View profile\" href=\"/u/alice\" icon=\"icon-user-white\">\n\t\t\t\t\tView profile\n\t\t\t\t</NcActionLink>\n\t\t\t\t<NcActionText icon=\"icon-timezone-white\">\n\t\t\t\t\tLocal time: 10:12\n\t\t\t\t</NcActionText>\n\t\t\t</NcActions>\n\t\t</p>\n\t</div>\n</template>\n\n<script>\n// Common icons\nimport Pencil from 'vue-material-design-icons/Pencil'\nimport Delete from 'vue-material-design-icons/Delete'\n\n// Email icons\nimport StarOutline from 'vue-material-design-icons/StarOutline'\nimport EmailUnread from 'vue-material-design-icons/Email'\nimport Bookmark from 'vue-material-design-icons/Bookmark'\nimport ClockOutlineIcon from 'vue-material-design-icons/ClockOutline'\nimport AlertOctagonIcon from 'vue-material-design-icons/AlertOctagon'\nimport CheckIcon from 'vue-material-design-icons/Check'\nimport OpenInNewIcon from 'vue-material-design-icons/OpenInNew'\nimport DownloadIcon from 'vue-material-design-icons/Download'\n\n// Formating icons\nimport FormatTitle from 'vue-material-design-icons/FormatTitle.vue'\nimport FormatAlignLeft from 'vue-material-design-icons/FormatAlignLeft.vue'\nimport FormatAlignCenter from 'vue-material-design-icons/FormatAlignCenter.vue'\nimport FormatAlignRight from 'vue-material-design-icons/FormatAlignRight.vue'\nimport FormatBold from 'vue-material-design-icons/FormatBold.vue'\nimport FormatItalic from 'vue-material-design-icons/FormatItalic.vue'\nimport FormatUnderline from 'vue-material-design-icons/FormatUnderline.vue'\n\nexport default {\n\tcomponents: {\n\t\t// Common icons\n\t\tPencil,\n\t\tDelete,\n\n\t\t// Email icons\n\t\tStarOutline,\n\t\tEmailUnread,\n\t\tBookmark,\n\t\tClockOutlineIcon,\n\t\tAlertOctagonIcon,\n\t\tCheckIcon,\n\t\tOpenInNewIcon,\n\t\tDownloadIcon,\n\n\t\t// Formating icons\n\t\tFormatTitle,\n\t\tFormatAlignLeft,\n\t\tFormatAlignCenter,\n\t\tFormatAlignRight,\n\t\tFormatBold,\n\t\tFormatItalic,\n\t\tFormatUnderline,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselected: false,\n\t\t\t// Formating\n\t\t\tchecked: {\n\t\t\t\tbold: true,\n\t\t\t\titalic: false,\n\t\t\t\tunderline: false,\n\t\t\t},\n\t\t\tcolor: {\n\t\t\t\tblack: true,\n\t\t\t\tblue: false,\n\t\t\t\tred: false,\n\t\t\t\tgreen: false,\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n\n<style scoped>\np {\n\tmargin: 1rem 0;\n}\n</style>\n```\n\n## NcActions children limitations\n\n`<NcActions>` is supposed to be used with direct `<NcAction*>` children.\nAlthough it works when actions are not direct children but wrapped in custom components, it has limitations:\n- No `inline` prop property, including a single action display;\n- Accessibility issues, including changed keyboard behavior;\n- Invalid HTML.\n\n```\n<template>\n\t<table class=\"actions-limitations-table\">\n\t\t<tr>\n\t\t\t<th style=\"width: 50%\">Non-direct children</th>\n\t\t\t<th style=\"width: 50%\">Direct NcAction* children</th>\n\t\t</tr>\n\n\t\t<tr>\n\t\t\t<th colspan=\"2\">This single button is supposed to be rendered as inline action but it is rendered as a menu:</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t<NcActions>\n\t\t\t\t\t<MyUserActionButton />\n\t\t\t\t</NcActions>\n\t\t\t</td>\n\t\t\t<td>\n\t\t\t\t<NcActions>\n\t\t\t\t\t<NcActionButton>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Account :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tButton\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th colspan=\"2\">This NcActions is supposed to have 2 inline buttons but it has none:</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t<NcActions :inline=\"2\">\n\t\t\t\t\t<MyUserActionButton v-for=\"i in 4\" />\n\t\t\t\t</NcActions>\n\t\t\t</td>\n\t\t\t<td>\n\t\t\t\t<NcActions :inline=\"2\">\n\t\t\t\t\t<NcActionButton v-for=\"i in 4\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Account :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tButton\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th colspan=\"2\">This NcActions is supposed to have a11y role menu and keyboard navigation but it acts like a dialog:</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t<NcActions>\n\t\t\t\t\t<MyActionsList />\n\t\t\t\t</NcActions>\n\t\t\t</td>\n\t\t\t<td>\n\t\t\t\t<NcActions>\n\t\t\t\t\t<NcActionButton v-for=\"i in 4\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Account :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tButton\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</td>\n\t\t</tr>\n\t</table>\n</template>\n\n<script>\nimport { h, resolveComponent } from 'vue'\nimport Account from 'vue-material-design-icons/Account.vue'\n\nexport default {\n\tcomponents: {\n\t\tAccount,\n\n\t\tMyUserActionButton: {\n\t\t\tname: 'MyUserActionButton',\n\t\t\tcomponents: { Account },\n\t\t\trender: () => h(resolveComponent('NcActionButton'), null, { default: () => 'Button', icon: () => h(Account, { size: 20 }) }),\n\t\t},\n\n\t\tMyActionsList: {\n\t\t\tname: 'MyActionsList',\n\t\t\tcomponents: { Account },\n\t\t\trender: () => h('div', null, {\n\t\t\t\tdefault: () => [\n\t\t\t\t\th(resolveComponent('NcActionButton'), null, { default: () => 'Button', icon: () => h(Account, { size: 20 }) }),\n\t\t\t\t\th(resolveComponent('NcActionButton'), null, { default: () => 'Button', icon: () => h(Account, { size: 20 }) }),\n\t\t\t\t\th(resolveComponent('NcActionButton'), null, { default: () => 'Button', icon: () => h(Account, { size: 20 }) }),\n\t\t\t\t\th(resolveComponent('NcActionButton'), null, { default: () => 'Button', icon: () => h(Account, { size: 20 }) }),\n\t\t\t\t],\n\t\t\t}),\n\t\t},\n\t},\n}\n</script>\n\n<style>\n.actions-limitations-table {\n\tborder-collapse: collapse;\n\twidth: 100%;\n\tth,\n\ttd {\n\t\tborder: 1px solid var(--color-border);\n\t\tpadding: var(--default-grid-baseline);\n\t\tmax-width: 50%;\n\t}\n\n\tth {\n\t\ttext-align: center;\n\t\ttext-wrap: wrap;\n\t}\n}\n</style>\n```\n</docs>\n\n<script>\nimport NcButton from '../NcButton/index.ts'\nimport NcPopover from '../NcPopover/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport isSlotPopulated from '../../utils/isSlotPopulated.ts'\nimport { getTrapStack } from '../../utils/focusTrap.js'\nimport { t } from '../../l10n.js'\n\nimport DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport { computed, h, Fragment, warn, mergeProps } from 'vue'\n\nconst focusableSelector = '.focusable'\n\n/**\n * The Actions component can be used to display one ore more actions.\n * If only a single action is provided, it will be rendered as an inline icon.\n * For more, a menu indicator will be shown and a popovermenu containing the\n * actions will be opened on click.\n *\n * @since 0.10.0\n */\nexport default {\n\tname: 'NcActions',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tDotsHorizontal,\n\t\tNcPopover,\n\t},\n\n\tprovide() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * NcActions can be used as:\n\t\t\t * - Application menu (has menu role)\n\t\t\t * - Navigation (has no specific role, should be used an element with navigation role)\n\t\t\t * - Popover with plain text or text inputs (has no specific role)\n\t\t\t * Depending on the usage (used items), the menu and its items should have different roles for a11y.\n\t\t\t * Provide the role for NcAction* components in the NcActions content.\n\t\t\t * @type {import('vue').ComputedRef<boolean>}\n\t\t\t */\n\t\t\t'NcActions:isSemanticMenu': computed(() => this.actionsMenuSemanticType === 'menu'),\n\t\t}\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Specify the open state of the popover menu\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 * This disables the internal open management,\n\t\t * so the actions menu only respects the `open` prop.\n\t\t * This is e.g. necessary for the NcAvatar component\n\t\t * to only open the actions menu after loading it's entries has finished.\n\t\t */\n\t\tmanualOpen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the actions to display in a three dot menu\n\t\t */\n\t\tforceMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the name to show for single actions\n\t\t */\n\t\tforceName: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specify the menu name\n\t\t */\n\t\tmenuName: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Apply primary styling for this menu\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies the button type used for trigger and single actions buttons\n\t\t * Accepted values: primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success. If left empty,\n\t\t * the default button style will be applied.\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['primary', 'secondary', 'tertiary', 'tertiary-no-background', 'tertiary-on-primary', 'error', 'warning', 'success'].indexOf(value) !== -1\n\t\t\t},\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Icon to show for the toggle menu button\n\t\t * when more than one action is inside the actions component.\n\t\t * Only replace the default three-dot icon if really necessary.\n\t\t */\n\t\tdefaultIcon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Aria label for the actions menu.\n\t\t *\n\t\t * If `menuName` is defined this will not be used to prevent\n\t\t * any accessible name conflicts. This ensures that the\n\t\t * element can be activated via voice input.\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Actions'),\n\t\t},\n\n\t\t/**\n\t\t * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n\t\t * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n\t\t * otherwise root element will inherit incorrect aria-hidden.\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Wanted direction of the menu\n\t\t */\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * DOM element for the actions' popover boundaries\n\t\t */\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: () => document.querySelector('body'),\n\t\t},\n\n\t\t/**\n\t\t * Selector for the actions' 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\n\t\t/**\n\t\t * Disabled state of the main button (single action or menu toggle)\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Display x items inline out of the dropdown menu\n\t\t * Will be ignored if `forceMenu` is set\n\t\t */\n\t\tinline: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t},\n\n\temits: [\n\t\t'open',\n\t\t'update:open',\n\t\t'close',\n\t\t'focus',\n\t\t'blur',\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\topened: this.open,\n\t\t\tfocusIndex: 0,\n\t\t\trandomId: `menu-${GenRandomId()}`,\n\t\t\t/**\n\t\t\t * @type {'menu'|'navigation'|'dialog'|'tooltip'|''}\n\t\t\t */\n\t\t\tactionsMenuSemanticType: '',\n\t\t\texternalFocusTrapStack: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttriggerBtnType() {\n\t\t\t// If requested, we use a primary button\n\t\t\treturn this.type || (this.primary\n\t\t\t\t? 'primary'\n\t\t\t\t// If it has a name, we use a secondary button\n\t\t\t\t: this.menuName ? 'secondary' : 'tertiary')\n\t\t},\n\n\t\twithFocusTrap() {\n\t\t\treturn this.actionsMenuSemanticType === 'dialog'\n\t\t},\n\t},\n\n\twatch: {\n\t\t// Watch parent prop\n\t\topen(state) {\n\t\t\tif (state === this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = state\n\t\t},\n\n\t\topened() {\n\t\t\tthis.intersectIntoCurrentFocusTrapStack()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Get the name of the action component\n\t\t *\n\t\t * @param {import('vue').VNode} action - a vnode with a NcAction* component instance\n\t\t * @return {string} the name of the action component\n\t\t */\n\t\tgetActionName(action) {\n\t\t\treturn action?.type?.name\n\t\t},\n\n\t\t/**\n\t\t * When the component has its own focus trap, then it is managed by global trap stack by focus-trap.\n\t\t *\n\t\t * However if the component has no focus trap and is used inside another focus trap - there is an issue.\n\t\t * By default popover content is rendered in body or other container, which is likely outside the current focus trap containers.\n\t\t * It results in broken behavior from focus-trap.\n\t\t *\n\t\t * We need to pause all the focus traps for opening popover and then unpause them back after closing.\n\t\t */\n\t\tintersectIntoCurrentFocusTrapStack() {\n\t\t\tif (this.withFocusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.opened) {\n\t\t\t\tthis.externalFocusTrapStack = [...getTrapStack()]\n\t\t\t\tfor (const trap of this.externalFocusTrapStack) {\n\t\t\t\t\ttrap.pause()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (const trap of this.externalFocusTrapStack) {\n\t\t\t\t\ttrap.unpause()\n\t\t\t\t}\n\t\t\t\tthis.externalFocusTrapStack = []\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Do we have exactly one Action and\n\t\t * is it allowed as a standalone element?\n\t\t *\n\t\t * @param {import('vue').VNode} action The action to check\n\t\t * @return {boolean}\n\t\t */\n\t\tisValidSingleAction(action) {\n\t\t\treturn ['NcActionButton', 'NcActionLink', 'NcActionRouter'].includes(this.getActionName(action))\n\t\t},\n\t\tisAction(action) {\n\t\t\treturn this.getActionName(action)?.startsWith?.('NcAction')\n\t\t},\n\n\t\t/**\n\t\t * Check whether a icon prop value is an URL or not\n\t\t * @param {string} url The icon prop value\n\t\t */\n\t\tisIconUrl(url) {\n\t\t\ttry {\n\t\t\t\treturn !!(new URL(url, url.startsWith('/') ? window.location.origin : undefined))\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\t// MENU STATE MANAGEMENT\n\t\topenMenu() {\n\t\t\tif (this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = true\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is opened\n\t\t\t */\n\t\t\tthis.$emit('open')\n\t\t},\n\t\tcloseMenu(returnFocus = true) {\n\t\t\tif (!this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = false\n\n\t\t\tthis.$refs.popover?.clearFocusTrap({ returnFocus })\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is closed\n\t\t\t */\n\t\t\tthis.$emit('close')\n\n\t\t\t// close everything\n\t\t\tthis.focusIndex = 0\n\n\t\t\tif (returnFocus) {\n\t\t\t\t// Focus back the menu button\n\t\t\t\tthis.$refs.menuButton.$el.focus()\n\t\t\t}\n\t\t},\n\n\t\tonOpen(event) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.focusFirstAction(event)\n\t\t\t})\n\t\t},\n\n\t\t// MENU KEYS & FOCUS MANAGEMENT\n\t\t// focus nearest focusable item on mouse move\n\t\t// DO NOT change the focus if the target is already focused\n\t\t// this will prevent issues with input being unfocused\n\t\t// on mouse move\n\t\tonMouseFocusAction(event) {\n\t\t\tif (document?.activeElement === event.target) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst menuItem = event.target.closest('li')\n\t\t\tif (menuItem && this.$refs.menu.contains(menuItem)) {\n\t\t\t\tconst focusableItem = menuItem.querySelector(focusableSelector)\n\t\t\t\tif (focusableItem) {\n\t\t\t\t\tconst focusList = this.$refs.menu.querySelectorAll(focusableSelector)\n\t\t\t\t\tconst focusIndex = [...focusList].indexOf(focusableItem)\n\t\t\t\t\tif (focusIndex > -1) {\n\t\t\t\t\t\tthis.focusIndex = focusIndex\n\t\t\t\t\t\tthis.focusAction()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatches the keydown listener to different handlers\n\t\t *\n\t\t * @param {object} event The keydown event\n\t\t */\n\t\tonKeydown(event) {\n\t\t\tif (event.key === 'Tab' && !this.withFocusTrap) {\n\t\t\t\t// Return focus to restore Tab sequence\n\t\t\t\t// So browser will correctly move focus to the next element\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\n\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\tthis.focusPreviousAction(event)\n\t\t\t}\n\n\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\tthis.focusNextAction(event)\n\t\t\t}\n\n\t\t\tif (event.key === 'PageUp') {\n\t\t\t\tthis.focusFirstAction(event)\n\t\t\t}\n\n\t\t\tif (event.key === 'PageDown') {\n\t\t\t\tthis.focusLastAction(event)\n\t\t\t}\n\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tthis.closeMenu()\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t},\n\t\tremoveCurrentActive() {\n\t\t\tconst currentActiveElement = this.$refs.menu.querySelector('li.active')\n\t\t\tif (currentActiveElement) {\n\t\t\t\tcurrentActiveElement.classList.remove('active')\n\t\t\t}\n\t\t},\n\t\tfocusAction() {\n\t\t\t// TODO: have a global disabled state for non input elements\n\t\t\tconst focusElement = this.$refs.menu.querySelectorAll(focusableSelector)[this.focusIndex]\n\t\t\tif (focusElement) {\n\t\t\t\tthis.removeCurrentActive()\n\t\t\t\tconst liMenuParent = focusElement.closest('li.action')\n\t\t\t\tfocusElement.focus()\n\t\t\t\tif (liMenuParent) {\n\t\t\t\t\tliMenuParent.classList.add('active')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfocusPreviousAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tif (this.focusIndex === 0) {\n\t\t\t\t\tthis.focusLastAction(event)\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex - 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusNextAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tconst indexLength = this.$refs.menu.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tif (this.focusIndex === indexLength) {\n\t\t\t\t\tthis.focusFirstAction(event)\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex + 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusFirstAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t// In case a button is considered aria-selected we will use this one as a initial focus\n\t\t\t\tconst firstSelectedIndex = [...this.$refs.menu.querySelectorAll(focusableSelector)].findIndex((button) => {\n\t\t\t\t\treturn button.parentElement.getAttribute('aria-selected')\n\t\t\t\t})\n\t\t\t\tthis.focusIndex = firstSelectedIndex > -1 ? firstSelectedIndex : 0\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusLastAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\tthis.focusIndex = this.$refs.menu.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tpreventIfEvent(event) {\n\t\t\tif (event) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\t\tonFocus(event) {\n\t\t\tthis.$emit('focus', event)\n\t\t},\n\t\tonBlur(event) {\n\t\t\tthis.$emit('blur', event)\n\n\t\t\t// When there is no focusable elements to handle Tab press from actions menu\n\t\t\t// It requries manual closing\n\t\t\tif (this.actionsMenuSemanticType === 'tooltip') {\n\t\t\t\t// Tooltip is supposed to have no focusable element.\n\t\t\t\t// However, if there is a custom focusable element, it will be auto-focused and cause the menu to be closed on open.\n\t\t\t\tif (this.$refs.menu && this.$refs.menu.querySelectorAll(focusableSelector).length === 0) {\n\t\t\t\t\tthis.closeMenu(false)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonClick(event) {\n\t\t\t/**\n\t\t\t * Event emitted when the menu toggle button is clicked.\n\t\t\t *\n\t\t\t * This is e.g. necessary for the NcAvatar component\n\t\t\t * which needs to fetch the menu items on click.\n\t\t\t *\n\t\t\t * @type {PointerEvent}\n\t\t\t */\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n\n\t/**\n\t * The render function to display the component\n\t *\n\t * @return {object|undefined} The created VNode\n\t */\n\trender() {\n\t\tconst actions = []\n\t\t// We have to iterate over all slot elements\n\t\tconst findActions = (vnodes, actions) => {\n\t\t\tvnodes.forEach(vnode => {\n\t\t\t\tif (this.isAction(vnode)) {\n\t\t\t\t\tactions.push(vnode)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// If we encounter a Fragment, we have to check its children too\n\t\t\t\tif (vnode.type === Fragment) {\n\t\t\t\t\tfindActions(vnode.children, actions)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tfindActions(this.$slots.default?.(), actions)\n\n\t\t// Check that we have at least one action\n\t\tif (actions.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\t/**\n\t\t * Separate the actions into inline and menu actions\n\t\t */\n\n\t\t/**\n\t\t * @type {import('vue').VNode[]}\n\t\t */\n\t\tlet validInlineActions = actions.filter(this.isValidSingleAction)\n\t\tif (this.forceMenu && validInlineActions.length > 0 && this.inline > 0) {\n\t\t\twarn('Specifying forceMenu will ignore any inline actions rendering.')\n\t\t\tvalidInlineActions = []\n\t\t}\n\t\t/**\n\t\t * @type {import('vue').VNode[]}\n\t\t */\n\t\tconst inlineActions = validInlineActions.slice(0, this.inline)\n\t\t/**\n\t\t * @type {import('vue').VNode[]}\n\t\t */\n\t\tconst menuActions = actions.filter(action => !inlineActions.includes(action))\n\n\t\t/**\n\t\t * Determine what kind of menu we have.\n\t\t * It defines focus behavior and a11y.\n\t\t */\n\n\t\tconst menuItemsActions = ['NcActionButton', 'NcActionButtonGroup', 'NcActionCheckbox', 'NcActionRadio']\n\t\tconst textInputActions = ['NcActionInput', 'NcActionTextEditable']\n\t\tconst linkActions = ['NcActionLink', 'NcActionRouter']\n\n\t\tconst hasTextInputAction = menuActions.some(action => textInputActions.includes(this.getActionName(action)))\n\t\tconst hasMenuItemAction = menuActions.some(action => menuItemsActions.includes(this.getActionName(action)))\n\t\tconst hasLinkAction = menuActions.some(action => linkActions.includes(this.getActionName(action)))\n\n\t\tif (hasTextInputAction) {\n\t\t\tthis.actionsMenuSemanticType = 'dialog'\n\t\t} else if (hasMenuItemAction) {\n\t\t\tthis.actionsMenuSemanticType = 'menu'\n\t\t} else if (hasLinkAction) {\n\t\t\tthis.actionsMenuSemanticType = 'navigation'\n\t\t} else {\n\t\t\t// (!) Hotfix (!)\n\t\t\t// In Vue 2 it is not easy to search for NcAction* in sub-component of a slot.\n\t\t\t// When a menu is rendered, children are not mounted yet.\n\t\t\t// If we have NcActions > MyActionsList > NcActionButton, only MyActionsList's vnode is available.\n\t\t\t// So when NcActions has actions as non-direct children, here then we don't know about them.\n\t\t\t// Like this menu has no buttons/links/inputs.\n\t\t\t// It makes the menu incorrectly considered a tooltip.\n\t\t\tconst ncActions = actions.filter((action) => this.getActionName(action).startsWith('NcAction'))\n\t\t\tif (ncActions.length === actions.length) {\n\t\t\t\t// True tooltip\n\t\t\t\tthis.actionsMenuSemanticType = 'tooltip'\n\t\t\t} else {\n\t\t\t\t// Custom components are passed to the NcActions\n\t\t\t\t// dialog is a universal fallback option\n\t\t\t\tthis.actionsMenuSemanticType = 'dialog'\n\t\t\t}\n\t\t}\n\n\t\tconst actionsRoleToHtmlPopupRole = {\n\t\t\tdialog: 'dialog',\n\t\t\tmenu: 'menu',\n\t\t\tnavigation: 'true',\n\t\t\ttooltip: 'true',\n\t\t}\n\t\tconst popupRole = actionsRoleToHtmlPopupRole[this.actionsMenuSemanticType]\n\n\t\t/**\n\t\t * Render the provided action\n\t\t *\n\t\t * @param {import('vue').VNode} action the action to render\n\t\t * @return {Function} the vue render function\n\t\t */\n\t\tconst renderInlineAction = (action) => {\n\t\t\tconst iconProp = action?.props?.icon\n\t\t\tconst icon = action?.children?.icon?.()?.[0] ?? (\n\t\t\t\tthis.isIconUrl(iconProp)\n\t\t\t\t\t? h('img', { class: 'action-item__menutoggle__icon', src: iconProp, alt: '' })\n\t\t\t\t\t: h('span', { class: ['icon', iconProp] })\n\t\t\t)\n\t\t\tconst text = action?.children?.default?.()?.[0]?.children?.trim()\n\t\t\tconst buttonText = this.forceName ? text : ''\n\n\t\t\tlet title = action?.props?.title\n\t\t\t// Show a default title for single actions if none is present\n\t\t\tif (!(this.forceName || title)) {\n\t\t\t\ttitle = text\n\t\t\t}\n\n\t\t\tconst propsToForward = { ...(action?.props ?? {}) }\n\t\t\tconst nativeType = ['submit', 'reset'].includes(propsToForward.type) ? propsToForward.modelValue : 'button'\n\t\t\t// not available on NcButton or with different meaning\n\t\t\tdelete propsToForward.modelValue\n\t\t\tdelete propsToForward.type\n\n\t\t\treturn h(NcButton,\n\t\t\t\tmergeProps(\n\t\t\t\t\tpropsToForward,\n\t\t\t\t\t{\n\t\t\t\t\t\tclass: 'action-item action-item--single',\n\t\t\t\t\t\t'aria-label': action?.props?.['aria-label'] || text,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// If it has a menuName, we use a secondary button\n\t\t\t\t\t\ttype: this.type || (buttonText ? 'secondary' : 'tertiary'),\n\t\t\t\t\t\tdisabled: this.disabled || action?.props?.disabled,\n\t\t\t\t\t\tpressed: action?.props?.modelValue,\n\t\t\t\t\t\tnativeType,\n\t\t\t\t\t\tonFocus: this.onFocus,\n\t\t\t\t\t\tonBlur: this.onBlur,\n\t\t\t\t\t\t// forward any pressed state from NcButton just like NcActionButton does\n\t\t\t\t\t\t'onUpdate:pressed': action?.props?.['onUpdate:modelValue'] ?? (() => {}),\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tdefault: () => buttonText,\n\t\t\t\t\ticon: () => icon,\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\t/**\n\t\t * Render the actions popover\n\t\t *\n\t\t * @param {Array} actions the actions to render within\n\t\t * @return {Function} the vue render function\n\t\t */\n\t\tconst renderActionsPopover = (actions) => {\n\t\t\tconst triggerIcon = isSlotPopulated(this.$slots.icon?.())\n\t\t\t\t? this.$slots.icon?.()\n\t\t\t\t: (this.defaultIcon\n\t\t\t\t\t? h('span', { class: ['icon', this.defaultIcon] })\n\t\t\t\t\t: h(DotsHorizontal, { size: 20 })\n\t\t\t\t)\n\t\t\treturn h(NcPopover,\n\t\t\t\t{\n\t\t\t\t\tref: 'popover',\n\t\t\t\t\tdelay: 0,\n\t\t\t\t\thandleResize: true,\n\t\t\t\t\tshown: this.opened,\n\t\t\t\t\tplacement: this.placement,\n\t\t\t\t\tboundary: this.boundariesElement,\n\t\t\t\t\tcontainer: this.container,\n\t\t\t\t\t...this.manualOpen && { triggers: [] },\n\t\t\t\t\tpopoverBaseClass: 'action-item__popper',\n\t\t\t\t\tpopupRole,\n\t\t\t\t\tsetReturnFocus: this.withFocusTrap ? this.$refs.menuButton?.$el : null,\n\t\t\t\t\tfocusTrap: this.withFocusTrap,\n\t\t\t\t\tonShow: this.openMenu,\n\t\t\t\t\tonAfterShow: this.onOpen,\n\t\t\t\t\tonHide: this.closeMenu,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttrigger: () => h(NcButton, {\n\t\t\t\t\t\tclass: 'action-item__menutoggle',\n\t\t\t\t\t\ttype: this.triggerBtnType,\n\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\tariaHidden: this.ariaHidden,\n\t\t\t\t\t\tref: 'menuButton',\n\t\t\t\t\t\t'aria-label': this.menuName ? null : this.ariaLabel,\n\t\t\t\t\t\t'aria-controls': this.opened ? this.randomId : null,\n\t\t\t\t\t\tonFocus: this.onFocus,\n\t\t\t\t\t\tonBlur: this.onBlur,\n\t\t\t\t\t\tonClick: this.onClick,\n\t\t\t\t\t}, {\n\t\t\t\t\t\ticon: () => triggerIcon,\n\t\t\t\t\t\tdefault: () => this.menuName,\n\t\t\t\t\t}),\n\t\t\t\t\tdefault: () => h('div', {\n\t\t\t\t\t\tclass: {\n\t\t\t\t\t\t\topen: this.opened,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttabindex: '-1',\n\t\t\t\t\t\tonKeydown: this.onKeydown,\n\t\t\t\t\t\tonMousemove: this.onMouseFocusAction,\n\t\t\t\t\t\tref: 'menu',\n\t\t\t\t\t}, [\n\t\t\t\t\t\th('ul', {\n\t\t\t\t\t\t\tid: this.randomId,\n\t\t\t\t\t\t\ttabindex: '-1',\n\t\t\t\t\t\t\trole: popupRole !== 'true' ? popupRole : undefined,\n\t\t\t\t\t\t\t// TODO: allow to provide dialog aria-label\n\t\t\t\t\t\t}, [\n\t\t\t\t\t\t\tactions,\n\t\t\t\t\t\t]),\n\t\t\t\t\t]),\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\t/**\n\t\t * If we have a single action only and didn't force a menu,\n\t\t * we render the action as a standalone button\n\t\t */\n\t\tif (actions.length === 1 && validInlineActions.length === 1 && !this.forceMenu) {\n\t\t\treturn renderInlineAction(actions[0])\n\t\t}\n\n\t\t// If we completely re-render the children\n\t\t// we need to focus the first action again\n\t\t// Mostly used when clicking a menu item\n\t\tthis.$nextTick(() => {\n\t\t\tif (this.opened && this.$refs.menu) {\n\t\t\t\tconst isAnyActive = this.$refs.menu.querySelector('li.active') || []\n\t\t\t\tif (isAnyActive.length === 0) {\n\t\t\t\t\tthis.focusFirstAction()\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t/**\n\t\t * If we some inline actions to render, render them, then the menu\n\t\t */\n\t\tif (inlineActions.length > 0 && this.inline > 0) {\n\t\t\treturn h('div',\n\t\t\t\t{\n\t\t\t\t\tclass: [\n\t\t\t\t\t\t'action-items',\n\t\t\t\t\t\t`action-item--${this.triggerBtnType}`,\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\t// Render inline actions\n\t\t\t\t\t...inlineActions.map(renderInlineAction),\n\t\t\t\t\t// render the rest within the popover menu\n\t\t\t\t\tmenuActions.length > 0\n\t\t\t\t\t\t? h('div',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclass: [\n\t\t\t\t\t\t\t\t\t'action-item',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'action-item--open': this.opened,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\trenderActionsPopover(menuActions),\n\t\t\t\t\t\t\t])\n\t\t\t\t\t\t: null,\n\t\t\t\t])\n\t\t}\n\n\t\t/**\n\t\t * Otherwise, we render the actions in a popover\n\t\t */\n\t\treturn h('div',\n\t\t\t{\n\t\t\t\tclass: [\n\t\t\t\t\t'action-item action-item--default-popover',\n\t\t\t\t\t`action-item--${this.triggerBtnType}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'action-item--open': this.opened,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t[\n\t\t\t\trenderActionsPopover(actions),\n\t\t\t],\n\t\t)\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// Inline buttons\n.action-items {\n\tdisplay: flex;\n\talign-items: center;\n\n\t// Spacing between buttons\n\t& > button {\n\t\tmargin-right: math.div($icon-margin, 2);\n\t}\n}\n\n.action-item {\n\t--open-background-color: var(--color-background-hover, $action-background-hover);\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--primary {\n\t\t--open-background-color: var(--color-primary-element-hover);\n\t}\n\n\t&.action-item--secondary {\n\t\t--open-background-color: var(--color-primary-element-light-hover);\n\t}\n\n\t&.action-item--error {\n\t\t--open-background-color: var(--color-error-hover);\n\t}\n\n\t&.action-item--warning {\n\t\t--open-background-color: var(--color-warning-hover);\n\t}\n\n\t&.action-item--success {\n\t\t--open-background-color: var(--color-success-hover);\n\t}\n\n\t&.action-item--tertiary-no-background {\n\t\t--open-background-color: transparent;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\tbackground-color: var(--open-background-color);\n\t}\n\n\t&__menutoggle__icon {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tobject-fit: contain;\n\t}\n}\n</style>\n\n<style lang=\"scss\">\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\toverflow:hidden;\n\n\t.v-popper__inner {\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 4px;\n\t\tmax-height: calc(50vh - 16px);\n\t\toverflow: auto;\n\t}\n}\n</style>\n"],"names":["focusableSelector","_sfc_main","NcButton","DotsHorizontal","NcPopover","computed","value","t","GenRandomId","state","action","trap","url","returnFocus","event","menuItem","focusableItem","focusIndex","currentActiveElement","focusElement","liMenuParent","indexLength","actions","findActions","vnodes","vnode","_b","_a","validInlineActions","warn","menuActions","inlineActions","hasLinkAction","linkActions","popupRole","renderInlineAction","iconProp","icon","_e","_d","_c","h","buttonText","text","title","propsToForward","_l","_o","_q","_p","renderActionsPopover","triggerIcon"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- var w = require("../assets/NcActions-cEMOhd0g.css");
2
- const d = require("./NcButton-Uxh-oARg.cjs"), b = require("./NcPopover-sVfBFdPh.cjs"), M = require("./GenRandomId-ULxaMkkr.cjs"), y = require("./_l10n-wK0o0jNS.cjs"), v = require("./DotsHorizontal-Ehuu1q0g.cjs"), i = require("vue"), k = require("./_plugin-vue_export-helper-xG2iG1wl.cjs");
3
- y.register(y.t4);
4
- const u = ".focusable", L = {
1
+ var Z = require("../assets/NcActions-PR-7NI_x.css");
2
+ const y = require("./NcButton-7UKtzkX5.cjs"), H = require("./NcPopover-J0pw-klF.cjs"), W = require("./GenRandomId-ULxaMkkr.cjs"), j = require("./focusTrap-n3H52LOw.cjs"), g = require("./_l10n-Fl7RzbcZ.cjs"), C = require("./DotsHorizontal-z8LXg-4B.cjs"), n = require("vue"), J = require("./_plugin-vue_export-helper-xG2iG1wl.cjs");
3
+ g.register(g.t4);
4
+ const l = ".focusable", Q = {
5
5
  name: "NcActions",
6
6
  components: {
7
- NcButton: d.NcButton,
8
- DotsHorizontal: v.DotsHorizontal,
9
- NcPopover: b.NcPopover
7
+ NcButton: y.NcButton,
8
+ DotsHorizontal: C.DotsHorizontal,
9
+ NcPopover: H.NcPopover
10
10
  },
11
11
  provide() {
12
12
  return {
@@ -19,7 +19,7 @@ const u = ".focusable", L = {
19
19
  * Provide the role for NcAction* components in the NcActions content.
20
20
  * @type {import('vue').ComputedRef<boolean>}
21
21
  */
22
- "NcActions:isSemanticMenu": i.computed(() => this.isSemanticMenu)
22
+ "NcActions:isSemanticMenu": n.computed(() => this.actionsMenuSemanticType === "menu")
23
23
  };
24
24
  },
25
25
  props: {
@@ -98,7 +98,7 @@ const u = ".focusable", L = {
98
98
  */
99
99
  ariaLabel: {
100
100
  type: String,
101
- default: y.t("Actions")
101
+ default: g.t("Actions")
102
102
  },
103
103
  /**
104
104
  * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.
@@ -151,42 +151,83 @@ const u = ".focusable", L = {
151
151
  "update:open",
152
152
  "close",
153
153
  "focus",
154
- "blur"
154
+ "blur",
155
+ "click"
155
156
  ],
156
157
  data() {
157
158
  return {
158
159
  opened: this.open,
159
160
  focusIndex: 0,
160
- randomId: `menu-${M.GenRandomId()}`,
161
- isSemanticMenu: !1,
162
- isSemanticNavigation: !1,
163
- isSemanticPopoverLike: !1
161
+ randomId: "menu-".concat(W.GenRandomId()),
162
+ /**
163
+ * @type {'menu'|'navigation'|'dialog'|'tooltip'|''}
164
+ */
165
+ actionsMenuSemanticType: "",
166
+ externalFocusTrapStack: []
164
167
  };
165
168
  },
166
169
  computed: {
167
170
  triggerBtnType() {
168
171
  return this.type || (this.primary ? "primary" : this.menuName ? "secondary" : "tertiary");
172
+ },
173
+ withFocusTrap() {
174
+ return this.actionsMenuSemanticType === "dialog";
169
175
  }
170
176
  },
171
177
  watch: {
172
178
  // Watch parent prop
173
179
  open(e) {
174
180
  e !== this.opened && (this.opened = e);
181
+ },
182
+ opened() {
183
+ this.intersectIntoCurrentFocusTrapStack();
175
184
  }
176
185
  },
177
186
  methods: {
187
+ /**
188
+ * Get the name of the action component
189
+ *
190
+ * @param {import('vue').VNode} action - a vnode with a NcAction* component instance
191
+ * @return {string} the name of the action component
192
+ */
193
+ getActionName(e) {
194
+ var i;
195
+ return (i = e == null ? void 0 : e.type) == null ? void 0 : i.name;
196
+ },
197
+ /**
198
+ * When the component has its own focus trap, then it is managed by global trap stack by focus-trap.
199
+ *
200
+ * However if the component has no focus trap and is used inside another focus trap - there is an issue.
201
+ * By default popover content is rendered in body or other container, which is likely outside the current focus trap containers.
202
+ * It results in broken behavior from focus-trap.
203
+ *
204
+ * We need to pause all the focus traps for opening popover and then unpause them back after closing.
205
+ */
206
+ intersectIntoCurrentFocusTrapStack() {
207
+ if (!this.withFocusTrap)
208
+ if (this.opened) {
209
+ this.externalFocusTrapStack = [...j.getTrapStack()];
210
+ for (const e of this.externalFocusTrapStack)
211
+ e.pause();
212
+ } else {
213
+ for (const e of this.externalFocusTrapStack)
214
+ e.unpause();
215
+ this.externalFocusTrapStack = [];
216
+ }
217
+ },
178
218
  /**
179
219
  * Do we have exactly one Action and
180
220
  * is it allowed as a standalone element?
181
221
  *
182
- * @param {Array} action The action to check
222
+ * @param {import('vue').VNode} action The action to check
183
223
  * @return {boolean}
184
224
  */
185
225
  isValidSingleAction(e) {
186
- return ["NcActionButton", "NcActionLink", "NcActionRouter"].includes(e?.type?.name);
226
+ return ["NcActionButton", "NcActionLink", "NcActionRouter"].includes(this.getActionName(e));
187
227
  },
188
228
  isAction(e) {
189
- return e.type?.name?.startsWith?.("NcAction");
229
+ var i, s;
230
+ return (s = (i = this.getActionName(e)) == null ? void 0 : i.startsWith) == null ? void 0 : s.call(i, "NcAction");
190
231
  },
191
232
  /**
192
233
  * Check whether a icon prop value is an URL or not
@@ -204,7 +245,8 @@ const u = ".focusable", L = {
204
245
  this.opened || (this.opened = !0, this.$emit("update:open", !0), this.$emit("open"));
205
246
  },
206
247
  closeMenu(e = !0) {
207
- this.opened && (this.opened = !1, this.$refs.popover?.clearFocusTrap({ returnFocus: e }), this.$emit("update:open", !1), this.$emit("close"), this.focusIndex = 0, this.$refs.menuButton.$el.focus());
248
+ var i;
249
+ this.opened && (this.opened = !1, (i = this.$refs.popover) == null || i.clearFocusTrap({ returnFocus: e }), this.$emit("update:open", !1), this.$emit("close"), this.focusIndex = 0, e && this.$refs.menuButton.$el.focus());
208
250
  },
209
251
  onOpen(e) {
210
252
  this.$nextTick(() => {
@@ -217,14 +259,14 @@ const u = ".focusable", L = {
217
259
  // this will prevent issues with input being unfocused
218
260
  // on mouse move
219
261
  onMouseFocusAction(e) {
220
- if (document?.activeElement === e.target)
262
+ if ((document == null ? void 0 : document.activeElement) === e.target)
221
263
  return;
222
- const n = e.target.closest("li");
223
- if (n && this.$refs.menu.contains(n)) {
224
- const s = n.querySelector(u);
264
+ const i = e.target.closest("li");
265
+ if (i && this.$refs.menu.contains(i)) {
266
+ const s = i.querySelector(l);
225
267
  if (s) {
226
- const l = [...this.$refs.menu.querySelectorAll(u)].indexOf(s);
227
- l > -1 && (this.focusIndex = l, this.focusAction());
268
+ const c = [...this.$refs.menu.querySelectorAll(l)].indexOf(s);
269
+ c > -1 && (this.focusIndex = c, this.focusAction());
228
270
  }
229
271
  }
230
272
  },
@@ -234,18 +276,18 @@ const u = ".focusable", L = {
234
276
  * @param {object} event The keydown event
235
277
  */
236
278
  onKeydown(e) {
237
- e.key === "Tab" && !this.isSemanticPopoverLike && this.closeMenu(!1), e.key === "ArrowUp" && this.focusPreviousAction(e), e.key === "ArrowDown" && this.focusNextAction(e), e.key === "PageUp" && this.focusFirstAction(e), e.key === "PageDown" && this.focusLastAction(e), e.key === "Escape" && (this.closeMenu(), e.preventDefault());
279
+ e.key === "Tab" && !this.withFocusTrap && this.closeMenu(!0), e.key === "ArrowUp" && this.focusPreviousAction(e), e.key === "ArrowDown" && this.focusNextAction(e), e.key === "PageUp" && this.focusFirstAction(e), e.key === "PageDown" && this.focusLastAction(e), e.key === "Escape" && (this.closeMenu(), e.preventDefault());
238
280
  },
239
281
  removeCurrentActive() {
240
282
  const e = this.$refs.menu.querySelector("li.active");
241
283
  e && e.classList.remove("active");
242
284
  },
243
285
  focusAction() {
244
- const e = this.$refs.menu.querySelectorAll(u)[this.focusIndex];
286
+ const e = this.$refs.menu.querySelectorAll(l)[this.focusIndex];
245
287
  if (e) {
246
288
  this.removeCurrentActive();
247
- const n = e.closest("li.action");
248
- e.focus(), n && n.classList.add("active");
289
+ const i = e.closest("li.action");
290
+ e.focus(), i && i.classList.add("active");
249
291
  }
250
292
  },
251
293
  focusPreviousAction(e) {
@@ -253,19 +295,19 @@ const u = ".focusable", L = {
253
295
  },
254
296
  focusNextAction(e) {
255
297
  if (this.opened) {
256
- const n = this.$refs.menu.querySelectorAll(u).length - 1;
257
- this.focusIndex === n ? this.focusFirstAction(e) : (this.preventIfEvent(e), this.focusIndex = this.focusIndex + 1), this.focusAction();
298
+ const i = this.$refs.menu.querySelectorAll(l).length - 1;
299
+ this.focusIndex === i ? this.focusFirstAction(e) : (this.preventIfEvent(e), this.focusIndex = this.focusIndex + 1), this.focusAction();
258
300
  }
259
301
  },
260
302
  focusFirstAction(e) {
261
303
  if (this.opened) {
262
304
  this.preventIfEvent(e);
263
- const n = [...this.$refs.menu.querySelectorAll(u)].findIndex((s) => s.parentElement.getAttribute("aria-selected"));
264
- this.focusIndex = n > -1 ? n : 0, this.focusAction();
305
+ const i = [...this.$refs.menu.querySelectorAll(l)].findIndex((s) => s.parentElement.getAttribute("aria-selected"));
306
+ this.focusIndex = i > -1 ? i : 0, this.focusAction();
265
307
  }
266
308
  },
267
309
  focusLastAction(e) {
268
- this.opened && (this.preventIfEvent(e), this.focusIndex = this.$refs.menu.querySelectorAll(u).length - 1, this.focusAction());
310
+ this.opened && (this.preventIfEvent(e), this.focusIndex = this.$refs.menu.querySelectorAll(l).length - 1, this.focusAction());
269
311
  },
270
312
  preventIfEvent(e) {
271
313
  e && (e.preventDefault(), e.stopPropagation());
@@ -274,7 +316,10 @@ const u = ".focusable", L = {
274
316
  this.$emit("focus", e);
275
317
  },
276
318
  onBlur(e) {
277
- this.$emit("blur", e);
319
+ this.$emit("blur", e), this.actionsMenuSemanticType === "tooltip" && this.$refs.menu && this.$refs.menu.querySelectorAll(l).length === 0 && this.closeMenu(!1);
320
+ },
321
+ onClick(e) {
322
+ this.$emit("click", e);
278
323
  }
279
324
  },
280
325
  /**
@@ -283,56 +328,63 @@ const u = ".focusable", L = {
283
328
  * @return {object|undefined} The created VNode
284
329
  */
285
330
  render() {
286
- const e = [], n = (t, o) => {
287
- t.forEach((c) => {
288
- if (this.isAction(c)) {
289
- o.push(c);
331
+ var S, T;
332
+ const e = [], i = (t, o) => {
333
+ t.forEach((r) => {
334
+ if (this.isAction(r)) {
335
+ o.push(r);
290
336
  return;
291
337
  }
292
- c.type === i.Fragment && n(c.children, o);
338
+ r.type === n.Fragment && i(r.children, o);
293
339
  });
294
340
  };
295
- n(this.$slots.default?.(), e);
296
- const s = (t) => t?.type?.name, A = ["NcActionButton", "NcActionButtonGroup", "NcActionCheckbox", "NcActionRadio"], l = ["NcActionInput", "NcActionTextEditable"], x = ["NcActionLink", "NcActionRouter"], h = e.some((t) => l.includes(s(t))), g = e.some((t) => A.includes(s(t))), B = e.some((t) => x.includes(s(t)));
297
- this.isSemanticMenu = g && !h, this.isSemanticNavigation = B && !g && !h, this.isSemanticPopoverLike = !this.isSemanticMenu && !this.isSemanticNavigation;
298
- const p = this.isSemanticMenu ? "menu" : h ? "dialog" : "true";
299
- let r = e.filter(this.isValidSingleAction);
300
- if (this.forceMenu && r.length > 0 && this.inline > 0 && (i.warn("Specifying forceMenu will ignore any inline actions rendering."), r = []), e.length === 0)
341
+ if (i((T = (S = this.$slots).default) == null ? void 0 : T.call(S), e), e.length === 0)
301
342
  return;
302
- const I = (t) => {
303
- const o = t?.props?.icon, c = t?.children?.icon?.()?.[0] ?? (this.isIconUrl(o) ? i.h("img", { class: "action-item__menutoggle__icon", src: o, alt: "" }) : i.h("span", { class: ["icon", o] })), f = t?.children?.default?.()?.[0]?.children?.trim(), S = this.forceName ? f : "";
304
- let m = t?.props?.title;
305
- this.forceName || m || (m = f);
306
- const a = { ...t?.props ?? {} }, $ = ["submit", "reset"].includes(a.type) ? a.modelValue : "button";
307
- return delete a.modelValue, delete a.type, i.h(
308
- d.NcButton,
309
- i.mergeProps(
310
- a,
343
+ let s = e.filter(this.isValidSingleAction);
344
+ this.forceMenu && s.length > 0 && this.inline > 0 && (n.warn("Specifying forceMenu will ignore any inline actions rendering."), s = []);
345
+ const d = s.slice(0, this.inline), c = e.filter((t) => !d.includes(t)), D = ["NcActionButton", "NcActionButtonGroup", "NcActionCheckbox", "NcActionRadio"], O = ["NcActionInput", "NcActionTextEditable"], U = ["NcActionLink", "NcActionRouter"], V = c.some((t) => O.includes(this.getActionName(t))), z = c.some((t) => D.includes(this.getActionName(t))), G = c.some((t) => U.includes(this.getActionName(t)));
346
+ V ? this.actionsMenuSemanticType = "dialog" : z ? this.actionsMenuSemanticType = "menu" : G ? this.actionsMenuSemanticType = "navigation" : e.filter((o) => this.getActionName(o).startsWith("NcAction")).length === e.length ? this.actionsMenuSemanticType = "tooltip" : this.actionsMenuSemanticType = "dialog";
347
+ const A = {
348
+ dialog: "dialog",
349
+ menu: "menu",
350
+ navigation: "true",
351
+ tooltip: "true"
352
+ }[this.actionsMenuSemanticType], I = (t) => {
353
+ var x, f, b, v, $, m, B, k, F, M, w, q, _, E, P, L, R;
354
+ const o = (x = t == null ? void 0 : t.props) == null ? void 0 : x.icon, r = ($ = (v = (b = (f = t == null ? void 0 : t.children) == null ? void 0 : f.icon) == null ? void 0 : b.call(f)) == null ? void 0 : v[0]) != null ? $ : this.isIconUrl(o) ? n.h("img", { class: "action-item__menutoggle__icon", src: o, alt: "" }) : n.h("span", { class: ["icon", o] }), a = (M = (F = (k = (B = (m = t == null ? void 0 : t.children) == null ? void 0 : m.default) == null ? void 0 : B.call(m)) == null ? void 0 : k[0]) == null ? void 0 : F.children) == null ? void 0 : M.trim(), p = this.forceName ? a : "";
355
+ let h = (w = t == null ? void 0 : t.props) == null ? void 0 : w.title;
356
+ this.forceName || h || (h = a);
357
+ const u = { ...(q = t == null ? void 0 : t.props) != null ? q : {} }, K = ["submit", "reset"].includes(u.type) ? u.modelValue : "button";
358
+ return delete u.modelValue, delete u.type, n.h(
359
+ y.NcButton,
360
+ n.mergeProps(
361
+ u,
311
362
  {
312
363
  class: "action-item action-item--single",
313
- "aria-label": t?.props?.["aria-label"] || f,
314
- title: m,
364
+ "aria-label": ((_ = t == null ? void 0 : t.props) == null ? void 0 : _["aria-label"]) || a,
365
+ title: h,
315
366
  // If it has a menuName, we use a secondary button
316
- type: this.type || (S ? "secondary" : "tertiary"),
317
- disabled: this.disabled || t?.props?.disabled,
318
- pressed: t?.props?.modelValue,
319
- nativeType: $,
367
+ type: this.type || (p ? "secondary" : "tertiary"),
368
+ disabled: this.disabled || ((E = t == null ? void 0 : t.props) == null ? void 0 : E.disabled),
369
+ pressed: (P = t == null ? void 0 : t.props) == null ? void 0 : P.modelValue,
370
+ nativeType: K,
320
371
  onFocus: this.onFocus,
321
372
  onBlur: this.onBlur,
322
373
  // forward any pressed state from NcButton just like NcActionButton does
323
- "onUpdate:pressed": t?.props?.["onUpdate:modelValue"] ?? (() => {
324
- })
374
+ "onUpdate:pressed": (R = (L = t == null ? void 0 : t.props) == null ? void 0 : L["onUpdate:modelValue"]) != null ? R : () => {
375
+ }
325
376
  }
326
377
  ),
327
378
  {
328
- default: () => S,
329
- icon: () => c
379
+ default: () => p,
380
+ icon: () => r
330
381
  }
331
382
  );
332
383
  }, N = (t) => {
333
- const o = d.isSlotPopulated(this.$slots.icon?.()) ? this.$slots.icon?.() : this.defaultIcon ? i.h("span", { class: ["icon", this.defaultIcon] }) : i.h(v.DotsHorizontal, { size: 20 });
334
- return i.h(
335
- b.NcPopover,
384
+ var r, a, p, h, u;
385
+ const o = y.isSlotPopulated((a = (r = this.$slots).icon) == null ? void 0 : a.call(r)) ? (h = (p = this.$slots).icon) == null ? void 0 : h.call(p) : this.defaultIcon ? n.h("span", { class: ["icon", this.defaultIcon] }) : n.h(C.DotsHorizontal, { size: 20 });
386
+ return n.h(
387
+ H.NcPopover,
336
388
  {
337
389
  ref: "popover",
338
390
  delay: 0,
@@ -343,17 +395,15 @@ const u = ".focusable", L = {
343
395
  container: this.container,
344
396
  ...this.manualOpen && { triggers: [] },
345
397
  popoverBaseClass: "action-item__popper",
346
- popupRole: p,
347
- // Menu and navigation should not have focus trap
348
- // Tab should close the menu and move focus to the next UI element
349
- setReturnFocus: this.isSemanticPopoverLike ? this.$refs.menuButton?.$el : null,
350
- focusTrap: this.isSemanticPopoverLike,
398
+ popupRole: A,
399
+ setReturnFocus: this.withFocusTrap ? (u = this.$refs.menuButton) == null ? void 0 : u.$el : null,
400
+ focusTrap: this.withFocusTrap,
351
401
  onShow: this.openMenu,
352
402
  onAfterShow: this.onOpen,
353
403
  onHide: this.closeMenu
354
404
  },
355
405
  {
356
- trigger: () => i.h(d.NcButton, {
406
+ trigger: () => n.h(y.NcButton, {
357
407
  class: "action-item__menutoggle",
358
408
  type: this.triggerBtnType,
359
409
  disabled: this.disabled,
@@ -362,12 +412,13 @@ const u = ".focusable", L = {
362
412
  "aria-label": this.menuName ? null : this.ariaLabel,
363
413
  "aria-controls": this.opened ? this.randomId : null,
364
414
  onFocus: this.onFocus,
365
- onBlur: this.onBlur
415
+ onBlur: this.onBlur,
416
+ onClick: this.onClick
366
417
  }, {
367
418
  icon: () => o,
368
419
  default: () => this.menuName
369
420
  }),
370
- default: () => i.h("div", {
421
+ default: () => n.h("div", {
371
422
  class: {
372
423
  open: this.opened
373
424
  },
@@ -376,10 +427,10 @@ const u = ".focusable", L = {
376
427
  onMousemove: this.onMouseFocusAction,
377
428
  ref: "menu"
378
429
  }, [
379
- i.h("ul", {
430
+ n.h("ul", {
380
431
  id: this.randomId,
381
432
  tabindex: "-1",
382
- role: p !== "true" ? p : void 0
433
+ role: A !== "true" ? A : void 0
383
434
  // TODO: allow to provide dialog aria-label
384
435
  }, [
385
436
  t
@@ -388,47 +439,41 @@ const u = ".focusable", L = {
388
439
  }
389
440
  );
390
441
  };
391
- if (e.length === 1 && r.length === 1 && !this.forceMenu)
392
- return I(r[0]);
393
- if (this.$nextTick(() => {
442
+ return e.length === 1 && s.length === 1 && !this.forceMenu ? I(e[0]) : (this.$nextTick(() => {
394
443
  this.opened && this.$refs.menu && (this.$refs.menu.querySelector("li.active") || []).length === 0 && this.focusFirstAction();
395
- }), r.length > 0 && this.inline > 0) {
396
- const t = r.slice(0, this.inline), o = e.filter((c) => !t.includes(c));
397
- return i.h(
398
- "div",
399
- {
400
- class: [
401
- "action-items",
402
- `action-item--${this.triggerBtnType}`
403
- ]
404
- },
405
- [
406
- // Render inline actions
407
- ...t.map(I),
408
- // render the rest within the popover menu
409
- o.length > 0 ? i.h(
410
- "div",
411
- {
412
- class: [
413
- "action-item",
414
- {
415
- "action-item--open": this.opened
416
- }
417
- ]
418
- },
419
- [
420
- N(o)
421
- ]
422
- ) : null
444
+ }), d.length > 0 && this.inline > 0 ? n.h(
445
+ "div",
446
+ {
447
+ class: [
448
+ "action-items",
449
+ "action-item--".concat(this.triggerBtnType)
423
450
  ]
424
- );
425
- }
426
- return i.h(
451
+ },
452
+ [
453
+ // Render inline actions
454
+ ...d.map(I),
455
+ // render the rest within the popover menu
456
+ c.length > 0 ? n.h(
457
+ "div",
458
+ {
459
+ class: [
460
+ "action-item",
461
+ {
462
+ "action-item--open": this.opened
463
+ }
464
+ ]
465
+ },
466
+ [
467
+ N(c)
468
+ ]
469
+ ) : null
470
+ ]
471
+ ) : n.h(
427
472
  "div",
428
473
  {
429
474
  class: [
430
475
  "action-item action-item--default-popover",
431
- `action-item--${this.triggerBtnType}`,
476
+ "action-item--".concat(this.triggerBtnType),
432
477
  {
433
478
  "action-item--open": this.opened
434
479
  }
@@ -437,7 +482,7 @@ const u = ".focusable", L = {
437
482
  [
438
483
  N(e)
439
484
  ]
440
- );
485
+ ));
441
486
  }
442
- }, P = /* @__PURE__ */ k._export_sfc(L, [["__scopeId", "data-v-00b334b3"]]);
443
- exports.NcActions = P;
487
+ }, X = /* @__PURE__ */ J._export_sfc(Q, [["__scopeId", "data-v-c06d6143"]]);
488
+ exports.NcActions = X;