@nextcloud/vue 8.34.0 → 8.35.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 +30 -2
  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/NcActionInput.cjs +1 -1
  7. package/dist/Components/NcActionInput.mjs +1 -1
  8. package/dist/Components/NcActionTextEditable.cjs +1 -1
  9. package/dist/Components/NcActionTextEditable.mjs +1 -1
  10. package/dist/Components/NcActions.cjs +1 -1
  11. package/dist/Components/NcActions.mjs +1 -1
  12. package/dist/Components/NcAppContent.cjs +1 -1
  13. package/dist/Components/NcAppContent.mjs +1 -1
  14. package/dist/Components/NcAppNavigation.cjs +1 -1
  15. package/dist/Components/NcAppNavigation.mjs +1 -1
  16. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  17. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  18. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  19. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  20. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  21. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  22. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  23. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  24. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  25. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  26. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  27. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  28. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  29. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  30. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  31. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  32. package/dist/Components/NcAppSettingsSection.cjs +1 -1
  33. package/dist/Components/NcAppSettingsSection.mjs +1 -1
  34. package/dist/Components/NcAppSettingsSectionShortcuts.cjs +1 -1
  35. package/dist/Components/NcAppSettingsSectionShortcuts.mjs +1 -1
  36. package/dist/Components/NcAppSettingsShortcutsSection.cjs +1 -1
  37. package/dist/Components/NcAppSettingsShortcutsSection.mjs +1 -1
  38. package/dist/Components/NcAppSidebar.cjs +1 -1
  39. package/dist/Components/NcAppSidebar.mjs +1 -1
  40. package/dist/Components/NcAssistantButton.cjs +1 -1
  41. package/dist/Components/NcAssistantButton.mjs +1 -1
  42. package/dist/Components/NcAssistantIcon.cjs +1 -1
  43. package/dist/Components/NcAssistantIcon.mjs +1 -1
  44. package/dist/Components/NcAvatar.cjs +1 -1
  45. package/dist/Components/NcAvatar.mjs +1 -1
  46. package/dist/Components/NcBreadcrumb.cjs +1 -1
  47. package/dist/Components/NcBreadcrumb.mjs +1 -1
  48. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  49. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  50. package/dist/Components/NcButton.cjs +1 -1
  51. package/dist/Components/NcButton.mjs +1 -1
  52. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  53. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  54. package/dist/Components/NcChip.cjs +7 -7
  55. package/dist/Components/NcChip.cjs.map +1 -1
  56. package/dist/Components/NcChip.mjs +7 -7
  57. package/dist/Components/NcChip.mjs.map +1 -1
  58. package/dist/Components/NcCollectionList.cjs +1 -1
  59. package/dist/Components/NcCollectionList.mjs +1 -1
  60. package/dist/Components/NcColorPicker.cjs +1 -1
  61. package/dist/Components/NcColorPicker.mjs +1 -1
  62. package/dist/Components/NcContent.cjs +1 -1
  63. package/dist/Components/NcContent.mjs +1 -1
  64. package/dist/Components/NcDashboardWidget.cjs +1 -1
  65. package/dist/Components/NcDashboardWidget.mjs +1 -1
  66. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  67. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  68. package/dist/Components/NcDateTimePicker.cjs +5 -5
  69. package/dist/Components/NcDateTimePicker.mjs +5 -5
  70. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  71. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  72. package/dist/Components/NcDialog.cjs +1 -1
  73. package/dist/Components/NcDialog.mjs +1 -1
  74. package/dist/Components/NcDialogButton.cjs +1 -1
  75. package/dist/Components/NcDialogButton.mjs +1 -1
  76. package/dist/Components/NcEmojiPicker.cjs +1 -1
  77. package/dist/Components/NcEmojiPicker.mjs +1 -1
  78. package/dist/Components/NcFormBox.cjs +1 -1
  79. package/dist/Components/NcFormBox.mjs +1 -1
  80. package/dist/Components/NcFormBoxButton.cjs +1 -1
  81. package/dist/Components/NcFormBoxButton.mjs +1 -1
  82. package/dist/Components/NcFormBoxCopyButton.cjs +1 -1
  83. package/dist/Components/NcFormBoxCopyButton.mjs +1 -1
  84. package/dist/Components/NcFormBoxSwitch.cjs +1 -1
  85. package/dist/Components/NcFormBoxSwitch.mjs +1 -1
  86. package/dist/Components/NcHeaderButton.cjs +1 -1
  87. package/dist/Components/NcHeaderButton.mjs +1 -1
  88. package/dist/Components/NcHeaderMenu.cjs +1 -1
  89. package/dist/Components/NcHeaderMenu.mjs +1 -1
  90. package/dist/Components/NcHotkey.cjs +1 -1
  91. package/dist/Components/NcHotkey.mjs +1 -1
  92. package/dist/Components/NcHotkeyList.cjs +1 -1
  93. package/dist/Components/NcHotkeyList.mjs +1 -1
  94. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  95. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  96. package/dist/Components/NcInputField.cjs +1 -1
  97. package/dist/Components/NcInputField.mjs +1 -1
  98. package/dist/Components/NcKbd.cjs +1 -1
  99. package/dist/Components/NcKbd.mjs +1 -1
  100. package/dist/Components/NcListItem.cjs +1 -1
  101. package/dist/Components/NcListItem.mjs +1 -1
  102. package/dist/Components/NcListItemIcon.cjs +1 -1
  103. package/dist/Components/NcListItemIcon.mjs +1 -1
  104. package/dist/Components/NcModal.cjs +9 -9
  105. package/dist/Components/NcModal.cjs.map +1 -1
  106. package/dist/Components/NcModal.mjs +9 -9
  107. package/dist/Components/NcModal.mjs.map +1 -1
  108. package/dist/Components/NcNoteCard.cjs +2 -2
  109. package/dist/Components/NcNoteCard.cjs.map +1 -1
  110. package/dist/Components/NcNoteCard.mjs +2 -2
  111. package/dist/Components/NcNoteCard.mjs.map +1 -1
  112. package/dist/Components/NcPasswordField.cjs +1 -1
  113. package/dist/Components/NcPasswordField.mjs +1 -1
  114. package/dist/Components/NcPopover.cjs +1 -1
  115. package/dist/Components/NcPopover.mjs +1 -1
  116. package/dist/Components/NcRadioGroup.cjs +1 -1
  117. package/dist/Components/NcRadioGroup.mjs +1 -1
  118. package/dist/Components/NcRadioGroupButton.cjs +1 -1
  119. package/dist/Components/NcRadioGroupButton.mjs +1 -1
  120. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  121. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  122. package/dist/Components/NcRichContenteditable.cjs +1 -1
  123. package/dist/Components/NcRichContenteditable.mjs +1 -1
  124. package/dist/Components/NcRichText.cjs +2 -2
  125. package/dist/Components/NcRichText.mjs +3 -3
  126. package/dist/Components/NcSelect.cjs +1 -1
  127. package/dist/Components/NcSelect.mjs +1 -1
  128. package/dist/Components/NcSelectTags.cjs +1 -1
  129. package/dist/Components/NcSelectTags.mjs +1 -1
  130. package/dist/Components/NcSelectUsers.cjs +1 -1
  131. package/dist/Components/NcSelectUsers.mjs +1 -1
  132. package/dist/Components/NcSettingsInputText.cjs +1 -1
  133. package/dist/Components/NcSettingsInputText.mjs +1 -1
  134. package/dist/Components/NcSettingsSection.cjs +1 -1
  135. package/dist/Components/NcSettingsSection.mjs +1 -1
  136. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  137. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  138. package/dist/Components/NcTextArea.cjs +1 -1
  139. package/dist/Components/NcTextArea.mjs +1 -1
  140. package/dist/Components/NcTextField.cjs +1 -1
  141. package/dist/Components/NcTextField.mjs +1 -1
  142. package/dist/Components/NcThemeProvider.cjs +1 -1
  143. package/dist/Components/NcThemeProvider.mjs +1 -1
  144. package/dist/Components/NcTimezonePicker.cjs +1 -1
  145. package/dist/Components/NcTimezonePicker.mjs +1 -1
  146. package/dist/Components/NcUserBubble.cjs +1 -1
  147. package/dist/Components/NcUserBubble.mjs +1 -1
  148. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  149. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  150. package/dist/Composables/useFormatDateTime.cjs +1 -1
  151. package/dist/Composables/useFormatDateTime.mjs +1 -1
  152. package/dist/Composables/useHotKey.cjs +1 -1
  153. package/dist/Composables/useHotKey.cjs.map +1 -1
  154. package/dist/Composables/useHotKey.mjs +1 -1
  155. package/dist/Composables/useHotKey.mjs.map +1 -1
  156. package/dist/Composables/useIsDarkTheme.cjs +1 -1
  157. package/dist/Composables/useIsDarkTheme.mjs +1 -1
  158. package/dist/Functions/reference.cjs +1 -1
  159. package/dist/Functions/reference.mjs +1 -1
  160. package/dist/Functions/usernameToColor.cjs +1 -1
  161. package/dist/Functions/usernameToColor.mjs +1 -1
  162. package/dist/assets/{NcActionInput-BvPYSqDP.css → NcActionInput-B-c5cOfM.css} +65 -65
  163. package/dist/assets/{NcActions-Dfs69WGA.css → NcActions-CVw1SmBu.css} +11 -11
  164. package/dist/assets/{NcAppContent-Ri_iNfn5.css → NcAppContent-CY_qJiOL.css} +19 -19
  165. package/dist/assets/{NcAppNavigation-Bg4Oe7WC.css → NcAppNavigation-Dbpqdigp.css} +12 -12
  166. package/dist/assets/{NcAppNavigationItem-DSL2nLRf.css → NcAppNavigationItem-De04deJW.css} +36 -36
  167. package/dist/assets/{NcAppNavigationSearch-o97SOfOb.css → NcAppNavigationSearch-DWhTZbjb.css} +6 -6
  168. package/dist/assets/{NcAppSettingsDialog-TJ3aaiJI.css → NcAppSettingsDialog-p8V4OFR1.css} +39 -10
  169. package/dist/assets/{NcAppSidebar-Bd2cj1W-.css → NcAppSidebar-DujbJ9sN.css} +44 -44
  170. package/dist/assets/{NcAvatar-Cm4kVIfS.css → NcAvatar-CK9ipsjF.css} +24 -24
  171. package/dist/assets/{NcButton-uQUvp7DS.css → NcButton-n-KI8Bqb.css} +46 -46
  172. package/dist/assets/{NcCheckboxRadioSwitch-BcHKt-lf.css → NcCheckboxRadioSwitch-BACLOhMO.css} +13 -12
  173. package/dist/assets/{NcChip-ByvuZS2-.css → NcChip-DLfUzq07.css} +12 -12
  174. package/dist/assets/{NcDashboardWidget-DzJMoJ_B.css → NcDashboardWidget-CodY3evn.css} +12 -12
  175. package/dist/assets/{NcDateTimePicker-uS5WikmF.css → NcDateTimePicker-DScHHYaR.css} +8 -8
  176. package/dist/assets/{NcFormBoxItem-j2nGdOvd.css → NcFormBoxItem-BfXKp9xJ.css} +14 -14
  177. package/dist/assets/{NcFormBoxSwitch-BmyNQCbA.css → NcFormBoxSwitch-DScgbxtv.css} +2 -8
  178. package/dist/assets/{NcIconSvgWrapper-DJQ2Kuip.css → NcIconSvgWrapper-Cm1Dmlij.css} +7 -7
  179. package/dist/assets/NcIconToggleSwitch-Dr-tC5Ic.css +30 -0
  180. package/dist/assets/{NcInputField-CtUAgq1i.css → NcInputField-DDJ6W_1o.css} +84 -63
  181. package/dist/assets/{NcListItem-Czbi1F0Q.css → NcListItem-BX2N-9Dt.css} +44 -44
  182. package/dist/assets/{NcListItemIcon-Co3jVZZ8.css → NcListItemIcon-BDyiLlk2.css} +13 -13
  183. package/dist/assets/{NcModal-4ZPVUmG2.css → NcModal-CfHpabcF.css} +65 -65
  184. package/dist/assets/{NcNoteCard-Dz5-u2BY.css → NcNoteCard-CwNXZ4vV.css} +12 -12
  185. package/dist/assets/{NcPasswordField-mhXQk8aT.css → NcPasswordField-CiN_phAQ.css} +2 -2
  186. package/dist/assets/{NcRichText-Cr-HXxVi.css → NcRichText-C72XMOoz.css} +104 -87
  187. package/dist/assets/{NcSelect-B1pyRV6j.css → NcSelect-z8dCuG3q.css} +53 -6
  188. package/dist/assets/NcTextArea-Tr_3gutt.css +156 -0
  189. package/dist/chunks/{NcActionButton-BWM7FD0z.cjs → NcActionButton-jtEEPXw2.cjs} +3 -3
  190. package/dist/chunks/{NcActionButton-BWM7FD0z.cjs.map → NcActionButton-jtEEPXw2.cjs.map} +1 -1
  191. package/dist/chunks/{NcActionButton-DykQxmXJ.mjs → NcActionButton-w5F9kCHW.mjs} +3 -3
  192. package/dist/chunks/{NcActionButton-DykQxmXJ.mjs.map → NcActionButton-w5F9kCHW.mjs.map} +1 -1
  193. package/dist/chunks/{NcActionButtonGroup-Uol_nwut.mjs → NcActionButtonGroup-Dl_0bIqn.mjs} +2 -2
  194. package/dist/chunks/{NcActionButtonGroup-Uol_nwut.mjs.map → NcActionButtonGroup-Dl_0bIqn.mjs.map} +1 -1
  195. package/dist/chunks/{NcActionButtonGroup-Bqp4vRGy.cjs → NcActionButtonGroup-E-6SoAHx.cjs} +2 -2
  196. package/dist/chunks/{NcActionButtonGroup-Bqp4vRGy.cjs.map → NcActionButtonGroup-E-6SoAHx.cjs.map} +1 -1
  197. package/dist/chunks/{NcActionInput-BZGP5m4T.cjs → NcActionInput-CvTePip6.cjs} +7 -7
  198. package/dist/chunks/NcActionInput-CvTePip6.cjs.map +1 -0
  199. package/dist/chunks/{NcActionInput-pjhToEAw.mjs → NcActionInput-JVtIXzyo.mjs} +7 -7
  200. package/dist/chunks/NcActionInput-JVtIXzyo.mjs.map +1 -0
  201. package/dist/chunks/{NcActionTextEditable-JAg35gIb.cjs → NcActionTextEditable-CDkdl0jj.cjs} +3 -3
  202. package/dist/chunks/{NcActionTextEditable-JAg35gIb.cjs.map → NcActionTextEditable-CDkdl0jj.cjs.map} +1 -1
  203. package/dist/chunks/{NcActionTextEditable-Bnt0-S7Y.mjs → NcActionTextEditable-CfhlP5-E.mjs} +3 -3
  204. package/dist/chunks/{NcActionTextEditable-Bnt0-S7Y.mjs.map → NcActionTextEditable-CfhlP5-E.mjs.map} +1 -1
  205. package/dist/chunks/{NcActions-CpdT2y6O.mjs → NcActions-DXfOYf3w.mjs} +20 -7
  206. package/dist/chunks/NcActions-DXfOYf3w.mjs.map +1 -0
  207. package/dist/chunks/{NcActions-ykoV9rRj.cjs → NcActions-DhEGso92.cjs} +20 -7
  208. package/dist/chunks/NcActions-DhEGso92.cjs.map +1 -0
  209. package/dist/chunks/{NcAppContent-CABHzKrx.mjs → NcAppContent-D-MzdCDi.mjs} +7 -10
  210. package/dist/chunks/NcAppContent-D-MzdCDi.mjs.map +1 -0
  211. package/dist/chunks/{NcAppContent-D2h4xrfv.cjs → NcAppContent-cKOp687H.cjs} +7 -10
  212. package/dist/chunks/NcAppContent-cKOp687H.cjs.map +1 -0
  213. package/dist/chunks/{NcAppNavigation-BKgpMjQN.mjs → NcAppNavigation-BGc7ks7G.mjs} +4 -4
  214. package/dist/chunks/NcAppNavigation-BGc7ks7G.mjs.map +1 -0
  215. package/dist/chunks/{NcAppNavigation-D_pDitZ1.cjs → NcAppNavigation-Ce5BoTSG.cjs} +4 -4
  216. package/dist/chunks/NcAppNavigation-Ce5BoTSG.cjs.map +1 -0
  217. package/dist/chunks/{NcAppNavigationCaption-CO99po3G.cjs → NcAppNavigationCaption-C8SUVqGR.cjs} +2 -2
  218. package/dist/chunks/{NcAppNavigationCaption-CO99po3G.cjs.map → NcAppNavigationCaption-C8SUVqGR.cjs.map} +1 -1
  219. package/dist/chunks/{NcAppNavigationCaption-CcWZR8rN.mjs → NcAppNavigationCaption-oRJEZSTQ.mjs} +2 -2
  220. package/dist/chunks/{NcAppNavigationCaption-CcWZR8rN.mjs.map → NcAppNavigationCaption-oRJEZSTQ.mjs.map} +1 -1
  221. package/dist/chunks/{NcAppNavigationItem-Ca9CAehR.cjs → NcAppNavigationItem-DyMBscJd.cjs} +8 -8
  222. package/dist/chunks/NcAppNavigationItem-DyMBscJd.cjs.map +1 -0
  223. package/dist/chunks/{NcAppNavigationItem-BYWvtSRw.mjs → NcAppNavigationItem-zOxlduFj.mjs} +8 -8
  224. package/dist/chunks/NcAppNavigationItem-zOxlduFj.mjs.map +1 -0
  225. package/dist/chunks/{NcAppNavigationNew-BYvFykgl.cjs → NcAppNavigationNew-ByTNXL-2.cjs} +2 -2
  226. package/dist/chunks/{NcAppNavigationNew-BYvFykgl.cjs.map → NcAppNavigationNew-ByTNXL-2.cjs.map} +1 -1
  227. package/dist/chunks/{NcAppNavigationNew-BHzvRlVc.mjs → NcAppNavigationNew-t3Rkrwjh.mjs} +2 -2
  228. package/dist/chunks/{NcAppNavigationNew-BHzvRlVc.mjs.map → NcAppNavigationNew-t3Rkrwjh.mjs.map} +1 -1
  229. package/dist/chunks/{NcAppNavigationNewItem-CwhxGiXO.cjs → NcAppNavigationNewItem-BSsLh8nj.cjs} +2 -2
  230. package/dist/chunks/{NcAppNavigationNewItem-CwhxGiXO.cjs.map → NcAppNavigationNewItem-BSsLh8nj.cjs.map} +1 -1
  231. package/dist/chunks/{NcAppNavigationNewItem-DUNLtTs8.mjs → NcAppNavigationNewItem-D7Pn6vob.mjs} +2 -2
  232. package/dist/chunks/{NcAppNavigationNewItem-DUNLtTs8.mjs.map → NcAppNavigationNewItem-D7Pn6vob.mjs.map} +1 -1
  233. package/dist/chunks/{NcAppNavigationSearch-Ci8jz_C2.mjs → NcAppNavigationSearch-BgivVWlR.mjs} +5 -5
  234. package/dist/chunks/NcAppNavigationSearch-BgivVWlR.mjs.map +1 -0
  235. package/dist/chunks/{NcAppNavigationSearch-BC3LfUdL.cjs → NcAppNavigationSearch-DC2ybadu.cjs} +5 -5
  236. package/dist/chunks/NcAppNavigationSearch-DC2ybadu.cjs.map +1 -0
  237. package/dist/chunks/{NcAppNavigationSettings-B29zrNPr.mjs → NcAppNavigationSettings-D5-V4TIs.mjs} +5 -5
  238. package/dist/chunks/{NcAppNavigationSettings-B29zrNPr.mjs.map → NcAppNavigationSettings-D5-V4TIs.mjs.map} +1 -1
  239. package/dist/chunks/{NcAppNavigationSettings-Dt15jIbU.cjs → NcAppNavigationSettings-J1GIZ9QS.cjs} +5 -5
  240. package/dist/chunks/{NcAppNavigationSettings-Dt15jIbU.cjs.map → NcAppNavigationSettings-J1GIZ9QS.cjs.map} +1 -1
  241. package/dist/chunks/{NcAppNavigationToggle-Bk99wJ65.cjs → NcAppNavigationToggle-C0Kc4R9v.cjs} +3 -3
  242. package/dist/chunks/{NcAppNavigationToggle-Bk99wJ65.cjs.map → NcAppNavigationToggle-C0Kc4R9v.cjs.map} +1 -1
  243. package/dist/chunks/{NcAppNavigationToggle-DtNWDe9v.mjs → NcAppNavigationToggle-phm-tyID.mjs} +3 -3
  244. package/dist/chunks/{NcAppNavigationToggle-DtNWDe9v.mjs.map → NcAppNavigationToggle-phm-tyID.mjs.map} +1 -1
  245. package/dist/chunks/{NcAppSettingsDialog-C1mtjsnj.cjs → NcAppSettingsDialog-BSxqwcZ4.cjs} +52 -13
  246. package/dist/chunks/NcAppSettingsDialog-BSxqwcZ4.cjs.map +1 -0
  247. package/dist/chunks/{NcAppSettingsDialog-CF-oMoP_.mjs → NcAppSettingsDialog-CjnPlzCs.mjs} +53 -14
  248. package/dist/chunks/NcAppSettingsDialog-CjnPlzCs.mjs.map +1 -0
  249. package/dist/chunks/{NcAppSettingsSection-Cq1VIzMR.mjs → NcAppSettingsSection-BjQllLEA.mjs} +2 -2
  250. package/dist/chunks/{NcAppSettingsSection-Cq1VIzMR.mjs.map → NcAppSettingsSection-BjQllLEA.mjs.map} +1 -1
  251. package/dist/chunks/{NcAppSettingsSection-Q5PB51ht.cjs → NcAppSettingsSection-CDLQ-AjK.cjs} +2 -2
  252. package/dist/chunks/{NcAppSettingsSection-Q5PB51ht.cjs.map → NcAppSettingsSection-CDLQ-AjK.cjs.map} +1 -1
  253. package/dist/chunks/{NcAppSettingsShortcutsSection-DG3FQlb5.cjs → NcAppSettingsShortcutsSection-B0WBkOo9.cjs} +4 -4
  254. package/dist/chunks/NcAppSettingsShortcutsSection-B0WBkOo9.cjs.map +1 -0
  255. package/dist/chunks/{NcAppSettingsShortcutsSection-C089rPL6.mjs → NcAppSettingsShortcutsSection-DzjowBeE.mjs} +4 -4
  256. package/dist/chunks/NcAppSettingsShortcutsSection-DzjowBeE.mjs.map +1 -0
  257. package/dist/chunks/{NcAppSidebar-DwLrcwGi.cjs → NcAppSidebar-BDz7d7NJ.cjs} +8 -8
  258. package/dist/chunks/NcAppSidebar-BDz7d7NJ.cjs.map +1 -0
  259. package/dist/chunks/{NcAppSidebar-D5IUeKjd.mjs → NcAppSidebar-CdSeLJD4.mjs} +8 -8
  260. package/dist/chunks/NcAppSidebar-CdSeLJD4.mjs.map +1 -0
  261. package/dist/chunks/{NcAssistantButton-lRXTGAwe.mjs → NcAssistantButton-CjP2aanh.mjs} +5 -5
  262. package/dist/chunks/{NcAssistantButton-lRXTGAwe.mjs.map → NcAssistantButton-CjP2aanh.mjs.map} +1 -1
  263. package/dist/chunks/{NcAssistantButton-DrYpawyR.cjs → NcAssistantButton-DQSwGT_7.cjs} +5 -5
  264. package/dist/chunks/{NcAssistantButton-DrYpawyR.cjs.map → NcAssistantButton-DQSwGT_7.cjs.map} +1 -1
  265. package/dist/chunks/{NcAssistantIcon-jHDGZ_Bd.cjs → NcAssistantIcon-Dn_unLGj.cjs} +2 -2
  266. package/dist/chunks/{NcAssistantIcon-jHDGZ_Bd.cjs.map → NcAssistantIcon-Dn_unLGj.cjs.map} +1 -1
  267. package/dist/chunks/{NcAssistantIcon-B9L1Ih5x.mjs → NcAssistantIcon-wlxNsdd7.mjs} +2 -2
  268. package/dist/chunks/{NcAssistantIcon-B9L1Ih5x.mjs.map → NcAssistantIcon-wlxNsdd7.mjs.map} +1 -1
  269. package/dist/chunks/{NcAvatar-D5nljVEA.mjs → NcAvatar-Cn98JTqK.mjs} +28 -24
  270. package/dist/chunks/NcAvatar-Cn98JTqK.mjs.map +1 -0
  271. package/dist/chunks/{NcAvatar-BXRgjNXy.cjs → NcAvatar-DTYINOTI.cjs} +28 -24
  272. package/dist/chunks/NcAvatar-DTYINOTI.cjs.map +1 -0
  273. package/dist/chunks/{NcBreadcrumb-DCq7akG2.cjs → NcBreadcrumb-CkmzyLa_.cjs} +3 -3
  274. package/dist/chunks/{NcBreadcrumb-DCq7akG2.cjs.map → NcBreadcrumb-CkmzyLa_.cjs.map} +1 -1
  275. package/dist/chunks/{NcBreadcrumb-BC6tmZfd.mjs → NcBreadcrumb-DB0OuwsV.mjs} +3 -3
  276. package/dist/chunks/{NcBreadcrumb-BC6tmZfd.mjs.map → NcBreadcrumb-DB0OuwsV.mjs.map} +1 -1
  277. package/dist/chunks/{NcBreadcrumbs-BPfsSByZ.mjs → NcBreadcrumbs-BizyuyGI.mjs} +4 -4
  278. package/dist/chunks/{NcBreadcrumbs-BPfsSByZ.mjs.map → NcBreadcrumbs-BizyuyGI.mjs.map} +1 -1
  279. package/dist/chunks/{NcBreadcrumbs-7dWiGWqj.cjs → NcBreadcrumbs-C4T9-I6M.cjs} +4 -4
  280. package/dist/chunks/{NcBreadcrumbs-7dWiGWqj.cjs.map → NcBreadcrumbs-C4T9-I6M.cjs.map} +1 -1
  281. package/dist/chunks/{NcButton-CJBZrdiL.cjs → NcButton-CuFElrFD.cjs} +3 -3
  282. package/dist/chunks/NcButton-CuFElrFD.cjs.map +1 -0
  283. package/dist/chunks/{NcButton-DUZTtFhr.mjs → NcButton-Dz2O6cSU.mjs} +3 -3
  284. package/dist/chunks/NcButton-Dz2O6cSU.mjs.map +1 -0
  285. package/dist/chunks/{NcCheckboxRadioSwitch-DAPHFb0L.mjs → NcCheckboxRadioSwitch-CgbTELjq.mjs} +37 -104
  286. package/dist/chunks/NcCheckboxRadioSwitch-CgbTELjq.mjs.map +1 -0
  287. package/dist/chunks/{NcCheckboxRadioSwitch-CC2UI0kG.cjs → NcCheckboxRadioSwitch-USANpRLI.cjs} +37 -104
  288. package/dist/chunks/NcCheckboxRadioSwitch-USANpRLI.cjs.map +1 -0
  289. package/dist/chunks/{NcCollectionList-DSugNziH.cjs → NcCollectionList-BjYItjGi.cjs} +6 -6
  290. package/dist/chunks/{NcCollectionList-DSugNziH.cjs.map → NcCollectionList-BjYItjGi.cjs.map} +1 -1
  291. package/dist/chunks/{NcCollectionList-B9weMM0Q.mjs → NcCollectionList-C7QmpJW9.mjs} +6 -6
  292. package/dist/chunks/{NcCollectionList-B9weMM0Q.mjs.map → NcCollectionList-C7QmpJW9.mjs.map} +1 -1
  293. package/dist/chunks/{NcColorPicker-Chrtrp3i.cjs → NcColorPicker-Chsy5lX_.cjs} +8 -8
  294. package/dist/chunks/{NcColorPicker-Chrtrp3i.cjs.map → NcColorPicker-Chsy5lX_.cjs.map} +1 -1
  295. package/dist/chunks/{NcColorPicker-DVkGUHxL.mjs → NcColorPicker-DnWT8i3g.mjs} +8 -8
  296. package/dist/chunks/{NcColorPicker-DVkGUHxL.mjs.map → NcColorPicker-DnWT8i3g.mjs.map} +1 -1
  297. package/dist/chunks/{NcContent-UoMpCfT3.cjs → NcContent-B0MLEwwX.cjs} +4 -4
  298. package/dist/chunks/{NcContent-UoMpCfT3.cjs.map → NcContent-B0MLEwwX.cjs.map} +1 -1
  299. package/dist/chunks/{NcContent-BPmE93Mq.mjs → NcContent-RSHRX9Ei.mjs} +4 -4
  300. package/dist/chunks/{NcContent-BPmE93Mq.mjs.map → NcContent-RSHRX9Ei.mjs.map} +1 -1
  301. package/dist/chunks/{NcDashboardWidget-DpzjksBk.mjs → NcDashboardWidget-By1MRGQM.mjs} +6 -6
  302. package/dist/chunks/NcDashboardWidget-By1MRGQM.mjs.map +1 -0
  303. package/dist/chunks/{NcDashboardWidget-k5_NmYYZ.cjs → NcDashboardWidget-tPBonsAz.cjs} +6 -6
  304. package/dist/chunks/NcDashboardWidget-tPBonsAz.cjs.map +1 -0
  305. package/dist/chunks/{NcDashboardWidgetItem-DZ13sBtT.mjs → NcDashboardWidgetItem-D2CwvHeu.mjs} +4 -4
  306. package/dist/chunks/{NcDashboardWidgetItem-DZ13sBtT.mjs.map → NcDashboardWidgetItem-D2CwvHeu.mjs.map} +1 -1
  307. package/dist/chunks/{NcDashboardWidgetItem-CeA1eF60.cjs → NcDashboardWidgetItem-Zb-33B99.cjs} +4 -4
  308. package/dist/chunks/{NcDashboardWidgetItem-CeA1eF60.cjs.map → NcDashboardWidgetItem-Zb-33B99.cjs.map} +1 -1
  309. package/dist/chunks/{NcDialog-DUTlKw4_.cjs → NcDialog-ChYi3mdd.cjs} +2 -2
  310. package/dist/chunks/{NcDialog-DUTlKw4_.cjs.map → NcDialog-ChYi3mdd.cjs.map} +1 -1
  311. package/dist/chunks/{NcDialog-DDuqQeT-.mjs → NcDialog-DDWiv6ap.mjs} +2 -2
  312. package/dist/chunks/{NcDialog-DDuqQeT-.mjs.map → NcDialog-DDWiv6ap.mjs.map} +1 -1
  313. package/dist/chunks/{NcDialogButton-DyWjiA1e.cjs → NcDialogButton-DljI3tNu.cjs} +4 -4
  314. package/dist/chunks/{NcDialogButton-DyWjiA1e.cjs.map → NcDialogButton-DljI3tNu.cjs.map} +1 -1
  315. package/dist/chunks/{NcDialogButton-P7Ryycqk.mjs → NcDialogButton-lR5aJG_-.mjs} +4 -4
  316. package/dist/chunks/{NcDialogButton-P7Ryycqk.mjs.map → NcDialogButton-lR5aJG_-.mjs.map} +1 -1
  317. package/dist/chunks/{NcEmojiPicker-D8d4iUUn.cjs → NcEmojiPicker-C0AfqJC9.cjs} +7 -7
  318. package/dist/chunks/{NcEmojiPicker-D8d4iUUn.cjs.map → NcEmojiPicker-C0AfqJC9.cjs.map} +1 -1
  319. package/dist/chunks/{NcEmojiPicker-CpU37Ozq.mjs → NcEmojiPicker-DclGvRU_.mjs} +7 -7
  320. package/dist/chunks/{NcEmojiPicker-CpU37Ozq.mjs.map → NcEmojiPicker-DclGvRU_.mjs.map} +1 -1
  321. package/dist/chunks/{NcFormBox-DL435pbV.mjs → NcFormBox-C4wu4RJ_.mjs} +2 -2
  322. package/dist/chunks/{NcFormBox-DL435pbV.mjs.map → NcFormBox-C4wu4RJ_.mjs.map} +1 -1
  323. package/dist/chunks/{NcFormBox-_JqkU_xn.cjs → NcFormBox-DjrN-K4Q.cjs} +2 -2
  324. package/dist/chunks/{NcFormBox-_JqkU_xn.cjs.map → NcFormBox-DjrN-K4Q.cjs.map} +1 -1
  325. package/dist/chunks/{NcFormBoxButton-DN0-J4yN.mjs → NcFormBoxButton-4xiKHRJH.mjs} +4 -4
  326. package/dist/chunks/{NcFormBoxButton-DN0-J4yN.mjs.map → NcFormBoxButton-4xiKHRJH.mjs.map} +1 -1
  327. package/dist/chunks/{NcFormBoxButton-D-s5mL0c.cjs → NcFormBoxButton-WatYqw6i.cjs} +4 -4
  328. package/dist/chunks/{NcFormBoxButton-D-s5mL0c.cjs.map → NcFormBoxButton-WatYqw6i.cjs.map} +1 -1
  329. package/dist/chunks/{NcFormBoxCopyButton-Dwrfiovz.mjs → NcFormBoxCopyButton-AeYq9iKM.mjs} +9 -39
  330. package/dist/chunks/NcFormBoxCopyButton-AeYq9iKM.mjs.map +1 -0
  331. package/dist/chunks/{NcFormBoxCopyButton-CTHelPkb.cjs → NcFormBoxCopyButton-VM720MPU.cjs} +7 -37
  332. package/dist/chunks/NcFormBoxCopyButton-VM720MPU.cjs.map +1 -0
  333. package/dist/chunks/{NcFormBoxItem-CtrbGjnv.cjs → NcFormBoxItem-CK0Zakr1.cjs} +11 -11
  334. package/dist/chunks/{NcFormBoxItem-CtrbGjnv.cjs.map → NcFormBoxItem-CK0Zakr1.cjs.map} +1 -1
  335. package/dist/chunks/{NcFormBoxItem-DPBm3ZbJ.mjs → NcFormBoxItem-DJZrmlTP.mjs} +11 -11
  336. package/dist/chunks/{NcFormBoxItem-DPBm3ZbJ.mjs.map → NcFormBoxItem-DJZrmlTP.mjs.map} +1 -1
  337. package/dist/chunks/{NcFormBoxSwitch-CM3WaFkA.cjs → NcFormBoxSwitch-DGAjBKdo.cjs} +10 -13
  338. package/dist/chunks/NcFormBoxSwitch-DGAjBKdo.cjs.map +1 -0
  339. package/dist/chunks/{NcFormBoxSwitch-aOCNeI-K.mjs → NcFormBoxSwitch-Dq5JvIem.mjs} +10 -13
  340. package/dist/chunks/NcFormBoxSwitch-Dq5JvIem.mjs.map +1 -0
  341. package/dist/chunks/{NcHeaderButton-6kuTEKbj.cjs → NcHeaderButton-CpWQbzfF.cjs} +2 -2
  342. package/dist/chunks/{NcHeaderButton-6kuTEKbj.cjs.map → NcHeaderButton-CpWQbzfF.cjs.map} +1 -1
  343. package/dist/chunks/{NcHeaderButton-TgPjfPtk.mjs → NcHeaderButton-Dvo1_Bwc.mjs} +2 -2
  344. package/dist/chunks/{NcHeaderButton-TgPjfPtk.mjs.map → NcHeaderButton-Dvo1_Bwc.mjs.map} +1 -1
  345. package/dist/chunks/{NcHeaderMenu-CwjH_j0c.cjs → NcHeaderMenu-Cmu-m_aM.cjs} +2 -2
  346. package/dist/chunks/{NcHeaderMenu-CwjH_j0c.cjs.map → NcHeaderMenu-Cmu-m_aM.cjs.map} +1 -1
  347. package/dist/chunks/{NcHeaderMenu-Hk8OTuma.mjs → NcHeaderMenu-Cuh8ay0F.mjs} +2 -2
  348. package/dist/chunks/{NcHeaderMenu-Hk8OTuma.mjs.map → NcHeaderMenu-Cuh8ay0F.mjs.map} +1 -1
  349. package/dist/chunks/{NcHotkey-BMemJWSu.cjs → NcHotkey-B9IBly2F.cjs} +2 -2
  350. package/dist/chunks/{NcHotkey-BMemJWSu.cjs.map → NcHotkey-B9IBly2F.cjs.map} +1 -1
  351. package/dist/chunks/{NcHotkey-CzuMmIU9.mjs → NcHotkey-COqzksbg.mjs} +2 -2
  352. package/dist/chunks/{NcHotkey-CzuMmIU9.mjs.map → NcHotkey-COqzksbg.mjs.map} +1 -1
  353. package/dist/chunks/{NcHotkeyList-DAJkKYNu.cjs → NcHotkeyList-D5QS6zXI.cjs} +3 -3
  354. package/dist/chunks/{NcHotkeyList-DAJkKYNu.cjs.map → NcHotkeyList-D5QS6zXI.cjs.map} +1 -1
  355. package/dist/chunks/{NcHotkeyList-Bm25Odp7.mjs → NcHotkeyList-D9tKXM-e.mjs} +3 -3
  356. package/dist/chunks/{NcHotkeyList-Bm25Odp7.mjs.map → NcHotkeyList-D9tKXM-e.mjs.map} +1 -1
  357. package/dist/chunks/{NcIconSvgWrapper-D-aKMbf3.cjs → NcIconSvgWrapper-Bbl4kXZI.cjs} +4 -4
  358. package/dist/chunks/NcIconSvgWrapper-Bbl4kXZI.cjs.map +1 -0
  359. package/dist/chunks/{NcIconSvgWrapper-BreCg8pX.mjs → NcIconSvgWrapper-Bui9PhAS.mjs} +4 -4
  360. package/dist/chunks/NcIconSvgWrapper-Bui9PhAS.mjs.map +1 -0
  361. package/dist/chunks/NcIconToggleSwitch-C2VDKTSP.mjs +62 -0
  362. package/dist/chunks/NcIconToggleSwitch-C2VDKTSP.mjs.map +1 -0
  363. package/dist/chunks/NcIconToggleSwitch-Cnov67_2.cjs +61 -0
  364. package/dist/chunks/NcIconToggleSwitch-Cnov67_2.cjs.map +1 -0
  365. package/dist/chunks/{NcInputConfirmCancel-vqVq5qKL.cjs → NcInputConfirmCancel-BAM7SUH2.cjs} +3 -3
  366. package/dist/chunks/{NcInputConfirmCancel-vqVq5qKL.cjs.map → NcInputConfirmCancel-BAM7SUH2.cjs.map} +1 -1
  367. package/dist/chunks/{NcInputConfirmCancel-CtdWwDCo.mjs → NcInputConfirmCancel-CrZiDaEw.mjs} +3 -3
  368. package/dist/chunks/{NcInputConfirmCancel-CtdWwDCo.mjs.map → NcInputConfirmCancel-CrZiDaEw.mjs.map} +1 -1
  369. package/dist/chunks/{NcInputField-DUtDY_1I.mjs → NcInputField-CZRuRX_c.mjs} +4 -4
  370. package/dist/chunks/NcInputField-CZRuRX_c.mjs.map +1 -0
  371. package/dist/chunks/{NcInputField-DAllLk3X.cjs → NcInputField-Dyvi0lw3.cjs} +4 -4
  372. package/dist/chunks/NcInputField-Dyvi0lw3.cjs.map +1 -0
  373. package/dist/chunks/{NcKbd-CfVfr9CW.mjs → NcKbd-CapL6_v1.mjs} +3 -3
  374. package/dist/chunks/{NcKbd-CfVfr9CW.mjs.map → NcKbd-CapL6_v1.mjs.map} +1 -1
  375. package/dist/chunks/{NcKbd-ewuqi-PO.cjs → NcKbd-DiOuj-R9.cjs} +3 -3
  376. package/dist/chunks/{NcKbd-ewuqi-PO.cjs.map → NcKbd-DiOuj-R9.cjs.map} +1 -1
  377. package/dist/chunks/{NcListItem-BommrKRB.mjs → NcListItem-BCsfLnyO.mjs} +4 -4
  378. package/dist/chunks/NcListItem-BCsfLnyO.mjs.map +1 -0
  379. package/dist/chunks/{NcListItem-DaRnEXN5.cjs → NcListItem-DO5dSzuL.cjs} +4 -4
  380. package/dist/chunks/NcListItem-DO5dSzuL.cjs.map +1 -0
  381. package/dist/chunks/{NcListItemIcon-DT7XMp5c.mjs → NcListItemIcon-D--9lMWR.mjs} +5 -5
  382. package/dist/chunks/NcListItemIcon-D--9lMWR.mjs.map +1 -0
  383. package/dist/chunks/{NcListItemIcon-2L14AYM5.cjs → NcListItemIcon-DShtuUOU.cjs} +5 -5
  384. package/dist/chunks/NcListItemIcon-DShtuUOU.cjs.map +1 -0
  385. package/dist/chunks/{NcPasswordField-B91RnUSh.mjs → NcPasswordField-Df0X4U3c.mjs} +7 -7
  386. package/dist/chunks/{NcPasswordField-BO0hL-T4.cjs.map → NcPasswordField-Df0X4U3c.mjs.map} +1 -1
  387. package/dist/chunks/{NcPasswordField-BO0hL-T4.cjs → NcPasswordField-btocqVR7.cjs} +7 -7
  388. package/dist/chunks/{NcPasswordField-B91RnUSh.mjs.map → NcPasswordField-btocqVR7.cjs.map} +1 -1
  389. package/dist/chunks/{NcPopover-BgUZkmjk.cjs → NcPopover-CD8IwZd2.cjs} +4 -4
  390. package/dist/chunks/NcPopover-CD8IwZd2.cjs.map +1 -0
  391. package/dist/chunks/{NcPopover-gxcAqoEb.mjs → NcPopover-DmPH_emH.mjs} +4 -4
  392. package/dist/chunks/NcPopover-DmPH_emH.mjs.map +1 -0
  393. package/dist/chunks/{NcRadioGroup-D0rC63G8.mjs → NcRadioGroup-C2Nibs7w.mjs} +3 -3
  394. package/dist/chunks/{NcRadioGroup-D0rC63G8.mjs.map → NcRadioGroup-C2Nibs7w.mjs.map} +1 -1
  395. package/dist/chunks/{NcRadioGroup-D59En1O3.cjs → NcRadioGroup-zZIcG3FY.cjs} +3 -3
  396. package/dist/chunks/{NcRadioGroup-D59En1O3.cjs.map → NcRadioGroup-zZIcG3FY.cjs.map} +1 -1
  397. package/dist/chunks/{NcRadioGroupButton-3Pu4Iqdf.mjs → NcRadioGroupButton-Bzd7AZ5F.mjs} +3 -3
  398. package/dist/chunks/{NcRadioGroupButton-3Pu4Iqdf.mjs.map → NcRadioGroupButton-Bzd7AZ5F.mjs.map} +1 -1
  399. package/dist/chunks/{NcRadioGroupButton-DoOf7cE1.cjs → NcRadioGroupButton-C_T_e6DC.cjs} +3 -3
  400. package/dist/chunks/{NcRadioGroupButton-DoOf7cE1.cjs.map → NcRadioGroupButton-C_T_e6DC.cjs.map} +1 -1
  401. package/dist/chunks/{NcRelatedResourcesPanel-D9-wo_xr.mjs → NcRelatedResourcesPanel-CZgZsBil.mjs} +4 -4
  402. package/dist/chunks/{NcRelatedResourcesPanel-D9-wo_xr.mjs.map → NcRelatedResourcesPanel-CZgZsBil.mjs.map} +1 -1
  403. package/dist/chunks/{NcRelatedResourcesPanel-CpXbcI3f.cjs → NcRelatedResourcesPanel-DDEAaN_S.cjs} +4 -4
  404. package/dist/chunks/{NcRelatedResourcesPanel-CpXbcI3f.cjs.map → NcRelatedResourcesPanel-DDEAaN_S.cjs.map} +1 -1
  405. package/dist/chunks/{NcRichContenteditable-BQNR-AeA.mjs → NcRichContenteditable-BitJ9Dpc.mjs} +8 -8
  406. package/dist/chunks/{NcRichContenteditable-BQNR-AeA.mjs.map → NcRichContenteditable-BitJ9Dpc.mjs.map} +1 -1
  407. package/dist/chunks/{NcRichContenteditable-DsWbC4ZK.cjs → NcRichContenteditable-Y5XIH11o.cjs} +8 -8
  408. package/dist/chunks/{NcRichContenteditable-DsWbC4ZK.cjs.map → NcRichContenteditable-Y5XIH11o.cjs.map} +1 -1
  409. package/dist/chunks/{NcRichText-BfK6Ybyf.mjs → NcRichText-BoBTuJn0.mjs} +56 -16
  410. package/dist/chunks/NcRichText-BoBTuJn0.mjs.map +1 -0
  411. package/dist/chunks/{NcRichText-CSFIswpI.cjs → NcRichText-C-Sj_7GQ.cjs} +55 -15
  412. package/dist/chunks/NcRichText-C-Sj_7GQ.cjs.map +1 -0
  413. package/dist/chunks/{NcSelect-CgLK3i8n.cjs → NcSelect-B04XrVzV.cjs} +10 -7
  414. package/dist/chunks/NcSelect-B04XrVzV.cjs.map +1 -0
  415. package/dist/chunks/{NcSelect-DTniMiUS.mjs → NcSelect-vNUKMdvr.mjs} +10 -7
  416. package/dist/chunks/NcSelect-vNUKMdvr.mjs.map +1 -0
  417. package/dist/chunks/{NcSelectTags-CktuFsK3.mjs → NcSelectTags-BHfgOy9u.mjs} +3 -3
  418. package/dist/chunks/{NcSelectTags-CktuFsK3.mjs.map → NcSelectTags-BHfgOy9u.mjs.map} +1 -1
  419. package/dist/chunks/{NcSelectTags-DRotL4u-.cjs → NcSelectTags-DeVGcDZr.cjs} +3 -3
  420. package/dist/chunks/{NcSelectTags-DRotL4u-.cjs.map → NcSelectTags-DeVGcDZr.cjs.map} +1 -1
  421. package/dist/chunks/{NcSelectUsers-RyUVUaWQ.mjs → NcSelectUsers--GvJjma1.mjs} +4 -4
  422. package/dist/chunks/{NcSelectUsers-RyUVUaWQ.mjs.map → NcSelectUsers--GvJjma1.mjs.map} +1 -1
  423. package/dist/chunks/{NcSelectUsers-Vy7qpE1b.cjs → NcSelectUsers-BSi-wQFH.cjs} +4 -4
  424. package/dist/chunks/{NcSelectUsers-Vy7qpE1b.cjs.map → NcSelectUsers-BSi-wQFH.cjs.map} +1 -1
  425. package/dist/chunks/{NcSettingsInputText-DJ1lsJ-4.cjs → NcSettingsInputText-BmZijZoF.cjs} +2 -2
  426. package/dist/chunks/{NcSettingsInputText-DJ1lsJ-4.cjs.map → NcSettingsInputText-BmZijZoF.cjs.map} +1 -1
  427. package/dist/chunks/{NcSettingsInputText-Dtr4Rn2b.mjs → NcSettingsInputText-DRgdOe4X.mjs} +2 -2
  428. package/dist/chunks/{NcSettingsInputText-Dtr4Rn2b.mjs.map → NcSettingsInputText-DRgdOe4X.mjs.map} +1 -1
  429. package/dist/chunks/{NcSettingsSection-BniKad1K.mjs → NcSettingsSection-10O9VU1F.mjs} +2 -2
  430. package/dist/chunks/{NcSettingsSection-BniKad1K.mjs.map → NcSettingsSection-10O9VU1F.mjs.map} +1 -1
  431. package/dist/chunks/{NcSettingsSection-DGoocV82.cjs → NcSettingsSection-Ck1k_G_E.cjs} +2 -2
  432. package/dist/chunks/{NcSettingsSection-DGoocV82.cjs.map → NcSettingsSection-Ck1k_G_E.cjs.map} +1 -1
  433. package/dist/chunks/{NcSettingsSelectGroup-DRp_BpNb.cjs → NcSettingsSelectGroup-Chz3fOJq.cjs} +3 -3
  434. package/dist/chunks/{NcSettingsSelectGroup-DRp_BpNb.cjs.map → NcSettingsSelectGroup-Chz3fOJq.cjs.map} +1 -1
  435. package/dist/chunks/{NcSettingsSelectGroup-D4_09H0F.mjs → NcSettingsSelectGroup-Dqh2jQi_.mjs} +3 -3
  436. package/dist/chunks/{NcSettingsSelectGroup-D4_09H0F.mjs.map → NcSettingsSelectGroup-Dqh2jQi_.mjs.map} +1 -1
  437. package/dist/chunks/{NcTextArea-DHmD6-6s.mjs → NcTextArea-CIgfjLRv.mjs} +3 -3
  438. package/dist/chunks/NcTextArea-CIgfjLRv.mjs.map +1 -0
  439. package/dist/chunks/{NcTextArea-DkVtHTpD.cjs → NcTextArea-Dd8ctlvG.cjs} +3 -3
  440. package/dist/chunks/NcTextArea-Dd8ctlvG.cjs.map +1 -0
  441. package/dist/chunks/{NcTextField-YOwuZ0wq.cjs → NcTextField-DiFoJmdM.cjs} +5 -5
  442. package/dist/chunks/NcTextField-DiFoJmdM.cjs.map +1 -0
  443. package/dist/chunks/{NcTextField-CfZknuqx.mjs → NcTextField-DyPJI6lW.mjs} +5 -5
  444. package/dist/chunks/NcTextField-DyPJI6lW.mjs.map +1 -0
  445. package/dist/chunks/{NcThemeProvider-25ResoIv.mjs → NcThemeProvider-BA_zMjAf.mjs} +2 -2
  446. package/dist/chunks/{NcThemeProvider-25ResoIv.mjs.map → NcThemeProvider-BA_zMjAf.mjs.map} +1 -1
  447. package/dist/chunks/{NcThemeProvider-BqGPTeWg.cjs → NcThemeProvider-BOKkNukO.cjs} +2 -2
  448. package/dist/chunks/{NcThemeProvider-BqGPTeWg.cjs.map → NcThemeProvider-BOKkNukO.cjs.map} +1 -1
  449. package/dist/chunks/{NcTimezonePicker-CuJzNsPZ.cjs → NcTimezonePicker-2dMBEhRN.cjs} +3 -3
  450. package/dist/chunks/{NcTimezonePicker-CuJzNsPZ.cjs.map → NcTimezonePicker-2dMBEhRN.cjs.map} +1 -1
  451. package/dist/chunks/{NcTimezonePicker-DgoDpdHS.mjs → NcTimezonePicker-Cirerde6.mjs} +3 -3
  452. package/dist/chunks/{NcTimezonePicker-DgoDpdHS.mjs.map → NcTimezonePicker-Cirerde6.mjs.map} +1 -1
  453. package/dist/chunks/{NcUserBubble-VLY4hn5K.mjs → NcUserBubble-DT9YWw5v.mjs} +3 -3
  454. package/dist/chunks/{NcUserBubble-VLY4hn5K.mjs.map → NcUserBubble-DT9YWw5v.mjs.map} +1 -1
  455. package/dist/chunks/{NcUserBubble-DwJgtybL.cjs → NcUserBubble-OTn2y2Qh.cjs} +3 -3
  456. package/dist/chunks/{NcUserBubble-DwJgtybL.cjs.map → NcUserBubble-OTn2y2Qh.cjs.map} +1 -1
  457. package/dist/chunks/{NcUserStatusIcon-D_kxQky5.mjs → NcUserStatusIcon-BNyLZCP1.mjs} +2 -2
  458. package/dist/chunks/{NcUserStatusIcon-D_kxQky5.mjs.map → NcUserStatusIcon-BNyLZCP1.mjs.map} +1 -1
  459. package/dist/chunks/{NcUserStatusIcon-DaYZfl2J.cjs → NcUserStatusIcon-CeS_I2cx.cjs} +2 -2
  460. package/dist/chunks/{NcUserStatusIcon-DaYZfl2J.cjs.map → NcUserStatusIcon-CeS_I2cx.cjs.map} +1 -1
  461. package/dist/chunks/{ScopeComponent-B59v3zbZ.cjs → ScopeComponent-CeSMfr4m.cjs} +2 -2
  462. package/dist/chunks/{ScopeComponent-B59v3zbZ.cjs.map → ScopeComponent-CeSMfr4m.cjs.map} +1 -1
  463. package/dist/chunks/{ScopeComponent-B4ZR5mwH.mjs → ScopeComponent-lxrc03tk.mjs} +2 -2
  464. package/dist/chunks/{ScopeComponent-B4ZR5mwH.mjs.map → ScopeComponent-lxrc03tk.mjs.map} +1 -1
  465. package/dist/chunks/_l10n-BcrsamRV.mjs +149 -0
  466. package/dist/chunks/_l10n-BcrsamRV.mjs.map +1 -0
  467. package/dist/chunks/_l10n-IBFNlYqh.cjs +148 -0
  468. package/dist/chunks/{_l10n-B4clLGwo.cjs.map → _l10n-IBFNlYqh.cjs.map} +1 -1
  469. package/dist/chunks/appName-D8lIU8jk.cjs +43 -0
  470. package/dist/chunks/appName-D8lIU8jk.cjs.map +1 -0
  471. package/dist/chunks/appName-DA23ARcC.mjs +44 -0
  472. package/dist/chunks/appName-DA23ARcC.mjs.map +1 -0
  473. package/dist/chunks/{colors-FtmuYvMf.cjs → colors-DSOGBWbF.cjs} +2 -2
  474. package/dist/chunks/{colors-FtmuYvMf.cjs.map → colors-DSOGBWbF.cjs.map} +1 -1
  475. package/dist/chunks/{colors-BwQwSDJi.mjs → colors-DqvwWwoq.mjs} +2 -2
  476. package/dist/chunks/{colors-BwQwSDJi.mjs.map → colors-DqvwWwoq.mjs.map} +1 -1
  477. package/dist/chunks/{constants-C_lA-vcp.cjs → constants-D-Hp78ng.cjs} +2 -2
  478. package/dist/chunks/{constants-C_lA-vcp.cjs.map → constants-D-Hp78ng.cjs.map} +1 -1
  479. package/dist/chunks/{constants-Bls5liKo.mjs → constants-wIEKSp2G.mjs} +2 -2
  480. package/dist/chunks/{constants-Bls5liKo.mjs.map → constants-wIEKSp2G.mjs.map} +1 -1
  481. package/dist/chunks/{mdi-CVXTs58m.cjs → mdi-BLgCcHlv.cjs} +1 -5
  482. package/dist/chunks/{mdi-CVXTs58m.cjs.map → mdi-BLgCcHlv.cjs.map} +1 -1
  483. package/dist/chunks/{mdi-C_j0YT8c.mjs → mdi-CNJ_YP0l.mjs} +11 -15
  484. package/dist/chunks/{mdi-C_j0YT8c.mjs.map → mdi-CNJ_YP0l.mjs.map} +1 -1
  485. package/dist/chunks/{referencePickerModal-CHpUHrDL.mjs → referencePickerModal-B8AfZsD_.mjs} +6 -6
  486. package/dist/chunks/{referencePickerModal-CHpUHrDL.mjs.map → referencePickerModal-B8AfZsD_.mjs.map} +1 -1
  487. package/dist/chunks/{referencePickerModal-CJNn-fvp.cjs → referencePickerModal-BfGuwv98.cjs} +6 -6
  488. package/dist/chunks/{referencePickerModal-CJNn-fvp.cjs.map → referencePickerModal-BfGuwv98.cjs.map} +1 -1
  489. package/dist/chunks/useAppSettingsDialog-C73Wx6iQ.mjs +12 -0
  490. package/dist/chunks/{useAppSettingsDialog-DbtEkXa4.mjs.map → useAppSettingsDialog-C73Wx6iQ.mjs.map} +1 -1
  491. package/dist/chunks/{useAppSettingsDialog-BfnyikIV.cjs → useAppSettingsDialog-DKwz-cwX.cjs} +3 -3
  492. package/dist/chunks/{useAppSettingsDialog-BfnyikIV.cjs.map → useAppSettingsDialog-DKwz-cwX.cjs.map} +1 -1
  493. package/dist/chunks/useCopy-B8YTkOhE.cjs +39 -0
  494. package/dist/chunks/useCopy-B8YTkOhE.cjs.map +1 -0
  495. package/dist/chunks/useCopy-BWnr0WjK.mjs +40 -0
  496. package/dist/chunks/useCopy-BWnr0WjK.mjs.map +1 -0
  497. package/dist/chunks/{useNcFormBox-DA9iwXWY.mjs → useNcFormBox-Djlh582y.mjs} +2 -2
  498. package/dist/chunks/{useNcFormBox-DA9iwXWY.mjs.map → useNcFormBox-Djlh582y.mjs.map} +1 -1
  499. package/dist/chunks/{useNcFormBox-DQeOEuQp.cjs → useNcFormBox-XowgPxpI.cjs} +2 -2
  500. package/dist/chunks/{useNcFormBox-DQeOEuQp.cjs.map → useNcFormBox-XowgPxpI.cjs.map} +1 -1
  501. package/dist/chunks/{useNcRadioGroup-DaZbEKbf.mjs → useNcRadioGroup-D6llQmAl.mjs} +2 -2
  502. package/dist/chunks/{useNcRadioGroup-DaZbEKbf.mjs.map → useNcRadioGroup-D6llQmAl.mjs.map} +1 -1
  503. package/dist/chunks/{useNcRadioGroup-Djvu7bo0.cjs → useNcRadioGroup-rLYISWKB.cjs} +2 -2
  504. package/dist/chunks/{useNcRadioGroup-Djvu7bo0.cjs.map → useNcRadioGroup-rLYISWKB.cjs.map} +1 -1
  505. package/dist/{components/NcFormBoxCopyButton → composables}/useCopy.d.ts +2 -0
  506. package/dist/index.cjs +64 -64
  507. package/dist/index.mjs +65 -65
  508. package/dist/utils/appName.d.ts +10 -0
  509. package/dist/utils/utils.d.ts +10 -0
  510. package/package.json +19 -19
  511. package/dist/assets/NcTextArea-B6zS3CRN.css +0 -136
  512. package/dist/chunks/NcActionInput-BZGP5m4T.cjs.map +0 -1
  513. package/dist/chunks/NcActionInput-pjhToEAw.mjs.map +0 -1
  514. package/dist/chunks/NcActions-CpdT2y6O.mjs.map +0 -1
  515. package/dist/chunks/NcActions-ykoV9rRj.cjs.map +0 -1
  516. package/dist/chunks/NcAppContent-CABHzKrx.mjs.map +0 -1
  517. package/dist/chunks/NcAppContent-D2h4xrfv.cjs.map +0 -1
  518. package/dist/chunks/NcAppNavigation-BKgpMjQN.mjs.map +0 -1
  519. package/dist/chunks/NcAppNavigation-D_pDitZ1.cjs.map +0 -1
  520. package/dist/chunks/NcAppNavigationItem-BYWvtSRw.mjs.map +0 -1
  521. package/dist/chunks/NcAppNavigationItem-Ca9CAehR.cjs.map +0 -1
  522. package/dist/chunks/NcAppNavigationSearch-BC3LfUdL.cjs.map +0 -1
  523. package/dist/chunks/NcAppNavigationSearch-Ci8jz_C2.mjs.map +0 -1
  524. package/dist/chunks/NcAppSettingsDialog-C1mtjsnj.cjs.map +0 -1
  525. package/dist/chunks/NcAppSettingsDialog-CF-oMoP_.mjs.map +0 -1
  526. package/dist/chunks/NcAppSettingsShortcutsSection-C089rPL6.mjs.map +0 -1
  527. package/dist/chunks/NcAppSettingsShortcutsSection-DG3FQlb5.cjs.map +0 -1
  528. package/dist/chunks/NcAppSidebar-D5IUeKjd.mjs.map +0 -1
  529. package/dist/chunks/NcAppSidebar-DwLrcwGi.cjs.map +0 -1
  530. package/dist/chunks/NcAvatar-BXRgjNXy.cjs.map +0 -1
  531. package/dist/chunks/NcAvatar-D5nljVEA.mjs.map +0 -1
  532. package/dist/chunks/NcButton-CJBZrdiL.cjs.map +0 -1
  533. package/dist/chunks/NcButton-DUZTtFhr.mjs.map +0 -1
  534. package/dist/chunks/NcCheckboxRadioSwitch-CC2UI0kG.cjs.map +0 -1
  535. package/dist/chunks/NcCheckboxRadioSwitch-DAPHFb0L.mjs.map +0 -1
  536. package/dist/chunks/NcDashboardWidget-DpzjksBk.mjs.map +0 -1
  537. package/dist/chunks/NcDashboardWidget-k5_NmYYZ.cjs.map +0 -1
  538. package/dist/chunks/NcFormBoxCopyButton-CTHelPkb.cjs.map +0 -1
  539. package/dist/chunks/NcFormBoxCopyButton-Dwrfiovz.mjs.map +0 -1
  540. package/dist/chunks/NcFormBoxSwitch-CM3WaFkA.cjs.map +0 -1
  541. package/dist/chunks/NcFormBoxSwitch-aOCNeI-K.mjs.map +0 -1
  542. package/dist/chunks/NcIconSvgWrapper-BreCg8pX.mjs.map +0 -1
  543. package/dist/chunks/NcIconSvgWrapper-D-aKMbf3.cjs.map +0 -1
  544. package/dist/chunks/NcInputField-DAllLk3X.cjs.map +0 -1
  545. package/dist/chunks/NcInputField-DUtDY_1I.mjs.map +0 -1
  546. package/dist/chunks/NcListItem-BommrKRB.mjs.map +0 -1
  547. package/dist/chunks/NcListItem-DaRnEXN5.cjs.map +0 -1
  548. package/dist/chunks/NcListItemIcon-2L14AYM5.cjs.map +0 -1
  549. package/dist/chunks/NcListItemIcon-DT7XMp5c.mjs.map +0 -1
  550. package/dist/chunks/NcPopover-BgUZkmjk.cjs.map +0 -1
  551. package/dist/chunks/NcPopover-gxcAqoEb.mjs.map +0 -1
  552. package/dist/chunks/NcRichText-BfK6Ybyf.mjs.map +0 -1
  553. package/dist/chunks/NcRichText-CSFIswpI.cjs.map +0 -1
  554. package/dist/chunks/NcSelect-CgLK3i8n.cjs.map +0 -1
  555. package/dist/chunks/NcSelect-DTniMiUS.mjs.map +0 -1
  556. package/dist/chunks/NcTextArea-DHmD6-6s.mjs.map +0 -1
  557. package/dist/chunks/NcTextArea-DkVtHTpD.cjs.map +0 -1
  558. package/dist/chunks/NcTextField-CfZknuqx.mjs.map +0 -1
  559. package/dist/chunks/NcTextField-YOwuZ0wq.cjs.map +0 -1
  560. package/dist/chunks/_l10n-B4clLGwo.cjs +0 -138
  561. package/dist/chunks/_l10n-BmKQgz1z.mjs +0 -139
  562. package/dist/chunks/_l10n-BmKQgz1z.mjs.map +0 -1
  563. package/dist/chunks/useAppSettingsDialog-DbtEkXa4.mjs +0 -12
