@nextcloud/vue 9.0.1 → 9.1.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 (235) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/assets/{NcAppContent-w2GK951A.css → NcAppContent-r_MkL84m.css} +23 -23
  3. package/dist/assets/{NcAppSettingsDialog-Csh7L4r1.css → NcAppSettingsDialog-Dcv235GW.css} +10 -10
  4. package/dist/assets/{NcAppSettingsSection-qx2jbXXG.css → NcAppSettingsSection-DIVdlb0g.css} +3 -3
  5. package/dist/assets/NcAppSettingsSectionShortcuts-CRO4RakN.css +6 -0
  6. package/dist/assets/{NcAppSidebar-RFBRejzg.css → NcAppSidebar-aGrIJ9f6.css} +119 -83
  7. package/dist/assets/{NcAvatar-CtFA4-sC.css → NcAvatar-BvgSFJqT.css} +24 -24
  8. package/dist/assets/{NcChip-Cjdo3xPB.css → NcChip-T6s7HqeL.css} +23 -11
  9. package/dist/assets/{NcColorPicker-DtGrgPdj.css → NcColorPicker-CO_Jq2Ow.css} +31 -31
  10. package/dist/assets/{NcEmptyContent-q-geAf0w.css → NcEmptyContent-CLjlZ-UT.css} +9 -9
  11. package/dist/assets/NcHotkey-QklVKSyr.css +44 -0
  12. package/dist/assets/NcHotkeyList-B42a0d8Z.css +9 -0
  13. package/dist/assets/{NcInputField-DRt2ahWd.css → NcInputField-D5SEE7D0.css} +40 -40
  14. package/dist/assets/{NcPasswordField-CrBkaH78.css → NcPasswordField-CMuvrdVC.css} +2 -2
  15. package/dist/assets/{NcRadioGroupButton-6mf16D0h.css → NcRadioGroupButton-qxDfssOp.css} +13 -13
  16. package/dist/assets/{NcRelatedResourcesPanel-BVdRCi64.css → NcRelatedResourcesPanel-CZDNe7DZ.css} +14 -14
  17. package/dist/assets/{NcRichContenteditable-zvOx7ivB.css → NcRichContenteditable-CPbTS8xJ.css} +11 -11
  18. package/dist/assets/{NcTextArea-D7H1UNAd.css → NcTextArea-7C2JBozT.css} +25 -25
  19. package/dist/assets/{NcUserStatusIcon-D8HqS9GC.css → NcUserStatusIcon-B3aHoBAd.css} +4 -4
  20. package/dist/assets/{referencePickerModal-B4dORP5P.css → referencePickerModal-DWMAMaU3.css} +6 -6
  21. package/dist/chunks/{NcActionButtonGroup-CMnSKp08.mjs → NcActionButtonGroup-EyWT8pe-.mjs} +2 -2
  22. package/dist/chunks/{NcActionButtonGroup-CMnSKp08.mjs.map → NcActionButtonGroup-EyWT8pe-.mjs.map} +1 -1
  23. package/dist/chunks/{NcActionInput-_ccoTcPV.mjs → NcActionInput-BaHXAvFo.mjs} +6 -6
  24. package/dist/chunks/{NcActionInput-_ccoTcPV.mjs.map → NcActionInput-BaHXAvFo.mjs.map} +1 -1
  25. package/dist/chunks/{NcActions-Ccr8kkyh.mjs → NcActions-C-E6BGfZ.mjs} +2 -2
  26. package/dist/chunks/{NcActions-Ccr8kkyh.mjs.map → NcActions-C-E6BGfZ.mjs.map} +1 -1
  27. package/dist/chunks/{NcAppContent-CFhtQHrc.mjs → NcAppContent-Qg8YBJa7.mjs} +10 -7
  28. package/dist/chunks/NcAppContent-Qg8YBJa7.mjs.map +1 -0
  29. package/dist/chunks/{NcAppNavigation-CxnSGi06.mjs → NcAppNavigation-BWd7-5H0.mjs} +2 -2
  30. package/dist/chunks/{NcAppNavigation-CxnSGi06.mjs.map → NcAppNavigation-BWd7-5H0.mjs.map} +1 -1
  31. package/dist/chunks/{NcAppNavigationCaption-C35kejgM.mjs → NcAppNavigationCaption-wzGkHPZs.mjs} +2 -2
  32. package/dist/chunks/{NcAppNavigationCaption-C35kejgM.mjs.map → NcAppNavigationCaption-wzGkHPZs.mjs.map} +1 -1
  33. package/dist/chunks/{NcAppNavigationItem-C08oNLGX.mjs → NcAppNavigationItem-Cz_lEp5a.mjs} +5 -5
  34. package/dist/chunks/{NcAppNavigationItem-C08oNLGX.mjs.map → NcAppNavigationItem-Cz_lEp5a.mjs.map} +1 -1
  35. package/dist/chunks/{NcAppNavigationNewItem-BuL6tIOy.mjs → NcAppNavigationNewItem-D-JsQf87.mjs} +2 -2
  36. package/dist/chunks/{NcAppNavigationNewItem-BuL6tIOy.mjs.map → NcAppNavigationNewItem-D-JsQf87.mjs.map} +1 -1
  37. package/dist/chunks/{NcAppNavigationSearch-CFXt-xr0.mjs → NcAppNavigationSearch-BbXky-Un.mjs} +3 -3
  38. package/dist/chunks/{NcAppNavigationSearch-CFXt-xr0.mjs.map → NcAppNavigationSearch-BbXky-Un.mjs.map} +1 -1
  39. package/dist/chunks/{NcAppNavigationSettings-DQ8Xle74.mjs → NcAppNavigationSettings-CgRg-AbU.mjs} +2 -2
  40. package/dist/chunks/{NcAppNavigationSettings-DQ8Xle74.mjs.map → NcAppNavigationSettings-CgRg-AbU.mjs.map} +1 -1
  41. package/dist/chunks/{NcAppSettingsDialog-CqoSAJb6.mjs → NcAppSettingsDialog-BZzj8jNU.mjs} +21 -12
  42. package/dist/chunks/NcAppSettingsDialog-BZzj8jNU.mjs.map +1 -0
  43. package/dist/chunks/NcAppSettingsSection-urZiy9aH.mjs +54 -0
  44. package/dist/chunks/NcAppSettingsSection-urZiy9aH.mjs.map +1 -0
  45. package/dist/chunks/NcAppSettingsSectionShortcuts-CK8lXUxx.mjs +38 -0
  46. package/dist/chunks/NcAppSettingsSectionShortcuts-CK8lXUxx.mjs.map +1 -0
  47. package/dist/chunks/{NcAppSidebar-CjQtPAhV.mjs → NcAppSidebar-Du9lcG-G.mjs} +108 -68
  48. package/dist/chunks/NcAppSidebar-Du9lcG-G.mjs.map +1 -0
  49. package/dist/chunks/{NcAvatar-BkmHv-oY.mjs → NcAvatar-CZVJYWdr.mjs} +6 -6
  50. package/dist/chunks/NcAvatar-CZVJYWdr.mjs.map +1 -0
  51. package/dist/chunks/NcBlurHash-BiFktE2N.mjs.map +1 -1
  52. package/dist/chunks/{NcBreadcrumb-NKaosido.mjs → NcBreadcrumb-CkUvC1g0.mjs} +2 -2
  53. package/dist/chunks/{NcBreadcrumb-NKaosido.mjs.map → NcBreadcrumb-CkUvC1g0.mjs.map} +1 -1
  54. package/dist/chunks/{NcBreadcrumbs-CYt9wRvh.mjs → NcBreadcrumbs-Dx6ylWcp.mjs} +3 -3
  55. package/dist/chunks/{NcBreadcrumbs-CYt9wRvh.mjs.map → NcBreadcrumbs-Dx6ylWcp.mjs.map} +1 -1
  56. package/dist/chunks/{NcCheckboxRadioSwitch-BWumYbec.mjs → NcCheckboxRadioSwitch-Da3UT5om.mjs} +2 -2
  57. package/dist/chunks/{NcCheckboxRadioSwitch-BWumYbec.mjs.map → NcCheckboxRadioSwitch-Da3UT5om.mjs.map} +1 -1
  58. package/dist/chunks/{NcChip-CoZcWPtf.mjs → NcChip-CIjgDRrf.mjs} +5 -5
  59. package/dist/chunks/NcChip-CIjgDRrf.mjs.map +1 -0
  60. package/dist/chunks/{NcCollectionList-DGNf9nD5.mjs → NcCollectionList-DqNsOT7P.mjs} +5 -5
  61. package/dist/chunks/{NcCollectionList-DGNf9nD5.mjs.map → NcCollectionList-DqNsOT7P.mjs.map} +1 -1
  62. package/dist/chunks/{NcColorPicker-Cs5tFS-S.mjs → NcColorPicker-yoZ5ZWC3.mjs} +5 -5
  63. package/dist/chunks/NcColorPicker-yoZ5ZWC3.mjs.map +1 -0
  64. package/dist/chunks/{NcContent-BhYN55Pl.mjs → NcContent-DxKYTMfp.mjs} +2 -2
  65. package/dist/chunks/{NcContent-BhYN55Pl.mjs.map → NcContent-DxKYTMfp.mjs.map} +1 -1
  66. package/dist/chunks/{NcDashboardWidget-CP-yuVVt.mjs → NcDashboardWidget-Bu7bWoUK.mjs} +6 -6
  67. package/dist/chunks/{NcDashboardWidget-CP-yuVVt.mjs.map → NcDashboardWidget-Bu7bWoUK.mjs.map} +1 -1
  68. package/dist/chunks/{NcDashboardWidgetItem-Hcj96Ghk.mjs → NcDashboardWidgetItem-CJg0lrlx.mjs} +3 -3
  69. package/dist/chunks/{NcDashboardWidgetItem-Hcj96Ghk.mjs.map → NcDashboardWidgetItem-CJg0lrlx.mjs.map} +1 -1
  70. package/dist/chunks/{NcDateTimePicker-B5u2bt7M.mjs → NcDateTimePicker-DOwSKf9T.mjs} +3 -3
  71. package/dist/chunks/{NcDateTimePicker-B5u2bt7M.mjs.map → NcDateTimePicker-DOwSKf9T.mjs.map} +1 -1
  72. package/dist/chunks/{NcDateTimePickerNative-MeggPJLT.mjs → NcDateTimePickerNative-BSKXbwuA.mjs} +2 -2
  73. package/dist/chunks/{NcDateTimePickerNative-MeggPJLT.mjs.map → NcDateTimePickerNative-BSKXbwuA.mjs.map} +1 -1
  74. package/dist/chunks/{NcDialog-CmRabANI.mjs → NcDialog-BgzJN2XT.mjs} +3 -3
  75. package/dist/chunks/{NcDialog-CmRabANI.mjs.map → NcDialog-BgzJN2XT.mjs.map} +1 -1
  76. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-DhkdaEaZ.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-D9ClaBcS.mjs} +2 -2
  77. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-DhkdaEaZ.mjs.map → NcDialogButton.vue_vue_type_script_setup_true_lang-D9ClaBcS.mjs.map} +1 -1
  78. package/dist/chunks/{NcEmojiPicker-DWI-aSaL.mjs → NcEmojiPicker-CwR_8bCR.mjs} +6 -6
  79. package/dist/chunks/{NcEmojiPicker-DWI-aSaL.mjs.map → NcEmojiPicker-CwR_8bCR.mjs.map} +1 -1
  80. package/dist/chunks/{NcEmptyContent-BdOezubv.mjs → NcEmptyContent-B8-90BSI.mjs} +25 -19
  81. package/dist/chunks/NcEmptyContent-B8-90BSI.mjs.map +1 -0
  82. package/dist/chunks/NcHotkey-V6s3DXUs.mjs +61 -0
  83. package/dist/chunks/NcHotkey-V6s3DXUs.mjs.map +1 -0
  84. package/dist/chunks/NcHotkeyList-Ck87UwvW.mjs +42 -0
  85. package/dist/chunks/NcHotkeyList-Ck87UwvW.mjs.map +1 -0
  86. package/dist/chunks/{NcInputConfirmCancel-D3HznHAG.mjs → NcInputConfirmCancel-Zkh97f-3.mjs} +2 -2
  87. package/dist/chunks/{NcInputConfirmCancel-D3HznHAG.mjs.map → NcInputConfirmCancel-Zkh97f-3.mjs.map} +1 -1
  88. package/dist/chunks/{NcInputField-BYFjEj7Z.mjs → NcInputField-By_D1kDJ.mjs} +12 -4
  89. package/dist/chunks/NcInputField-By_D1kDJ.mjs.map +1 -0
  90. package/dist/chunks/{NcKbd-B3epGXRo.mjs → NcKbd-CyqxbpJJ.mjs} +2 -2
  91. package/dist/chunks/{NcKbd-B3epGXRo.mjs.map → NcKbd-CyqxbpJJ.mjs.map} +1 -1
  92. package/dist/chunks/{NcListItem-C6dI--9M.mjs → NcListItem-z4qAtAqe.mjs} +2 -2
  93. package/dist/chunks/{NcListItem-C6dI--9M.mjs.map → NcListItem-z4qAtAqe.mjs.map} +1 -1
  94. package/dist/chunks/{NcListItemIcon-DJdMrwuH.mjs → NcListItemIcon-BVr_U7S4.mjs} +2 -2
  95. package/dist/chunks/{NcListItemIcon-DJdMrwuH.mjs.map → NcListItemIcon-BVr_U7S4.mjs.map} +1 -1
  96. package/dist/chunks/{NcModal-DLFgq7Qy.mjs → NcModal-CvHjwuUy.mjs} +4 -4
  97. package/dist/chunks/{NcModal-DLFgq7Qy.mjs.map → NcModal-CvHjwuUy.mjs.map} +1 -1
  98. package/dist/chunks/{NcPasswordField-CLv9QZOP.mjs → NcPasswordField-DroBJzYE.mjs} +5 -5
  99. package/dist/chunks/NcPasswordField-DroBJzYE.mjs.map +1 -0
  100. package/dist/chunks/NcPopover-C-MTaPCs.mjs.map +1 -1
  101. package/dist/chunks/{NcRadioGroupButton-C4BDgB0X.mjs → NcRadioGroupButton-BNydXurR.mjs} +7 -7
  102. package/dist/chunks/{NcRadioGroupButton-C4BDgB0X.mjs.map → NcRadioGroupButton-BNydXurR.mjs.map} +1 -1
  103. package/dist/chunks/{NcRelatedResourcesPanel-C044oJVp.mjs → NcRelatedResourcesPanel-1oVpr5Oh.mjs} +6 -6
  104. package/dist/chunks/NcRelatedResourcesPanel-1oVpr5Oh.mjs.map +1 -0
  105. package/dist/chunks/{NcRichContenteditable-9R0mziQM.mjs → NcRichContenteditable-D-GPJR9c.mjs} +14 -14
  106. package/dist/chunks/NcRichContenteditable-D-GPJR9c.mjs.map +1 -0
  107. package/dist/chunks/{NcRichText-BkqS2HWy.mjs → NcRichText-CETsOVBU.mjs} +3 -3
  108. package/dist/chunks/{NcRichText-BkqS2HWy.mjs.map → NcRichText-CETsOVBU.mjs.map} +1 -1
  109. package/dist/chunks/{NcSelect-BN2tEhoU.mjs → NcSelect-BUPzYWtk.mjs} +2 -2
  110. package/dist/chunks/{NcSelect-BN2tEhoU.mjs.map → NcSelect-BUPzYWtk.mjs.map} +1 -1
  111. package/dist/chunks/{NcSelectTags-Ctd1Tqch.mjs → NcSelectTags-Cu7fqEPC.mjs} +3 -3
  112. package/dist/chunks/NcSelectTags-Cu7fqEPC.mjs.map +1 -0
  113. package/dist/chunks/{NcSelectUsers-ChK3xM3c.mjs → NcSelectUsers-C3w6sjP5.mjs} +3 -3
  114. package/dist/chunks/{NcSelectUsers-ChK3xM3c.mjs.map → NcSelectUsers-C3w6sjP5.mjs.map} +1 -1
  115. package/dist/chunks/{NcSettingsSection-Cnwb4E5s.mjs → NcSettingsSection-DFav6ob5.mjs} +2 -2
  116. package/dist/chunks/{NcSettingsSection-Cnwb4E5s.mjs.map → NcSettingsSection-DFav6ob5.mjs.map} +1 -1
  117. package/dist/chunks/{NcSettingsSelectGroup-MrKSvUll.mjs → NcSettingsSelectGroup-DOiWF5XH.mjs} +4 -4
  118. package/dist/chunks/{NcSettingsSelectGroup-MrKSvUll.mjs.map → NcSettingsSelectGroup-DOiWF5XH.mjs.map} +1 -1
  119. package/dist/chunks/{NcTextArea-f6VqBxce.mjs → NcTextArea-CKK_gfIE.mjs} +3 -3
  120. package/dist/chunks/NcTextArea-CKK_gfIE.mjs.map +1 -0
  121. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-Dl9AQfwW.mjs → NcTextField.vue_vue_type_script_setup_true_lang-DVAnIMOA.mjs} +3 -3
  122. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-Dl9AQfwW.mjs.map → NcTextField.vue_vue_type_script_setup_true_lang-DVAnIMOA.mjs.map} +1 -1
  123. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-BexVGMhR.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-C2YnFWvf.mjs} +3 -3
  124. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-BexVGMhR.mjs.map → NcTimezonePicker.vue_vue_type_script_setup_true_lang-C2YnFWvf.mjs.map} +1 -1
  125. package/dist/chunks/{NcUserBubble-DfxVEEZg.mjs → NcUserBubble-CM66IyhS.mjs} +2 -2
  126. package/dist/chunks/{NcUserBubble-DfxVEEZg.mjs.map → NcUserBubble-CM66IyhS.mjs.map} +1 -1
  127. package/dist/chunks/{NcUserStatusIcon-GpeB4Zhc.mjs → NcUserStatusIcon-DWB8QUZh.mjs} +4 -4
  128. package/dist/chunks/{NcUserStatusIcon-GpeB4Zhc.mjs.map → NcUserStatusIcon-DWB8QUZh.mjs.map} +1 -1
  129. package/dist/chunks/{_l10n-BPfpECk_.mjs → _l10n-YZMLsK4O.mjs} +31 -31
  130. package/dist/chunks/_l10n-YZMLsK4O.mjs.map +1 -0
  131. package/dist/chunks/autolink-U5pBzLgI.mjs.map +1 -1
  132. package/dist/chunks/{colors-ZSK8bG_B.mjs → colors-DhEYXS0_.mjs} +2 -2
  133. package/dist/chunks/{colors-ZSK8bG_B.mjs.map → colors-DhEYXS0_.mjs.map} +1 -1
  134. package/dist/chunks/customPickerElements-4pQTZUnk.mjs.map +1 -1
  135. package/dist/chunks/logger-D3RVzcfQ.mjs.map +1 -1
  136. package/dist/chunks/{referencePickerModal-BgBJRzaB.mjs → referencePickerModal-CseuhGwX.mjs} +11 -11
  137. package/dist/chunks/referencePickerModal-CseuhGwX.mjs.map +1 -0
  138. package/dist/chunks/useAppSettingsDialog-Dn48dw1k.mjs.map +1 -1
  139. package/dist/components/NcActionButtonGroup/index.mjs +1 -1
  140. package/dist/components/NcActionInput/index.mjs +1 -1
  141. package/dist/components/NcActions/index.mjs +1 -1
  142. package/dist/components/NcAppContent/index.mjs +1 -1
  143. package/dist/components/NcAppNavigation/index.mjs +1 -1
  144. package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
  145. package/dist/components/NcAppNavigationItem/index.mjs +1 -1
  146. package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
  147. package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
  148. package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
  149. package/dist/components/NcAppSettingsDialog/NcAppSettingsDialog.vue.d.ts +1 -0
  150. package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
  151. package/dist/components/NcAppSettingsDialog/useAppSettingsDialog.d.ts +3 -2
  152. package/dist/components/NcAppSettingsSection/NcAppSettingsSection.vue.d.ts +32 -37
  153. package/dist/components/NcAppSettingsSection/index.d.ts +4 -0
  154. package/dist/components/NcAppSettingsSection/index.mjs +1 -1
  155. package/dist/components/NcAppSettingsSectionShortcuts/NcAppSettingsSectionShortcuts.vue.d.ts +26 -0
  156. package/dist/components/NcAppSettingsSectionShortcuts/index.d.ts +1 -0
  157. package/dist/components/NcAppSettingsSectionShortcuts/index.mjs +5 -0
  158. package/dist/components/NcAppSettingsSectionShortcuts/index.mjs.map +1 -0
  159. package/dist/components/NcAppSidebar/NcAppSidebar.vue.d.ts +13 -18
  160. package/dist/components/NcAppSidebar/NcAppSidebarTabs.vue.d.ts +13 -18
  161. package/dist/components/NcAppSidebar/NcAppSidebarTabsButton.vue.d.ts +16 -0
  162. package/dist/components/NcAppSidebar/index.mjs +1 -1
  163. package/dist/components/NcAvatar/index.mjs +1 -1
  164. package/dist/components/NcBreadcrumb/index.mjs +1 -1
  165. package/dist/components/NcBreadcrumbs/index.mjs +1 -1
  166. package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
  167. package/dist/components/NcChip/NcChip.vue.d.ts +2 -2
  168. package/dist/components/NcChip/index.mjs +1 -1
  169. package/dist/components/NcCollectionList/index.mjs +1 -1
  170. package/dist/components/NcColorPicker/index.mjs +1 -1
  171. package/dist/components/NcContent/index.mjs +1 -1
  172. package/dist/components/NcDashboardWidget/index.mjs +1 -1
  173. package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
  174. package/dist/components/NcDateTimePicker/index.mjs +1 -1
  175. package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
  176. package/dist/components/NcDialog/index.mjs +1 -1
  177. package/dist/components/NcDialogButton/index.mjs +1 -1
  178. package/dist/components/NcEmojiPicker/index.mjs +1 -1
  179. package/dist/components/NcEmptyContent/index.mjs +1 -1
  180. package/dist/components/NcHotkey/NcHotkey.vue.d.ts +44 -0
  181. package/dist/components/NcHotkey/index.d.ts +1 -0
  182. package/dist/components/NcHotkey/index.mjs +5 -0
  183. package/dist/components/NcHotkey/index.mjs.map +1 -0
  184. package/dist/components/NcHotkeyList/NcHotkeyList.vue.d.ts +32 -0
  185. package/dist/components/NcHotkeyList/index.d.ts +1 -0
  186. package/dist/components/NcHotkeyList/index.mjs +5 -0
  187. package/dist/components/NcHotkeyList/index.mjs.map +1 -0
  188. package/dist/components/NcInputField/index.mjs +1 -1
  189. package/dist/components/NcKbd/index.mjs +1 -1
  190. package/dist/components/NcListItem/index.mjs +1 -1
  191. package/dist/components/NcListItemIcon/index.mjs +1 -1
  192. package/dist/components/NcModal/index.mjs +1 -1
  193. package/dist/components/NcPasswordField/index.mjs +1 -1
  194. package/dist/components/NcRadioGroupButton/index.mjs +1 -1
  195. package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
  196. package/dist/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +1 -1
  197. package/dist/components/NcRichContenteditable/index.mjs +1 -1
  198. package/dist/components/NcRichText/index.mjs +3 -3
  199. package/dist/components/NcSelect/index.mjs +1 -1
  200. package/dist/components/NcSelectTags/index.mjs +1 -1
  201. package/dist/components/NcSelectUsers/index.mjs +1 -1
  202. package/dist/components/NcSettingsSection/index.mjs +1 -1
  203. package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
  204. package/dist/components/NcTextArea/index.mjs +1 -1
  205. package/dist/components/NcTextField/index.mjs +1 -1
  206. package/dist/components/NcTimezonePicker/index.mjs +1 -1
  207. package/dist/components/NcUserBubble/index.mjs +1 -1
  208. package/dist/components/NcUserStatusIcon/index.mjs +1 -1
  209. package/dist/components/index.d.ts +4 -1
  210. package/dist/composables/useFormatDateTime/index.mjs +1 -1
  211. package/dist/functions/contactsMenu/index.mjs.map +1 -1
  212. package/dist/functions/reference/index.mjs +1 -1
  213. package/dist/functions/usernameToColor/index.mjs +3 -3
  214. package/dist/functions/usernameToColor/index.mjs.map +1 -1
  215. package/dist/index.mjs +126 -120
  216. package/dist/index.mjs.map +1 -1
  217. package/dist/utils/logger.d.ts +1 -2
  218. package/package.json +18 -18
  219. package/dist/chunks/NcAppContent-CFhtQHrc.mjs.map +0 -1
  220. package/dist/chunks/NcAppSettingsDialog-CqoSAJb6.mjs.map +0 -1
  221. package/dist/chunks/NcAppSettingsSection-BNTUyNUo.mjs +0 -75
  222. package/dist/chunks/NcAppSettingsSection-BNTUyNUo.mjs.map +0 -1
  223. package/dist/chunks/NcAppSidebar-CjQtPAhV.mjs.map +0 -1
  224. package/dist/chunks/NcAvatar-BkmHv-oY.mjs.map +0 -1
  225. package/dist/chunks/NcChip-CoZcWPtf.mjs.map +0 -1
  226. package/dist/chunks/NcColorPicker-Cs5tFS-S.mjs.map +0 -1
  227. package/dist/chunks/NcEmptyContent-BdOezubv.mjs.map +0 -1
  228. package/dist/chunks/NcInputField-BYFjEj7Z.mjs.map +0 -1
  229. package/dist/chunks/NcPasswordField-CLv9QZOP.mjs.map +0 -1
  230. package/dist/chunks/NcRelatedResourcesPanel-C044oJVp.mjs.map +0 -1
  231. package/dist/chunks/NcRichContenteditable-9R0mziQM.mjs.map +0 -1
  232. package/dist/chunks/NcSelectTags-Ctd1Tqch.mjs.map +0 -1
  233. package/dist/chunks/NcTextArea-f6VqBxce.mjs.map +0 -1
  234. package/dist/chunks/_l10n-BPfpECk_.mjs.map +0 -1
  235. package/dist/chunks/referencePickerModal-BgBJRzaB.mjs.map +0 -1
