@nextcloud/vue 8.38.0 → 8.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/Components/NcActionInput.cjs +1 -1
  3. package/dist/Components/NcActionInput.mjs +1 -1
  4. package/dist/Components/NcActions.cjs +1 -1
  5. package/dist/Components/NcActions.mjs +1 -1
  6. package/dist/Components/NcAppContent.cjs +1 -1
  7. package/dist/Components/NcAppContent.mjs +1 -1
  8. package/dist/Components/NcAppNavigation.cjs +1 -1
  9. package/dist/Components/NcAppNavigation.mjs +1 -1
  10. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  11. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  12. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  13. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  14. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  15. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  16. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  17. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  18. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  19. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  20. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  21. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  22. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  23. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  24. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  25. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  26. package/dist/Components/NcAppSidebar.cjs +1 -1
  27. package/dist/Components/NcAppSidebar.mjs +1 -1
  28. package/dist/Components/NcAssistantButton.cjs +1 -1
  29. package/dist/Components/NcAssistantButton.mjs +1 -1
  30. package/dist/Components/NcAvatar.cjs +1 -1
  31. package/dist/Components/NcAvatar.mjs +1 -1
  32. package/dist/Components/NcBreadcrumb.cjs +1 -1
  33. package/dist/Components/NcBreadcrumb.mjs +1 -1
  34. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  35. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  36. package/dist/Components/NcButton.cjs +1 -1
  37. package/dist/Components/NcButton.mjs +1 -1
  38. package/dist/Components/NcChip.cjs +1 -1
  39. package/dist/Components/NcChip.mjs +1 -1
  40. package/dist/Components/NcCollectionList.cjs +1 -1
  41. package/dist/Components/NcCollectionList.mjs +1 -1
  42. package/dist/Components/NcColorPicker.cjs +1 -1
  43. package/dist/Components/NcColorPicker.mjs +1 -1
  44. package/dist/Components/NcContent.cjs +1 -1
  45. package/dist/Components/NcContent.mjs +1 -1
  46. package/dist/Components/NcDashboardWidget.cjs +1 -1
  47. package/dist/Components/NcDashboardWidget.mjs +1 -1
  48. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  49. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  50. package/dist/Components/NcDateTimePicker.cjs +3 -3
  51. package/dist/Components/NcDateTimePicker.mjs +3 -3
  52. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  53. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  54. package/dist/Components/NcDialog.cjs +1 -1
  55. package/dist/Components/NcDialog.mjs +1 -1
  56. package/dist/Components/NcDialogButton.cjs +1 -1
  57. package/dist/Components/NcDialogButton.mjs +1 -1
  58. package/dist/Components/NcEmojiPicker.cjs +1 -1
  59. package/dist/Components/NcEmojiPicker.mjs +1 -1
  60. package/dist/Components/NcFilePicker.cjs +1 -1
  61. package/dist/Components/NcFilePicker.mjs +1 -1
  62. package/dist/Components/NcFormBoxButton.cjs +1 -1
  63. package/dist/Components/NcFormBoxButton.mjs +1 -1
  64. package/dist/Components/NcFormBoxCopyButton.cjs +1 -1
  65. package/dist/Components/NcFormBoxCopyButton.mjs +1 -1
  66. package/dist/Components/NcFormBoxSwitch.cjs +1 -1
  67. package/dist/Components/NcFormBoxSwitch.mjs +1 -1
  68. package/dist/Components/NcHeaderButton.cjs +1 -1
  69. package/dist/Components/NcHeaderButton.mjs +1 -1
  70. package/dist/Components/NcHeaderMenu.cjs +1 -1
  71. package/dist/Components/NcHeaderMenu.mjs +1 -1
  72. package/dist/Components/NcInputField.cjs +1 -1
  73. package/dist/Components/NcInputField.mjs +1 -1
  74. package/dist/Components/NcListItem.cjs +1 -1
  75. package/dist/Components/NcListItem.mjs +1 -1
  76. package/dist/Components/NcListItemIcon.cjs +1 -1
  77. package/dist/Components/NcListItemIcon.mjs +1 -1
  78. package/dist/Components/NcModal.cjs +3 -3
  79. package/dist/Components/NcModal.mjs +3 -3
  80. package/dist/Components/NcNoteCard.cjs +1 -1
  81. package/dist/Components/NcNoteCard.mjs +1 -1
  82. package/dist/Components/NcPasswordField.cjs +1 -1
  83. package/dist/Components/NcPasswordField.mjs +1 -1
  84. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  85. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  86. package/dist/Components/NcRichContenteditable.cjs +1 -1
  87. package/dist/Components/NcRichContenteditable.mjs +1 -1
  88. package/dist/Components/NcRichText.cjs +2 -2
  89. package/dist/Components/NcRichText.mjs +3 -3
  90. package/dist/Components/NcSelect.cjs +1 -1
  91. package/dist/Components/NcSelect.mjs +1 -1
  92. package/dist/Components/NcSelectTags.cjs +1 -1
  93. package/dist/Components/NcSelectTags.mjs +1 -1
  94. package/dist/Components/NcSelectUsers.cjs +1 -1
  95. package/dist/Components/NcSelectUsers.mjs +1 -1
  96. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  97. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  98. package/dist/Components/NcTextArea.cjs +1 -1
  99. package/dist/Components/NcTextArea.mjs +1 -1
  100. package/dist/Components/NcTextField.cjs +1 -1
  101. package/dist/Components/NcTextField.mjs +1 -1
  102. package/dist/Components/NcTimezonePicker.cjs +1 -1
  103. package/dist/Components/NcTimezonePicker.mjs +1 -1
  104. package/dist/Components/NcUserBubble.cjs +1 -1
  105. package/dist/Components/NcUserBubble.mjs +1 -1
  106. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  107. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  108. package/dist/Functions/reference.cjs +1 -1
  109. package/dist/Functions/reference.mjs +1 -1
  110. package/dist/Functions/usernameToColor.cjs +1 -1
  111. package/dist/Functions/usernameToColor.mjs +1 -1
  112. package/dist/assets/{NcAppNavigation-mcR7I0Bd.css → NcAppNavigation-DfsSMVgo.css} +18 -12
  113. package/dist/assets/{NcAppNavigationItem-De04deJW.css → NcAppNavigationItem-CksjxOVP.css} +77 -40
  114. package/dist/assets/{NcAppNavigationNewItem-CYSjj3pD.css → NcAppNavigationNewItem-Dn_iz3og.css} +41 -4
  115. package/dist/assets/NcAppSettingsDialog-DRyLeR3T.css +222 -0
  116. package/dist/assets/{NcAppSidebar-BsMeIg8W.css → NcAppSidebar-B1bkEVQA.css} +75 -14
  117. package/dist/assets/{NcButton-C5JW43jM.css → NcButton-o3s2D3Dl.css} +49 -46
  118. package/dist/assets/{NcContent-a67pCVHO.css → NcContent-URJTZQq1.css} +22 -10
  119. package/dist/assets/{NcDateTimePicker-DrfMaKM7.css → NcDateTimePicker-DknygOcQ.css} +8 -8
  120. package/dist/assets/NcInputConfirmCancel-Brp9ZfY5.css +53 -0
  121. package/dist/chunks/{NcActionInput-B_9GOTi6.mjs → NcActionInput-BoKGVBu8.mjs} +3 -3
  122. package/dist/chunks/{NcActionInput-B_9GOTi6.mjs.map → NcActionInput-BoKGVBu8.mjs.map} +1 -1
  123. package/dist/chunks/{NcActionInput-D3w0eGfB.cjs → NcActionInput-CcA3XFGe.cjs} +3 -3
  124. package/dist/chunks/{NcActionInput-D3w0eGfB.cjs.map → NcActionInput-CcA3XFGe.cjs.map} +1 -1
  125. package/dist/chunks/{NcActions-0fAYsGbh.cjs → NcActions-D51W1X9v.cjs} +2 -2
  126. package/dist/chunks/{NcActions-0fAYsGbh.cjs.map → NcActions-D51W1X9v.cjs.map} +1 -1
  127. package/dist/chunks/{NcActions-Ca_2vj8f.mjs → NcActions-DbPerbGE.mjs} +2 -2
  128. package/dist/chunks/{NcActions-Ca_2vj8f.mjs.map → NcActions-DbPerbGE.mjs.map} +1 -1
  129. package/dist/chunks/{NcAppContent-B95Sj4-X.cjs → NcAppContent-0hbQMH35.cjs} +2 -2
  130. package/dist/chunks/{NcAppContent-B95Sj4-X.cjs.map → NcAppContent-0hbQMH35.cjs.map} +1 -1
  131. package/dist/chunks/{NcAppContent-HZ-Lp090.mjs → NcAppContent-DAN0qPID.mjs} +2 -2
  132. package/dist/chunks/{NcAppContent-HZ-Lp090.mjs.map → NcAppContent-DAN0qPID.mjs.map} +1 -1
  133. package/dist/chunks/{NcAppNavigation-BDxzq-ai.cjs → NcAppNavigation-DB3HqxPL.cjs} +11 -6
  134. package/dist/chunks/NcAppNavigation-DB3HqxPL.cjs.map +1 -0
  135. package/dist/chunks/{NcAppNavigation-BPqJExo6.mjs → NcAppNavigation-DGufDPoi.mjs} +11 -6
  136. package/dist/chunks/NcAppNavigation-DGufDPoi.mjs.map +1 -0
  137. package/dist/chunks/{NcAppNavigationCaption-Bt51pgle.mjs → NcAppNavigationCaption-BZwuqQcm.mjs} +2 -2
  138. package/dist/chunks/{NcAppNavigationCaption-Bt51pgle.mjs.map → NcAppNavigationCaption-BZwuqQcm.mjs.map} +1 -1
  139. package/dist/chunks/{NcAppNavigationCaption-CQZ7ZrEO.cjs → NcAppNavigationCaption-WVnxSeIf.cjs} +2 -2
  140. package/dist/chunks/{NcAppNavigationCaption-CQZ7ZrEO.cjs.map → NcAppNavigationCaption-WVnxSeIf.cjs.map} +1 -1
  141. package/dist/chunks/{NcAppNavigationItem-BBZ1SsqQ.cjs → NcAppNavigationItem-0zDqIuUZ.cjs} +16 -10
  142. package/dist/chunks/NcAppNavigationItem-0zDqIuUZ.cjs.map +1 -0
  143. package/dist/chunks/{NcAppNavigationItem-DcKt7SjF.mjs → NcAppNavigationItem-CgYgq_nb.mjs} +16 -10
  144. package/dist/chunks/NcAppNavigationItem-CgYgq_nb.mjs.map +1 -0
  145. package/dist/chunks/{NcAppNavigationNew-B5ikLvxM.mjs → NcAppNavigationNew-BUVnumWS.mjs} +2 -2
  146. package/dist/chunks/{NcAppNavigationNew-B5ikLvxM.mjs.map → NcAppNavigationNew-BUVnumWS.mjs.map} +1 -1
  147. package/dist/chunks/{NcAppNavigationNew-DljLy9CQ.cjs → NcAppNavigationNew-DRdPwKOi.cjs} +2 -2
  148. package/dist/chunks/{NcAppNavigationNew-DljLy9CQ.cjs.map → NcAppNavigationNew-DRdPwKOi.cjs.map} +1 -1
  149. package/dist/chunks/{NcAppNavigationNewItem-BqhwbJsJ.mjs → NcAppNavigationNewItem-Nz2HecTz.mjs} +3 -3
  150. package/dist/chunks/{NcAppNavigationNewItem-BqhwbJsJ.mjs.map → NcAppNavigationNewItem-Nz2HecTz.mjs.map} +1 -1
  151. package/dist/chunks/{NcAppNavigationNewItem-C6gqVpBt.cjs → NcAppNavigationNewItem-SR744REn.cjs} +3 -3
  152. package/dist/chunks/{NcAppNavigationNewItem-C6gqVpBt.cjs.map → NcAppNavigationNewItem-SR744REn.cjs.map} +1 -1
  153. package/dist/chunks/{NcAppNavigationSearch-CliHANzA.cjs → NcAppNavigationSearch-Czcwiin4.cjs} +2 -2
  154. package/dist/chunks/{NcAppNavigationSearch-CliHANzA.cjs.map → NcAppNavigationSearch-Czcwiin4.cjs.map} +1 -1
  155. package/dist/chunks/{NcAppNavigationSearch-B6u1Ln1_.mjs → NcAppNavigationSearch-CzhlljAU.mjs} +2 -2
  156. package/dist/chunks/{NcAppNavigationSearch-B6u1Ln1_.mjs.map → NcAppNavigationSearch-CzhlljAU.mjs.map} +1 -1
  157. package/dist/chunks/{NcAppNavigationSettings-BfysBg80.mjs → NcAppNavigationSettings-BaO-G72x.mjs} +3 -3
  158. package/dist/chunks/{NcAppNavigationSettings-BfysBg80.mjs.map → NcAppNavigationSettings-BaO-G72x.mjs.map} +1 -1
  159. package/dist/chunks/{NcAppNavigationSettings-ClcR05vZ.cjs → NcAppNavigationSettings-CotFe5aD.cjs} +3 -3
  160. package/dist/chunks/{NcAppNavigationSettings-ClcR05vZ.cjs.map → NcAppNavigationSettings-CotFe5aD.cjs.map} +1 -1
  161. package/dist/chunks/{NcAppNavigationToggle-DtJjJGQ5.mjs → NcAppNavigationToggle-CXX1MFrf.mjs} +2 -2
  162. package/dist/chunks/{NcAppNavigationToggle-DtJjJGQ5.mjs.map → NcAppNavigationToggle-CXX1MFrf.mjs.map} +1 -1
  163. package/dist/chunks/{NcAppNavigationToggle-CLPYPwyi.cjs → NcAppNavigationToggle-CkDMk16T.cjs} +2 -2
  164. package/dist/chunks/{NcAppNavigationToggle-CLPYPwyi.cjs.map → NcAppNavigationToggle-CkDMk16T.cjs.map} +1 -1
  165. package/dist/chunks/{NcAppSettingsDialog-C2-LWcDG.cjs → NcAppSettingsDialog-Fa5DTfig.cjs} +10 -9
  166. package/dist/chunks/NcAppSettingsDialog-Fa5DTfig.cjs.map +1 -0
  167. package/dist/chunks/{NcAppSettingsDialog-D0M18YFD.mjs → NcAppSettingsDialog-MxrFh-Ln.mjs} +8 -7
  168. package/dist/chunks/NcAppSettingsDialog-MxrFh-Ln.mjs.map +1 -0
  169. package/dist/chunks/{NcAppSidebar-Bljse39J.mjs → NcAppSidebar-B7GuNZ4C.mjs} +9 -7
  170. package/dist/chunks/NcAppSidebar-B7GuNZ4C.mjs.map +1 -0
  171. package/dist/chunks/{NcAppSidebar-BYHXZjYR.cjs → NcAppSidebar-DXEl0_ou.cjs} +9 -7
  172. package/dist/chunks/NcAppSidebar-DXEl0_ou.cjs.map +1 -0
  173. package/dist/chunks/{NcAssistantButton-BdUkhzq1.mjs → NcAssistantButton-B7BLAkwW.mjs} +2 -2
  174. package/dist/chunks/{NcAssistantButton-BdUkhzq1.mjs.map → NcAssistantButton-B7BLAkwW.mjs.map} +1 -1
  175. package/dist/chunks/{NcAssistantButton-mPenTfuv.cjs → NcAssistantButton-XS3UdAKm.cjs} +2 -2
  176. package/dist/chunks/{NcAssistantButton-mPenTfuv.cjs.map → NcAssistantButton-XS3UdAKm.cjs.map} +1 -1
  177. package/dist/chunks/{NcAvatar-DP8TpFfy.cjs → NcAvatar-D09ZAgeJ.cjs} +4 -4
  178. package/dist/chunks/{NcAvatar-DP8TpFfy.cjs.map → NcAvatar-D09ZAgeJ.cjs.map} +1 -1
  179. package/dist/chunks/{NcAvatar-CGnqUtoy.mjs → NcAvatar-DkAX4nqq.mjs} +4 -4
  180. package/dist/chunks/{NcAvatar-CGnqUtoy.mjs.map → NcAvatar-DkAX4nqq.mjs.map} +1 -1
  181. package/dist/chunks/{NcBreadcrumb-hK0W8qx4.cjs → NcBreadcrumb-14OmaYrH.cjs} +3 -3
  182. package/dist/chunks/{NcBreadcrumb-hK0W8qx4.cjs.map → NcBreadcrumb-14OmaYrH.cjs.map} +1 -1
  183. package/dist/chunks/{NcBreadcrumb-DH2FV6QI.mjs → NcBreadcrumb-D8xA3KcG.mjs} +3 -3
  184. package/dist/chunks/{NcBreadcrumb-DH2FV6QI.mjs.map → NcBreadcrumb-D8xA3KcG.mjs.map} +1 -1
  185. package/dist/chunks/{NcBreadcrumbs-pDN1N49I.cjs → NcBreadcrumbs-CZt3UuyO.cjs} +3 -3
  186. package/dist/chunks/{NcBreadcrumbs-pDN1N49I.cjs.map → NcBreadcrumbs-CZt3UuyO.cjs.map} +1 -1
  187. package/dist/chunks/{NcBreadcrumbs-DrYYSHAS.mjs → NcBreadcrumbs-CesoXxTs.mjs} +3 -3
  188. package/dist/chunks/{NcBreadcrumbs-DrYYSHAS.mjs.map → NcBreadcrumbs-CesoXxTs.mjs.map} +1 -1
  189. package/dist/chunks/{NcButton-DaWD-X8V.cjs → NcButton-ByTFUhwJ.cjs} +5 -4
  190. package/dist/chunks/NcButton-ByTFUhwJ.cjs.map +1 -0
  191. package/dist/chunks/{NcButton-BgppWSl9.mjs → NcButton-CCWEL9Ci.mjs} +5 -4
  192. package/dist/chunks/NcButton-CCWEL9Ci.mjs.map +1 -0
  193. package/dist/chunks/{NcCollectionList-DgLrYZ6o.cjs → NcCollectionList-2jk5XCm8.cjs} +4 -4
  194. package/dist/chunks/{NcCollectionList-DgLrYZ6o.cjs.map → NcCollectionList-2jk5XCm8.cjs.map} +1 -1
  195. package/dist/chunks/{NcCollectionList-BbmBJ4ET.mjs → NcCollectionList-DOAZ13vO.mjs} +4 -4
  196. package/dist/chunks/{NcCollectionList-BbmBJ4ET.mjs.map → NcCollectionList-DOAZ13vO.mjs.map} +1 -1
  197. package/dist/chunks/{NcColorPicker-DNpKf7gx.cjs → NcColorPicker-BTiAa5mm.cjs} +3 -3
  198. package/dist/chunks/{NcColorPicker-DNpKf7gx.cjs.map → NcColorPicker-BTiAa5mm.cjs.map} +1 -1
  199. package/dist/chunks/{NcColorPicker-Bzzw1uKu.mjs → NcColorPicker-SlazeVcI.mjs} +3 -3
  200. package/dist/chunks/{NcColorPicker-Bzzw1uKu.mjs.map → NcColorPicker-SlazeVcI.mjs.map} +1 -1
  201. package/dist/chunks/{NcContent-CMjQ3dfw.cjs → NcContent-BB-v-amq.cjs} +8 -6
  202. package/dist/chunks/{NcContent-DpGM2KRx.mjs.map → NcContent-BB-v-amq.cjs.map} +1 -1
  203. package/dist/chunks/{NcContent-DpGM2KRx.mjs → NcContent-BuTh0ZPb.mjs} +8 -6
  204. package/dist/chunks/{NcContent-CMjQ3dfw.cjs.map → NcContent-BuTh0ZPb.mjs.map} +1 -1
  205. package/dist/chunks/{NcDashboardWidget-NOuL4APU.mjs → NcDashboardWidget-CO1z9VUN.mjs} +3 -3
  206. package/dist/chunks/{NcDashboardWidget-NOuL4APU.mjs.map → NcDashboardWidget-CO1z9VUN.mjs.map} +1 -1
  207. package/dist/chunks/{NcDashboardWidget-DuoTxAyf.cjs → NcDashboardWidget-dMwnFBzc.cjs} +3 -3
  208. package/dist/chunks/{NcDashboardWidget-DuoTxAyf.cjs.map → NcDashboardWidget-dMwnFBzc.cjs.map} +1 -1
  209. package/dist/chunks/{NcDashboardWidgetItem-CBW263ij.mjs → NcDashboardWidgetItem-2VgB9qj2.mjs} +3 -3
  210. package/dist/chunks/{NcDashboardWidgetItem-CBW263ij.mjs.map → NcDashboardWidgetItem-2VgB9qj2.mjs.map} +1 -1
  211. package/dist/chunks/{NcDashboardWidgetItem-BFsKgWo2.cjs → NcDashboardWidgetItem-9tQgaPXS.cjs} +3 -3
  212. package/dist/chunks/{NcDashboardWidgetItem-BFsKgWo2.cjs.map → NcDashboardWidgetItem-9tQgaPXS.cjs.map} +1 -1
  213. package/dist/chunks/{NcDialog-BCCBuI6f.mjs → NcDialog-DZ7xq7XA.mjs} +2 -2
  214. package/dist/chunks/{NcDialog-BCCBuI6f.mjs.map → NcDialog-DZ7xq7XA.mjs.map} +1 -1
  215. package/dist/chunks/{NcDialog-x3G0Nuve.cjs → NcDialog-Qak1QTrv.cjs} +2 -2
  216. package/dist/chunks/{NcDialog-x3G0Nuve.cjs.map → NcDialog-Qak1QTrv.cjs.map} +1 -1
  217. package/dist/chunks/{NcDialogButton-DBtmgcol.cjs → NcDialogButton-BoetK2zm.cjs} +2 -2
  218. package/dist/chunks/{NcDialogButton-DBtmgcol.cjs.map → NcDialogButton-BoetK2zm.cjs.map} +1 -1
  219. package/dist/chunks/{NcDialogButton-DpA4mqr-.mjs → NcDialogButton-KNF3Co74.mjs} +2 -2
  220. package/dist/chunks/{NcDialogButton-DpA4mqr-.mjs.map → NcDialogButton-KNF3Co74.mjs.map} +1 -1
  221. package/dist/chunks/{NcEmojiPicker-DefnK492.cjs → NcEmojiPicker-2KIJVstd.cjs} +5 -5
  222. package/dist/chunks/{NcEmojiPicker-DefnK492.cjs.map → NcEmojiPicker-2KIJVstd.cjs.map} +1 -1
  223. package/dist/chunks/{NcEmojiPicker-C4jCrwQY.mjs → NcEmojiPicker-DNxcceCn.mjs} +5 -5
  224. package/dist/chunks/{NcEmojiPicker-C4jCrwQY.mjs.map → NcEmojiPicker-DNxcceCn.mjs.map} +1 -1
  225. package/dist/chunks/{NcFilePicker-BYWr-vcP.cjs → NcFilePicker-BL6iajt2.cjs} +2 -2
  226. package/dist/chunks/{NcFilePicker-BYWr-vcP.cjs.map → NcFilePicker-BL6iajt2.cjs.map} +1 -1
  227. package/dist/chunks/{NcFilePicker-DCPi6JGg.mjs → NcFilePicker-Ck9o-ia3.mjs} +2 -2
  228. package/dist/chunks/{NcFilePicker-DCPi6JGg.mjs.map → NcFilePicker-Ck9o-ia3.mjs.map} +1 -1
  229. package/dist/chunks/{NcFormBoxButton-BQi11xQX.mjs → NcFormBoxButton-CFWCJ0-X.mjs} +2 -2
  230. package/dist/chunks/{NcFormBoxButton-BQi11xQX.mjs.map → NcFormBoxButton-CFWCJ0-X.mjs.map} +1 -1
  231. package/dist/chunks/{NcFormBoxButton-BO2bMnah.cjs → NcFormBoxButton-ozVuTgCZ.cjs} +2 -2
  232. package/dist/chunks/{NcFormBoxButton-BO2bMnah.cjs.map → NcFormBoxButton-ozVuTgCZ.cjs.map} +1 -1
  233. package/dist/chunks/{NcFormBoxCopyButton-B2GrmfEz.cjs → NcFormBoxCopyButton-BS9aM994.cjs} +2 -2
  234. package/dist/chunks/{NcFormBoxCopyButton-B2GrmfEz.cjs.map → NcFormBoxCopyButton-BS9aM994.cjs.map} +1 -1
  235. package/dist/chunks/{NcFormBoxCopyButton-BkunQ3me.mjs → NcFormBoxCopyButton-Da8RuDH1.mjs} +2 -2
  236. package/dist/chunks/{NcFormBoxCopyButton-BkunQ3me.mjs.map → NcFormBoxCopyButton-Da8RuDH1.mjs.map} +1 -1
  237. package/dist/chunks/{NcFormBoxItem-y2AfRFCy.cjs → NcFormBoxItem-3lI7Bu3S.cjs} +2 -2
  238. package/dist/chunks/{NcFormBoxItem-y2AfRFCy.cjs.map → NcFormBoxItem-3lI7Bu3S.cjs.map} +1 -1
  239. package/dist/chunks/{NcFormBoxItem-Cu3gWo1q.mjs → NcFormBoxItem-Bz-P0lVG.mjs} +2 -2
  240. package/dist/chunks/{NcFormBoxItem-Cu3gWo1q.mjs.map → NcFormBoxItem-Bz-P0lVG.mjs.map} +1 -1
  241. package/dist/chunks/{NcFormBoxSwitch-OoIgFMb9.cjs → NcFormBoxSwitch-7R8iAj1R.cjs} +2 -2
  242. package/dist/chunks/{NcFormBoxSwitch-OoIgFMb9.cjs.map → NcFormBoxSwitch-7R8iAj1R.cjs.map} +1 -1
  243. package/dist/chunks/{NcFormBoxSwitch-E6sxPL4n.mjs → NcFormBoxSwitch-DaaMuPnk.mjs} +2 -2
  244. package/dist/chunks/{NcFormBoxSwitch-E6sxPL4n.mjs.map → NcFormBoxSwitch-DaaMuPnk.mjs.map} +1 -1
  245. package/dist/chunks/{NcHeaderButton-iEtQ74pa.cjs → NcHeaderButton-BndVfb3e.cjs} +2 -2
  246. package/dist/chunks/{NcHeaderButton-iEtQ74pa.cjs.map → NcHeaderButton-BndVfb3e.cjs.map} +1 -1
  247. package/dist/chunks/{NcHeaderButton-DXdY8gct.mjs → NcHeaderButton-GtIbBhEd.mjs} +2 -2
  248. package/dist/chunks/{NcHeaderButton-DXdY8gct.mjs.map → NcHeaderButton-GtIbBhEd.mjs.map} +1 -1
  249. package/dist/chunks/{NcHeaderMenu-efsSG80P.cjs → NcHeaderMenu-DUQ4pqU-.cjs} +2 -2
  250. package/dist/chunks/{NcHeaderMenu-efsSG80P.cjs.map → NcHeaderMenu-DUQ4pqU-.cjs.map} +1 -1
  251. package/dist/chunks/{NcHeaderMenu-BZnnbLTo.mjs → NcHeaderMenu-elBE_Ukl.mjs} +2 -2
  252. package/dist/chunks/{NcHeaderMenu-BZnnbLTo.mjs.map → NcHeaderMenu-elBE_Ukl.mjs.map} +1 -1
  253. package/dist/chunks/{NcInputConfirmCancel-CTvNhtqM.cjs → NcInputConfirmCancel-CEZVhgJR.cjs} +9 -5
  254. package/dist/chunks/NcInputConfirmCancel-CEZVhgJR.cjs.map +1 -0
  255. package/dist/chunks/{NcInputConfirmCancel-LAJSyhOn.mjs → NcInputConfirmCancel-CwuZqsuC.mjs} +9 -5
  256. package/dist/chunks/NcInputConfirmCancel-CwuZqsuC.mjs.map +1 -0
  257. package/dist/chunks/{NcInputField-DX2Jz57P.cjs → NcInputField-Brpn446B.cjs} +3 -3
  258. package/dist/chunks/{NcInputField-DX2Jz57P.cjs.map → NcInputField-Brpn446B.cjs.map} +1 -1
  259. package/dist/chunks/{NcInputField-j5EyU7QH.mjs → NcInputField-i4Z8nb4b.mjs} +3 -3
  260. package/dist/chunks/{NcInputField-j5EyU7QH.mjs.map → NcInputField-i4Z8nb4b.mjs.map} +1 -1
  261. package/dist/chunks/{NcListItem-C14yh4-n.cjs → NcListItem-C-e9iA9w.cjs} +2 -2
  262. package/dist/chunks/{NcListItem-C14yh4-n.cjs.map → NcListItem-C-e9iA9w.cjs.map} +1 -1
  263. package/dist/chunks/{NcListItem-D0JDzXkL.mjs → NcListItem-CaosvdEe.mjs} +2 -2
  264. package/dist/chunks/{NcListItem-D0JDzXkL.mjs.map → NcListItem-CaosvdEe.mjs.map} +1 -1
  265. package/dist/chunks/{NcListItemIcon-BccR3hro.cjs → NcListItemIcon-BQ0f65Vg.cjs} +2 -2
  266. package/dist/chunks/{NcListItemIcon-BccR3hro.cjs.map → NcListItemIcon-BQ0f65Vg.cjs.map} +1 -1
  267. package/dist/chunks/{NcListItemIcon-D35XZDGI.mjs → NcListItemIcon-DCKYv8Jr.mjs} +2 -2
  268. package/dist/chunks/{NcListItemIcon-D35XZDGI.mjs.map → NcListItemIcon-DCKYv8Jr.mjs.map} +1 -1
  269. package/dist/chunks/{NcPasswordField-HQK5d_nv.mjs → NcPasswordField-D4OFjLza.mjs} +2 -2
  270. package/dist/chunks/{NcPasswordField-HQK5d_nv.mjs.map → NcPasswordField-D4OFjLza.mjs.map} +1 -1
  271. package/dist/chunks/{NcPasswordField-BkY96Kt0.cjs → NcPasswordField-PQt7wMbW.cjs} +2 -2
  272. package/dist/chunks/{NcPasswordField-BkY96Kt0.cjs.map → NcPasswordField-PQt7wMbW.cjs.map} +1 -1
  273. package/dist/chunks/{NcRelatedResourcesPanel-BdmY-Mly.mjs → NcRelatedResourcesPanel-I2ZOB3cx.mjs} +2 -2
  274. package/dist/chunks/{NcRelatedResourcesPanel-BdmY-Mly.mjs.map → NcRelatedResourcesPanel-I2ZOB3cx.mjs.map} +1 -1
  275. package/dist/chunks/{NcRelatedResourcesPanel-BmpOFhV1.cjs → NcRelatedResourcesPanel-l1AlGr83.cjs} +2 -2
  276. package/dist/chunks/{NcRelatedResourcesPanel-BmpOFhV1.cjs.map → NcRelatedResourcesPanel-l1AlGr83.cjs.map} +1 -1
  277. package/dist/chunks/{NcRichContenteditable-BcTSkyeW.mjs → NcRichContenteditable-8ZA_LArB.mjs} +8 -8
  278. package/dist/chunks/{NcRichContenteditable-BcTSkyeW.mjs.map → NcRichContenteditable-8ZA_LArB.mjs.map} +1 -1
  279. package/dist/chunks/{NcRichContenteditable-QnLNsBkB.cjs → NcRichContenteditable-DZjIiOKo.cjs} +8 -8
  280. package/dist/chunks/{NcRichContenteditable-QnLNsBkB.cjs.map → NcRichContenteditable-DZjIiOKo.cjs.map} +1 -1
  281. package/dist/chunks/{NcRichText-DZgAb6-3.mjs → NcRichText-ByLPwUvM.mjs} +112 -26
  282. package/dist/chunks/NcRichText-ByLPwUvM.mjs.map +1 -0
  283. package/dist/chunks/{NcRichText-CiRdCF_B.cjs → NcRichText-pqvg5l27.cjs} +112 -26
  284. package/dist/chunks/NcRichText-pqvg5l27.cjs.map +1 -0
  285. package/dist/chunks/{NcSelect-DVXAVRT_.cjs → NcSelect-BCcSawYf.cjs} +3 -3
  286. package/dist/chunks/{NcSelect-DVXAVRT_.cjs.map → NcSelect-BCcSawYf.cjs.map} +1 -1
  287. package/dist/chunks/{NcSelect-FwcxH76q.mjs → NcSelect-CHc1QupB.mjs} +3 -3
  288. package/dist/chunks/{NcSelect-FwcxH76q.mjs.map → NcSelect-CHc1QupB.mjs.map} +1 -1
  289. package/dist/chunks/{NcSelectTags-yZfa_z_z.mjs → NcSelectTags-Bokig7ar.mjs} +2 -2
  290. package/dist/chunks/{NcSelectTags-yZfa_z_z.mjs.map → NcSelectTags-Bokig7ar.mjs.map} +1 -1
  291. package/dist/chunks/{NcSelectTags-BNFcTbHy.cjs → NcSelectTags-uU_mHbSm.cjs} +2 -2
  292. package/dist/chunks/{NcSelectTags-BNFcTbHy.cjs.map → NcSelectTags-uU_mHbSm.cjs.map} +1 -1
  293. package/dist/chunks/{NcSelectUsers-5r-vvEVy.mjs → NcSelectUsers-B4w9UC_d.mjs} +3 -3
  294. package/dist/chunks/{NcSelectUsers-5r-vvEVy.mjs.map → NcSelectUsers-B4w9UC_d.mjs.map} +1 -1
  295. package/dist/chunks/{NcSelectUsers-fp6nf6ic.cjs → NcSelectUsers-BB9ZIHeB.cjs} +3 -3
  296. package/dist/chunks/{NcSelectUsers-fp6nf6ic.cjs.map → NcSelectUsers-BB9ZIHeB.cjs.map} +1 -1
  297. package/dist/chunks/{NcSettingsSelectGroup-CUM0vkbN.mjs → NcSettingsSelectGroup-BdXf7ytX.mjs} +2 -2
  298. package/dist/chunks/{NcSettingsSelectGroup-CUM0vkbN.mjs.map → NcSettingsSelectGroup-BdXf7ytX.mjs.map} +1 -1
  299. package/dist/chunks/{NcSettingsSelectGroup-D5EWVZ7k.cjs → NcSettingsSelectGroup-BtNFBX1V.cjs} +2 -2
  300. package/dist/chunks/{NcSettingsSelectGroup-D5EWVZ7k.cjs.map → NcSettingsSelectGroup-BtNFBX1V.cjs.map} +1 -1
  301. package/dist/chunks/{NcTextArea-UKiTMLga.cjs → NcTextArea-B9Vn3rQC.cjs} +2 -2
  302. package/dist/chunks/{NcTextArea-UKiTMLga.cjs.map → NcTextArea-B9Vn3rQC.cjs.map} +1 -1
  303. package/dist/chunks/{NcTextArea-fGUiK7p2.mjs → NcTextArea-DPJWqlJb.mjs} +2 -2
  304. package/dist/chunks/{NcTextArea-fGUiK7p2.mjs.map → NcTextArea-DPJWqlJb.mjs.map} +1 -1
  305. package/dist/chunks/{NcTextField-B2tcddKo.cjs → NcTextField-B92lM77I.cjs} +2 -2
  306. package/dist/chunks/{NcTextField-B2tcddKo.cjs.map → NcTextField-B92lM77I.cjs.map} +1 -1
  307. package/dist/chunks/{NcTextField-ByDOTNvC.mjs → NcTextField-Czr9S6YO.mjs} +2 -2
  308. package/dist/chunks/{NcTextField-ByDOTNvC.mjs.map → NcTextField-Czr9S6YO.mjs.map} +1 -1
  309. package/dist/chunks/{NcTimezonePicker-CeQXCjIR.cjs → NcTimezonePicker-D2e7hW-Z.cjs} +2 -2
  310. package/dist/chunks/{NcTimezonePicker-CeQXCjIR.cjs.map → NcTimezonePicker-D2e7hW-Z.cjs.map} +1 -1
  311. package/dist/chunks/{NcTimezonePicker-Cok_NaVd.mjs → NcTimezonePicker-n9kr9A4o.mjs} +2 -2
  312. package/dist/chunks/{NcTimezonePicker-Cok_NaVd.mjs.map → NcTimezonePicker-n9kr9A4o.mjs.map} +1 -1
  313. package/dist/chunks/{NcUserBubble-Csw7PXyG.mjs → NcUserBubble-BGfZAi4c.mjs} +2 -2
  314. package/dist/chunks/{NcUserBubble-Csw7PXyG.mjs.map → NcUserBubble-BGfZAi4c.mjs.map} +1 -1
  315. package/dist/chunks/{NcUserBubble-CIcwErdM.cjs → NcUserBubble-CNQJUk2l.cjs} +2 -2
  316. package/dist/chunks/{NcUserBubble-CIcwErdM.cjs.map → NcUserBubble-CNQJUk2l.cjs.map} +1 -1
  317. package/dist/chunks/{NcUserStatusIcon-Bw0m9Xza.cjs → NcUserStatusIcon-BnGtoiCy.cjs} +2 -2
  318. package/dist/chunks/{NcUserStatusIcon-Bw0m9Xza.cjs.map → NcUserStatusIcon-BnGtoiCy.cjs.map} +1 -1
  319. package/dist/chunks/{NcUserStatusIcon-Cq1RnTfF.mjs → NcUserStatusIcon-DdPPN-cP.mjs} +2 -2
  320. package/dist/chunks/{NcUserStatusIcon-Cq1RnTfF.mjs.map → NcUserStatusIcon-DdPPN-cP.mjs.map} +1 -1
  321. package/dist/chunks/{ScopeComponent-B6luC3XR.mjs → ScopeComponent-77Az-4PS.mjs} +2 -2
  322. package/dist/chunks/{ScopeComponent-B6luC3XR.mjs.map → ScopeComponent-77Az-4PS.mjs.map} +1 -1
  323. package/dist/chunks/{ScopeComponent-Co-1SOFK.cjs → ScopeComponent-BLaRYUFv.cjs} +2 -2
  324. package/dist/chunks/{ScopeComponent-Co-1SOFK.cjs.map → ScopeComponent-BLaRYUFv.cjs.map} +1 -1
  325. package/dist/chunks/{colors-BmzDi7by.mjs → colors-Bp0JzIQ4.mjs} +5 -1
  326. package/dist/chunks/{colors-BmzDi7by.mjs.map → colors-Bp0JzIQ4.mjs.map} +1 -1
  327. package/dist/chunks/{colors-CND3oL8e.cjs → colors-CyIwf6gH.cjs} +5 -1
  328. package/dist/chunks/{colors-CND3oL8e.cjs.map → colors-CyIwf6gH.cjs.map} +1 -1
  329. package/dist/chunks/legacy-Bk0qQxIg.cjs +8 -0
  330. package/dist/chunks/legacy-Bk0qQxIg.cjs.map +1 -0
  331. package/dist/chunks/legacy-DV3mGZdh.mjs +9 -0
  332. package/dist/chunks/legacy-DV3mGZdh.mjs.map +1 -0
  333. package/dist/chunks/{referencePickerModal-BQExd0w6.mjs → referencePickerModal-B69WouiU.mjs} +5 -5
  334. package/dist/chunks/{referencePickerModal-BQExd0w6.mjs.map → referencePickerModal-B69WouiU.mjs.map} +1 -1
  335. package/dist/chunks/{referencePickerModal-BOCqzVJk.cjs → referencePickerModal-BGYbZYrX.cjs} +5 -5
  336. package/dist/chunks/{referencePickerModal-BOCqzVJk.cjs.map → referencePickerModal-BGYbZYrX.cjs.map} +1 -1
  337. package/dist/index.cjs +48 -48
  338. package/dist/index.mjs +49 -49
  339. package/dist/utils/legacy.d.ts +1 -0
  340. package/dist/vendor.LICENSE.txt +2 -2
  341. package/package.json +6 -6
  342. package/dist/assets/NcAppSettingsDialog-x8dImUGK.css +0 -103
  343. package/dist/assets/NcInputConfirmCancel-CkhRZCfD.css +0 -39
  344. package/dist/chunks/NcAppNavigation-BDxzq-ai.cjs.map +0 -1
  345. package/dist/chunks/NcAppNavigation-BPqJExo6.mjs.map +0 -1
  346. package/dist/chunks/NcAppNavigationItem-BBZ1SsqQ.cjs.map +0 -1
  347. package/dist/chunks/NcAppNavigationItem-DcKt7SjF.mjs.map +0 -1
  348. package/dist/chunks/NcAppSettingsDialog-C2-LWcDG.cjs.map +0 -1
  349. package/dist/chunks/NcAppSettingsDialog-D0M18YFD.mjs.map +0 -1
  350. package/dist/chunks/NcAppSidebar-BYHXZjYR.cjs.map +0 -1
  351. package/dist/chunks/NcAppSidebar-Bljse39J.mjs.map +0 -1
  352. package/dist/chunks/NcButton-BgppWSl9.mjs.map +0 -1
  353. package/dist/chunks/NcButton-DaWD-X8V.cjs.map +0 -1
  354. package/dist/chunks/NcInputConfirmCancel-CTvNhtqM.cjs.map +0 -1
  355. package/dist/chunks/NcInputConfirmCancel-LAJSyhOn.mjs.map +0 -1
  356. package/dist/chunks/NcRichText-CiRdCF_B.cjs.map +0 -1
  357. package/dist/chunks/NcRichText-DZgAb6-3.mjs.map +0 -1
  358. package/dist/chunks/legacy-KBXhWdRy.cjs +0 -5
  359. package/dist/chunks/legacy-KBXhWdRy.cjs.map +0 -1
  360. package/dist/chunks/legacy-MK4GvP26.mjs +0 -6
  361. package/dist/chunks/legacy-MK4GvP26.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NcAppNavigationSettings-BfysBg80.mjs","sources":["../../src/components/NcAppNavigationSettings/NcAppNavigationSettings.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div\n\t\tid=\"app-settings\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:class=\"{ open }\">\n\t\t<div id=\"app-settings__header\">\n\t\t\t<NcButton\n\t\t\t\t:aria-controls=\"contentId\"\n\t\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t\tclass=\"settings-button\"\n\t\t\t\talignment=\"start\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\twide\n\t\t\t\t@click=\"open = !open\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper class=\"settings-button__icon\" :path=\"isLegacy32 ? mdiCog : mdiCogOutline\" />\n\t\t\t\t</template>\n\t\t\t\t{{ name }}\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<Transition name=\"slide-up\">\n\t\t\t<div v-show=\"open\" :id=\"contentId\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</Transition>\n\t</div>\n</template>\n\n<script>\nimport { mdiCog, mdiCogOutline } from '@mdi/js'\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\n\nexport default {\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Text of the button\n\t\t *\n\t\t * @default 'Settings'\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: t('Settings'),\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst contentId = GenRandomId()\n\t\treturn {\n\t\t\tcontentId,\n\t\t\tisLegacy32,\n\t\t\tmdiCog,\n\t\t\tmdiCogOutline,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topen: false,\n\t\t}\n\t},\n\n\tcomputed: {\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\t},\n\n\tmethods: {\n\t\tcloseMenu() {\n\t\t\tthis.open = false\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n#app-settings {\n\tmargin-top: auto;\n\tpadding: $app-navigation-settings-margin;\n\n\t&__header {\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $app-navigation-settings-margin $app-navigation-settings-margin $app-navigation-settings-margin;\n\n\t\t.settings-button {\n\t\t\tpadding-inline: 0 calc((var(--default-clickable-area) - 16px) / 2) !important;\n\n\t\t\t:deep(.button-vue__text) {\n\t\t\t\tfont-weight: normal !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: block;\n\t\tpadding: 10px;\n\n\t\t/* prevent scrolled contents from stopping too early */\n\t\tmargin-bottom: -$app-navigation-settings-margin;\n\n\t\t/* restrict height of settings and make scrollable */\n\t\tmax-height: 300px;\n\t\toverflow-y: auto;\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.slide-up-leave-active,\n.slide-up-enter-active {\n\ttransition-duration: var(--animation-slow);\n\ttransition-property: max-height, padding;\n\toverflow-y: hidden !important;\n}\n\n.slide-up-enter,\n.slide-up-leave-to {\n\tmax-height: 0 !important;\n\tpadding: 0 10px !important;\n}\n\n</style>\n"],"names":["ClickOutside"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAA,YAAA;AAAA,EACA,YAAA;AAAA,IACA,cAAAA;AAAAA,EACA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,YAAA,YAAA;AACA,WAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,aAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA;AACA,WAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcAppNavigationSettings-BaO-G72x.mjs","sources":["../../src/components/NcAppNavigationSettings/NcAppNavigationSettings.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div\n\t\tid=\"app-settings\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:class=\"{ open }\">\n\t\t<div id=\"app-settings__header\">\n\t\t\t<NcButton\n\t\t\t\t:aria-controls=\"contentId\"\n\t\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t\tclass=\"settings-button\"\n\t\t\t\talignment=\"start\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\twide\n\t\t\t\t@click=\"open = !open\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper class=\"settings-button__icon\" :path=\"isLegacy32 ? mdiCog : mdiCogOutline\" />\n\t\t\t\t</template>\n\t\t\t\t{{ name }}\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<Transition name=\"slide-up\">\n\t\t\t<div v-show=\"open\" :id=\"contentId\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</Transition>\n\t</div>\n</template>\n\n<script>\nimport { mdiCog, mdiCogOutline } from '@mdi/js'\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\n\nexport default {\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Text of the button\n\t\t *\n\t\t * @default 'Settings'\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: t('Settings'),\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst contentId = GenRandomId()\n\t\treturn {\n\t\t\tcontentId,\n\t\t\tisLegacy32,\n\t\t\tmdiCog,\n\t\t\tmdiCogOutline,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topen: false,\n\t\t}\n\t},\n\n\tcomputed: {\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\t},\n\n\tmethods: {\n\t\tcloseMenu() {\n\t\t\tthis.open = false\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n#app-settings {\n\tmargin-top: auto;\n\tpadding: $app-navigation-settings-margin;\n\n\t&__header {\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $app-navigation-settings-margin $app-navigation-settings-margin $app-navigation-settings-margin;\n\n\t\t.settings-button {\n\t\t\tpadding-inline: 0 calc((var(--default-clickable-area) - 16px) / 2) !important;\n\n\t\t\t:deep(.button-vue__text) {\n\t\t\t\tfont-weight: normal !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: block;\n\t\tpadding: 10px;\n\n\t\t/* prevent scrolled contents from stopping too early */\n\t\tmargin-bottom: -$app-navigation-settings-margin;\n\n\t\t/* restrict height of settings and make scrollable */\n\t\tmax-height: 300px;\n\t\toverflow-y: auto;\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.slide-up-leave-active,\n.slide-up-enter-active {\n\ttransition-duration: var(--animation-slow);\n\ttransition-property: max-height, padding;\n\toverflow-y: hidden !important;\n}\n\n.slide-up-enter,\n.slide-up-leave-to {\n\tmax-height: 0 !important;\n\tpadding: 0 10px !important;\n}\n\n</style>\n"],"names":["ClickOutside"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAA,YAAA;AAAA,EACA,YAAA;AAAA,IACA,cAAAA;AAAAA,EACA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,YAAA,YAAA;AACA,WAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,aAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA;AACA,WAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ require('../assets/NcAppNavigationSettings-2Wh1E3Hq.css');
3
3
  "use strict";
4
4
  const mdi = require("./mdi-DTiP6a6e.cjs");
5
5
  const components = require("@vueuse/components");
6
- const NcButton = require("./NcButton-DaWD-X8V.cjs");
6
+ const NcButton = require("./NcButton-ByTFUhwJ.cjs");
7
7
  const NcIconSvgWrapper = require("./NcIconSvgWrapper-Bbl4kXZI.cjs");
8
8
  const _l10n = require("./_l10n-skrZri3h.cjs");
9
9
  const Mixins_clickOutsideOptions = require("../Mixins/clickOutsideOptions.cjs");
@@ -22,7 +22,7 @@ require("@nextcloud/axios");
22
22
  require("@nextcloud/capabilities");
23
23
  require("./logger-3HuiEIF6.cjs");
24
24
  const GenRandomId = require("./GenRandomId-D7iOvpZS.cjs");
25
- const legacy = require("./legacy-KBXhWdRy.cjs");
25
+ const legacy = require("./legacy-Bk0qQxIg.cjs");
26
26
  _l10n.register(_l10n.t48);
27
27
  const _sfc_main = {
28
28
  directives: {
@@ -94,4 +94,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
94
94
  );
95
95
  const NcAppNavigationSettings = __component__.exports;
96
96
  exports.NcAppNavigationSettings = NcAppNavigationSettings;
97
- //# sourceMappingURL=NcAppNavigationSettings-ClcR05vZ.cjs.map
97
+ //# sourceMappingURL=NcAppNavigationSettings-CotFe5aD.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcAppNavigationSettings-ClcR05vZ.cjs","sources":["../../src/components/NcAppNavigationSettings/NcAppNavigationSettings.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div\n\t\tid=\"app-settings\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:class=\"{ open }\">\n\t\t<div id=\"app-settings__header\">\n\t\t\t<NcButton\n\t\t\t\t:aria-controls=\"contentId\"\n\t\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t\tclass=\"settings-button\"\n\t\t\t\talignment=\"start\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\twide\n\t\t\t\t@click=\"open = !open\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper class=\"settings-button__icon\" :path=\"isLegacy32 ? mdiCog : mdiCogOutline\" />\n\t\t\t\t</template>\n\t\t\t\t{{ name }}\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<Transition name=\"slide-up\">\n\t\t\t<div v-show=\"open\" :id=\"contentId\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</Transition>\n\t</div>\n</template>\n\n<script>\nimport { mdiCog, mdiCogOutline } from '@mdi/js'\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\n\nexport default {\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Text of the button\n\t\t *\n\t\t * @default 'Settings'\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: t('Settings'),\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst contentId = GenRandomId()\n\t\treturn {\n\t\t\tcontentId,\n\t\t\tisLegacy32,\n\t\t\tmdiCog,\n\t\t\tmdiCogOutline,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topen: false,\n\t\t}\n\t},\n\n\tcomputed: {\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\t},\n\n\tmethods: {\n\t\tcloseMenu() {\n\t\t\tthis.open = false\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n#app-settings {\n\tmargin-top: auto;\n\tpadding: $app-navigation-settings-margin;\n\n\t&__header {\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $app-navigation-settings-margin $app-navigation-settings-margin $app-navigation-settings-margin;\n\n\t\t.settings-button {\n\t\t\tpadding-inline: 0 calc((var(--default-clickable-area) - 16px) / 2) !important;\n\n\t\t\t:deep(.button-vue__text) {\n\t\t\t\tfont-weight: normal !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: block;\n\t\tpadding: 10px;\n\n\t\t/* prevent scrolled contents from stopping too early */\n\t\tmargin-bottom: -$app-navigation-settings-margin;\n\n\t\t/* restrict height of settings and make scrollable */\n\t\tmax-height: 300px;\n\t\toverflow-y: auto;\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.slide-up-leave-active,\n.slide-up-enter-active {\n\ttransition-duration: var(--animation-slow);\n\ttransition-property: max-height, padding;\n\toverflow-y: hidden !important;\n}\n\n.slide-up-enter,\n.slide-up-leave-to {\n\tmax-height: 0 !important;\n\tpadding: 0 10px !important;\n}\n\n</style>\n"],"names":["ClickOutside","NcButton","NcIconSvgWrapper","clickOutsideOptions","t","GenRandomId","isLegacy32","mdiCog","mdiCogOutline"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAA,YAAA;AAAA,EACA,YAAA;AAAA,IACA,cAAAA,WAAAA;AAAAA,EACA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAC,SAAAA;AAAAA,IACA,kBAAAC,iBAAAA;AAAAA,EACA;AAAA,EAEA,QAAA;AAAA,IACAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAAC,MAAAA,EAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,YAAAC,YAAAA,YAAA;AACA,WAAA;AAAA,MACA;AAAA,MACA,YAAAC,OAAAA;AAAAA,MACA,QAAAC,IAAAA;AAAAA,MACA,eAAAC,IAAAA;AAAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,aAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA;AACA,WAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcAppNavigationSettings-CotFe5aD.cjs","sources":["../../src/components/NcAppNavigationSettings/NcAppNavigationSettings.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div\n\t\tid=\"app-settings\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:class=\"{ open }\">\n\t\t<div id=\"app-settings__header\">\n\t\t\t<NcButton\n\t\t\t\t:aria-controls=\"contentId\"\n\t\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t\tclass=\"settings-button\"\n\t\t\t\talignment=\"start\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\twide\n\t\t\t\t@click=\"open = !open\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper class=\"settings-button__icon\" :path=\"isLegacy32 ? mdiCog : mdiCogOutline\" />\n\t\t\t\t</template>\n\t\t\t\t{{ name }}\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<Transition name=\"slide-up\">\n\t\t\t<div v-show=\"open\" :id=\"contentId\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</Transition>\n\t</div>\n</template>\n\n<script>\nimport { mdiCog, mdiCogOutline } from '@mdi/js'\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\n\nexport default {\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Text of the button\n\t\t *\n\t\t * @default 'Settings'\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: t('Settings'),\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst contentId = GenRandomId()\n\t\treturn {\n\t\t\tcontentId,\n\t\t\tisLegacy32,\n\t\t\tmdiCog,\n\t\t\tmdiCogOutline,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topen: false,\n\t\t}\n\t},\n\n\tcomputed: {\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\t},\n\n\tmethods: {\n\t\tcloseMenu() {\n\t\t\tthis.open = false\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n#app-settings {\n\tmargin-top: auto;\n\tpadding: $app-navigation-settings-margin;\n\n\t&__header {\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $app-navigation-settings-margin $app-navigation-settings-margin $app-navigation-settings-margin;\n\n\t\t.settings-button {\n\t\t\tpadding-inline: 0 calc((var(--default-clickable-area) - 16px) / 2) !important;\n\n\t\t\t:deep(.button-vue__text) {\n\t\t\t\tfont-weight: normal !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: block;\n\t\tpadding: 10px;\n\n\t\t/* prevent scrolled contents from stopping too early */\n\t\tmargin-bottom: -$app-navigation-settings-margin;\n\n\t\t/* restrict height of settings and make scrollable */\n\t\tmax-height: 300px;\n\t\toverflow-y: auto;\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.slide-up-leave-active,\n.slide-up-enter-active {\n\ttransition-duration: var(--animation-slow);\n\ttransition-property: max-height, padding;\n\toverflow-y: hidden !important;\n}\n\n.slide-up-enter,\n.slide-up-leave-to {\n\tmax-height: 0 !important;\n\tpadding: 0 10px !important;\n}\n\n</style>\n"],"names":["ClickOutside","NcButton","NcIconSvgWrapper","clickOutsideOptions","t","GenRandomId","isLegacy32","mdiCog","mdiCogOutline"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAA,YAAA;AAAA,EACA,YAAA;AAAA,IACA,cAAAA,WAAAA;AAAAA,EACA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAC,SAAAA;AAAAA,IACA,kBAAAC,iBAAAA;AAAAA,EACA;AAAA,EAEA,QAAA;AAAA,IACAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAAC,MAAAA,EAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,YAAAC,YAAAA,YAAA;AACA,WAAA;AAAA,MACA;AAAA,MACA,YAAAC,OAAAA;AAAAA,MACA,QAAAC,IAAAA;AAAAA,MACA,eAAAC,IAAAA;AAAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,aAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA;AACA,WAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import '../assets/NcAppNavigationToggle-DgwbZOWc.css';
2
2
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
3
3
  import { r as register, F as t19, a as t } from "./_l10n-DVz9Qdzk.mjs";
4
- import { N as NcButton } from "./NcButton-BgppWSl9.mjs";
4
+ import { N as NcButton } from "./NcButton-CCWEL9Ci.mjs";
5
5
  const _sfc_main$2 = {
6
6
  name: "MenuIcon",
7
7
  emits: ["click"],
@@ -126,4 +126,4 @@ const NcAppNavigationToggle = __component__.exports;
126
126
  export {
127
127
  NcAppNavigationToggle as N
128
128
  };
129
- //# sourceMappingURL=NcAppNavigationToggle-DtJjJGQ5.mjs.map
129
+ //# sourceMappingURL=NcAppNavigationToggle-CXX1MFrf.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcAppNavigationToggle-DtJjJGQ5.mjs","sources":["../../node_modules/vue-material-design-icons/Menu.vue","../../node_modules/vue-material-design-icons/MenuOpen.vue","../../src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-open-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuOpenIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"app-navigation-toggle-wrapper\">\n\t\t<NcButton\n\t\t\tclass=\"app-navigation-toggle\"\n\t\t\taria-controls=\"app-navigation-vue\"\n\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t:aria-keyshortcuts=\"disableKeyboardShortcuts ? '' : 'n'\"\n\t\t\t:aria-label=\"label\"\n\t\t\t:title=\"label\"\n\t\t\tvariant=\"tertiary\"\n\t\t\t@click=\"toggleNavigation\">\n\t\t\t<template #icon>\n\t\t\t\t<MenuOpenIcon v-if=\"open\" :size=\"20\" />\n\t\t\t\t<MenuIcon v-else :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport MenuIcon from 'vue-material-design-icons/Menu.vue'\nimport MenuOpenIcon from 'vue-material-design-icons/MenuOpen.vue'\nimport { t } from '../../l10n.js'\nimport NcButton from '../NcButton/index.js'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\n\nexport default {\n\tname: 'NcAppNavigationToggle',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tMenuIcon,\n\t\tMenuOpenIcon,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Tracks whether the toggle has been clicked or not.\n\t\t * If it has been clicked, switches between the different MenuIcons\n\t\t * and emits a boolean indicating its opened status\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['update:open'],\n\n\tsetup() {\n\t\treturn { disableKeyboardShortcuts }\n\t},\n\n\tcomputed: {\n\t\tlabel() {\n\t\t\treturn this.open\n\t\t\t\t? t('Close navigation')\n\t\t\t\t: t('Open navigation {shortcut}', { shortcut: disableKeyboardShortcuts ? '' : '[n]' }).trim()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Once the toggle has been clicked, emits the toggle status\n\t\t * so parent components can gauge the status of the navigation button\n\t\t */\n\t\ttoggleNavigation() {\n\t\t\tthis.$emit('update:open', !this.open)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.app-navigation-toggle-wrapper {\n\tposition: absolute;\n\ttop: var(--app-navigation-padding);\n\tinset-inline-end: calc(0px - var(--app-navigation-padding));\n\tmargin-inline-end: calc(-1 * var(--default-clickable-area));\n}\n\nbutton.app-navigation-toggle {\n\tbackground-color: var(--color-main-background);\n}\n</style>\n"],"names":["_sfc_main"],"mappings":";;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;AChBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;ACNA,MAAA,2BAAA,OAAA,KAAA,eAAA,2BAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,aAAA;AAAA,EAEA,QAAA;AACA,WAAA,EAAA,yBAAA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,QAAA;AACA,aAAA,KAAA,OACA,EAAA,kBAAA,IACA,EAAA,8BAAA,EAAA,UAAA,2BAAA,KAAA,MAAA,CAAA,EAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AACA,WAAA,MAAA,eAAA,CAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"NcAppNavigationToggle-CXX1MFrf.mjs","sources":["../../node_modules/vue-material-design-icons/Menu.vue","../../node_modules/vue-material-design-icons/MenuOpen.vue","../../src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-open-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuOpenIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"app-navigation-toggle-wrapper\">\n\t\t<NcButton\n\t\t\tclass=\"app-navigation-toggle\"\n\t\t\taria-controls=\"app-navigation-vue\"\n\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t:aria-keyshortcuts=\"disableKeyboardShortcuts ? '' : 'n'\"\n\t\t\t:aria-label=\"label\"\n\t\t\t:title=\"label\"\n\t\t\tvariant=\"tertiary\"\n\t\t\t@click=\"toggleNavigation\">\n\t\t\t<template #icon>\n\t\t\t\t<MenuOpenIcon v-if=\"open\" :size=\"20\" />\n\t\t\t\t<MenuIcon v-else :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport MenuIcon from 'vue-material-design-icons/Menu.vue'\nimport MenuOpenIcon from 'vue-material-design-icons/MenuOpen.vue'\nimport { t } from '../../l10n.js'\nimport NcButton from '../NcButton/index.js'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\n\nexport default {\n\tname: 'NcAppNavigationToggle',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tMenuIcon,\n\t\tMenuOpenIcon,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Tracks whether the toggle has been clicked or not.\n\t\t * If it has been clicked, switches between the different MenuIcons\n\t\t * and emits a boolean indicating its opened status\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['update:open'],\n\n\tsetup() {\n\t\treturn { disableKeyboardShortcuts }\n\t},\n\n\tcomputed: {\n\t\tlabel() {\n\t\t\treturn this.open\n\t\t\t\t? t('Close navigation')\n\t\t\t\t: t('Open navigation {shortcut}', { shortcut: disableKeyboardShortcuts ? '' : '[n]' }).trim()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Once the toggle has been clicked, emits the toggle status\n\t\t * so parent components can gauge the status of the navigation button\n\t\t */\n\t\ttoggleNavigation() {\n\t\t\tthis.$emit('update:open', !this.open)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.app-navigation-toggle-wrapper {\n\tposition: absolute;\n\ttop: var(--app-navigation-padding);\n\tinset-inline-end: calc(0px - var(--app-navigation-padding));\n\tmargin-inline-end: calc(-1 * var(--default-clickable-area));\n}\n\nbutton.app-navigation-toggle {\n\tbackground-color: var(--color-main-background);\n}\n</style>\n"],"names":["_sfc_main"],"mappings":";;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;AChBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;ACNA,MAAA,2BAAA,OAAA,KAAA,eAAA,2BAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,aAAA;AAAA,EAEA,QAAA;AACA,WAAA,EAAA,yBAAA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,QAAA;AACA,aAAA,KAAA,OACA,EAAA,kBAAA,IACA,EAAA,8BAAA,EAAA,UAAA,2BAAA,KAAA,MAAA,CAAA,EAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AACA,WAAA,MAAA,eAAA,CAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1]}
@@ -2,7 +2,7 @@ require('../assets/NcAppNavigationToggle-DgwbZOWc.css');
2
2
  "use strict";
3
3
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
4
4
  const _l10n = require("./_l10n-skrZri3h.cjs");
5
- const NcButton = require("./NcButton-DaWD-X8V.cjs");
5
+ const NcButton = require("./NcButton-ByTFUhwJ.cjs");
6
6
  const _sfc_main$2 = {
7
7
  name: "MenuIcon",
8
8
  emits: ["click"],
@@ -125,4 +125,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
125
125
  );
126
126
  const NcAppNavigationToggle = __component__.exports;
127
127
  exports.NcAppNavigationToggle = NcAppNavigationToggle;
128
- //# sourceMappingURL=NcAppNavigationToggle-CLPYPwyi.cjs.map
128
+ //# sourceMappingURL=NcAppNavigationToggle-CkDMk16T.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcAppNavigationToggle-CLPYPwyi.cjs","sources":["../../node_modules/vue-material-design-icons/Menu.vue","../../node_modules/vue-material-design-icons/MenuOpen.vue","../../src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-open-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuOpenIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"app-navigation-toggle-wrapper\">\n\t\t<NcButton\n\t\t\tclass=\"app-navigation-toggle\"\n\t\t\taria-controls=\"app-navigation-vue\"\n\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t:aria-keyshortcuts=\"disableKeyboardShortcuts ? '' : 'n'\"\n\t\t\t:aria-label=\"label\"\n\t\t\t:title=\"label\"\n\t\t\tvariant=\"tertiary\"\n\t\t\t@click=\"toggleNavigation\">\n\t\t\t<template #icon>\n\t\t\t\t<MenuOpenIcon v-if=\"open\" :size=\"20\" />\n\t\t\t\t<MenuIcon v-else :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport MenuIcon from 'vue-material-design-icons/Menu.vue'\nimport MenuOpenIcon from 'vue-material-design-icons/MenuOpen.vue'\nimport { t } from '../../l10n.js'\nimport NcButton from '../NcButton/index.js'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\n\nexport default {\n\tname: 'NcAppNavigationToggle',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tMenuIcon,\n\t\tMenuOpenIcon,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Tracks whether the toggle has been clicked or not.\n\t\t * If it has been clicked, switches between the different MenuIcons\n\t\t * and emits a boolean indicating its opened status\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['update:open'],\n\n\tsetup() {\n\t\treturn { disableKeyboardShortcuts }\n\t},\n\n\tcomputed: {\n\t\tlabel() {\n\t\t\treturn this.open\n\t\t\t\t? t('Close navigation')\n\t\t\t\t: t('Open navigation {shortcut}', { shortcut: disableKeyboardShortcuts ? '' : '[n]' }).trim()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Once the toggle has been clicked, emits the toggle status\n\t\t * so parent components can gauge the status of the navigation button\n\t\t */\n\t\ttoggleNavigation() {\n\t\t\tthis.$emit('update:open', !this.open)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.app-navigation-toggle-wrapper {\n\tposition: absolute;\n\ttop: var(--app-navigation-padding);\n\tinset-inline-end: calc(0px - var(--app-navigation-padding));\n\tmargin-inline-end: calc(-1 * var(--default-clickable-area));\n}\n\nbutton.app-navigation-toggle {\n\tbackground-color: var(--color-main-background);\n}\n</style>\n"],"names":["_sfc_main","NcButton","t"],"mappings":";;;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;AChBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;ACNA,MAAA,2BAAA,OAAA,KAAA,eAAA,2BAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAC,SAAAA;AAAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,aAAA;AAAA,EAEA,QAAA;AACA,WAAA,EAAA,yBAAA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,QAAA;AACA,aAAA,KAAA,OACAC,MAAAA,EAAA,kBAAA,IACAA,MAAAA,EAAA,8BAAA,EAAA,UAAA,2BAAA,KAAA,MAAA,CAAA,EAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AACA,WAAA,MAAA,eAAA,CAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"NcAppNavigationToggle-CkDMk16T.cjs","sources":["../../node_modules/vue-material-design-icons/Menu.vue","../../node_modules/vue-material-design-icons/MenuOpen.vue","../../src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-open-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuOpenIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"app-navigation-toggle-wrapper\">\n\t\t<NcButton\n\t\t\tclass=\"app-navigation-toggle\"\n\t\t\taria-controls=\"app-navigation-vue\"\n\t\t\t:aria-expanded=\"open ? 'true' : 'false'\"\n\t\t\t:aria-keyshortcuts=\"disableKeyboardShortcuts ? '' : 'n'\"\n\t\t\t:aria-label=\"label\"\n\t\t\t:title=\"label\"\n\t\t\tvariant=\"tertiary\"\n\t\t\t@click=\"toggleNavigation\">\n\t\t\t<template #icon>\n\t\t\t\t<MenuOpenIcon v-if=\"open\" :size=\"20\" />\n\t\t\t\t<MenuIcon v-else :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport MenuIcon from 'vue-material-design-icons/Menu.vue'\nimport MenuOpenIcon from 'vue-material-design-icons/MenuOpen.vue'\nimport { t } from '../../l10n.js'\nimport NcButton from '../NcButton/index.js'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\n\nexport default {\n\tname: 'NcAppNavigationToggle',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tMenuIcon,\n\t\tMenuOpenIcon,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Tracks whether the toggle has been clicked or not.\n\t\t * If it has been clicked, switches between the different MenuIcons\n\t\t * and emits a boolean indicating its opened status\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['update:open'],\n\n\tsetup() {\n\t\treturn { disableKeyboardShortcuts }\n\t},\n\n\tcomputed: {\n\t\tlabel() {\n\t\t\treturn this.open\n\t\t\t\t? t('Close navigation')\n\t\t\t\t: t('Open navigation {shortcut}', { shortcut: disableKeyboardShortcuts ? '' : '[n]' }).trim()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Once the toggle has been clicked, emits the toggle status\n\t\t * so parent components can gauge the status of the navigation button\n\t\t */\n\t\ttoggleNavigation() {\n\t\t\tthis.$emit('update:open', !this.open)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.app-navigation-toggle-wrapper {\n\tposition: absolute;\n\ttop: var(--app-navigation-padding);\n\tinset-inline-end: calc(0px - var(--app-navigation-padding));\n\tmargin-inline-end: calc(-1 * var(--default-clickable-area));\n}\n\nbutton.app-navigation-toggle {\n\tbackground-color: var(--color-main-background);\n}\n</style>\n"],"names":["_sfc_main","NcButton","t"],"mappings":";;;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;AChBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;ACNA,MAAA,2BAAA,OAAA,KAAA,eAAA,2BAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAC,SAAAA;AAAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,aAAA;AAAA,EAEA,QAAA;AACA,WAAA,EAAA,yBAAA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,QAAA;AACA,aAAA,KAAA,OACAC,MAAAA,EAAA,kBAAA,IACAA,MAAAA,EAAA,8BAAA,EAAA,UAAA,2BAAA,KAAA,MAAA,CAAA,EAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AACA,WAAA,MAAA,eAAA,CAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1]}
@@ -1,24 +1,25 @@
1
- require('../assets/NcAppSettingsDialog-x8dImUGK.css');
1
+ require('../assets/NcAppSettingsDialog-DRyLeR3T.css');
2
2
  "use strict";
3
3
  const Vue = require("vue");
4
4
  const core = require("@vueuse/core");
5
5
  const debounce = require("debounce");
6
- const NcDialog = require("./NcDialog-x3G0Nuve.cjs");
6
+ const NcDialog = require("./NcDialog-Qak1QTrv.cjs");
7
7
  const Components_NcVNodes = require("../Components/NcVNodes.cjs");
8
8
  const appName = require("./appName-CgEzCWsS.cjs");
9
9
  const useAppSettingsDialog = require("./useAppSettingsDialog-DKwz-cwX.cjs");
10
10
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
11
11
  const Composables_useIsMobile = require("../Composables/useIsMobile.cjs");
12
12
  const _l10n = require("./_l10n-skrZri3h.cjs");
13
+ const legacy = require("./legacy-Bk0qQxIg.cjs");
13
14
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
14
15
  const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
15
16
  const debounce__default = /* @__PURE__ */ _interopDefault(debounce);
16
17
  const _sfc_main$1 = /* @__PURE__ */ Vue.defineComponent({
17
18
  __name: "NcAppSettingsDialogVersion",
18
19
  setup(__props) {
19
- const legacy = Vue.inject(useAppSettingsDialog.APP_SETTINGS_LEGACY_DESIGN_KEY);
20
+ const legacy2 = Vue.inject(useAppSettingsDialog.APP_SETTINGS_LEGACY_DESIGN_KEY);
20
21
  const localizedAppName = appName.useLocalizedAppName();
21
- return { __sfc: true, legacy, localizedAppName, APP_VERSION: appName.APP_VERSION };
22
+ return { __sfc: true, legacy: legacy2, localizedAppName, APP_VERSION: appName.APP_VERSION };
22
23
  }
23
24
  });
24
25
  const appSettingsDialogVersion = "_appSettingsDialogVersion_ux6wr";
@@ -139,13 +140,13 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
139
140
  selectedSection.value = registeredSections.value[0]?.id ?? "";
140
141
  }
141
142
  }
142
- return { __sfc: true, props, emit, open, settingsScroller, isMobile, selectedSection, linkClicked, registeredSections, hasNavigation, hasNavigationIcons, unfocusNavigationItem, sectionsOrderMap, handleSettingsNavigationClick, handleCloseModal, handleScroll, registerSection, unregisterSection, NcDialog: NcDialog.NcDialog, NcVNodes: Components_NcVNodes, NcAppSettingsDialogVersion, t: _l10n.t };
143
+ return { __sfc: true, props, emit, open, settingsScroller, isMobile, selectedSection, linkClicked, registeredSections, hasNavigation, hasNavigationIcons, unfocusNavigationItem, sectionsOrderMap, handleSettingsNavigationClick, handleCloseModal, handleScroll, registerSection, unregisterSection, NcDialog: NcDialog.NcDialog, NcVNodes: Components_NcVNodes, NcAppSettingsDialogVersion, t: _l10n.t, isLegacy34: legacy.isLegacy34 };
143
144
  }
