@nextcloud/vue 9.0.0-rc.6 → 9.0.0-rc.8

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 (513) hide show
  1. package/CHANGELOG.md +58 -3
  2. package/README.md +5 -4
  3. package/dist/assets/{NcActionButton-Dz2EBAuD.css → NcActionButton-D7bnKlOt.css} +18 -18
  4. package/dist/assets/{NcActionButtonGroup-BLIEEeG3.css → NcActionButtonGroup-CRTH2v24.css} +8 -8
  5. package/dist/assets/{NcActionCheckbox--lTDnNsx.css → NcActionCheckbox-BeT6fCCy.css} +12 -12
  6. package/dist/assets/{NcActionInput-BrCsR1ZO.css → NcActionInput-Cma_lx5u.css} +62 -62
  7. package/dist/assets/{NcActionLink-VngQl-C2.css → NcActionLink-DjrAv1MG.css} +13 -13
  8. package/dist/assets/{NcActionRadio-DnAjyubC.css → NcActionRadio-DgdLD238.css} +12 -12
  9. package/dist/assets/{NcActionRouter-CBVOuCQ3.css → NcActionRouter-DeYzeM5W.css} +16 -16
  10. package/dist/assets/{NcActionText-BtzLDZeJ.css → NcActionText-D9InmayH.css} +18 -18
  11. package/dist/assets/{NcActionTextEditable-vhpb77-W.css → NcActionTextEditable-m6K3-kXV.css} +60 -60
  12. package/dist/assets/{NcActions-CG3xO48Y.css → NcActions-9-KEdXq2.css} +13 -13
  13. package/dist/assets/{NcAppContent-vj2DL4Yr.css → NcAppContent-BC1UrvXW.css} +23 -23
  14. package/dist/assets/{NcAppNavigation-Dx5I2eEV.css → NcAppNavigation-DzSqLZLH.css} +15 -15
  15. package/dist/assets/{NcAppNavigationCaption-B6mZd0E3.css → NcAppNavigationCaption-HUg9fMCm.css} +7 -7
  16. package/dist/assets/{NcAppNavigationIconBullet-CeBYVy6t.css → NcAppNavigationIconBullet-DLQJkObX.css} +3 -3
  17. package/dist/assets/{NcAppNavigationItem-D0G4tdGd.css → NcAppNavigationItem-E3wkH_dN.css} +43 -39
  18. package/dist/assets/{NcAppNavigationList-CLLHyHIn.css → NcAppNavigationList--36j6Acm.css} +2 -2
  19. package/dist/assets/{NcAppNavigationNew-Ba3wWpcY.css → NcAppNavigationNew-Bn8zj5lM.css} +3 -3
  20. package/dist/assets/{NcAppNavigationNewItem-CCu1yQxq.css → NcAppNavigationNewItem-Dmdd1YSE.css} +39 -33
  21. package/dist/assets/{NcAppNavigationSearch-C1BuilVS.css → NcAppNavigationSearch-CQamlS4X.css} +5 -5
  22. package/dist/assets/{NcAppNavigationSettings-B0I7HR1V.css → NcAppNavigationSettings-Bt0dnsjR.css} +7 -8
  23. package/dist/assets/{NcAppSettingsDialog-705Crvh8.css → NcAppSettingsDialog-CW1IxPWr.css} +10 -10
  24. package/dist/assets/{NcAppSettingsSection-DnDcGk1v.css → NcAppSettingsSection-C4JF60e-.css} +3 -3
  25. package/dist/assets/{NcAppSidebar-CZ-bJUxG.css → NcAppSidebar-DUiFE7vz.css} +58 -58
  26. package/dist/assets/{NcAppSidebarTab-cWhpTGp7.css → NcAppSidebarTab-Xd3HTDbw.css} +4 -4
  27. package/dist/assets/NcAssistantButton-owGSr0s0.css +54 -0
  28. package/dist/assets/NcAssistantContent-Ban7n3Bg.css +31 -0
  29. package/dist/assets/NcAssistantIcon-enm3hmNH.css +35 -0
  30. package/dist/assets/{NcAvatar-DETOZR8d.css → NcAvatar-DhTOlvlb.css} +24 -24
  31. package/dist/assets/{NcBreadcrumb-Dll7O4N9.css → NcBreadcrumb-CHjeSh0y.css} +15 -15
  32. package/dist/assets/{NcBreadcrumbs-D2wff82k.css → NcBreadcrumbs-DYfGaSjT.css} +6 -6
  33. package/dist/assets/{NcButton-BWD8LdCm.css → NcButton-BjcEkfk2.css} +54 -46
  34. package/dist/assets/{NcCheckboxRadioSwitch-Cbnc4p0H.css → NcCheckboxRadioSwitch-CJW-RB5j.css} +54 -44
  35. package/dist/assets/{NcChip-1ZmWY_6e.css → NcChip-Cjdo3xPB.css} +9 -9
  36. package/dist/assets/{NcCollectionList-C7_FPg95.css → NcCollectionList-D9dOsdP2.css} +42 -42
  37. package/dist/assets/{NcColorPicker-RX6YpqSU.css → NcColorPicker-BUxqqYfq.css} +28 -28
  38. package/dist/assets/{NcContent-voMuob0w.css → NcContent-CVIwhwfc.css} +10 -10
  39. package/dist/assets/{NcCounterBubble-C0CtLaMW.css → NcCounterBubble-ZnteskDR.css} +7 -7
  40. package/dist/assets/{NcDashboardWidget-CTP_ajin.css → NcDashboardWidget-DD06i7ws.css} +12 -12
  41. package/dist/assets/{NcDashboardWidgetItem-DYwI3Qof.css → NcDashboardWidgetItem-DPVZ3Oso.css} +12 -12
  42. package/dist/assets/{NcDateTimePicker-D76SV5EC.css → NcDateTimePicker-D0VMSpM3.css} +232 -232
  43. package/dist/assets/{NcDateTimePickerNative-B7hWPWho.css → NcDateTimePickerNative-BP6eg8aU.css} +13 -13
  44. package/dist/assets/{NcDialog-DVe1SvHJ.css → NcDialog-GKchMDSB.css} +15 -15
  45. package/dist/assets/{NcEllipsisedOption-BNLv_eyF.css → NcEllipsisedOption-CPWbbgBy.css} +5 -5
  46. package/dist/assets/NcEmojiPicker-BO_GV-CM.css +547 -0
  47. package/dist/assets/{NcHeaderButton-BZeIVAHI.css → NcHeaderButton-CVOQgRjm.css} +9 -9
  48. package/dist/assets/{NcHeaderMenu-U_duiDuh.css → NcHeaderMenu-BkGG39vE.css} +13 -13
  49. package/dist/assets/{NcIconSvgWrapper-CJfAwN6-.css → NcIconSvgWrapper-D6qXQDNo.css} +10 -10
  50. package/dist/assets/{NcInputConfirmCancel-DNNS3DDJ.css → NcInputConfirmCancel-BrdZEfr2.css} +5 -5
  51. package/dist/assets/{NcInputField-Xm6zpzck.css → NcInputField-CVSrajMb.css} +66 -44
  52. package/dist/assets/NcKbd-BGW1_Jb7.css +36 -0
  53. package/dist/assets/{NcListItem-CAWaHeb2.css → NcListItem-BRTO5Id3.css} +41 -41
  54. package/dist/assets/{NcListItemIcon-BVhiRo5R.css → NcListItemIcon-OOjV0jWx.css} +13 -13
  55. package/dist/assets/{NcLoadingIcon-B-JbyXuV.css → NcLoadingIcon-CWUlo4XY.css} +3 -3
  56. package/dist/assets/{NcMentionBubble-lpms2_3A.css → NcMentionBubble-ptHUq68a.css} +9 -9
  57. package/dist/assets/{NcModal-x_u5Tqtc.css → NcModal-ok4bUsLE.css} +61 -61
  58. package/dist/assets/{NcNoteCard-DGpRZQtS.css → NcNoteCard-l5nIN9Hg.css} +13 -9
  59. package/dist/assets/{NcPasswordField-Ck5YCufb.css → NcPasswordField-CAKOUN91.css} +2 -2
  60. package/dist/assets/{NcPopover-BzkXE_af.css → NcPopover-CZ3pMU6Y.css} +16 -16
  61. package/dist/assets/{NcProgressBar-BZzxurHX.css → NcProgressBar-BAPOXMAL.css} +12 -12
  62. package/dist/assets/{NcRelatedResourcesPanel-9I4RRIks.css → NcRelatedResourcesPanel-BVdRCi64.css} +65 -65
  63. package/dist/assets/{NcRichContenteditable-DLvvIjC_.css → NcRichContenteditable-zvOx7ivB.css} +20 -20
  64. package/dist/assets/{NcRichText-Fp8zf8zq.css → NcRichText-DujetYXl.css} +88 -88
  65. package/dist/assets/NcSelectUsers-BWhtNRbI.css +4 -0
  66. package/dist/assets/{NcSettingsInputText-B2b1M_wK.css → NcSettingsInputText-Dj_6fuUU.css} +5 -5
  67. package/dist/assets/{NcSettingsSection-CxQtVrUq.css → NcSettingsSection-f5rBJsKJ.css} +7 -7
  68. package/dist/assets/{NcSettingsSelectGroup-BH0B-4BJ.css → NcSettingsSelectGroup-BxvEAWNm.css} +2 -2
  69. package/dist/assets/NcTextArea-D7H1UNAd.css +136 -0
  70. package/dist/assets/{NcUserBubble-CqaL0Oxv.css → NcUserBubble-ChgvvPPf.css} +8 -8
  71. package/dist/assets/{NcUserStatusIcon-Du6m_1El.css → NcUserStatusIcon-D8HqS9GC.css} +8 -4
  72. package/dist/assets/{referencePickerModal-D80hwmre.css → referencePickerModal-B9tq1n_R.css} +60 -77
  73. package/dist/chunks/{NcActionButton-k1JvZ5eE.mjs → NcActionButton-D8JTFCmI.mjs} +8 -7
  74. package/dist/chunks/NcActionButton-D8JTFCmI.mjs.map +1 -0
  75. package/dist/chunks/{NcActionButtonGroup-WjVxibM-.mjs → NcActionButtonGroup-CGlX8G9k.mjs} +4 -4
  76. package/dist/chunks/{NcActionButtonGroup-WjVxibM-.mjs.map → NcActionButtonGroup-CGlX8G9k.mjs.map} +1 -1
  77. package/dist/chunks/{NcActionCheckbox-DLPDTACR.mjs → NcActionCheckbox-CwrO3g3I.mjs} +3 -3
  78. package/dist/chunks/NcActionCheckbox-CwrO3g3I.mjs.map +1 -0
  79. package/dist/chunks/{NcActionInput-Cu77Jgzr.mjs → NcActionInput-Cpc7x0jw.mjs} +17 -17
  80. package/dist/chunks/NcActionInput-Cpc7x0jw.mjs.map +1 -0
  81. package/dist/chunks/{NcActionLink-BEo7zmXX.mjs → NcActionLink-afakPM_N.mjs} +8 -9
  82. package/dist/chunks/NcActionLink-afakPM_N.mjs.map +1 -0
  83. package/dist/chunks/{NcActionRadio-CPoWB58D.mjs → NcActionRadio-ByCpOD0q.mjs} +5 -5
  84. package/dist/chunks/NcActionRadio-ByCpOD0q.mjs.map +1 -0
  85. package/dist/chunks/{NcActionRouter-ERoQjJKv.mjs → NcActionRouter-oT-YU_jf.mjs} +10 -11
  86. package/dist/chunks/NcActionRouter-oT-YU_jf.mjs.map +1 -0
  87. package/dist/chunks/{NcActionText-16Mj4-P1.mjs → NcActionText-uKvLcEY6.mjs} +5 -5
  88. package/dist/chunks/NcActionText-uKvLcEY6.mjs.map +1 -0
  89. package/dist/chunks/{NcActionTextEditable-BLkdbR1d.mjs → NcActionTextEditable-S_T11-QF.mjs} +7 -7
  90. package/dist/chunks/NcActionTextEditable-S_T11-QF.mjs.map +1 -0
  91. package/dist/chunks/{NcActions-CDD8eIxC.mjs → NcActions-C-9GKofj.mjs} +24 -19
  92. package/dist/chunks/NcActions-C-9GKofj.mjs.map +1 -0
  93. package/dist/chunks/{NcAppContent-BuPSAcBt.mjs → NcAppContent-CP5xxOdG.mjs} +11 -11
  94. package/dist/chunks/NcAppContent-CP5xxOdG.mjs.map +1 -0
  95. package/dist/chunks/{NcAppContentList-DnLY_sWw.mjs → NcAppContentList-DYFsuDKh.mjs} +7 -1
  96. package/dist/chunks/NcAppContentList-DYFsuDKh.mjs.map +1 -0
  97. package/dist/chunks/{NcAppNavigation-ByAPTGke.mjs → NcAppNavigation-OWHt-bzI.mjs} +23 -12
  98. package/dist/chunks/NcAppNavigation-OWHt-bzI.mjs.map +1 -0
  99. package/dist/chunks/{NcAppNavigationCaption-SJPzGdtT.mjs → NcAppNavigationCaption-BIiGAQjI.mjs} +7 -5
  100. package/dist/chunks/NcAppNavigationCaption-BIiGAQjI.mjs.map +1 -0
  101. package/dist/chunks/{NcAppNavigationIconBullet-B1kc4u65.mjs → NcAppNavigationIconBullet-PrlhOoE9.mjs} +6 -3
  102. package/dist/chunks/NcAppNavigationIconBullet-PrlhOoE9.mjs.map +1 -0
  103. package/dist/chunks/{NcAppNavigationItem-0xVXJPEm.mjs → NcAppNavigationItem-Bhlr9-Yy.mjs} +40 -26
  104. package/dist/chunks/NcAppNavigationItem-Bhlr9-Yy.mjs.map +1 -0
  105. package/dist/chunks/{NcAppNavigationList-DX_Yo23V.mjs → NcAppNavigationList-BX0wE-dB.mjs} +3 -3
  106. package/dist/chunks/{NcAppNavigationList-DX_Yo23V.mjs.map → NcAppNavigationList-BX0wE-dB.mjs.map} +1 -1
  107. package/dist/chunks/{NcAppNavigationNew-CjJgIwfl.mjs → NcAppNavigationNew-Y50s6jTC.mjs} +14 -4
  108. package/dist/chunks/NcAppNavigationNew-Y50s6jTC.mjs.map +1 -0
  109. package/dist/chunks/{NcAppNavigationNewItem-BCFq6zq8.mjs → NcAppNavigationNewItem-K0PCYJ22.mjs} +8 -8
  110. package/dist/chunks/NcAppNavigationNewItem-K0PCYJ22.mjs.map +1 -0
  111. package/dist/chunks/{NcAppNavigationSearch-Bnr0rygy.mjs → NcAppNavigationSearch-kjDvgdYf.mjs} +6 -6
  112. package/dist/chunks/NcAppNavigationSearch-kjDvgdYf.mjs.map +1 -0
  113. package/dist/chunks/NcAppNavigationSettings-BQFluWDn.mjs +98 -0
  114. package/dist/chunks/NcAppNavigationSettings-BQFluWDn.mjs.map +1 -0
  115. package/dist/chunks/{NcAppSettingsDialog-DBI8-FZa.mjs → NcAppSettingsDialog-ZKhCQoKY.mjs} +11 -9
  116. package/dist/chunks/NcAppSettingsDialog-ZKhCQoKY.mjs.map +1 -0
  117. package/dist/chunks/{NcAppSettingsSection-CssmXyZ0.mjs → NcAppSettingsSection-tccU68DQ.mjs} +9 -3
  118. package/dist/chunks/NcAppSettingsSection-tccU68DQ.mjs.map +1 -0
  119. package/dist/chunks/{NcAppSidebar-CyyFi0n6.mjs → NcAppSidebar-BoLgS15q.mjs} +40 -27
  120. package/dist/chunks/NcAppSidebar-BoLgS15q.mjs.map +1 -0
  121. package/dist/chunks/NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-0j0aFDeK.mjs.map +1 -1
  122. package/dist/chunks/{NcAppSidebarTab-D1RmFRTu.mjs → NcAppSidebarTab-Cjetm3Fs.mjs} +9 -6
  123. package/dist/chunks/NcAppSidebarTab-Cjetm3Fs.mjs.map +1 -0
  124. package/dist/chunks/NcAssistantButton-Kwow0k_v.mjs +79 -0
  125. package/dist/chunks/NcAssistantButton-Kwow0k_v.mjs.map +1 -0
  126. package/dist/chunks/NcAssistantContent-Boi-0v_0.mjs +37 -0
  127. package/dist/chunks/NcAssistantContent-Boi-0v_0.mjs.map +1 -0
  128. package/dist/chunks/NcAssistantIcon-DY9tm4Sl.mjs +73 -0
  129. package/dist/chunks/NcAssistantIcon-DY9tm4Sl.mjs.map +1 -0
  130. package/dist/chunks/{NcAvatar-CnRCSalb.mjs → NcAvatar-CPVozEHO.mjs} +30 -29
  131. package/dist/chunks/NcAvatar-CPVozEHO.mjs.map +1 -0
  132. package/dist/chunks/NcBlurHash-BiFktE2N.mjs.map +1 -1
  133. package/dist/chunks/{NcBreadcrumb-B97vQkN2.mjs → NcBreadcrumb-B-HF8Noh.mjs} +14 -9
  134. package/dist/chunks/NcBreadcrumb-B-HF8Noh.mjs.map +1 -0
  135. package/dist/chunks/{NcBreadcrumbs-CvUgliJa.mjs → NcBreadcrumbs-nKqdFMy0.mjs} +43 -40
  136. package/dist/chunks/NcBreadcrumbs-nKqdFMy0.mjs.map +1 -0
  137. package/dist/chunks/{NcButton-BMnvzy1A.mjs → NcButton-DkC5k3Lb.mjs} +7 -5
  138. package/dist/chunks/NcButton-DkC5k3Lb.mjs.map +1 -0
  139. package/dist/chunks/{NcCheckboxRadioSwitch-Da0F7y0G.mjs → NcCheckboxRadioSwitch-CRlf97Dl.mjs} +136 -82
  140. package/dist/chunks/NcCheckboxRadioSwitch-CRlf97Dl.mjs.map +1 -0
  141. package/dist/chunks/{NcChip-DuaqxToL.mjs → NcChip-3ptRwyOJ.mjs} +8 -8
  142. package/dist/chunks/NcChip-3ptRwyOJ.mjs.map +1 -0
  143. package/dist/chunks/{NcCollectionList-Cr0T14g-.mjs → NcCollectionList-CsJJr7Rh.mjs} +26 -22
  144. package/dist/chunks/NcCollectionList-CsJJr7Rh.mjs.map +1 -0
  145. package/dist/chunks/{NcColorPicker-D6g3v7Qc.mjs → NcColorPicker-87VzdyIQ.mjs} +11 -11
  146. package/dist/chunks/NcColorPicker-87VzdyIQ.mjs.map +1 -0
  147. package/dist/chunks/{NcContent-DV3z9w_V.mjs → NcContent-DB9wS8js.mjs} +9 -8
  148. package/dist/chunks/{NcContent-DV3z9w_V.mjs.map → NcContent-DB9wS8js.mjs.map} +1 -1
  149. package/dist/chunks/{NcCounterBubble-Bop3e-Tr.mjs → NcCounterBubble-CxxHHh8i.mjs} +3 -3
  150. package/dist/chunks/{NcCounterBubble-Bop3e-Tr.mjs.map → NcCounterBubble-CxxHHh8i.mjs.map} +1 -1
  151. package/dist/chunks/{NcDashboardWidget-Wkx_9xKh.mjs → NcDashboardWidget-DyyqskXw.mjs} +9 -9
  152. package/dist/chunks/NcDashboardWidget-DyyqskXw.mjs.map +1 -0
  153. package/dist/chunks/{NcDashboardWidgetItem-CMrxp0Lc.mjs → NcDashboardWidgetItem-C96lNnd5.mjs} +7 -7
  154. package/dist/chunks/NcDashboardWidgetItem-C96lNnd5.mjs.map +1 -0
  155. package/dist/chunks/NcDateTime.vue_vue_type_script_setup_true_lang-B0Lci6v0.mjs.map +1 -1
  156. package/dist/chunks/{NcDateTimePicker-BarX7J-6.mjs → NcDateTimePicker-D3sxU3Gr.mjs} +10 -10
  157. package/dist/chunks/NcDateTimePicker-D3sxU3Gr.mjs.map +1 -0
  158. package/dist/chunks/{NcDateTimePickerNative-BOoA1aEf.mjs → NcDateTimePickerNative-CzbBXsBL.mjs} +5 -5
  159. package/dist/chunks/NcDateTimePickerNative-CzbBXsBL.mjs.map +1 -0
  160. package/dist/chunks/{NcDialog-IKWAQK-K.mjs → NcDialog-Dh9AA41u.mjs} +16 -13
  161. package/dist/chunks/NcDialog-Dh9AA41u.mjs.map +1 -0
  162. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-BT66zCa4.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-C8cSUgHJ.mjs} +6 -6
  163. package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-C8cSUgHJ.mjs.map +1 -0
  164. package/dist/chunks/{NcEllipsisedOption-C8uNDC-j.mjs → NcEllipsisedOption-dT-CtXYp.mjs} +3 -3
  165. package/dist/chunks/NcEllipsisedOption-dT-CtXYp.mjs.map +1 -0
  166. package/dist/chunks/{NcEmojiPicker-DL9u7r5m.mjs → NcEmojiPicker-CjRa0HIg.mjs} +127 -121
  167. package/dist/chunks/NcEmojiPicker-CjRa0HIg.mjs.map +1 -0
  168. package/dist/chunks/{NcHeaderButton-DAxGG1vc.mjs → NcHeaderButton-DafXYbXB.mjs} +4 -4
  169. package/dist/chunks/NcHeaderButton-DafXYbXB.mjs.map +1 -0
  170. package/dist/chunks/{NcHeaderMenu-DcBWHaZv.mjs → NcHeaderMenu-fnBUbMrU.mjs} +15 -12
  171. package/dist/chunks/NcHeaderMenu-fnBUbMrU.mjs.map +1 -0
  172. package/dist/chunks/NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs.map +1 -1
  173. package/dist/chunks/{NcIconSvgWrapper-CprKb_SE.mjs → NcIconSvgWrapper-5AA93z-F.mjs} +4 -4
  174. package/dist/chunks/{NcIconSvgWrapper-CprKb_SE.mjs.map → NcIconSvgWrapper-5AA93z-F.mjs.map} +1 -1
  175. package/dist/chunks/{NcInputConfirmCancel-BG4KRrhr.mjs → NcInputConfirmCancel-DXq3bo7Q.mjs} +12 -6
  176. package/dist/chunks/NcInputConfirmCancel-DXq3bo7Q.mjs.map +1 -0
  177. package/dist/chunks/{NcInputField-Cz1RwzSy.mjs → NcInputField-BWhRRLNR.mjs} +13 -10
  178. package/dist/chunks/NcInputField-BWhRRLNR.mjs.map +1 -0
  179. package/dist/chunks/NcKbd-CqQU-PZg.mjs +53 -0
  180. package/dist/chunks/NcKbd-CqQU-PZg.mjs.map +1 -0
  181. package/dist/chunks/{NcListItem-CwAOX69Q.mjs → NcListItem-DGiLAMD1.mjs} +8 -5
  182. package/dist/chunks/NcListItem-DGiLAMD1.mjs.map +1 -0
  183. package/dist/chunks/{NcListItemIcon-26IdztJ2.mjs → NcListItemIcon-rnITYj4f.mjs} +11 -10
  184. package/dist/chunks/NcListItemIcon-rnITYj4f.mjs.map +1 -0
  185. package/dist/chunks/{NcLoadingIcon-CiMp51wb.mjs → NcLoadingIcon-b_ajZ_nQ.mjs} +3 -3
  186. package/dist/chunks/NcLoadingIcon-b_ajZ_nQ.mjs.map +1 -0
  187. package/dist/chunks/{NcMentionBubble.vue_vue_type_style_index_0_scoped_25f4d6e1_lang-aMwzB20D.mjs → NcMentionBubble.vue_vue_type_style_index_0_scoped_45238efd_lang-D6LzDiYf.mjs} +2 -2
  188. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_45238efd_lang-D6LzDiYf.mjs.map +1 -0
  189. package/dist/chunks/{NcModal-CdXZncEM.mjs → NcModal-DKjyRKQe.mjs} +60 -53
  190. package/dist/chunks/NcModal-DKjyRKQe.mjs.map +1 -0
  191. package/dist/chunks/{NcNoteCard-C8JB31rn.mjs → NcNoteCard-glxPCBcu.mjs} +11 -7
  192. package/dist/chunks/NcNoteCard-glxPCBcu.mjs.map +1 -0
  193. package/dist/chunks/{NcPasswordField-BlbWNpfS.mjs → NcPasswordField-DhEpicKu.mjs} +9 -9
  194. package/dist/chunks/NcPasswordField-DhEpicKu.mjs.map +1 -0
  195. package/dist/chunks/{NcPopover-Zs7qt_Zd.mjs → NcPopover-D8iSVK-p.mjs} +40 -12
  196. package/dist/chunks/NcPopover-D8iSVK-p.mjs.map +1 -0
  197. package/dist/chunks/{NcProgressBar-Ds0zTPYX.mjs → NcProgressBar-DDMAo4h-.mjs} +5 -5
  198. package/dist/chunks/NcProgressBar-DDMAo4h-.mjs.map +1 -0
  199. package/dist/chunks/{NcRelatedResourcesPanel-DBOgpeIK.mjs → NcRelatedResourcesPanel-BwgCfCFg.mjs} +106 -102
  200. package/dist/chunks/NcRelatedResourcesPanel-BwgCfCFg.mjs.map +1 -0
  201. package/dist/chunks/{NcRichContenteditable-BmrCeWNL.mjs → NcRichContenteditable-DOMXD-CS.mjs} +82 -33
  202. package/dist/chunks/NcRichContenteditable-DOMXD-CS.mjs.map +1 -0
  203. package/dist/chunks/{NcRichText-G8kzsdwx.mjs → NcRichText-CJrRYUBW.mjs} +180 -174
  204. package/dist/chunks/NcRichText-CJrRYUBW.mjs.map +1 -0
  205. package/dist/chunks/NcSavingIndicatorIcon.vue_vue_type_script_setup_true_lang-jUf1K561.mjs.map +1 -1
  206. package/dist/chunks/{NcSelect-C6qHqfAO.mjs → NcSelect-CrWaLc3g.mjs} +11 -12
  207. package/dist/chunks/NcSelect-CrWaLc3g.mjs.map +1 -0
  208. package/dist/chunks/{NcSelectTags-Capp69AW.mjs → NcSelectTags-CLiI4vpg.mjs} +17 -16
  209. package/dist/chunks/NcSelectTags-CLiI4vpg.mjs.map +1 -0
  210. package/dist/chunks/{NcSelectUsers-BVn8co_d.mjs → NcSelectUsers-a2UR2pv4.mjs} +5 -5
  211. package/dist/chunks/NcSelectUsers-a2UR2pv4.mjs.map +1 -0
  212. package/dist/chunks/{NcSettingsInputText-C8Gtj3Ht.mjs → NcSettingsInputText-YzmvMkAV.mjs} +5 -5
  213. package/dist/chunks/NcSettingsInputText-YzmvMkAV.mjs.map +1 -0
  214. package/dist/chunks/{NcSettingsSection-CtSg7lH8.mjs → NcSettingsSection-BKoxl0aj.mjs} +4 -4
  215. package/dist/chunks/{NcSettingsSection-CtSg7lH8.mjs.map → NcSettingsSection-BKoxl0aj.mjs.map} +1 -1
  216. package/dist/chunks/{NcSettingsSelectGroup-C1DEcBNJ.mjs → NcSettingsSelectGroup-CaU1cE30.mjs} +16 -18
  217. package/dist/chunks/NcSettingsSelectGroup-CaU1cE30.mjs.map +1 -0
  218. package/dist/chunks/{NcTextArea-BAl6EP4Z.mjs → NcTextArea-DeoDvFwH.mjs} +19 -10
  219. package/dist/chunks/NcTextArea-DeoDvFwH.mjs.map +1 -0
  220. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-DzcUUWHO.mjs → NcTextField.vue_vue_type_script_setup_true_lang-Deo569jY.mjs} +7 -9
  221. package/dist/chunks/NcTextField.vue_vue_type_script_setup_true_lang-Deo569jY.mjs.map +1 -0
  222. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-Dsco6qEJ.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-NZWpDFzm.mjs} +4 -4
  223. package/dist/chunks/NcTimezonePicker.vue_vue_type_script_setup_true_lang-NZWpDFzm.mjs.map +1 -0
  224. package/dist/chunks/{NcUserBubble-CqKN_gM4.mjs → NcUserBubble-LsKBmWoL.mjs} +9 -9
  225. package/dist/chunks/NcUserBubble-LsKBmWoL.mjs.map +1 -0
  226. package/dist/chunks/{NcUserStatusIcon-CDEUKK60.mjs → NcUserStatusIcon-VcPl-lLQ.mjs} +15 -15
  227. package/dist/chunks/NcUserStatusIcon-VcPl-lLQ.mjs.map +1 -0
  228. package/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map +1 -1
  229. package/dist/chunks/{_l10n-ZllQPIu_.mjs → _l10n-C6k5LExr.mjs} +70 -72
  230. package/dist/chunks/_l10n-C6k5LExr.mjs.map +1 -0
  231. package/dist/chunks/{actionText-DdSwf9le.mjs → actionText-DYzDdbVe.mjs} +5 -4
  232. package/dist/chunks/{actionText-DdSwf9le.mjs.map → actionText-DYzDdbVe.mjs.map} +1 -1
  233. package/dist/chunks/{autolink-Y0rlJ_CI.mjs → autolink-U5pBzLgI.mjs} +9 -8
  234. package/dist/chunks/autolink-U5pBzLgI.mjs.map +1 -0
  235. package/dist/chunks/{colors-B71CwSnx.mjs → colors-Dm63yanX.mjs} +10 -3
  236. package/dist/chunks/colors-Dm63yanX.mjs.map +1 -0
  237. package/dist/chunks/constants-Bls5liKo.mjs.map +1 -1
  238. package/dist/chunks/constants-DrSznhwy.mjs +11 -0
  239. package/dist/chunks/constants-DrSznhwy.mjs.map +1 -0
  240. package/dist/chunks/{customPickerElements-BmkXSNdO.mjs → customPickerElements-4pQTZUnk.mjs} +6 -6
  241. package/dist/chunks/customPickerElements-4pQTZUnk.mjs.map +1 -0
  242. package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
  243. package/dist/chunks/legacy-DcjXBL_t.mjs +6 -0
  244. package/dist/chunks/legacy-DcjXBL_t.mjs.map +1 -0
  245. package/dist/chunks/{mdi-B9TPxVka.mjs → mdi-D_GPbmUY.mjs} +18 -12
  246. package/dist/chunks/{mdi-B9TPxVka.mjs.map → mdi-D_GPbmUY.mjs.map} +1 -1
  247. package/dist/chunks/platform-CC2ecGvV.mjs +5 -0
  248. package/dist/chunks/platform-CC2ecGvV.mjs.map +1 -0
  249. package/dist/chunks/{referencePickerModal-BtI-8rNN.mjs → referencePickerModal-mYCXgzX-.mjs} +184 -179
  250. package/dist/chunks/referencePickerModal-mYCXgzX-.mjs.map +1 -0
  251. package/dist/chunks/useNcActions-CiGWxAJE.mjs.map +1 -1
  252. package/dist/chunks/{useTrapStackControl-yqM2SDEs.mjs → useTrapStackControl-B6cEicto.mjs} +2 -3
  253. package/dist/chunks/useTrapStackControl-B6cEicto.mjs.map +1 -0
  254. package/dist/components/NcActionButton/NcActionButton.vue.d.ts +2 -1
  255. package/dist/components/NcActionButton/index.mjs +1 -1
  256. package/dist/components/NcActionButtonGroup/index.mjs +1 -1
  257. package/dist/components/NcActionCheckbox/index.mjs +1 -1
  258. package/dist/components/NcActionInput/NcActionInput.vue.d.ts +1 -1
  259. package/dist/components/NcActionInput/index.mjs +1 -1
  260. package/dist/components/NcActionLink/index.mjs +1 -1
  261. package/dist/components/NcActionRadio/index.mjs +1 -1
  262. package/dist/components/NcActionRouter/NcActionRouter.vue.d.ts +1 -5
  263. package/dist/components/NcActionRouter/index.mjs +1 -1
  264. package/dist/components/NcActionText/index.mjs +1 -1
  265. package/dist/components/NcActionTextEditable/index.mjs +1 -1
  266. package/dist/components/NcActions/NcActions.vue.d.ts +11 -9
  267. package/dist/components/NcActions/index.mjs +1 -1
  268. package/dist/components/NcActions/useNcActions.d.ts +1 -1
  269. package/dist/components/NcAppContent/index.mjs +1 -1
  270. package/dist/components/NcAppContentList/NcAppContentList.vue.d.ts +12 -0
  271. package/dist/components/NcAppContentList/index.mjs +1 -1
  272. package/dist/components/NcAppNavigation/index.mjs +1 -1
  273. package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +9 -9
  274. package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
  275. package/dist/components/NcAppNavigationIconBullet/NcAppNavigationIconBullet.vue.d.ts +6 -0
  276. package/dist/components/NcAppNavigationIconBullet/index.mjs +1 -1
  277. package/dist/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue.d.ts +32 -14
  278. package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +38 -32
  279. package/dist/components/NcAppNavigationItem/NcInputConfirmCancel.vue.d.ts +21 -9
  280. package/dist/components/NcAppNavigationItem/index.mjs +1 -1
  281. package/dist/components/NcAppNavigationList/index.d.ts +4 -0
  282. package/dist/components/NcAppNavigationList/index.mjs +1 -1
  283. package/dist/components/NcAppNavigationNew/NcAppNavigationNew.vue.d.ts +29 -9
  284. package/dist/components/NcAppNavigationNew/index.mjs +1 -1
  285. package/dist/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue.d.ts +9 -9
  286. package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
  287. package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
  288. package/dist/components/NcAppNavigationSettings/NcAppNavigationSettings.vue.d.ts +1 -0
  289. package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
  290. package/dist/components/NcAppSettingsDialog/NcAppSettingsDialog.vue.d.ts +3 -0
  291. package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
  292. package/dist/components/NcAppSettingsSection/NcAppSettingsSection.vue.d.ts +12 -0
  293. package/dist/components/NcAppSettingsSection/index.mjs +1 -1
  294. package/dist/components/NcAppSidebar/NcAppSidebar.vue.d.ts +44 -21
  295. package/dist/components/NcAppSidebar/index.mjs +1 -1
  296. package/dist/components/NcAppSidebarTab/NcAppSidebarTab.vue.d.ts +6 -0
  297. package/dist/components/NcAppSidebarTab/index.mjs +1 -1
  298. package/dist/components/NcAssistantButton/NcAssistantButton.vue.d.ts +42 -0
  299. package/dist/components/NcAssistantButton/index.d.ts +5 -0
  300. package/dist/components/NcAssistantButton/index.mjs +5 -0
  301. package/dist/components/NcAssistantButton/index.mjs.map +1 -0
  302. package/dist/components/NcAssistantContent/NcAssistantContent.vue.d.ts +35 -0
  303. package/dist/components/NcAssistantContent/index.d.ts +5 -0
  304. package/dist/components/NcAssistantContent/index.mjs +5 -0
  305. package/dist/components/NcAssistantContent/index.mjs.map +1 -0
  306. package/dist/components/NcAssistantIcon/NcAssistantIcon.vue.d.ts +17 -0
  307. package/dist/components/NcAssistantIcon/index.d.ts +5 -0
  308. package/dist/components/NcAssistantIcon/index.mjs +5 -0
  309. package/dist/components/NcAssistantIcon/index.mjs.map +1 -0
  310. package/dist/components/NcAvatar/NcAvatar.vue.d.ts +20 -23
  311. package/dist/components/NcAvatar/index.mjs +1 -1
  312. package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +18 -18
  313. package/dist/components/NcBreadcrumb/index.mjs +1 -1
  314. package/dist/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +28 -32
  315. package/dist/components/NcBreadcrumbs/index.mjs +1 -1
  316. package/dist/components/NcButton/NcButton.vue.d.ts +8 -3
  317. package/dist/components/NcButton/index.mjs +1 -1
  318. package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
  319. package/dist/components/NcChip/NcChip.vue.d.ts +2 -0
  320. package/dist/components/NcChip/index.mjs +1 -1
  321. package/dist/components/NcCollectionList/NcCollectionList.vue.d.ts +48 -60
  322. package/dist/components/NcCollectionList/NcCollectionListItem.vue.d.ts +40 -32
  323. package/dist/components/NcCollectionList/index.mjs +1 -1
  324. package/dist/components/NcCollectionList/service.d.ts +7 -0
  325. package/dist/components/NcCollectionList/useCollections.d.ts +1 -5
  326. package/dist/components/NcColorPicker/index.mjs +1 -1
  327. package/dist/components/NcContent/constants.d.ts +9 -0
  328. package/dist/components/NcContent/index.mjs +1 -1
  329. package/dist/components/NcCounterBubble/index.mjs +1 -1
  330. package/dist/components/NcDashboardWidget/NcDashboardWidget.vue.d.ts +47 -55
  331. package/dist/components/NcDashboardWidget/index.mjs +1 -1
  332. package/dist/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue.d.ts +28 -32
  333. package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
  334. package/dist/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +4 -2
  335. package/dist/components/NcDateTimePicker/index.mjs +1 -1
  336. package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
  337. package/dist/components/NcDialog/NcDialog.vue.d.ts +2 -1
  338. package/dist/components/NcDialog/index.mjs +1 -1
  339. package/dist/components/NcDialogButton/index.mjs +1 -1
  340. package/dist/components/NcEllipsisedOption/index.mjs +1 -1
  341. package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +15 -10
  342. package/dist/components/NcEmojiPicker/index.mjs +1 -1
  343. package/dist/components/NcHeaderButton/index.mjs +1 -1
  344. package/dist/components/NcHeaderMenu/NcHeaderMenu.vue.d.ts +17 -17
  345. package/dist/components/NcHeaderMenu/index.mjs +1 -1
  346. package/dist/components/NcIconSvgWrapper/index.mjs +1 -1
  347. package/dist/components/NcInputField/NcInputField.vue.d.ts +4 -0
  348. package/dist/components/NcInputField/index.mjs +1 -1
  349. package/dist/components/NcKbd/NcKbd.vue.d.ts +32 -0
  350. package/dist/components/NcKbd/index.d.ts +1 -0
  351. package/dist/components/NcKbd/index.mjs +5 -0
  352. package/dist/components/NcKbd/index.mjs.map +1 -0
  353. package/dist/components/NcListItem/NcListItem.vue.d.ts +15 -9
  354. package/dist/components/NcListItem/index.mjs +1 -1
  355. package/dist/components/NcListItemIcon/NcListItemIcon.vue.d.ts +20 -23
  356. package/dist/components/NcListItemIcon/index.mjs +1 -1
  357. package/dist/components/NcLoadingIcon/index.mjs +1 -1
  358. package/dist/components/NcModal/index.mjs +1 -1
  359. package/dist/components/NcNoteCard/index.mjs +1 -1
  360. package/dist/components/NcPasswordField/index.mjs +1 -1
  361. package/dist/components/NcPopover/NcPopoverTriggerProvider.vue.d.ts +12 -0
  362. package/dist/components/NcPopover/index.mjs +1 -1
  363. package/dist/components/NcProgressBar/NcProgressBar.vue.d.ts +6 -0
  364. package/dist/components/NcProgressBar/index.mjs +1 -1
  365. package/dist/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +18 -18
  366. package/dist/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +9 -9
  367. package/dist/components/NcRelatedResourcesPanel/NcTeamResources.vue.d.ts +9 -9
  368. package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
  369. package/dist/components/NcRichContenteditable/NcAutoCompleteResult.vue.d.ts +30 -0
  370. package/dist/components/NcRichContenteditable/NcMentionBubble.vue.d.ts +30 -0
  371. package/dist/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +28 -3
  372. package/dist/components/NcRichContenteditable/index.mjs +1 -1
  373. package/dist/components/NcRichText/NcReferenceList.vue.d.ts +9 -9
  374. package/dist/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue.d.ts +9 -9
  375. package/dist/components/NcRichText/NcReferencePicker/NcReferencePicker.vue.d.ts +9 -9
  376. package/dist/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue.d.ts +18 -18
  377. package/dist/components/NcRichText/NcReferencePicker/NcSearch.vue.d.ts +6 -0
  378. package/dist/components/NcRichText/NcReferenceWidget.vue.d.ts +9 -9
  379. package/dist/components/NcRichText/NcRichText.vue.d.ts +21 -9
  380. package/dist/components/NcRichText/autolink.d.ts +18 -7
  381. package/dist/components/NcRichText/index.d.ts +6 -6
  382. package/dist/components/NcRichText/index.mjs +17 -17
  383. package/dist/components/NcSelect/index.mjs +1 -1
  384. package/dist/components/NcSelectTags/api.d.ts +3 -0
  385. package/dist/components/NcSelectTags/index.mjs +1 -1
  386. package/dist/components/NcSelectUsers/index.mjs +1 -1
  387. package/dist/components/NcSettingsInputText/index.mjs +1 -1
  388. package/dist/components/NcSettingsSection/index.mjs +1 -1
  389. package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
  390. package/dist/components/NcTextArea/NcTextArea.vue.d.ts +3 -0
  391. package/dist/components/NcTextArea/index.mjs +1 -1
  392. package/dist/components/NcTextField/index.mjs +1 -1
  393. package/dist/components/NcTimezonePicker/index.mjs +1 -1
  394. package/dist/components/NcTimezonePicker/timezoneDataProviderService.d.ts +0 -2
  395. package/dist/components/NcUserBubble/NcUserBubble.vue.d.ts +2 -2
  396. package/dist/components/NcUserBubble/index.mjs +1 -1
  397. package/dist/components/NcUserStatusIcon/index.mjs +1 -1
  398. package/dist/components/index.d.ts +8 -4
  399. package/dist/composables/useFormatDateTime/index.d.ts +2 -0
  400. package/dist/composables/useFormatDateTime/index.mjs +1 -1
  401. package/dist/composables/useFormatDateTime/index.mjs.map +1 -1
  402. package/dist/composables/useHotKey/index.mjs +1 -1
  403. package/dist/composables/useHotKey/index.mjs.map +1 -1
  404. package/dist/composables/useIsDarkTheme/constants.d.ts +1 -1
  405. package/dist/composables/useIsDarkTheme/index.d.ts +2 -1
  406. package/dist/composables/useIsDarkTheme/index.mjs.map +1 -1
  407. package/dist/composables/useIsFullscreen/index.mjs.map +1 -1
  408. package/dist/composables/useIsMobile/index.mjs.map +1 -1
  409. package/dist/composables/useTrapStackControl.d.ts +1 -1
  410. package/dist/directives/Linkify/index.mjs.map +1 -1
  411. package/dist/functions/a11y/index.d.ts +2 -4
  412. package/dist/functions/a11y/index.mjs +2 -2
  413. package/dist/functions/a11y/index.mjs.map +1 -1
  414. package/dist/functions/dialog/index.d.ts +1 -0
  415. package/dist/functions/dialog/index.mjs +1 -1
  416. package/dist/functions/dialog/index.mjs.map +1 -1
  417. package/dist/functions/emoji/emoji.d.ts +2 -2
  418. package/dist/functions/emoji/index.d.ts +1 -1
  419. package/dist/functions/isDarkTheme/index.d.ts +2 -1
  420. package/dist/functions/isDarkTheme/index.mjs.map +1 -1
  421. package/dist/functions/preloadImage/index.d.ts +1 -0
  422. package/dist/functions/preloadImage/index.mjs.map +1 -1
  423. package/dist/functions/reference/index.d.ts +3 -3
  424. package/dist/functions/reference/index.mjs +10 -10
  425. package/dist/functions/reference/widgets.d.ts +1 -0
  426. package/dist/functions/registerReference/index.d.ts +2 -2
  427. package/dist/functions/registerReference/index.mjs +5 -5
  428. package/dist/functions/usernameToColor/index.mjs +1 -1
  429. package/dist/functions/usernameToColor/index.mjs.map +1 -1
  430. package/dist/index.d.ts +1 -1
  431. package/dist/index.mjs +144 -135
  432. package/dist/index.mjs.map +1 -1
  433. package/dist/l10n.d.ts +1 -1
  434. package/dist/mixins/actionText.d.ts +1 -0
  435. package/dist/utils/UserStatus.d.ts +6 -1
  436. package/dist/utils/getAvatarUrl.d.ts +1 -0
  437. package/dist/utils/platform.d.ts +1 -0
  438. package/package.json +14 -13
  439. package/dist/assets/NcEmojiPicker-CeVpBSVx.css +0 -576
  440. package/dist/assets/NcSelectUsers-Cyr5NLrJ.css +0 -4
  441. package/dist/assets/NcTextArea-IV7f8C-Q.css +0 -112
  442. package/dist/chunks/NcActionButton-k1JvZ5eE.mjs.map +0 -1
  443. package/dist/chunks/NcActionCheckbox-DLPDTACR.mjs.map +0 -1
  444. package/dist/chunks/NcActionInput-Cu77Jgzr.mjs.map +0 -1
  445. package/dist/chunks/NcActionLink-BEo7zmXX.mjs.map +0 -1
  446. package/dist/chunks/NcActionRadio-CPoWB58D.mjs.map +0 -1
  447. package/dist/chunks/NcActionRouter-ERoQjJKv.mjs.map +0 -1
  448. package/dist/chunks/NcActionText-16Mj4-P1.mjs.map +0 -1
  449. package/dist/chunks/NcActionTextEditable-BLkdbR1d.mjs.map +0 -1
  450. package/dist/chunks/NcActions-CDD8eIxC.mjs.map +0 -1
  451. package/dist/chunks/NcAppContent-BuPSAcBt.mjs.map +0 -1
  452. package/dist/chunks/NcAppContentList-DnLY_sWw.mjs.map +0 -1
  453. package/dist/chunks/NcAppNavigation-ByAPTGke.mjs.map +0 -1
  454. package/dist/chunks/NcAppNavigationCaption-SJPzGdtT.mjs.map +0 -1
  455. package/dist/chunks/NcAppNavigationIconBullet-B1kc4u65.mjs.map +0 -1
  456. package/dist/chunks/NcAppNavigationItem-0xVXJPEm.mjs.map +0 -1
  457. package/dist/chunks/NcAppNavigationNew-CjJgIwfl.mjs.map +0 -1
  458. package/dist/chunks/NcAppNavigationNewItem-BCFq6zq8.mjs.map +0 -1
  459. package/dist/chunks/NcAppNavigationSearch-Bnr0rygy.mjs.map +0 -1
  460. package/dist/chunks/NcAppNavigationSettings-CM0_QsTH.mjs +0 -138
  461. package/dist/chunks/NcAppNavigationSettings-CM0_QsTH.mjs.map +0 -1
  462. package/dist/chunks/NcAppSettingsDialog-DBI8-FZa.mjs.map +0 -1
  463. package/dist/chunks/NcAppSettingsSection-CssmXyZ0.mjs.map +0 -1
  464. package/dist/chunks/NcAppSidebar-CyyFi0n6.mjs.map +0 -1
  465. package/dist/chunks/NcAppSidebarTab-D1RmFRTu.mjs.map +0 -1
  466. package/dist/chunks/NcAvatar-CnRCSalb.mjs.map +0 -1
  467. package/dist/chunks/NcBreadcrumb-B97vQkN2.mjs.map +0 -1
  468. package/dist/chunks/NcBreadcrumbs-CvUgliJa.mjs.map +0 -1
  469. package/dist/chunks/NcButton-BMnvzy1A.mjs.map +0 -1
  470. package/dist/chunks/NcCheckboxRadioSwitch-Da0F7y0G.mjs.map +0 -1
  471. package/dist/chunks/NcChip-DuaqxToL.mjs.map +0 -1
  472. package/dist/chunks/NcCollectionList-Cr0T14g-.mjs.map +0 -1
  473. package/dist/chunks/NcColorPicker-D6g3v7Qc.mjs.map +0 -1
  474. package/dist/chunks/NcDashboardWidget-Wkx_9xKh.mjs.map +0 -1
  475. package/dist/chunks/NcDashboardWidgetItem-CMrxp0Lc.mjs.map +0 -1
  476. package/dist/chunks/NcDateTimePicker-BarX7J-6.mjs.map +0 -1
  477. package/dist/chunks/NcDateTimePickerNative-BOoA1aEf.mjs.map +0 -1
  478. package/dist/chunks/NcDialog-IKWAQK-K.mjs.map +0 -1
  479. package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-BT66zCa4.mjs.map +0 -1
  480. package/dist/chunks/NcEllipsisedOption-C8uNDC-j.mjs.map +0 -1
  481. package/dist/chunks/NcEmojiPicker-DL9u7r5m.mjs.map +0 -1
  482. package/dist/chunks/NcHeaderButton-DAxGG1vc.mjs.map +0 -1
  483. package/dist/chunks/NcHeaderMenu-DcBWHaZv.mjs.map +0 -1
  484. package/dist/chunks/NcInputConfirmCancel-BG4KRrhr.mjs.map +0 -1
  485. package/dist/chunks/NcInputField-Cz1RwzSy.mjs.map +0 -1
  486. package/dist/chunks/NcListItem-CwAOX69Q.mjs.map +0 -1
  487. package/dist/chunks/NcListItemIcon-26IdztJ2.mjs.map +0 -1
  488. package/dist/chunks/NcLoadingIcon-CiMp51wb.mjs.map +0 -1
  489. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_25f4d6e1_lang-aMwzB20D.mjs.map +0 -1
  490. package/dist/chunks/NcModal-CdXZncEM.mjs.map +0 -1
  491. package/dist/chunks/NcNoteCard-C8JB31rn.mjs.map +0 -1
  492. package/dist/chunks/NcPasswordField-BlbWNpfS.mjs.map +0 -1
  493. package/dist/chunks/NcPopover-Zs7qt_Zd.mjs.map +0 -1
  494. package/dist/chunks/NcProgressBar-Ds0zTPYX.mjs.map +0 -1
  495. package/dist/chunks/NcRelatedResourcesPanel-DBOgpeIK.mjs.map +0 -1
  496. package/dist/chunks/NcRichContenteditable-BmrCeWNL.mjs.map +0 -1
  497. package/dist/chunks/NcRichText-G8kzsdwx.mjs.map +0 -1
  498. package/dist/chunks/NcSelect-C6qHqfAO.mjs.map +0 -1
  499. package/dist/chunks/NcSelectTags-Capp69AW.mjs.map +0 -1
  500. package/dist/chunks/NcSelectUsers-BVn8co_d.mjs.map +0 -1
  501. package/dist/chunks/NcSettingsInputText-C8Gtj3Ht.mjs.map +0 -1
  502. package/dist/chunks/NcSettingsSelectGroup-C1DEcBNJ.mjs.map +0 -1
  503. package/dist/chunks/NcTextArea-BAl6EP4Z.mjs.map +0 -1
  504. package/dist/chunks/NcTextField.vue_vue_type_script_setup_true_lang-DzcUUWHO.mjs.map +0 -1
  505. package/dist/chunks/NcTimezonePicker.vue_vue_type_script_setup_true_lang-Dsco6qEJ.mjs.map +0 -1
  506. package/dist/chunks/NcUserBubble-CqKN_gM4.mjs.map +0 -1
  507. package/dist/chunks/NcUserStatusIcon-CDEUKK60.mjs.map +0 -1
  508. package/dist/chunks/_l10n-ZllQPIu_.mjs.map +0 -1
  509. package/dist/chunks/autolink-Y0rlJ_CI.mjs.map +0 -1
  510. package/dist/chunks/colors-B71CwSnx.mjs.map +0 -1
  511. package/dist/chunks/customPickerElements-BmkXSNdO.mjs.map +0 -1
  512. package/dist/chunks/referencePickerModal-BtI-8rNN.mjs.map +0 -1
  513. package/dist/chunks/useTrapStackControl-yqM2SDEs.mjs.map +0 -1