@@ -1,9 +1,8 @@
1
- import '../assets/NcFormBoxSwitch-BmyNQCbA.css';
1
+ import '../assets/NcFormBoxSwitch-DScgbxtv.css';
2
2
  import { defineComponent, watch } from "vue";
3
- import { f as mdiToggleSwitchOff, g as mdiToggleSwitch } from "./mdi-C_j0YT8c.mjs";
4
3
  import { useVModel } from "@vueuse/core";
5
- import { N as NcFormBoxItem } from "./NcFormBoxItem-DPBm3ZbJ.mjs";
6
- import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BreCg8pX.mjs";
4
+ import { N as NcFormBoxItem } from "./NcFormBoxItem-DJZrmlTP.mjs";
5
+ import { N as NcIconToggleSwitch } from "./NcIconToggleSwitch-C2VDKTSP.mjs";
7
6
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
8
7
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
9
8
  const __default__ = {
@@ -24,7 +23,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
23
  emits: ["enable", "disable", "update:modelValue"],
25
24
  setup(__props, { emit }) {
26
25
  const props = __props;
27
- const model = useVModel(props, "modelValue", emit);
26
+ const model = useVModel(props, "modelValue", emit, { passive: true });
28
27
  const inputId = createElementId();
29
28
  watch(model, () => {
30
29
  if (model.value) {
@@ -37,15 +36,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
36
  // Watching it synchronously to emit the enable/disable events together with the update:modelValue event
38
37
  flush: "sync"
39
38
  });
40
- return { __sfc: true, props, emit, model, inputId, mdiToggleSwitch, mdiToggleSwitchOff, NcFormBoxItem, NcIconSvgWrapper };
39
+ return { __sfc: true, props, emit, model, inputId, NcFormBoxItem, NcIconToggleSwitch };
41
40
  }
42
41
  });
