@nextcloud/vue 9.3.3 → 9.5.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 (323) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/assets/{NcActionInput-BxRA_Skn.css → NcActionInput-BO4gR6sg.css} +65 -65
  3. package/dist/assets/{NcAppContent-HF21N7dO.css → NcAppContent-BqcaybfQ.css} +19 -19
  4. package/dist/assets/{NcAppNavigationItem-D97Onpd9.css → NcAppNavigationItem-qicc4X_c.css} +36 -36
  5. package/dist/assets/{NcAppNavigationSearch-BH8hBjGe.css → NcAppNavigationSearch-Bpd_RlYz.css} +5 -5
  6. package/dist/assets/{NcAppNavigationSettings-Bt0dnsjR.css → NcAppNavigationSettings-BmfpoWXN.css} +6 -6
  7. package/dist/assets/{NcAppSettingsDialog-CapZ_qNk.css → NcAppSettingsDialog-Ckc0OWTs.css} +13 -13
  8. package/dist/assets/{NcAppSettingsShortcutsSection-CRO4RakN.css → NcAppSettingsShortcutsSection-BonG0SgH.css} +1 -1
  9. package/dist/assets/{NcAppSidebar-krHtMwId.css → NcAppSidebar-Ci7hXMpX.css} +57 -57
  10. package/dist/assets/{NcAssistantButton-owGSr0s0.css → NcAssistantButton-BmD9GrOw.css} +9 -9
  11. package/dist/assets/{NcAssistantContent-Ban7n3Bg.css → NcAssistantContent-7THxd33X.css} +3 -3
  12. package/dist/assets/{NcAssistantIcon--1biUGYh.css → NcAssistantIcon-CxXrcBfu.css} +4 -4
  13. package/dist/assets/{NcAvatar-f8SJKMDw.css → NcAvatar-CuPj3fbb.css} +24 -24
  14. package/dist/assets/{NcBlurHash-7aGtE-_T.css → NcBlurHash-tWUPu9Oh.css} +2 -2
  15. package/dist/assets/{NcBreadcrumb-CHjeSh0y.css → NcBreadcrumb-D9N_qB_o.css} +15 -15
  16. package/dist/assets/{NcBreadcrumbs-DYfGaSjT.css → NcBreadcrumbs-5gl8Syfa.css} +6 -6
  17. package/dist/assets/{NcButton--Fj4gghF.css → NcButton-Ch8zyY_U.css} +48 -49
  18. package/dist/assets/{NcCheckboxRadioSwitch-DpYt0YbL.css → NcCheckboxRadioSwitch-BBLFj8M-.css} +36 -36
  19. package/dist/assets/{NcChip-DZ8dUSFy.css → NcChip-DbSI4mFP.css} +12 -12
  20. package/dist/assets/{NcCollectionList-C7OiUQQ-.css → NcCollectionList-e5JFvzqX.css} +42 -42
  21. package/dist/assets/{NcColorPicker-CO_Jq2Ow.css → NcColorPicker-CCanY5eB.css} +31 -31
  22. package/dist/assets/{NcDashboardWidget-DFY9GRrd.css → NcDashboardWidget-nZuIL1UN.css} +12 -12
  23. package/dist/assets/{NcDashboardWidgetItem-DPVZ3Oso.css → NcDashboardWidgetItem-DpVmEBwQ.css} +12 -12
  24. package/dist/assets/{NcDateTimePicker-D6xbEbaC.css → NcDateTimePicker-HT1ZTE-Z.css} +234 -234
  25. package/dist/assets/{NcDialog-D3fAX1Fs.css → NcDialog-BSV74Bru.css} +15 -15
  26. package/dist/assets/{NcEmojiPicker-B7xDz_8U.css → NcEmojiPicker-vNKR9S87.css} +122 -122
  27. package/dist/assets/{NcFormBox-D-kcijXp.css → NcFormBox-CRdHJkrd.css} +11 -11
  28. package/dist/assets/{NcFormBoxButton-C6EvdLK4.css → NcFormBoxButton-BWfU7d2r.css} +2 -2
  29. package/dist/assets/{NcFormBoxItem-BfXKp9xJ.css → NcFormBoxItem-CATNOTQx.css} +13 -13
  30. package/dist/assets/{NcFormBoxSwitch-DScgbxtv.css → NcFormBoxSwitch-Cn-MBAzZ.css} +2 -2
  31. package/dist/assets/{NcFormGroup-BrD0Scm7.css → NcFormGroup-BjWhd5Ky.css} +7 -7
  32. package/dist/assets/{NcHotkey-4yi1Hobg.css → NcHotkey-CvuY7fQJ.css} +8 -8
  33. package/dist/assets/{NcHotkeyList-gAZN0WIu.css → NcHotkeyList-Braxeyah.css} +2 -2
  34. package/dist/assets/{NcIconToggleSwitch-C29S_5Rp.css → NcIconToggleSwitch-saytabt5.css} +4 -4
  35. package/dist/assets/{NcInputField-B9DSDOEd.css → NcInputField-B0lNBgr9.css} +44 -43
  36. package/dist/assets/{NcKbd-BGW1_Jb7.css → NcKbd-BeQpGp0b.css} +3 -3
  37. package/dist/assets/{NcListItem-CZnKmy9X.css → NcListItem-Cat18cSx.css} +41 -41
  38. package/dist/assets/{NcListItemIcon-aquns6B7.css → NcListItemIcon-DJRcmlo1.css} +13 -13
  39. package/dist/assets/{NcModal-Du-f0B7Y.css → NcModal-bYmoCrzo.css} +58 -58
  40. package/dist/assets/{NcPasswordField-BCJ0LHSS.css → NcPasswordField-ftYon3Xm.css} +2 -2
  41. package/dist/assets/{NcPopover-CZ3pMU6Y.css → NcPopover-P1fheee2.css} +14 -14
  42. package/dist/assets/{NcProgressBar-BAPOXMAL.css → NcProgressBar-D1DYRrCN.css} +23 -12
  43. package/dist/assets/{NcRadioGroup-1zpSX8V5.css → NcRadioGroup-BoFb0R8S.css} +2 -2
  44. package/dist/assets/{NcRadioGroupButton-DRZ1_-yY.css → NcRadioGroupButton-xGU7fVa3.css} +19 -11
  45. package/dist/assets/{NcRelatedResourcesPanel-DYB-wrU0.css → NcRelatedResourcesPanel-D1efpH8E.css} +3 -3
  46. package/dist/assets/{NcRichContenteditable-BuaWt3Xn.css → NcRichContenteditable-C4KtXEvK.css} +17 -17
  47. package/dist/assets/{NcRichText-RvICaxkO.css → NcRichText-3BHy89Ls.css} +2 -2
  48. package/dist/assets/{NcSelect-ZnE_MlqV.css → NcSelect-CvDEQAjD.css} +1 -1
  49. package/dist/assets/NcSelectUsers-YF5729PJ.css +4 -0
  50. package/dist/assets/{NcSettingsSelectGroup-BxvEAWNm.css → NcSettingsSelectGroup-D_fSrafm.css} +2 -2
  51. package/dist/assets/{NcTextArea-nivEqHE-.css → NcTextArea-_-yGXq-j.css} +1 -1
  52. package/dist/assets/{NcUserBubble-B3Jad98g.css → NcUserBubble-DFUmBxeb.css} +8 -8
  53. package/dist/assets/{referencePickerModal-DWMAMaU3.css → referencePickerModal-CpzDUJ5f.css} +36 -36
  54. package/dist/chunks/{NcActionButtonGroup-B2MGnwK_.mjs → NcActionButtonGroup-C7ej9wLo.mjs} +2 -2
  55. package/dist/chunks/{NcActionButtonGroup-B2MGnwK_.mjs.map → NcActionButtonGroup-C7ej9wLo.mjs.map} +1 -1
  56. package/dist/chunks/{NcActionInput-BemRG66_.mjs → NcActionInput-1xeJpD6P.mjs} +32 -32
  57. package/dist/chunks/NcActionInput-1xeJpD6P.mjs.map +1 -0
  58. package/dist/chunks/{NcActions-4R7icatI.mjs → NcActions-BWDsG06k.mjs} +4 -4
  59. package/dist/chunks/{NcActions-4R7icatI.mjs.map → NcActions-BWDsG06k.mjs.map} +1 -1
  60. package/dist/chunks/{NcAppContent-BTNf1r8Z.mjs → NcAppContent-njY3MCzi.mjs} +16 -14
  61. package/dist/chunks/NcAppContent-njY3MCzi.mjs.map +1 -0
  62. package/dist/chunks/{NcAppNavigation-DQB0KqoZ.mjs → NcAppNavigation-Bpdpz-wF.mjs} +3 -3
  63. package/dist/chunks/{NcAppNavigation-DQB0KqoZ.mjs.map → NcAppNavigation-Bpdpz-wF.mjs.map} +1 -1
  64. package/dist/chunks/{NcAppNavigationCaption-DiLoiMN5.mjs → NcAppNavigationCaption-CyEhlxoS.mjs} +2 -2
  65. package/dist/chunks/{NcAppNavigationCaption-DiLoiMN5.mjs.map → NcAppNavigationCaption-CyEhlxoS.mjs.map} +1 -1
  66. package/dist/chunks/{NcAppNavigationItem-OrqBniiI.mjs → NcAppNavigationItem-Ny1Po7Rd.mjs} +11 -11
  67. package/dist/chunks/NcAppNavigationItem-Ny1Po7Rd.mjs.map +1 -0
  68. package/dist/chunks/{NcAppNavigationNew-WS0F9mau.mjs → NcAppNavigationNew-CJpxzq_I.mjs} +2 -2
  69. package/dist/chunks/{NcAppNavigationNew-WS0F9mau.mjs.map → NcAppNavigationNew-CJpxzq_I.mjs.map} +1 -1
  70. package/dist/chunks/{NcAppNavigationNewItem-DYH3Gimz.mjs → NcAppNavigationNewItem-hsUDrzT-.mjs} +2 -2
  71. package/dist/chunks/{NcAppNavigationNewItem-DYH3Gimz.mjs.map → NcAppNavigationNewItem-hsUDrzT-.mjs.map} +1 -1
  72. package/dist/chunks/{NcAppNavigationSearch-ByuV3q2c.mjs → NcAppNavigationSearch-C5RAT6JQ.mjs} +9 -9
  73. package/dist/chunks/NcAppNavigationSearch-C5RAT6JQ.mjs.map +1 -0
  74. package/dist/chunks/{NcAppNavigationSettings-A0DXzd5B.mjs → NcAppNavigationSettings-BPLJktWz.mjs} +15 -15
  75. package/dist/chunks/NcAppNavigationSettings-BPLJktWz.mjs.map +1 -0
  76. package/dist/chunks/{NcAppSettingsDialog-BaN30xl4.mjs → NcAppSettingsDialog-DddRGyYJ.mjs} +15 -15
  77. package/dist/chunks/NcAppSettingsDialog-DddRGyYJ.mjs.map +1 -0
  78. package/dist/chunks/{NcAppSettingsShortcutsSection-DDmDMMsF.mjs → NcAppSettingsShortcutsSection-D07KOJfT.mjs} +4 -4
  79. package/dist/chunks/{NcAppSettingsShortcutsSection-DDmDMMsF.mjs.map → NcAppSettingsShortcutsSection-D07KOJfT.mjs.map} +1 -1
  80. package/dist/chunks/{NcAppSidebar-as8lzUZp.mjs → NcAppSidebar-BAnJD3ea.mjs} +16 -16
  81. package/dist/chunks/NcAppSidebar-BAnJD3ea.mjs.map +1 -0
  82. package/dist/chunks/{NcAssistantButton-CioiSWRg.mjs → NcAssistantButton-CkFCuTft.mjs} +11 -11
  83. package/dist/chunks/{NcAssistantButton-CioiSWRg.mjs.map → NcAssistantButton-CkFCuTft.mjs.map} +1 -1
  84. package/dist/chunks/{NcAssistantContent-Boi-0v_0.mjs → NcAssistantContent-BR3lWBWC.mjs} +5 -5
  85. package/dist/chunks/{NcAssistantContent-Boi-0v_0.mjs.map → NcAssistantContent-BR3lWBWC.mjs.map} +1 -1
  86. package/dist/chunks/{NcAssistantIcon-8pL-4h5f.mjs → NcAssistantIcon-DsJh5rb7.mjs} +6 -6
  87. package/dist/chunks/{NcAssistantIcon-8pL-4h5f.mjs.map → NcAssistantIcon-DsJh5rb7.mjs.map} +1 -1
  88. package/dist/chunks/{NcAvatar-CK_dTsmT.mjs → NcAvatar-C9d7Wrc8.mjs} +9 -9
  89. package/dist/chunks/NcAvatar-C9d7Wrc8.mjs.map +1 -0
  90. package/dist/chunks/{NcBlurHash-BiFktE2N.mjs → NcBlurHash-Cp7enp4q.mjs} +9 -9
  91. package/dist/chunks/{NcBlurHash-BiFktE2N.mjs.map → NcBlurHash-Cp7enp4q.mjs.map} +1 -1
  92. package/dist/chunks/{NcBreadcrumb-ChYVw5CP.mjs → NcBreadcrumb-BRt3l6x6.mjs} +9 -9
  93. package/dist/chunks/NcBreadcrumb-BRt3l6x6.mjs.map +1 -0
  94. package/dist/chunks/{NcBreadcrumbs-CbJmdlaF.mjs → NcBreadcrumbs-CIsUSeJx.mjs} +5 -5
  95. package/dist/chunks/{NcBreadcrumbs-CbJmdlaF.mjs.map → NcBreadcrumbs-CIsUSeJx.mjs.map} +1 -1
  96. package/dist/chunks/{NcButton-CzpKEx4V.mjs → NcButton-C9D47Igd.mjs} +3 -3
  97. package/dist/chunks/{NcButton-CzpKEx4V.mjs.map → NcButton-C9D47Igd.mjs.map} +1 -1
  98. package/dist/chunks/{NcCheckboxRadioSwitch-DisCqPZK.mjs → NcCheckboxRadioSwitch-BMsPx74L.mjs} +15 -15
  99. package/dist/chunks/NcCheckboxRadioSwitch-BMsPx74L.mjs.map +1 -0
  100. package/dist/chunks/{NcChip-B8jcrLqG.mjs → NcChip-B71t2Ny2.mjs} +8 -8
  101. package/dist/chunks/NcChip-B71t2Ny2.mjs.map +1 -0
  102. package/dist/chunks/{NcCollectionList-TB1GbWbo.mjs → NcCollectionList-BLDdPjtu.mjs} +14 -14
  103. package/dist/chunks/NcCollectionList-BLDdPjtu.mjs.map +1 -0
  104. package/dist/chunks/{NcColorPicker-3wpX7pKD.mjs → NcColorPicker-DDHxR-iN.mjs} +12 -12
  105. package/dist/chunks/NcColorPicker-DDHxR-iN.mjs.map +1 -0
  106. package/dist/chunks/{NcContent-BrRHLO19.mjs → NcContent-O-bMKi-3.mjs} +3 -3
  107. package/dist/chunks/{NcContent-BrRHLO19.mjs.map → NcContent-O-bMKi-3.mjs.map} +1 -1
  108. package/dist/chunks/{NcDashboardWidget-1tax78_e.mjs → NcDashboardWidget-DCBQdRFz.mjs} +7 -7
  109. package/dist/chunks/NcDashboardWidget-DCBQdRFz.mjs.map +1 -0
  110. package/dist/chunks/{NcDashboardWidgetItem-BjsN8uF0.mjs → NcDashboardWidgetItem-ygUG05Ut.mjs} +11 -11
  111. package/dist/chunks/NcDashboardWidgetItem-ygUG05Ut.mjs.map +1 -0
  112. package/dist/chunks/{NcDateTimePicker-DCuHXZjc.mjs → NcDateTimePicker-RLihgV8b.mjs} +69 -25
  113. package/dist/chunks/NcDateTimePicker-RLihgV8b.mjs.map +1 -0
  114. package/dist/chunks/{NcDateTimePickerNative-Dr8_mGlQ.mjs → NcDateTimePickerNative-C_4mwR_o.mjs} +2 -2
  115. package/dist/chunks/{NcDateTimePickerNative-Dr8_mGlQ.mjs.map → NcDateTimePickerNative-C_4mwR_o.mjs.map} +1 -1
  116. package/dist/chunks/{NcDialog-BHl_LOs_.mjs → NcDialog-BG9t4Psg.mjs} +6 -7
  117. package/dist/chunks/{NcDialog-BHl_LOs_.mjs.map → NcDialog-BG9t4Psg.mjs.map} +1 -1
  118. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-CYpktNKA.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-DABuSwSR.mjs} +3 -3
  119. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-CYpktNKA.mjs.map → NcDialogButton.vue_vue_type_script_setup_true_lang-DABuSwSR.mjs.map} +1 -1
  120. package/dist/chunks/{NcEmojiPicker-CReazifM.mjs → NcEmojiPicker-Djc9a0gw.mjs} +25 -25
  121. package/dist/chunks/NcEmojiPicker-Djc9a0gw.mjs.map +1 -0
  122. package/dist/chunks/{NcFormBox-CkgY7Tif.mjs → NcFormBox-BYjllt0m.mjs} +7 -7
  123. package/dist/chunks/NcFormBox-BYjllt0m.mjs.map +1 -0
  124. package/dist/chunks/{NcFormBoxButton-DvMw5yUf.mjs → NcFormBoxButton-RDIKiZIH.mjs} +8 -8
  125. package/dist/chunks/NcFormBoxButton-RDIKiZIH.mjs.map +1 -0
  126. package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DYtyXBqR.mjs → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-CIPhWmeP.mjs} +4 -4
  127. package/dist/chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-CIPhWmeP.mjs.map +1 -0
  128. package/dist/chunks/{NcFormBoxItem-vnU0KmUL.mjs → NcFormBoxItem-BAAPOa6z.mjs} +10 -10
  129. package/dist/chunks/NcFormBoxItem-BAAPOa6z.mjs.map +1 -0
  130. package/dist/chunks/{NcFormBoxSwitch-DGcRJH9Q.mjs → NcFormBoxSwitch-m9uRjJzl.mjs} +6 -6
  131. package/dist/chunks/{NcFormBoxSwitch-DGcRJH9Q.mjs.map → NcFormBoxSwitch-m9uRjJzl.mjs.map} +1 -1
  132. package/dist/chunks/{NcFormGroup-CnSfPFey.mjs → NcFormGroup-Bf8Mme1o.mjs} +9 -9
  133. package/dist/chunks/{NcFormGroup-CnSfPFey.mjs.map → NcFormGroup-Bf8Mme1o.mjs.map} +1 -1
  134. package/dist/chunks/{NcHeaderButton-CIb5SvFk.mjs → NcHeaderButton-DZ7Sd9pu.mjs} +2 -2
  135. package/dist/chunks/{NcHeaderButton-CIb5SvFk.mjs.map → NcHeaderButton-DZ7Sd9pu.mjs.map} +1 -1
  136. package/dist/chunks/{NcHeaderMenu-CeJZT5-m.mjs → NcHeaderMenu-D9WjsIsy.mjs} +2 -2
  137. package/dist/chunks/{NcHeaderMenu-CeJZT5-m.mjs.map → NcHeaderMenu-D9WjsIsy.mjs.map} +1 -1
  138. package/dist/chunks/{NcHotkey-BMbdzaIs.mjs → NcHotkey-Bd-gNn3a.mjs} +7 -7
  139. package/dist/chunks/{NcHotkey-BMbdzaIs.mjs.map → NcHotkey-Bd-gNn3a.mjs.map} +1 -1
  140. package/dist/chunks/{NcHotkeyList-67NnF26Y.mjs → NcHotkeyList-D8hkh6o6.mjs} +5 -5
  141. package/dist/chunks/{NcHotkeyList-67NnF26Y.mjs.map → NcHotkeyList-D8hkh6o6.mjs.map} +1 -1
  142. package/dist/chunks/{NcIconToggleSwitch-DNEYngCw.mjs → NcIconToggleSwitch-CSrdR61T.mjs} +4 -4
  143. package/dist/chunks/{NcIconToggleSwitch-DNEYngCw.mjs.map → NcIconToggleSwitch-CSrdR61T.mjs.map} +1 -1
  144. package/dist/chunks/{NcInputConfirmCancel-DjMO3Xyv.mjs → NcInputConfirmCancel-ClnOVtrc.mjs} +3 -3
  145. package/dist/chunks/{NcInputConfirmCancel-DjMO3Xyv.mjs.map → NcInputConfirmCancel-ClnOVtrc.mjs.map} +1 -1
  146. package/dist/chunks/{NcInputField-Clm9jOGJ.mjs → NcInputField-o5OFv3z6.mjs} +4 -4
  147. package/dist/chunks/{NcInputField-Clm9jOGJ.mjs.map → NcInputField-o5OFv3z6.mjs.map} +1 -1
  148. package/dist/chunks/{NcKbd-CZdynD1d.mjs → NcKbd-DzE_4Z3y.mjs} +5 -5
  149. package/dist/chunks/{NcKbd-CZdynD1d.mjs.map → NcKbd-DzE_4Z3y.mjs.map} +1 -1
  150. package/dist/chunks/{NcListItem-Bx93C7tP.mjs → NcListItem-DSdLnQJX.mjs} +12 -10
  151. package/dist/chunks/NcListItem-DSdLnQJX.mjs.map +1 -0
  152. package/dist/chunks/{NcListItemIcon-DVy6eGJx.mjs → NcListItemIcon-C_yQkDIv.mjs} +9 -9
  153. package/dist/chunks/NcListItemIcon-C_yQkDIv.mjs.map +1 -0
  154. package/dist/chunks/{NcModal-D00OJZV2.mjs → NcModal-DHryP_87.mjs} +7 -7
  155. package/dist/chunks/NcModal-DHryP_87.mjs.map +1 -0
  156. package/dist/chunks/{NcPasswordField-BOZlUwhr.mjs → NcPasswordField-uaMO2pdt.mjs} +9 -9
  157. package/dist/chunks/{NcPasswordField-BOZlUwhr.mjs.map → NcPasswordField-uaMO2pdt.mjs.map} +1 -1
  158. package/dist/chunks/{NcPopover-C-MTaPCs.mjs → NcPopover-OqcYrWOx.mjs} +17 -17
  159. package/dist/chunks/NcPopover-OqcYrWOx.mjs.map +1 -0
  160. package/dist/chunks/{NcProgressBar-DDMAo4h-.mjs → NcProgressBar-OIWW1Sei.mjs} +25 -14
  161. package/dist/chunks/NcProgressBar-OIWW1Sei.mjs.map +1 -0
  162. package/dist/chunks/{NcRadioGroup-HorQ2m39.mjs → NcRadioGroup-Bjl3n_1z.mjs} +8 -8
  163. package/dist/chunks/NcRadioGroup-Bjl3n_1z.mjs.map +1 -0
  164. package/dist/chunks/{NcRadioGroupButton-CAisx7g4.mjs → NcRadioGroupButton-BWPOKDMR.mjs} +18 -10
  165. package/dist/chunks/NcRadioGroupButton-BWPOKDMR.mjs.map +1 -0
  166. package/dist/chunks/{NcRelatedResourcesPanel-Dtxd3-o1.mjs → NcRelatedResourcesPanel-BndhQA8u.mjs} +8 -8
  167. package/dist/chunks/NcRelatedResourcesPanel-BndhQA8u.mjs.map +1 -0
  168. package/dist/chunks/{NcRichContenteditable-B-w64JsT.mjs → NcRichContenteditable-CjuPClU1.mjs} +22 -22
  169. package/dist/chunks/{NcRichContenteditable-B-w64JsT.mjs.map → NcRichContenteditable-CjuPClU1.mjs.map} +1 -1
  170. package/dist/chunks/{NcRichText-1U5RXjPL.mjs → NcRichText-DJlaHs_Q.mjs} +9 -9
  171. package/dist/chunks/NcRichText-DJlaHs_Q.mjs.map +1 -0
  172. package/dist/chunks/{NcSelect-Cc9_a8nG.mjs → NcSelect-DLheQ2yp.mjs} +6 -6
  173. package/dist/chunks/NcSelect-DLheQ2yp.mjs.map +1 -0
  174. package/dist/chunks/{NcSelectTags-JyyA4W_e.mjs → NcSelectTags-CTHyuMcq.mjs} +6 -6
  175. package/dist/chunks/NcSelectTags-CTHyuMcq.mjs.map +1 -0
  176. package/dist/chunks/{NcSelectUsers-DlUM6S6l.mjs → NcSelectUsers-BlMjKkJ3.mjs} +9 -9
  177. package/dist/chunks/NcSelectUsers-BlMjKkJ3.mjs.map +1 -0
  178. package/dist/chunks/{NcSettingsSection-BcLE6UnZ.mjs → NcSettingsSection-BiX5No3C.mjs} +2 -2
  179. package/dist/chunks/{NcSettingsSection-BcLE6UnZ.mjs.map → NcSettingsSection-BiX5No3C.mjs.map} +1 -1
  180. package/dist/chunks/{NcSettingsSelectGroup-CUU-GWYl.mjs → NcSettingsSelectGroup-B69Mhcar.mjs} +10 -10
  181. package/dist/chunks/NcSettingsSelectGroup-B69Mhcar.mjs.map +1 -0
  182. package/dist/chunks/{NcTextArea-PIs9Kt0A.mjs → NcTextArea-CWA3KOiC.mjs} +2 -2
  183. package/dist/chunks/{NcTextArea-PIs9Kt0A.mjs.map → NcTextArea-CWA3KOiC.mjs.map} +1 -1
  184. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-CCsZqnkM.mjs → NcTextField.vue_vue_type_script_setup_true_lang-BxkYy7wv.mjs} +3 -3
  185. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-CCsZqnkM.mjs.map → NcTextField.vue_vue_type_script_setup_true_lang-BxkYy7wv.mjs.map} +1 -1
  186. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-BffYEppS.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-B7nhSDot.mjs} +4 -4
  187. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-BffYEppS.mjs.map → NcTimezonePicker.vue_vue_type_script_setup_true_lang-B7nhSDot.mjs.map} +1 -1
  188. package/dist/chunks/{NcUserBubble-Cs84CNHz.mjs → NcUserBubble-vOAXLHB5.mjs} +11 -11
  189. package/dist/chunks/{NcUserBubble-Cs84CNHz.mjs.map → NcUserBubble-vOAXLHB5.mjs.map} +1 -1
  190. package/dist/chunks/{NcUserStatusIcon-BgElapLh.mjs → NcUserStatusIcon-XiwrgeCm.mjs} +2 -2
  191. package/dist/chunks/{NcUserStatusIcon-BgElapLh.mjs.map → NcUserStatusIcon-XiwrgeCm.mjs.map} +1 -1
  192. package/dist/chunks/_l10n-Dq_eYxz_.mjs +145 -0
  193. package/dist/chunks/_l10n-Dq_eYxz_.mjs.map +1 -0
  194. package/dist/chunks/{appName-DtnLUijR.mjs → appName-DyNMVZpX.mjs} +12 -7
  195. package/dist/chunks/appName-DyNMVZpX.mjs.map +1 -0
  196. package/dist/chunks/{colors-CL_wvNtd.mjs → colors-BHGKZFDI.mjs} +11 -31
  197. package/dist/chunks/colors-BHGKZFDI.mjs.map +1 -0
  198. package/dist/chunks/{referencePickerModal-CXAtbcPd.mjs → referencePickerModal-D9HwChP3.mjs} +29 -29
  199. package/dist/chunks/referencePickerModal-D9HwChP3.mjs.map +1 -0
  200. package/dist/chunks/{useCopy-D4CcMqlA.mjs → useCopy-CfYsbB0V.mjs} +2 -2
  201. package/dist/chunks/{useCopy-D4CcMqlA.mjs.map → useCopy-CfYsbB0V.mjs.map} +1 -1
  202. package/dist/components/NcActionButtonGroup/index.mjs +1 -1
  203. package/dist/components/NcActionInput/NcActionInput.vue.d.ts +11 -0
  204. package/dist/components/NcActionInput/index.mjs +1 -1
  205. package/dist/components/NcActions/index.mjs +1 -1
  206. package/dist/components/NcAppContent/NcAppContent.vue.d.ts +2 -0
  207. package/dist/components/NcAppContent/index.mjs +1 -1
  208. package/dist/components/NcAppNavigation/index.mjs +1 -1
  209. package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
  210. package/dist/components/NcAppNavigationItem/index.mjs +1 -1
  211. package/dist/components/NcAppNavigationNew/index.mjs +1 -1
  212. package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
  213. package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
  214. package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
  215. package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
  216. package/dist/components/NcAppSettingsSectionShortcuts/index.mjs +1 -1
  217. package/dist/components/NcAppSettingsShortcutsSection/index.mjs +1 -1
  218. package/dist/components/NcAppSidebar/index.mjs +1 -1
  219. package/dist/components/NcAssistantButton/index.mjs +1 -1
  220. package/dist/components/NcAssistantContent/index.mjs +1 -1
  221. package/dist/components/NcAssistantIcon/index.mjs +1 -1
  222. package/dist/components/NcAvatar/index.mjs +1 -1
  223. package/dist/components/NcBlurHash/index.mjs +1 -1
  224. package/dist/components/NcBreadcrumb/index.mjs +1 -1
  225. package/dist/components/NcBreadcrumbs/index.mjs +1 -1
  226. package/dist/components/NcButton/index.mjs +1 -1
  227. package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
  228. package/dist/components/NcChip/index.mjs +1 -1
  229. package/dist/components/NcCollectionList/index.mjs +1 -1
  230. package/dist/components/NcColorPicker/index.mjs +1 -1
  231. package/dist/components/NcContent/index.mjs +1 -1
  232. package/dist/components/NcDashboardWidget/index.mjs +1 -1
  233. package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
  234. package/dist/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +19 -0
  235. package/dist/components/NcDateTimePicker/index.mjs +1 -1
  236. package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
  237. package/dist/components/NcDialog/index.mjs +1 -1
  238. package/dist/components/NcDialogButton/index.mjs +1 -1
  239. package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +1 -2
  240. package/dist/components/NcEmojiPicker/index.mjs +1 -1
  241. package/dist/components/NcFormBox/index.mjs +1 -1
  242. package/dist/components/NcFormBoxButton/index.mjs +1 -1
  243. package/dist/components/NcFormBoxCopyButton/index.mjs +1 -1
  244. package/dist/components/NcFormBoxSwitch/index.mjs +1 -1
  245. package/dist/components/NcFormGroup/index.mjs +1 -1
  246. package/dist/components/NcHeaderButton/index.mjs +1 -1
  247. package/dist/components/NcHeaderMenu/index.mjs +1 -1
  248. package/dist/components/NcHotkey/index.mjs +1 -1
  249. package/dist/components/NcHotkeyList/index.mjs +1 -1
  250. package/dist/components/NcInputField/index.mjs +1 -1
  251. package/dist/components/NcKbd/index.mjs +1 -1
  252. package/dist/components/NcListItem/NcListItem.vue.d.ts +2 -1
  253. package/dist/components/NcListItem/index.mjs +1 -1
  254. package/dist/components/NcListItemIcon/index.mjs +1 -1
  255. package/dist/components/NcModal/index.mjs +1 -1
  256. package/dist/components/NcPasswordField/index.mjs +1 -1
  257. package/dist/components/NcPopover/index.mjs +1 -1
  258. package/dist/components/NcProgressBar/NcProgressBar.vue.d.ts +9 -0
  259. package/dist/components/NcProgressBar/index.mjs +1 -1
  260. package/dist/components/NcRadioGroup/index.mjs +1 -1
  261. package/dist/components/NcRadioGroupButton/NcRadioGroupButton.vue.d.ts +4 -0
  262. package/dist/components/NcRadioGroupButton/index.mjs +1 -1
  263. package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
  264. package/dist/components/NcRichContenteditable/index.mjs +1 -1
  265. package/dist/components/NcRichText/index.mjs +3 -3
  266. package/dist/components/NcSelect/index.mjs +1 -1
  267. package/dist/components/NcSelectTags/index.mjs +1 -1
  268. package/dist/components/NcSelectUsers/NcSelectUsers.vue.d.ts +5 -5
  269. package/dist/components/NcSelectUsers/index.d.ts +1 -0
  270. package/dist/components/NcSelectUsers/index.mjs +1 -1
  271. package/dist/components/NcSettingsSection/index.mjs +1 -1
  272. package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
  273. package/dist/components/NcTextArea/index.mjs +1 -1
  274. package/dist/components/NcTextField/index.mjs +1 -1
  275. package/dist/components/NcTimezonePicker/index.mjs +1 -1
  276. package/dist/components/NcUserBubble/index.mjs +1 -1
  277. package/dist/components/NcUserStatusIcon/index.mjs +1 -1
  278. package/dist/composables/useFormatDateTime/index.mjs +1 -1
  279. package/dist/functions/reference/index.mjs +1 -1
  280. package/dist/functions/usernameToColor/index.mjs +1 -1
  281. package/dist/index.mjs +67 -67
  282. package/dist/utils/appName.d.ts +6 -2
  283. package/package.json +24 -24
  284. package/dist/assets/NcSelectUsers-BWhtNRbI.css +0 -4
  285. package/dist/chunks/NcActionInput-BemRG66_.mjs.map +0 -1
  286. package/dist/chunks/NcAppContent-BTNf1r8Z.mjs.map +0 -1
  287. package/dist/chunks/NcAppNavigationItem-OrqBniiI.mjs.map +0 -1
  288. package/dist/chunks/NcAppNavigationSearch-ByuV3q2c.mjs.map +0 -1
  289. package/dist/chunks/NcAppNavigationSettings-A0DXzd5B.mjs.map +0 -1
  290. package/dist/chunks/NcAppSettingsDialog-BaN30xl4.mjs.map +0 -1
  291. package/dist/chunks/NcAppSidebar-as8lzUZp.mjs.map +0 -1
  292. package/dist/chunks/NcAvatar-CK_dTsmT.mjs.map +0 -1
  293. package/dist/chunks/NcBreadcrumb-ChYVw5CP.mjs.map +0 -1
  294. package/dist/chunks/NcCheckboxRadioSwitch-DisCqPZK.mjs.map +0 -1
  295. package/dist/chunks/NcChip-B8jcrLqG.mjs.map +0 -1
  296. package/dist/chunks/NcCollectionList-TB1GbWbo.mjs.map +0 -1
  297. package/dist/chunks/NcColorPicker-3wpX7pKD.mjs.map +0 -1
  298. package/dist/chunks/NcDashboardWidget-1tax78_e.mjs.map +0 -1
  299. package/dist/chunks/NcDashboardWidgetItem-BjsN8uF0.mjs.map +0 -1
  300. package/dist/chunks/NcDateTimePicker-DCuHXZjc.mjs.map +0 -1
  301. package/dist/chunks/NcEmojiPicker-CReazifM.mjs.map +0 -1
  302. package/dist/chunks/NcFormBox-CkgY7Tif.mjs.map +0 -1
  303. package/dist/chunks/NcFormBoxButton-DvMw5yUf.mjs.map +0 -1
  304. package/dist/chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DYtyXBqR.mjs.map +0 -1
  305. package/dist/chunks/NcFormBoxItem-vnU0KmUL.mjs.map +0 -1
  306. package/dist/chunks/NcListItem-Bx93C7tP.mjs.map +0 -1
  307. package/dist/chunks/NcListItemIcon-DVy6eGJx.mjs.map +0 -1
  308. package/dist/chunks/NcModal-D00OJZV2.mjs.map +0 -1
  309. package/dist/chunks/NcPopover-C-MTaPCs.mjs.map +0 -1
  310. package/dist/chunks/NcProgressBar-DDMAo4h-.mjs.map +0 -1
  311. package/dist/chunks/NcRadioGroup-HorQ2m39.mjs.map +0 -1
  312. package/dist/chunks/NcRadioGroupButton-CAisx7g4.mjs.map +0 -1
  313. package/dist/chunks/NcRelatedResourcesPanel-Dtxd3-o1.mjs.map +0 -1
  314. package/dist/chunks/NcRichText-1U5RXjPL.mjs.map +0 -1
  315. package/dist/chunks/NcSelect-Cc9_a8nG.mjs.map +0 -1
  316. package/dist/chunks/NcSelectTags-JyyA4W_e.mjs.map +0 -1
  317. package/dist/chunks/NcSelectUsers-DlUM6S6l.mjs.map +0 -1
  318. package/dist/chunks/NcSettingsSelectGroup-CUU-GWYl.mjs.map +0 -1
  319. package/dist/chunks/_l10n-CgsPi8nC.mjs +0 -145
  320. package/dist/chunks/_l10n-CgsPi8nC.mjs.map +0 -1
  321. package/dist/chunks/appName-DtnLUijR.mjs.map +0 -1
  322. package/dist/chunks/colors-CL_wvNtd.mjs.map +0 -1
  323. package/dist/chunks/referencePickerModal-CXAtbcPd.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { N, h, c, i, e, r, f, a } from "../../chunks/customPickerElements-4pQTZUnk.mjs";