@@ -1,13 +1,13 @@
1
- import '../assets/NcBreadcrumbs-D2wff82k.css';
1
+ import '../assets/NcBreadcrumbs-DYfGaSjT.css';
2
2
  import { unsubscribe, subscribe } from "@nextcloud/event-bus";
3
- import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, Fragment, cloneVNode, h } from "vue";
4
3
  import debounce from "debounce";
5
- import { N as NcActions, i as isSlotPopulated } from "./NcActions-CDD8eIxC.mjs";
4
+ import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, Fragment, cloneVNode, h } from "vue";
6
5
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
7
- import { N as NcActionButton } from "./NcActionButton-k1JvZ5eE.mjs";
8
- import { N as NcActionRouter } from "./NcActionRouter-ERoQjJKv.mjs";
9
- import { N as NcActionLink } from "./NcActionLink-BEo7zmXX.mjs";
10
- import { N as NcBreadcrumb } from "./NcBreadcrumb-B97vQkN2.mjs";
6
+ import { N as NcActions, i as isSlotPopulated } from "./NcActions-C-9GKofj.mjs";
7
+ import { N as NcActionButton } from "./NcActionButton-D8JTFCmI.mjs";
8
+ import { N as NcActionLink } from "./NcActionLink-afakPM_N.mjs";
9
+ import { N as NcActionRouter } from "./NcActionRouter-oT-YU_jf.mjs";
10
+ import { N as NcBreadcrumb } from "./NcBreadcrumb-B-HF8Noh.mjs";
11
11
  const _sfc_main$1 = {
12
12
  name: "FolderIcon",
13
13
  emits: ["click"],
@@ -178,9 +178,13 @@ const _sfc_main = {
178
178
  * @return {boolean} Wether the arrays are equal
179
179
  */
180
180
  arraysEqual(a, b) {
181
- if (a.length !== b.length) return false;
182
- if (a === b) return true;
183
- if (a === null || b === null) return false;
181
+ if (a.length !== b.length) {
182
+ return false;
183
+ } else if (a === b) {
184
+ return true;
185
+ } else if (a === null || b === null) {
186
+ return false;
187
+ }
184
188
  for (let i = 0; i < a.length; ++i) {
185
189
  if (a[i] !== b[i]) {
186
190
  return false;
@@ -204,7 +208,9 @@ const _sfc_main = {
204
208
  * @return {number} The width
205
209
  */
206
210
  getWidth(el, isLast) {
207
- if (!el?.classList) return 0;
211
+ if (!el?.classList) {
212
+ return 0;
213
+ }
208
214
  const hide = el.classList.contains(`${crumbClass}--hidden`);
209
215
  el.style.minWidth = "auto";
210
216
  if (isLast) {
@@ -255,9 +261,9 @@ const _sfc_main = {
255
261
  }
256
262
  this.menuBreadcrumbProps.open = false;
257
263
  const crumbs = document.querySelectorAll(`.${crumbClass}`);
258
- crumbs.forEach((f) => {
259
- f.classList.remove(`${crumbClass}--hovered`);
260
- });
264
+ for (const crumb of crumbs) {
265
+ crumb.classList.remove(`${crumbClass}--hovered`);
266
+ }
261
267
  return this.preventDefault(e);
262
268
  },
263
269
  /**
@@ -283,9 +289,9 @@ const _sfc_main = {
283
289
  const target = e.target.closest(`.${crumbClass}`);
284
290
  if (target.classList && target.classList.contains(crumbClass)) {
285
291
  const crumbs = document.querySelectorAll(`.${crumbClass}`);
286
- crumbs.forEach((f) => {
287
- f.classList.remove(`${crumbClass}--hovered`);
288
- });
292
+ for (const crumb of crumbs) {
293
+ crumb.classList.remove(`${crumbClass}--hovered`);
294
+ }
289
295
  target.classList.add(`${crumbClass}--hovered`);
290
296
  }
291
297
  }
@@ -372,6 +378,7 @@ const _sfc_main = {
372
378
  0,
373
379
  // The Actions menu
374
380
  // Use a breadcrumb component for the hidden breadcrumbs
381
+ // eslint-disable-line @stylistic/function-call-argument-newline
375
382
  h(NcBreadcrumb, {
376
383
  class: "dropdown",
377
384
  ...this.menuBreadcrumbProps,
@@ -418,27 +425,23 @@ const _sfc_main = {
418
425
  const folderIcon = h(IconFolder, {
419
426
  size: 20
420
427
  });
421
- return h(
422
- element,
423
- {
424
- ...propsToForward,
425
- class: crumbClass,
426
- href: href || null,
427
- to: to || null,
428
- // Prevent the breadcrumbs from being draggable
429
- draggable: false,
430
- // Add the drag and drop handlers
431
- onDragstart: this.dragStart,
432
- onDrop: ($event) => this.dropped($event, path, disableDrop),
433
- onDragover: this.dragOver,
434
- onDragenter: ($event) => this.dragEnter($event, disableDrop),
435
- onDragleave: ($event) => this.dragLeave($event, disableDrop)
436
- },
437
- {
438
- default: () => name,
439
- icon: () => folderIcon
440
- }
441
- );
428
+ return h(element, {
429
+ ...propsToForward,
430
+ class: crumbClass,
431
+ href: href || null,
432
+ to: to || null,
433
+ // Prevent the breadcrumbs from being draggable
434
+ draggable: false,
435
+ // Add the drag and drop handlers
436
+ onDragstart: this.dragStart,
437
+ onDrop: ($event) => this.dropped($event, path, disableDrop),
438
+ onDragover: this.dragOver,
439
+ onDragenter: ($event) => this.dragEnter($event, disableDrop),
440
+ onDragleave: ($event) => this.dragLeave($event, disableDrop)
441
+ }, {
442
+ default: () => name,
443
+ icon: () => folderIcon
444
+ });
442
445
  })
443
446
  })
444
447
  );
@@ -451,8 +454,8 @@ const _sfc_main = {
451
454
  return h("div", { class: ["breadcrumb", { "breadcrumb--collapsed": this.hiddenIndices.length === breadcrumbs.length - 2 }], ref: "container" }, wrapper);
452
455
  }
453
456
  };
454
- const NcBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b3c47ad6"]]);
457
+ const NcBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-af2b1226"]]);
455
458
  export {
456
459
  NcBreadcrumbs as N
457
460
  };
458
- //# sourceMappingURL=NcBreadcrumbs-CvUgliJa.mjs.map
461
+ //# sourceMappingURL=NcBreadcrumbs-nKqdFMy0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcBreadcrumbs-nKqdFMy0.mjs","sources":["../../node_modules/vue-material-design-icons/Folder.vue","../../src/components/NcBreadcrumbs/NcBreadcrumbs.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon folder-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=\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FolderIcon\",\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: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis component renders a breadcrumb bar. It adjusts to the available width\nby hiding breadcrumbs in a dropdown menu and emits an event when something\nis dropped on a creadcrumb.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<div class=\"container\">\n\t\t\t<NcBreadcrumbs @dropped=\"dropped\">\n\t\t\t\t<NcBreadcrumb name=\"Home\"\n\t\t\t\t\ttitle=\"Title of the Home folder\"\n\t\t\t\t\thref=\"/\"\n\t\t\t\t\t@dropped=\"droppedOnCrumb\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Folder :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcBreadcrumb>\n\t\t\t\t<NcBreadcrumb name=\"Folder 1\"\n\t\t\t\t\ttitle=\"Folder 1\"\n\t\t\t\t\thref=\"/Folder 1\" />\n\t\t\t\t<NcBreadcrumb name=\"Folder 2\"\n\t\t\t\t\thref=\"/Folder 1/Folder 2\"\n\t\t\t\t\t:disable-drop=\"true\" />\n\t\t\t\t<NcBreadcrumb name=\"Folder 3\"\n\t\t\t\t\ttitle=\"Folder 3\"\n\t\t\t\t\thref=\"/Folder 1/Folder 2/Folder 3\" />\n\t\t\t\t<NcBreadcrumb name=\"Folder 4\"\n\t\t\t\t\ttitle=\"Folder 4\"\n\t\t\t\t\thref=\"/Folder 1/Folder 2/Folder 3/Folder 4\" />\n\t\t\t\t<NcBreadcrumb name=\"Folder 5 with an overflowing long name\"\n\t\t\t\t\ttitle=\"Folder 5\"\n\t\t\t\t\thref=\"/Folder 1/Folder 2/Folder 3/Folder 4/Folder 5\"\n\t\t\t\t\t:disable-drop=\"true\">\n\t\t\t\t\t<template #menu-icon>\n\t\t\t\t\t\t<MenuDown :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcActionButton @click=\"alert('Share')\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ShareVariant :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tShare\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton @click=\"alert('Download')\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Download :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tDownload\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcBreadcrumb>\n\t\t\t\t<template #actions>\n\t\t\t\t\t<NcButton>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Plus :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\tNew\n\t\t\t\t\t</NcButton>\n\t\t\t\t</template>\n\t\t\t</NcBreadcrumbs>\n\t\t</div>\n\t\t<br />\n\t\t<div class=\"dragme\" draggable=\"true\" @dragstart=\"dragStart\">\n\t\t\t<span>Drag me onto the breadcrumbs.</span>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport Download from 'vue-material-design-icons/Download'\nimport Folder from 'vue-material-design-icons/Folder'\nimport MenuDown from 'vue-material-design-icons/MenuDown'\nimport Plus from 'vue-material-design-icons/Plus'\nimport ShareVariant from 'vue-material-design-icons/ShareVariant'\n\nexport default {\n\tcomponents: {\n\t\tDownload,\n\t\tFolder,\n\t\tMenuDown,\n\t\tPlus,\n\t\tShareVariant,\n\t},\n\tmethods: {\n\t\tdropped(e, path) {\n\t\t\talert('Global drop on ' + path)\n\t\t},\n\t\tdroppedOnCrumb(e, path) {\n\t\t\talert('Drop on crumb ' + path)\n\t\t},\n\t\tdragStart(e) {\n\t\t\te.dataTransfer.setData('text/plain', 'dragging')\n\t\t},\n\t}\n}\n</script>\n<style>\n.container {\n\tdisplay: inline-flex;\n\twidth: 100%;\n}\n\n.dragme {\n\tdisplay: block;\n\twidth: 100px;\n\theight: var(--default-clickable-area);\n\tbackground-color: var(--color-background-dark);\n}\n</style>\n```\n</docs>\n\n<script>\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport debounce from 'debounce'\nimport { cloneVNode, Fragment, h } from 'vue'\nimport IconFolder from 'vue-material-design-icons/Folder.vue'\nimport { isSlotPopulated } from '../../utils/isSlotPopulated.ts'\nimport NcActionButton from '../NcActionButton/index.js'\nimport NcActionLink from '../NcActionLink/index.js'\nimport NcActionRouter from '../NcActionRouter/index.js'\nimport NcActions from '../NcActions/index.js'\nimport NcBreadcrumb from '../NcBreadcrumb/index.js'\n\nconst crumbClass = 'vue-crumb'\n\nexport default {\n\tname: 'NcBreadcrumbs',\n\tcomponents: {\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionRouter,\n\t\tNcActionLink,\n\t\tNcBreadcrumb,\n\t\tIconFolder,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Set a css icon-class for the icon of the root breadcrumb to be used.\n\t\t */\n\t\trootIcon: {\n\t\t\ttype: String,\n\t\t\tdefault: 'icon-home',\n\t\t},\n\n\t\t/**\n\t\t * Set the aria-label of the nav element.\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: ['dropped'],\n\tdata() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * Array to track the hidden breadcrumbs by their index.\n\t\t\t * Comparing two crumbs somehow does not work, so we use the indices.\n\t\t\t */\n\t\t\thiddenIndices: [],\n\n\t\t\t/**\n\t\t\t * This is the props of the middle Action menu\n\t\t\t * that show the ellipsised breadcrumbs\n\t\t\t */\n\t\t\tmenuBreadcrumbProps: {\n\t\t\t\t// Don't show a name for this breadcrumb, only the Actions menu\n\t\t\t\tname: '',\n\t\t\t\tforceMenu: true,\n\t\t\t\t// Don't allow dropping directly on the actions breadcrumb\n\t\t\t\tdisableDrop: true,\n\t\t\t\t// Is the menu open or not\n\t\t\t\topen: false,\n\t\t\t},\n\n\t\t\tbreadcrumbsRefs: [],\n\t\t}\n\t},\n\n\tcreated() {\n\t\t/**\n\t\t * Add a listener so the component reacts on resize\n\t\t */\n\t\twindow.addEventListener('resize', debounce(() => {\n\t\t\tthis.handleWindowResize()\n\t\t}, 100))\n\t\tsubscribe('navigation-toggled', this.delayedResize)\n\t},\n\n\tmounted() {\n\t\tthis.handleWindowResize()\n\t},\n\n\tupdated() {\n\t\t/**\n\t\t * Check the size on update\n\t\t */\n\t\tthis.delayedResize()\n\t\t/**\n\t\t * Check that crumbs to hide are hidden\n\t\t */\n\t\tthis.$nextTick(() => {\n\t\t\tthis.hideCrumbs()\n\t\t})\n\t},\n\n\tbeforeUnmount() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t\tunsubscribe('navigation-toggled', this.delayedResize)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Close the actions menu\n\t\t *\n\t\t * @param {object} e The event\n\t\t */\n\t\tcloseActions(e) {\n\t\t\t// Don't do anything if we leave towards a child element.\n\t\t\tif (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.menuBreadcrumbProps.open = false\n\t\t},\n\n\t\t/**\n\t\t * Call the resize function after a delay\n\t\t */\n\t\tasync delayedResize() {\n\t\t\tawait this.$nextTick()\n\t\t\tthis.handleWindowResize()\n\t\t},\n\n\t\t/**\n\t\t * Check the width of the breadcrumb and hide breadcrumbs\n\t\t * if we overflow otherwise.\n\t\t */\n\t\thandleWindowResize() {\n\t\t\t// If there is no container yet, we cannot determine its size\n\t\t\tif (!this.$refs.container) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst nrCrumbs = this.breadcrumbsRefs.length\n\t\t\tconst hiddenIndices = []\n\t\t\tconst availableWidth = this.$refs.container.offsetWidth\n\t\t\tlet totalWidth = this.getTotalWidth()\n\t\t\t// If we have breadcrumbs actions, we have to take their width into account too.\n\t\t\tif (this.$refs.breadcrumb__actions) {\n\t\t\t\ttotalWidth += this.$refs.breadcrumb__actions.offsetWidth\n\t\t\t}\n\t\t\tlet overflow = totalWidth - availableWidth\n\t\t\t// If we overflow, we have to take the action-item width into account as well.\n\t\t\toverflow += (overflow > 0) ? 64 : 0\n\t\t\tlet i = 0\n\t\t\t// We start hiding the breadcrumb in the center\n\t\t\tconst startIndex = Math.floor(nrCrumbs / 2)\n\t\t\t// Don't hide the first and last breadcrumb\n\t\t\twhile (overflow > 0 && i < nrCrumbs - 2) {\n\t\t\t\t// We hide elements alternating to the left and right\n\t\t\t\tconst currentIndex = startIndex + ((i % 2) ? i + 1 : i) / 2 * Math.pow(-1, i + (nrCrumbs % 2))\n\t\t\t\t// Calculate the remaining overflow width after hiding this breadcrumb\n\t\t\t\toverflow -= this.getWidth(this.breadcrumbsRefs[currentIndex]?.$el, currentIndex === (this.breadcrumbsRefs.length - 1))\n\t\t\t\thiddenIndices.push(currentIndex)\n\t\t\t\ti++\n\t\t\t}\n\t\t\t// We only update the hidden crumbs if they have changed,\n\t\t\t// otherwise we will run into an infinite update loop.\n\t\t\tif (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort((a, b) => a - b))) {\n\t\t\t\tthis.hiddenIndices = hiddenIndices\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Checks if two arrays are equal.\n\t\t * Only works for primitive arrays, but that's enough here.\n\t\t *\n\t\t * @param {Array} a The first array\n\t\t * @param {Array} b The second array\n\t\t * @return {boolean} Wether the arrays are equal\n\t\t */\n\t\tarraysEqual(a, b) {\n\t\t\tif (a.length !== b.length) {\n\t\t\t\treturn false\n\t\t\t} else if (a === b) {\n\t\t\t\treturn true\n\t\t\t} else if (a === null || b === null) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < a.length; ++i) {\n\t\t\t\tif (a[i] !== b[i]) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Calculates the total width of all breadcrumbs\n\t\t *\n\t\t * @return {number} The total width\n\t\t */\n\t\tgetTotalWidth() {\n\t\t\treturn this.breadcrumbsRefs.reduce((width, crumb, index) => width + this.getWidth(crumb.$el, index === (this.breadcrumbsRefs.length - 1)), 0)\n\t\t},\n\n\t\t/**\n\t\t * Calculates the width of the provided element\n\t\t *\n\t\t * @param {object} el The element\n\t\t * @param {boolean} isLast Is this the last crumb\n\t\t * @return {number} The width\n\t\t */\n\t\tgetWidth(el, isLast) {\n\t\t\tif (!el?.classList) {\n\t\t\t\treturn 0\n\t\t\t}\n\n\t\t\tconst hide = el.classList.contains(`${crumbClass}--hidden`)\n\t\t\tel.style.minWidth = 'auto'\n\t\t\t// For the last crumb, we calculate with a max-width of 210px,\n\t\t\t// but don't set it in CSS to allow it to grow.\n\t\t\tif (isLast) {\n\t\t\t\tel.style.maxWidth = '210px'\n\t\t\t}\n\t\t\tel.classList.remove(`${crumbClass}--hidden`)\n\t\t\tconst w = el.offsetWidth\n\t\t\tif (hide) {\n\t\t\t\tel.classList.add(`${crumbClass}--hidden`)\n\t\t\t}\n\t\t\tel.style.minWidth = ''\n\t\t\tel.style.maxWidth = ''\n\t\t\treturn w\n\t\t},\n\n\t\t/**\n\t\t * Prevents the default of a provided event\n\t\t *\n\t\t * @param {object} e The event\n\t\t * @return {boolean}\n\t\t */\n\t\tpreventDefault(e) {\n\t\t\tif (e.preventDefault) {\n\t\t\t\te.preventDefault()\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * Handles the drag start.\n\t\t * Prevents a breadcrumb from being draggable.\n\t\t *\n\t\t * @param {object} e The event\n\t\t * @return {boolean}\n\t\t */\n\t\tdragStart(e) {\n\t\t\treturn this.preventDefault(e)\n\t\t},\n\n\t\t/**\n\t\t * Handles when something is dropped on the breadcrumb.\n\t\t *\n\t\t * @param {object} e The drop event\n\t\t * @param {string} path The path of the breadcrumb\n\t\t * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n\t\t * @return {boolean}\n\t\t */\n\t\tdropped(e, path, disabled) {\n\t\t\t/**\n\t\t\t * Don't emit if dropping is disabled.\n\t\t\t */\n\t\t\tif (!disabled) {\n\t\t\t\t/**\n\t\t\t\t * Event emitted when something is dropped on the breadcrumb.\n\t\t\t\t *\n\t\t\t\t * @param {Event} e the drop DOM event\n\t\t\t\t * @param {string} path The path of the breadcrumb\n\t\t\t\t */\n\t\t\t\tthis.$emit('dropped', e, path)\n\t\t\t}\n\t\t\t// Close the actions menu after the drop\n\t\t\tthis.menuBreadcrumbProps.open = false\n\n\t\t\t// Remove all hovering classes\n\t\t\tconst crumbs = document.querySelectorAll(`.${crumbClass}`)\n\t\t\tfor (const crumb of crumbs) {\n\t\t\t\tcrumb.classList.remove(`${crumbClass}--hovered`)\n\t\t\t}\n\t\t\treturn this.preventDefault(e)\n\t\t},\n\n\t\t/**\n\t\t * Handles the drag over event\n\t\t *\n\t\t * @param {object} e The drag over event\n\t\t * @return {boolean}\n\t\t */\n\t\tdragOver(e) {\n\t\t\treturn this.preventDefault(e)\n\t\t},\n\n\t\t/**\n\t\t * Handles the drag enter event\n\t\t *\n\t\t * @param {object} e The drag over event\n\t\t * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n\t\t */\n\t\tdragEnter(e, disabled) {\n\t\t\t/**\n\t\t\t * Don't do anything if dropping is disabled.\n\t\t\t */\n\t\t\tif (disabled) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Get the correct element, in case we hover a child.\n\t\t\tif (e.target.closest) {\n\t\t\t\tconst target = e.target.closest(`.${crumbClass}`)\n\t\t\t\tif (target.classList && target.classList.contains(crumbClass)) {\n\t\t\t\t\tconst crumbs = document.querySelectorAll(`.${crumbClass}`)\n\t\t\t\t\tfor (const crumb of crumbs) {\n\t\t\t\t\t\tcrumb.classList.remove(`${crumbClass}--hovered`)\n\t\t\t\t\t}\n\t\t\t\t\ttarget.classList.add(`${crumbClass}--hovered`)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handles the drag leave event\n\t\t *\n\t\t * @param {object} e The drag leave event\n\t\t * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n\t\t */\n\t\tdragLeave(e, disabled) {\n\t\t\t/**\n\t\t\t * Don't do anything if dropping is disabled.\n\t\t\t */\n\t\t\tif (disabled) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Don't do anything if we leave towards a child element.\n\t\t\tif (e.target.contains(e.relatedTarget)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Get the correct element, in case we leave directly from a child.\n\t\t\tif (e.target.closest) {\n\t\t\t\tconst target = e.target.closest(`.${crumbClass}`)\n\t\t\t\tif (target.contains(e.relatedTarget)) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (target.classList && target.classList.contains(crumbClass)) {\n\t\t\t\t\ttarget.classList.remove(`${crumbClass}--hovered`)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Check for each crumb if we have to hide it and\n\t\t * add it to the array of all crumbs.\n\t\t */\n\t\thideCrumbs() {\n\t\t\tthis.breadcrumbsRefs.forEach((crumb, i) => {\n\t\t\t\tif (crumb?.$el?.classList) {\n\t\t\t\t\tif (this.hiddenIndices.includes(i)) {\n\t\t\t\t\t\tcrumb.$el.classList.add(`${crumbClass}--hidden`)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcrumb.$el.classList.remove(`${crumbClass}--hidden`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tisBreadcrumb(vnode) {\n\t\t\treturn vnode?.type?.name === 'NcBreadcrumb'\n\t\t},\n\t},\n\n\t/**\n\t * The render function to display the component\n\t *\n\t * @return {object|undefined} The created VNode\n\t */\n\trender() {\n\t\t// Get the breadcrumbs\n\t\tlet breadcrumbs = []\n\t\t// We have to iterate over all slot elements\n\t\tthis.$slots.default?.().forEach((vnode) => {\n\t\t\tif (this.isBreadcrumb(vnode)) {\n\t\t\t\tbreadcrumbs.push(vnode)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// If we encounter a Fragment, we have to check its children too\n\t\t\tif (vnode?.type === Fragment) {\n\t\t\t\tvnode?.children?.forEach?.((child) => {\n\t\t\t\t\tif (this.isBreadcrumb(child)) {\n\t\t\t\t\t\tbreadcrumbs.push(child)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\t// Check that we have at least one breadcrumb\n\t\tif (breadcrumbs.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\t// Add the root icon to the first breadcrumb\n\t\tbreadcrumbs[0] = cloneVNode(breadcrumbs[0], {\n\t\t\ticon: this.rootIcon,\n\t\t\tref: 'breadcrumbs',\n\t\t})\n\n\t\t/**\n\t\t * Use a proxy object to store breadcrumbs refs\n\t\t * and don't write to this.breadcrumbsRefs directly\n\t\t * to not trigger a myriad of re-renders.\n\t\t */\n\t\tconst breadcrumbsRefs = []\n\t\t// Add the breadcrumbs to the array of the created VNodes, check if hiding them is necessary.\n\t\tbreadcrumbs = breadcrumbs.map((crumb, index) => cloneVNode(crumb, {\n\t\t\tref: (crumb) => {\n\t\t\t\tbreadcrumbsRefs[index] = crumb\n\t\t\t},\n\t\t}))\n\n\t\t// The array of all created VNodes\n\t\tconst crumbs = [...breadcrumbs]\n\t\tif (this.hiddenIndices.length) {\n\t\t\t/**\n\t\t\t * We show the first half of the breadcrumbs before the Actions dropdown menu\n\t\t\t * which shows the hidden breadcrumbs.\n\t\t\t */\n\t\t\tcrumbs.splice(\n\t\t\t\tMath.round(breadcrumbs.length / 2), 0,\n\n\t\t\t\t// The Actions menu\n\t\t\t\t// Use a breadcrumb component for the hidden breadcrumbs\n\t\t\t\t// eslint-disable-line @stylistic/function-call-argument-newline\n\t\t\t\th(NcBreadcrumb, {\n\t\t\t\t\tclass: 'dropdown',\n\t\t\t\t\t...this.menuBreadcrumbProps,\n\t\t\t\t\t// Hide the dropdown menu from screen-readers,\n\t\t\t\t\t// since the crumbs in the menu are still in the list.\n\t\t\t\t\t'aria-hidden': true,\n\t\t\t\t\t// Add a ref to the Actions menu\n\t\t\t\t\tref: 'actionsBreadcrumb',\n\t\t\t\t\tkey: 'actions-breadcrumb-1',\n\t\t\t\t\t// Add handlers so the Actions menu opens on hover\n\t\t\t\t\tonDragenter: () => { this.menuBreadcrumbProps.open = true },\n\t\t\t\t\tonDragleave: this.closeActions,\n\t\t\t\t\t// Make sure we keep the same open state\n\t\t\t\t\t// as the Actions component\n\t\t\t\t\t'onUpdate:open': (open) => {\n\t\t\t\t\t\tthis.menuBreadcrumbProps.open = open\n\t\t\t\t\t},\n\t\t\t\t// Add all hidden breadcrumbs as ActionRouter or ActionLink\n\t\t\t\t}, {\n\t\t\t\t\tdefault: () => this.hiddenIndices.filter((index) => index <= breadcrumbs.length - 1).map((index) => {\n\t\t\t\t\t\tconst crumb = breadcrumbs[index]\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t// Get the parameters from the breadcrumb component props\n\t\t\t\t\t\t\tto,\n\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\tdisableDrop,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t// Props to forward\n\t\t\t\t\t\t\t...propsToForward\n\t\t\t\t\t\t} = crumb.props\n\t\t\t\t\t\t// Do not forward the ref, otherwise it will be null if the hidden crumb gets destroyed\n\t\t\t\t\t\tdelete propsToForward.ref\n\n\t\t\t\t\t\t// Decide whether to show the breadcrumbs as ActionButton, ActionRouter or ActionLink\n\t\t\t\t\t\tlet element = NcActionButton\n\t\t\t\t\t\tlet path = ''\n\t\t\t\t\t\tif (href) {\n\t\t\t\t\t\t\telement = NcActionLink\n\t\t\t\t\t\t\tpath = href\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (to) {\n\t\t\t\t\t\t\telement = NcActionRouter\n\t\t\t\t\t\t\tpath = to\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst folderIcon = h(IconFolder, {\n\t\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\t})\n\t\t\t\t\t\treturn h(element, {\n\t\t\t\t\t\t\t...propsToForward,\n\t\t\t\t\t\t\tclass: crumbClass,\n\t\t\t\t\t\t\thref: href || null,\n\t\t\t\t\t\t\tto: to || null,\n\t\t\t\t\t\t\t// Prevent the breadcrumbs from being draggable\n\t\t\t\t\t\t\tdraggable: false,\n\t\t\t\t\t\t\t// Add the drag and drop handlers\n\t\t\t\t\t\t\tonDragstart: this.dragStart,\n\t\t\t\t\t\t\tonDrop: ($event) => this.dropped($event, path, disableDrop),\n\t\t\t\t\t\t\tonDragover: this.dragOver,\n\t\t\t\t\t\t\tonDragenter: ($event) => this.dragEnter($event, disableDrop),\n\t\t\t\t\t\t\tonDragleave: ($event) => this.dragLeave($event, disableDrop),\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tdefault: () => name,\n\t\t\t\t\t\t\ticon: () => folderIcon,\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\n\t\tconst wrapper = [h('nav', { 'aria-label': this.ariaLabel }, [h('ul', { class: 'breadcrumb__crumbs' }, [crumbs])])]\n\t\t// Append the actions slot if it is populated\n\t\tif (isSlotPopulated(this.$slots.actions?.())) {\n\t\t\twrapper.push(h('div', { class: 'breadcrumb__actions', ref: 'breadcrumb__actions' }, this.$slots.actions?.()))\n\t\t}\n\n\t\tthis.breadcrumbsRefs = breadcrumbsRefs\n\n\t\treturn h('div', { class: ['breadcrumb', { 'breadcrumb--collapsed': (this.hiddenIndices.length === breadcrumbs.length - 2) }], ref: 'container' }, wrapper)\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.breadcrumb {\n\twidth: 100%;\n\tflex-grow: 1;\n\tdisplay: inline-flex;\n\talign-items: center;\n\n\t&--collapsed :deep(.vue-crumb:last-child) {\n\t\tmin-width: 100px;\n\t}\n\n\tnav {\n\t\tflex-shrink: 1;\n\t\tmin-width: 0;\n\t}\n\n\t& #{&}__crumbs {\n\t\tmax-width: 100%;\n\t}\n\n\t& #{&}__crumbs,\n\t& #{&}__actions {\n\t\tdisplay: inline-flex;\n\t}\n}\n</style>\n"],"names":["_sfc_main","_createElementBlock","_mergeProps","_createElementVNode","_openBlock","crumb"],"mappings":";;;;;;;;;AAoBA,MAAKA,cAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO,CAAC,OAAO;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA;IAER,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;;;AAxBY,MAAA,aAAA,EAAA,GAAE,gGAA+F;;;sBAX3GC,mBAeO,QAfPC,WAAc,KAAA,QAAM;AAAA,IACb,eAAa,OAAA,QAAK,OAAA;AAAA,IAClB,cAAY,OAAA;AAAA,IACb,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,YAAE,KAAA,MAAK,SAAU,MAAM;AAAA;kBACjCD,mBAQM,OAAA;AAAA,MARA,MAAM,OAAA;AAAA,MACP,OAAM;AAAA,MACL,OAAO,OAAA;AAAA,MACP,QAAQ,OAAA;AAAA,MACT,SAAQ;AAAA;MACXE,mBAEO,QAFP,YAEO;AAAA,QADQ,OAAA,SAAbC,UAAA,GAAAH,mBAAuC,qCAAhB,OAAA,KAAK,GAAA,CAAA;;;;;;ACwHpC,MAAM,aAAa;AAEnB,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;EAGD,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,WAAW;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO,CAAC,SAAS;AAAA,EACjB,OAAO;AACN,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAKN,eAAe,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMf,qBAAqB;AAAA;AAAA,QAEpB,MAAM;AAAA,QACN,WAAW;AAAA;AAAA,QAEX,aAAa;AAAA;AAAA,QAEb,MAAM;AAAA;MAGP,iBAAiB,CAAA;AAAA,IAClB;AAAA,EACD;AAAA,EAEA,UAAU;AAIT,WAAO,iBAAiB,UAAU,SAAS,MAAM;AAChD,WAAK,mBAAkB;AAAA,IACxB,GAAG,GAAG,CAAC;AACP,cAAU,sBAAsB,KAAK,aAAa;AAAA,EACnD;AAAA,EAEA,UAAU;AACT,SAAK,mBAAkB;AAAA,EACxB;AAAA,EAEA,UAAU;AAIT,SAAK,cAAa;AAIlB,SAAK,UAAU,MAAM;AACpB,WAAK,WAAU;AAAA,IAChB,CAAC;AAAA,EACF;AAAA,EAEA,gBAAgB;AACf,WAAO,oBAAoB,UAAU,KAAK,kBAAkB;AAC5D,gBAAY,sBAAsB,KAAK,aAAa;AAAA,EACrD;AAAA,EAEA,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR,aAAa,GAAG;AAEf,UAAI,KAAK,MAAM,kBAAkB,IAAI,SAAS,EAAE,aAAa,GAAG;AAC/D;AAAA,MACD;AACA,WAAK,oBAAoB,OAAO;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,gBAAgB;AACrB,YAAM,KAAK,UAAS;AACpB,WAAK,mBAAkB;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,qBAAqB;AAEpB,UAAI,CAAC,KAAK,MAAM,WAAW;AAC1B;AAAA,MACD;AAEA,YAAM,WAAW,KAAK,gBAAgB;AACtC,YAAM,gBAAgB,CAAA;AACtB,YAAM,iBAAiB,KAAK,MAAM,UAAU;AAC5C,UAAI,aAAa,KAAK,cAAa;AAEnC,UAAI,KAAK,MAAM,qBAAqB;AACnC,sBAAc,KAAK,MAAM,oBAAoB;AAAA,MAC9C;AACA,UAAI,WAAW,aAAa;AAE5B,kBAAa,WAAW,IAAK,KAAK;AAClC,UAAI,IAAI;AAER,YAAM,aAAa,KAAK,MAAM,WAAW,CAAC;AAE1C,aAAO,WAAW,KAAK,IAAI,WAAW,GAAG;AAExC,cAAM,eAAe,cAAe,IAAI,IAAK,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAK,WAAW,CAAE;AAE7F,oBAAY,KAAK,SAAS,KAAK,gBAAgB,YAAY,GAAG,KAAK,iBAAkB,KAAK,gBAAgB,SAAS,CAAE;AACrH,sBAAc,KAAK,YAAY;AAC/B;AAAA,MACD;AAGA,UAAI,CAAC,KAAK,YAAY,KAAK,eAAe,cAAc,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,GAAG;AAC/E,aAAK,gBAAgB;AAAA,MACtB;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,YAAY,GAAG,GAAG;AACjB,UAAI,EAAE,WAAW,EAAE,QAAQ;AAC1B,eAAO;AAAA,MACR,WAAW,MAAM,GAAG;AACnB,eAAO;AAAA,MACR,WAAW,MAAM,QAAQ,MAAM,MAAM;AACpC,eAAO;AAAA,MACR;AAEA,eAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG;AAClC,YAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AAClB,iBAAO;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAgB;AACf,aAAO,KAAK,gBAAgB,OAAO,CAAC,OAAO,OAAO,UAAU,QAAQ,KAAK,SAAS,MAAM,KAAK,UAAW,KAAK,gBAAgB,SAAS,CAAE,GAAG,CAAC;AAAA,IAC7I;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,SAAS,IAAI,QAAQ;AACpB,UAAI,CAAC,IAAI,WAAW;AACnB,eAAO;AAAA,MACR;AAEA,YAAM,OAAO,GAAG,UAAU,SAAS,GAAG,UAAU,UAAU;AAC1D,SAAG,MAAM,WAAW;AAGpB,UAAI,QAAQ;AACX,WAAG,MAAM,WAAW;AAAA,MACrB;AACA,SAAG,UAAU,OAAO,GAAG,UAAU,UAAU;AAC3C,YAAM,IAAI,GAAG;AACb,UAAI,MAAM;AACT,WAAG,UAAU,IAAI,GAAG,UAAU,UAAU;AAAA,MACzC;AACA,SAAG,MAAM,WAAW;AACpB,SAAG,MAAM,WAAW;AACpB,aAAO;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAe,GAAG;AACjB,UAAI,EAAE,gBAAgB;AACrB,UAAE,eAAc;AAAA,MACjB;AACA,aAAO;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,UAAU,GAAG;AACZ,aAAO,KAAK,eAAe,CAAC;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,QAAQ,GAAG,MAAM,UAAU;AAI1B,UAAI,CAAC,UAAU;AAOd,aAAK,MAAM,WAAW,GAAG,IAAI;AAAA,MAC9B;AAEA,WAAK,oBAAoB,OAAO;AAGhC,YAAM,SAAS,SAAS,iBAAiB,IAAI,UAAU,EAAE;AACzD,iBAAW,SAAS,QAAQ;AAC3B,cAAM,UAAU,OAAO,GAAG,UAAU,WAAW;AAAA,MAChD;AACA,aAAO,KAAK,eAAe,CAAC;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,SAAS,GAAG;AACX,aAAO,KAAK,eAAe,CAAC;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAU,GAAG,UAAU;AAItB,UAAI,UAAU;AACb;AAAA,MACD;AAEA,UAAI,EAAE,OAAO,SAAS;AACrB,cAAM,SAAS,EAAE,OAAO,QAAQ,IAAI,UAAU,EAAE;AAChD,YAAI,OAAO,aAAa,OAAO,UAAU,SAAS,UAAU,GAAG;AAC9D,gBAAM,SAAS,SAAS,iBAAiB,IAAI,UAAU,EAAE;AACzD,qBAAW,SAAS,QAAQ;AAC3B,kBAAM,UAAU,OAAO,GAAG,UAAU,WAAW;AAAA,UAChD;AACA,iBAAO,UAAU,IAAI,GAAG,UAAU,WAAW;AAAA,QAC9C;AAAA,MACD;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAU,GAAG,UAAU;AAItB,UAAI,UAAU;AACb;AAAA,MACD;AAEA,UAAI,EAAE,OAAO,SAAS,EAAE,aAAa,GAAG;AACvC;AAAA,MACD;AAEA,UAAI,EAAE,OAAO,SAAS;AACrB,cAAM,SAAS,EAAE,OAAO,QAAQ,IAAI,UAAU,EAAE;AAChD,YAAI,OAAO,SAAS,EAAE,aAAa,GAAG;AACrC;AAAA,QACD;AACA,YAAI,OAAO,aAAa,OAAO,UAAU,SAAS,UAAU,GAAG;AAC9D,iBAAO,UAAU,OAAO,GAAG,UAAU,WAAW;AAAA,QACjD;AAAA,MACD;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAa;AACZ,WAAK,gBAAgB,QAAQ,CAAC,OAAO,MAAM;AAC1C,YAAI,OAAO,KAAK,WAAW;AAC1B,cAAI,KAAK,cAAc,SAAS,CAAC,GAAG;AACnC,kBAAM,IAAI,UAAU,IAAI,GAAG,UAAU,UAAU;AAAA,UAChD,OAAO;AACN,kBAAM,IAAI,UAAU,OAAO,GAAG,UAAU,UAAU;AAAA,UACnD;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF;AAAA,IAEA,aAAa,OAAO;AACnB,aAAO,OAAO,MAAM,SAAS;AAAA,IAC9B;AAAA;;;;;;EAQD,SAAS;AAER,QAAI,cAAc,CAAA;AAElB,SAAK,OAAO,UAAO,EAAK,QAAQ,CAAC,UAAU;AAC1C,UAAI,KAAK,aAAa,KAAK,GAAG;AAC7B,oBAAY,KAAK,KAAK;AACtB;AAAA,MACD;AAEA,UAAI,OAAO,SAAS,UAAU;AAC7B,eAAO,UAAU,UAAU,CAAC,UAAU;AACrC,cAAI,KAAK,aAAa,KAAK,GAAG;AAC7B,wBAAY,KAAK,KAAK;AAAA,UACvB;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD,CAAC;AAGD,QAAI,YAAY,WAAW,GAAG;AAC7B;AAAA,IACD;AAGA,gBAAY,CAAC,IAAI,WAAW,YAAY,CAAC,GAAG;AAAA,MAC3C,MAAM,KAAK;AAAA,MACX,KAAK;AAAA,KACL;AAOD,UAAM,kBAAkB,CAAA;AAExB,kBAAc,YAAY,IAAI,CAAC,OAAO,UAAU,WAAW,OAAO;AAAA,MACjE,KAAK,CAACI,WAAU;AACf,wBAAgB,KAAK,IAAIA;AAAA,MAC1B;AAAA,IACD,CAAC,CAAC;AAGF,UAAM,SAAS,CAAC,GAAG,WAAW;AAC9B,QAAI,KAAK,cAAc,QAAQ;AAK9B,aAAO;AAAA,QACN,KAAK,MAAM,YAAY,SAAS,CAAC;AAAA,QAAG;AAAA;AAAA;AAAA;AAAA,QAKpC,EAAE,cAAc;AAAA,UACf,OAAO;AAAA,UACP,GAAG,KAAK;AAAA;AAAA;AAAA,UAGR,eAAe;AAAA;AAAA,UAEf,KAAK;AAAA,UACL,KAAK;AAAA;AAAA,UAEL,aAAa,MAAM;AAAE,iBAAK,oBAAoB,OAAO;AAAA,UAAK;AAAA,UAC1D,aAAa,KAAK;AAAA;AAAA;AAAA,UAGlB,iBAAiB,CAAC,SAAS;AAC1B,iBAAK,oBAAoB,OAAO;AAAA,UACjC;AAAA;AAAA,QAED,GAAG;AAAA,UACF,SAAS,MAAM,KAAK,cAAc,OAAO,CAAC,UAAU,SAAS,YAAY,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU;AACnG,kBAAM,QAAQ,YAAY,KAAK;AAC/B,kBAAM;AAAA;AAAA,cAEL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,cAEA,GAAG;AAAA,gBACA,MAAM;AAEV,mBAAO,eAAe;AAGtB,gBAAI,UAAU;AACd,gBAAI,OAAO;AACX,gBAAI,MAAM;AACT,wBAAU;AACV,qBAAO;AAAA,YACR;AACA,gBAAI,IAAI;AACP,wBAAU;AACV,qBAAO;AAAA,YACR;AACA,kBAAM,aAAa,EAAE,YAAY;AAAA,cAChC,MAAM;AAAA,aACN;AACD,mBAAO,EAAE,SAAS;AAAA,cACjB,GAAG;AAAA,cACH,OAAO;AAAA,cACP,MAAM,QAAQ;AAAA,cACd,IAAI,MAAM;AAAA;AAAA,cAEV,WAAW;AAAA;AAAA,cAEX,aAAa,KAAK;AAAA,cAClB,QAAQ,CAAC,WAAW,KAAK,QAAQ,QAAQ,MAAM,WAAW;AAAA,cAC1D,YAAY,KAAK;AAAA,cACjB,aAAa,CAAC,WAAW,KAAK,UAAU,QAAQ,WAAW;AAAA,cAC3D,aAAa,CAAC,WAAW,KAAK,UAAU,QAAQ,WAAW;AAAA,YAC5D,GAAG;AAAA,cACF,SAAS,MAAM;AAAA,cACf,MAAM,MAAM;AAAA,aACZ;AAAA,UACF,CAAC;AAAA,QACF,CAAC;AAAA,MACF;AAAA,IACD;AAEA,UAAM,UAAU,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,UAAQ,GAAK,CAAC,EAAE,MAAM,EAAE,OAAO,qBAAmB,GAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEjH,QAAI,gBAAgB,KAAK,OAAO,UAAO,CAAI,GAAG;AAC7C,cAAQ,KAAK,EAAE,OAAO,EAAE,OAAO,uBAAuB,KAAK,sBAAoB,GAAK,KAAK,OAAO,UAAO,CAAI,CAAC;AAAA,IAC7G;AAEA,SAAK,kBAAkB;AAEvB,WAAO,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,yBAA0B,KAAK,cAAc,WAAW,YAAY,SAAS,EAAC,CAAG,GAAG,KAAK,YAAU,GAAK,OAAO;AAAA,EAC1J;AACD;;","x_google_ignoreList":[0]}
@@ -1,6 +1,7 @@
1
- import '../assets/NcButton-BWD8LdCm.css';
2
- import { defineComponent, inject, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString } from "vue";
1
+ import '../assets/NcButton-BjcEkfk2.css';
2
+ import { defineComponent, inject, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString } from "vue";
3
3
  import { routerKey } from "vue-router";
4
+ import { i as isLegacy } from "./legacy-DcjXBL_t.mjs";
4
5
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
5
6
  const _hoisted_1 = { class: "button-vue__wrapper" };
6
7
  const _hoisted_2 = { class: "button-vue__icon" };
@@ -89,7 +90,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
90
  "button-vue--tertiary": isTertiaryVariant.value,
90
91
  "button-vue--wide": _ctx.wide,
91
92
  [`button-vue--${flexAlignment.value}`]: flexAlignment.value !== "center",
92
- "button-vue--reverse": isReverseAligned.value
93
+ "button-vue--reverse": isReverseAligned.value,
94
+ "button-vue--legacy": unref(isLegacy)
93
95
  }
94
96
  ]],
95
97
  "aria-label": _ctx.ariaLabel
@@ -111,8 +113,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
111
113
  };
112
114
  }
113
115
  });
114
- const NcButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e2fd60a6"]]);
116
+ const NcButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1057e2a8"]]);
115
117
  export {
116
118
  NcButton as N
117
119
  };
118
- //# sourceMappingURL=NcButton-BMnvzy1A.mjs.map
120
+ //# sourceMappingURL=NcButton-DkC5k3Lb.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcButton-DkC5k3Lb.mjs","sources":["../../src/components/NcButton/NcButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\nGeneral purpose button component. See props for different options.\n[Use material design icons only for icons](https://www.npmjs.com/package/vue-material-design-icons) and remember to set their size to 20.\n\n### Usage\n### Custom icon slot\nTo be used with `vue-material-design-icons` only. For icon classes use the `default-icon` slot.\nIt can be used with one or multiple actions.\n```\n<template>\n<div class=\"wrapper\">\n\t<!-- Style selector -->\n\t<div class=\"grid\">\n\t\t<NcCheckboxRadioSwitch v-model=\"style\" value=\"text\" name=\"style\" type=\"radio\">Text only</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"style\" value=\"icon\" name=\"style\" type=\"radio\">Icon only</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"style\" value=\"icontext\" name=\"style\" type=\"radio\">Icon and text</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"disabled\" type=\"checkbox\">Disabled</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"size\" value=\"small\" name=\"size\" type=\"radio\">Small</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"size\" value=\"normal\" name=\"size\" type=\"radio\">Normal (default)</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"size\" value=\"large\" name=\"size\" type=\"radio\">Large</NcCheckboxRadioSwitch>\n\t</div>\n\n\t<h5>Standard buttons</h5>\n\t<div class=\"grid\">\n\t\t<p>Tertiary, no background</p>\n\t\t<p>Tertiary</p>\n\t\t<p>Secondary</p>\n\t\t<p>Primary</p>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled\n\t\t\t:size\n\t\t\t:text\n\t\t\tvariant=\"tertiary-no-background\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled\n\t\t\t:size\n\t\t\t:text\n\t\t\tvariant=\"tertiary\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled\n\t\t\t:size\n\t\t\t:text>\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled\n\t\t\t:size\n\t\t\t:text\n\t\t\tvariant=\"primary\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</div>\n\n\t<!-- Wide button -->\n\t<h5>Wide button</h5>\n\t<NcButton\n\t\t:disabled=\"disabled\"\n\t\t:size=\"size\"\n\t\t:text=\"text\"\n\t\t:wide=\"true\"\n\t\ttext=\"Example text\">\n\t\t<template #icon>\n\t\t\t<Video\n\t\t\t\t:size=\"20\" />\n\t\t</template>\n\t</NcButton>\n\n\t<!-- Special buttons -->\n\t<h5>Special buttons</h5>\n\t<div class=\"grid\">\n\t\t<p>Success</p>\n\t\t<p>Warning</p>\n\t\t<p>Error</p>\n\t\t<p> - </p>\n\t\t<NcButton\n\t\t\t:disabled\n\t\t\t:size\n\t\t\ttext=\"Example text\"\n\t\t\tvariant=\"success\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\t:disabled\n\t\t\t:size\n\t\t\ttext=\"Example text\"\n\t\t\tvariant=\"warning\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\t:disabled\n\t\t\t:size\n\t\t\ttext=\"Example text\"\n\t\t\tvariant=\"error\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<p> - </p>\n\t</div>\n</div>\n\n</template>\n<script>\nimport Video from 'vue-material-design-icons/Video.vue'\n\nexport default {\n\tcomponents: {\n\t\tVideo,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttoggled: false,\n\t\t\tdisabled: false,\n\t\t\tsize: 'normal',\n\t\t\tstyle: 'icontext',\n\t\t}\n\t},\n\tcomputed: {\n\t\ttext() {\n\t\t\tif (this.style.includes('text')) {\n\t\t\t\treturn 'Example text'\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.wrapper {\n\tpadding: 0 12px;\n}\n\n.grid {\n\tdisplay: grid;\n\tgap: 12px;\n\tgrid-template-columns: 1fr 1fr 1fr 1fr;\n\tgrid-template-rows: repeat(auto-fill, auto);\n\tposition: relative;\n\tmargin: 12px 0;\n}\n\nh5 {\n\tfont-weight: bold;\n\tmargin: 40px 0 20px 0;\n}\n\np {\n\ttext-align: center;\n\tmargin: 4px 0 12px 0;\n\tcolor: var(--color-text-maxcontrast)\n}\n\nbutton {\n\tmargin: auto;\n}\n</style>\n```\n\n### Alignment\nSometimes it is required to change the icon alignment on the button, like for switching between pages as in following example:\n\n```vue\n<template>\n\t<div style=\"display: flex; flex-direction: column; gap: 12px;\">\n\t\t<NcButton text=\"center (default)\" variant=\"secondary\" wide>\n\t\t\t<template #icon>\n\t\t\t\t<IconLeft :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcButton alignment=\"center-reverse\" text=\"center-reverse\" variant=\"secondary\" wide>\n\t\t\t<template #icon>\n\t\t\t\t<IconRight :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<div style=\"display: flex; gap: 12px;\">\n\t\t\t<div style=\"display: flex; flex-direction: column; gap: 12px; flex: 1\">\n\t\t\t\t<NcButton alignment=\"start\" text=\"start\" variant=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconLeft :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton alignment=\"start-reverse\" text=\"start-reverse\" variant=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconRight :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<div style=\"display: flex; flex-direction: column; gap: 12px; flex: 1\">\n\t\t\t\t<NcButton alignment=\"end\" text=\"end\" variant=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconLeft :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton alignment=\"end-reverse\" text=\"end-reverse\" variant=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconRight :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport IconLeft from 'vue-material-design-icons/ArrowLeft.vue'\nimport IconRight from 'vue-material-design-icons/ArrowRight.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconLeft,\n\t\tIconRight,\n\t},\n}\n</script>\n```\n\n### Pressed state\n\nIt is possible to make the button stateful by adding a pressed state, e.g. if you like to create a favorite button.\nThe button will have the required `aria` attribute for accessibility and visual style (`primary` when pressed, and the configured variant otherwise).\n\nDo not change `text` or `aria-label` of the pressed/unpressed button. See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-pressed\n\n```vue\n<template>\n\t<div>\n\t\t<div style=\"display: flex; gap: 12px;\">\n\t\t\t<NcButton v-model:pressed=\"isFavorite\" aria-label=\"Favorite\" variant=\"tertiary-no-background\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconStar v-if=\"isFavorite\" :size=\"20\" />\n\t\t\t\t\t<IconStarOutline v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<NcButton v-model:pressed=\"isFavorite\" text=\"Favorite\" variant=\"tertiary\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconStar v-if=\"isFavorite\" :size=\"20\" />\n\t\t\t\t\t<IconStarOutline v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<NcButton v-model:pressed=\"isFavorite\" aria-label=\"Favorite\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconStar v-if=\"isFavorite\" :size=\"20\" />\n\t\t\t\t\t<IconStarOutline v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<div>\n\t\t\tIt is {{ isFavorite ? 'a' : 'not a' }} favorite.\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport IconStar from 'vue-material-design-icons/Star.vue'\nimport IconStarOutline from 'vue-material-design-icons/StarOutline.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconStar,\n\t\tIconStarOutline,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tisFavorite: false,\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleFavorite() {\n\t\t\tthis.isFavorite = !this.isFavorite\n\t\t},\n\t},\n}\n</script>\n```\n\n### Usage example: Custom content\nSometimes custom content, meaning more than text and icon, is required.\nFor this the `default`-slot can be used.\n\n**Important**: Never include interactive elements inside the button,\nthis results in invalid HTML and is not accessible!\n\n```vue\n<template>\n\t<NcButton>\n\t\tSome <del>formatted</del> content\n\t</NcButton>\n</template>\n```\n\n### Usage example: Sorting table columns\nThe standard way to implement sortable table column headers should be like this:\n\n```vue\n<template>\n\t<table>\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th :aria-sorted=\"sortedName\" class=\"row-name\">\n\t\t\t\t\t<NcButton alignment=\"start-reverse\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t@click=\"sortName\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<IconDown v-if=\"sortedName === 'ascending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t\t<IconUp v-else-if=\"sortedName === 'descending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<span class=\"table-header\">Name</span>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</th>\n\t\t\t\t<th :aria-sorted=\"sortedSize\" class=\"row-size\">\n\t\t\t\t\t<NcButton alignment=\"end\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t@click=\"sortSize\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<IconDown v-if=\"sortedSize === 'ascending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t\t<IconUp v-else-if=\"sortedSize === 'descending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<span class=\"table-header\">Size</span>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<td class=\"row-name\">Lorem ipsum</td>\n\t\t\t\t<td class=\"row-size\">8 MiB</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</template>\n<script>\nimport IconUp from 'vue-material-design-icons/MenuUp.vue'\nimport IconDown from 'vue-material-design-icons/MenuDown.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconUp,\n\t\tIconDown,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsortedName: null,\n\t\t\tsortedSize: null,\n\t\t}\n\t},\n\tmethods: {\n\t\tsortName() {\n\t\t\tif (this.sortedName === 'ascending') {\n\t\t\t\tthis.sortedName = 'descending'\n\t\t\t} else if (this.sortedName === 'descending') {\n\t\t\t\tthis.sortedName = null\n\t\t\t} else {\n\t\t\t\tthis.sortedName = 'ascending'\n\t\t\t}\n\t\t},\n\t\tsortSize() {\n\t\t\tif (this.sortedSize === 'ascending') {\n\t\t\t\tthis.sortedSize = 'descending'\n\t\t\t} else if (this.sortedSize === 'descending') {\n\t\t\t\tthis.sortedSize = null\n\t\t\t} else {\n\t\t\t\tthis.sortedSize = 'ascending'\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style>\ntable {\n\ttable-layout: fixed;\n\twidth: 300px;\n}\n\ntd.row-name {\n\tpadding-inline-start: 16px;\n}\n\ntd.row-size {\n\ttext-align: end;\n\tpadding-inline-end: 16px;\n}\n\n.table-header {\n\tfont-weight: normal;\n\tcolor: var(--color-text-maxcontrast);\n}\n\n.sort-icon {\n\tcolor: var(--color-text-maxcontrast);\n\tposition: relative;\n\tinset-inline: -10px;\n}\n\n.row-size .sort-icon {\n\tinset-inline: 10px;\n}\n</style>\n```\n</docs>\n\n<script setup lang=\"ts\">\nimport type { Slot } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\n\nimport { computed, inject } from 'vue'\nimport { routerKey } from 'vue-router'\nimport { isLegacy } from '../../utils/legacy.ts'\n\nexport type ButtonAlignment = 'start'\n\t| 'start-reverse'\n\t| 'center'\n\t| 'center-reverse'\n\t| 'end'\n\t| 'end-reverse'\n\nexport type ButtonSize = 'small'\n\t| 'normal'\n\t| 'large'\n\nexport type ButtonType = 'submit'\n\t| 'reset'\n\t| 'button'\n\nexport type ButtonVariant = 'primary'\n\t| 'secondary'\n\t| 'tertiary'\n\t| 'tertiary-no-background'\n\t| 'tertiary-on-primary'\n\t| 'error'\n\t// Design-wise not recommended for new code\n\t| 'warning'\n\t| 'success'\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Set the text and icon alignment\n\t *\n\t * @default 'center'\n\t */\n\talignment?: ButtonAlignment\n\n\t/**\n\t * Always try to provide an aria-label to your button.\n\t *\n\t * Make it more specific than the button's name by provide some more context.\n\t * E.g. if the name of the button is \"send\" in the Mail app,\n\t * the aria label could be \"Send email\".\n\t */\n\tariaLabel?: string\n\n\t/**\n\t * Toggles the disabled state of the button on and off.\n\t *\n\t * @default false\n\t */\n\tdisabled?: boolean\n\n\t/**\n\t * When `href` is set this will make the browser try to download the target.\n\t * If a string is passed the browser will use it as the filename.\n\t *\n\t * Note that the browser might adjust it for allowed characters (e.g. '/' or '\\').\n\t * Also this only works with same-origin URLs and `blob:` or `data:` schemas.\n\t * Moreover a `Content-Disposition` header set by the server will override the filename.\n\t */\n\tdownload?: string | true\n\n\t/**\n\t * Providing the href attribute turns the button component into an `a` element.\n\t */\n\thref?: string\n\n\t/**\n\t * The pressed state of the button if it has a checked state.\n\t * This will add the `aria-pressed` attribute and for the button to have the primary style in checked state.\n\t *\n\t * Note: Pressed state is not supported for links.\n\t */\n\tpressed?: boolean | undefined\n\n\t/**\n\t * Specify the button size.\n\t *\n\t * @default 'normal'\n\t */\n\tsize?: ButtonSize\n\n\t/**\n\t * Target for the `a` element if `href` is set.\n\t *\n\t * @default '_self'\n\t */\n\ttarget?: string\n\n\t/**\n\t * The main button text.\n\t * This can be overwritten by using the *default* slot.\n\t *\n\t * @since 9.0.0\n\t */\n\ttext?: string\n\n\t/**\n\t * Providing the to attribute turns the button component into a `router-link` element.\n\t *\n\t * Note: This takes precedence over the href attribute.\n\t */\n\tto?: RouteLocationRaw\n\n\t/**\n\t * Specifies the button native type\n\t * If left empty, the default \"button\" type will be used.\n\t *\n\t * @default 'button'\n\t */\n\ttype?: ButtonType\n\n\t/**\n\t * Specifies the button variant.\n\t * If left empty, the default button style will be applied.\n\t *\n\t * @default 'secondary'\n\t */\n\tvariant?: ButtonVariant\n\n\t/**\n\t * Specifies whether the button should span all the available width.\n\t * By default, buttons span the whole width of the container.\n\t *\n\t * @default false\n\t */\n\twide?: boolean\n}>(), {\n\tariaLabel: undefined,\n\talignment: 'center',\n\tdownload: undefined,\n\thref: undefined,\n\tpressed: undefined,\n\tsize: 'normal',\n\ttarget: '_self',\n\ttext: undefined,\n\tto: undefined,\n\ttype: 'button',\n\tvariant: 'secondary',\n})\n\nconst emit = defineEmits<{\n\t/**\n\t * Emitted when the button was clicked.\n\t */\n\tclick: [e: MouseEvent]\n\n\t/**\n\t * Update the current pressed state of the button (if the `pressed` property was configured).\n\t * If the button is a toggle button (`pressed` state is boolean),\n\t * then this will be emitted if the user toggled the state.\n\t */\n\t'update:pressed': [pressed: boolean]\n}>()\n\ndefineSlots<{\n\t/**\n\t * Custom button content.\n\t * This can be used for custom formatted content, ensure to not include any interactive elements.\n\t * For plain text it is preferred to use the `text` prop instead.\n\t */\n\tdefault?: Slot\n\n\t/**\n\t * Icon (optional) to show within the button\n\t */\n\ticon?: Slot\n}>()\n\nconst hasVueRouterContext = inject(routerKey, null) !== null\n\nconst tag = computed(() => {\n\t// TODO: should we warn if props.to is provided but there is no vue-router?\n\tif (hasVueRouterContext && props.to) {\n\t\t// Note: RouterLink is used as globally registered component (by name) and not imported intentionally\n\t\t// to use injected component from the app and not bundle it to the button\n\t\treturn 'RouterLink'\n\t} else if (props.href) {\n\t\treturn 'a'\n\t} else {\n\t\treturn 'button'\n\t}\n})\n\nconst hasPressedState = computed(() => tag.value === 'button' && typeof props.pressed === 'boolean')\n\nconst variantWithPressed = computed(() => {\n\t// Pressed toggle button forced to be primary\n\tif (props.pressed) {\n\t\treturn 'primary'\n\t}\n\t// Non-pressed toggle button may use passed variant but it cannot be primary\n\tif (props.pressed === false && props.variant === 'primary') {\n\t\treturn 'secondary'\n\t}\n\n\treturn props.variant\n})\nconst isTertiaryVariant = computed(() => variantWithPressed.value.startsWith('tertiary'))\n\nconst flexAlignment = computed(() => props.alignment.split('-')[0])\nconst isReverseAligned = computed(() => props.alignment.includes('-'))\n\nconst getNcPopoverTriggerAttrs = inject<() => Record<string, string | undefined>>('NcPopover:trigger:attrs', () => ({}), false)\nconst ncPopoverTriggerAttrs = computed(() => getNcPopoverTriggerAttrs())\n\nconst attrs = computed(() => {\n\tif (tag.value === 'RouterLink') {\n\t\treturn {\n\t\t\tto: props.to,\n\t\t\tactiveClass: 'active',\n\t\t}\n\t} else if (tag.value === 'a') {\n\t\treturn {\n\t\t\thref: props.href || '#',\n\t\t\ttarget: props.target,\n\t\t\trel: 'nofollow noreferrer noopener',\n\t\t\tdownload: props.download || undefined,\n\t\t}\n\t} else if (tag.value === 'button') {\n\t\treturn {\n\t\t\t...ncPopoverTriggerAttrs.value,\n\t\t\t'aria-pressed': props.pressed,\n\t\t\ttype: props.type,\n\t\t\tdisabled: props.disabled,\n\t\t}\n\t}\n\n\treturn undefined\n})\n\n/**\n * Handle the click on the link / button\n *\n * @param event - Mouse click event\n */\nfunction onClick(event: MouseEvent) {\n\tif (hasPressedState.value) {\n\t\temit('update:pressed', !props.pressed)\n\t}\n\temit('click', event)\n}\n</script>\n\n<template>\n\t<component\n\t\t:is=\"tag\"\n\t\tclass=\"button-vue\"\n\t\t:class=\"[\n\t\t\t`button-vue--size-${size}`,\n\t\t\t{\n\t\t\t\t[`button-vue--${variantWithPressed}`]: variantWithPressed,\n\t\t\t\t'button-vue--tertiary': isTertiaryVariant,\n\t\t\t\t'button-vue--wide': wide,\n\t\t\t\t[`button-vue--${flexAlignment}`]: flexAlignment !== 'center',\n\t\t\t\t'button-vue--reverse': isReverseAligned,\n\t\t\t\t'button-vue--legacy': isLegacy,\n\t\t\t},\n\t\t]\"\n\t\t:aria-label\n\t\tv-bind=\"attrs\"\n\t\t@click=\"onClick\">\n\t\t<span class=\"button-vue__wrapper\">\n\t\t\t<span class=\"button-vue__icon\">\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</span>\n\t\t\t<span class=\"button-vue__text\">\n\t\t\t\t<slot>\n\t\t\t\t\t{{ text }}\n\t\t\t\t</slot>\n\t\t\t</span>\n\t\t</span>\n\t</component>\n</template>\n\n<style lang=\"scss\" scoped>\n.button-vue {\n\t--button-size: var(--default-clickable-area);\n\t--button-inner-size: calc(var(--button-size) - 4px); // without the outer border\n\t--button-radius: var(--border-radius-element);\n\t--button-padding-default: calc(var(--default-grid-baseline) + var(--button-radius));\n\t--button-padding: var(--default-grid-baseline) var(--button-padding-default);\n\n\t// General styles\n\t// by default use secondary styling\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\tborder: 1px solid var(--color-primary-element-light-hover);\n\tborder-bottom-width: 2px;\n\tborder-radius: var(--button-radius);\n\tbox-sizing: border-box;\n\t// adjust position and size\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tpadding-block: 1px 0; // center the content as border is 1px top and 2px bottom\n\tpadding-inline: var(--button-padding);\n\tmin-height: var(--button-size);\n\tmin-width: var(--button-size);\n\t// display setup\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\tcursor: pointer;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\n\t// Setup different button sizes\n\t&--size-small {\n\t\t--button-size: var(--clickable-area-small);\n\t\t--button-radius: var(--border-radius-small); // make the border radius even smaller for small buttons\n\t}\n\n\t&--size-large {\n\t\t--button-size: var(--clickable-area-large);\n\t}\n\n\t// Cursor pointer on element and all children\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t// Disabled styles\n\t&:disabled {\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t\topacity: $opacity_disabled;\n\n\t\t// Reset the cursor\n\t\tcursor: default;\n\t\t* {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t// Hover styles when not disabled (for the default theming of 'secondary')\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&--end &__wrapper {\n\t\tjustify-content: end;\n\t}\n\n\t&--start &__wrapper {\n\t\tjustify-content: start;\n\t}\n\n\t&--reverse &__wrapper {\n\t\tflex-direction: row-reverse;\n\t}\n\n\t&--reverse {\n\t\t--button-padding: var(--button-padding-default) var(--default-grid-baseline);\n\t}\n\n\t&__icon {\n\t\t--default-clickable-area: var(--button-inner-size); // align icon size with inner button size\n\t\theight: var(--button-inner-size);\n\t\twidth: var(--button-inner-size);\n\t\tmin-height: var(--button-inner-size);\n\t\tmin-width: var(--button-inner-size);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\n\t\t&:empty {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// For small buttons we need to adjust the icon size\n\t&--size-small &__icon {\n\t\t:deep(> *) {\n\t\t\tmax-height: 16px;\n\t\t\tmax-width: 16px;\n\t\t}\n\t\t:deep(svg) {\n\t\t\theight: 16px;\n\t\t\twidth: 16px;\n\t\t}\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\n\t\t&:empty {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// Icon-only button\n\t&:has(#{&}__text:empty) {\n\t\t--button-padding: var(--button-radius);\n\t\tline-height: 1;\n\t\twidth: var(--button-size) !important;\n\t}\n\n\t// Text-only button\n\t&:has(#{&}__icon:empty) {\n\t\t--button-padding: var(--button-padding-default);\n\n\t\t.button-vue__text {\n\t\t\tpadding-inline: var(--default-grid-baseline);\n\t\t}\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius-element);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tborder-color: var(--color-primary-element-hover);\n\t\tcolor: var(--color-primary-element-text);\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--secondary {\n\t\tbackground-color: var(--color-primary-element-light);\n\t\tborder-color: var(--color-primary-element-light-hover);\n\t\tcolor: var(--color-primary-element-light-text);\n\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--tertiary {\n\t\tbackground-color: transparent;\n\t\tborder-color: transparent;\n\t\tcolor: var(--color-main-text);\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--tertiary-no-background {\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--success {\n\t\tborder-color: var(--color-success-hover);\n\t\tbackground-color: var(--color-success);\n\t\tcolor: var(--color-success-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--warning {\n\t\tborder-color: var(--color-warning-hover);\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: var(--color-warning-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--error {\n\t\tborder-color: var(--color-error-hover);\n\t\tbackground-color: var(--color-error);\n\t\tcolor: var(--color-error-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n\n\t// before Nextcloud 32\n\t&--legacy {\n\t\t--button-inner-size: var(--button-size);\n\t\t// no border\n\t\tborder: none;\n\t\tpadding-block: 0;\n\t}\n\t&--legacy#{&}--error,\n\t&--legacy#{&}--success,\n\t&--legacy#{&}--warning {\n\t\tcolor: white;\n\t}\n}\n\n</style>\n"],"names":["_createBlock","_resolveDynamicComponent","_mergeProps","size","wide","_unref","ariaLabel","_createElementVNode","_renderSlot","text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmdA,UAAM,QAAQ;AAiHd,UAAM,OAAO;AA4Bb,UAAM,sBAAsB,OAAO,WAAW,IAAI,MAAM;AAExD,UAAM,MAAM,SAAS,MAAM;AAE1B,UAAI,uBAAuB,MAAM,IAAI;AAGpC,eAAO;AAAA,MACR,WAAW,MAAM,MAAM;AACtB,eAAO;AAAA,MACR,OAAO;AACN,eAAO;AAAA,MACR;AAAA,IACD,CAAC;AAED,UAAM,kBAAkB,SAAS,MAAM,IAAI,UAAU,YAAY,OAAO,MAAM,YAAY,SAAS;AAEnG,UAAM,qBAAqB,SAAS,MAAM;AAEzC,UAAI,MAAM,SAAS;AAClB,eAAO;AAAA,MACR;AAEA,UAAI,MAAM,YAAY,SAAS,MAAM,YAAY,WAAW;AAC3D,eAAO;AAAA,MACR;AAEA,aAAO,MAAM;AAAA,IACd,CAAC;AACD,UAAM,oBAAoB,SAAS,MAAM,mBAAmB,MAAM,WAAW,UAAU,CAAC;AAExF,UAAM,gBAAgB,SAAS,MAAM,MAAM,UAAU,MAAM,GAAG,EAAE,CAAC,CAAC;AAClE,UAAM,mBAAmB,SAAS,MAAM,MAAM,UAAU,SAAS,GAAG,CAAC;AAErE,UAAM,2BAA2B,OAAiD,2BAA2B,OAAO,CAAA,IAAK,KAAK;AAC9H,UAAM,wBAAwB,SAAS,MAAM,0BAA0B;AAEvE,UAAM,QAAQ,SAAS,MAAM;AAC5B,UAAI,IAAI,UAAU,cAAc;AAC/B,eAAO;AAAA,UACN,IAAI,MAAM;AAAA,UACV,aAAa;AAAA,QAAA;AAAA,MAEf,WAAW,IAAI,UAAU,KAAK;AAC7B,eAAO;AAAA,UACN,MAAM,MAAM,QAAQ;AAAA,UACpB,QAAQ,MAAM;AAAA,UACd,KAAK;AAAA,UACL,UAAU,MAAM,YAAY;AAAA,QAAA;AAAA,MAE9B,WAAW,IAAI,UAAU,UAAU;AAClC,eAAO;AAAA,UACN,GAAG,sBAAsB;AAAA,UACzB,gBAAgB,MAAM;AAAA,UACtB,MAAM,MAAM;AAAA,UACZ,UAAU,MAAM;AAAA,QAAA;AAAA,MAElB;AAEA,aAAO;AAAA,IACR,CAAC;AAOD,aAAS,QAAQ,OAAmB;AACnC,UAAI,gBAAgB,OAAO;AAC1B,aAAK,kBAAkB,CAAC,MAAM,OAAO;AAAA,MACtC;AACA,WAAK,SAAS,KAAK;AAAA,IACpB;;0BAICA,YA2BYC,wBA1BN,IAAA,KAAG,GADTC,WA2BY;AAAA,QAzBX,QAAM,cAAY;AAAA,8BACeC,KAAAA,IAAI;AAAA;YAA6B,CAAA,eAAA,mBAAA,KAAkB,KAAK,mBAAA;AAAA,oCAAgD,kBAAA;AAAA,gCAA2CC,KAAAA;AAAAA,YAA0B,CAAA,eAAA,cAAA,KAAa,KAAK,cAAA,UAAa;AAAA,mCAA0C,iBAAA;AAAA,kCAA4CC,MAAA,QAAA;AAAA,UAAA;AAAA;QAWlU,cAAAC,KAAAA;AAAAA,MAAAA,GACO,MAAA,OAAK,EACZ,QAAA,CAAc,GAAA;AAAA,yBACf,MASO;AAAA,UATPC,mBASO,QATP,YASO;AAAA,YARNA,mBAEO,QAFP,YAEO;AAAA,cADNC,WAAoB,KAAA,QAAA,QAAA,CAAA,GAAA,QAAA,IAAA;AAAA,YAAA;YAErBD,mBAIO,QAJP,YAIO;AAAA,cAHNC,WAEO,4BAFP,MAEO;AAAA,gDADHC,KAAAA,IAAI,GAAA,CAAA;AAAA,cAAA;;;;;;;;;;"}