43
- const formBoxSwitch__input = "_formBoxSwitch__input_hjv1a_20";
44
- const formBoxSwitch__icon = "_formBoxSwitch__icon_hjv1a_34";
42
+ const formBoxSwitch__input = "_formBoxSwitch__input_njiy8_20";
45
43
  const style0 = {
46
- "material-design-icon": "_material-design-icon_hjv1a_12",
47
- formBoxSwitch__input,
48
- formBoxSwitch__icon
44
+ "material-design-icon": "_material-design-icon_njiy8_12",
45
+ formBoxSwitch__input
49
46
  };
50
47
  var _sfc_render = function render() {
51
48
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
@@ -70,7 +67,7 @@ var _sfc_render = function render() {
70
67
  } else {
71
68
  _setup.model = $$c;
72
69
  }
73
- } } }), _c(_setup.NcIconSvgWrapper, { class: _vm.$style.formBoxSwitch__icon, attrs: { "path": _setup.model ? _setup.mdiToggleSwitch : _setup.mdiToggleSwitchOff, "size": 34, "inline": "" } })];
70
+ } } }), _c(_setup.NcIconToggleSwitch, { attrs: { "checked": _vm.modelValue, "inline": "" } })];
74
71
  } }], null, true) });
75
72
  };
76
73
  var _sfc_staticRenderFns = [];