2
- import { a as a2, g, b, c as c2, s, d } from "../../chunks/referencePickerModal-CXAtbcPd.mjs";
2
+ import { a as a2, g, b, c as c2, s, d } from "../../chunks/referencePickerModal-D9HwChP3.mjs";
3
3
  export {
4
4
  N as NcCustomPickerRenderResult,
5
5
  a2 as anyLinkProviderId,
@@ -1,5 +1,5 @@
1
1
  import { Md5 } from "ts-md5";
2
- import { g as generatePalette } from "../../chunks/colors-CL_wvNtd.mjs";
2
+ import { g as generatePalette } from "../../chunks/colors-BHGKZFDI.mjs";
3
3
  function hashCode(str) {
4
4
  let hash = str;
5
5
  if (str.match(/^([0-9a-f]{4}-?){8}$/) === null) {
package/dist/index.mjs CHANGED
@@ -1,84 +1,84 @@
1
1
  import { N } from "./chunks/NcActionButton-DNXoAooH.mjs";
2
- import { N as N2 } from "./chunks/NcActionButtonGroup-B2MGnwK_.mjs";
2
+ import { N as N2 } from "./chunks/NcActionButtonGroup-C7ej9wLo.mjs";
3
3
  import { N as N3 } from "./chunks/NcActionCaption-Cgd3J8jw.mjs";
4
4
  import { N as N4 } from "./chunks/NcActionCheckbox-DeHAMd23.mjs";
5
- import { N as N5 } from "./chunks/NcActionInput-BemRG66_.mjs";
5
+ import { N as N5 } from "./chunks/NcActionInput-1xeJpD6P.mjs";
6
6
  import { N as N6 } from "./chunks/NcActionLink-Cd69py4e.mjs";
7
7
  import { N as N7 } from "./chunks/NcActionRadio-DILn0DxW.mjs";
8
8
  import { N as N8 } from "./chunks/NcActionRouter-DtxPh20B.mjs";
9
- import { N as N9 } from "./chunks/NcActions-4R7icatI.mjs";
9
+ import { N as N9 } from "./chunks/NcActions-BWDsG06k.mjs";
10
10
  import { N as N10 } from "./chunks/NcActionSeparator-Doekl1NX.mjs";
11
11
  import { N as N11 } from "./chunks/NcActionText-Bd1fgVqA.mjs";
12
12
  import { N as N12 } from "./chunks/NcActionTextEditable-DL4idmon.mjs";
13
- import { N as N13 } from "./chunks/NcAppContent-BTNf1r8Z.mjs";
13
+ import { N as N13 } from "./chunks/NcAppContent-njY3MCzi.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-DQB0KqoZ.mjs";
17
- import { N as N16 } from "./chunks/NcAppNavigationCaption-DiLoiMN5.mjs";
16
+ import { N as N15 } from "./chunks/NcAppNavigation-Bpdpz-wF.mjs";
17
+ import { N as N16 } from "./chunks/NcAppNavigationCaption-CyEhlxoS.mjs";
18
18
  import { N as N17 } from "./chunks/NcAppNavigationIconBullet-PrlhOoE9.mjs";
19
- import { N as N18 } from "./chunks/NcAppNavigationItem-OrqBniiI.mjs";
19
+ import { N as N18 } from "./chunks/NcAppNavigationItem-Ny1Po7Rd.mjs";
20
20
  import { N as N19 } from "./chunks/NcAppNavigationList-BX0wE-dB.mjs";
21
- import { N as N20 } from "./chunks/NcAppNavigationNew-WS0F9mau.mjs";
22
- import { N as N21 } from "./chunks/NcAppNavigationNewItem-DYH3Gimz.mjs";
23
- import { N as N22 } from "./chunks/NcAppNavigationSearch-ByuV3q2c.mjs";
24
- import { N as N23 } from "./chunks/NcAppNavigationSettings-A0DXzd5B.mjs";
21
+ import { N as N20 } from "./chunks/NcAppNavigationNew-CJpxzq_I.mjs";
22
+ import { N as N21 } from "./chunks/NcAppNavigationNewItem-hsUDrzT-.mjs";
23
+ import { N as N22 } from "./chunks/NcAppNavigationSearch-C5RAT6JQ.mjs";
24
+ import { N as N23 } from "./chunks/NcAppNavigationSettings-BPLJktWz.mjs";
25
25
  import { N as N24 } from "./chunks/NcAppNavigationSpacer-BvkBfuVw.mjs";
26
- import { N as N25 } from "./chunks/NcAppSettingsDialog-BaN30xl4.mjs";
26
+ import { N as N25 } from "./chunks/NcAppSettingsDialog-DddRGyYJ.mjs";
27
27
  import { N as N26 } from "./chunks/NcAppSettingsSection-B2pFK0UK.mjs";
28
- import { N as N27, N as N28 } from "./chunks/NcAppSettingsShortcutsSection-DDmDMMsF.mjs";
29
- import { N as N29 } from "./chunks/NcAppSidebar-as8lzUZp.mjs";
28
+ import { N as N27, N as N28 } from "./chunks/NcAppSettingsShortcutsSection-D07KOJfT.mjs";
29
+ import { N as N29 } from "./chunks/NcAppSidebar-BAnJD3ea.mjs";
30
30
  import { _ as _2 } from "./chunks/NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-0j0aFDeK.mjs";
31
31
  import { N as N30 } from "./chunks/NcAppSidebarTab-Cjetm3Fs.mjs";
32
- import { N as N31 } from "./chunks/NcAssistantButton-CioiSWRg.mjs";
33
- import { N as N32 } from "./chunks/NcAssistantContent-Boi-0v_0.mjs";
34
- import { N as N33 } from "./chunks/NcAssistantIcon-8pL-4h5f.mjs";
35
- import { N as N34 } from "./chunks/NcAvatar-CK_dTsmT.mjs";
36
- import { N as N35 } from "./chunks/NcBlurHash-BiFktE2N.mjs";
37
- import { N as N36 } from "./chunks/NcBreadcrumb-ChYVw5CP.mjs";
38
- import { N as N37 } from "./chunks/NcBreadcrumbs-CbJmdlaF.mjs";
39
- import { N as N38 } from "./chunks/NcButton-CzpKEx4V.mjs";
40
- import { N as N39 } from "./chunks/NcCheckboxRadioSwitch-DisCqPZK.mjs";
41
- import { N as N40 } from "./chunks/NcChip-B8jcrLqG.mjs";
42
- import { N as N41 } from "./chunks/NcCollectionList-TB1GbWbo.mjs";
43
- import { N as N42 } from "./chunks/NcColorPicker-3wpX7pKD.mjs";
44
- import { N as N43 } from "./chunks/NcContent-BrRHLO19.mjs";
32
+ import { N as N31 } from "./chunks/NcAssistantButton-CkFCuTft.mjs";
33
+ import { N as N32 } from "./chunks/NcAssistantContent-BR3lWBWC.mjs";
34
+ import { N as N33 } from "./chunks/NcAssistantIcon-DsJh5rb7.mjs";
35
+ import { N as N34 } from "./chunks/NcAvatar-C9d7Wrc8.mjs";
36
+ import { N as N35 } from "./chunks/NcBlurHash-Cp7enp4q.mjs";
37
+ import { N as N36 } from "./chunks/NcBreadcrumb-BRt3l6x6.mjs";
38
+ import { N as N37 } from "./chunks/NcBreadcrumbs-CIsUSeJx.mjs";
39
+ import { N as N38 } from "./chunks/NcButton-C9D47Igd.mjs";
40
+ import { N as N39 } from "./chunks/NcCheckboxRadioSwitch-BMsPx74L.mjs";
41
+ import { N as N40 } from "./chunks/NcChip-B71t2Ny2.mjs";
42
+ import { N as N41 } from "./chunks/NcCollectionList-BLDdPjtu.mjs";
43
+ import { N as N42 } from "./chunks/NcColorPicker-DDHxR-iN.mjs";
44
+ import { N as N43 } from "./chunks/NcContent-O-bMKi-3.mjs";
45
45
  import { N as N44 } from "./chunks/NcCounterBubble-CxxHHh8i.mjs";
46
- import { N as N45 } from "./chunks/NcDashboardWidget-1tax78_e.mjs";
47
- import { N as N46 } from "./chunks/NcDashboardWidgetItem-BjsN8uF0.mjs";
46
+ import { N as N45 } from "./chunks/NcDashboardWidget-DCBQdRFz.mjs";
47
+ import { N as N46 } from "./chunks/NcDashboardWidgetItem-ygUG05Ut.mjs";
48
48
  import { _ as _3 } from "./chunks/NcDateTime.vue_vue_type_script_setup_true_lang-BhB8yA4U.mjs";
49
- import { N as N47 } from "./chunks/NcDateTimePicker-DCuHXZjc.mjs";
50
- import { N as N48 } from "./chunks/NcDateTimePickerNative-Dr8_mGlQ.mjs";
51
- import { N as N49 } from "./chunks/NcDialog-BHl_LOs_.mjs";
52
- import { _ as _4 } from "./chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-CYpktNKA.mjs";
49
+ import { N as N47 } from "./chunks/NcDateTimePicker-RLihgV8b.mjs";
50
+ import { N as N48 } from "./chunks/NcDateTimePickerNative-C_4mwR_o.mjs";
51
+ import { N as N49 } from "./chunks/NcDialog-BG9t4Psg.mjs";
52
+ import { _ as _4 } from "./chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-DABuSwSR.mjs";
53
53
  import { N as N50 } from "./chunks/NcEllipsisedOption-dT-CtXYp.mjs";
54
- import { N as N51 } from "./chunks/NcEmojiPicker-CReazifM.mjs";
54
+ import { N as N51 } from "./chunks/NcEmojiPicker-Djc9a0gw.mjs";
55
55
  import { N as N52 } from "./chunks/NcEmptyContent-B8-90BSI.mjs";
56
- import { N as N53 } from "./chunks/NcFormBox-CkgY7Tif.mjs";
57
- import { N as N54 } from "./chunks/NcFormBoxButton-DvMw5yUf.mjs";
58
- import { _ as _5 } from "./chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DYtyXBqR.mjs";
59
- import { N as N55 } from "./chunks/NcFormBoxSwitch-DGcRJH9Q.mjs";
60
- import { N as N56 } from "./chunks/NcFormGroup-CnSfPFey.mjs";
56
+ import { N as N53 } from "./chunks/NcFormBox-BYjllt0m.mjs";
57
+ import { N as N54 } from "./chunks/NcFormBoxButton-RDIKiZIH.mjs";
58
+ import { _ as _5 } from "./chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-CIPhWmeP.mjs";
59
+ import { N as N55 } from "./chunks/NcFormBoxSwitch-m9uRjJzl.mjs";
60
+ import { N as N56 } from "./chunks/NcFormGroup-Bf8Mme1o.mjs";
61
61
  import { N as N57 } from "./chunks/NcGuestContent-CfCh49o0.mjs";
62
- import { N as N58 } from "./chunks/NcHeaderButton-CIb5SvFk.mjs";
63
- import { N as N59 } from "./chunks/NcHeaderMenu-CeJZT5-m.mjs";
62
+ import { N as N58 } from "./chunks/NcHeaderButton-DZ7Sd9pu.mjs";
63
+ import { N as N59 } from "./chunks/NcHeaderMenu-D9WjsIsy.mjs";
64
64
  import { _ as _6 } from "./chunks/NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs";
65
- import { N as N60 } from "./chunks/NcHotkey-BMbdzaIs.mjs";
66
- import { N as N61 } from "./chunks/NcHotkeyList-67NnF26Y.mjs";
65
+ import { N as N60 } from "./chunks/NcHotkey-Bd-gNn3a.mjs";
66
+ import { N as N61 } from "./chunks/NcHotkeyList-D8hkh6o6.mjs";
67
67
  import { N as N62 } from "./chunks/NcIconSvgWrapper-BvLanNaW.mjs";
68
- import { N as N63 } from "./chunks/NcInputField-Clm9jOGJ.mjs";
69
- import { N as N64 } from "./chunks/NcKbd-CZdynD1d.mjs";
70
- import { N as N65 } from "./chunks/NcListItem-Bx93C7tP.mjs";
71
- import { N as N66 } from "./chunks/NcListItemIcon-DVy6eGJx.mjs";
68
+ import { N as N63 } from "./chunks/NcInputField-o5OFv3z6.mjs";
69
+ import { N as N64 } from "./chunks/NcKbd-DzE_4Z3y.mjs";
70
+ import { N as N65 } from "./chunks/NcListItem-DSdLnQJX.mjs";
71
+ import { N as N66 } from "./chunks/NcListItemIcon-C_yQkDIv.mjs";
72
72
  import { N as N67 } from "./chunks/NcLoadingIcon-b_ajZ_nQ.mjs";
73
- import { N as N68 } from "./chunks/NcModal-D00OJZV2.mjs";
73
+ import { N as N68 } from "./chunks/NcModal-DHryP_87.mjs";
74
74
  import { N as N69 } from "./chunks/NcNoteCard-Cok_4Fld.mjs";
75
- import { N as N70 } from "./chunks/NcPasswordField-BOZlUwhr.mjs";
76
- import { N as N71 } from "./chunks/NcPopover-C-MTaPCs.mjs";
77
- import { N as N72 } from "./chunks/NcProgressBar-DDMAo4h-.mjs";
78
- import { N as N73 } from "./chunks/NcRadioGroup-HorQ2m39.mjs";
79
- import { N as N74 } from "./chunks/NcRadioGroupButton-CAisx7g4.mjs";
80
- import { N as N75 } from "./chunks/NcRelatedResourcesPanel-Dtxd3-o1.mjs";
81
- import { a, N as N76, b } from "./chunks/NcRichContenteditable-B-w64JsT.mjs";
75
+ import { N as N70 } from "./chunks/NcPasswordField-uaMO2pdt.mjs";
76
+ import { N as N71 } from "./chunks/NcPopover-OqcYrWOx.mjs";
77
+ import { N as N72 } from "./chunks/NcProgressBar-OIWW1Sei.mjs";
78
+ import { N as N73 } from "./chunks/NcRadioGroup-Bjl3n_1z.mjs";
79
+ import { N as N74 } from "./chunks/NcRadioGroupButton-BWPOKDMR.mjs";
80
+ import { N as N75 } from "./chunks/NcRelatedResourcesPanel-BndhQA8u.mjs";
81
+ import { a, N as N76, b } from "./chunks/NcRichContenteditable-CjuPClU1.mjs";
82
82
  import "@nextcloud/auth";
83
83
  import "@nextcloud/axios";
84
84
  import "@nextcloud/router";
@@ -86,25 +86,25 @@ import "@nextcloud/sharing/public";
86
86
  import "vue";
87
87
  import "@vueuse/core";
88
88
  import "vue-router";
89
- import { a as a2, g, b as b2, c, s, d } from "./chunks/referencePickerModal-CXAtbcPd.mjs";
89
+ import { a as a2, g, b as b2, c, s, d } from "./chunks/referencePickerModal-D9HwChP3.mjs";
90
90
  import { N as N77, h, c as c2, i, e, r, f, a as a3 } from "./chunks/customPickerElements-4pQTZUnk.mjs";
91
91
  import "./chunks/autolink-U5pBzLgI.mjs";
92
92
  import "./chunks/logger-D3RVzcfQ.mjs";
93
- import { N as N78 } from "./chunks/NcRichText-1U5RXjPL.mjs";
94
- import { N as N79 } from "./chunks/NcSelect-Cc9_a8nG.mjs";
93
+ import { N as N78 } from "./chunks/NcRichText-DJlaHs_Q.mjs";
94
+ import { N as N79 } from "./chunks/NcSelect-DLheQ2yp.mjs";
95
95
  import "debounce";
96
- import { _ as _7 } from "./chunks/NcTextField.vue_vue_type_script_setup_true_lang-CCsZqnkM.mjs";
96
+ import { _ as _7 } from "./chunks/NcTextField.vue_vue_type_script_setup_true_lang-BxkYy7wv.mjs";
97
97
  import "@nextcloud/event-bus";
98
98
  import { _ as _8 } from "./chunks/NcSavingIndicatorIcon.vue_vue_type_script_setup_true_lang-jUf1K561.mjs";
99
- import { N as N80 } from "./chunks/NcSelectTags-JyyA4W_e.mjs";
100
- import { N as N81 } from "./chunks/NcSelectUsers-DlUM6S6l.mjs";
101
- import { N as N82 } from "./chunks/NcSettingsSection-BcLE6UnZ.mjs";
102
- import { N as N83 } from "./chunks/NcSettingsSelectGroup-CUU-GWYl.mjs";
103
- import { N as N84 } from "./chunks/NcTextArea-PIs9Kt0A.mjs";
99
+ import { N as N80 } from "./chunks/NcSelectTags-CTHyuMcq.mjs";
100
+ import { N as N81 } from "./chunks/NcSelectUsers-BlMjKkJ3.mjs";
101
+ import { N as N82 } from "./chunks/NcSettingsSection-BiX5No3C.mjs";
102
+ import { N as N83 } from "./chunks/NcSettingsSelectGroup-B69Mhcar.mjs";
103
+ import { N as N84 } from "./chunks/NcTextArea-CWA3KOiC.mjs";
104
104
  import { _ as _9 } from "./chunks/NcThemeProvider.vue_vue_type_script_setup_true_lang-DWn1DRTx.mjs";
105
- import { _ as _10 } from "./chunks/NcTimezonePicker.vue_vue_type_script_setup_true_lang-BffYEppS.mjs";
106
- import { N as N85 } from "./chunks/NcUserBubble-Cs84CNHz.mjs";
107
- import { N as N86 } from "./chunks/NcUserStatusIcon-BgElapLh.mjs";
105
+ import { _ as _10 } from "./chunks/NcTimezonePicker.vue_vue_type_script_setup_true_lang-B7nhSDot.mjs";
106
+ import { N as N85 } from "./chunks/NcUserBubble-vOAXLHB5.mjs";
107
+ import { N as N86 } from "./chunks/NcUserStatusIcon-XiwrgeCm.mjs";
108
108
  import { _ as _11 } from "./chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs";
109
109
  import { useFormatRelativeTime, useFormatTime } from "./composables/useFormatDateTime/index.mjs";
110
110
  import { useHotKey } from "./composables/useHotKey/index.mjs";
@@ -5,6 +5,10 @@
5
5
  export declare const APP_NAME: string;
6
6
  export declare const APP_VERSION: string;
7
7
  /**
8
- * Get localized app name from the initial state
8
+ * Get the app name (the Nextcloud app id).
9
9
  */
10
- export declare const getLocalizedAppName: () => string;
10
+ export declare function useAppName(): string;
11
+ /**
12
+ * Get the localized app name.
13
+ */
14
+ export declare const useLocalizedAppName: () => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextcloud/vue",
3
- "version": "9.3.3",
3
+ "version": "9.5.0",
4
4
  "description": "Nextcloud vue components",
5
5
  "keywords": [
6
6
  "vuejs",
@@ -76,7 +76,7 @@
76
76
  },
77
77
  "dependencies": {
78
78
  "@ckpack/vue-color": "^1.6.0",
79
- "@floating-ui/dom": "^1.7.4",
79
+ "@floating-ui/dom": "^1.7.5",
80
80
  "@nextcloud/auth": "^2.5.3",
81
81
  "@nextcloud/axios": "^2.5.2",
82
82
  "@nextcloud/browser-storage": "^0.5.0",
@@ -88,7 +88,7 @@
88
88
  "@nextcloud/router": "^3.1.0",
89
89
  "@nextcloud/sharing": "^0.3.0",
90
90
  "@vuepic/vue-datepicker": "^11.0.3",
91
- "@vueuse/components": "^14.1.0",
91
+ "@vueuse/components": "^14.2.0",
92
92
  "@vueuse/core": "^14.0.0",
93
93
  "blurhash": "^2.0.5",
94
94
  "clone": "^2.1.2",
@@ -97,7 +97,7 @@
97
97
  "emoji-mart-vue-fast": "^15.0.5",
98
98
  "escape-html": "^1.0.3",
99
99
  "floating-vue": "^5.2.2",
100
- "focus-trap": "7.6.6",
100
+ "focus-trap": "^8.0.0",
101
101
  "linkifyjs": "^4.3.2",
102
102
  "p-queue": "^9.1.0",
103
103
  "rehype-external-links": "^3.0.0",
@@ -114,43 +114,43 @@
114
114
  "ts-md5": "^2.0.1",
115
115
  "unified": "^11.0.5",
116
116
  "unist-builder": "^4.0.0",
117
- "unist-util-visit": "^5.0.0",
117
+ "unist-util-visit": "^5.1.0",
118
118
  "vue": "^3.5.18",
119
- "vue-router": "^4.6.4",
119
+ "vue-router": "^5.0.2",
120
120
  "vue-select": "^4.0.0-beta.6"
121
121
  },
122
122
  "devDependencies": {
123
- "@babel/plugin-syntax-import-assertions": "^7.27.1",
124
- "@babel/plugin-transform-typescript": "^7.28.0",
123
+ "@babel/plugin-syntax-import-assertions": "^7.28.6",
124
+ "@babel/plugin-transform-typescript": "^7.28.6",
125
125
  "@babel/preset-typescript": "^7.28.5",
126
126
  "@fontsource/roboto": "^5.2.9",
127
127
  "@mdi/js": "^7.4.47",
128
128
  "@mdi/svg": "^7.4.47",
129
129
  "@nextcloud/babel-config": "^1.3.0",
130
130
  "@nextcloud/browserslist-config": "^3.1.2",
131
- "@nextcloud/eslint-config": "^9.0.0-rc.6",
132
- "@nextcloud/stylelint-config": "^3.1.1",
131
+ "@nextcloud/eslint-config": "^9.0.0-rc.8",
132
+ "@nextcloud/stylelint-config": "^3.2.0",
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.57.0",
136
- "@playwright/test": "^1.57.0",
137
- "@types/gettext-parser": "^8.0.0",
138
- "@types/node": "^24.10.4",
139
- "@vitest/coverage-v8": "^4.0.16",
135
+ "@playwright/experimental-ct-vue": "^1.58.1",
136
+ "@playwright/test": "^1.58.1",
137
+ "@types/gettext-parser": "^9.0.0",
138
+ "@types/node": "^24.10.10",
139
+ "@vitest/coverage-v8": "^4.0.18",
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.47.0",
143
+ "core-js": "^3.48.0",
144
144
  "eslint": "^9.39.2",
145
145
  "file-loader": "^6.2.0",
146
- "gettext-extractor": "^4.0.4",
147
- "gettext-parser": "^9.0.0",
148
- "glob": "^13.0.0",
149
- "jsdom": "^27.4.0",
146
+ "gettext-extractor": "^4.0.5",
147
+ "gettext-parser": "^9.0.1",
148
+ "glob": "^13.0.1",
149
+ "jsdom": "^28.0.0",
150
150
  "remark-gfm": "^4.0.1",
151
151
  "resolve-url-loader": "^5.0.0",
152
- "sass": "^1.97.2",
153
- "stylelint": "^16.26.1",
152
+ "sass": "^1.97.3",
153
+ "stylelint": "^17.1.1",
154
154
  "ts-node": "^10.9.2",
155
155
  "typescript": "^5.9.3",
156
156
  "url-loader": "^4.1.1",
@@ -159,8 +159,8 @@
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.2.2",
163
- "webpack": "^5.104.1",
162
+ "vue-tsc": "^3.2.4",
163
+ "webpack": "^5.105.0",
164
164
  "webpack-merge": "^6.0.1"
165
165
  },
166
166
  "engines": {
@@ -1,4 +0,0 @@
1
-
2
- .nc-select-users[data-v-4fbb6472] .vs__selected {
3
- padding-inline: 0 5px !important;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcActionInput-BemRG66_.mjs","sources":["../../src/components/NcActionInput/NcActionInput.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used inside of the [NcActions](#NcActions) component slots.\n\nIt is recommended to not only provide a placeholder, but also a label.\nThe label should describe what input is expected and the placehold what format the input should have.\n\nAll undocumented attributes will be bound to the input, the datepicker or the select component, e.g. `maxlength`, `not-before`.\nFor the `NcSelect` component, all events will be passed through. Please see the `NcSelect` component's documentation for more details and examples.\n```vue\n\t<template>\n\t\t<NcActions>\n\t\t\t<NcActionInput v-model=\"text\" :label-outside=\"true\" label=\"Label outside the input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput v-model=\"text\" :show-trailing-button=\"false\" label=\"Input without trailing button\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput v-model=\"text\" label=\"Input with placeholder\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tThis is the placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" v-model=\"text\" label=\"Password with visible label\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconKeyOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" v-model=\"text\" :show-trailing-button=\"false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconKeyOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"color\" v-model=\"color\" label=\"Favorite color\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconEyedropper :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tColor placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput label=\"Visible label\" v-model=\"text\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tInput with visible label\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :disabled=\"true\" label=\"This is a disabled input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconClose :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\" label=\"Native date picker\" isNativePicker v-model=\"date\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\" v-model=\"date\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput\n\t\t\t\ttype=\"multiselect\"\n\t\t\t\tinput-label=\"Fruit selection\"\n\t\t\t\t:options=\"['Apple', 'Banana', 'Cherry']\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput\n\t\t\t\tv-model=\"multiSelected\"\n\t\t\t\ttype=\"multiselect\"\n\t\t\t\tinput-label=\"Fruit selection\"\n\t\t\t\ttrack-by=\"id\"\n\t\t\t\t:append-to-body=\"true\"\n\t\t\t\t:multiple=\"true\"\n\t\t\t\t:options=\"[{label:'Apple', id: 'apple'}, {label:'Banana', id: 'banana'}, {label:'Cherry', id: 'cherry'}]\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit object\n\t\t\t</NcActionInput>\n\t\t</NcActions>\n\t</template>\n\t<script>\n\timport IconClose from 'vue-material-design-icons/Close.vue'\n\timport IconEyedropper from 'vue-material-design-icons/Eyedropper.vue'\n\timport IconKeyOutline from 'vue-material-design-icons/KeyOutline.vue'\n\timport IconPencilOutline from 'vue-material-design-icons/PencilOutline.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconClose,\n\t\t\tIconEyedropper,\n\t\t\tIconKeyOutline,\n\t\t\tIconPencilOutline,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tcolor: '#0082C9',\n\t\t\t\tdate: new Date(),\n\t\t\t\ttext: 'This is the input text',\n\t\t\t\tmultiSelected: [],\n\t\t\t}\n\t\t},\n\t}\n\t</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"[{ 'action--disabled': disabled }, $props.class]\">\n\t\t<span\n\t\t\tclass=\"action-input\"\n\t\t\t:class=\"{\n\t\t\t\t'action-input-picker--disabled': disabled,\n\t\t\t\t'action-input--visible-label': labelOutside && label,\n\t\t\t}\"\n\t\t\t@mouseleave=\"onLeave\">\n\t\t\t<span class=\"action-input__icon-wrapper\">\n\t\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t\t<slot name=\"icon\">\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclass=\"action-input__icon\"\n\t\t\t\t\t\t:class=\"[isIconUrl ? 'action-input__icon--url' : icon]\"\n\t\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\" />\n\t\t\t\t</slot>\n\t\t\t</span>\n\n\t\t\t<!-- form and input -->\n\t\t\t<form\n\t\t\t\tref=\"form\"\n\t\t\t\tclass=\"action-input__form\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@submit.prevent=\"onSubmit\">\n\t\t\t\t<div class=\"action-input__container\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tv-if=\"label && labelOutside && !isNativePicker\"\n\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside }\"\n\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t</label>\n\t\t\t\t\t<div class=\"action-input__input-container\">\n\n\t\t\t\t\t\t<NcDateTimePicker\n\t\t\t\t\t\t\tv-if=\"datePickerType\"\n\t\t\t\t\t\t\tref=\"datetimepicker\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\tstyle=\"z-index: 99999999999;\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:type=\"datePickerType\"\n\t\t\t\t\t\t\t:input-class=\"['mx-input', { focusable: isFocusable }]\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tappend-to-body\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<NcDateTimePickerNative\n\t\t\t\t\t\t\tv-else-if=\"isNativePicker\"\n\t\t\t\t\t\t\t:id=\"idNativeDateTimePicker\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:type=\"nativeDatePickerType\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<NcSelect\n\t\t\t\t\t\t\tv-else-if=\"isMultiselectType\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__multi\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<NcPasswordField\n\t\t\t\t\t\t\tv-else-if=\"type === 'password'\"\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<div v-else-if=\"type === 'color'\" class=\"action-input__container\">\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\tv-if=\"label && type === 'color'\"\n\t\t\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside }\"\n\t\t\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div class=\"action-input__input-container\">\n\t\t\t\t\t\t\t\t<NcColorPicker\n\t\t\t\t\t\t\t\t\tid=\"inputId\"\n\t\t\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t\t\tclass=\"colorpicker__trigger\"\n\t\t\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\"\n\t\t\t\t\t\t\t\t\t@submit=\"$refs.form.requestSubmit()\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass=\"colorpicker__preview\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t\t\t\t:style=\"{ 'background-color': modelValue }\" />\n\t\t\t\t\t\t\t\t</NcColorPicker>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<NcTextField\n\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:type=\"type\"\n\t\t\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t\t\t:trailing-button-label=\"trailingButtonLabel\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@trailing-button-click=\"$refs.form.requestSubmit()\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nimport { defineAsyncComponent } from 'vue'\nimport { t } from '../../l10n.ts'\nimport ActionGlobalMixin from '../../mixins/actionGlobal.js'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport NcDateTimePickerNative from '../NcDateTimePickerNative/index.ts'\nimport NcPasswordField from '../NcPasswordField/index.ts'\nimport NcTextField from '../NcTextField/index.ts'\n\nexport default {\n\tname: 'NcActionInput',\n\n\tcomponents: {\n\t\tNcDateTimePickerNative,\n\t\tNcPasswordField,\n\t\tNcTextField,\n\t\t// Lazy load components with more than 50kB bundle size impact\n\t\tNcColorPicker: defineAsyncComponent(() => import('../NcColorPicker/index.ts')),\n\t\tNcDateTimePicker: defineAsyncComponent(() => import('../NcDateTimePicker/index.js')),\n\t\tNcSelect: defineAsyncComponent(() => import('../NcSelect/index.js')),\n\t},\n\n\tmixins: [ActionGlobalMixin],\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * id attribute of the checkbox element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-' + createElementId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the text input element\n\t\t */\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-input-' + createElementId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * Icon to show with the action, can be either a CSS class or an URL\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * type attribute of the input field\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator(type) {\n\t\t\t\treturn [\n\t\t\t\t\t'date',\n\t\t\t\t\t'datetime-local',\n\t\t\t\t\t'month',\n\t\t\t\t\t'multiselect',\n\t\t\t\t\t'number',\n\t\t\t\t\t'password',\n\t\t\t\t\t'search',\n\t\t\t\t\t'tel',\n\t\t\t\t\t'text',\n\t\t\t\t\t'time',\n\t\t\t\t\t'url',\n\t\t\t\t\t'week',\n\t\t\t\t\t'color',\n\t\t\t\t\t'email',\n\t\t\t\t].includes(type)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * id attribute for the native date time picker\n\t\t */\n\t\tidNativeDateTimePicker: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date-time-picker_id',\n\t\t},\n\n\t\t/**\n\t\t * Flag to use a native date time picker\n\t\t */\n\t\tisNativePicker: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The visible input label for accessibility purposes.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * If you want to show the label just above the\n\t\t * input field, pass in `true` to this prop.\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * value attribute of the input field\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: [String, Date, Number, Array],\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the input field\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Attribute forwarded to the underlying NcPasswordField and NcTextField\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Trailing button label forwarded to the underlying NcTextField\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Submit'),\n\t\t},\n\n\t\t/**\n\t\t * CSS class to apply to the root element.\n\t\t */\n\t\tclass: {\n\t\t\ttype: [String, Array, Object],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'submit',\n\t\t'update:modelValue',\n\t],\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\ttry {\n\t\t\t\treturn new URL(this.icon)\n\t\t\t} catch {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\tisMultiselectType() {\n\t\t\treturn this.type === 'multiselect'\n\t\t},\n\n\t\tnativeDatePickerType() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'month':\n\t\t\t\tcase 'time':\n\t\t\t\tcase 'week':\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn this.type\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdatePickerType() {\n\t\t\tif (!this.isNativePicker) {\n\t\t\t\tswitch (this.type) {\n\t\t\t\t\tcase 'date':\n\t\t\t\t\tcase 'month':\n\t\t\t\t\tcase 'time':\n\t\t\t\t\t\treturn this.type\n\n\t\t\t\t\tcase 'datetime-local':\n\t\t\t\t\t\treturn 'datetime'\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t *\n\t\t * @return {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\t},\n\n\tmethods: {\n\t\t// closing datepicker popup on mouseleave = unfocus\n\t\tonLeave() {\n\t\t\tif (this.$refs.datetimepicker && this.$refs.datetimepicker.$refs.datepicker) {\n\t\t\t\tthis.$refs.datetimepicker.$refs.datepicker.closePopup()\n\t\t\t}\n\t\t},\n\n\t\tonSubmit(event) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t} else {\n\t\t\t\t// ignore submit\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\tonUpdateModelValue(event) {\n\t\t\t/**\n\t\t\t * Emitted on update of the model value\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('update:modelValue', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../../assets/inputs.scss';\n@use '../../assets/action.scss' as *;\n@include action-active;\n@include action--disabled;\n\n$input-margin: 4px;\n\n.action-input {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\n\t&__icon-wrapper {\n\t\tdisplay: flex;\n\t\talign-self: center;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: var(--default-clickable-area);\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > span {\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t}\n\n\t&__icon {\n\t\tmin-width: 0; /* Overwrite icons*/\n\t\tmin-height: 0;\n\t\t// Keep padding to define the width to assure correct position of a possible text\n\t\tpadding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n\n\t\tbackground-position: #{$icon-margin} center;\n\t\tbackground-size: $icon-size;\n\t}\n\n\t// Forms & text inputs\n\t&__form {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 auto;\n\n\t\tmargin: $input-margin 0;\n\t\tpadding-inline-end: $icon-margin;\n\t}\n\n\t&__container {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t}\n\n\t&__input-container {\n\t\tdisplay: flex;\n\n\t\t.colorpicker {\n\t\t\t&__trigger,\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 36px;\n\t\t\t\tborder-radius: var(--border-radius-element);\n\t\t\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\t\t\tbox-shadow: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__text-label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tinset-inline-start: 0;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t\tz-index: -1;\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t&__datetimepicker {\n\t\twidth: 100%;\n\n\t\t:deep(.mx-input) {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t&__multi {\n\t\twidth: 100%;\n\t}\n}\n\n// if a form is the last of the list\n// add the same bottomMargin as the right padding\n// for visual balance\nli:last-child > .action-input {\n\tpadding-bottom: calc($icon-margin - $input-margin);\n}\n\n// same for first item\nli:first-child > .action-input:not(.action-input--visible-label) {\n\tpadding-top: calc($icon-margin - $input-margin);\n}\n\n</style>\n"],"names":["NcTextField","_createElementBlock","_createElementVNode","_renderSlot","_normalizeClass","_normalizeStyle","_openBlock","_createBlock","_mergeProps","_createVNode"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcAppContent-BTNf1r8Z.mjs","sources":["../../src/components/NcAppContent/NcAppContentDetailsToggle.vue","../../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, onMounted, 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)\n\nonMounted(() => {\n\ttoggleAppNavigationButton(isMobile.value)\n})\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: 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 { useSwipe } from '@vueuse/core'\nimport { Pane, Splitpanes } from 'splitpanes'\nimport NcAppContentDetailsToggle from './NcAppContentDetailsToggle.vue'\nimport { useIsMobile } from '../../composables/useIsMobile/index.js'\nimport { APP_NAME, getLocalizedAppName } 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'\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(getLocalizedAppName())\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":"NcAppNavigationItem-OrqBniiI.mjs","sources":["../../node_modules/vue-material-design-icons/Pencil.vue","../../node_modules/vue-material-design-icons/Undo.vue","../../src/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue","../../src/components/NcAppNavigationItem/NcAppNavigationItem.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon pencil-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=\"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PencilIcon\",\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 undo-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"UndoIcon\",\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<!-- Button to expand or collapse children -->\n\t<NcButton\n\t\tclass=\"icon-collapse\"\n\t\t:class=\"{\n\t\t\t'icon-collapse--active': active,\n\t\t\t'icon-collapse--open': open,\n\t\t}\"\n\t\t:aria-label=\"labelButton\"\n\t\t:variant=\"active ? 'tertiary-on-primary' : 'tertiary'\"\n\t\t@click=\"onClick\">\n\t\t<template #icon>\n\t\t\t<ChevronUp\n\t\t\t\tv-if=\"open\"\n\t\t\t\t:size=\"20\" />\n\t\t\t<ChevronDown\n\t\t\t\tv-else\n\t\t\t\t:size=\"20\" />\n\t\t</template>\n\t</NcButton>\n</template>\n\n<script>\nimport ChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport ChevronUp from 'vue-material-design-icons/ChevronUp.vue'\nimport { t } from '../../l10n.ts'\nimport NcButton from '../NcButton/index.ts'\n\nexport default {\n\tname: 'NcAppNavigationIconCollapsible',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tChevronDown,\n\t\tChevronUp,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Is the list currently open (or collapsed)\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Is the navigation item currently active.\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['click'],\n\n\tcomputed: {\n\t\tlabelButton() {\n\t\t\treturn this.open ? t('Collapse menu') : t('Open menu')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonClick(e) {\n\t\t\tthis.$emit('click', e)\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-collapse {\n\tposition: relative;\n\tinset-inline-end: 0;\n\n\t// the whole navigation item is hovered thus will have the hover color - to distinguish we need to set a different color here.\n\t&:hover {\n\t\tbackground-color: var(--color-background-dark) !important;\n\t}\n\t&--active:hover {\n\t\tbackground-color: var(--color-primary-element) !important;\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### Usage\n\n#### Simple element\n\n* With an icon:\n\n```vue\n\t<template>\n\t\t<ul>\n\t\t\t<NcAppNavigationItem name=\"My name\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Check :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcAppNavigationItem>\n\t\t</ul>\n\t</template>\n\t<script>\n\timport Check from 'vue-material-design-icons/Check.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tCheck,\n\t\t},\n\t}\n\t</script>\n```\n* With a spinning loader instead of the icon:\n\n```vue\n<ul>\n\t<NcAppNavigationItem name=\"Loading Item\" :loading=\"true\" />\n</ul>\n```\n* With an active state (only needed when not using `vue-router` and the `to` property, otherwise this is set automatically)\n\n```vue\n<ul>\n\t<NcAppNavigationItem name=\"Current page\" :active=\"true\" />\n</ul>\n```\n\n* Using different icons based on the active state (e.g. using vue-router and showing the filled variant for the current route):\n\n```vue\n<template>\n\t<ul>\n\t\t<NcAppNavigationItem name=\"Current page\" :active=\"true\">\n\t\t\t<template #icon=\"{ active }\">\n\t\t\t\t<NcIconSvgWrapper :path=\"active ? mdiFolder : mdiFolderOutline\" />\n\t\t\t</template>\n\t\t</NcAppNavigationItem>\n\t\t<NcAppNavigationItem name=\"Other page\">\n\t\t\t<template #icon=\"{ active }\">\n\t\t\t\t<NcIconSvgWrapper :path=\"active ? mdiFolder : mdiFolderOutline\" />\n\t\t\t</template>\n\t\t</NcAppNavigationItem>\n\t</ul>\n</template>\n<script>\nimport { mdiFolder, mdiFolderOutline } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiFolder,\n\t\t\tmdiFolderOutline,\n\t\t}\n\t},\n}\n</script>\n```\n\n#### Element with actions\nWrap the children in a template. If you have more than 2 actions, a popover menu and a menu\nbutton will be automatically created.\n\n```vue\n\t<template>\n\t\t<div id=\"app-navigation-vue-action\"><!-- Just a wrapper necessary in the docs. Not needed when NcAppNavigation is correctly used as parent. -->\n\t\t\t<ul>\n\t\t\t\t<NcAppNavigationItem name=\"Item with actions\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Check :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #actions>\n\t\t\t\t\t\t<NcActionButton @click=\"alert('Edit')\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\tEdit\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionButton @click=\"alert('Delete')\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionLink name=\"Link\" href=\"https://nextcloud.com\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcActionLink>\n\t\t\t\t\t</template>\n\t\t\t\t</NcAppNavigationItem>\n\t\t\t</ul>\n\t\t</div>\n\t</template>\n\t<script>\n\timport Check from 'vue-material-design-icons/Check.vue'\n\timport Delete from 'vue-material-design-icons/Delete.vue'\n\timport OpenInNew from 'vue-material-design-icons/OpenInNew.vue'\n\timport Pencil from 'vue-material-design-icons/Pencil.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tCheck,\n\t\t\tDelete,\n\t\t\tOpenInNew,\n\t\t\tPencil,\n\t\t},\n\t\tmethods: {\n\t\t\talert(msg) {\n\t\t\t\talert(msg)\n\t\t\t},\n\t\t},\n\t}\n\t</script>\n```\n\n#### Element with counter\nJust nest the counter in a template within `<NcAppNavigationItem>` and add `#counter` to it.\n\n```vue\n\t<template>\n\t\t<ul>\n\t\t\t<NcAppNavigationItem name=\"Item with counter\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconFolderOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<template #counter>\n\t\t\t\t\t<NcCounterBubble :count=\"90\" />\n\t\t\t\t</template>\n\t\t\t</NcAppNavigationItem>\n\t\t</ul>\n\t</template>\n\t<script>\n\timport IconFolderOutline from 'vue-material-design-icons/FolderOutline.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconFolderOutline,\n\t\t},\n\t}\n\t</script>\n```\n\n#### Element with children\n\nWrap the children in a template with the `slot` property and use the prop `allowCollapse` to choose whether to allow or\nprevent the user from collapsing the items.\n\n```vue\n\t<template>\n\t\t<ul>\n\t\t\t<NcAppNavigationItem name=\"Item with children\" :allowCollapse=\"true\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconFolderOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<template #counter>\n\t\t\t\t\t<NcCounterBubble :count=\"90\" />\n\t\t\t\t</template>\n\t\t\t\t<template #actions>\n\t\t\t\t\t<NcActionButton @click=\"alert('Edit')\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tEdit\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton @click=\"alert('Delete')\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tDelete\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionLink name=\"Link\" href=\"https://nextcloud.com\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcActionLink>\n\t\t\t\t</template>\n\t\t\t\t<template #default>\n\t\t\t\t\t<NcAppNavigationItem name=\"AppNavigationItemChild1\" />\n\t\t\t\t\t<NcAppNavigationItem name=\"AppNavigationItemChild2\" />\n\t\t\t\t\t<NcAppNavigationItem name=\"AppNavigationItemChild3\" />\n\t\t\t\t\t<NcAppNavigationItem name=\"AppNavigationItemChild4\" />\n\t\t\t\t</template>\n\t\t\t</NcAppNavigationItem>\n\t\t</ul>\n\t</template>\n\t<script>\n\timport IconFolderOutline from 'vue-material-design-icons/FolderOutline.vue'\n\timport Delete from 'vue-material-design-icons/Delete.vue'\n\timport OpenInNew from 'vue-material-design-icons/OpenInNew.vue'\n\timport Pencil from 'vue-material-design-icons/Pencil.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconFolderOutline,\n\t\t\tDelete,\n\t\t\tOpenInNew,\n\t\t\tPencil,\n\t\t},\n\t\tmethods: {\n\t\t\talert(msg) {\n\t\t\t\talert(msg)\n\t\t\t},\n\t\t},\n\t}\n\t</script>\n```\n\n#### Editable element\nAdd the prop `:editable=true` and an edit placeholder if you need it. By default\nthe placeholder is the previous name of the element.\n\n```vue\n\t<template>\n\t\t<ul>\n\t\t\t<NcAppNavigationItem name=\"Editable Item\" :editable=\"true\"\n\t\t\t\teditPlaceholder=\"your_placeholder_here\" @update:name=\"function(value){alert(value)}\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconFolderOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcAppNavigationItem>\n\t\t</ul>\n\t</template>\n\t<script>\n\timport IconFolderOutline from 'vue-material-design-icons/FolderOutline.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconFolderOutline,\n\t\t},\n\t\tmethods: {\n\t\t\talert(msg) {\n\t\t\t\talert(msg)\n\t\t\t},\n\t\t},\n\t}\n\t</script>\n```\n\n#### Undo element\nJust set the `undo` and `name` props. When clicking the undo button, an `undo` event is emitted.\n\n```vue\n\t<template>\n\t\t<ul>\n\t\t\t<NcAppNavigationItem :undo=\"true\" name=\"Deleted important entry\" @undo=\"alert('undo delete')\" />\n\t\t</ul>\n\t</template>\n\t<script>\n\texport default {\n\t\tmethods: {\n\t\t\talert(msg) {\n\t\t\t\talert(msg)\n\t\t\t},\n\t\t},\n\t}\n\t</script>\n```\n\n#### Link element\nHref that start by http will be treated as external and opened in a new tab\n```\n<div>\n\t<ul>\n\t\t<NcAppNavigationItem name=\"Files\" href=\"/index.php/apps/files\" />\n\t\t<NcAppNavigationItem name=\"Nextcloud\" href=\"https://nextcloud.com\" />\n\t</ul>\n</div>\n```\n\n#### Custom title\n```\n<ul>\n\t<NcAppNavigationItem name=\"Nextcloud\" title=\"Open the Nextcloud website\" href=\"https://nextcloud.com\" />\n</ul>\n```\n\n#### Pinned element\nJust set the `pinned` prop.\n```\n<ul>\n\t<NcAppNavigationItem name=\"Pinned item\" :pinned=\"true\" />\n</ul>\n```\n</docs>\n\n<template>\n\t<li\n\t\t:id=\"id\"\n\t\t:class=\"{\n\t\t\t'app-navigation-entry--opened': opened,\n\t\t\t'app-navigation-entry--pinned': pinned,\n\t\t\t'app-navigation-entry--collapsible': allowCollapse && !!$slots.default,\n\t\t}\"\n\t\tclass=\"app-navigation-entry-wrapper\">\n\t\t<component\n\t\t\t:is=\"isRouterLink ? 'router-link' : 'NcVNodes'\"\n\t\t\tv-slot=\"{ href: routerLinkHref, navigate, isActive }\"\n\t\t\tv-bind=\"{ ...isRouterLink && { custom: true, to } }\">\n\t\t\t<div\n\t\t\t\tclass=\"app-navigation-entry\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'app-navigation-entry--editing': editingActive,\n\t\t\t\t\t'app-navigation-entry--deleted': undo,\n\t\t\t\t\tactive: (to && isActive) || active,\n\t\t\t\t}\">\n\t\t\t\t<!-- Icon and name -->\n\t\t\t\t<a\n\t\t\t\t\tv-if=\"!undo\"\n\t\t\t\t\tclass=\"app-navigation-entry-link\"\n\t\t\t\t\t:aria-current=\"active || (to && isActive) ? 'page' : undefined\"\n\t\t\t\t\t:aria-description=\"ariaDescription\"\n\t\t\t\t\t:aria-expanded=\"!!$slots.default ? opened.toString() : undefined\"\n\t\t\t\t\t:href=\"href || routerLinkHref || '#'\"\n\t\t\t\t\t:target=\"isExternal(href) ? '_blank' : undefined\"\n\t\t\t\t\t:title=\"title || name\"\n\t\t\t\t\t@blur=\"handleBlur\"\n\t\t\t\t\t@click=\"onClick($event, navigate, routerLinkHref)\"\n\t\t\t\t\t@focus=\"handleFocus\"\n\t\t\t\t\t@keydown.tab.exact=\"handleTab\">\n\n\t\t\t\t\t<!-- icon if not collapsible -->\n\t\t\t\t\t<!-- never show the icon over the collapsible if mobile -->\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"app-navigation-entry-icon\"\n\t\t\t\t\t\t:class=\"{ [icon]: icon }\">\n\t\t\t\t\t\t<NcLoadingIcon v-if=\"loading\" />\n\t\t\t\t\t\t<!-- @slot Slot for the optional leading icon. This slots get the `active`-slot attribute passed which is based on the vue-routers active route or the `active` prop. -->\n\t\t\t\t\t\t<slot v-else name=\"icon\" :active=\"active || (to && isActive)\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"app-navigation-entry__name\" :class=\"{ 'hidden-visually': editingActive }\">\n\t\t\t\t\t\t{{ name }}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div v-if=\"editingActive\" class=\"editingContainer\">\n\t\t\t\t\t\t<NcInputConfirmCancel\n\t\t\t\t\t\t\tref=\"editingInput\"\n\t\t\t\t\t\t\tv-model=\"editingValue\"\n\t\t\t\t\t\t\t:placeholder=\"editPlaceholder !== '' ? editPlaceholder : name\"\n\t\t\t\t\t\t\t:primary=\"(to && isActive) || active\"\n\t\t\t\t\t\t\t@cancel=\"cancelEditing\"\n\t\t\t\t\t\t\t@confirm=\"handleEditingDone\" />\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\n\t\t\t\t<!-- undo entry -->\n\t\t\t\t<div v-if=\"undo\" class=\"app-navigation-entry__deleted\">\n\t\t\t\t\t<div class=\"app-navigation-entry__deleted-description\">\n\t\t\t\t\t\t{{ name }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Counter and Actions -->\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"(!!$slots.actions || !!$slots.counter || editable || undo) && !editingActive\"\n\t\t\t\t\tclass=\"app-navigation-entry__utils\"\n\t\t\t\t\t:class=\"{ 'app-navigation-entry__utils--display-actions': forceDisplayActions || menuOpenLocalValue || menuOpen }\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"!!$slots.counter\"\n\t\t\t\t\t\tclass=\"app-navigation-entry__counter-wrapper\">\n\t\t\t\t\t\t<!-- @slot Slot for the `NcCounterBubble` -->\n\t\t\t\t\t\t<slot name=\"counter\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<NcActions\n\t\t\t\t\t\tv-if=\"!!$slots.actions || (editable && !editingActive) || undo\"\n\t\t\t\t\t\tref=\"actions\"\n\t\t\t\t\t\tclass=\"app-navigation-entry__actions\"\n\t\t\t\t\t\tcontainer=\"#app-navigation-vue\"\n\t\t\t\t\t\t:boundaries-element=\"actionsBoundariesElement\"\n\t\t\t\t\t\t:inline=\"inlineActions\"\n\t\t\t\t\t\t:placement=\"menuPlacement\"\n\t\t\t\t\t\t:open=\"menuOpen\"\n\t\t\t\t\t\t:force-menu=\"forceMenu\"\n\t\t\t\t\t\t:default-icon=\"menuIcon\"\n\t\t\t\t\t\t:variant=\"(to && isActive) || active ? 'tertiary-on-primary' : 'tertiary'\"\n\t\t\t\t\t\t@update:open=\"onMenuToggle\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<!-- @slot Slot for the custom menu icon -->\n\t\t\t\t\t\t\t<slot name=\"menu-icon\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<NcActionButton\n\t\t\t\t\t\t\tv-if=\"editable && !editingActive\"\n\t\t\t\t\t\t\t:aria-label=\"editButtonAriaLabel\"\n\t\t\t\t\t\t\t@click=\"handleEdit\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ editLabel }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionButton\n\t\t\t\t\t\t\tv-if=\"undo\"\n\t\t\t\t\t\t\t:aria-label=\"undoButtonAriaLabel\"\n\t\t\t\t\t\t\t@click=\"handleUndo\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Undo :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<!-- @slot Slot for additional `NcAction*` -->\n\t\t\t\t\t\t<slot name=\"actions\" />\n\t\t\t\t\t</NcActions>\n\t\t\t\t</div>\n\t\t\t\t<NcAppNavigationIconCollapsible\n\t\t\t\t\tv-if=\"allowCollapse && !!$slots.default\"\n\t\t\t\t\t:active=\"(to && isActive) || active\"\n\t\t\t\t\t:open=\"opened\"\n\t\t\t\t\t@click.prevent.stop=\"toggleCollapse\" />\n\n\t\t\t\t<!-- @slot Slot for anything (virtual) that should be mounted in the component, like a related modal -->\n\t\t\t\t<slot name=\"extra\" />\n\t\t\t</div>\n\t\t</component>\n\t\t<!-- Children elements -->\n\t\t<ul v-if=\"canHaveChildren && !!$slots.default\" class=\"app-navigation-entry__children\">\n\t\t\t<!-- @slot Slot for children -->\n\t\t\t<slot />\n\t\t</ul>\n\t</li>\n</template>\n\n<script>\nimport Pencil from 'vue-material-design-icons/Pencil.vue'\nimport Undo from 'vue-material-design-icons/Undo.vue'\nimport NcAppNavigationIconCollapsible from './NcAppNavigationIconCollapsible.vue'\nimport NcInputConfirmCancel from './NcInputConfirmCancel.vue'\nimport { useIsMobile } from '../../composables/useIsMobile/index.js'\nimport { t } from '../../l10n.ts'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport NcActionButton from '../NcActionButton/index.js'\nimport NcActions from '../NcActions/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.ts'\nimport NcVNodes from '../NcVNodes/index.ts'\n\nexport default {\n\tname: 'NcAppNavigationItem',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcAppNavigationIconCollapsible,\n\t\tNcInputConfirmCancel,\n\t\tNcLoadingIcon,\n\t\tNcVNodes,\n\t\tPencil,\n\t\tUndo,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n\t\t * When using vue-router and the `to` property this is set automatically.\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The main text content of the entry.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * The title attribute of the element.\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the list item element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => createElementId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * Refers to the icon on the left, this prop accepts a class\n\t\t * like 'icon-category-enabled'.\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Displays a loading animated icon on the left of the element\n\t\t * instead of the icon.\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Passing in a route will make the root element of this\n\t\t * component a `<router-link />` that points to that route.\n\t\t * By leaving this blank, the root element will be a `<li>`.\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * A direct link. This will be used as the `href` attribute.\n\t\t * This will ignore any `to` prop being defined.\n\t\t */\n\t\thref: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Gives the possibility to collapse the children elements into the\n\t\t * parent element (true) or expands the children elements (false).\n\t\t */\n\t\tallowCollapse: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Makes the name of the item editable by providing an `ActionButton`\n\t\t * component that toggles a form\n\t\t */\n\t\teditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Only for 'editable' items, sets label for the edit action button.\n\t\t */\n\t\teditLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n\t\t */\n\t\teditPlaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Pins the item to the bottom left area, above the settings. Do not\n\t\t * place 'non-pinned' `AppnavigationItem` components below `pinned`\n\t\t * ones.\n\t\t */\n\t\tpinned: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Puts the item in the 'undo' state.\n\t\t */\n\t\tundo: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The navigation collapsible state (synced)\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The actions menu open state (synced)\n\t\t */\n\t\tmenuOpen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the actions to display in a three dot menu\n\t\t */\n\t\tforceMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The action's menu default icon\n\t\t */\n\t\tmenuIcon: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The action's menu direction\n\t\t */\n\t\tmenuPlacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * Entry aria details\n\t\t */\n\t\tariaDescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * To be used only when the elements in the actions menu are very important\n\t\t */\n\t\tforceDisplayActions: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Number of action items outside the menu\n\t\t */\n\t\tinlineActions: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:menuOpen',\n\t\t'update:open',\n\t\t'update:name',\n\t\t'click',\n\t\t'undo',\n\t],\n\n\tsetup() {\n\t\treturn {\n\t\t\tisMobile: useIsMobile(),\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tactionsBoundariesElement: undefined,\n\t\t\teditingValue: '',\n\t\t\topened: this.open, // Collapsible state\n\t\t\teditingActive: false,\n\t\t\t/**\n\t\t\t * Tracks the open state of the actions menu\n\t\t\t */\n\t\t\tmenuOpenLocalValue: false,\n\t\t\tfocused: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisRouterLink() {\n\t\t\treturn this.to && !this.href\n\t\t},\n\n\t\t// Checks if the component is already a children of another\n\t\t// instance of AppNavigationItem\n\t\tcanHaveChildren() {\n\t\t\tif (this.$parent.$options._componentTag === 'AppNavigationItem') {\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\treturn true\n\t\t\t}\n\t\t},\n\n\t\teditButtonAriaLabel() {\n\t\t\treturn this.editLabel ? this.editLabel : t('Edit item')\n\t\t},\n\n\t\tundoButtonAriaLabel() {\n\t\t\treturn t('Undo changes')\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(newVal) {\n\t\t\tthis.opened = newVal\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.actionsBoundariesElement = document.querySelector('#content-vue') || undefined\n\t},\n\n\tmethods: {\n\t\t// sync opened menu state with prop\n\t\tonMenuToggle(state) {\n\t\t\tthis.$emit('update:menuOpen', state)\n\t\t\tthis.menuOpenLocalValue = state\n\t\t},\n\n\t\t// toggle the collapsible state\n\t\ttoggleCollapse() {\n\t\t\tthis.opened = !this.opened\n\t\t\tthis.$emit('update:open', this.opened)\n\t\t},\n\n\t\t/**\n\t\t * Handle link click\n\t\t *\n\t\t * @param {PointerEvent} event - Native click event\n\t\t * @param {Function} [navigate] - VueRouter link's navigate if any\n\t\t * @param {string} [routerLinkHref] - VueRouter link's href\n\t\t */\n\t\tonClick(event, navigate, routerLinkHref) {\n\t\t\t// Always forward native event\n\t\t\tthis.$emit('click', event)\n\t\t\t// Do not navigate with control keys - it is opening in a new tab\n\t\t\tif (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Prevent default link behaviour if it's a router-link and navigate manually\n\t\t\tif (routerLinkHref) {\n\t\t\t\tnavigate?.(event)\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t},\n\n\t\t// Edition methods\n\t\thandleEdit() {\n\t\t\tthis.editingValue = this.name\n\t\t\tthis.editingActive = true\n\t\t\tthis.onMenuToggle(false)\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$refs.editingInput.focusInput()\n\t\t\t})\n\t\t},\n\n\t\tcancelEditing() {\n\t\t\tthis.editingActive = false\n\t\t},\n\n\t\thandleEditingDone() {\n\t\t\tthis.$emit('update:name', this.editingValue)\n\t\t\tthis.editingValue = ''\n\t\t\tthis.editingActive = false\n\t\t},\n\n\t\t// Undo methods\n\t\thandleUndo() {\n\t\t\tthis.$emit('undo')\n\t\t},\n\n\t\t/**\n\t\t * Show actions upon focus\n\t\t */\n\t\thandleFocus() {\n\t\t\tthis.focused = true\n\t\t},\n\n\t\thandleBlur() {\n\t\t\tthis.focused = false\n\t\t},\n\n\t\t/**\n\t\t * This method checks if the root element of the component is focused and\n\t\t * if that's the case it focuses the actions button if available\n\t\t *\n\t\t * @param {Event} e the keydown event\n\t\t */\n\t\thandleTab(e) {\n\t\t\t// If there is no actions menu, do nothing.\n\t\t\tif (!this.$refs.actions) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (this.focused) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.$refs.actions.$refs.triggerButton.$el.focus()\n\t\t\t\tthis.focused = false\n\t\t\t} else {\n\t\t\t\tthis.$refs.actions.$refs.triggerButton.$el.blur()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Is this an external link\n\t\t *\n\t\t * @param {string} href The link to check\n\t\t * @return {boolean} Whether it is external or not\n\t\t */\n\t\tisExternal(href) {\n\t\t\t// Match any protocol\n\t\t\treturn href && href.match(/[a-z]+:\\/\\//i)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '../../assets/NcAppNavigationItem.scss';\n</style>\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_createElementVNode","_openBlock","_createBlock","NcVNodes","_normalizeClass","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps","_withCtx","_renderSlot","_createVNode","_toDisplayString","_createTextVNode"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcAppNavigationSearch-ByuV3q2c.mjs","sources":["../../src/components/NcAppNavigationSearch/NcAppNavigationSearch.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Usage\n\n```vue\n<template>\n\t<div class=\"styleguide-wrapper\">\n\t\t<NcContent app-name=\"styleguide-app-navigation\" class=\"content-styleguidist\">\n\t\t\t<NcAppNavigation>\n\t\t\t\t<template #search>\n\t\t\t\t\t<NcAppNavigationSearch v-model=\"searchQuery\">\n\t\t\t\t\t\t<template #actions>\n\t\t\t\t\t\t\t<NcActions aria-label=\"Filters\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<IconFilterOutline :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<NcActionButton>\n\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t<IconAccountOutline :size=\"20\" />\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\tFilter by name\n\t\t\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t\t\t<NcActionButton>\n\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t<IconCalendarAccountOutline :size=\"20\" />\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\tFilter by year\n\t\t\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t\t</NcActions>\n\t\t\t\t\t\t\t<NcButton aria-label=\"Search globally\" variant=\"tertiary\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<IconSearchGlobalOutline :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationSearch>\n\t\t\t\t</template>\n\t\t\t\t<template #list>\n\t\t\t\t\t<NcAppNavigationItem name=\"First navigation entry\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<IconStarOutline :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\t\t\t\t\t<NcAppNavigationItem name=\"Second navigation entry\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<IconStarOutline :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\t\t\t\t</template>\n\t\t\t</NcAppNavigation>\n\t\t\t<NcAppContent>\n\t\t\t\t<ul class=\"fake-content\">\n\t\t\t\t\t<li>Search query: {{ searchQuery }}</li>\n\t\t\t\t\t<li v-for=\"(item, index) in items\" :key=\"index\">\n\t\t\t\t\t\t{{ item }}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</NcAppContent>\n\t\t</NcContent>\n\t</div>\n</template>\n<script>\nimport IconAccountOutline from 'vue-material-design-icons/AccountOutline.vue'\nimport IconCalendarAccountOutline from 'vue-material-design-icons/CalendarAccountOutline.vue'\nimport IconFilterOutline from 'vue-material-design-icons/FilterOutline.vue'\nimport IconSearchGlobalOutline from 'vue-material-design-icons/CloudSearchOutline.vue'\nimport IconStarOutline from 'vue-material-design-icons/StarOutline.vue'\n\nconst exampleItem = ['Mary', 'Patricia', 'James', 'Michael']\n\nexport default {\n\tcomponents: {\n\t\tIconAccountOutline,\n\t\tIconCalendarAccountOutline,\n\t\tIconFilterOutline,\n\t\tIconSearchGlobalOutline,\n\t\tIconStarOutline,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsearchQuery: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\titems() {\n\t\t\treturn exampleItem.filter((item) => item.toLocaleLowerCase().includes(this.searchQuery.toLocaleLowerCase()))\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n/* This styles just mock NcContent and NcAppContent */\n.content-styleguidist {\n\tposition: relative !important;\n\tmargin: 0 !important;\n\t/* prevent jumping */\n\tmin-height: 200px;\n}\n\n.content-styleguidist > * {\n\theight: auto;\n}\n\n.fake-content {\n\tpadding: var(--app-navigation-padding);\n\tpadding-top: calc(2 * var(--app-navigation-padding) + var(--default-clickable-area));\n}\n\n.styleguide-wrapper {\n\tbackground-color: var(--color-background-plain);\n\tpadding: var(--body-container-margin);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<div\n\t\tclass=\"app-navigation-search\"\n\t\t:class=\"{\n\t\t\t'app-navigation-search--has-actions': hasActions(),\n\t\t}\">\n\t\t<NcInputField\n\t\t\tref=\"inputElement\"\n\t\t\tv-model=\"model\"\n\t\t\t:aria-label=\"label\"\n\t\t\tclass=\"app-navigation-search__input\"\n\t\t\tlabel-outside\n\t\t\t:placeholder=\"placeholder ?? label\"\n\t\t\tshow-trailing-button\n\t\t\t:trailing-button-label=\"t('Clear search')\"\n\t\t\ttype=\"search\"\n\t\t\t@trailing-button-click=\"onCloseSearch\">\n\t\t\t<template #trailing-button-icon>\n\t\t\t\t<IconClose :size=\"20\" />\n\t\t\t</template>\n\t\t</NcInputField>\n\t\t<div\n\t\t\tv-if=\"hasActions()\"\n\t\t\tref=\"actionsContainer\"\n\t\t\tclass=\"app-navigation-search__actions\"\n\t\t\t:class=\"{\n\t\t\t\t'app-navigation-search__actions--hidden': !showActions,\n\t\t\t\t'hidden-visually': hideActions,\n\t\t\t}\">\n\t\t\t<slot name=\"actions\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useFocusWithin } from '@vueuse/core'\nimport { nextTick, ref, useSlots, useTemplateRef, watch } from 'vue'\nimport IconClose from 'vue-material-design-icons/Close.vue'\nimport NcInputField from '../NcInputField/NcInputField.vue'\nimport { t } from '../../l10n.ts'\n\n/**\n * Current search input\n */\nconst model = defineModel<string>({ default: '' })\n\ndefineProps({\n\t/**\n\t * Text used to label the search input\n\t */\n\tlabel: {\n\t\ttype: String,\n\t\tdefault: t('Search …'),\n\t},\n\n\t/**\n\t * Placeholder of the search input\n\t * By default the value of `label` is used.\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: null,\n\t},\n})\n\nconst slots = useSlots()\n\nconst inputElement = ref()\nconst { focused: inputHasFocus } = useFocusWithin(inputElement)\n\n/** Timeout used to define when the search input is fully expanded */\nconst transitionTimeout = Number.parseInt(window.getComputedStyle(window.document.body).getPropertyValue('--animation-quick')) || 100\n\nconst actionsContainerElement = useTemplateRef('actionsContainer')\nconst hasActions = () => !!slots.actions?.({})\nconst showActions = ref(true)\nconst timeoutId = ref()\n/** This is used to hide the actions after the transition is done */\nconst hideActions = ref(false)\nwatch(inputHasFocus, () => {\n\tshowActions.value = !inputHasFocus.value\n\twindow.clearTimeout(timeoutId.value)\n\tif (showActions.value) {\n\t\thideActions.value = false\n\t} else {\n\t\t// If the transition is done, we fully hide the actions visually\n\t\twindow.setTimeout(() => {\n\t\t\thideActions.value = !showActions.value\n\t\t}, transitionTimeout)\n\t}\n})\n\n/**\n * Handle close the search\n */\nfunction onCloseSearch() {\n\tmodel.value = ''\n\tif (hasActions()) {\n\t\tshowActions.value = true\n\t\tnextTick(() => actionsContainerElement.value?.querySelector('button')?.focus())\n\t}\n}\n</script>\n\n<style scoped lang=\"scss\">\n.app-navigation-search {\n\tdisplay: flex;\n\tgap: var(--app-navigation-padding);\n\tpadding: var(--app-navigation-padding);\n\n\t&--has-actions &__input {\n\t\tflex-grow: 1;\n\t\tz-index: 3;\n\t}\n\n\t&__actions {\n\t\tdisplay: flex;\n\t\tgap: var(--default-grid-baseline);\n\n\t\tmargin-inline-start: 0;\n\t\tmax-width: calc(2 * var(--default-clickable-area) + var(--default-grid-baseline));\n\t\tmax-height: var(--default-clickable-area);\n\n\t\ttransition: margin-inline-start var(--animation-quick);\n\n\t\t&--hidden {\n\t\t\tmargin-inline-start: calc(-1 * var(--default-clickable-area));\n\t\t}\n\t}\n}\n</style>\n"],"names":["_useModel","_createElementBlock","_createVNode","_unref","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsKA,UAAM,QAAQA,SAAmB,SAAA,YAAgB;AAqBjD,UAAM,QAAQ,SAAA;AAEd,UAAM,eAAe,IAAA;AACrB,UAAM,EAAE,SAAS,kBAAkB,eAAe,YAAY;AAG9D,UAAM,oBAAoB,OAAO,SAAS,OAAO,iBAAiB,OAAO,SAAS,IAAI,EAAE,iBAAiB,mBAAmB,CAAC,KAAK;AAElI,UAAM,0BAA0B,eAAe,kBAAkB;AACjE,UAAM,aAAa,MAAM,CAAC,CAAC,MAAM,UAAU,CAAA,CAAE;AAC7C,UAAM,cAAc,IAAI,IAAI;AAC5B,UAAM,YAAY,IAAA;AAElB,UAAM,cAAc,IAAI,KAAK;AAC7B,UAAM,eAAe,MAAM;AAC1B,kBAAY,QAAQ,CAAC,cAAc;AACnC,aAAO,aAAa,UAAU,KAAK;AACnC,UAAI,YAAY,OAAO;AACtB,oBAAY,QAAQ;AAAA,MACrB,OAAO;AAEN,eAAO,WAAW,MAAM;AACvB,sBAAY,QAAQ,CAAC,YAAY;AAAA,QAClC,GAAG,iBAAiB;AAAA,MACrB;AAAA,IACD,CAAC;AAKD,aAAS,gBAAgB;AACxB,YAAM,QAAQ;AACd,UAAI,cAAc;AACjB,oBAAY,QAAQ;AACpB,iBAAS,MAAM,wBAAwB,OAAO,cAAc,QAAQ,GAAG,OAAO;AAAA,MAC/E;AAAA,IACD;;0BApGCC,mBA8BM,OAAA;AAAA,QA7BL,uBAAM,yBAAuB;AAAA,gDACsB,WAAA;AAAA,QAAU;;QAG7DC,YAce,cAAA;AAAA,mBAbV;AAAA,UAAJ,KAAI;AAAA,sBACK,MAAA;AAAA,uEAAA,MAAK,QAAA;AAAA,UACb,cAAY,QAAA;AAAA,UACb,OAAM;AAAA,UACN,iBAAA;AAAA,UACC,aAAa,QAAA,eAAe,QAAA;AAAA,UAC7B,wBAAA;AAAA,UACC,yBAAuBC,MAAA,CAAA,EAAC,cAAA;AAAA,UACzB,MAAK;AAAA,UACJ,uBAAuB;AAAA,QAAA;UACb,gCACV,MAAwB;AAAA,YAAxBD,YAAwB,WAAA,EAAZ,MAAM,IAAE;AAAA,UAAA;;;QAIf,6BADPD,mBASM,OAAA;AAAA;UAPL,KAAI;AAAA,UACJ,uBAAM,kCAAgC;AAAA,uDACmB,YAAA;AAAA,+BAAoC,YAAA;AAAA,UAAA;;UAI7FG,WAAuB,KAAA,QAAA,WAAA,CAAA,GAAA,QAAA,IAAA;AAAA,QAAA;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcAppNavigationSettings-A0DXzd5B.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<script setup lang=\"ts\">\nimport type { Slot } from 'vue'\n\nimport { mdiCog, mdiCogOutline } from '@mdi/js'\nimport { onClickOutside } from '@vueuse/core'\nimport { computed, ref, useTemplateRef } from 'vue'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.ts'\nimport { createElementId } from '../../utils/createElementId.js'\nimport { isLegacy } from '../../utils/legacy.ts'\n\nconst {\n\texcludeClickOutsideSelectors = [],\n\tname = t('Settings'),\n} = defineProps<{\n\t/**\n\t * A query-selector or an array of query-selectors\n\t * to be ignored when clicking outside an element\n\t */\n\texcludeClickOutsideSelectors?: string | string[]\n\n\t/**\n\t * Text of the button\n\t *\n\t * @default 'Settings'\n\t */\n\tname?: string\n}>()\n\ndefineSlots<{\n\t/**\n\t * Content of the accordion button (the settings).\n\t */\n\tdefault: Slot\n}>()\n\nconst contentId = createElementId()\n/**\n * Are the settings open\n */\nconst open = ref(false)\n\n// Close the menu when the user clicks outside of the container\nconst container = useTemplateRef('wrapperElement')\nconst ignore = computed(() => Array.isArray(excludeClickOutsideSelectors)\n\t? excludeClickOutsideSelectors\n\t: excludeClickOutsideSelectors.split(' '))\nonClickOutside(container, () => {\n\topen.value = false\n}, { ignore })\n</script>\n\n<template>\n\t<div ref=\"wrapperElement\" :class=\"$style.container\">\n\t\t<div :class=\"$style.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\t:class=\"$style.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 :path=\"isLegacy ? 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\n\t\t\t:enter-active-class=\"$style.animationActive\"\n\t\t\t:leave-active-class=\"$style.animationActive\"\n\t\t\t:enter-from-class=\"$style.animationStop\"\n\t\t\t:leave-to-class=\"$style.animationStop\">\n\t\t\t<div\n\t\t\t\tv-show=\"open\"\n\t\t\t\t:id=\"contentId\"\n\t\t\t\t:class=\"$style.content\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</Transition>\n\t</div>\n</template>\n\n<style module>\n.container {\n\tmargin-top: auto;\n\tpadding: var(--default-grid-baseline);\n}\n\n.header {\n\tmargin-block: 0 var(--default-grid-baseline);\n\tmargin-inline: var(--default-grid-baseline);\n}\n\n/* Overwrite the padding to match NcAppNavigationItem */\n.button {\n\tpadding-inline: 0 calc((var(--default-clickable-area) - 16px) / 2) !important;\n\n\t:global(.button-vue__text) {\n\t\tfont-weight: normal;\n\t}\n}\n\n.content {\n\tdisplay: block;\n\tpadding: 10px;\n\n\t/* prevent scrolled contents from stopping too early */\n\tmargin-bottom: calc(-1 * var(--default-grid-baseline));\n\n\t/* restrict height of settings and make scrollable */\n\tmax-height: 300px;\n\toverflow-y: auto;\n}\n\n.animationActive {\n\ttransition-duration: var(--animation-slow);\n\ttransition-property: max-height, padding;\n\toverflow-y: hidden !important;\n}\n\n.animationStop {\n\tmax-height: 0 !important;\n\tpadding: 0 10px !important;\n}\n</style>\n"],"names":["container","_createElementBlock","_normalizeClass","$style","_createElementVNode","_createVNode","_unref","_createTextVNode","name","_Transition","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;AA0CA,UAAM,YAAY,gBAAA;AAIlB,UAAM,OAAO,IAAI,KAAK;AAGtB,UAAMA,aAAY,eAAe,gBAAgB;AACjD,UAAM,SAAS,SAAS,MAAM,MAAM,QAAQ,QAAA,4BAA4B,IACrE,QAAA,+BACA,QAAA,6BAA6B,MAAM,GAAG,CAAC;AAC1C,mBAAeA,YAAW,MAAM;AAC/B,WAAK,QAAQ;AAAA,IACd,GAAG,EAAE,QAAQ;;0BAIZC,mBA4BM,OAAA;AAAA,QA5BD,KAAI;AAAA,QAAkB,OAAKC,eAAEC,KAAAA,OAAO,SAAS;AAAA,MAAA;QACjDC,mBAcM,OAAA;AAAA,UAdA,OAAKF,eAAEC,KAAAA,OAAO,MAAM;AAAA,QAAA;UACzBE,YAYW,UAAA;AAAA,YAXT,iBAAeC,MAAA,SAAA;AAAA,YACf,iBAAe,KAAA,QAAI,SAAA;AAAA,YACnB,OAAKJ,eAAEC,KAAAA,OAAO,MAAM;AAAA,YACrB,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,MAAA;AAAA,YACC,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,KAAA,QAAI,CAAI,KAAA;AAAA,UAAA;YACL,cACV,MAA8D;AAAA,cAA9DE,YAA8D,kBAAA;AAAA,gBAA3C,MAAMC,MAAA,QAAA,IAAWA,MAAA,MAAA,IAASA,MAAA,aAAA;AAAA,cAAA;;6BACnC,MACX;AAAA,cADWC,gBAAA,sBACRC,KAAAA,IAAI,GAAA,CAAA;AAAA,YAAA;;;;QAGTH,YAWaI,YAAA;AAAA,UAVX,sBAAoBN,KAAAA,OAAO;AAAA,UAC3B,sBAAoBA,KAAAA,OAAO;AAAA,UAC3B,oBAAkBA,KAAAA,OAAO;AAAA,UACzB,kBAAgBA,KAAAA,OAAO;AAAA,QAAA;2BACxB,MAKM;AAAA,2BALNC,mBAKM,OAAA;AAAA,cAHJ,IAAIE,MAAA,SAAA;AAAA,cACJ,OAAKJ,eAAEC,KAAAA,OAAO,OAAO;AAAA,YAAA;cACtBO,WAAQ,KAAA,QAAA,SAAA;AAAA,YAAA;sBAHA,KAAA,KAAI;AAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}