144
145
  });
145
146
  var _sfc_render = function render2() {
146
147
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
147
- return _setup.open ? _c(_setup.NcDialog, { staticClass: "app-settings", attrs: { "content-classes": ["app-settings__content", { "app-settings__non-legacy": !_vm.legacy }], "navigation-classes": "app-settings__navigation", "additional-trap-elements": _vm.additionalTrapElements, "container": _vm.container, "close-on-click-outside": "", "navigation-aria-label": _setup.t("Settings navigation"), "size": "large", "name": _vm.name }, on: { "update:open": _setup.handleCloseModal }, scopedSlots: _vm._u([_setup.hasNavigation ? { key: "navigation", fn: function({ isCollapsed }) {
148
- return [!isCollapsed ? _c("ul", { staticClass: "navigation-list" }, _vm._l(_setup.registeredSections, function(section) {
148
+ return _setup.open ? _c(_setup.NcDialog, { staticClass: "app-settings", class: { "app-settings--legacy": _setup.isLegacy34 }, attrs: { "content-classes": ["app-settings__content", { "app-settings__non-legacy": !_vm.legacy }], "navigation-classes": "app-settings__navigation", "additional-trap-elements": _vm.additionalTrapElements, "container": _vm.container, "close-on-click-outside": "", "navigation-aria-label": _setup.t("Settings navigation"), "size": "large", "name": _vm.name }, on: { "update:open": _setup.handleCloseModal }, scopedSlots: _vm._u([_setup.hasNavigation ? { key: "navigation", fn: function({ isCollapsed }) {
149
+ return [!_setup.isLegacy34 ? _c("div", { staticClass: "app-settings__title" }, [_vm._v(" " + _vm._s(_vm.name) + " ")]) : _vm._e(), !isCollapsed ? _c("ul", { staticClass: "navigation-list" }, _vm._l(_setup.registeredSections, function(section) {
149
150
  return _c("li", { key: section.id }, [_c("a", { staticClass: "navigation-list__link", class: {
150
151
  "navigation-list__link--active": section.id === _setup.selectedSection,
151
152
  "navigation-list__link--icon": _setup.hasNavigationIcons
@@ -166,8 +167,8 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
166
167
  _sfc_staticRenderFns,
167
168
  false,
168
169
  null,
169
- "31f523ae"
170
+ "3fe3d63d"
170
171
  );
171
172
  const NcAppSettingsDialog = __component__.exports;
172
173
  exports.NcAppSettingsDialog = NcAppSettingsDialog;
173
- //# sourceMappingURL=NcAppSettingsDialog-C2-LWcDG.cjs.map
174
+ //# sourceMappingURL=NcAppSettingsDialog-Fa5DTfig.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcAppSettingsDialog-Fa5DTfig.cjs","sources":["../../src/components/NcAppSettingsDialog/NcAppSettingsDialogVersion.vue","../../src/components/NcAppSettingsDialog/NcAppSettingsDialog.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 { inject } from 'vue'\nimport { APP_VERSION, useLocalizedAppName } from '../../utils/appName.ts'\nimport { APP_SETTINGS_LEGACY_DESIGN_KEY } from './useAppSettingsDialog.ts'\n\nconst legacy = inject(APP_SETTINGS_LEGACY_DESIGN_KEY)!\n\nconst localizedAppName = useLocalizedAppName()\n</script>\n\n<template>\n\t<div :class=\"[$style.appSettingsDialogVersion, { [$style.appSettingsDialogVersion__legacy]: legacy }]\">\n\t\t{{ localizedAppName }} {{ APP_VERSION }}\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n.appSettingsDialogVersion {\n --form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n color: var(--color-text-maxcontrast);\n margin-block-end: calc(8 * var(--default-grid-baseline));\n margin-inline: var(--form-element-label-offset);\n}\n\n.appSettingsDialogVersion__legacy {\n margin-inline: 0;\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport type { VNode } from 'vue'\n\nimport { toRef, useVModel } from '@vueuse/core'\nimport debounce from 'debounce'\nimport Vue, { computed, onBeforeUnmount, provide, ref, shallowRef } from 'vue'\nimport NcDialog from '../NcDialog/NcDialog.vue'\nimport NcVNodes from '../NcVNodes/NcVNodes.vue'\nimport NcAppSettingsDialogVersion from './NcAppSettingsDialogVersion.vue'\nimport { useIsMobile } from '../../composables/useIsMobile/index.ts'\nimport { t } from '../../l10n.js'\nimport { isLegacy34 } from '../../utils/legacy.ts'\nimport { APP_SETTINGS_LEGACY_DESIGN_KEY, APP_SETTINGS_REGISTRATION_KEY } from './useAppSettingsDialog.ts'\n\nexport interface IAppSettingsSection {\n\tid: string\n\tname: string\n\torder?: number\n\ticon?: VNode[]\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Determines the open / closed state of the modal\n\t */\n\topen: boolean\n\n\t/**\n\t * Shows the navigation on desktop if true\n\t */\n\tshowNavigation?: boolean\n\n\t/**\n\t * Selector for the popover container\n\t */\n\tcontainer?: string\n\n\t/**\n\t * Name of the settings\n\t */\n\tname?: string\n\n\t/**\n\t * Additional elements to add to the focus trap\n\t */\n\tadditionalTrapElements?: (string | HTMLElement)[]\n\n\t/**\n\t * Use legacy design without any requirements for the section content\n\t *\n\t * @deprecated The legacy design is disabled by default on v9 and will be removed in future releases\n\t */\n\tlegacy?: boolean\n\n\t/**\n\t * Do not add the application version at the bottom of the dialog\n\t */\n\tnoVersion?: boolean\n}>(), {\n\tcontainer: 'body',\n\tname: '',\n\tadditionalTrapElements: () => [],\n\tlegacy: true, // eslint-disable-line vue/no-boolean-default -- changed to false in v9\n\tnoVersion: false,\n})\n\nconst emit = defineEmits<{\n\t(e: 'update:open', v: boolean): void\n}>()\n\nconst open = useVModel(props, 'open', emit, { passive: true })\n\nprovide(APP_SETTINGS_REGISTRATION_KEY, {\n\tregisterSection,\n\tunregisterSection,\n})\n\nprovide(APP_SETTINGS_LEGACY_DESIGN_KEY, toRef(() => props.legacy))\n\nconst settingsScroller = ref<HTMLDivElement>()\n\nconst isMobile = useIsMobile()\n\nconst selectedSection = ref('')\nconst linkClicked = ref(false)\nconst registeredSections = shallowRef<IAppSettingsSection[]>([])\n\nconst hasNavigation = computed(() => !isMobile.value && props.showNavigation)\n\n/**\n * Check if one or more navigation entries provide icons\n */\nconst hasNavigationIcons = computed(() => registeredSections.value.some(({ icon }) => !!icon))\n\n/**\n * Remove selected section once the user starts scrolling\n */\nconst unfocusNavigationItem = debounce(() => {\n\tselectedSection.value = ''\n\tif (document.activeElement?.className.includes('navigation-list__link')) {\n\t\t(document.activeElement as HTMLElement).blur()\n\t}\n}, 300)\n\n/**\n * Fallback order map to keep track of section orders if not provided by child components\n */\nconst sectionsOrderMap = new Map()\nonBeforeUnmount(() => {\n\tsectionsOrderMap.clear()\n})\n\n/**\n * Scrolls the content to the selected settings section.absolute\n *\n * @param item - the ID of the section\n */\nfunction handleSettingsNavigationClick(item: string) {\n\tlinkClicked.value = true\n\tdocument.getElementById('settings-section_' + item)!.scrollIntoView({\n\t\tbehavior: 'smooth',\n\t\tinline: 'nearest',\n\t})\n\tselectedSection.value = item\n\tsetTimeout(() => {\n\t\tlinkClicked.value = false\n\t}, 1000)\n}\n\n/**\n * Reset the dialog state when closed to have a clean state if re-opened.\n *\n * @param isOpen - The new modal open state\n */\nfunction handleCloseModal(isOpen: boolean) {\n\tif (isOpen) {\n\t\treturn\n\t}\n\n\topen.value = false\n\t// reset the scrolling state if the modal is just hidden\n\tsettingsScroller.value!.scrollTop = 0\n}\n\n/**\n * When scrolled manually we remove the focus from the navigation item.\n */\nfunction handleScroll() {\n\tif (open.value && !linkClicked.value) {\n\t\tunfocusNavigationItem()\n\t}\n}\n\n/**\n * Called when a new section is registered\n *\n * @param id - The section ID\n * @param name - The section name\n * @param order - Optional section order in navigation list\n * @param icon - Optional icon component\n */\nfunction registerSection(id: string, name: string, order?: number, icon?: VNode[]) {\n\t// Check for the uniqueness of section names\n\tif (registeredSections.value.some(({ id: otherId }) => id === otherId)) {\n\t\tthrow new Error(`Duplicate section id found: ${id}. Settings navigation sections must have unique section ids.`)\n\t}\n\tif (registeredSections.value.some(({ name: otherName }) => name === otherName)) {\n\t\tVue.util.warn(`Duplicate section name found: ${name}. Settings navigation sections must have unique section names.`)\n\t}\n\n\t// Ensure tab order is set\n\tif (order !== undefined) {\n\t\tsectionsOrderMap.set(id, order)\n\t} else if (sectionsOrderMap.has(id)) {\n\t\torder = sectionsOrderMap.get(id)\n\t} else {\n\t\t// Fallback to the closest positive number that isn't already taken\n\t\torder = Math.max(0, ...sectionsOrderMap.values()) + 1\n\t\tsectionsOrderMap.set(id, order)\n\t}\n\n\t// Sort sections by order in slots\n\tregisteredSections.value = [...registeredSections.value, { id, name, order, icon }]\n\t\t.sort(({ order: orderA }, { order: orderB }) => {\n\t\t\treturn orderA! - orderB!\n\t\t})\n\n\t// If this is the first section registered, set it as selected\n\tif (registeredSections.value.length === 1) {\n\t\tselectedSection.value = id\n\t}\n}\n\n/**\n * Called when a section is unregistered to remove it from dialog\n *\n * @param id - The section ID\n */\nfunction unregisterSection(id: string) {\n\tregisteredSections.value = registeredSections.value\n\t\t.filter(({ id: otherId }) => id !== otherId)\n\n\t// If the current section is unregistered, set the first section as selected\n\tif (selectedSection.value === id) {\n\t\tselectedSection.value = registeredSections.value[0]?.id ?? ''\n\t}\n}\n</script>\n\n<template>\n\t<NcDialog\n\t\tv-if=\"open\"\n\t\tclass=\"app-settings\"\n\t\t:class=\"{ 'app-settings--legacy': isLegacy34 }\"\n\t\t:content-classes=\"['app-settings__content', { 'app-settings__non-legacy': !legacy }]\"\n\t\tnavigation-classes=\"app-settings__navigation\"\n\t\t:additional-trap-elements=\"additionalTrapElements\"\n\t\t:container=\"container\"\n\t\tclose-on-click-outside\n\t\t:navigation-aria-label=\"t('Settings navigation')\"\n\t\tsize=\"large\"\n\t\t:name=\"name\"\n\t\t@update:open=\"handleCloseModal\">\n\t\t<template v-if=\"hasNavigation\" #navigation=\"{ isCollapsed }\">\n\t\t\t<div v-if=\"!isLegacy34\" class=\"app-settings__title\">\n\t\t\t\t{{ name }}\n\t\t\t</div>\n\t\t\t<ul\n\t\t\t\tv-if=\"!isCollapsed\"\n\t\t\t\tclass=\"navigation-list\">\n\t\t\t\t<li v-for=\"section in registeredSections\" :key=\"section.id\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t:aria-current=\"`${section.id === selectedSection}`\"\n\t\t\t\t\t\tclass=\"navigation-list__link\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'navigation-list__link--active': section.id === selectedSection,\n\t\t\t\t\t\t\t'navigation-list__link--icon': hasNavigationIcons,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:href=\"`#settings-section_${section.id}`\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t@click.prevent=\"handleSettingsNavigationClick(section.id)\"\n\t\t\t\t\t\t@keydown.enter=\"handleSettingsNavigationClick(section.id)\">\n\t\t\t\t\t\t<div v-if=\"hasNavigationIcons\" class=\"navigation-list__link-icon\">\n\t\t\t\t\t\t\t<NcVNodes v-if=\"section.icon\" :vnodes=\"section.icon\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"navigation-list__link-text\">\n\t\t\t\t\t\t\t{{ section.name }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</template>\n\t\t<div ref=\"settingsScroller\" @scroll=\"handleScroll\">\n\t\t\t<slot />\n\t\t\t<NcAppSettingsDialogVersion v-if=\"!noVersion\" />\n\t\t</div>\n\t</NcDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n$navigation-width: 200px;\n$content-inset: calc(3 * var(--default-grid-baseline));\n\n.app-settings:not(.app-settings--legacy) {\n\t--nav-tint: hsl(from var(--color-primary-element-light) h s calc(l * 1.045));\n\t--nav-tint-strong: var(--color-primary-element-light);\n\n\t:deep(.modal-wrapper .modal-container) {\n\t\tpadding-inline-start: 0 !important;\n\t\tpadding-block-start: 0 !important;\n\t\tbackground-color: var(--nav-tint);\n\t\toverflow: hidden;\n\t\tmax-width: 900px;\n\t}\n\n\t:deep(.dialog__name) {\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t\tclip-path: inset(100%);\n\t\twhite-space: nowrap;\n\t\tborder: 0;\n\t}\n\n\t.app-settings__title {\n\t\tbox-sizing: border-box;\n\t\tpadding: $content-inset;\n\t\tmargin: 0;\n\t\tfont-size: 20px;\n\t\tfont-weight: 700;\n\t}\n\n\t:deep(.app-settings__navigation) {\n\t\tmin-width: $navigation-width;\n\t\tmax-width: $navigation-width;\n\t\tflex: 0 0 $navigation-width;\n\t\tmargin-right: 0 !important;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\tposition: relative;\n\t\tbackground-color: var(--nav-tint);\n\t}\n\n\t:deep(.app-settings__content) {\n\t\tbox-sizing: border-box;\n\t\tpadding: $content-inset;\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-inline-start: 1px solid var(--color-border-dark);\n\t\tborder-start-start-radius: var(--border-radius-element);\n\t\tborder-end-start-radius: var(--border-radius-element);\n\t}\n\n\t.navigation-list {\n\t\theight: 100%;\n\t\tbox-sizing: border-box;\n\t\toverflow-y: auto;\n\t\tpadding: var(--default-grid-baseline);\n\n\t\t&__link {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tfont-size: var(--default-font-size);\n\t\t\tfont-weight: 500;\n\t\t\theight: var(--default-clickable-area);\n\t\t\tmargin: 2px 0;\n\t\t\tline-height: var(--default-clickable-area);\n\t\t\tborder-radius: var(--border-radius-element, var(--border-radius-pill));\n\t\t\tpadding-inline: calc(2 * var(--default-grid-baseline));\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tbackground-color: transparent;\n\t\t\tborder: none;\n\t\t\tcolor: var(--color-main-text);\n\n\t\t\t&:hover,\n\t\t\t&:focus-visible {\n\t\t\t\tbackground-color: color-mix(in srgb, var(--color-primary-element) 8%, transparent);\n\t\t\t}\n\n\t\t\t&:focus-visible {\n\t\t\t\toutline: 2px solid var(--color-main-text);\n\t\t\t\toutline-offset: -2px;\n\t\t\t}\n\n\t\t\t&--active {\n\t\t\t\tbackground-color: var(--nav-tint-strong);\n\n\t\t\t\t&:hover,\n\t\t\t\t&:focus-visible {\n\t\t\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t\t\t}\n\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tinset-block: var(--default-grid-baseline);\n\t\t\t\t\tinset-inline-start: 0;\n\t\t\t\t\twidth: 3px;\n\t\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\t\tborder-radius: 999px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&--icon {\n\t\t\t\tgap: var(--default-grid-baseline);\n\t\t\t}\n\n\t\t\t&-icon {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-content: center;\n\t\t\t\twidth: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t\tmax-width: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t}\n\t\t}\n\t}\n}\n\n:deep(.app-settings__content.app-settings__non-legacy) * {\n\tbox-sizing: border-box;\n}\n\n@media only screen and (max-width: $breakpoint-mobile) {\n\t.app-settings:not(.app-settings--legacy) {\n\t\t:deep(.modal-wrapper .modal-container) {\n\t\t\tpadding-inline-start: 12px !important;\n\t\t\tpadding-block-start: 4px !important;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t}\n\t\t:deep(.dialog__name) {\n\t\t\tposition: static;\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\t\t\tmargin: 0 0 12px 0;\n\t\t\tpadding-inline-end: var(--default-clickable-area);\n\t\t\toverflow: visible;\n\t\t\tclip-path: none;\n\t\t\twhite-space: normal;\n\t\t\tborder: 0;\n\t\t}\n\t\t:deep(.app-settings__content) {\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n.app-settings.app-settings--legacy {\n\t:deep(.app-settings__navigation) {\n\t\tmin-width: 200px;\n\t\tmargin-inline-end: calc(4 * var(--default-grid-baseline));\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\tposition: relative;\n\t}\n\n\t:deep(.app-settings__content) {\n\t\tpadding-inline: calc(4 * var(--default-grid-baseline));\n\t}\n\n\t.navigation-list {\n\t\theight: 100%;\n\t\toverflow-y: auto;\n\t\tpadding: calc(3 * var(--default-grid-baseline));\n\n\t\t&__link {\n\t\t\tdisplay: flex;\n\t\t\talign-content: center;\n\t\t\tfont-size: 16px;\n\t\t\theight: var(--default-clickable-area);\n\t\t\tmargin: 4px 0;\n\t\t\tline-height: var(--default-clickable-area);\n\t\t\tborder-radius: var(--border-radius-element, var(--border-radius-pill));\n\t\t\tfont-weight: var(--font-weight-element, bold);\n\t\t\tpadding: 0 calc(4 * var(--default-grid-baseline));\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tbackground-color: transparent;\n\t\t\tborder: none;\n\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t}\n\n\t\t\t&--active {\n\t\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t\t}\n\n\t\t\t&--icon {\n\t\t\t\tpadding-inline-start: calc(2 * var(--default-grid-baseline));\n\t\t\t\tgap: var(--default-grid-baseline);\n\t\t\t}\n\n\t\t\t&-icon {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-content: center;\n\t\t\t\twidth: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t\tmax-width: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n\n<docs>\nJust nest the `AppSettingSections` component into `NcAppSettingsDialog`,\nproviding the section's name prop. You can put your settings within each\n`NcAppSettingsSection` component.\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Show Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\">\n\t\t\t<NcAppSettingsSection id=\"asci-name-1\" name=\"Example name 1\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-2\" name=\"Example name 2\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-3\" name=\"Example name 3\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-4\" name=\"Example name 4\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-5\" name=\"Example name 5\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-6\" name=\"Example name 6\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-7\" name=\"Example name 7\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-8\" name=\"Example name 8\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-9\" name=\"Example name 9\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-10\" name=\"Example name 10\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsettingsOpen: false,\n\t\t}\n\t},\n}\n</script>\n```\n\nYou can also add icons to the section navigation:\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Show Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\">\n\t\t\t<NcAppSettingsSection id=\"asci-name-1\" name=\"Instagram\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Instagram :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<p style=\"height: 100vh;\">\n\t\t\t\t\tInstagram setting\n\t\t\t\t</p>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-2\" name=\"Mastodon\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Mastodon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<p style=\"height: 100vh;\">\n\t\t\t\t\tMastodon setting\n\t\t\t\t</p>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-3\" name=\"Twitch\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Twitch :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<p style=\"height: 100vh;\">\n\t\t\t\t\tTwitch setting\n\t\t\t\t</p>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-4\" name=\"Twitter\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Twitter :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tTwitter setting\n\t\t\t</NcAppSettingsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n\n<script>\nimport Instagram from 'vue-material-design-icons/Instagram.vue'\nimport Mastodon from 'vue-material-design-icons/Mastodon.vue'\nimport Twitch from 'vue-material-design-icons/Twitch.vue'\nimport Twitter from 'vue-material-design-icons/Twitter.vue'\n\nexport default {\n\tcomponents: {\n\t\tInstagram,\n\t\tMastodon,\n\t\tTwitch,\n\t\tTwitter,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsettingsOpen: false,\n\t\t}\n\t},\n}\n</script>\n```\n\nSections order in navigation list is defined during initial rendering.\nIn case of dynamic/conditional sections rendering explicit `order` prop must be used for ordering.\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Show Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\">\n\t\t\t<NcAppSettingsSection id=\"asci-name-1\" name=\"Example name 1\" :order=\"1\">\n\t\t\t\tSome example content\n\t\t\t\t<NcCheckboxRadioSwitch v-model=\"showExtraSections\">Show section 3</NcCheckboxRadioSwitch>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-2\" name=\"Example name 2\" :order=\"2\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<template v-if=\"showExtraSections\">\n\t\t\t\t<NcAppSettingsSection id=\"asci-name-3\" name=\"Example name 3\" :order=\"3\">\n\t\t\t\t\tSome example content\n\t\t\t\t</NcAppSettingsSection>\n\t\t\t</template>\n\t\t\t<NcAppSettingsSection id=\"asci-name-4\" name=\"Example name 4\" :order=\"4\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tsettingsOpen: false,\n\t\t\t\tshowExtraSections: true,\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n### New design\n\n```vue\n<script>\nimport { mdiArrowRight, mdiPlus, mdiDomain, mdiDockLeft, mdiDockBottom, mdiListBoxOutline, mdiPencilOutline, mdiTrashCanOutline, mdiMedalOutline, mdiEmailOutline } from '@mdi/js'\nexport default {\n\tsetup() {\n\t\treturn { mdiArrowRight, mdiPlus, mdiDomain, mdiDockLeft, mdiDockBottom, mdiListBoxOutline, mdiPencilOutline, mdiTrashCanOutline, mdiMedalOutline, mdiEmailOutline }\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsettingsOpen: false,\n\t\t\tswitchValue: true,\n\t\t\tlayout: 'vertical',\n\t\t\tsorting: 'asc',\n\t\t\treply: 'top',\n\t\t}\n\t},\n}\n</script>\n\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Mail Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\" :legacy=\"false\">\n\t\t\t<NcAppSettingsSection id=\"general\" name=\"General\">\n\t\t\t\t<NcButton wide>Set as default mail app</NcButton>\n\n\t\t\t\t<NcFormGroup label=\"Account settings\">\n\t\t\t\t\t<NcFormBox>\n\t\t\t\t\t\t<NcFormBoxButton label=\"user@example.com\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiArrowRight\" inline />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcFormBoxButton>\n\t\t\t\t\t\t<NcFormBoxButton label=\"sales@example.com\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiArrowRight\" inline />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcFormBoxButton>\n\t\t\t\t\t\t<NcButton wide>\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiPlus\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\tAdd mail account\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</NcFormBox>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"appearance\" name=\"Appearance\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch\n\t\t\t\t\t\tv-model=\"switchValue\"\n\t\t\t\t\t\tlabel=\"Show all messages in thread\"\n\t\t\t\t\t\tdescription=\"When off, only the selected messages will be shown\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcRadioGroup v-model=\"layout\" label=\"Layout\">\n\t\t\t\t\t<NcRadioGroupButton label=\"Vertical\" value=\"vertical\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDockLeft\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t\t<NcRadioGroupButton label=\"Horizontal\" value=\"horizontal\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDockBottom\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t\t<NcRadioGroupButton label=\"List\" value=\"list\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiListBoxOutline\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t</NcRadioGroup>\n\t\t\t\t<NcRadioGroup v-model=\"sorting\" label=\"Sorting\">\n\t\t\t\t\t<NcRadioGroupButton label=\"Newest first\" value=\"asc\" />\n\t\t\t\t\t<NcRadioGroupButton label=\"Oldest first\" value=\"desc\" />\n\t\t\t\t</NcRadioGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"messages\" name=\"Messages\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Avatars from Gravatar and favicons\" />\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Determine importance using machine learning\" />\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Search the body of messages in Priority inbox\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcRadioGroup v-model=\"reply\" label=\"Reply position\">\n\t\t\t\t\t<NcRadioGroupButton label=\"Top\" value=\"top\" />\n\t\t\t\t\t<NcRadioGroupButton label=\"Bottom\" value=\"bottom\" />\n\t\t\t\t</NcRadioGroup>\n\t\t\t\t<NcFormGroup\n\t\t\t\t\tlabel=\"Text blocks\"\n\t\t\t\t\tdescription=\"Reusable pieces of text that can be inserted in messages\">\n\t\t\t\t\t<NcListItem name=\"Title\">\n\t\t\t\t\t\t<template #subname>\n\t\t\t\t\t\t\tContent\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiPencilOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"Reply\">\n\t\t\t\t\t\t<template #subname>\n\t\t\t\t\t\t\tThank you for contacting us!\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiPencilOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"privacy\" name=\"Privacy\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch\n\t\t\t\t\t\tv-model=\"switchValue\"\n\t\t\t\t\t\tlabel=\"Data collection\"\n\t\t\t\t\t\tdescription=\"Allow the app to collect and process data locally to adapt to your preferences\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcFormGroup label=\"Always show images from\">\n\t\t\t\t\t<NcListItem name=\"example.com\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"example.net\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"mail@example.org\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiEmailOutline\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"security\" name=\"Security\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Highlight external addresses\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcFormGroup label=\"Internal addresses\">\n\t\t\t\t\t<NcListItem name=\"example.com\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"example.company@example.net\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiEmailOutline\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcButton wide>Add internal address</NcButton>\n\t\t\t\t</NcFormGroup>\n\t\t\t\t<NcFormGroup label=\"S/MIME\">\n\t\t\t\t\t<NcButton wide>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiMedalOutline\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tManage certificates\n\t\t\t\t\t</NcButton>\n\t\t\t\t</NcFormGroup>\n\t\t\t\t<NcFormGroup label=\"Mailvelope\">\n\t\t\t\t\t<NcFormBox>\n\t\t\t\t\t\t<NcFormBoxButton\n\t\t\t\t\t\t\tlabel=\"Step 1\"\n\t\t\t\t\t\t\tdescription=\"Install the browser extension\"\n\t\t\t\t\t\t\thref=\"https://www.mailvelope.com/\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tinverted-accent />\n\t\t\t\t\t\t<NcFormBoxButton\n\t\t\t\t\t\t\tlabel=\"Step 2\"\n\t\t\t\t\t\t\tdescription=\"Enable the current domain\"\n\t\t\t\t\t\t\tinverted-accent>\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcFormBoxButton>\n\t\t\t\t\t</NcFormBox>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"about\" name=\"About\">\n\t\t\t\t<NcFormGroup label=\"Acknowledgements\" description=\"This application includes CKEditor, an open-source editor. Copyright (C) CKEditor contributors. Licensed under GPLv2.\" />\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsShortcutsSection>\n\t\t\t\t<NcHotkeyList>\n\t\t\t\t\t<NcHotkey label=\"Compose new message\" hotkey=\"C\" />\n\t\t\t\t\t<NcHotkey label=\"Newer message\" hotkey=\"ArrowLeft\" />\n\t\t\t\t\t<NcHotkey label=\"Older message\" hotkey=\"ArrowRight\" />\n\t\t\t\t\t<NcHotkey label=\"Toggle star\" hotkey=\"S\" />\n\t\t\t\t\t<NcHotkey label=\"Toggle unread\" hotkey=\"U\" />\n\t\t\t\t\t<NcHotkey label=\"Archive\" hotkey=\"A\" />\n\t\t\t\t\t<NcHotkey label=\"Delete\" hotkey=\"Delete\" />\n\t\t\t\t\t<NcHotkey label=\"Search\" hotkey=\"Control F\" />\n\t\t\t\t\t<NcHotkey label=\"Send\" hotkey=\"Control Enter\" />\n\t\t\t\t\t<NcHotkey label=\"Refresh\" hotkey=\"R\" />\n\t\t\t\t</NcHotkeyList>\n\t\t\t</NcAppSettingsShortcutsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n```\n</docs>\n"],"names":["legacy","inject","APP_SETTINGS_LEGACY_DESIGN_KEY","useLocalizedAppName","useVModel","provide","APP_SETTINGS_REGISTRATION_KEY","toRef","ref","useIsMobile","shallowRef","computed","debounce","onBeforeUnmount","Vue"],"mappings":";;;;;;;;;;;;;;;;;;AAUA,UAAMA,UAASC,IAAAA,OAAOC,mDAA8B;AAEpD,UAAM,mBAAmBC,QAAAA,oBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC+DzB,UAAM,OAAOC,KAAAA,UAAU,OAAO,QAAQ,MAAM,EAAE,SAAS,MAAM;AAE7DC,QAAAA,QAAQC,qBAAAA,+BAA+B;AAAA,MACtC;AAAA,MACA;AAAA,IAAA,CACA;AAEDD,QAAAA,QAAQH,qBAAAA,gCAAgCK,KAAAA,MAAM,MAAM,MAAM,MAAM,CAAC;AAEjE,UAAM,mBAAmBC,IAAAA,IAAA;AAEzB,UAAM,WAAWC,wBAAAA,YAAA;AAEjB,UAAM,kBAAkBD,IAAAA,IAAI,EAAE;AAC9B,UAAM,cAAcA,IAAAA,IAAI,KAAK;AAC7B,UAAM,qBAAqBE,IAAAA,WAAkC,EAAE;AAE/D,UAAM,gBAAgBC,IAAAA,SAAS,MAAM,CAAC,SAAS,SAAS,MAAM,cAAc;AAK5E,UAAM,qBAAqBA,IAAAA,SAAS,MAAM,mBAAmB,MAAM,KAAK,CAAC,EAAE,KAAA,MAAW,CAAC,CAAC,IAAI,CAAC;AAK7F,UAAM,wBAAwBC,kBAAAA,QAAS,MAAM;AAC5C,sBAAgB,QAAQ;AACxB,UAAI,SAAS,eAAe,UAAU,SAAS,uBAAuB,GAAG;AACvE,iBAAS,cAA8B,KAAA;AAAA,MACzC;AAAA,IACD,GAAG,GAAG;AAKN,UAAM,uCAAuB,IAAA;AAC7BC,QAAAA,gBAAgB,MAAM;AACrB,uBAAiB,MAAA;AAAA,IAClB,CAAC;AAOD,aAAS,8BAA8B,MAAc;AACpD,kBAAY,QAAQ;AACpB,eAAS,eAAe,sBAAsB,IAAI,EAAG,eAAe;AAAA,QACnE,UAAU;AAAA,QACV,QAAQ;AAAA,MAAA,CACR;AACD,sBAAgB,QAAQ;AACxB,iBAAW,MAAM;AAChB,oBAAY,QAAQ;AAAA,MACrB,GAAG,GAAI;AAAA,IACR;AAOA,aAAS,iBAAiB,QAAiB;AAC1C,UAAI,QAAQ;AACX;AAAA,MACD;AAEA,WAAK,QAAQ;AAEb,uBAAiB,MAAO,YAAY;AAAA,IACrC;AAKA,aAAS,eAAe;AACvB,UAAI,KAAK,SAAS,CAAC,YAAY,OAAO;AACrC,8BAAA;AAAA,MACD;AAAA,IACD;AAUA,aAAS,gBAAgB,IAAY,MAAc,OAAgB,MAAgB;AAElF,UAAI,mBAAmB,MAAM,KAAK,CAAC,EAAE,IAAI,QAAA,MAAc,OAAO,OAAO,GAAG;AACvE,cAAM,IAAI,MAAM,+BAA+B,EAAE,8DAA8D;AAAA,MAChH;AACA,UAAI,mBAAmB,MAAM,KAAK,CAAC,EAAE,MAAM,UAAA,MAAgB,SAAS,SAAS,GAAG;AAC/EC,qBAAAA,QAAI,KAAK,KAAK,iCAAiC,IAAI,gEAAgE;AAAA,MACpH;AAGA,UAAI,UAAU,QAAW;AACxB,yBAAiB,IAAI,IAAI,KAAK;AAAA,MAC/B,WAAW,iBAAiB,IAAI,EAAE,GAAG;AACpC,gBAAQ,iBAAiB,IAAI,EAAE;AAAA,MAChC,OAAO;AAEN,gBAAQ,KAAK,IAAI,GAAG,GAAG,iBAAiB,OAAA,CAAQ,IAAI;AACpD,yBAAiB,IAAI,IAAI,KAAK;AAAA,MAC/B;AAGA,yBAAmB,QAAQ,CAAC,GAAG,mBAAmB,OAAO,EAAE,IAAI,MAAM,OAAO,KAAA,CAAM,EAChF,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,OAAO,aAAa;AAC/C,eAAO,SAAU;AAAA,MAClB,CAAC;AAGF,UAAI,mBAAmB,MAAM,WAAW,GAAG;AAC1C,wBAAgB,QAAQ;AAAA,MACzB;AAAA,IACD;AAOA,aAAS,kBAAkB,IAAY;AACtC,yBAAmB,QAAQ,mBAAmB,MAC5C,OAAO,CAAC,EAAE,IAAI,QAAA,MAAc,OAAO,OAAO;AAG5C,UAAI,gBAAgB,UAAU,IAAI;AACjC,wBAAgB,QAAQ,mBAAmB,MAAM,CAAC,GAAG,MAAM;AAAA,MAC5D;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,14 +1,15 @@
1
- import '../assets/NcAppSettingsDialog-x8dImUGK.css';
1
+ import '../assets/NcAppSettingsDialog-DRyLeR3T.css';
2
2
  import Vue, { defineComponent, inject, provide, ref, shallowRef, computed, onBeforeUnmount } from "vue";
3
3
  import { useVModel, toRef } from "@vueuse/core";
4
4
  import debounce from "debounce";
5
- import { N as NcDialog } from "./NcDialog-BCCBuI6f.mjs";
5
+ import { N as NcDialog } from "./NcDialog-DZ7xq7XA.mjs";
6
6
  import NcVNodes from "../Components/NcVNodes.mjs";
7
7
  import { u as useLocalizedAppName, A as APP_VERSION } from "./appName-qk1L3dsY.mjs";
8
8
  import { A as APP_SETTINGS_LEGACY_DESIGN_KEY, a as APP_SETTINGS_REGISTRATION_KEY } from "./useAppSettingsDialog-C73Wx6iQ.mjs";
9
9
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
10
10
  import { useIsMobile } from "../Composables/useIsMobile.mjs";
11
11
  import { r as register, M as t49, a as t } from "./_l10n-DVz9Qdzk.mjs";
12
+ import { i as isLegacy34 } from "./legacy-DV3mGZdh.mjs";
12
13
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
13
14
  __name: "NcAppSettingsDialogVersion",
14
15
  setup(__props) {
@@ -135,13 +136,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
135
136
  selectedSection.value = registeredSections.value[0]?.id ?? "";
136
137
  }
137
138
  }
138
- return { __sfc: true, props, emit, open, settingsScroller, isMobile, selectedSection, linkClicked, registeredSections, hasNavigation, hasNavigationIcons, unfocusNavigationItem, sectionsOrderMap, handleSettingsNavigationClick, handleCloseModal, handleScroll, registerSection, unregisterSection, NcDialog, NcVNodes, NcAppSettingsDialogVersion, t };
139
+ return { __sfc: true, props, emit, open, settingsScroller, isMobile, selectedSection, linkClicked, registeredSections, hasNavigation, hasNavigationIcons, unfocusNavigationItem, sectionsOrderMap, handleSettingsNavigationClick, handleCloseModal, handleScroll, registerSection, unregisterSection, NcDialog, NcVNodes, NcAppSettingsDialogVersion, t, isLegacy34 };
139
140
  }
140
141
  });
141
142
  var _sfc_render = function render2() {
142
143
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
143
- return _setup.open ? _c(_setup.NcDialog, { staticClass: "app-settings", attrs: { "content-classes": ["app-settings__content", { "app-settings__non-legacy": !_vm.legacy }], "navigation-classes": "app-settings__navigation", "additional-trap-elements": _vm.additionalTrapElements, "container": _vm.container, "close-on-click-outside": "", "navigation-aria-label": _setup.t("Settings navigation"), "size": "large", "name": _vm.name }, on: { "update:open": _setup.handleCloseModal }, scopedSlots: _vm._u([_setup.hasNavigation ? { key: "navigation", fn: function({ isCollapsed }) {
144
- return [!isCollapsed ? _c("ul", { staticClass: "navigation-list" }, _vm._l(_setup.registeredSections, function(section) {
144
+ return _setup.open ? _c(_setup.NcDialog, { staticClass: "app-settings", class: { "app-settings--legacy": _setup.isLegacy34 }, attrs: { "content-classes": ["app-settings__content", { "app-settings__non-legacy": !_vm.legacy }], "navigation-classes": "app-settings__navigation", "additional-trap-elements": _vm.additionalTrapElements, "container": _vm.container, "close-on-click-outside": "", "navigation-aria-label": _setup.t("Settings navigation"), "size": "large", "name": _vm.name }, on: { "update:open": _setup.handleCloseModal }, scopedSlots: _vm._u([_setup.hasNavigation ? { key: "navigation", fn: function({ isCollapsed }) {
145
+ return [!_setup.isLegacy34 ? _c("div", { staticClass: "app-settings__title" }, [_vm._v(" " + _vm._s(_vm.name) + " ")]) : _vm._e(), !isCollapsed ? _c("ul", { staticClass: "navigation-list" }, _vm._l(_setup.registeredSections, function(section) {
145
146
  return _c("li", { key: section.id }, [_c("a", { staticClass: "navigation-list__link", class: {
146
147
  "navigation-list__link--active": section.id === _setup.selectedSection,
147
148
  "navigation-list__link--icon": _setup.hasNavigationIcons
@@ -162,10 +163,10 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
162
163
  _sfc_staticRenderFns,
163
164
  false,
164
165
  null,
165
- "31f523ae"
166
+ "3fe3d63d"
166
167
  );
167
168
  const NcAppSettingsDialog = __component__.exports;
168
169
  export {
169
170
  NcAppSettingsDialog as N
170
171
  };
171
- //# sourceMappingURL=NcAppSettingsDialog-D0M18YFD.mjs.map
172
+ //# sourceMappingURL=NcAppSettingsDialog-MxrFh-Ln.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcAppSettingsDialog-MxrFh-Ln.mjs","sources":["../../src/components/NcAppSettingsDialog/NcAppSettingsDialogVersion.vue","../../src/components/NcAppSettingsDialog/NcAppSettingsDialog.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 { inject } from 'vue'\nimport { APP_VERSION, useLocalizedAppName } from '../../utils/appName.ts'\nimport { APP_SETTINGS_LEGACY_DESIGN_KEY } from './useAppSettingsDialog.ts'\n\nconst legacy = inject(APP_SETTINGS_LEGACY_DESIGN_KEY)!\n\nconst localizedAppName = useLocalizedAppName()\n</script>\n\n<template>\n\t<div :class=\"[$style.appSettingsDialogVersion, { [$style.appSettingsDialogVersion__legacy]: legacy }]\">\n\t\t{{ localizedAppName }} {{ APP_VERSION }}\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n.appSettingsDialogVersion {\n --form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n color: var(--color-text-maxcontrast);\n margin-block-end: calc(8 * var(--default-grid-baseline));\n margin-inline: var(--form-element-label-offset);\n}\n\n.appSettingsDialogVersion__legacy {\n margin-inline: 0;\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport type { VNode } from 'vue'\n\nimport { toRef, useVModel } from '@vueuse/core'\nimport debounce from 'debounce'\nimport Vue, { computed, onBeforeUnmount, provide, ref, shallowRef } from 'vue'\nimport NcDialog from '../NcDialog/NcDialog.vue'\nimport NcVNodes from '../NcVNodes/NcVNodes.vue'\nimport NcAppSettingsDialogVersion from './NcAppSettingsDialogVersion.vue'\nimport { useIsMobile } from '../../composables/useIsMobile/index.ts'\nimport { t } from '../../l10n.js'\nimport { isLegacy34 } from '../../utils/legacy.ts'\nimport { APP_SETTINGS_LEGACY_DESIGN_KEY, APP_SETTINGS_REGISTRATION_KEY } from './useAppSettingsDialog.ts'\n\nexport interface IAppSettingsSection {\n\tid: string\n\tname: string\n\torder?: number\n\ticon?: VNode[]\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Determines the open / closed state of the modal\n\t */\n\topen: boolean\n\n\t/**\n\t * Shows the navigation on desktop if true\n\t */\n\tshowNavigation?: boolean\n\n\t/**\n\t * Selector for the popover container\n\t */\n\tcontainer?: string\n\n\t/**\n\t * Name of the settings\n\t */\n\tname?: string\n\n\t/**\n\t * Additional elements to add to the focus trap\n\t */\n\tadditionalTrapElements?: (string | HTMLElement)[]\n\n\t/**\n\t * Use legacy design without any requirements for the section content\n\t *\n\t * @deprecated The legacy design is disabled by default on v9 and will be removed in future releases\n\t */\n\tlegacy?: boolean\n\n\t/**\n\t * Do not add the application version at the bottom of the dialog\n\t */\n\tnoVersion?: boolean\n}>(), {\n\tcontainer: 'body',\n\tname: '',\n\tadditionalTrapElements: () => [],\n\tlegacy: true, // eslint-disable-line vue/no-boolean-default -- changed to false in v9\n\tnoVersion: false,\n})\n\nconst emit = defineEmits<{\n\t(e: 'update:open', v: boolean): void\n}>()\n\nconst open = useVModel(props, 'open', emit, { passive: true })\n\nprovide(APP_SETTINGS_REGISTRATION_KEY, {\n\tregisterSection,\n\tunregisterSection,\n})\n\nprovide(APP_SETTINGS_LEGACY_DESIGN_KEY, toRef(() => props.legacy))\n\nconst settingsScroller = ref<HTMLDivElement>()\n\nconst isMobile = useIsMobile()\n\nconst selectedSection = ref('')\nconst linkClicked = ref(false)\nconst registeredSections = shallowRef<IAppSettingsSection[]>([])\n\nconst hasNavigation = computed(() => !isMobile.value && props.showNavigation)\n\n/**\n * Check if one or more navigation entries provide icons\n */\nconst hasNavigationIcons = computed(() => registeredSections.value.some(({ icon }) => !!icon))\n\n/**\n * Remove selected section once the user starts scrolling\n */\nconst unfocusNavigationItem = debounce(() => {\n\tselectedSection.value = ''\n\tif (document.activeElement?.className.includes('navigation-list__link')) {\n\t\t(document.activeElement as HTMLElement).blur()\n\t}\n}, 300)\n\n/**\n * Fallback order map to keep track of section orders if not provided by child components\n */\nconst sectionsOrderMap = new Map()\nonBeforeUnmount(() => {\n\tsectionsOrderMap.clear()\n})\n\n/**\n * Scrolls the content to the selected settings section.absolute\n *\n * @param item - the ID of the section\n */\nfunction handleSettingsNavigationClick(item: string) {\n\tlinkClicked.value = true\n\tdocument.getElementById('settings-section_' + item)!.scrollIntoView({\n\t\tbehavior: 'smooth',\n\t\tinline: 'nearest',\n\t})\n\tselectedSection.value = item\n\tsetTimeout(() => {\n\t\tlinkClicked.value = false\n\t}, 1000)\n}\n\n/**\n * Reset the dialog state when closed to have a clean state if re-opened.\n *\n * @param isOpen - The new modal open state\n */\nfunction handleCloseModal(isOpen: boolean) {\n\tif (isOpen) {\n\t\treturn\n\t}\n\n\topen.value = false\n\t// reset the scrolling state if the modal is just hidden\n\tsettingsScroller.value!.scrollTop = 0\n}\n\n/**\n * When scrolled manually we remove the focus from the navigation item.\n */\nfunction handleScroll() {\n\tif (open.value && !linkClicked.value) {\n\t\tunfocusNavigationItem()\n\t}\n}\n\n/**\n * Called when a new section is registered\n *\n * @param id - The section ID\n * @param name - The section name\n * @param order - Optional section order in navigation list\n * @param icon - Optional icon component\n */\nfunction registerSection(id: string, name: string, order?: number, icon?: VNode[]) {\n\t// Check for the uniqueness of section names\n\tif (registeredSections.value.some(({ id: otherId }) => id === otherId)) {\n\t\tthrow new Error(`Duplicate section id found: ${id}. Settings navigation sections must have unique section ids.`)\n\t}\n\tif (registeredSections.value.some(({ name: otherName }) => name === otherName)) {\n\t\tVue.util.warn(`Duplicate section name found: ${name}. Settings navigation sections must have unique section names.`)\n\t}\n\n\t// Ensure tab order is set\n\tif (order !== undefined) {\n\t\tsectionsOrderMap.set(id, order)\n\t} else if (sectionsOrderMap.has(id)) {\n\t\torder = sectionsOrderMap.get(id)\n\t} else {\n\t\t// Fallback to the closest positive number that isn't already taken\n\t\torder = Math.max(0, ...sectionsOrderMap.values()) + 1\n\t\tsectionsOrderMap.set(id, order)\n\t}\n\n\t// Sort sections by order in slots\n\tregisteredSections.value = [...registeredSections.value, { id, name, order, icon }]\n\t\t.sort(({ order: orderA }, { order: orderB }) => {\n\t\t\treturn orderA! - orderB!\n\t\t})\n\n\t// If this is the first section registered, set it as selected\n\tif (registeredSections.value.length === 1) {\n\t\tselectedSection.value = id\n\t}\n}\n\n/**\n * Called when a section is unregistered to remove it from dialog\n *\n * @param id - The section ID\n */\nfunction unregisterSection(id: string) {\n\tregisteredSections.value = registeredSections.value\n\t\t.filter(({ id: otherId }) => id !== otherId)\n\n\t// If the current section is unregistered, set the first section as selected\n\tif (selectedSection.value === id) {\n\t\tselectedSection.value = registeredSections.value[0]?.id ?? ''\n\t}\n}\n</script>\n\n<template>\n\t<NcDialog\n\t\tv-if=\"open\"\n\t\tclass=\"app-settings\"\n\t\t:class=\"{ 'app-settings--legacy': isLegacy34 }\"\n\t\t:content-classes=\"['app-settings__content', { 'app-settings__non-legacy': !legacy }]\"\n\t\tnavigation-classes=\"app-settings__navigation\"\n\t\t:additional-trap-elements=\"additionalTrapElements\"\n\t\t:container=\"container\"\n\t\tclose-on-click-outside\n\t\t:navigation-aria-label=\"t('Settings navigation')\"\n\t\tsize=\"large\"\n\t\t:name=\"name\"\n\t\t@update:open=\"handleCloseModal\">\n\t\t<template v-if=\"hasNavigation\" #navigation=\"{ isCollapsed }\">\n\t\t\t<div v-if=\"!isLegacy34\" class=\"app-settings__title\">\n\t\t\t\t{{ name }}\n\t\t\t</div>\n\t\t\t<ul\n\t\t\t\tv-if=\"!isCollapsed\"\n\t\t\t\tclass=\"navigation-list\">\n\t\t\t\t<li v-for=\"section in registeredSections\" :key=\"section.id\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t:aria-current=\"`${section.id === selectedSection}`\"\n\t\t\t\t\t\tclass=\"navigation-list__link\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'navigation-list__link--active': section.id === selectedSection,\n\t\t\t\t\t\t\t'navigation-list__link--icon': hasNavigationIcons,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:href=\"`#settings-section_${section.id}`\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t@click.prevent=\"handleSettingsNavigationClick(section.id)\"\n\t\t\t\t\t\t@keydown.enter=\"handleSettingsNavigationClick(section.id)\">\n\t\t\t\t\t\t<div v-if=\"hasNavigationIcons\" class=\"navigation-list__link-icon\">\n\t\t\t\t\t\t\t<NcVNodes v-if=\"section.icon\" :vnodes=\"section.icon\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"navigation-list__link-text\">\n\t\t\t\t\t\t\t{{ section.name }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</template>\n\t\t<div ref=\"settingsScroller\" @scroll=\"handleScroll\">\n\t\t\t<slot />\n\t\t\t<NcAppSettingsDialogVersion v-if=\"!noVersion\" />\n\t\t</div>\n\t</NcDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n$navigation-width: 200px;\n$content-inset: calc(3 * var(--default-grid-baseline));\n\n.app-settings:not(.app-settings--legacy) {\n\t--nav-tint: hsl(from var(--color-primary-element-light) h s calc(l * 1.045));\n\t--nav-tint-strong: var(--color-primary-element-light);\n\n\t:deep(.modal-wrapper .modal-container) {\n\t\tpadding-inline-start: 0 !important;\n\t\tpadding-block-start: 0 !important;\n\t\tbackground-color: var(--nav-tint);\n\t\toverflow: hidden;\n\t\tmax-width: 900px;\n\t}\n\n\t:deep(.dialog__name) {\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t\tclip-path: inset(100%);\n\t\twhite-space: nowrap;\n\t\tborder: 0;\n\t}\n\n\t.app-settings__title {\n\t\tbox-sizing: border-box;\n\t\tpadding: $content-inset;\n\t\tmargin: 0;\n\t\tfont-size: 20px;\n\t\tfont-weight: 700;\n\t}\n\n\t:deep(.app-settings__navigation) {\n\t\tmin-width: $navigation-width;\n\t\tmax-width: $navigation-width;\n\t\tflex: 0 0 $navigation-width;\n\t\tmargin-right: 0 !important;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\tposition: relative;\n\t\tbackground-color: var(--nav-tint);\n\t}\n\n\t:deep(.app-settings__content) {\n\t\tbox-sizing: border-box;\n\t\tpadding: $content-inset;\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-inline-start: 1px solid var(--color-border-dark);\n\t\tborder-start-start-radius: var(--border-radius-element);\n\t\tborder-end-start-radius: var(--border-radius-element);\n\t}\n\n\t.navigation-list {\n\t\theight: 100%;\n\t\tbox-sizing: border-box;\n\t\toverflow-y: auto;\n\t\tpadding: var(--default-grid-baseline);\n\n\t\t&__link {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tfont-size: var(--default-font-size);\n\t\t\tfont-weight: 500;\n\t\t\theight: var(--default-clickable-area);\n\t\t\tmargin: 2px 0;\n\t\t\tline-height: var(--default-clickable-area);\n\t\t\tborder-radius: var(--border-radius-element, var(--border-radius-pill));\n\t\t\tpadding-inline: calc(2 * var(--default-grid-baseline));\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tbackground-color: transparent;\n\t\t\tborder: none;\n\t\t\tcolor: var(--color-main-text);\n\n\t\t\t&:hover,\n\t\t\t&:focus-visible {\n\t\t\t\tbackground-color: color-mix(in srgb, var(--color-primary-element) 8%, transparent);\n\t\t\t}\n\n\t\t\t&:focus-visible {\n\t\t\t\toutline: 2px solid var(--color-main-text);\n\t\t\t\toutline-offset: -2px;\n\t\t\t}\n\n\t\t\t&--active {\n\t\t\t\tbackground-color: var(--nav-tint-strong);\n\n\t\t\t\t&:hover,\n\t\t\t\t&:focus-visible {\n\t\t\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t\t\t}\n\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tinset-block: var(--default-grid-baseline);\n\t\t\t\t\tinset-inline-start: 0;\n\t\t\t\t\twidth: 3px;\n\t\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\t\tborder-radius: 999px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&--icon {\n\t\t\t\tgap: var(--default-grid-baseline);\n\t\t\t}\n\n\t\t\t&-icon {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-content: center;\n\t\t\t\twidth: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t\tmax-width: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t}\n\t\t}\n\t}\n}\n\n:deep(.app-settings__content.app-settings__non-legacy) * {\n\tbox-sizing: border-box;\n}\n\n@media only screen and (max-width: $breakpoint-mobile) {\n\t.app-settings:not(.app-settings--legacy) {\n\t\t:deep(.modal-wrapper .modal-container) {\n\t\t\tpadding-inline-start: 12px !important;\n\t\t\tpadding-block-start: 4px !important;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t}\n\t\t:deep(.dialog__name) {\n\t\t\tposition: static;\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\t\t\tmargin: 0 0 12px 0;\n\t\t\tpadding-inline-end: var(--default-clickable-area);\n\t\t\toverflow: visible;\n\t\t\tclip-path: none;\n\t\t\twhite-space: normal;\n\t\t\tborder: 0;\n\t\t}\n\t\t:deep(.app-settings__content) {\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n.app-settings.app-settings--legacy {\n\t:deep(.app-settings__navigation) {\n\t\tmin-width: 200px;\n\t\tmargin-inline-end: calc(4 * var(--default-grid-baseline));\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\tposition: relative;\n\t}\n\n\t:deep(.app-settings__content) {\n\t\tpadding-inline: calc(4 * var(--default-grid-baseline));\n\t}\n\n\t.navigation-list {\n\t\theight: 100%;\n\t\toverflow-y: auto;\n\t\tpadding: calc(3 * var(--default-grid-baseline));\n\n\t\t&__link {\n\t\t\tdisplay: flex;\n\t\t\talign-content: center;\n\t\t\tfont-size: 16px;\n\t\t\theight: var(--default-clickable-area);\n\t\t\tmargin: 4px 0;\n\t\t\tline-height: var(--default-clickable-area);\n\t\t\tborder-radius: var(--border-radius-element, var(--border-radius-pill));\n\t\t\tfont-weight: var(--font-weight-element, bold);\n\t\t\tpadding: 0 calc(4 * var(--default-grid-baseline));\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tbackground-color: transparent;\n\t\t\tborder: none;\n\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t}\n\n\t\t\t&--active {\n\t\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t\t}\n\n\t\t\t&--icon {\n\t\t\t\tpadding-inline-start: calc(2 * var(--default-grid-baseline));\n\t\t\t\tgap: var(--default-grid-baseline);\n\t\t\t}\n\n\t\t\t&-icon {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-content: center;\n\t\t\t\twidth: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t\tmax-width: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n\n<docs>\nJust nest the `AppSettingSections` component into `NcAppSettingsDialog`,\nproviding the section's name prop. You can put your settings within each\n`NcAppSettingsSection` component.\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Show Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\">\n\t\t\t<NcAppSettingsSection id=\"asci-name-1\" name=\"Example name 1\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-2\" name=\"Example name 2\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-3\" name=\"Example name 3\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-4\" name=\"Example name 4\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-5\" name=\"Example name 5\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-6\" name=\"Example name 6\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-7\" name=\"Example name 7\">\n\t\t\t\tSome example content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-8\" name=\"Example name 8\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-9\" name=\"Example name 9\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-10\" name=\"Example name 10\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsettingsOpen: false,\n\t\t}\n\t},\n}\n</script>\n```\n\nYou can also add icons to the section navigation:\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Show Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\">\n\t\t\t<NcAppSettingsSection id=\"asci-name-1\" name=\"Instagram\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Instagram :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<p style=\"height: 100vh;\">\n\t\t\t\t\tInstagram setting\n\t\t\t\t</p>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-2\" name=\"Mastodon\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Mastodon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<p style=\"height: 100vh;\">\n\t\t\t\t\tMastodon setting\n\t\t\t\t</p>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-3\" name=\"Twitch\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Twitch :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<p style=\"height: 100vh;\">\n\t\t\t\t\tTwitch setting\n\t\t\t\t</p>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-4\" name=\"Twitter\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Twitter :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tTwitter setting\n\t\t\t</NcAppSettingsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n\n<script>\nimport Instagram from 'vue-material-design-icons/Instagram.vue'\nimport Mastodon from 'vue-material-design-icons/Mastodon.vue'\nimport Twitch from 'vue-material-design-icons/Twitch.vue'\nimport Twitter from 'vue-material-design-icons/Twitter.vue'\n\nexport default {\n\tcomponents: {\n\t\tInstagram,\n\t\tMastodon,\n\t\tTwitch,\n\t\tTwitter,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsettingsOpen: false,\n\t\t}\n\t},\n}\n</script>\n```\n\nSections order in navigation list is defined during initial rendering.\nIn case of dynamic/conditional sections rendering explicit `order` prop must be used for ordering.\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Show Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\">\n\t\t\t<NcAppSettingsSection id=\"asci-name-1\" name=\"Example name 1\" :order=\"1\">\n\t\t\t\tSome example content\n\t\t\t\t<NcCheckboxRadioSwitch v-model=\"showExtraSections\">Show section 3</NcCheckboxRadioSwitch>\n\t\t\t</NcAppSettingsSection>\n\t\t\t<NcAppSettingsSection id=\"asci-name-2\" name=\"Example name 2\" :order=\"2\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t\t<template v-if=\"showExtraSections\">\n\t\t\t\t<NcAppSettingsSection id=\"asci-name-3\" name=\"Example name 3\" :order=\"3\">\n\t\t\t\t\tSome example content\n\t\t\t\t</NcAppSettingsSection>\n\t\t\t</template>\n\t\t\t<NcAppSettingsSection id=\"asci-name-4\" name=\"Example name 4\" :order=\"4\">\n\t\t\t\tSome more content\n\t\t\t</NcAppSettingsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tsettingsOpen: false,\n\t\t\t\tshowExtraSections: true,\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n### New design\n\n```vue\n<script>\nimport { mdiArrowRight, mdiPlus, mdiDomain, mdiDockLeft, mdiDockBottom, mdiListBoxOutline, mdiPencilOutline, mdiTrashCanOutline, mdiMedalOutline, mdiEmailOutline } from '@mdi/js'\nexport default {\n\tsetup() {\n\t\treturn { mdiArrowRight, mdiPlus, mdiDomain, mdiDockLeft, mdiDockBottom, mdiListBoxOutline, mdiPencilOutline, mdiTrashCanOutline, mdiMedalOutline, mdiEmailOutline }\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsettingsOpen: false,\n\t\t\tswitchValue: true,\n\t\t\tlayout: 'vertical',\n\t\t\tsorting: 'asc',\n\t\t\treply: 'top',\n\t\t}\n\t},\n}\n</script>\n\n<template>\n\t<div>\n\t\t<NcButton @click=\"settingsOpen = true\">Mail Settings</NcButton>\n\t\t<NcAppSettingsDialog :open.sync=\"settingsOpen\" :show-navigation=\"true\" name=\"Application settings\" :legacy=\"false\">\n\t\t\t<NcAppSettingsSection id=\"general\" name=\"General\">\n\t\t\t\t<NcButton wide>Set as default mail app</NcButton>\n\n\t\t\t\t<NcFormGroup label=\"Account settings\">\n\t\t\t\t\t<NcFormBox>\n\t\t\t\t\t\t<NcFormBoxButton label=\"user@example.com\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiArrowRight\" inline />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcFormBoxButton>\n\t\t\t\t\t\t<NcFormBoxButton label=\"sales@example.com\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiArrowRight\" inline />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcFormBoxButton>\n\t\t\t\t\t\t<NcButton wide>\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiPlus\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\tAdd mail account\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</NcFormBox>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"appearance\" name=\"Appearance\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch\n\t\t\t\t\t\tv-model=\"switchValue\"\n\t\t\t\t\t\tlabel=\"Show all messages in thread\"\n\t\t\t\t\t\tdescription=\"When off, only the selected messages will be shown\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcRadioGroup v-model=\"layout\" label=\"Layout\">\n\t\t\t\t\t<NcRadioGroupButton label=\"Vertical\" value=\"vertical\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDockLeft\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t\t<NcRadioGroupButton label=\"Horizontal\" value=\"horizontal\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDockBottom\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t\t<NcRadioGroupButton label=\"List\" value=\"list\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiListBoxOutline\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t</NcRadioGroup>\n\t\t\t\t<NcRadioGroup v-model=\"sorting\" label=\"Sorting\">\n\t\t\t\t\t<NcRadioGroupButton label=\"Newest first\" value=\"asc\" />\n\t\t\t\t\t<NcRadioGroupButton label=\"Oldest first\" value=\"desc\" />\n\t\t\t\t</NcRadioGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"messages\" name=\"Messages\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Avatars from Gravatar and favicons\" />\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Determine importance using machine learning\" />\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Search the body of messages in Priority inbox\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcRadioGroup v-model=\"reply\" label=\"Reply position\">\n\t\t\t\t\t<NcRadioGroupButton label=\"Top\" value=\"top\" />\n\t\t\t\t\t<NcRadioGroupButton label=\"Bottom\" value=\"bottom\" />\n\t\t\t\t</NcRadioGroup>\n\t\t\t\t<NcFormGroup\n\t\t\t\t\tlabel=\"Text blocks\"\n\t\t\t\t\tdescription=\"Reusable pieces of text that can be inserted in messages\">\n\t\t\t\t\t<NcListItem name=\"Title\">\n\t\t\t\t\t\t<template #subname>\n\t\t\t\t\t\t\tContent\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiPencilOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"Reply\">\n\t\t\t\t\t\t<template #subname>\n\t\t\t\t\t\t\tThank you for contacting us!\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiPencilOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"privacy\" name=\"Privacy\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch\n\t\t\t\t\t\tv-model=\"switchValue\"\n\t\t\t\t\t\tlabel=\"Data collection\"\n\t\t\t\t\t\tdescription=\"Allow the app to collect and process data locally to adapt to your preferences\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcFormGroup label=\"Always show images from\">\n\t\t\t\t\t<NcListItem name=\"example.com\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"example.net\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"mail@example.org\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiEmailOutline\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"security\" name=\"Security\">\n\t\t\t\t<NcFormBox>\n\t\t\t\t\t<NcFormBoxSwitch v-model=\"switchValue\" label=\"Highlight external addresses\" />\n\t\t\t\t</NcFormBox>\n\t\t\t\t<NcFormGroup label=\"Internal addresses\">\n\t\t\t\t\t<NcListItem name=\"example.com\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcListItem name=\"example.company@example.net\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiEmailOutline\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #extra-actions>\n\t\t\t\t\t\t\t<NcButton variant=\"tertiary\" #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiTrashCanOutline\" inline />\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcListItem>\n\t\t\t\t\t<NcButton wide>Add internal address</NcButton>\n\t\t\t\t</NcFormGroup>\n\t\t\t\t<NcFormGroup label=\"S/MIME\">\n\t\t\t\t\t<NcButton wide>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiMedalOutline\" inline />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tManage certificates\n\t\t\t\t\t</NcButton>\n\t\t\t\t</NcFormGroup>\n\t\t\t\t<NcFormGroup label=\"Mailvelope\">\n\t\t\t\t\t<NcFormBox>\n\t\t\t\t\t\t<NcFormBoxButton\n\t\t\t\t\t\t\tlabel=\"Step 1\"\n\t\t\t\t\t\t\tdescription=\"Install the browser extension\"\n\t\t\t\t\t\t\thref=\"https://www.mailvelope.com/\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tinverted-accent />\n\t\t\t\t\t\t<NcFormBoxButton\n\t\t\t\t\t\t\tlabel=\"Step 2\"\n\t\t\t\t\t\t\tdescription=\"Enable the current domain\"\n\t\t\t\t\t\t\tinverted-accent>\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcFormBoxButton>\n\t\t\t\t\t</NcFormBox>\n\t\t\t\t</NcFormGroup>\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsSection id=\"about\" name=\"About\">\n\t\t\t\t<NcFormGroup label=\"Acknowledgements\" description=\"This application includes CKEditor, an open-source editor. Copyright (C) CKEditor contributors. Licensed under GPLv2.\" />\n\t\t\t</NcAppSettingsSection>\n\n\t\t\t<NcAppSettingsShortcutsSection>\n\t\t\t\t<NcHotkeyList>\n\t\t\t\t\t<NcHotkey label=\"Compose new message\" hotkey=\"C\" />\n\t\t\t\t\t<NcHotkey label=\"Newer message\" hotkey=\"ArrowLeft\" />\n\t\t\t\t\t<NcHotkey label=\"Older message\" hotkey=\"ArrowRight\" />\n\t\t\t\t\t<NcHotkey label=\"Toggle star\" hotkey=\"S\" />\n\t\t\t\t\t<NcHotkey label=\"Toggle unread\" hotkey=\"U\" />\n\t\t\t\t\t<NcHotkey label=\"Archive\" hotkey=\"A\" />\n\t\t\t\t\t<NcHotkey label=\"Delete\" hotkey=\"Delete\" />\n\t\t\t\t\t<NcHotkey label=\"Search\" hotkey=\"Control F\" />\n\t\t\t\t\t<NcHotkey label=\"Send\" hotkey=\"Control Enter\" />\n\t\t\t\t\t<NcHotkey label=\"Refresh\" hotkey=\"R\" />\n\t\t\t\t</NcHotkeyList>\n\t\t\t</NcAppSettingsShortcutsSection>\n\t\t</NcAppSettingsDialog>\n\t</div>\n</template>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAUA,UAAM,SAAS,OAAO,8BAA8B;AAEpD,UAAM,mBAAmB,oBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC+DzB,UAAM,OAAO,UAAU,OAAO,QAAQ,MAAM,EAAE,SAAS,MAAM;AAE7D,YAAQ,+BAA+B;AAAA,MACtC;AAAA,MACA;AAAA,IAAA,CACA;AAED,YAAQ,gCAAgC,MAAM,MAAM,MAAM,MAAM,CAAC;AAEjE,UAAM,mBAAmB,IAAA;AAEzB,UAAM,WAAW,YAAA;AAEjB,UAAM,kBAAkB,IAAI,EAAE;AAC9B,UAAM,cAAc,IAAI,KAAK;AAC7B,UAAM,qBAAqB,WAAkC,EAAE;AAE/D,UAAM,gBAAgB,SAAS,MAAM,CAAC,SAAS,SAAS,MAAM,cAAc;AAK5E,UAAM,qBAAqB,SAAS,MAAM,mBAAmB,MAAM,KAAK,CAAC,EAAE,KAAA,MAAW,CAAC,CAAC,IAAI,CAAC;AAK7F,UAAM,wBAAwB,SAAS,MAAM;AAC5C,sBAAgB,QAAQ;AACxB,UAAI,SAAS,eAAe,UAAU,SAAS,uBAAuB,GAAG;AACvE,iBAAS,cAA8B,KAAA;AAAA,MACzC;AAAA,IACD,GAAG,GAAG;AAKN,UAAM,uCAAuB,IAAA;AAC7B,oBAAgB,MAAM;AACrB,uBAAiB,MAAA;AAAA,IAClB,CAAC;AAOD,aAAS,8BAA8B,MAAc;AACpD,kBAAY,QAAQ;AACpB,eAAS,eAAe,sBAAsB,IAAI,EAAG,eAAe;AAAA,QACnE,UAAU;AAAA,QACV,QAAQ;AAAA,MAAA,CACR;AACD,sBAAgB,QAAQ;AACxB,iBAAW,MAAM;AAChB,oBAAY,QAAQ;AAAA,MACrB,GAAG,GAAI;AAAA,IACR;AAOA,aAAS,iBAAiB,QAAiB;AAC1C,UAAI,QAAQ;AACX;AAAA,MACD;AAEA,WAAK,QAAQ;AAEb,uBAAiB,MAAO,YAAY;AAAA,IACrC;AAKA,aAAS,eAAe;AACvB,UAAI,KAAK,SAAS,CAAC,YAAY,OAAO;AACrC,8BAAA;AAAA,MACD;AAAA,IACD;AAUA,aAAS,gBAAgB,IAAY,MAAc,OAAgB,MAAgB;AAElF,UAAI,mBAAmB,MAAM,KAAK,CAAC,EAAE,IAAI,QAAA,MAAc,OAAO,OAAO,GAAG;AACvE,cAAM,IAAI,MAAM,+BAA+B,EAAE,8DAA8D;AAAA,MAChH;AACA,UAAI,mBAAmB,MAAM,KAAK,CAAC,EAAE,MAAM,UAAA,MAAgB,SAAS,SAAS,GAAG;AAC/E,YAAI,KAAK,KAAK,iCAAiC,IAAI,gEAAgE;AAAA,MACpH;AAGA,UAAI,UAAU,QAAW;AACxB,yBAAiB,IAAI,IAAI,KAAK;AAAA,MAC/B,WAAW,iBAAiB,IAAI,EAAE,GAAG;AACpC,gBAAQ,iBAAiB,IAAI,EAAE;AAAA,MAChC,OAAO;AAEN,gBAAQ,KAAK,IAAI,GAAG,GAAG,iBAAiB,OAAA,CAAQ,IAAI;AACpD,yBAAiB,IAAI,IAAI,KAAK;AAAA,MAC/B;AAGA,yBAAmB,QAAQ,CAAC,GAAG,mBAAmB,OAAO,EAAE,IAAI,MAAM,OAAO,KAAA,CAAM,EAChF,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,OAAO,aAAa;AAC/C,eAAO,SAAU;AAAA,MAClB,CAAC;AAGF,UAAI,mBAAmB,MAAM,WAAW,GAAG;AAC1C,wBAAgB,QAAQ;AAAA,MACzB;AAAA,IACD;AAOA,aAAS,kBAAkB,IAAY;AACtC,yBAAmB,QAAQ,mBAAmB,MAC5C,OAAO,CAAC,EAAE,IAAI,QAAA,MAAc,OAAO,OAAO;AAG5C,UAAI,gBAAgB,UAAU,IAAI;AACjC,wBAAgB,QAAQ,mBAAmB,MAAM,CAAC,GAAG,MAAM;AAAA,MAC5D;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import '../assets/NcAppSidebar-BsMeIg8W.css';
1
+ import '../assets/NcAppSidebar-B1bkEVQA.css';
2
2
  import { Portal } from "@linusborg/vue-simple-portal";
3
3
  import { vOnClickOutside } from "@vueuse/components";
4
4
  import { createFocusTrap } from "focus-trap";
@@ -6,6 +6,7 @@ import Vue, { ref, provide } from "vue";
6
6
  import { A as ArrowRight } from "./ArrowRight-CY2b9hgN.mjs";
7
7
  import { C as Close } from "./Close-BtLPUSdO.mjs";
8
8
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
9
+ import { i as isLegacy34 } from "./legacy-DV3mGZdh.mjs";
9
10
  import { N as NcCheckboxRadioSwitch } from "./NcCheckboxRadioSwitch-D4IV4zWy.mjs";
10
11
  import NcVNodes from "../Components/NcVNodes.mjs";
11
12
  import { useIsSmallMobile } from "../Composables/useIsMobile.mjs";
@@ -14,9 +15,9 @@ import { r as register, S as t14, a as t } from "./_l10n-DVz9Qdzk.mjs";
14
15
  import { g as getTrapStack } from "./focusTrap-HJQ4pqHV.mjs";
15
16
  import { G as GenRandomId } from "./GenRandomId-F5ebeBB_.mjs";
16
17
  import { l as logger } from "./logger-D3RVzcfQ.mjs";
17
- import { N as NcActions } from "./NcActions-Ca_2vj8f.mjs";
18
+ import { N as NcActions } from "./NcActions-DbPerbGE.mjs";
18
19
  import { N as NcAppSidebarHeader } from "./NcAppSidebarHeader-CBE4tNYb.mjs";
19
- import { N as NcButton } from "./NcButton-BgppWSl9.mjs";
20
+ import { N as NcButton } from "./NcButton-CCWEL9Ci.mjs";
20
21
  import NcEmptyContent from "../Components/NcEmptyContent.mjs";
21
22
  import NcLoadingIcon from "../Components/NcLoadingIcon.mjs";
22
23
  const _sfc_main$4 = {
@@ -160,7 +161,8 @@ const _sfc_main$1 = {
160
161
  /**
161
162
  * Local active (open) tab's ID. It allows to use component without active.sync
162
163
  */
163
- activeTab: ""
164
+ activeTab: "",
165
+ isLegacy34
164
166
  };
165
167
  },
166
168
  computed: {
@@ -284,7 +286,7 @@ const _sfc_main$1 = {
284
286
  };
285
287
  var _sfc_render$1 = function render4() {
286
288
  var _vm = this, _c = _vm._self._c;
287
- return _c("div", { staticClass: "app-sidebar-tabs" }, [_vm.hasMultipleTabs || _vm.showForSingleTab ? _c("div", { staticClass: "app-sidebar-tabs__nav", attrs: { "role": "tablist" }, on: { "keydown": [function($event) {
289
+ return _c("div", { staticClass: "app-sidebar-tabs" }, [_vm.hasMultipleTabs || _vm.showForSingleTab ? _c("div", { staticClass: "app-sidebar-tabs__nav", class: { "app-sidebar-tabs__nav--legacy": _vm.isLegacy34 }, attrs: { "role": "tablist" }, on: { "keydown": [function($event) {
288
290
  if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "left", 37, $event.key, ["Left", "ArrowLeft"])) return null;
289
291
  if ("button" in $event && $event.button !== 0) return null;
290
292
  if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;
@@ -343,7 +345,7 @@ var __component__$1 = /* @__PURE__ */ normalizeComponent(
343
345
  _sfc_staticRenderFns$1,
344
346
  false,
345
347
  null,
346
- "4e1cbc50"
348
+ "9fb8a5f7"
347
349
  );
348
350
  const NcAppSidebarTabs = __component__$1.exports;
349
351
  register(t14);
@@ -825,4 +827,4 @@ const NcAppSidebar = __component__.exports;
825
827
  export {
826
828
  NcAppSidebar as N
827
829
  };
828
- //# sourceMappingURL=NcAppSidebar-Bljse39J.mjs.map
830
+ //# sourceMappingURL=NcAppSidebar-B7GuNZ4C.mjs.map