@@ -94,4 +91,4 @@ const NcFormBoxSwitch = __component__.exports;
94
91
  export {
95
92
  NcFormBoxSwitch as N
96
93
  };
97
- //# sourceMappingURL=NcFormBoxSwitch-aOCNeI-K.mjs.map
94
+ //# sourceMappingURL=NcFormBoxSwitch-Dq5JvIem.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcFormBoxSwitch-Dq5JvIem.mjs","sources":["../../src/components/NcFormBoxSwitch/NcFormBoxSwitch.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script lang=\"ts\">\nexport default {\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { watch } from 'vue'\nimport NcFormBoxItem from '../NcFormBox/NcFormBoxItem.vue'\nimport NcIconToggleSwitch from '../NcIconToggleSwitch/NcIconToggleSwitch.vue'\nimport { createElementId } from '../../utils/createElementId.ts'\n\nconst props = withDefaults(defineProps<{\n\t/** Main label */\n\tlabel?: string\n\t/** Optional description below the label, also used for the aria-describedby */\n\tdescription?: string\n\t/** Disabled state */\n\tdisabled?: boolean\n\t/** Switch toggle model value */\n\tmodelValue: boolean // eslint-disable-line vue/no-unused-properties\n}>(), {\n\tlabel: undefined,\n\tdescription: undefined,\n\tdisabled: false,\n})\n\nconst emit = defineEmits<{\n\t/** Switch is toggled ON */\n\t(event: 'enable'): void\n\t/** Switch is toggled OFF */\n\t(event: 'disable'): void\n\t(event: 'update:modelValue', value: boolean): void\n}>()\n\nconst model = useVModel(props, 'modelValue', emit, { passive: true })\n\nconst inputId = createElementId()\n\nwatch(model, () => {\n\tif (model.value) {\n\t\temit('enable')\n\t} else {\n\t\temit('disable')\n\t}\n}, {\n\t// defineModel emits update:modelValue synchronously\n\t// Watching it synchronously to emit the enable/disable events together with the update:modelValue event\n\tflush: 'sync',\n})\n</script>\n\n<template>\n\t<NcFormBoxItem\n\t\ttag=\"label\"\n\t\t:for=\"inputId\">\n\t\t<template v-if=\"$slots.default || label\" #default>\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<slot>\n\t\t\t\t{{ label }}\n\t\t\t</slot>\n\t\t</template>\n\t\t<template v-if=\"$slots.description || description\" #description>\n\t\t\t<!-- @slot Custom description content -->\n\t\t\t<slot name=\"description\">\n\t\t\t\t{{ description }}\n\t\t\t</slot>\n\t\t</template>\n\t\t<template #icon=\"{ descriptionId }\">\n\t\t\t<input\n\t\t\t\t:id=\"inputId\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:class=\"$style.formBoxSwitch__input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\trole=\"switch\"\n\t\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\t\t:disabled=\"disabled\">\n\t\t\t<NcIconToggleSwitch :checked=\"modelValue\" inline />\n\t\t</template>\n\t</NcFormBoxItem>\n</template>\n\n<style lang=\"scss\" module>\ninput.formBoxSwitch__input {\n\tmargin: 0;\n\twidth: var(--default-clickable-area);\n\t/* Keep it visually hidden but on the position of visual switch icon */\n\tposition: absolute;\n\tinset-block: 0;\n\tinset-inline-end: var(--form-element-label-offset);\n\tz-index: -1;\n\topacity: 0 !important;\n\t/* Override server styles */\n\theight: auto;\n\tcursor: inherit;\n}\n</style>\n\n<docs>\n### General\n\nA toggle switch to be used within `<NcFormBox>`.\n\nLike other form box items, it has a label and an optional description.\n\nIn addition to the standard `v-model` binding, it emits `enable` and `disable` events when toggled **on** or **off**.\n\n```vue\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tswitchValue: false,\n\t\t}\n\t},\n\tmethods: {\n\t\tlog: console.log,\n\t},\n}\n</script>\n\n<template>\n\t<NcFormBox>\n\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Turn camera and microphone off by default\" />\n\t\t<NcFormBoxSwitch\n\t\t\tv-model=\"switchValue\"\n\t\t\tlabel=\"Blur camera background by default\"\n\t\t\tdisabled />\n\t\t<NcFormBoxSwitch\n\t\t\tv-model=\"switchValue\"\n\t\t\tlabel=\"Skip device preview before joining a call\"\n\t\t\tdescription=\"Will always show if recording consent is required\"\n\t\t\t@update:modelValue=\"log('Switch toggled', $event, switchValue)\"\n\t\t\t@enable=\"log('Switch enabled', switchValue)\"\n\t\t\t@disable=\"log('Switch disabled', switchValue)\"\n\t\t/>\n\t\t<NcFormBoxSwitch v-model=\"switchValue\" />\n\t</NcFormBox>\n</template>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAMA,MAAA,cAAe;AAAA,EACd,OAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAET;;;;;;;;;;;;;AAiCA,UAAM,QAAQ,UAAU,OAAO,cAAc,MAAM,EAAE,SAAS,MAAM;AAEpE,UAAM,UAAU,gBAAA;AAEhB,UAAM,OAAO,MAAM;AAClB,UAAI,MAAM,OAAO;AAChB,aAAK,QAAQ;AAAA,MACd,OAAO;AACN,aAAK,SAAS;AAAA,MACf;AAAA,IACD,GAAG;AAAA;AAAA;AAAA,MAGF,OAAO;AAAA,IAAA,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  require('../assets/NcHeaderButton-DI-1Gsph.css');
2
2
  "use strict";