@@ -1,9 +1,9 @@
1
- import { createHash } from "crypto-browserify";
2
- import { g as generatePalette } from "../../chunks/colors-ZSK8bG_B.mjs";
1
+ import { Md5 } from "ts-md5";
2
+ import { g as generatePalette } from "../../chunks/colors-DhEYXS0_.mjs";
3
3
  function hashCode(str) {
4
4
  let hash = str;
5
5
  if (str.match(/^([0-9a-f]{4}-?){8}$/) === null) {
6
- hash = createHash("md5").update(str).digest("hex");
6
+ hash = Md5.hashStr(str);
7
7
  }
8
8
  hash = hash.replace(/[^0-9a-f]/g, "");
9
9
  let finalInt = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/functions/usernameToColor/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Color } from '../../utils/colors.ts'\n\nimport { createHash } from 'crypto-browserify'\nimport { generatePalette } from '../../utils/colors.ts'\n\n/**\n * Create a simple hash from a string\n *\n * @param str - The string to hash\n */\nfunction hashCode(str: string): number {\n\tlet hash = str\n\n\t// Hash a given string, if it is not md5 hash already\n\tif (str.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = createHash('md5').update(str).digest('hex')\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tlet finalInt = 0\n\n\tfor (let i = 0; i < hash.length; i++) {\n\t\t// chars in md5 are [0-9a-f] (base-16)\n\t\tfinalInt += parseInt(hash.charAt(i), 16)\n\t}\n\n\treturn finalInt\n}\n\n/**\n * Generate a color from a username\n *\n * @param username - Display name or user id to generate from\n * @return The RGB color\n */\nexport function usernameToColor(username: string): Color {\n\tconst steps = 6\n\tconst finalPalette = generatePalette(steps)\n\tconst hash = hashCode(username.toLocaleLowerCase())\n\n\treturn finalPalette[hash % finalPalette.length]!\n}\n"],"names":[],"mappings":";;AAeA,SAAS,SAAS,KAAqB;AACtC,MAAI,OAAO;AAGX,MAAI,IAAI,MAAM,sBAAsB,MAAM,MAAM;AAC/C,WAAO,WAAW,KAAK,EAAE,OAAO,GAAG,EAAE,OAAO,KAAK;AAAA,EAClD;AAEA,SAAO,KAAK,QAAQ,cAAc,EAAE;AAEpC,MAAI,WAAW;AAEf,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAErC,gBAAY,SAAS,KAAK,OAAO,CAAC,GAAG,EAAE;AAAA,EACxC;AAEA,SAAO;AACR;AAQO,SAAS,gBAAgB,UAAyB;AACxD,QAAM,QAAQ;AACd,QAAM,eAAe,gBAAgB,KAAK;AAC1C,QAAM,OAAO,SAAS,SAAS,kBAAA,CAAmB;AAElD,SAAO,aAAa,OAAO,aAAa,MAAM;AAC/C;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/functions/usernameToColor/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Color } from '../../utils/colors.ts'\n\nimport { Md5 } from 'ts-md5'\nimport { generatePalette } from '../../utils/colors.ts'\n\n/**\n * Create a simple hash from a string\n *\n * @param str - The string to hash\n */\nfunction hashCode(str: string): number {\n\tlet hash = str\n\n\t// Hash a given string, if it is not md5 hash already\n\tif (str.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = Md5.hashStr(str)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tlet finalInt = 0\n\n\tfor (let i = 0; i < hash.length; i++) {\n\t\t// chars in md5 are [0-9a-f] (base-16)\n\t\tfinalInt += parseInt(hash.charAt(i), 16)\n\t}\n\n\treturn finalInt\n}\n\n/**\n * Generate a color from a username\n *\n * @param username - Display name or user id to generate from\n * @return The RGB color\n */\nexport function usernameToColor(username: string): Color {\n\tconst steps = 6\n\tconst finalPalette = generatePalette(steps)\n\tconst hash = hashCode(username.toLocaleLowerCase())\n\n\treturn finalPalette[hash % finalPalette.length]!\n}\n"],"names":[],"mappings":";;AAeA,SAAS,SAAS,KAAqB;AACtC,MAAI,OAAO;AAGX,MAAI,IAAI,MAAM,sBAAsB,MAAM,MAAM;AAC/C,WAAO,IAAI,QAAQ,GAAG;AAAA,EACvB;AAEA,SAAO,KAAK,QAAQ,cAAc,EAAE;AAEpC,MAAI,WAAW;AAEf,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAErC,gBAAY,SAAS,KAAK,OAAO,CAAC,GAAG,EAAE;AAAA,EACxC;AAEA,SAAO;AACR;AAQO,SAAS,gBAAgB,UAAyB;AACxD,QAAM,QAAQ;AACd,QAAM,eAAe,gBAAgB,KAAK;AAC1C,QAAM,OAAO,SAAS,SAAS,kBAAA,CAAmB;AAElD,SAAO,aAAa,OAAO,aAAa,MAAM;AAC/C;"}
package/dist/index.mjs CHANGED
@@ -1,76 +1,79 @@
1
1
  import { N } from "./chunks/NcActionButton-BAaRMesp.mjs";
2
- import { N as N2 } from "./chunks/NcActionButtonGroup-CMnSKp08.mjs";
2
+ import { N as N2 } from "./chunks/NcActionButtonGroup-EyWT8pe-.mjs";
3
3
  import { N as N3 } from "./chunks/NcActionCaption-Fumfjzxj.mjs";
4
4
  import { N as N4 } from "./chunks/NcActionCheckbox-CwrO3g3I.mjs";
5
- import { N as N5 } from "./chunks/NcActionInput-_ccoTcPV.mjs";
5
+ import { N as N5 } from "./chunks/NcActionInput-BaHXAvFo.mjs";
6
6
  import { N as N6 } from "./chunks/NcActionLink-afakPM_N.mjs";
7
7
  import { N as N7 } from "./chunks/NcActionRadio-ByCpOD0q.mjs";
8
8
  import { N as N8 } from "./chunks/NcActionRouter-oT-YU_jf.mjs";
9
- import { N as N9 } from "./chunks/NcActions-Ccr8kkyh.mjs";
9
+ import { N as N9 } from "./chunks/NcActions-C-E6BGfZ.mjs";
10
10
  import { N as N10 } from "./chunks/NcActionSeparator-Doekl1NX.mjs";
11
11
  import { N as N11 } from "./chunks/NcActionText-uKvLcEY6.mjs";
12
12
  import { N as N12 } from "./chunks/NcActionTextEditable-CzI0V4-P.mjs";
13
- import { N as N13 } from "./chunks/NcAppContent-CFhtQHrc.mjs";
13
+ import { N as N13 } from "./chunks/NcAppContent-Qg8YBJa7.mjs";
14
14
  import { _ } from "./chunks/NcAppContentDetails.vue_vue_type_script_setup_true_lang-Dnf4r_Ng.mjs";
15
15
  import { N as N14 } from "./chunks/NcAppContentList-DYFsuDKh.mjs";
16
- import { N as N15 } from "./chunks/NcAppNavigation-CxnSGi06.mjs";
17
- import { N as N16 } from "./chunks/NcAppNavigationCaption-C35kejgM.mjs";
16
+ import { N as N15 } from "./chunks/NcAppNavigation-BWd7-5H0.mjs";
17
+ import { N as N16 } from "./chunks/NcAppNavigationCaption-wzGkHPZs.mjs";
18
18
  import { N as N17 } from "./chunks/NcAppNavigationIconBullet-PrlhOoE9.mjs";
19
- import { N as N18 } from "./chunks/NcAppNavigationItem-C08oNLGX.mjs";
19
+ import { N as N18 } from "./chunks/NcAppNavigationItem-Cz_lEp5a.mjs";
20
20
  import { N as N19 } from "./chunks/NcAppNavigationList-BX0wE-dB.mjs";
21
21
  import { N as N20 } from "./chunks/NcAppNavigationNew-Y50s6jTC.mjs";
22
- import { N as N21 } from "./chunks/NcAppNavigationNewItem-BuL6tIOy.mjs";
23
- import { N as N22 } from "./chunks/NcAppNavigationSearch-CFXt-xr0.mjs";
24
- import { N as N23 } from "./chunks/NcAppNavigationSettings-DQ8Xle74.mjs";
22
+ import { N as N21 } from "./chunks/NcAppNavigationNewItem-D-JsQf87.mjs";
23
+ import { N as N22 } from "./chunks/NcAppNavigationSearch-BbXky-Un.mjs";
24
+ import { N as N23 } from "./chunks/NcAppNavigationSettings-CgRg-AbU.mjs";
25
25
  import { N as N24 } from "./chunks/NcAppNavigationSpacer-BvkBfuVw.mjs";
26
- import { N as N25 } from "./chunks/NcAppSettingsDialog-CqoSAJb6.mjs";
27
- import { N as N26 } from "./chunks/NcAppSettingsSection-BNTUyNUo.mjs";
28
- import { N as N27 } from "./chunks/NcAppSidebar-CjQtPAhV.mjs";
26
+ import { N as N25 } from "./chunks/NcAppSettingsDialog-BZzj8jNU.mjs";
27
+ import { N as N26 } from "./chunks/NcAppSettingsSection-urZiy9aH.mjs";
28
+ import { N as N27 } from "./chunks/NcAppSettingsSectionShortcuts-CK8lXUxx.mjs";
29
+ import { N as N28 } from "./chunks/NcAppSidebar-Du9lcG-G.mjs";
29
30
  import { _ as _2 } from "./chunks/NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-0j0aFDeK.mjs";
30
- import { N as N28 } from "./chunks/NcAppSidebarTab-Cjetm3Fs.mjs";
31
- import { N as N29 } from "./chunks/NcAssistantButton-BdYyxDoX.mjs";
32
- import { N as N30 } from "./chunks/NcAssistantContent-Boi-0v_0.mjs";
33
- import { N as N31 } from "./chunks/NcAssistantIcon-ClJKOiGi.mjs";
34
- import { N as N32 } from "./chunks/NcAvatar-BkmHv-oY.mjs";
35
- import { N as N33 } from "./chunks/NcBlurHash-BiFktE2N.mjs";
36
- import { N as N34 } from "./chunks/NcBreadcrumb-NKaosido.mjs";
37
- import { N as N35 } from "./chunks/NcBreadcrumbs-CYt9wRvh.mjs";
38
- import { N as N36 } from "./chunks/NcButton-DkC5k3Lb.mjs";
39
- import { N as N37 } from "./chunks/NcCheckboxRadioSwitch-BWumYbec.mjs";
40
- import { N as N38 } from "./chunks/NcChip-CoZcWPtf.mjs";
41
- import { N as N39 } from "./chunks/NcCollectionList-DGNf9nD5.mjs";
42
- import { N as N40 } from "./chunks/NcColorPicker-Cs5tFS-S.mjs";
43
- import { N as N41 } from "./chunks/NcContent-BhYN55Pl.mjs";
44
- import { N as N42 } from "./chunks/NcCounterBubble-CxxHHh8i.mjs";
45
- import { N as N43 } from "./chunks/NcDashboardWidget-CP-yuVVt.mjs";
46
- import { N as N44 } from "./chunks/NcDashboardWidgetItem-Hcj96Ghk.mjs";
31
+ import { N as N29 } from "./chunks/NcAppSidebarTab-Cjetm3Fs.mjs";
32
+ import { N as N30 } from "./chunks/NcAssistantButton-BdYyxDoX.mjs";
33
+ import { N as N31 } from "./chunks/NcAssistantContent-Boi-0v_0.mjs";
34
+ import { N as N32 } from "./chunks/NcAssistantIcon-ClJKOiGi.mjs";
35
+ import { N as N33 } from "./chunks/NcAvatar-CZVJYWdr.mjs";
36
+ import { N as N34 } from "./chunks/NcBlurHash-BiFktE2N.mjs";
37
+ import { N as N35 } from "./chunks/NcBreadcrumb-CkUvC1g0.mjs";
38
+ import { N as N36 } from "./chunks/NcBreadcrumbs-Dx6ylWcp.mjs";
39
+ import { N as N37 } from "./chunks/NcButton-DkC5k3Lb.mjs";
40
+ import { N as N38 } from "./chunks/NcCheckboxRadioSwitch-Da3UT5om.mjs";
41
+ import { N as N39 } from "./chunks/NcChip-CIjgDRrf.mjs";
42
+ import { N as N40 } from "./chunks/NcCollectionList-DqNsOT7P.mjs";
43
+ import { N as N41 } from "./chunks/NcColorPicker-yoZ5ZWC3.mjs";
44
+ import { N as N42 } from "./chunks/NcContent-DxKYTMfp.mjs";
45
+ import { N as N43 } from "./chunks/NcCounterBubble-CxxHHh8i.mjs";
46
+ import { N as N44 } from "./chunks/NcDashboardWidget-Bu7bWoUK.mjs";
47
+ import { N as N45 } from "./chunks/NcDashboardWidgetItem-CJg0lrlx.mjs";
47
48
  import { _ as _3 } from "./chunks/NcDateTime.vue_vue_type_script_setup_true_lang-BhB8yA4U.mjs";
48
- import { N as N45 } from "./chunks/NcDateTimePicker-B5u2bt7M.mjs";
49
- import { N as N46 } from "./chunks/NcDateTimePickerNative-MeggPJLT.mjs";
50
- import { N as N47 } from "./chunks/NcDialog-CmRabANI.mjs";
51
- import { _ as _4 } from "./chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-DhkdaEaZ.mjs";
52
- import { N as N48 } from "./chunks/NcEllipsisedOption-dT-CtXYp.mjs";
53
- import { N as N49 } from "./chunks/NcEmojiPicker-DWI-aSaL.mjs";
54
- import { N as N50 } from "./chunks/NcEmptyContent-BdOezubv.mjs";
55
- import { N as N51 } from "./chunks/NcGuestContent-CfCh49o0.mjs";
56
- import { N as N52 } from "./chunks/NcHeaderButton-DafXYbXB.mjs";
57
- import { N as N53 } from "./chunks/NcHeaderMenu-DfO7ghiM.mjs";
49
+ import { N as N46 } from "./chunks/NcDateTimePicker-DOwSKf9T.mjs";
50
+ import { N as N47 } from "./chunks/NcDateTimePickerNative-BSKXbwuA.mjs";
51
+ import { N as N48 } from "./chunks/NcDialog-BgzJN2XT.mjs";
52
+ import { _ as _4 } from "./chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-D9ClaBcS.mjs";
53
+ import { N as N49 } from "./chunks/NcEllipsisedOption-dT-CtXYp.mjs";
54
+ import { N as N50 } from "./chunks/NcEmojiPicker-CwR_8bCR.mjs";
55
+ import { N as N51 } from "./chunks/NcEmptyContent-B8-90BSI.mjs";
56
+ import { N as N52 } from "./chunks/NcGuestContent-CfCh49o0.mjs";
57
+ import { N as N53 } from "./chunks/NcHeaderButton-DafXYbXB.mjs";
58
+ import { N as N54 } from "./chunks/NcHeaderMenu-DfO7ghiM.mjs";
58
59
  import { _ as _5 } from "./chunks/NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs";
59
- import { N as N54 } from "./chunks/NcIconSvgWrapper-5AA93z-F.mjs";
60
- import { N as N55 } from "./chunks/NcInputField-BYFjEj7Z.mjs";
61
- import { N as N56 } from "./chunks/NcKbd-B3epGXRo.mjs";
62
- import { N as N57 } from "./chunks/NcListItem-C6dI--9M.mjs";
63
- import { N as N58 } from "./chunks/NcListItemIcon-DJdMrwuH.mjs";
64
- import { N as N59 } from "./chunks/NcLoadingIcon-b_ajZ_nQ.mjs";
65
- import { N as N60 } from "./chunks/NcModal-DLFgq7Qy.mjs";
66
- import { N as N61 } from "./chunks/NcNoteCard-BomepG0z.mjs";
67
- import { N as N62 } from "./chunks/NcPasswordField-CLv9QZOP.mjs";
68
- import { N as N63 } from "./chunks/NcPopover-C-MTaPCs.mjs";
69
- import { N as N64 } from "./chunks/NcProgressBar-DDMAo4h-.mjs";
70
- import { N as N65 } from "./chunks/NcRadioGroup-B_BNFM6V.mjs";
71
- import { N as N66 } from "./chunks/NcRadioGroupButton-C4BDgB0X.mjs";
72
- import { N as N67 } from "./chunks/NcRelatedResourcesPanel-C044oJVp.mjs";
73
- import { a, N as N68, b } from "./chunks/NcRichContenteditable-9R0mziQM.mjs";
60
+ import { N as N55 } from "./chunks/NcHotkey-V6s3DXUs.mjs";
61
+ import { N as N56 } from "./chunks/NcHotkeyList-Ck87UwvW.mjs";
62
+ import { N as N57 } from "./chunks/NcIconSvgWrapper-5AA93z-F.mjs";
63
+ import { N as N58 } from "./chunks/NcInputField-By_D1kDJ.mjs";
64
+ import { N as N59 } from "./chunks/NcKbd-CyqxbpJJ.mjs";
65
+ import { N as N60 } from "./chunks/NcListItem-z4qAtAqe.mjs";
66
+ import { N as N61 } from "./chunks/NcListItemIcon-BVr_U7S4.mjs";
67
+ import { N as N62 } from "./chunks/NcLoadingIcon-b_ajZ_nQ.mjs";
68
+ import { N as N63 } from "./chunks/NcModal-CvHjwuUy.mjs";
69
+ import { N as N64 } from "./chunks/NcNoteCard-BomepG0z.mjs";
70
+ import { N as N65 } from "./chunks/NcPasswordField-DroBJzYE.mjs";
71
+ import { N as N66 } from "./chunks/NcPopover-C-MTaPCs.mjs";
72
+ import { N as N67 } from "./chunks/NcProgressBar-DDMAo4h-.mjs";
73
+ import { N as N68 } from "./chunks/NcRadioGroup-B_BNFM6V.mjs";
74
+ import { N as N69 } from "./chunks/NcRadioGroupButton-BNydXurR.mjs";
75
+ import { N as N70 } from "./chunks/NcRelatedResourcesPanel-1oVpr5Oh.mjs";
76
+ import { a, N as N71, b } from "./chunks/NcRichContenteditable-D-GPJR9c.mjs";
74
77
  import "@nextcloud/auth";
75
78
  import "@nextcloud/axios";
76
79
  import "@nextcloud/router";
@@ -78,25 +81,25 @@ import "@nextcloud/sharing/public";
78
81
  import "vue";
79
82
  import "@vueuse/core";
80
83
  import "vue-router";
81
- import { a as a2, g, b as b2, c, s, d } from "./chunks/referencePickerModal-BgBJRzaB.mjs";
82
- import { N as N69, h, c as c2, i, e, r, f, a as a3 } from "./chunks/customPickerElements-4pQTZUnk.mjs";
84
+ import { a as a2, g, b as b2, c, s, d } from "./chunks/referencePickerModal-CseuhGwX.mjs";
85
+ import { N as N72, h, c as c2, i, e, r, f, a as a3 } from "./chunks/customPickerElements-4pQTZUnk.mjs";
83
86
  import "./chunks/autolink-U5pBzLgI.mjs";
84
- import { N as N70 } from "./chunks/NcRichText-BkqS2HWy.mjs";
85
- import { N as N71 } from "./chunks/NcSelect-BN2tEhoU.mjs";
87
+ import { N as N73 } from "./chunks/NcRichText-CETsOVBU.mjs";
88
+ import { N as N74 } from "./chunks/NcSelect-BUPzYWtk.mjs";
86
89
  import "debounce";
87
90
  import "./chunks/logger-D3RVzcfQ.mjs";
88
- import { _ as _6 } from "./chunks/NcTextField.vue_vue_type_script_setup_true_lang-Dl9AQfwW.mjs";
91
+ import { _ as _6 } from "./chunks/NcTextField.vue_vue_type_script_setup_true_lang-DVAnIMOA.mjs";
89
92
  import "@nextcloud/event-bus";
90
93
  import { _ as _7 } from "./chunks/NcSavingIndicatorIcon.vue_vue_type_script_setup_true_lang-jUf1K561.mjs";
91
- import { N as N72 } from "./chunks/NcSelectTags-Ctd1Tqch.mjs";
92
- import { N as N73 } from "./chunks/NcSelectUsers-ChK3xM3c.mjs";
93
- import { N as N74 } from "./chunks/NcSettingsSection-Cnwb4E5s.mjs";
94
- import { N as N75 } from "./chunks/NcSettingsSelectGroup-MrKSvUll.mjs";
95
- import { N as N76 } from "./chunks/NcTextArea-f6VqBxce.mjs";
94
+ import { N as N75 } from "./chunks/NcSelectTags-Cu7fqEPC.mjs";
95
+ import { N as N76 } from "./chunks/NcSelectUsers-C3w6sjP5.mjs";
96
+ import { N as N77 } from "./chunks/NcSettingsSection-DFav6ob5.mjs";
97
+ import { N as N78 } from "./chunks/NcSettingsSelectGroup-DOiWF5XH.mjs";
98
+ import { N as N79 } from "./chunks/NcTextArea-CKK_gfIE.mjs";
96
99
  import { _ as _8 } from "./chunks/NcThemeProvider.vue_vue_type_script_setup_true_lang-nUDJsDGI.mjs";
97
- import { _ as _9 } from "./chunks/NcTimezonePicker.vue_vue_type_script_setup_true_lang-BexVGMhR.mjs";
98
- import { N as N77 } from "./chunks/NcUserBubble-DfxVEEZg.mjs";
99
- import { N as N78 } from "./chunks/NcUserStatusIcon-GpeB4Zhc.mjs";
100
+ import { _ as _9 } from "./chunks/NcTimezonePicker.vue_vue_type_script_setup_true_lang-C2YnFWvf.mjs";
101
+ import { N as N80 } from "./chunks/NcUserBubble-CM66IyhS.mjs";
102
+ import { N as N81 } from "./chunks/NcUserStatusIcon-DWB8QUZh.mjs";
100
103
  import { _ as _10 } from "./chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs";
101
104
  import { useFormatRelativeTime, useFormatTime } from "./composables/useFormatDateTime/index.mjs";
102
105
  import { useHotKey } from "./composables/useHotKey/index.mjs";
@@ -145,68 +148,71 @@ export {
145
148
  N24 as NcAppNavigationSpacer,
146
149
  N25 as NcAppSettingsDialog,
147
150
  N26 as NcAppSettingsSection,
148
- N27 as NcAppSidebar,
151
+ N27 as NcAppSettingsSectionShortcuts,
152
+ N28 as NcAppSidebar,
149
153
  _2 as NcAppSidebarHeader,
150
- N28 as NcAppSidebarTab,
151
- N29 as NcAssistantButton,
152
- N30 as NcAssistantContent,
153
- N31 as NcAssistantIcon,
154
+ N29 as NcAppSidebarTab,
155
+ N30 as NcAssistantButton,
156
+ N31 as NcAssistantContent,
157
+ N32 as NcAssistantIcon,
154
158
  a as NcAutoCompleteResult,
155
- N32 as NcAvatar,
156
- N33 as NcBlurHash,
157
- N34 as NcBreadcrumb,
158
- N35 as NcBreadcrumbs,
159
- N36 as NcButton,
160
- N37 as NcCheckboxRadioSwitch,
161
- N38 as NcChip,
162
- N39 as NcCollectionList,
163
- N40 as NcColorPicker,
164
- N41 as NcContent,
165
- N42 as NcCounterBubble,
166
- N69 as NcCustomPickerRenderResult,
167
- N43 as NcDashboardWidget,
168
- N44 as NcDashboardWidgetItem,
159
+ N33 as NcAvatar,
160
+ N34 as NcBlurHash,
161
+ N35 as NcBreadcrumb,
162
+ N36 as NcBreadcrumbs,
163
+ N37 as NcButton,
164
+ N38 as NcCheckboxRadioSwitch,
165
+ N39 as NcChip,
166
+ N40 as NcCollectionList,
167
+ N41 as NcColorPicker,
168
+ N42 as NcContent,
169
+ N43 as NcCounterBubble,
170
+ N72 as NcCustomPickerRenderResult,
171
+ N44 as NcDashboardWidget,
172
+ N45 as NcDashboardWidgetItem,
169
173
  _3 as NcDateTime,
170
- N45 as NcDateTimePicker,
171
- N46 as NcDateTimePickerNative,
172
- N47 as NcDialog,
174
+ N46 as NcDateTimePicker,
175
+ N47 as NcDateTimePickerNative,
176
+ N48 as NcDialog,
173
177
  _4 as NcDialogButton,
174
- N48 as NcEllipsisedOption,
175
- N49 as NcEmojiPicker,
176
- N50 as NcEmptyContent,
177
- N51 as NcGuestContent,
178
- N52 as NcHeaderButton,
179
- N53 as NcHeaderMenu,
178
+ N49 as NcEllipsisedOption,
179
+ N50 as NcEmojiPicker,
180
+ N51 as NcEmptyContent,
181
+ N52 as NcGuestContent,
182
+ N53 as NcHeaderButton,
183
+ N54 as NcHeaderMenu,
180
184
  _5 as NcHighlight,
181
- N54 as NcIconSvgWrapper,
182
- N55 as NcInputField,
183
- N56 as NcKbd,
184
- N57 as NcListItem,
185
- N58 as NcListItemIcon,
186
- N59 as NcLoadingIcon,
187
- N68 as NcMentionBubble,
188
- N60 as NcModal,
189
- N61 as NcNoteCard,
190
- N62 as NcPasswordField,
191
- N63 as NcPopover,
192
- N64 as NcProgressBar,
193
- N65 as NcRadioGroup,
194
- N66 as NcRadioGroupButton,
195
- N67 as NcRelatedResourcesPanel,
185
+ N55 as NcHotkey,
186
+ N56 as NcHotkeyList,
187
+ N57 as NcIconSvgWrapper,
188
+ N58 as NcInputField,
189
+ N59 as NcKbd,
190
+ N60 as NcListItem,
191
+ N61 as NcListItemIcon,
192
+ N62 as NcLoadingIcon,
193
+ N71 as NcMentionBubble,
194
+ N63 as NcModal,
195
+ N64 as NcNoteCard,
196
+ N65 as NcPasswordField,
197
+ N66 as NcPopover,
198
+ N67 as NcProgressBar,
199
+ N68 as NcRadioGroup,
200
+ N69 as NcRadioGroupButton,
201
+ N70 as NcRelatedResourcesPanel,
196
202
  b as NcRichContenteditable,
197
- N70 as NcRichText,
203
+ N73 as NcRichText,
198
204
  _7 as NcSavingIndicatorIcon,
199
- N71 as NcSelect,
200
- N72 as NcSelectTags,
201
- N73 as NcSelectUsers,
202
- N74 as NcSettingsSection,
203
- N75 as NcSettingsSelectGroup,
204
- N76 as NcTextArea,
205
+ N74 as NcSelect,
206
+ N75 as NcSelectTags,
207
+ N76 as NcSelectUsers,
208
+ N77 as NcSettingsSection,
209
+ N78 as NcSettingsSelectGroup,
210
+ N79 as NcTextArea,
205
211
  _6 as NcTextField,
206
212
  _8 as NcThemeProvider,
207
213
  _9 as NcTimezonePicker,
208
- N77 as NcUserBubble,
209
- N78 as NcUserStatusIcon,
214
+ N80 as NcUserBubble,
215
+ N81 as NcUserStatusIcon,
210
216
  _10 as NcVNodes,
211
217
  a2 as anyLinkProviderId,
212
218
  checkIfDarkTheme,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,5 +2,4 @@
2
2
  * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
3
3
  * SPDX-License-Identifier: AGPL-3.0-or-later
4
4
  */
5
- declare const _default: import('@nextcloud/logger').ILogger;
6
- export default _default;
5
+ export declare const logger: import('@nextcloud/logger').ILogger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextcloud/vue",
3
- "version": "9.0.1",
3
+ "version": "9.1.0",
4
4
  "description": "Nextcloud vue components",
5
5
  "keywords": [
6
6
  "vuejs",
@@ -77,9 +77,9 @@
77
77
  "dependencies": {
78
78
  "@ckpack/vue-color": "^1.6.0",
79
79
  "@floating-ui/dom": "^1.7.4",
80
- "@nextcloud/auth": "^2.5.2",
80
+ "@nextcloud/auth": "^2.5.3",
81
81
  "@nextcloud/axios": "^2.5.2",
82
- "@nextcloud/browser-storage": "^0.4.0",
82
+ "@nextcloud/browser-storage": "^0.5.0",
83
83
  "@nextcloud/capabilities": "^1.2.0",
84
84
  "@nextcloud/event-bus": "^3.3.2",
85
85
  "@nextcloud/initial-state": "^3.0.0",
@@ -92,9 +92,8 @@
92
92
  "@vueuse/core": "^13.9.0",
93
93
  "blurhash": "^2.0.5",
94
94
  "clone": "^2.1.2",
95
- "crypto-browserify": "^3.12.1",
96
95
  "debounce": "^2.2.0",
97
- "dompurify": "^3.2.7",
96
+ "dompurify": "^3.3.0",
98
97
  "emoji-mart-vue-fast": "^15.0.5",
99
98
  "escape-html": "^1.0.3",
100
99
  "floating-vue": "^5.2.2",
@@ -110,13 +109,14 @@
110
109
  "remark-unlink-protocols": "^1.0.0",
111
110
  "splitpanes": "^4.0.4",
112
111
  "striptags": "^3.2.0",
113
- "tabbable": "^6.2.0",
112
+ "tabbable": "^6.3.0",
114
113
  "tributejs": "^5.1.3",
114
+ "ts-md5": "^2.0.1",
115
115
  "unified": "^11.0.5",
116
116
  "unist-builder": "^4.0.0",
117
117
  "unist-util-visit": "^5.0.0",
118
118
  "vue": "^3.5.18",
119
- "vue-router": "^4.5.1",
119
+ "vue-router": "^4.6.3",
120
120
  "vue-select": "^4.0.0-beta.6"
121
121
  },
122
122
  "devDependencies": {
@@ -127,26 +127,26 @@
127
127
  "@mdi/js": "^7.4.47",
128
128
  "@mdi/svg": "^7.4.47",
129
129
  "@nextcloud/babel-config": "^1.2.0",
130
- "@nextcloud/browserslist-config": "^3.0.1",
130
+ "@nextcloud/browserslist-config": "^3.1.1",
131
131
  "@nextcloud/eslint-config": "^9.0.0-rc.5",
132
- "@nextcloud/stylelint-config": "^3.1.0",
132
+ "@nextcloud/stylelint-config": "^3.1.1",
133
133
  "@nextcloud/vite-config": "^2.5.0",
134
134
  "@nextcloud/webpack-vue-config": "github:nextcloud/webpack-vue-config#vue3",
135
- "@playwright/experimental-ct-vue": "^1.55.1",
136
- "@playwright/test": "^1.55.1",
135
+ "@playwright/experimental-ct-vue": "^1.56.1",
136
+ "@playwright/test": "^1.56.1",
137
137
  "@types/gettext-parser": "^8.0.0",
138
- "@types/node": "^24.6.2",
138
+ "@types/node": "^24.9.1",
139
139
  "@vitest/coverage-v8": "^3.2.4",
140
140
  "@vue/test-utils": "^2.4.6",
141
141
  "@vue/tsconfig": "^0.8.1",
142
142
  "babel-loader-exclude-node-modules-except": "^1.2.1",
143
- "core-js": "^3.45.1",
144
- "eslint": "^9.37.0",
143
+ "core-js": "^3.46.0",
144
+ "eslint": "^9.38.0",
145
145
  "file-loader": "^6.2.0",
146
146
  "gettext-extractor": "^4.0.1",
147
147
  "gettext-parser": "^8.0.0",
148
148
  "glob": "^11.0.3",
149
- "jsdom": "^26.1.0",
149
+ "jsdom": "^27.0.1",
150
150
  "remark-gfm": "^4.0.1",
151
151
  "resolve-url-loader": "^5.0.0",
152
152
  "sass": "^1.93.2",
@@ -154,13 +154,13 @@
154
154
  "ts-node": "^10.9.2",
155
155
  "typescript": "^5.9.3",
156
156
  "url-loader": "^4.1.1",
157
- "vite": "^7.1.9",
157
+ "vite": "^7.1.11",
158
158
  "vitest": "^3.2.4",
159
159
  "vue-eslint-parser": "^10.2.0",
160
160
  "vue-material-design-icons": "^5.3.1",
161
161
  "vue-styleguidist": "^4.72.4",
162
- "vue-tsc": "^3.1.0",
163
- "webpack": "^5.102.0",
162
+ "vue-tsc": "^3.1.1",
163
+ "webpack": "^5.102.1",
164
164
  "webpack-merge": "^6.0.1"
165
165
  },
166
166
  "engines": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcAppContent-CFhtQHrc.mjs","sources":["../../src/components/NcAppContent/NcAppContentDetailsToggle.vue","../../src/utils/appName.ts","../../src/components/NcAppContent/NcAppContent.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { mdiArrowRight } from '@mdi/js'\nimport { emit } from '@nextcloud/event-bus'\nimport { onBeforeUnmount, watch } from 'vue'\nimport { useIsMobile } from '../../composables/useIsMobile/index.js'\nimport { t } from '../../l10n.ts'\nimport NcButton from '../NcButton/index.ts'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.ts'\n\nconst isMobile = useIsMobile()\nwatch(isMobile, toggleAppNavigationButton, { immediate: true })\n\nonBeforeUnmount(() => {\n\tif (isMobile.value) {\n\t\ttoggleAppNavigationButton(false)\n\t}\n})\n\n/**\n * Toggle the app navigation button and hide it if needed.\n *\n * @param hide - if true the navigation toggle is visually hidden\n */\nfunction toggleAppNavigationButton(hide: boolean = true) {\n\tconst appNavigationToggle = document.querySelector<HTMLElement>('.app-navigation .app-navigation-toggle')\n\tif (appNavigationToggle) {\n\t\tappNavigationToggle.style.display = hide ? 'none' : ''\n\n\t\t// If we hide the NavigationToggle, we need to make sure the Navigation is also closed\n\t\tif (hide === true) {\n\t\t\temit('toggle-navigation', { open: false })\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<NcButton\n\t\t:aria-label=\"t('Go back to the list')\"\n\t\tclass=\"app-details-toggle\"\n\t\t:class=\"{ 'app-details-toggle--mobile': isMobile }\"\n\t\t:title=\"t('Go back to the list')\"\n\t\tvariant=\"tertiary\">\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper directional :path=\"mdiArrowRight\" />\n\t\t</template>\n\t</NcButton>\n</template>\n\n<style lang=\"scss\" scoped>\n.app-details-toggle {\n\tposition: sticky;\n\twidth: var(--default-clickable-area);\n\theight: var(--default-clickable-area);\n\tpadding: $icon-margin;\n\tcursor: pointer;\n\topacity: .6;\n\ttransform: rotate(180deg);\n\tbackground-color: var(--color-main-background);\n\tz-index: 2000;\n\n\ttop: var(--app-navigation-padding);\n\t// Navigation Toggle button width + 2 paddings around\n\tinset-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);\n\t&--mobile {\n\t\t// There is no NavigationToggle button\n\t\tinset-inline-start: var(--app-navigation-padding);\n\t}\n\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\topacity: 1;\n\t}\n}\n\n</style>\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport logger from './logger.ts'\n\nlet realAppName = 'missing-app-name'\n\ntry {\n\trealAppName = appName\n} catch {\n\tlogger.error('The `@nextcloud/vue` library was used without setting / replacing the `appName`.')\n}\n\nexport const APP_NAME = realAppName\n","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis components provides a wrapper around the main app's content.\n\nSingle-column layouts can just use the default slot. A resizable column\ncan be added by providing content to the named slot `list`.\n\n### CSS variables\nIn the css section some css variables are declared and will be available for\nall the children of the NcAppContent component\n\n### Examples\n\n#### Usage: Single-column content\n```vue\n<template>\n\t<NcAppContent>\n\t\t<h2>Single-column main content</h2>\n\t</NcAppContent>\n</template>\n```\n\n#### Usage: Two resizable columns\n```vue\n<template>\n\t<NcAppContent>\n\t\t<template #list>\n\t\t\t<div>Resizable list content</div>\n\t\t</template>\n\n\t\t<div>Main content</div>\n\t</NcAppContent>\n</template>\n```\n\n#### Overriding Defaults\nThe default, min and max sizes (in percent) of the resizable list column can be overridden.\nThe list size must be between the min and the max width value.\n\n```\n<NcAppContent\n\t:list-size=\"35\"\n\t:list-min-width=\"20\"\n\t:list-max-width=\"45\"\n>...</NcAppContent>\n```\n\n#### Usage: Custom document title\nFor accessibility reasons every document should have a `h1` heading,\nthis is visually hidden, but required for a semantically correct document.\nYou can use your app name or current view for the heading.\n\nAdditionally you can set a custom document title, e.g. to show the current status.\n\n```vue\n<template>\n\t<NcAppContent :pageHeading=\"heading ? 'Heading' : undefined\" :pageTitle=\"title ? 'Title' : undefined\" >\n\t\t<NcCheckboxRadioSwitch type=\"switch\" :checked.sync=\"title\">\n\t\t\tToggle title\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch type=\"switch\" :checked.sync=\"heading\">\n\t\t\tToggle Heading\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcButton @click=\"reset\">Reset</NcButton>\n\t</NcAppContent>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\theading: false,\n\t\t\ttitle: false,\n\t\t}\n\t},\n\tmethods: {\n\t\treset() {\n\t\t\tthis.heading = false\n\t\t\tthis.title = false\n\t\t\tdocument.title = ''\n\t\t},\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<main id=\"app-content-vue\" class=\"app-content no-snapper\" :class=\"{ 'app-content--has-list': !!$slots.list }\">\n\t\t<h1 v-if=\"pageHeading\" class=\"hidden-visually\">\n\t\t\t{{ pageHeading }}\n\t\t</h1>\n\n\t\t<template v-if=\"!!$slots.list\">\n\t\t\t<!-- Mobile view does not allow resizeable panes -->\n\t\t\t<div\n\t\t\t\tv-if=\"isMobile || layout === 'no-split'\"\n\t\t\t\tclass=\"app-content-wrapper app-content-wrapper--no-split\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'app-content-wrapper--show-details': showDetails,\n\t\t\t\t\t'app-content-wrapper--show-list': !showDetails,\n\t\t\t\t\t'app-content-wrapper--mobile': isMobile,\n\t\t\t\t}\">\n\t\t\t\t<NcAppContentDetailsToggle v-if=\"showDetails\" @click.stop.prevent=\"hideDetails\" />\n\n\t\t\t\t<div v-show=\"!showDetails\">\n\t\t\t\t\t<slot name=\"list\" />\n\t\t\t\t</div>\n\t\t\t\t<slot v-if=\"showDetails\" />\n\t\t\t</div>\n\t\t\t<div v-else-if=\"layout === 'vertical-split' || layout === 'horizontal-split'\" class=\"app-content-wrapper\">\n\t\t\t\t<Splitpanes\n\t\t\t\t\t:horizontal=\"layout === 'horizontal-split'\"\n\t\t\t\t\tclass=\"default-theme\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'splitpanes--horizontal': layout === 'horizontal-split',\n\t\t\t\t\t\t'splitpanes--vertical': layout === 'vertical-split',\n\t\t\t\t\t}\"\n\t\t\t\t\t:rtl=\"isRtl\"\n\t\t\t\t\t@resized=\"handlePaneResize\">\n\t\t\t\t\t<Pane\n\t\t\t\t\t\tclass=\"splitpanes__pane-list\"\n\t\t\t\t\t\t:size=\"listPaneSize || paneDefaults.list.size\"\n\t\t\t\t\t\t:min-size=\"paneDefaults.list.min\"\n\t\t\t\t\t\t:max-size=\"paneDefaults.list.max\">\n\t\t\t\t\t\t<!-- @slot Provide a list to the app content -->\n\t\t\t\t\t\t<slot name=\"list\" />\n\t\t\t\t\t</Pane>\n\n\t\t\t\t\t<Pane\n\t\t\t\t\t\tclass=\"splitpanes__pane-details\"\n\t\t\t\t\t\t:size=\"detailsPaneSize\"\n\t\t\t\t\t\t:min-size=\"paneDefaults.details.min\"\n\t\t\t\t\t\t:max-size=\"paneDefaults.details.max\">\n\t\t\t\t\t\t<!-- @slot Provide the main content to the app content -->\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</Pane>\n\t\t\t\t</Splitpanes>\n\t\t\t</div>\n\t\t</template>\n\t\t<!-- @slot Provide the main content to the app content -->\n\t\t<slot v-if=\"!$slots.list\" />\n\t</main>\n</template>\n\n<script>\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { emit } from '@nextcloud/event-bus'\nimport { loadState } from '@nextcloud/initial-state'\nimport { useSwipe } from '@vueuse/core'\nimport { Pane, Splitpanes } from 'splitpanes'\nimport NcAppContentDetailsToggle from './NcAppContentDetailsToggle.vue'\nimport { useIsMobile } from '../../composables/useIsMobile/index.js'\nimport { APP_NAME } from '../../utils/appName.ts'\nimport logger from '../../utils/logger.ts'\nimport { isRtl } from '../../utils/rtl.ts'\n\nimport 'splitpanes/dist/splitpanes.css'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\nconst instanceName = getCapabilities().theming?.name ?? 'Nextcloud'\nconst activeApp = loadState('core', 'active-app', APP_NAME)\nconst localizedAppName = loadState('core', 'apps', []).find(({ id }) => id === activeApp)?.name ?? APP_NAME\n\n/**\n * App content container to be used for the main content of your app\n *\n */\nexport default {\n\tname: 'NcAppContent',\n\n\tcomponents: {\n\t\tNcAppContentDetailsToggle,\n\t\tPane,\n\t\tSplitpanes,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Allows to disable the control by swipe of the app navigation open state.\n\t\t */\n\t\tdisableSwipe: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Allows you to set the default width of the resizable list in % on vertical-split\n\t\t * or respectively the default height on horizontal-split.\n\t\t *\n\t\t * Must be between `listMinWidth` and `listMaxWidth`.\n\t\t */\n\t\tlistSize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\n\t\t/**\n\t\t * Allows you to set the minimum width of the list column in % on vertical-split\n\t\t * or respectively the minimum height on horizontal-split.\n\t\t */\n\t\tlistMinWidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 15,\n\t\t},\n\n\t\t/**\n\t\t * Allows you to set the maximum width of the list column in % on vertical-split\n\t\t * or respectively the maximum height on horizontal-split.\n\t\t */\n\t\tlistMaxWidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 40,\n\t\t},\n\n\t\t/**\n\t\t * Specify the config key for the pane config sizes\n\t\t * Default is the global var appName if you use the webpack-vue-config\n\t\t */\n\t\tpaneConfigKey: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * When in mobile view, only the list or the details are shown.\n\t\t *\n\t\t * If you provide a list, you need to provide a variable\n\t\t * that will be set to true by the user when an element of\n\t\t * the list gets selected. The details will then show a back\n\t\t * arrow to return to the list that will update this prop to false.\n\t\t */\n\t\tshowDetails: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Content layout used when there is a list together with content:\n\t\t * - `vertical-split` - a 2-column layout with list and default content separated vertically\n\t\t * - `no-split` - a single column layout; List is shown when `showDetails` is `false`, otherwise the default slot content is shown with a back button to return to the list.\n\t\t * - 'horizontal-split' - a 2-column layout with list and default content separated horizontally\n\t\t * On mobile screen `no-split` layout is forced.\n\t\t */\n\t\tlayout: {\n\t\t\ttype: String,\n\t\t\tdefault: 'vertical-split',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['no-split', 'vertical-split', 'horizontal-split'].includes(value)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Specify the `<h1>` page heading\n\t\t */\n\t\tpageHeading: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Allow setting the page's `<title>`\n\t\t *\n\t\t * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n\t\t * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n\t\t * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n\t\t */\n\t\tpageTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:showDetails',\n\t\t'resizeList',\n\t],\n\n\tsetup() {\n\t\treturn {\n\t\t\tisMobile: useIsMobile(),\n\t\t\tisRtl,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcontentHeight: 0,\n\t\t\tswiping: {},\n\t\t\tlistPaneSize: this.restorePaneConfig(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpaneConfigID() {\n\t\t\t// If provided, let's use it\n\t\t\tif (this.paneConfigKey !== '') {\n\t\t\t\treturn `pane-list-size-${this.paneConfigKey}`\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\t// Using the webpack-vue-config, appName is a global variable\n\t\t\t\t// This will throw a ReferenceError when the global variable is missing\n\t\t\t\t// In that case either you provide paneConfigKey or else it fallback\n\t\t\t\t// to a global storage key\n\t\t\t\treturn `pane-list-size-${APP_NAME}`\n\t\t\t} catch {\n\t\t\t\tlogger.info('[NcAppContent]: falling back to global nextcloud pane config')\n\t\t\t\treturn 'pane-list-size-nextcloud'\n\t\t\t}\n\t\t},\n\n\t\tdetailsPaneSize() {\n\t\t\tif (this.listPaneSize) {\n\t\t\t\treturn 100 - this.listPaneSize\n\t\t\t}\n\t\t\treturn this.paneDefaults.details.size\n\t\t},\n\n\t\tpaneDefaults() {\n\t\t\treturn {\n\t\t\t\tlist: {\n\t\t\t\t\tsize: this.listSize,\n\t\t\t\t\tmin: this.listMinWidth,\n\t\t\t\t\tmax: this.listMaxWidth,\n\t\t\t\t},\n\n\t\t\t\t// set the inverse values of the details column\n\t\t\t\t// based on the provided (or default) values of the list column\n\t\t\t\tdetails: {\n\t\t\t\t\tsize: 100 - this.listSize,\n\t\t\t\t\tmin: 100 - this.listMaxWidth,\n\t\t\t\t\tmax: 100 - this.listMinWidth,\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\trealPageTitle() {\n\t\t\tconst entries = new Set()\n\t\t\tif (this.pageTitle) {\n\t\t\t\t// when page title is set we only use that\n\t\t\t\t// we still split to remove duplicated instanceName\n\t\t\t\tfor (const part of this.pageTitle.split(' - ')) {\n\t\t\t\t\tentries.add(part)\n\t\t\t\t}\n\t\t\t} else if (this.pageHeading) {\n\t\t\t\t// when the page heading is provided but not the title\n\t\t\t\t// then we split to remove duplicates\n\t\t\t\t// but also add the localized app name\n\t\t\t\tfor (const part of this.pageHeading.split(' - ')) {\n\t\t\t\t\tentries.add(part)\n\t\t\t\t}\n\n\t\t\t\tif (entries.size > 0) {\n\t\t\t\t\tentries.add(localizedAppName)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tentries.add(instanceName)\n\t\t\treturn [...entries.values()].join(' - ')\n\t\t},\n\t},\n\n\twatch: {\n\t\trealPageTitle: {\n\t\t\timmediate: true,\n\t\t\thandler() {\n\t\t\t\tif (this.realPageTitle !== null) {\n\t\t\t\t\tdocument.title = this.realPageTitle\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tpaneConfigKey: {\n\t\t\timmediate: true,\n\t\t\thandler() {\n\t\t\t\tthis.restorePaneConfig()\n\t\t\t},\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.disableSwipe) {\n\t\t\tthis.swiping = useSwipe(this.$el, {\n\t\t\t\tonSwipeEnd: this.handleSwipe,\n\t\t\t})\n\t\t}\n\n\t\tthis.restorePaneConfig()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * handle the swipe event\n\t\t *\n\t\t * @param {TouchEvent} e The touch event\n\t\t * @param {import('@vueuse/core').SwipeDirection} direction The swipe direction of the event\n\t\t */\n\t\thandleSwipe(e, direction) {\n\t\t\tconst minSwipeX = 70\n\t\t\tconst touchZone = 300\n\t\t\tif (Math.abs(this.swiping.lengthX) > minSwipeX) {\n\t\t\t\tif (this.swiping.coordsStart.x < (touchZone / 2) && direction === 'right') {\n\t\t\t\t\temit('toggle-navigation', {\n\t\t\t\t\t\topen: true,\n\t\t\t\t\t})\n\t\t\t\t} else if (this.swiping.coordsStart.x < touchZone * 1.5 && direction === 'left') {\n\t\t\t\t\temit('toggle-navigation', {\n\t\t\t\t\t\topen: false,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thandlePaneResize(event) {\n\t\t\tconst listPaneSize = parseInt(event.panes[0].size, 10)\n\t\t\tbrowserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize))\n\t\t\tthis.listPaneSize = listPaneSize\n\t\t\t/**\n\t\t\t * Emitted when the list pane is resized by the user\n\t\t\t */\n\t\t\tthis.$emit('resizeList', { size: listPaneSize })\n\t\t\tlogger.debug('[NcAppContent] pane config', { listPaneSize })\n\t\t},\n\n\t\t// browserStorage is not reactive, we need to update this manually\n\t\trestorePaneConfig() {\n\t\t\tconst listPaneSize = parseInt(browserStorage.getItem(this.paneConfigID), 10)\n\t\t\tif (!isNaN(listPaneSize) && listPaneSize !== this.listPaneSize) {\n\t\t\t\tlogger.debug('[NcAppContent] pane config', { listPaneSize })\n\t\t\t\tthis.listPaneSize = listPaneSize\n\t\t\t\treturn listPaneSize\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * The user clicked the back arrow from the details view\n\t\t */\n\t\thideDetails() {\n\t\t\tthis.$emit('update:showDetails', false)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.app-content {\n\tposition: initial;\n\tz-index: 1000;\n\tflex-basis: 100vw;\n\theight: 100%;\n\t// Overriding server styles TODO: cleanup!\n\tmargin: 0 !important;\n\tbackground-color: var(--color-main-background);\n\tmin-width: 0;\n\n\t&:not(.app-content--has-list) {\n\t\toverflow: auto;\n\t}\n}\n\n.app-content-wrapper {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n// Mobile list/details handling\n.app-content-wrapper--no-split {\n\t&.app-content-wrapper--show-list :deep() {\n\t\t.app-content-list {\n\t\t\tdisplay: flex;\n\t\t}\n\t\t.app-content-details {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t&.app-content-wrapper--show-details :deep() {\n\t\t.app-content-list {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.app-content-details {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n:deep(.splitpanes.default-theme) {\n\t.app-content-list {\n\t\tmax-width: none;\n\t\t/* Thin scrollbar is hard to catch on resizable columns */\n\t\tscrollbar-width: auto;\n\t}\n\n\t.splitpanes__pane {\n\t\tbackground-color: transparent;\n\t\ttransition: none;\n\n\t\t&-list {\n\t\t\tmin-width: 300px;\n\t\t\tposition: sticky;\n\n\t\t\t@media only screen and (width < $breakpoint-mobile) {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\n\t\t&-details {\n\t\t\toverflow-y: auto;\n\n\t\t\t@media only screen and (width < $breakpoint-mobile) {\n\t\t\t\tmin-width: 100%;\n\t\t\t}\n\t\t}\n\t}\n\n\t.splitpanes__splitter {\n\t\tbackground-color: var(--color-main-background);\n\t\t&::before, &::after {\n\t\t\tbackground-color: var(--color-border);\n\t\t}\n\t}\n\n\t&.splitpanes--vertical .splitpanes__splitter {\n\t\tborder-inline-start: 1px solid var(--color-border);\n\t}\n\n\t&.splitpanes--horizontal .splitpanes__splitter {\n\t\tborder-top: 1px solid var(--color-border);\n\t}\n}\n\n.app-content-wrapper--show-list {\n\t:deep(.app-content-list) {\n\t\tmax-width: none;\n\t}\n}\n</style>\n"],"names":["_createBlock","_unref","_normalizeClass","_createVNode","_createElementBlock","_toDisplayString","_Fragment","_createElementVNode","_renderSlot","_openBlock"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcAppSettingsDialog-CqoSAJb6.mjs","sources":["../../src/components/NcAppSettingsDialog/NcAppSettingsDialog.vue"],"sourcesContent":["<!--\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 { Slot, VNode } from 'vue'\n\nimport debounce from 'debounce'\nimport { computed, provide, ref, useTemplateRef, warn } from 'vue'\nimport NcDialog from '../NcDialog/NcDialog.vue'\nimport NcVNodes from '../NcVNodes/NcVNodes.vue'\nimport { useIsMobile } from '../../composables/useIsMobile/index.ts'\nimport { t } from '../../l10n.ts'\nimport { APP_SETTINGS_REGISTRATION_KEY } from './useAppSettingsDialog.ts'\n\nexport interface IAppSettingsSection {\n\tid: string\n\tname: string\n\ticon?: VNode[]\n}\n\n/**\n * Determines the open / closed state of the modal\n */\nconst open = defineModel<boolean>('open', { required: true })\n\nconst props = withDefaults(defineProps<{\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\tcontainer: 'body',\n\tname: '',\n\tadditionalTrapElements: () => [],\n})\n\nconst slots = defineSlots<{\n\t/**\n\t * The NcAppSettingsSections\n\t */\n\tdefault?: Slot\n}>()\n\nprovide(APP_SETTINGS_REGISTRATION_KEY, {\n\tregisterSection,\n\tunregisterSection,\n})\n\nconst settingsScrollerElement = useTemplateRef('settingsScroller')\n\nconst isMobile = useIsMobile()\n\nconst selectedSection = ref('')\nconst linkClicked = ref(false)\nconst registeredSections = ref<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 * 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\tsettingsScrollerElement.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 icon - Optional icon component\n */\nfunction registerSection(id: string, name: string, 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\twarn(`Duplicate section name found: ${name}. Settings navigation sections must have unique section names.`)\n\t}\n\n\tconst newSections = [...registeredSections.value, { id, name, icon }]\n\t// Sort sections by order in slots\n\tregisteredSections.value = newSections.sort(({ id: idA }, { id: idB }) => {\n\t\tconst indexOf = (id) => slots.default?.().findIndex((vnode: VNode) => vnode?.props?.id === id) ?? -1\n\t\treturn indexOf(idA) - indexOf(idB)\n\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\tcontent-classes=\"app-settings__content\"\n\t\tnavigation-classes=\"app-settings__navigation\"\n\t\t:additional-trap-elements\n\t\t:container\n\t\tclose-on-click-outside\n\t\t:navigation-aria-label=\"t('Settings navigation')\"\n\t\tsize=\"large\"\n\t\t:name\n\t\t@update:open=\"handleCloseModal\">\n\t\t<template v-if=\"hasNavigation\" #navigation=\"{ isCollapsed }\">\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</div>\n\t</NcDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.app-settings {\n\t:deep &__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\t:deep &__content {\n\t\tpadding-inline: calc(4 * var(--default-grid-baseline));\n\t}\n}\n\n.navigation-list {\n\theight: 100%;\n\toverflow-y: auto;\n\tpadding: calc(3 * var(--default-grid-baseline));\n\n\t&__link {\n\t\tdisplay: flex;\n\t\talign-content: center;\n\t\tfont-size: 16px;\n\t\theight: var(--default-clickable-area);\n\t\tmargin: 4px 0;\n\t\tline-height: var(--default-clickable-area);\n\t\tborder-radius: var(--border-radius-element);\n\t\tfont-weight: bold;\n\t\tpadding: 0 calc(4 * var(--default-grid-baseline));\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\n\t\t&--active {\n\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t}\n\n\t\t&--icon {\n\t\t\tpadding-inline-start: calc(2 * var(--default-grid-baseline));\n\t\t\tgap: var(--default-grid-baseline);\n\t\t}\n\n\t\t&-icon {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-content: center;\n\t\t\twidth: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t\tmax-width: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.app-settings {\n\t\t:deep .dialog__name {\n\t\t\tpadding-inline-start: 16px;\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 v-model:open=\"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 v-model:open=\"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</docs>\n"],"names":["_useModel","_useSlots","id","_createBlock","additionalTrapElements","container","_unref","name","_createElementVNode","_renderSlot","_withCtx","_openBlock","_createElementBlock","_Fragment","_renderList","_withModifiers","_withKeys","NcVNodes","_toDisplayString"],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- import '../assets/NcAppSettingsSection-qx2jbXXG.css';
2
- import { u as useAppSettingsDialog } from "./useAppSettingsDialog-Dn48dw1k.mjs";
3
- import { createElementBlock, openBlock, createElementVNode, renderSlot, createCommentVNode, toDisplayString } from "vue";
4
- import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
5
- const _sfc_main = {
6
- name: "NcAppSettingsSection",
7
- props: {
8
- /**
9
- * Name of the section
10
- */
11
- name: {
12
- type: String,
13
- required: true
14
- },
15
- /**
16
- * The id of the section
17
- */
18
- id: {
19
- type: String,
20
- required: true,
21
- validator(id) {
22
- return /^[a-z0-9\-_]+$/.test(id);
23
- }
24
- }
25
- },
26
- setup() {
27
- return {
28
- ...useAppSettingsDialog()
29
- };
30
- },
31
- computed: {
32
- // generate an id for each settingssection based on the name without whitespaces
33
- htmlId() {
34
- return "settings-section_" + this.id;
35
- }
36
- },
37
- // Reactive changes for section navigation
38
- watch: {
39
- id(newId, oldId) {
40
- this.unregisterSection(oldId);
41
- this.registerSection(newId, this.name, this.$slots?.icon?.());
42
- },
43
- name(newName) {
44
- this.unregisterSection(this.id);
45
- this.registerSection(this.id, newName, this.$slots?.icon?.());
46
- }
47
- },
48
- mounted() {
49
- this.registerSection(this.id, this.name, this.$slots?.icon?.());
50
- },
51
- beforeUnmount() {
52
- this.unregisterSection(this.id);
53
- }
54
- };
55
- const _hoisted_1 = ["id", "aria-labelledby"];
56
- const _hoisted_2 = ["id"];
57
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
58
- return openBlock(), createElementBlock("section", {
59
- id: $options.htmlId,
60
- "aria-labelledby": `${$options.htmlId}--label`,
61
- class: "app-settings-section"
62
- }, [
63
- createElementVNode("h3", {
64
- id: `${$options.htmlId}--label`,
65
- class: "app-settings-section__name"
66
- }, toDisplayString($props.name), 9, _hoisted_2),
67
- renderSlot(_ctx.$slots, "default", {}, void 0, true),
68
- createCommentVNode("", true)
69
- ], 8, _hoisted_1);
70
- }
71
- const NcAppSettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a9004e4c"]]);
72
- export {
73
- NcAppSettingsSection as N
74
- };
75
- //# sourceMappingURL=NcAppSettingsSection-BNTUyNUo.mjs.map