3
3
  const GenRandomId = require("./GenRandomId-D7iOvpZS.cjs");
4
- const NcButton = require("./NcButton-CJBZrdiL.cjs");
4
+ const NcButton = require("./NcButton-CuFElrFD.cjs");
5
5
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
6
6
  const _sfc_main = {
7
7
  name: "NcHeaderButton",
@@ -60,4 +60,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
60
60
  );
61
61
  const NcHeaderButton = __component__.exports;
62
62
  exports.NcHeaderButton = NcHeaderButton;
63
- //# sourceMappingURL=NcHeaderButton-6kuTEKbj.cjs.map
63
+ //# sourceMappingURL=NcHeaderButton-CpWQbzfF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderButton-6kuTEKbj.cjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../NcHeaderMenu/header-menu__trigger.scss';\n</style>\n"],"names":["NcButton","GenRandomId"],"mappings":";;;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA,SAAAA;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAAC,YAAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHeaderButton-CpWQbzfF.cjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../NcHeaderMenu/header-menu__trigger.scss';\n</style>\n"],"names":["NcButton","GenRandomId"],"mappings":";;;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA,SAAAA;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAAC,YAAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import '../assets/NcHeaderButton-DI-1Gsph.css';
2
2
  import { G as GenRandomId } from "./GenRandomId-F5ebeBB_.mjs";
3
- import { N as NcButton } from "./NcButton-DUZTtFhr.mjs";
3
+ import { N as NcButton } from "./NcButton-Dz2O6cSU.mjs";
4
4
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
5
5
  const _sfc_main = {
6
6
  name: "NcHeaderButton",
@@ -61,4 +61,4 @@ const NcHeaderButton = __component__.exports;
61
61
  export {
62
62
  NcHeaderButton as N
63
63
  };
64
- //# sourceMappingURL=NcHeaderButton-TgPjfPtk.mjs.map
64
+ //# sourceMappingURL=NcHeaderButton-Dvo1_Bwc.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderButton-TgPjfPtk.mjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../NcHeaderMenu/header-menu__trigger.scss';\n</style>\n"],"names":[],"mappings":";;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHeaderButton-Dvo1_Bwc.mjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../NcHeaderMenu/header-menu__trigger.scss';\n</style>\n"],"names":[],"mappings":";;;AA6FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
@@ -21,7 +21,7 @@ require("@nextcloud/capabilities");
21
21
  require("./logger-3HuiEIF6.cjs");
22
22
  const focusTrap$1 = require("./focusTrap-DUTqW_IG.cjs");
23
23
  const GenRandomId = require("./GenRandomId-D7iOvpZS.cjs");
24
- const NcButton = require("./NcButton-CJBZrdiL.cjs");
24
+ const NcButton = require("./NcButton-CuFElrFD.cjs");
25
25
  const _sfc_main = {
26
26
  name: "NcHeaderMenu",
27
27
  components: {
@@ -230,4 +230,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
230
230
  );
231
231
  const NcHeaderMenu = __component__.exports;
232
232
  exports.NcHeaderMenu = NcHeaderMenu;
233
- //# sourceMappingURL=NcHeaderMenu-CwjH_j0c.cjs.map
233
+ //# sourceMappingURL=NcHeaderMenu-Cmu-m_aM.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderMenu-CwjH_j0c.cjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@use './header-menu__trigger.scss';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcButton","ClickOutside","clickOutsideOptions","ref","useTrapStackControl","GenRandomId","createFocusTrap","getTrapStack"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwHA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA,SAAAA;AAAAA,EACA;AAAA,EAEA,YAAA;AAAA,IACA,cAAAC,WAAAA;AAAAA,EACA;AAAA,EAEA,QAAA;AAAA,IACAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,MAAA,OAAA;AACA,UAAA,SAAAC,QAAA,MAAA,IAAA;AAIAC,wBAAAA,oBAAA,QAAA;AAAA,MACA,UAAA,MAAA,CAAA,MAAA;AAAA,IACA,CAAA;AAEA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,mBAAA,OAAA,KAAA,eAAA,2BAAA;AAAA,MACA,WAAAC,YAAAA,YAAA;AAAA,MACA,eAAAA,YAAAA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,aAAA;AACA,aAAA,KAAA,QAAA,QAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,UAAA,KAAA,OAAA;AACA,eAAA;AAAA,UACA,UAAA,KAAA;AAAA,QACA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,KAAA,MAAA;AACA,UAAA,MAAA;AACA,aAAA,SAAA;AAAA,MACA,OAAA;AACA,aAAA,UAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,aAAA,iBAAA,WAAA,KAAA,SAAA;AAAA,EACA;AAAA,EAEA,gBAAA;AACA,aAAA,oBAAA,WAAA,KAAA,SAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAEA,UAAA,CAAA,KAAA,QAAA;AACA,aAAA,SAAA;AAAA,MACA,OAAA;AACA,aAAA,UAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA,YAAA,OAAA;AAEA,WAAA,SAAA;AACA,WAAA,MAAA,YAAA,WAAA,OAAA;AACA,WAAA,MAAA,eAAA,KAAA;AAGA,WAAA,eAAA;AAGA,WAAA,UAAA,MAAA;AACA,aAAA,MAAA,QAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAEA,WAAA,SAAA;AACA,WAAA,MAAA,MAAA;AACA,WAAA,MAAA,eAAA,IAAA;AAGA,WAAA,UAAA,MAAA;AACA,aAAA,aAAA;AACA,aAAA,MAAA,QAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,UAAA,OAAA;AACA,UAAA,KAAA,qBAAA,CAAA,KAAA,QAAA;AACA;AAAA,MACA;AAGA,UAAA,MAAA,QAAA,UAAA;AACA,cAAA,eAAA;AAGA,aAAA,UAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA,OAAA;AACA,UAAA,CAAA,KAAA,MAAA,WAAA,SAAA,MAAA,aAAA,GAAA;AACA,aAAA,UAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAA,eAAA;AACA,UAAA,KAAA,SAAA,KAAA,WAAA;AACA;AAAA,MACA;AAEA,YAAA,mBAAA,KAAA,MAAA;AACA,WAAA,YAAAC,UAAAA,gBAAA,kBAAA;AAAA,QACA,mBAAA;AAAA,QACA,WAAAC,YAAAA,aAAA;AAAA,QACA,eAAA,KAAA,MAAA,QAAA;AAAA,MACA,CAAA;AACA,WAAA,UAAA,SAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,WAAA,WAAA,WAAA;AACA,WAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHeaderMenu-Cmu-m_aM.cjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@use './header-menu__trigger.scss';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcButton","ClickOutside","clickOutsideOptions","ref","useTrapStackControl","GenRandomId","createFocusTrap","getTrapStack"],"mappings":"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"}
@@ -20,7 +20,7 @@ import "@nextcloud/capabilities";
20
20
  import "./logger-D3RVzcfQ.mjs";
21
21
  import { g as getTrapStack } from "./focusTrap-HJQ4pqHV.mjs";
22
22
  import { G as GenRandomId } from "./GenRandomId-F5ebeBB_.mjs";
23
- import { N as NcButton } from "./NcButton-DUZTtFhr.mjs";
23
+ import { N as NcButton } from "./NcButton-Dz2O6cSU.mjs";
24
24
  const _sfc_main = {
25
25
  name: "NcHeaderMenu",
26
26
  components: {
@@ -231,4 +231,4 @@ const NcHeaderMenu = __component__.exports;
231
231
  export {
232
232
  NcHeaderMenu as N
233
233
  };
234
- //# sourceMappingURL=NcHeaderMenu-Hk8OTuma.mjs.map
234
+ //# sourceMappingURL=NcHeaderMenu-Cuh8ay0F.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHeaderMenu-Hk8OTuma.mjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@use './header-menu__trigger.scss';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["ClickOutside"],"mappings":"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"}
1
+ {"version":3,"file":"NcHeaderMenu-Cuh8ay0F.mjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<NcTextField label=\"Search for files, comments, contacts …\"\n\t\t\t\tstyle=\"padding-inline: 8px;\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component\n\t\t:is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton\n\t\t\t:id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span\n\t\t\tv-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div\n\t\t\tv-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\nimport { ref } from 'vue'\nimport { useTrapStackControl } from '../../composables/useTrapStackControl.ts'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tsetup(props) {\n\t\tconst opened = ref(props.open)\n\n\t\t// When component has its own custom focus management\n\t\t// The global focus trap stack should be paused\n\t\tuseTrapStackControl(opened, {\n\t\t\tdisabled: () => !props.isNav,\n\t\t})\n\n\t\treturn {\n\t\t\topened,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger.$el,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\n\t\tclearFocusTrap() {\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n@use './header-menu__trigger.scss';\n\n.header-menu {\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: var(--header-height);\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(var(--default-clickable-area) * 1.5);\n\t\tmax-height: calc(100vh - var(--header-height) * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n</style>\n"],"names":["ClickOutside"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  require('../assets/NcHotkey-4yi1Hobg.css');
2
2
  "use strict";
3
3
  const Vue = require("vue");
4
- const NcKbd = require("./NcKbd-ewuqi-PO.cjs");
4
+ const NcKbd = require("./NcKbd-DiOuj-R9.cjs");
5
5
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
6
6
  const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
7
7
  __name: "NcHotkey",
@@ -56,4 +56,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
56
56
  );
57
57
  const NcHotkey = __component__.exports;
58
58
  exports.NcHotkey = NcHotkey;
59
- //# sourceMappingURL=NcHotkey-BMemJWSu.cjs.map
59
+ //# sourceMappingURL=NcHotkey-B9IBly2F.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHotkey-BMemJWSu.cjs","sources":["../../src/components/NcHotkey/NcHotkey.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport NcKbd from '../NcKbd/NcKbd.vue'\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Label for the hotkey\n\t */\n\tlabel?: string\n\t/**\n\t * Hotkey combination string separated by space, for example, `Control Alt T` or `F2` (see `<NcKbd>` for supported key names)\n\t */\n\thotkey?: string\n}>(), {\n\tlabel: undefined,\n\thotkey: undefined,\n})\n\nconst symbols = computed(() => {\n\treturn props.hotkey?.split(/\\s+/).map((s) => s.trim())\n})\n\nconst NO_LABEL_WARNING = '⚠️ NcHotKey must have a label or slot content'\n</script>\n\n<template>\n\t<li :class=\"$style.hotkey\">\n\t\t<span role=\"term\" :class=\"$style.hotkey__keys\">\n\t\t\t<!-- @slot Custom hotkey content for an advanced hotkey layout with \"NcKbd\" components or other custom content -->\n\t\t\t<slot name=\"hotkey\">\n\t\t\t\t<NcKbd v-for=\"(symbol, index) in symbols\" :key=\"index\" :symbol=\"symbol\" />\n\t\t\t</slot>\n\t\t</span>\n\t\t<span role=\"definition\" :class=\"$style.hotkey__label\">\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<slot>\n\t\t\t\t{{ label || NO_LABEL_WARNING }}\n\t\t\t</slot>\n\t\t</span>\n\t</li>\n</template>\n\n<style lang=\"scss\" module>\n.hotkey {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\talign-items: stretch;\n\tpadding-inline: var(--form-element-label-offset);\n\n\t&:first-child {\n\t\t.hotkey__label,\n\t\t.hotkey__keys {\n\t\t\tborder-block-start: none;\n\t\t}\n\t}\n\n}\n\n.hotkey__label,\n.hotkey__keys {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding-block: calc(2 * var(--default-grid-baseline));\n\tborder-block-start: 1px solid var(--color-border);\n}\n\n.hotkey__label {\n\tflex: 1 1 200px;\n}\n\n.hotkey__keys {\n\tflex: 1 1 auto;\n\tflex-wrap: wrap;\n\tjustify-content: end;\n\trow-gap: calc(1 * var(--default-grid-baseline));\n}\n</style>\n"],"names":["computed"],"mappings":";;;;;;;;;;;;AAuBA,UAAM,UAAUA,IAAAA,SAAS,MAAM;AAC9B,aAAO,MAAM,QAAQ,MAAM,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM;AAAA,IACtD,CAAC;AAED,UAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHotkey-B9IBly2F.cjs","sources":["../../src/components/NcHotkey/NcHotkey.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport NcKbd from '../NcKbd/NcKbd.vue'\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Label for the hotkey\n\t */\n\tlabel?: string\n\t/**\n\t * Hotkey combination string separated by space, for example, `Control Alt T` or `F2` (see `<NcKbd>` for supported key names)\n\t */\n\thotkey?: string\n}>(), {\n\tlabel: undefined,\n\thotkey: undefined,\n})\n\nconst symbols = computed(() => {\n\treturn props.hotkey?.split(/\\s+/).map((s) => s.trim())\n})\n\nconst NO_LABEL_WARNING = '⚠️ NcHotKey must have a label or slot content'\n</script>\n\n<template>\n\t<li :class=\"$style.hotkey\">\n\t\t<span role=\"term\" :class=\"$style.hotkey__keys\">\n\t\t\t<!-- @slot Custom hotkey content for an advanced hotkey layout with \"NcKbd\" components or other custom content -->\n\t\t\t<slot name=\"hotkey\">\n\t\t\t\t<NcKbd v-for=\"(symbol, index) in symbols\" :key=\"index\" :symbol=\"symbol\" />\n\t\t\t</slot>\n\t\t</span>\n\t\t<span role=\"definition\" :class=\"$style.hotkey__label\">\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<slot>\n\t\t\t\t{{ label || NO_LABEL_WARNING }}\n\t\t\t</slot>\n\t\t</span>\n\t</li>\n</template>\n\n<style lang=\"scss\" module>\n.hotkey {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\talign-items: stretch;\n\tpadding-inline: var(--form-element-label-offset);\n\n\t&:first-child {\n\t\t.hotkey__label,\n\t\t.hotkey__keys {\n\t\t\tborder-block-start: none;\n\t\t}\n\t}\n\n}\n\n.hotkey__label,\n.hotkey__keys {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding-block: calc(2 * var(--default-grid-baseline));\n\tborder-block-start: 1px solid var(--color-border);\n}\n\n.hotkey__label {\n\tflex: 1 1 200px;\n}\n\n.hotkey__keys {\n\tflex: 1 1 auto;\n\tflex-wrap: wrap;\n\tjustify-content: end;\n\trow-gap: calc(1 * var(--default-grid-baseline));\n}\n</style>\n"],"names":["computed"],"mappings":";;;;;;;;;;;;AAuBA,UAAM,UAAUA,IAAAA,SAAS,MAAM;AAC9B,aAAO,MAAM,QAAQ,MAAM,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM;AAAA,IACtD,CAAC;AAED,UAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import '../assets/NcHotkey-4yi1Hobg.css';
2
2
  import { defineComponent, computed } from "vue";
3
- import { N as NcKbd } from "./NcKbd-CfVfr9CW.mjs";
3
+ import { N as NcKbd } from "./NcKbd-CapL6_v1.mjs";
4
4
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "NcHotkey",
@@ -57,4 +57,4 @@ const NcHotkey = __component__.exports;
57
57
  export {
58
58
  NcHotkey as N
59
59
  };
60
- //# sourceMappingURL=NcHotkey-CzuMmIU9.mjs.map
60
+ //# sourceMappingURL=NcHotkey-COqzksbg.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHotkey-CzuMmIU9.mjs","sources":["../../src/components/NcHotkey/NcHotkey.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport NcKbd from '../NcKbd/NcKbd.vue'\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Label for the hotkey\n\t */\n\tlabel?: string\n\t/**\n\t * Hotkey combination string separated by space, for example, `Control Alt T` or `F2` (see `<NcKbd>` for supported key names)\n\t */\n\thotkey?: string\n}>(), {\n\tlabel: undefined,\n\thotkey: undefined,\n})\n\nconst symbols = computed(() => {\n\treturn props.hotkey?.split(/\\s+/).map((s) => s.trim())\n})\n\nconst NO_LABEL_WARNING = '⚠️ NcHotKey must have a label or slot content'\n</script>\n\n<template>\n\t<li :class=\"$style.hotkey\">\n\t\t<span role=\"term\" :class=\"$style.hotkey__keys\">\n\t\t\t<!-- @slot Custom hotkey content for an advanced hotkey layout with \"NcKbd\" components or other custom content -->\n\t\t\t<slot name=\"hotkey\">\n\t\t\t\t<NcKbd v-for=\"(symbol, index) in symbols\" :key=\"index\" :symbol=\"symbol\" />\n\t\t\t</slot>\n\t\t</span>\n\t\t<span role=\"definition\" :class=\"$style.hotkey__label\">\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<slot>\n\t\t\t\t{{ label || NO_LABEL_WARNING }}\n\t\t\t</slot>\n\t\t</span>\n\t</li>\n</template>\n\n<style lang=\"scss\" module>\n.hotkey {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\talign-items: stretch;\n\tpadding-inline: var(--form-element-label-offset);\n\n\t&:first-child {\n\t\t.hotkey__label,\n\t\t.hotkey__keys {\n\t\t\tborder-block-start: none;\n\t\t}\n\t}\n\n}\n\n.hotkey__label,\n.hotkey__keys {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding-block: calc(2 * var(--default-grid-baseline));\n\tborder-block-start: 1px solid var(--color-border);\n}\n\n.hotkey__label {\n\tflex: 1 1 200px;\n}\n\n.hotkey__keys {\n\tflex: 1 1 auto;\n\tflex-wrap: wrap;\n\tjustify-content: end;\n\trow-gap: calc(1 * var(--default-grid-baseline));\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;AAuBA,UAAM,UAAU,SAAS,MAAM;AAC9B,aAAO,MAAM,QAAQ,MAAM,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM;AAAA,IACtD,CAAC;AAED,UAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHotkey-COqzksbg.mjs","sources":["../../src/components/NcHotkey/NcHotkey.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport NcKbd from '../NcKbd/NcKbd.vue'\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Label for the hotkey\n\t */\n\tlabel?: string\n\t/**\n\t * Hotkey combination string separated by space, for example, `Control Alt T` or `F2` (see `<NcKbd>` for supported key names)\n\t */\n\thotkey?: string\n}>(), {\n\tlabel: undefined,\n\thotkey: undefined,\n})\n\nconst symbols = computed(() => {\n\treturn props.hotkey?.split(/\\s+/).map((s) => s.trim())\n})\n\nconst NO_LABEL_WARNING = '⚠️ NcHotKey must have a label or slot content'\n</script>\n\n<template>\n\t<li :class=\"$style.hotkey\">\n\t\t<span role=\"term\" :class=\"$style.hotkey__keys\">\n\t\t\t<!-- @slot Custom hotkey content for an advanced hotkey layout with \"NcKbd\" components or other custom content -->\n\t\t\t<slot name=\"hotkey\">\n\t\t\t\t<NcKbd v-for=\"(symbol, index) in symbols\" :key=\"index\" :symbol=\"symbol\" />\n\t\t\t</slot>\n\t\t</span>\n\t\t<span role=\"definition\" :class=\"$style.hotkey__label\">\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<slot>\n\t\t\t\t{{ label || NO_LABEL_WARNING }}\n\t\t\t</slot>\n\t\t</span>\n\t</li>\n</template>\n\n<style lang=\"scss\" module>\n.hotkey {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\talign-items: stretch;\n\tpadding-inline: var(--form-element-label-offset);\n\n\t&:first-child {\n\t\t.hotkey__label,\n\t\t.hotkey__keys {\n\t\t\tborder-block-start: none;\n\t\t}\n\t}\n\n}\n\n.hotkey__label,\n.hotkey__keys {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding-block: calc(2 * var(--default-grid-baseline));\n\tborder-block-start: 1px solid var(--color-border);\n}\n\n.hotkey__label {\n\tflex: 1 1 200px;\n}\n\n.hotkey__keys {\n\tflex: 1 1 auto;\n\tflex-wrap: wrap;\n\tjustify-content: end;\n\trow-gap: calc(1 * var(--default-grid-baseline));\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;AAuBA,UAAM,UAAU,SAAS,MAAM;AAC9B,aAAO,MAAM,QAAQ,MAAM,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM;AAAA,IACtD,CAAC;AAED,UAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,10 @@
1
1
  require('../assets/NcHotkeyList-gAZN0WIu.css');
2
2
  "use strict";
3
3
  const Vue = require("vue");
4
- const _l10n = require("./_l10n-B4clLGwo.cjs");
4
+ const _l10n = require("./_l10n-IBFNlYqh.cjs");
5
5
  const createElementId = require("./createElementId-lalylSCf.cjs");
6
6
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
7
- _l10n.register();
7
+ _l10n.register(_l10n.t31);
8
8
  const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
9
9
  __name: "NcHotkeyList",
10
10
  props: {
@@ -44,4 +44,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
44
44
  );
45
45
  const NcHotkeyList = __component__.exports;
46
46
  exports.NcHotkeyList = NcHotkeyList;
47
- //# sourceMappingURL=NcHotkeyList-DAJkKYNu.cjs.map
47
+ //# sourceMappingURL=NcHotkeyList-D5QS6zXI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHotkeyList-DAJkKYNu.cjs","sources":["../../src/components/NcHotkeyList/NcHotkeyList.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { t } from '../../l10n.js'\nimport { createElementId } from '../../utils/createElementId.ts'\n\nwithDefaults(defineProps<{\n\t/**\n\t * Heading list label to use when there are multiple lists of shortcuts\n\t */\n\tlabel?: string\n}>(), {\n\tlabel: undefined,\n})\n\nconst labelId = `NcHotkeyList_${createElementId()}`\n</script>\n\n<template>\n\t<div :class=\"$style.hotkeyList\">\n\t\t<div :id=\"labelId\" :class=\"[$style.hotkeyList__heading, { 'hidden-visually': !label }]\">\n\t\t\t{{ label || t('Keyboard shortcuts') }}\n\t\t</div>\n\t\t<ul :aria-labelledby=\"labelId\">\n\t\t\t<!-- @slot Shortcuts described via \"NcHotkey\" components -->\n\t\t\t<slot />\n\t\t</ul>\n\t</div>\n</template>\n\n<style module>\n.hotkeyList {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n}\n\n.hotkeyList__heading {\n\tfont-weight: bold;\n\tmargin-inline: var(--form-element-label-offset);\n}\n</style>\n\n<docs>\n## General\n\nList of keyboard shortcuts for the `<NcAppSettingsShortcutsSection>`.\n\n```vue\n<template>\n\t<NcHotkeyList>\n\t\t<NcHotkey label=\"New File\" hotkey=\"Ctrl N\" />\n\t\t<NcHotkey label=\"Open File\" hotkey=\"Ctrl O\" />\n\t\t<NcHotkey label=\"Save File\" hotkey=\"Ctrl S\" />\n\t</NcHotkeyList>\n</template>\n```\n\n## Groups\n\nThe hotkey list can have an optional heading label. This is useful when there are multiple groups of shortcuts in an app with many shortcuts.\n\n```vue\n<template>\n\t<section>\n\t\t<NcHotkeyList label=\"Actions\">\n\t\t\t<NcHotkey label=\"File actions\" hotkey=\"A\" />\n\t\t\t<NcHotkey label=\"Rename\" hotkey=\"F2\" />\n\t\t\t<NcHotkey label=\"Delete\" hotkey=\"Delete\" />\n\t\t\t<NcHotkey label=\"Add or remove favorite\" hotkey=\"S\" />\n\t\t\t<NcHotkey label=\"Manage tags\" hotkey=\"T\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Selection\">\n\t\t\t<NcHotkey label=\"Select all files\" hotkey=\"Control A\" />\n\t\t\t<NcHotkey label=\"Deselect all\" hotkey=\"Escape\" />\n\t\t\t<NcHotkey label=\"Select or deselect\" hotkey=\"Control Space\" />\n\t\t\t<NcHotkey label=\"Select a range\" hotkey=\"Control Shift Space\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Navigation\">\n\t\t\t<NcHotkey label=\"Go to parent folder\" hotkey=\"Alt ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file above\" hotkey=\"ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file below\" hotkey=\"ArrowDown\" />\n\t\t\t<NcHotkey label=\"Go left in grid\" hotkey=\"ArrowLeft\" />\n\t\t\t<NcHotkey label=\"Go right in grid\" hotkey=\"ArrowRight\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"View\">\n\t\t\t<NcHotkey label=\"Toggle grid view\" hotkey=\"V\" />\n\t\t\t<NcHotkey label=\"Open file sidebar\" hotkey=\"D\" />\n\t\t\t<NcHotkey label=\"Show those shortcuts\" hotkey=\"?\" />\n\t\t</NcHotkeyList>\n\t</section>\n</template>\n```\n</docs>\n"],"names":["createElementId"],"mappings":";;;;;;;;;;;;AAkBA,UAAM,UAAU,gBAAgBA,gBAAAA,gBAAA,CAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHotkeyList-D5QS6zXI.cjs","sources":["../../src/components/NcHotkeyList/NcHotkeyList.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { t } from '../../l10n.js'\nimport { createElementId } from '../../utils/createElementId.ts'\n\nwithDefaults(defineProps<{\n\t/**\n\t * Heading list label to use when there are multiple lists of shortcuts\n\t */\n\tlabel?: string\n}>(), {\n\tlabel: undefined,\n})\n\nconst labelId = `NcHotkeyList_${createElementId()}`\n</script>\n\n<template>\n\t<div :class=\"$style.hotkeyList\">\n\t\t<div :id=\"labelId\" :class=\"[$style.hotkeyList__heading, { 'hidden-visually': !label }]\">\n\t\t\t{{ label || t('Keyboard shortcuts') }}\n\t\t</div>\n\t\t<ul :aria-labelledby=\"labelId\">\n\t\t\t<!-- @slot Shortcuts described via \"NcHotkey\" components -->\n\t\t\t<slot />\n\t\t</ul>\n\t</div>\n</template>\n\n<style module>\n.hotkeyList {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n}\n\n.hotkeyList__heading {\n\tfont-weight: bold;\n\tmargin-inline: var(--form-element-label-offset);\n}\n</style>\n\n<docs>\n## General\n\nList of keyboard shortcuts for the `<NcAppSettingsShortcutsSection>`.\n\n```vue\n<template>\n\t<NcHotkeyList>\n\t\t<NcHotkey label=\"New File\" hotkey=\"Ctrl N\" />\n\t\t<NcHotkey label=\"Open File\" hotkey=\"Ctrl O\" />\n\t\t<NcHotkey label=\"Save File\" hotkey=\"Ctrl S\" />\n\t</NcHotkeyList>\n</template>\n```\n\n## Groups\n\nThe hotkey list can have an optional heading label. This is useful when there are multiple groups of shortcuts in an app with many shortcuts.\n\n```vue\n<template>\n\t<section>\n\t\t<NcHotkeyList label=\"Actions\">\n\t\t\t<NcHotkey label=\"File actions\" hotkey=\"A\" />\n\t\t\t<NcHotkey label=\"Rename\" hotkey=\"F2\" />\n\t\t\t<NcHotkey label=\"Delete\" hotkey=\"Delete\" />\n\t\t\t<NcHotkey label=\"Add or remove favorite\" hotkey=\"S\" />\n\t\t\t<NcHotkey label=\"Manage tags\" hotkey=\"T\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Selection\">\n\t\t\t<NcHotkey label=\"Select all files\" hotkey=\"Control A\" />\n\t\t\t<NcHotkey label=\"Deselect all\" hotkey=\"Escape\" />\n\t\t\t<NcHotkey label=\"Select or deselect\" hotkey=\"Control Space\" />\n\t\t\t<NcHotkey label=\"Select a range\" hotkey=\"Control Shift Space\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Navigation\">\n\t\t\t<NcHotkey label=\"Go to parent folder\" hotkey=\"Alt ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file above\" hotkey=\"ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file below\" hotkey=\"ArrowDown\" />\n\t\t\t<NcHotkey label=\"Go left in grid\" hotkey=\"ArrowLeft\" />\n\t\t\t<NcHotkey label=\"Go right in grid\" hotkey=\"ArrowRight\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"View\">\n\t\t\t<NcHotkey label=\"Toggle grid view\" hotkey=\"V\" />\n\t\t\t<NcHotkey label=\"Open file sidebar\" hotkey=\"D\" />\n\t\t\t<NcHotkey label=\"Show those shortcuts\" hotkey=\"?\" />\n\t\t</NcHotkeyList>\n\t</section>\n</template>\n```\n</docs>\n"],"names":["createElementId"],"mappings":";;;;;;;;;;;;AAkBA,UAAM,UAAU,gBAAgBA,gBAAAA,gBAAA,CAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import '../assets/NcHotkeyList-gAZN0WIu.css';
2
2
  import { defineComponent } from "vue";
3
- import { r as register, a as t } from "./_l10n-BmKQgz1z.mjs";
3
+ import { r as register, x as t31, a as t } from "./_l10n-BcrsamRV.mjs";
4
4
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
5
5
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
6
- register();
6
+ register(t31);
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "NcHotkeyList",
9
9
  props: {
@@ -45,4 +45,4 @@ const NcHotkeyList = __component__.exports;
45
45
  export {
46
46
  NcHotkeyList as N
47
47
  };
48
- //# sourceMappingURL=NcHotkeyList-Bm25Odp7.mjs.map
48
+ //# sourceMappingURL=NcHotkeyList-D9tKXM-e.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcHotkeyList-Bm25Odp7.mjs","sources":["../../src/components/NcHotkeyList/NcHotkeyList.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { t } from '../../l10n.js'\nimport { createElementId } from '../../utils/createElementId.ts'\n\nwithDefaults(defineProps<{\n\t/**\n\t * Heading list label to use when there are multiple lists of shortcuts\n\t */\n\tlabel?: string\n}>(), {\n\tlabel: undefined,\n})\n\nconst labelId = `NcHotkeyList_${createElementId()}`\n</script>\n\n<template>\n\t<div :class=\"$style.hotkeyList\">\n\t\t<div :id=\"labelId\" :class=\"[$style.hotkeyList__heading, { 'hidden-visually': !label }]\">\n\t\t\t{{ label || t('Keyboard shortcuts') }}\n\t\t</div>\n\t\t<ul :aria-labelledby=\"labelId\">\n\t\t\t<!-- @slot Shortcuts described via \"NcHotkey\" components -->\n\t\t\t<slot />\n\t\t</ul>\n\t</div>\n</template>\n\n<style module>\n.hotkeyList {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n}\n\n.hotkeyList__heading {\n\tfont-weight: bold;\n\tmargin-inline: var(--form-element-label-offset);\n}\n</style>\n\n<docs>\n## General\n\nList of keyboard shortcuts for the `<NcAppSettingsShortcutsSection>`.\n\n```vue\n<template>\n\t<NcHotkeyList>\n\t\t<NcHotkey label=\"New File\" hotkey=\"Ctrl N\" />\n\t\t<NcHotkey label=\"Open File\" hotkey=\"Ctrl O\" />\n\t\t<NcHotkey label=\"Save File\" hotkey=\"Ctrl S\" />\n\t</NcHotkeyList>\n</template>\n```\n\n## Groups\n\nThe hotkey list can have an optional heading label. This is useful when there are multiple groups of shortcuts in an app with many shortcuts.\n\n```vue\n<template>\n\t<section>\n\t\t<NcHotkeyList label=\"Actions\">\n\t\t\t<NcHotkey label=\"File actions\" hotkey=\"A\" />\n\t\t\t<NcHotkey label=\"Rename\" hotkey=\"F2\" />\n\t\t\t<NcHotkey label=\"Delete\" hotkey=\"Delete\" />\n\t\t\t<NcHotkey label=\"Add or remove favorite\" hotkey=\"S\" />\n\t\t\t<NcHotkey label=\"Manage tags\" hotkey=\"T\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Selection\">\n\t\t\t<NcHotkey label=\"Select all files\" hotkey=\"Control A\" />\n\t\t\t<NcHotkey label=\"Deselect all\" hotkey=\"Escape\" />\n\t\t\t<NcHotkey label=\"Select or deselect\" hotkey=\"Control Space\" />\n\t\t\t<NcHotkey label=\"Select a range\" hotkey=\"Control Shift Space\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Navigation\">\n\t\t\t<NcHotkey label=\"Go to parent folder\" hotkey=\"Alt ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file above\" hotkey=\"ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file below\" hotkey=\"ArrowDown\" />\n\t\t\t<NcHotkey label=\"Go left in grid\" hotkey=\"ArrowLeft\" />\n\t\t\t<NcHotkey label=\"Go right in grid\" hotkey=\"ArrowRight\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"View\">\n\t\t\t<NcHotkey label=\"Toggle grid view\" hotkey=\"V\" />\n\t\t\t<NcHotkey label=\"Open file sidebar\" hotkey=\"D\" />\n\t\t\t<NcHotkey label=\"Show those shortcuts\" hotkey=\"?\" />\n\t\t</NcHotkeyList>\n\t</section>\n</template>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AAkBA,UAAM,UAAU,gBAAgB,gBAAA,CAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcHotkeyList-D9tKXM-e.mjs","sources":["../../src/components/NcHotkeyList/NcHotkeyList.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { t } from '../../l10n.js'\nimport { createElementId } from '../../utils/createElementId.ts'\n\nwithDefaults(defineProps<{\n\t/**\n\t * Heading list label to use when there are multiple lists of shortcuts\n\t */\n\tlabel?: string\n}>(), {\n\tlabel: undefined,\n})\n\nconst labelId = `NcHotkeyList_${createElementId()}`\n</script>\n\n<template>\n\t<div :class=\"$style.hotkeyList\">\n\t\t<div :id=\"labelId\" :class=\"[$style.hotkeyList__heading, { 'hidden-visually': !label }]\">\n\t\t\t{{ label || t('Keyboard shortcuts') }}\n\t\t</div>\n\t\t<ul :aria-labelledby=\"labelId\">\n\t\t\t<!-- @slot Shortcuts described via \"NcHotkey\" components -->\n\t\t\t<slot />\n\t\t</ul>\n\t</div>\n</template>\n\n<style module>\n.hotkeyList {\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n}\n\n.hotkeyList__heading {\n\tfont-weight: bold;\n\tmargin-inline: var(--form-element-label-offset);\n}\n</style>\n\n<docs>\n## General\n\nList of keyboard shortcuts for the `<NcAppSettingsShortcutsSection>`.\n\n```vue\n<template>\n\t<NcHotkeyList>\n\t\t<NcHotkey label=\"New File\" hotkey=\"Ctrl N\" />\n\t\t<NcHotkey label=\"Open File\" hotkey=\"Ctrl O\" />\n\t\t<NcHotkey label=\"Save File\" hotkey=\"Ctrl S\" />\n\t</NcHotkeyList>\n</template>\n```\n\n## Groups\n\nThe hotkey list can have an optional heading label. This is useful when there are multiple groups of shortcuts in an app with many shortcuts.\n\n```vue\n<template>\n\t<section>\n\t\t<NcHotkeyList label=\"Actions\">\n\t\t\t<NcHotkey label=\"File actions\" hotkey=\"A\" />\n\t\t\t<NcHotkey label=\"Rename\" hotkey=\"F2\" />\n\t\t\t<NcHotkey label=\"Delete\" hotkey=\"Delete\" />\n\t\t\t<NcHotkey label=\"Add or remove favorite\" hotkey=\"S\" />\n\t\t\t<NcHotkey label=\"Manage tags\" hotkey=\"T\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Selection\">\n\t\t\t<NcHotkey label=\"Select all files\" hotkey=\"Control A\" />\n\t\t\t<NcHotkey label=\"Deselect all\" hotkey=\"Escape\" />\n\t\t\t<NcHotkey label=\"Select or deselect\" hotkey=\"Control Space\" />\n\t\t\t<NcHotkey label=\"Select a range\" hotkey=\"Control Shift Space\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"Navigation\">\n\t\t\t<NcHotkey label=\"Go to parent folder\" hotkey=\"Alt ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file above\" hotkey=\"ArrowUp\" />\n\t\t\t<NcHotkey label=\"Go to file below\" hotkey=\"ArrowDown\" />\n\t\t\t<NcHotkey label=\"Go left in grid\" hotkey=\"ArrowLeft\" />\n\t\t\t<NcHotkey label=\"Go right in grid\" hotkey=\"ArrowRight\" />\n\t\t</NcHotkeyList>\n\n\t\t<NcHotkeyList label=\"View\">\n\t\t\t<NcHotkey label=\"Toggle grid view\" hotkey=\"V\" />\n\t\t\t<NcHotkey label=\"Open file sidebar\" hotkey=\"D\" />\n\t\t\t<NcHotkey label=\"Show those shortcuts\" hotkey=\"?\" />\n\t\t</NcHotkeyList>\n\t</section>\n</template>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AAkBA,UAAM,UAAU,gBAAgB,gBAAA,CAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- require('../assets/NcIconSvgWrapper-DJQ2Kuip.css');
1
+ require('../assets/NcIconSvgWrapper-Cm1Dmlij.css');
2
2
  "use strict";
3
3
  const DOMPurify = require("dompurify");
4
4
  const Vue = require("vue");
@@ -84,7 +84,7 @@ const __default__ = {
84
84
  };
85
85
  const __injectCSSVars__ = () => {
86
86
  Vue.useCssVars((_vm, _setup) => ({
87
- "0ceed50f": _vm.iconSize
87
+ "dad67fa8": _vm.iconSize
88
88
  }));
89
89
  };
90
90
  const __setup__ = __default__.setup;
@@ -107,8 +107,8 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
107
107
  _sfc_staticRenderFns,
108
108
  false,
109
109
  null,
110
- "6a8df8b8"
110
+ "4625d649"
111
111
  );
112
112
  const NcIconSvgWrapper = __component__.exports;
113
113
  exports.NcIconSvgWrapper = NcIconSvgWrapper;
114
- //# sourceMappingURL=NcIconSvgWrapper-D-aKMbf3.cjs.map
114
+ //# sourceMappingURL=NcIconSvgWrapper-Bbl4kXZI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcIconSvgWrapper-Bbl4kXZI.cjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Usage within `icon`-slot\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<NcButton aria-label=\"Close\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"closeSvg\" name=\"Close\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Settings\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"cogSvg\" name=\"Cog\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Add\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"plusSvg\" name=\"Plus\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Send\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiSendOutline\" name=\"Send\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Star\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiStarOutline\" name=\"Star\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport closeSvg from '@mdi/svg/svg/close.svg?raw'\nimport cogSvg from '@mdi/svg/svg/cog-outline.svg?raw'\nimport plusSvg from '@mdi/svg/svg/plus.svg?raw'\nimport { mdiSendOutline } from '@mdi/js'\nimport { mdiStarOutline } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\t// These icons are static data, so you do not need to put them into `data` which will make them reactive\n\t\treturn {\n\t\t\tcloseSvg,\n\t\t\tcogSvg,\n\t\t\tplusSvg,\n\t\t\tmdiSendOutline,\n\t\t\tmdiStarOutline,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(5, max-content);\n\tgap: 10px;\n}\n</style>\n```\n\n### Inline usage inside text\n\n```vue\n<template>\n\t<p>\n\t\tThis is my <NcIconSvgWrapper inline :path=\"mdiStarOutline\" /> Favorite\n\t</p>\n</template>\n<script>\nimport { mdiStarOutline } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiStarOutline,\n\t\t}\n\t},\n}\n</script>\n```\n\n### Directional usage\n\nThe `directional` property allows to enable a language direction aware icon.\nThis icon component can be used in places where an language direction aware icon should be used,\nfor example if an arrow pointing to the left it used it often points in the wrong direction for right-to-left languages.\nIn this cases this icon can be used which will always point into the logical \"start\" direction.\n\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcButton @click=\"isRtl = !isRtl\">Toggle RTL</NcButton>\n\t\t<div class=\"directional\" :dir=\"isRtl ? 'rtl' : 'ltr'\">\n\t\t\t<NcButton alignment=\"start\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronLeft\" />\n\t\t\t\t</template>\n\t\t\t\tPrevious\n\t\t\t</NcButton>\n\t\t\t<NcButton alignment=\"end-reverse\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronRight\" />\n\t\t\t\t</template>\n\t\t\t\tNext\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mdiChevronLeft, mdiChevronRight } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiChevronLeft,\n\t\t\tmdiChevronRight,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tisRtl: false\n\t\t}\n\t},\n}\n</script>\n<style scoped>\n.wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: calc(2 * var(--default-grid-baseline));\n\tmax-width: 300px;\n}\n\n.directional {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: calc(2 * var(--default-grid-baseline));\n}\n\n.directional * {\n\tflex: 1 50%;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span\n\t\t:aria-hidden=\"name ? undefined : 'true'\"\n\t\t:aria-label=\"name || undefined\"\n\t\tclass=\"icon-vue\"\n\t\t:class=\"{\n\t\t\t'icon-vue--directional': directional,\n\t\t\t'icon-vue--inline': inline,\n\t\t}\"\n\t\trole=\"img\">\n\t\t<svg v-if=\"!cleanSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path :d=\"path\" />\n\t\t</svg>\n\t\t<!-- eslint-disable-next-line vue/no-v-text-v-html-on-component,vue/no-v-html -->\n\t\t<span v-else v-html=\"cleanSvg\" />\n\t</span>\n</template>\n\n<script>\nimport DOMPurify from 'dompurify'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\n\t\t/**\n\t\t * Make the icon directional, meaning it is langauge direction aware.\n\t\t * If the icon is placed in a right-to-left context it will be mirrored vertically.\n\t\t */\n\t\tdirectional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set if the icon should be used as inline content e.g. within text.\n\t\t * By default the icon is made a block element for use inside `icon`-slots.\n\t\t */\n\t\tinline: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG string to render\n\t\t */\n\t\tsvg: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Label of the icon, used in aria-label\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG path to render. Takes precedence over the SVG string in the `svg` prop.\n\t\t */\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Size of the icon to show. Only use if not using within an icon slot.\n\t\t * Defaults to 20px which is the Nextcloud icon size for all icon slots.\n\t\t *\n\t\t * @default 20\n\t\t */\n\t\tsize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 20,\n\t\t\tvalidator: (value) => typeof value === 'number' || value === 'auto',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Icon size used in CSS\n\t\t */\n\t\ticonSize() {\n\t\t\treturn typeof this.size === 'number' ? `${this.size}px` : this.size\n\t\t},\n\n\t\tcleanSvg() {\n\t\t\tif (!this.svg || this.path) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst svg = DOMPurify.sanitize(this.svg)\n\n\t\t\tconst svgDocument = new DOMParser().parseFromString(svg, 'image/svg+xml')\n\n\t\t\tif (svgDocument.querySelector('parsererror')) {\n\t\t\t\tVue.util.warn('SVG is not valid')\n\t\t\t\treturn ''\n\t\t\t}\n\n\t\t\tif (svgDocument.documentElement.id) {\n\t\t\t\tsvgDocument.documentElement.removeAttribute('id')\n\t\t\t}\n\n\t\t\treturn svgDocument.documentElement.outerHTML\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\t--icon-size: v-bind('iconSize');\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: var(--default-clickable-area);\n\tmin-height: var(--default-clickable-area);\n\topacity: 1;\n\n\t&--inline {\n\t\tdisplay: inline-flex;\n\t\tmin-width: fit-content;\n\t\tmin-height: fit-content;\n\t\tvertical-align: text-bottom;\n\t}\n\n\t// Icon svg wrapper\n\tspan {\n\t\tline-height: 0;\n\t}\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: var(--icon-size, 20px);\n\t\theight: var(--icon-size, 20px);\n\t\tmax-width: var(--icon-size, 20px);\n\t\tmax-height: var(--icon-size, 20px);\n\t}\n\n\t&--directional:deep(svg:dir(rtl)) {\n\t\ttransform: scaleX(-1);\n\t}\n}\n</style>\n"],"names":["DOMPurify","Vue"],"mappings":";;;;;;;AAsLA,MAAA,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,UAAA,YAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,OAAA,KAAA,SAAA,WAAA,GAAA,KAAA,IAAA,OAAA,KAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,UAAA,CAAA,KAAA,OAAA,KAAA,MAAA;AACA;AAAA,MACA;AAEA,YAAA,MAAAA,mBAAAA,QAAA,SAAA,KAAA,GAAA;AAEA,YAAA,cAAA,IAAA,UAAA,EAAA,gBAAA,KAAA,eAAA;AAEA,UAAA,YAAA,cAAA,aAAA,GAAA;AACAC,6BAAA,KAAA,KAAA,kBAAA;AACA,eAAA;AAAA,MACA;AAEA,UAAA,YAAA,gBAAA,IAAA;AACA,oBAAA,gBAAA,gBAAA,IAAA;AAAA,MACA;AAEA,aAAA,YAAA,gBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import '../assets/NcIconSvgWrapper-DJQ2Kuip.css';
1
+ import '../assets/NcIconSvgWrapper-Cm1Dmlij.css';
2
2
  import DOMPurify from "dompurify";
3
3
  import Vue, { useCssVars } from "vue";
4
4
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
@@ -80,7 +80,7 @@ const __default__ = {
80
80
  };
81
81
  const __injectCSSVars__ = () => {
82
82
  useCssVars((_vm, _setup) => ({
83
- "0ceed50f": _vm.iconSize
83
+ "dad67fa8": _vm.iconSize
84
84
  }));
85
85
  };
86
86
  const __setup__ = __default__.setup;
@@ -103,10 +103,10 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
103
103
  _sfc_staticRenderFns,
104
104
  false,
105
105
  null,
106
- "6a8df8b8"
106
+ "4625d649"
107
107
  );
108
108
  const NcIconSvgWrapper = __component__.exports;
109
109
  export {
110
110
  NcIconSvgWrapper as N
111
111
  };
112
- //# sourceMappingURL=NcIconSvgWrapper-BreCg8pX.mjs.map
112
+ //# sourceMappingURL=NcIconSvgWrapper-Bui9PhAS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcIconSvgWrapper-Bui9PhAS.mjs","sources":["../../src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nRender raw SVG string icons.\n\n### Usage within `icon`-slot\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<NcButton aria-label=\"Close\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"closeSvg\" name=\"Close\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Settings\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"cogSvg\" name=\"Cog\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Add\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"plusSvg\" name=\"Plus\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Send\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiSendOutline\" name=\"Send\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton aria-label=\"Star\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiStarOutline\" name=\"Star\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport closeSvg from '@mdi/svg/svg/close.svg?raw'\nimport cogSvg from '@mdi/svg/svg/cog-outline.svg?raw'\nimport plusSvg from '@mdi/svg/svg/plus.svg?raw'\nimport { mdiSendOutline } from '@mdi/js'\nimport { mdiStarOutline } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\t// These icons are static data, so you do not need to put them into `data` which will make them reactive\n\t\treturn {\n\t\t\tcloseSvg,\n\t\t\tcogSvg,\n\t\t\tplusSvg,\n\t\t\tmdiSendOutline,\n\t\t\tmdiStarOutline,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(5, max-content);\n\tgap: 10px;\n}\n</style>\n```\n\n### Inline usage inside text\n\n```vue\n<template>\n\t<p>\n\t\tThis is my <NcIconSvgWrapper inline :path=\"mdiStarOutline\" /> Favorite\n\t</p>\n</template>\n<script>\nimport { mdiStarOutline } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiStarOutline,\n\t\t}\n\t},\n}\n</script>\n```\n\n### Directional usage\n\nThe `directional` property allows to enable a language direction aware icon.\nThis icon component can be used in places where an language direction aware icon should be used,\nfor example if an arrow pointing to the left it used it often points in the wrong direction for right-to-left languages.\nIn this cases this icon can be used which will always point into the logical \"start\" direction.\n\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcButton @click=\"isRtl = !isRtl\">Toggle RTL</NcButton>\n\t\t<div class=\"directional\" :dir=\"isRtl ? 'rtl' : 'ltr'\">\n\t\t\t<NcButton alignment=\"start\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronLeft\" />\n\t\t\t\t</template>\n\t\t\t\tPrevious\n\t\t\t</NcButton>\n\t\t\t<NcButton alignment=\"end-reverse\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiChevronRight\" />\n\t\t\t\t</template>\n\t\t\t\tNext\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mdiChevronLeft, mdiChevronRight } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiChevronLeft,\n\t\t\tmdiChevronRight,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tisRtl: false\n\t\t}\n\t},\n}\n</script>\n<style scoped>\n.wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: calc(2 * var(--default-grid-baseline));\n\tmax-width: 300px;\n}\n\n.directional {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: calc(2 * var(--default-grid-baseline));\n}\n\n.directional * {\n\tflex: 1 50%;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span\n\t\t:aria-hidden=\"name ? undefined : 'true'\"\n\t\t:aria-label=\"name || undefined\"\n\t\tclass=\"icon-vue\"\n\t\t:class=\"{\n\t\t\t'icon-vue--directional': directional,\n\t\t\t'icon-vue--inline': inline,\n\t\t}\"\n\t\trole=\"img\">\n\t\t<svg v-if=\"!cleanSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path :d=\"path\" />\n\t\t</svg>\n\t\t<!-- eslint-disable-next-line vue/no-v-text-v-html-on-component,vue/no-v-html -->\n\t\t<span v-else v-html=\"cleanSvg\" />\n\t</span>\n</template>\n\n<script>\nimport DOMPurify from 'dompurify'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcIconSvgWrapper',\n\n\tprops: {\n\t\t/**\n\t\t * Make the icon directional, meaning it is langauge direction aware.\n\t\t * If the icon is placed in a right-to-left context it will be mirrored vertically.\n\t\t */\n\t\tdirectional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set if the icon should be used as inline content e.g. within text.\n\t\t * By default the icon is made a block element for use inside `icon`-slots.\n\t\t */\n\t\tinline: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG string to render\n\t\t */\n\t\tsvg: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Label of the icon, used in aria-label\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Raw SVG path to render. Takes precedence over the SVG string in the `svg` prop.\n\t\t */\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Size of the icon to show. Only use if not using within an icon slot.\n\t\t * Defaults to 20px which is the Nextcloud icon size for all icon slots.\n\t\t *\n\t\t * @default 20\n\t\t */\n\t\tsize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 20,\n\t\t\tvalidator: (value) => typeof value === 'number' || value === 'auto',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Icon size used in CSS\n\t\t */\n\t\ticonSize() {\n\t\t\treturn typeof this.size === 'number' ? `${this.size}px` : this.size\n\t\t},\n\n\t\tcleanSvg() {\n\t\t\tif (!this.svg || this.path) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst svg = DOMPurify.sanitize(this.svg)\n\n\t\t\tconst svgDocument = new DOMParser().parseFromString(svg, 'image/svg+xml')\n\n\t\t\tif (svgDocument.querySelector('parsererror')) {\n\t\t\t\tVue.util.warn('SVG is not valid')\n\t\t\t\treturn ''\n\t\t\t}\n\n\t\t\tif (svgDocument.documentElement.id) {\n\t\t\t\tsvgDocument.documentElement.removeAttribute('id')\n\t\t\t}\n\n\t\t\treturn svgDocument.documentElement.outerHTML\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-vue {\n\t--icon-size: v-bind('iconSize');\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: var(--default-clickable-area);\n\tmin-height: var(--default-clickable-area);\n\topacity: 1;\n\n\t&--inline {\n\t\tdisplay: inline-flex;\n\t\tmin-width: fit-content;\n\t\tmin-height: fit-content;\n\t\tvertical-align: text-bottom;\n\t}\n\n\t// Icon svg wrapper\n\tspan {\n\t\tline-height: 0;\n\t}\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\twidth: var(--icon-size, 20px);\n\t\theight: var(--icon-size, 20px);\n\t\tmax-width: var(--icon-size, 20px);\n\t\tmax-height: var(--icon-size, 20px);\n\t}\n\n\t&--directional:deep(svg:dir(rtl)) {\n\t\ttransform: scaleX(-1);\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;AAsLA,MAAA,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,UAAA,YAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,OAAA,KAAA,SAAA,WAAA,GAAA,KAAA,IAAA,OAAA,KAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,UAAA,CAAA,KAAA,OAAA,KAAA,MAAA;AACA;AAAA,MACA;AAEA,YAAA,MAAA,UAAA,SAAA,KAAA,GAAA;AAEA,YAAA,cAAA,IAAA,UAAA,EAAA,gBAAA,KAAA,eAAA;AAEA,UAAA,YAAA,cAAA,aAAA,GAAA;AACA,YAAA,KAAA,KAAA,kBAAA;AACA,eAAA;AAAA,MACA;AAEA,UAAA,YAAA,gBAAA,IAAA;AACA,oBAAA,gBAAA,gBAAA,IAAA;AAAA,MACA;AAEA,aAAA,YAAA,gBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}