@nextcloud/vue 9.2.0 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/dist/assets/{NcActionButton-D7bnKlOt.css → NcActionButton-Bb0ihLdt.css} +18 -18
  3. package/dist/assets/{NcActionButtonGroup-CRTH2v24.css → NcActionButtonGroup-Bt8kRk79.css} +8 -8
  4. package/dist/assets/{NcActionInput--OC-0kRP.css → NcActionInput-BxRA_Skn.css} +65 -65
  5. package/dist/assets/{NcActionLink-DjrAv1MG.css → NcActionLink-DAEr-vmd.css} +13 -13
  6. package/dist/assets/{NcActionTextEditable-BPaRhJ6u.css → NcActionTextEditable-TPYz4ma-.css} +65 -65
  7. package/dist/assets/{NcActions-DXLRy-4d.css → NcActions-DOI7rRa0.css} +11 -11
  8. package/dist/assets/{NcAppContent-r_MkL84m.css → NcAppContent-HF21N7dO.css} +19 -19
  9. package/dist/assets/{NcAppNavigation-Br6xragy.css → NcAppNavigation-f2zUqaiQ.css} +12 -12
  10. package/dist/assets/{NcAppNavigationItem-6ZUh2hMu.css → NcAppNavigationItem-D97Onpd9.css} +36 -36
  11. package/dist/assets/{NcAppNavigationSearch-CUSlFbdJ.css → NcAppNavigationSearch-BH8hBjGe.css} +5 -5
  12. package/dist/assets/{NcAppSettingsDialog-B51_ysuI.css → NcAppSettingsDialog-CapZ_qNk.css} +36 -10
  13. package/dist/assets/{NcAppSidebar-aGrIJ9f6.css → NcAppSidebar-krHtMwId.css} +44 -44
  14. package/dist/assets/{NcAvatar-BvgSFJqT.css → NcAvatar-f8SJKMDw.css} +24 -24
  15. package/dist/assets/{NcButton-BjcEkfk2.css → NcButton--Fj4gghF.css} +48 -48
  16. package/dist/assets/{NcChip-T6s7HqeL.css → NcChip-DZ8dUSFy.css} +12 -12
  17. package/dist/assets/{NcCollectionList-D9dOsdP2.css → NcCollectionList-C7OiUQQ-.css} +15 -15
  18. package/dist/assets/{NcDashboardWidget-DD06i7ws.css → NcDashboardWidget-DFY9GRrd.css} +12 -12
  19. package/dist/assets/{NcDateTimePicker-DL6-rWSN.css → NcDateTimePicker-D6xbEbaC.css} +236 -233
  20. package/dist/assets/{NcFormBoxItem-j2nGdOvd.css → NcFormBoxItem-BfXKp9xJ.css} +14 -14
  21. package/dist/assets/{NcIconSvgWrapper-D6qXQDNo.css → NcIconSvgWrapper-N3OwSN9O.css} +10 -10
  22. package/dist/assets/{NcInputField-D5SEE7D0.css → NcInputField-B9DSDOEd.css} +82 -61
  23. package/dist/assets/{NcListItem-D9Lk0t6j.css → NcListItem-CZnKmy9X.css} +41 -41
  24. package/dist/assets/{NcListItemIcon-OOjV0jWx.css → NcListItemIcon-aquns6B7.css} +13 -13
  25. package/dist/assets/{NcModal-Dyub1-f2.css → NcModal-DLWvQ8EA.css} +59 -67
  26. package/dist/assets/{NcNoteCard-l5nIN9Hg.css → NcNoteCard-DZSuYX4-.css} +10 -10
  27. package/dist/assets/{NcPasswordField-CMuvrdVC.css → NcPasswordField-BCJ0LHSS.css} +2 -2
  28. package/dist/assets/{NcRelatedResourcesPanel-CZDNe7DZ.css → NcRelatedResourcesPanel-DYB-wrU0.css} +10 -10
  29. package/dist/assets/{NcRichText-QPnpxaeG.css → NcRichText-RvICaxkO.css} +108 -91
  30. package/dist/assets/{NcSelect-BTLcqg7Y.css → NcSelect-ZnE_MlqV.css} +52 -5
  31. package/dist/assets/{NcTextArea-7C2JBozT.css → NcTextArea-nivEqHE-.css} +62 -42
  32. package/dist/assets/{NcUserBubble-ChgvvPPf.css → NcUserBubble-B3Jad98g.css} +8 -8
  33. package/dist/chunks/{NcActionButton-2Rxa55KE.mjs → NcActionButton-pKOSrlGE.mjs} +5 -5
  34. package/dist/chunks/NcActionButton-pKOSrlGE.mjs.map +1 -0
  35. package/dist/chunks/{NcActionButtonGroup-DouiEx4u.mjs → NcActionButtonGroup-D1cYCNRq.mjs} +4 -4
  36. package/dist/chunks/NcActionButtonGroup-D1cYCNRq.mjs.map +1 -0
  37. package/dist/chunks/{NcActionInput-BUey_7p4.mjs → NcActionInput-uL5aa-A2.mjs} +12 -10
  38. package/dist/chunks/NcActionInput-uL5aa-A2.mjs.map +1 -0
  39. package/dist/chunks/{NcActionLink-afakPM_N.mjs → NcActionLink-vEvKSV4N.mjs} +3 -3
  40. package/dist/chunks/NcActionLink-vEvKSV4N.mjs.map +1 -0
  41. package/dist/chunks/{NcActionTextEditable-CXH_CFjU.mjs → NcActionTextEditable-CoYA6jeC.mjs} +5 -5
  42. package/dist/chunks/NcActionTextEditable-CoYA6jeC.mjs.map +1 -0
  43. package/dist/chunks/{NcActions-QtUC1sD3.mjs → NcActions-DWmvh7-Y.mjs} +20 -50
  44. package/dist/chunks/NcActions-DWmvh7-Y.mjs.map +1 -0
  45. package/dist/chunks/{NcAppContent-DW_SpXeR.mjs → NcAppContent-CTpYDkuT.mjs} +9 -18
  46. package/dist/chunks/NcAppContent-CTpYDkuT.mjs.map +1 -0
  47. package/dist/chunks/{NcAppNavigation-DrlEs9WS.mjs → NcAppNavigation-NSjIVdnb.mjs} +7 -7
  48. package/dist/chunks/NcAppNavigation-NSjIVdnb.mjs.map +1 -0
  49. package/dist/chunks/{NcAppNavigationCaption-CW__bXHt.mjs → NcAppNavigationCaption-D4yUe1MX.mjs} +2 -2
  50. package/dist/chunks/{NcAppNavigationCaption-CW__bXHt.mjs.map → NcAppNavigationCaption-D4yUe1MX.mjs.map} +1 -1
  51. package/dist/chunks/{NcAppNavigationItem-DH7wxFRY.mjs → NcAppNavigationItem-hKUS0nZj.mjs} +8 -8
  52. package/dist/chunks/NcAppNavigationItem-hKUS0nZj.mjs.map +1 -0
  53. package/dist/chunks/{NcAppNavigationNew-Y50s6jTC.mjs → NcAppNavigationNew-CuwqNksa.mjs} +2 -2
  54. package/dist/chunks/{NcAppNavigationNew-Y50s6jTC.mjs.map → NcAppNavigationNew-CuwqNksa.mjs.map} +1 -1
  55. package/dist/chunks/{NcAppNavigationNewItem-DehA23th.mjs → NcAppNavigationNewItem-IzXE-EEq.mjs} +2 -2
  56. package/dist/chunks/{NcAppNavigationNewItem-DehA23th.mjs.map → NcAppNavigationNewItem-IzXE-EEq.mjs.map} +1 -1
  57. package/dist/chunks/{NcAppNavigationSearch-BWx-LXJj.mjs → NcAppNavigationSearch-DCgwKEm9.mjs} +5 -5
  58. package/dist/chunks/NcAppNavigationSearch-DCgwKEm9.mjs.map +1 -0
  59. package/dist/chunks/{NcAppNavigationSettings-77CxwYOD.mjs → NcAppNavigationSettings-T04pqKfn.mjs} +5 -5
  60. package/dist/chunks/{NcAppNavigationSettings-77CxwYOD.mjs.map → NcAppNavigationSettings-T04pqKfn.mjs.map} +1 -1
  61. package/dist/chunks/{NcAppSettingsDialog-B7AG3mEJ.mjs → NcAppSettingsDialog-BCVofwA8.mjs} +38 -12
  62. package/dist/chunks/NcAppSettingsDialog-BCVofwA8.mjs.map +1 -0
  63. package/dist/chunks/{NcAppSettingsShortcutsSection-o6KPisIT.mjs → NcAppSettingsShortcutsSection-QPGGYtbC.mjs} +2 -2
  64. package/dist/chunks/{NcAppSettingsShortcutsSection-o6KPisIT.mjs.map → NcAppSettingsShortcutsSection-QPGGYtbC.mjs.map} +1 -1
  65. package/dist/chunks/{NcAppSidebar-BZh0lWlQ.mjs → NcAppSidebar-BvBvQsXb.mjs} +6 -6
  66. package/dist/chunks/NcAppSidebar-BvBvQsXb.mjs.map +1 -0
  67. package/dist/chunks/{NcAssistantButton-D3v1Xk22.mjs → NcAssistantButton-CjpLsI1X.mjs} +5 -5
  68. package/dist/chunks/{NcAssistantButton-D3v1Xk22.mjs.map → NcAssistantButton-CjpLsI1X.mjs.map} +1 -1
  69. package/dist/chunks/{NcAssistantIcon-CCdgVDM4.mjs → NcAssistantIcon-BMDc4udc.mjs} +2 -2
  70. package/dist/chunks/{NcAssistantIcon-CCdgVDM4.mjs.map → NcAssistantIcon-BMDc4udc.mjs.map} +1 -1
  71. package/dist/chunks/{NcAvatar-uKR5Re43.mjs → NcAvatar-DmUGApWA.mjs} +28 -24
  72. package/dist/chunks/NcAvatar-DmUGApWA.mjs.map +1 -0
  73. package/dist/chunks/{NcBreadcrumb-BffVglho.mjs → NcBreadcrumb-Bwkn3eve.mjs} +3 -3
  74. package/dist/chunks/{NcBreadcrumb-BffVglho.mjs.map → NcBreadcrumb-Bwkn3eve.mjs.map} +1 -1
  75. package/dist/chunks/{NcBreadcrumbs-DCzvS4nv.mjs → NcBreadcrumbs-PN5_hHQn.mjs} +5 -5
  76. package/dist/chunks/{NcBreadcrumbs-DCzvS4nv.mjs.map → NcBreadcrumbs-PN5_hHQn.mjs.map} +1 -1
  77. package/dist/chunks/{NcButton-DkC5k3Lb.mjs → NcButton-Dc8V4Urj.mjs} +7 -4
  78. package/dist/chunks/NcButton-Dc8V4Urj.mjs.map +1 -0
  79. package/dist/chunks/{NcCheckboxRadioSwitch-CAxvqRrM.mjs → NcCheckboxRadioSwitch-BCSKF7Tk.mjs} +2 -2
  80. package/dist/chunks/{NcCheckboxRadioSwitch-CAxvqRrM.mjs.map → NcCheckboxRadioSwitch-BCSKF7Tk.mjs.map} +1 -1
  81. package/dist/chunks/{NcChip-DH4rTzjt.mjs → NcChip-D8tGFzRl.mjs} +8 -8
  82. package/dist/chunks/NcChip-D8tGFzRl.mjs.map +1 -0
  83. package/dist/chunks/{NcCollectionList-BsgtKu_8.mjs → NcCollectionList-C-Zxsdgw.mjs} +10 -9
  84. package/dist/chunks/NcCollectionList-C-Zxsdgw.mjs.map +1 -0
  85. package/dist/chunks/{NcColorPicker-rGVCe-44.mjs → NcColorPicker-Kc0JqRtp.mjs} +6 -6
  86. package/dist/chunks/{NcColorPicker-rGVCe-44.mjs.map → NcColorPicker-Kc0JqRtp.mjs.map} +1 -1
  87. package/dist/chunks/{NcContent-DeXRbVuo.mjs → NcContent-BR_nMwKN.mjs} +4 -4
  88. package/dist/chunks/{NcContent-DeXRbVuo.mjs.map → NcContent-BR_nMwKN.mjs.map} +1 -1
  89. package/dist/chunks/{NcDashboardWidget-BxIt1qRx.mjs → NcDashboardWidget-Bz1t6sj0.mjs} +6 -6
  90. package/dist/chunks/NcDashboardWidget-Bz1t6sj0.mjs.map +1 -0
  91. package/dist/chunks/{NcDashboardWidgetItem-Dg8AbqGD.mjs → NcDashboardWidgetItem-C_xl9X2u.mjs} +4 -4
  92. package/dist/chunks/{NcDashboardWidgetItem-Dg8AbqGD.mjs.map → NcDashboardWidgetItem-C_xl9X2u.mjs.map} +1 -1
  93. package/dist/chunks/{NcDateTimePicker-B6ni6QAB.mjs → NcDateTimePicker-DTf51PD8.mjs} +10 -10
  94. package/dist/chunks/{NcDateTimePicker-B6ni6QAB.mjs.map → NcDateTimePicker-DTf51PD8.mjs.map} +1 -1
  95. package/dist/chunks/{NcDateTimePickerNative-BaauiB0I.mjs → NcDateTimePickerNative-DXF3-uR3.mjs} +2 -2
  96. package/dist/chunks/{NcDateTimePickerNative-BaauiB0I.mjs.map → NcDateTimePickerNative-DXF3-uR3.mjs.map} +1 -1
  97. package/dist/chunks/{NcDialog-BC0--SOc.mjs → NcDialog-CM7SCS7Z.mjs} +3 -3
  98. package/dist/chunks/{NcDialog-BC0--SOc.mjs.map → NcDialog-CM7SCS7Z.mjs.map} +1 -1
  99. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-CYQZ84A2.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-BBumVVme.mjs} +4 -4
  100. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-CYQZ84A2.mjs.map → NcDialogButton.vue_vue_type_script_setup_true_lang-BBumVVme.mjs.map} +1 -1
  101. package/dist/chunks/{NcEmojiPicker-CKp3IB6N.mjs → NcEmojiPicker-pM4Pg2yq.mjs} +6 -6
  102. package/dist/chunks/{NcEmojiPicker-CKp3IB6N.mjs.map → NcEmojiPicker-pM4Pg2yq.mjs.map} +1 -1
  103. package/dist/chunks/NcFormBox-K2tCRm3B.mjs.map +1 -1
  104. package/dist/chunks/{NcFormBoxButton-CCs-0mb3.mjs → NcFormBoxButton-7jokSLLb.mjs} +4 -4
  105. package/dist/chunks/{NcFormBoxButton-CCs-0mb3.mjs.map → NcFormBoxButton-7jokSLLb.mjs.map} +1 -1
  106. package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DfPML_k7.mjs → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-B7dsN2G5.mjs} +8 -38
  107. package/dist/chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-B7dsN2G5.mjs.map +1 -0
  108. package/dist/chunks/{NcFormBoxItem-C3We3v_4.mjs → NcFormBoxItem-BBP76Mkf.mjs} +10 -10
  109. package/dist/chunks/{NcFormBoxItem-C3We3v_4.mjs.map → NcFormBoxItem-BBP76Mkf.mjs.map} +1 -1
  110. package/dist/chunks/{NcFormBoxSwitch-gHZMcoCQ.mjs → NcFormBoxSwitch-UJwYMQPm.mjs} +4 -4
  111. package/dist/chunks/{NcFormBoxSwitch-gHZMcoCQ.mjs.map → NcFormBoxSwitch-UJwYMQPm.mjs.map} +1 -1
  112. package/dist/chunks/{NcHeaderButton-DafXYbXB.mjs → NcHeaderButton-CA17OV7l.mjs} +2 -2
  113. package/dist/chunks/{NcHeaderButton-DafXYbXB.mjs.map → NcHeaderButton-CA17OV7l.mjs.map} +1 -1
  114. package/dist/chunks/{NcHeaderMenu-DfO7ghiM.mjs → NcHeaderMenu-CdlSBOyC.mjs} +2 -2
  115. package/dist/chunks/{NcHeaderMenu-DfO7ghiM.mjs.map → NcHeaderMenu-CdlSBOyC.mjs.map} +1 -1
  116. package/dist/chunks/{NcHotkey-CmqTn7WR.mjs → NcHotkey-KGHPzHBJ.mjs} +2 -2
  117. package/dist/chunks/{NcHotkey-CmqTn7WR.mjs.map → NcHotkey-KGHPzHBJ.mjs.map} +1 -1
  118. package/dist/chunks/{NcHotkeyList-CuENLgpa.mjs → NcHotkeyList-BBE5BqwB.mjs} +2 -2
  119. package/dist/chunks/{NcHotkeyList-CuENLgpa.mjs.map → NcHotkeyList-BBE5BqwB.mjs.map} +1 -1
  120. package/dist/chunks/{NcIconSvgWrapper-5AA93z-F.mjs → NcIconSvgWrapper-BvLanNaW.mjs} +4 -4
  121. package/dist/chunks/NcIconSvgWrapper-BvLanNaW.mjs.map +1 -0
  122. package/dist/chunks/{NcInputConfirmCancel-BWJotcI2.mjs → NcInputConfirmCancel-CSO9hp4z.mjs} +3 -3
  123. package/dist/chunks/{NcInputConfirmCancel-BWJotcI2.mjs.map → NcInputConfirmCancel-CSO9hp4z.mjs.map} +1 -1
  124. package/dist/chunks/{NcInputField-DwkKsbxv.mjs → NcInputField-Bwsh2aHY.mjs} +16 -14
  125. package/dist/chunks/NcInputField-Bwsh2aHY.mjs.map +1 -0
  126. package/dist/chunks/{NcKbd-B87GdbDW.mjs → NcKbd-D3YSTteg.mjs} +2 -2
  127. package/dist/chunks/{NcKbd-B87GdbDW.mjs.map → NcKbd-D3YSTteg.mjs.map} +1 -1
  128. package/dist/chunks/{NcListItem-BLSWE2Hb.mjs → NcListItem-BHmdTInS.mjs} +4 -4
  129. package/dist/chunks/NcListItem-BHmdTInS.mjs.map +1 -0
  130. package/dist/chunks/{NcListItemIcon-BXVk-irh.mjs → NcListItemIcon-8fWhyS_R.mjs} +5 -5
  131. package/dist/chunks/NcListItemIcon-8fWhyS_R.mjs.map +1 -0
  132. package/dist/chunks/NcModal-MC_HktJd.mjs +422 -0
  133. package/dist/chunks/NcModal-MC_HktJd.mjs.map +1 -0
  134. package/dist/chunks/{NcNoteCard-Dw222p4P.mjs → NcNoteCard-CVhtNL04.mjs} +5 -5
  135. package/dist/chunks/NcNoteCard-CVhtNL04.mjs.map +1 -0
  136. package/dist/chunks/{NcPasswordField-BkVdu9LI.mjs → NcPasswordField-djttkA5Q.mjs} +11 -8
  137. package/dist/chunks/NcPasswordField-djttkA5Q.mjs.map +1 -0
  138. package/dist/chunks/{NcRelatedResourcesPanel-DP7W80M0.mjs → NcRelatedResourcesPanel-BVGAmIja.mjs} +9 -9
  139. package/dist/chunks/NcRelatedResourcesPanel-BVGAmIja.mjs.map +1 -0
  140. package/dist/chunks/{NcRichContenteditable-A0F0waG9.mjs → NcRichContenteditable-0w6dbJeG.mjs} +17 -12
  141. package/dist/chunks/{NcRichContenteditable-A0F0waG9.mjs.map → NcRichContenteditable-0w6dbJeG.mjs.map} +1 -1
  142. package/dist/chunks/{NcRichText-PvndLTtG.mjs → NcRichText-CBMtJzE_.mjs} +45 -8
  143. package/dist/chunks/NcRichText-CBMtJzE_.mjs.map +1 -0
  144. package/dist/chunks/{NcSelect-DekSQwK1.mjs → NcSelect-Czzsi3P_.mjs} +8 -5
  145. package/dist/chunks/NcSelect-Czzsi3P_.mjs.map +1 -0
  146. package/dist/chunks/{NcSelectTags-wqBc8W15.mjs → NcSelectTags-DJwqmQ7_.mjs} +3 -3
  147. package/dist/chunks/{NcSelectTags-wqBc8W15.mjs.map → NcSelectTags-DJwqmQ7_.mjs.map} +1 -1
  148. package/dist/chunks/{NcSelectUsers-DGY_Fvw7.mjs → NcSelectUsers-DVTI1DIZ.mjs} +3 -3
  149. package/dist/chunks/{NcSelectUsers-DGY_Fvw7.mjs.map → NcSelectUsers-DVTI1DIZ.mjs.map} +1 -1
  150. package/dist/chunks/{NcSettingsSection-DDccDeTg.mjs → NcSettingsSection-DYXU4pOK.mjs} +2 -2
  151. package/dist/chunks/{NcSettingsSection-DDccDeTg.mjs.map → NcSettingsSection-DYXU4pOK.mjs.map} +1 -1
  152. package/dist/chunks/{NcSettingsSelectGroup-Bpm9HZXh.mjs → NcSettingsSelectGroup-CuRTrvVN.mjs} +3 -3
  153. package/dist/chunks/{NcSettingsSelectGroup-Bpm9HZXh.mjs.map → NcSettingsSelectGroup-CuRTrvVN.mjs.map} +1 -1
  154. package/dist/chunks/{NcTextArea-CBx0eeEG.mjs → NcTextArea-CdtxX_QJ.mjs} +11 -9
  155. package/dist/chunks/NcTextArea-CdtxX_QJ.mjs.map +1 -0
  156. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-cbNqV44E.mjs → NcTextField.vue_vue_type_script_setup_true_lang-D1y_LfGJ.mjs} +5 -5
  157. package/dist/chunks/NcTextField.vue_vue_type_script_setup_true_lang-D1y_LfGJ.mjs.map +1 -0
  158. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-Dr3oElNm.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-CGFRZR-3.mjs} +4 -4
  159. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-Dr3oElNm.mjs.map → NcTimezonePicker.vue_vue_type_script_setup_true_lang-CGFRZR-3.mjs.map} +1 -1
  160. package/dist/chunks/{NcUserBubble-2CLRpxdk.mjs → NcUserBubble-DPAmU2_J.mjs} +8 -8
  161. package/dist/chunks/NcUserBubble-DPAmU2_J.mjs.map +1 -0
  162. package/dist/chunks/{NcUserStatusIcon-D6fygDFl.mjs → NcUserStatusIcon-CGEf7fej.mjs} +2 -2
  163. package/dist/chunks/{NcUserStatusIcon-D6fygDFl.mjs.map → NcUserStatusIcon-CGEf7fej.mjs.map} +1 -1
  164. package/dist/chunks/{_l10n--WxGDYem.mjs → _l10n-DrTiip5c.mjs} +65 -65
  165. package/dist/chunks/_l10n-DrTiip5c.mjs.map +1 -0
  166. package/dist/chunks/appName-DtnLUijR.mjs +41 -0
  167. package/dist/chunks/appName-DtnLUijR.mjs.map +1 -0
  168. package/dist/chunks/{colors-BhsvsNTT.mjs → colors-Go3zmZRD.mjs} +2 -2
  169. package/dist/chunks/{colors-BhsvsNTT.mjs.map → colors-Go3zmZRD.mjs.map} +1 -1
  170. package/dist/chunks/{mdi-8kZvl9vo.mjs → mdi-XFJRiRqJ.mjs} +16 -12
  171. package/dist/chunks/{mdi-8kZvl9vo.mjs.map → mdi-XFJRiRqJ.mjs.map} +1 -1
  172. package/dist/chunks/{referencePickerModal-el0J7aNd.mjs → referencePickerModal-DmD3-xYB.mjs} +7 -7
  173. package/dist/chunks/{referencePickerModal-el0J7aNd.mjs.map → referencePickerModal-DmD3-xYB.mjs.map} +1 -1
  174. package/dist/chunks/useCopy-7FVrniF_.mjs +39 -0
  175. package/dist/chunks/useCopy-7FVrniF_.mjs.map +1 -0
  176. package/dist/components/NcActionButton/index.mjs +1 -1
  177. package/dist/components/NcActionButtonGroup/index.mjs +1 -1
  178. package/dist/components/NcActionInput/NcActionInput.vue.d.ts +6 -5
  179. package/dist/components/NcActionInput/index.mjs +1 -1
  180. package/dist/components/NcActionLink/index.mjs +1 -1
  181. package/dist/components/NcActionTextEditable/index.mjs +1 -1
  182. package/dist/components/NcActions/NcActions.vue.d.ts +21 -7
  183. package/dist/components/NcActions/index.mjs +1 -1
  184. package/dist/components/NcAppContent/index.mjs +1 -1
  185. package/dist/components/NcAppNavigation/index.mjs +1 -1
  186. package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +11 -2
  187. package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
  188. package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +11 -2
  189. package/dist/components/NcAppNavigationItem/index.mjs +1 -1
  190. package/dist/components/NcAppNavigationNew/index.mjs +1 -1
  191. package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
  192. package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
  193. package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
  194. package/dist/components/NcAppSettingsDialog/NcAppSettingsDialog.vue.d.ts +5 -0
  195. package/dist/components/NcAppSettingsDialog/NcAppSettingsDialogVersion.vue.d.ts +2 -0
  196. package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
  197. package/dist/components/NcAppSettingsSectionShortcuts/index.mjs +1 -1
  198. package/dist/components/NcAppSettingsShortcutsSection/index.mjs +1 -1
  199. package/dist/components/NcAppSidebar/NcAppSidebar.vue.d.ts +11 -2
  200. package/dist/components/NcAppSidebar/index.mjs +1 -1
  201. package/dist/components/NcAssistantButton/index.mjs +1 -1
  202. package/dist/components/NcAssistantIcon/index.mjs +1 -1
  203. package/dist/components/NcAvatar/NcAvatar.vue.d.ts +14 -4
  204. package/dist/components/NcAvatar/index.mjs +1 -1
  205. package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +11 -2
  206. package/dist/components/NcBreadcrumb/index.mjs +1 -1
  207. package/dist/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +22 -4
  208. package/dist/components/NcBreadcrumbs/index.mjs +1 -1
  209. package/dist/components/NcButton/index.mjs +1 -1
  210. package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
  211. package/dist/components/NcChip/index.mjs +1 -1
  212. package/dist/components/NcCollectionList/NcCollectionList.vue.d.ts +40 -10
  213. package/dist/components/NcCollectionList/NcCollectionListItem.vue.d.ts +25 -6
  214. package/dist/components/NcCollectionList/index.mjs +1 -1
  215. package/dist/components/NcColorPicker/index.mjs +1 -1
  216. package/dist/components/NcContent/index.mjs +1 -1
  217. package/dist/components/NcDashboardWidget/NcDashboardWidget.vue.d.ts +39 -10
  218. package/dist/components/NcDashboardWidget/index.mjs +1 -1
  219. package/dist/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue.d.ts +25 -6
  220. package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
  221. package/dist/components/NcDateTime/NcDateTime.vue.d.ts +1 -1
  222. package/dist/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +5 -5
  223. package/dist/components/NcDateTimePicker/index.mjs +1 -1
  224. package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
  225. package/dist/components/NcDialog/NcDialog.vue.d.ts +1 -1
  226. package/dist/components/NcDialog/index.mjs +1 -1
  227. package/dist/components/NcDialogButton/index.mjs +1 -1
  228. package/dist/components/NcEmojiPicker/index.mjs +1 -1
  229. package/dist/components/NcFormBoxButton/index.mjs +1 -1
  230. package/dist/components/NcFormBoxCopyButton/index.mjs +1 -1
  231. package/dist/components/NcFormBoxSwitch/index.mjs +1 -1
  232. package/dist/components/NcHeaderButton/index.mjs +1 -1
  233. package/dist/components/NcHeaderMenu/index.mjs +1 -1
  234. package/dist/components/NcHotkey/index.mjs +1 -1
  235. package/dist/components/NcHotkeyList/index.mjs +1 -1
  236. package/dist/components/NcIconSvgWrapper/index.mjs +1 -1
  237. package/dist/components/NcInputField/index.mjs +1 -1
  238. package/dist/components/NcKbd/index.mjs +1 -1
  239. package/dist/components/NcListItem/NcListItem.vue.d.ts +11 -2
  240. package/dist/components/NcListItem/index.mjs +1 -1
  241. package/dist/components/NcListItemIcon/NcListItemIcon.vue.d.ts +15 -4
  242. package/dist/components/NcListItemIcon/index.mjs +1 -1
  243. package/dist/components/NcModal/NcModal.vue.d.ts +151 -1
  244. package/dist/components/NcModal/index.d.ts +4 -0
  245. package/dist/components/NcModal/index.mjs +1 -1
  246. package/dist/components/NcNoteCard/index.mjs +1 -1
  247. package/dist/components/NcPasswordField/index.mjs +1 -1
  248. package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
  249. package/dist/components/NcRichContenteditable/NcAutoCompleteResult.vue.d.ts +2 -2
  250. package/dist/components/NcRichContenteditable/index.mjs +1 -1
  251. package/dist/components/NcRichText/NcReferenceList.vue.d.ts +2 -2
  252. package/dist/components/NcRichText/NcReferencePicker/NcProviderList.vue.d.ts +1 -0
  253. package/dist/components/NcRichText/NcReferencePicker/NcReferencePicker.vue.d.ts +2 -0
  254. package/dist/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue.d.ts +146 -1
  255. package/dist/components/NcRichText/NcReferencePicker/NcSearch.vue.d.ts +1 -0
  256. package/dist/components/NcRichText/NcRichTextCopyButton.vue.d.ts +6 -0
  257. package/dist/components/NcRichText/index.mjs +3 -3
  258. package/dist/components/NcSelect/NcSelect.vue.d.ts +1 -0
  259. package/dist/components/NcSelect/index.mjs +1 -1
  260. package/dist/components/NcSelectTags/NcSelectTags.vue.d.ts +1 -0
  261. package/dist/components/NcSelectTags/index.mjs +1 -1
  262. package/dist/components/NcSelectUsers/index.mjs +1 -1
  263. package/dist/components/NcSettingsSection/index.mjs +1 -1
  264. package/dist/components/NcSettingsSelectGroup/NcSettingsSelectGroup.vue.d.ts +1 -0
  265. package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
  266. package/dist/components/NcTextArea/index.mjs +1 -1
  267. package/dist/components/NcTextField/index.mjs +1 -1
  268. package/dist/components/NcTimezonePicker/index.mjs +1 -1
  269. package/dist/components/NcUserBubble/index.mjs +1 -1
  270. package/dist/components/NcUserStatusIcon/NcUserStatusIcon.vue.d.ts +2 -2
  271. package/dist/components/NcUserStatusIcon/index.mjs +1 -1
  272. package/dist/components/index.d.ts +1 -1
  273. package/dist/{components/NcFormBoxCopyButton → composables}/useCopy.d.ts +2 -0
  274. package/dist/composables/useFormatDateTime/index.mjs +1 -1
  275. package/dist/composables/useHotKey/index.d.ts +7 -0
  276. package/dist/composables/useHotKey/index.mjs +6 -3
  277. package/dist/composables/useHotKey/index.mjs.map +1 -1
  278. package/dist/composables/useScopeIdAttrs.d.ts +26 -0
  279. package/dist/functions/reference/index.mjs +1 -1
  280. package/dist/functions/usernameToColor/index.mjs +1 -1
  281. package/dist/index.mjs +65 -65
  282. package/dist/mixins/userStatus.d.ts +8 -0
  283. package/dist/utils/appName.d.ts +5 -0
  284. package/dist/utils/utils.d.ts +10 -0
  285. package/package.json +24 -24
  286. package/dist/chunks/NcActionButton-2Rxa55KE.mjs.map +0 -1
  287. package/dist/chunks/NcActionButtonGroup-DouiEx4u.mjs.map +0 -1
  288. package/dist/chunks/NcActionInput-BUey_7p4.mjs.map +0 -1
  289. package/dist/chunks/NcActionLink-afakPM_N.mjs.map +0 -1
  290. package/dist/chunks/NcActionTextEditable-CXH_CFjU.mjs.map +0 -1
  291. package/dist/chunks/NcActions-QtUC1sD3.mjs.map +0 -1
  292. package/dist/chunks/NcAppContent-DW_SpXeR.mjs.map +0 -1
  293. package/dist/chunks/NcAppNavigation-DrlEs9WS.mjs.map +0 -1
  294. package/dist/chunks/NcAppNavigationItem-DH7wxFRY.mjs.map +0 -1
  295. package/dist/chunks/NcAppNavigationSearch-BWx-LXJj.mjs.map +0 -1
  296. package/dist/chunks/NcAppSettingsDialog-B7AG3mEJ.mjs.map +0 -1
  297. package/dist/chunks/NcAppSidebar-BZh0lWlQ.mjs.map +0 -1
  298. package/dist/chunks/NcAvatar-uKR5Re43.mjs.map +0 -1
  299. package/dist/chunks/NcButton-DkC5k3Lb.mjs.map +0 -1
  300. package/dist/chunks/NcChip-DH4rTzjt.mjs.map +0 -1
  301. package/dist/chunks/NcCollectionList-BsgtKu_8.mjs.map +0 -1
  302. package/dist/chunks/NcDashboardWidget-BxIt1qRx.mjs.map +0 -1
  303. package/dist/chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DfPML_k7.mjs.map +0 -1
  304. package/dist/chunks/NcIconSvgWrapper-5AA93z-F.mjs.map +0 -1
  305. package/dist/chunks/NcInputField-DwkKsbxv.mjs.map +0 -1
  306. package/dist/chunks/NcListItem-BLSWE2Hb.mjs.map +0 -1
  307. package/dist/chunks/NcListItemIcon-BXVk-irh.mjs.map +0 -1
  308. package/dist/chunks/NcModal-BIG1WrLo.mjs +0 -778
  309. package/dist/chunks/NcModal-BIG1WrLo.mjs.map +0 -1
  310. package/dist/chunks/NcNoteCard-Dw222p4P.mjs.map +0 -1
  311. package/dist/chunks/NcPasswordField-BkVdu9LI.mjs.map +0 -1
  312. package/dist/chunks/NcRelatedResourcesPanel-DP7W80M0.mjs.map +0 -1
  313. package/dist/chunks/NcRichText-PvndLTtG.mjs.map +0 -1
  314. package/dist/chunks/NcSelect-DekSQwK1.mjs.map +0 -1
  315. package/dist/chunks/NcTextArea-CBx0eeEG.mjs.map +0 -1
  316. package/dist/chunks/NcTextField.vue_vue_type_script_setup_true_lang-cbNqV44E.mjs.map +0 -1
  317. package/dist/chunks/NcUserBubble-2CLRpxdk.mjs.map +0 -1
  318. package/dist/chunks/_l10n--WxGDYem.mjs.map +0 -1
  319. package/dist/utils/Timer.d.ts +0 -25
@@ -9,40 +9,40 @@
9
9
  /*
10
10
  * Ensure proper alignment of the vue material icons
11
11
  */
12
- .material-design-icon[data-v-37bde6b7] {
12
+ .material-design-icon[data-v-ad356e41] {
13
13
  display: flex;
14
14
  align-self: center;
15
15
  justify-self: center;
16
16
  align-items: center;
17
17
  justify-content: center;
18
18
  }
19
- .user-bubble__wrapper[data-v-37bde6b7] {
19
+ .user-bubble__wrapper[data-v-ad356e41] {
20
20
  display: inline-block;
21
21
  vertical-align: middle;
22
22
  min-width: 0;
23
23
  max-width: 100%;
24
24
  }
25
- .user-bubble__content[data-v-37bde6b7] {
25
+ .user-bubble__content[data-v-ad356e41] {
26
26
  display: inline-flex;
27
27
  max-width: 100%;
28
28
  background-color: var(--color-background-dark);
29
29
  }
30
- .user-bubble__content--primary[data-v-37bde6b7] {
30
+ .user-bubble__content--primary[data-v-ad356e41] {
31
31
  color: var(--color-primary-element-text);
32
32
  background-color: var(--color-primary-element);
33
33
  }
34
- .user-bubble__content[data-v-37bde6b7] > :last-child {
34
+ .user-bubble__content[data-v-ad356e41] > :last-child {
35
35
  padding-inline-end: 8px;
36
36
  }
37
- .user-bubble__avatar[data-v-37bde6b7] {
37
+ .user-bubble__avatar[data-v-ad356e41] {
38
38
  align-self: center;
39
39
  }
40
- .user-bubble__name[data-v-37bde6b7] {
40
+ .user-bubble__name[data-v-ad356e41] {
41
41
  overflow: hidden;
42
42
  white-space: nowrap;
43
43
  text-overflow: ellipsis;
44
44
  }
45
- .user-bubble__name[data-v-37bde6b7], .user-bubble__secondary[data-v-37bde6b7] {
45
+ .user-bubble__name[data-v-ad356e41], .user-bubble__secondary[data-v-ad356e41] {
46
46
  padding-block: 0;
47
47
  padding-inline: 4px 0;
48
48
  }
@@ -1,6 +1,6 @@
1
- import '../assets/NcActionButton-D7bnKlOt.css';
2
- import { c as mdiChevronRight, d as mdiCheck } from "./mdi-8kZvl9vo.mjs";
3
- import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-5AA93z-F.mjs";
1
+ import '../assets/NcActionButton-Bb0ihLdt.css';
2
+ import { c as mdiChevronRight, d as mdiCheck } from "./mdi-XFJRiRqJ.mjs";
3
+ import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BvLanNaW.mjs";
4
4
  import { A as ActionTextMixin } from "./actionText-DYzDdbVe.mjs";
5
5
  import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-CiGWxAJE.mjs";
6
6
  import { resolveComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, createBlock, createCommentVNode, normalizeStyle, toDisplayString } from "vue";
@@ -221,8 +221,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
221
221
  ], 16, _hoisted_2)
222
222
  ], 10, _hoisted_1);
223
223
  }
224
- const NcActionButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-330b5e3e"]]);
224
+ const NcActionButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6c2daf4e"]]);
225
225
  export {
226
226
  NcActionButton as N
227
227
  };
228
- //# sourceMappingURL=NcActionButton-2Rxa55KE.mjs.map
228
+ //# sourceMappingURL=NcActionButton-pKOSrlGE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcActionButton-pKOSrlGE.mjs","sources":["../../src/components/NcActionButton/NcActionButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used inside of the [NcActions](#NcActions) component slots.\n\n```vue\n\t<template>\n\t\t<NcActions>\n\t\t\t<NcActionButton @click=\"showMessage('Delete')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconTrashCanOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tDelete\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"showMessage('Delete and close menu')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconTrashCanOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tDelete and close\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton :is-menu=\"true\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPlus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tCreate\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton :disabled=\"true\" @click=\"showMessage('Disabled')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconTrashCanOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tDisabled button\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</template>\n\t<script>\n\timport IconTrashCanOutline from 'vue-material-design-icons/TrashCanOutline.vue'\n\timport IconPlus from 'vue-material-design-icons/Plus.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconTrashCanOutline,\n\t\t\tIconPlus,\n\t\t},\n\t\tmethods: {\n\t\t\tshowMessage(msg) {\n\t\t\t\talert(msg)\n\t\t\t},\n\t\t},\n\t}\n\t</script>\n```\n\nIf you're using a long text, you can specify a `name` prop.\n\nFor the same purpose, but in a more compact way, `description` prop can be used.\n\n```vue\n\t<template>\n\t\t<NcActions>\n\t\t\t<NcActionButton @click=\"showMessage('Add')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPlus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tAdd new\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton name=\"Long button\" @click=\"showMessage('Delete')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconTrashCanOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tThis button is associated with a very long text.\\nAnd with new lines too.\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton description=\"Subline description for the button\" @click=\"showMessage('Edit')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tEdit\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</template>\n\t<script>\n\timport IconTrashCanOutline from 'vue-material-design-icons/TrashCanOutline.vue'\n\timport IconPencilOutline from 'vue-material-design-icons/PencilOutline.vue'\n\timport IconPlus from 'vue-material-design-icons/Plus.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconTrashCanOutline,\n\t\t\tIconPencilOutline,\n\t\t\tIconPlus,\n\t\t},\n\t\tmethods: {\n\t\t\tshowMessage(msg) {\n\t\t\t\talert(msg)\n\t\t\t},\n\t\t},\n\t}\n\t</script>\n\n```\n\nAction icon attribute with a single action\n\n```vue\n\t<template>\n\t\t<NcActions>\n\t\t\t<NcActionButton @click=\"showMessage('Add')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPlus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tAdd new\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</template>\n\t<script>\n\timport IconPlus from 'vue-material-design-icons/Plus.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconPlus,\n\t\t},\n\t\tmethods: {\n\t\t\tshowMessage(msg) {\n\t\t\t\talert(msg)\n\t\t\t},\n\t\t},\n\t}\n\t</script>\n\n```\n\nYou can also use a custom icon, for example from the vue-material-design-icons library:\n\n```vue\n<template>\n\t<NcActions>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<IconHandBackLeftOutline :size=\"20\" />\n\t\t\t</template>\n\t\t\tRaise left hand\n\t\t</NcActionButton>\n\t\t<NcActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<IconHandBackRightOutline :size=\"20\" />\n\t\t\t</template>\n\t\t\tRaise right hand\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport IconHandBackLeftOutline from 'vue-material-design-icons/HandBackLeftOutline.vue'\nimport IconHandBackRightOutline from 'vue-material-design-icons/HandBackRightOutline.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconHandBackLeftOutline,\n\t\tIconHandBackRightOutline,\n\t},\n}\n</script>\n```\n\n### With different model behavior\nBy default the button will act like a normal button, but it is also possible to change the behavior to a toggle button, checkbox button or radio button.\n\nFor example to have the button act like a toggle button just set the `modelValue` property to the toggle state:\n\n```vue\n<template>\n\t<NcActions>\n\t\t<NcActionButton v-model=\"fullscreen\">\n\t\t\t<template #icon>\n\t\t\t\t<IconFullscreen :size=\"20\" />\n\t\t\t</template>\n\t\t\tFullscreen\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport IconFullscreen from 'vue-material-design-icons/Fullscreen.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconFullscreen,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfullscreen: true,\n\t\t}\n\t},\n}\n</script>\n```\n\nAnother example would be using it with checkbox semantics, to enable or disable features.\nThis also allows tri-state behavior (`true`, `false`, `null`) in which case `aria-checked` will be either `true`, `false` or `mixed`.\n\n```vue\n<template>\n\t<NcActions>\n\t\t<NcActionButton v-model=\"handRaised\" type=\"checkbox\">\n\t\t\t<template #icon>\n\t\t\t\t<IconHandBackLeftOutline :size=\"20\" />\n\t\t\t</template>\n\t\t\tRaise hand\n\t\t</NcActionButton>\n\t\t<NcActionButton v-model=\"fullscreen\" type=\"checkbox\">\n\t\t\t<template #icon>\n\t\t\t\t<IconFullscreen :size=\"20\" />\n\t\t\t</template>\n\t\t\tFullscreen\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n<script>\nimport IconHandBackLeftOutline from 'vue-material-design-icons/HandBackLeftOutline.vue'\nimport IconFullscreen from 'vue-material-design-icons/Fullscreen.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconHandBackLeftOutline,\n\t\tIconFullscreen,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfullscreen: true,\n\t\t\thandRaised: false,\n\t\t}\n\t},\n}\n</script>\n```\n\nIt is also possible to use the button with radio semantics, this is only possible in menus and not for inline actions!\n\nWith a string `modelValue`, checked state is determined by the `value` property and updates `modelValue` with the new `value` string.\n\nWith a boolean `modelValue`, checked state is determined by `modelValue` and updates to `true` on check.\n\nNote: unlike native radio buttons, `NcActionButton` are not grouped by name, so you need to connect them by bind correct `modelValue``.\n\n```vue\n<template>\n\t<div>\n\t\t<NcActions>\n\t\t\t<NcActionButton v-model=\"payment\" type=\"radio\" value=\"cash\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconCash :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPay with cash\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton v-model=\"payment\" type=\"radio\" value=\"card\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconCreditCardOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPay by card\n\t\t\t</NcActionButton>\n\t\t\t<NcActionSeparator />\n\t\t\t<NcActionButton type=\"radio\" :model-value=\"align.isLeft\" @update:modelValue=\"setAlign('Left', $event)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconFormatAlignLeft :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tLeft\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton type=\"radio\" :model-value=\"align.isCenter\" @update:modelValue=\"setAlign('Center', $event)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconFormatAlignCenter :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tCenter\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton type=\"radio\" :model-value=\"align.isRight\" @update:modelValue=\"setAlign('Right', $event)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconFormatAlignRight :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tRight\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t\t<p>payment = \"{{ payment }}\"</p>\n\t\t<p>align.isLeft = {{ align.isLeft }}</p>\n\t\t<p>align.isCenter = {{ align.isCenter }}</p>\n\t\t<p>align.isRight = {{ align.isRight }}</p>\n\t</div>\n</template>\n<script>\nimport IconCash from 'vue-material-design-icons/Cash.vue'\nimport IconCreditCardOutline from 'vue-material-design-icons/CreditCardOutline.vue'\nimport IconFormatAlignLeft from 'vue-material-design-icons/FormatAlignLeft.vue'\nimport IconFormatAlignCenter from 'vue-material-design-icons/FormatAlignCenter.vue'\nimport IconFormatAlignRight from 'vue-material-design-icons/FormatAlignRight.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconCash,\n\t\tIconCreditCardOutline,\n\t\tIconFormatAlignLeft,\n\t\tIconFormatAlignCenter,\n\t\tIconFormatAlignRight,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tpayment: 'card',\n\t\t\talign: {\n\t\t\t\tisLeft: false,\n\t\t\t\tisCenter: true,\n\t\t\t\tisRight: false,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\tsetAlign(direction, value) {\n\t\t\tthis.align.isLeft = false\n\t\t\tthis.align.isCenter = false\n\t\t\tthis.align.isRight = false\n\t\t\tthis.align[`is${direction}`] = value\n\t\t},\n\t}\n}\n</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"{ 'action--disabled': disabled }\" :role=\"isInSemanticMenu && 'presentation'\">\n\t\t<button\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\tclass=\"action-button button-vue\"\n\t\t\t:class=\"{\n\t\t\t\t'action-button--active': isChecked,\n\t\t\t\tfocusable: isFocusable,\n\t\t\t}\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:title=\"title\"\n\t\t\t:type=\"nativeType\"\n\t\t\tv-bind=\"buttonAttributes\"\n\t\t\t@click=\"handleClick\">\n\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t<slot name=\"icon\">\n\t\t\t\t<span\n\t\t\t\t\t:class=\"[isIconUrl ? 'action-button__icon--url' : icon]\"\n\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclass=\"action-button__icon\" />\n\t\t\t</slot>\n\n\t\t\t<!-- long text with name -->\n\t\t\t<span class=\"action-button__longtext-wrapper\">\n\t\t\t\t<strong\n\t\t\t\t\tv-if=\"name\"\n\t\t\t\t\tclass=\"action-button__name\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</strong>\n\t\t\t\t<!-- white space is shown on longtext, so we can't\n\t\t\t\t\tput {{ text }} on a new line for code readability -->\n\t\t\t\t<span\n\t\t\t\t\tv-if=\"isLongText\"\n\t\t\t\t\tclass=\"action-button__longtext\"\n\t\t\t\t\tv-text=\"text\" />\n\t\t\t\t<!-- default text display -->\n\t\t\t\t<span\n\t\t\t\t\tv-else\n\t\t\t\t\tclass=\"action-button__text\">\n\t\t\t\t\t{{ text }}\n\t\t\t\t</span>\n\t\t\t\t<span\n\t\t\t\t\tv-if=\"description\"\n\t\t\t\t\tclass=\"action-button__description\"\n\t\t\t\t\tv-text=\"description\" />\n\t\t\t</span>\n\n\t\t\t<!-- right(in LTR) or left(in RTL) arrow icon when there is a sub-menu -->\n\t\t\t<NcIconSvgWrapper\n\t\t\t\tv-if=\"isMenu\"\n\t\t\t\tclass=\"action-button__menu-icon\"\n\t\t\t\tdirectional\n\t\t\t\t:path=\"mdiChevronRight\" />\n\t\t\t<NcIconSvgWrapper v-else-if=\"isChecked\" :path=\"mdiCheck\" class=\"action-button__pressed-icon\" />\n\n\t\t\t<span v-else-if=\"isChecked === false\" class=\"action-button__pressed-icon material-design-icon\" />\n\n\t\t\t<!-- fake slot to gather inner text -->\n\t\t\t<slot v-if=\"false\" />\n\t\t</button>\n\t</li>\n</template>\n\n<script>\nimport { mdiCheck, mdiChevronRight } from '@mdi/js'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport ActionTextMixin from '../../mixins/actionText.js'\nimport { NC_ACTIONS_IS_SEMANTIC_MENU } from '../NcActions/useNcActions.ts'\n\n/**\n * Button component to be used in Actions\n */\nexport default {\n\tname: 'NcActionButton',\n\n\tcomponents: {\n\t\tNcIconSvgWrapper,\n\t},\n\n\tmixins: [ActionTextMixin],\n\n\tinject: {\n\t\tisInSemanticMenu: {\n\t\t\tfrom: NC_ACTIONS_IS_SEMANTIC_MENU,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * disabled state of the action button\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * If this is a menu, a chevron icon will\n\t\t * be added at the end of the line\n\t\t */\n\t\tisMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The button's behavior, by default the button acts like a normal button with optional toggle button behavior if `modelValue` is `true` or `false`.\n\t\t * But you can also set to checkbox button behavior with tri-state or radio button like behavior.\n\t\t * This extends the native HTML button type attribute.\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'button',\n\t\t\tvalidator: (behavior) => ['button', 'checkbox', 'radio', 'reset', 'submit'].includes(behavior),\n\t\t},\n\n\t\t/**\n\t\t * The buttons state if `type` is 'checkbox' or 'radio' (meaning if it is pressed / selected).\n\t\t * For checkbox and toggle button behavior - boolean value.\n\t\t * For radio button behavior - could be a boolean checked or a string with the value of the button.\n\t\t * Note: Unlike native radio buttons, NcActionButton are not grouped by name, so you need to connect them by bind correct modelValue.\n\t\t *\n\t\t * **This is not availabe for `type='submit'` or `type='reset'`**\n\t\t *\n\t\t * If using `type='checkbox'` a `model-value` of `true` means checked, `false` means unchecked and `null` means indeterminate (tri-state)\n\t\t * For `type='radio'` `null` is equal to `false`\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: [Boolean, String],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * The value used for the `modelValue` when this component is used with radio behavior\n\t\t * Similar to the `value` attribute of `<input type=\"radio\">`\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Small underlying text content of the entry\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: ['update:modelValue'],\n\n\tsetup() {\n\t\treturn {\n\t\t\tmdiCheck,\n\t\t\tmdiChevronRight,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t *\n\t\t * @return {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\n\t\t/**\n\t\t * The current \"checked\" or \"pressed\" state for the model behavior\n\t\t */\n\t\tisChecked() {\n\t\t\tif (this.type === 'radio' && typeof this.modelValue !== 'boolean') {\n\t\t\t\treturn this.modelValue === this.value\n\t\t\t}\n\t\t\treturn this.modelValue\n\t\t},\n\n\t\t/**\n\t\t * The native HTML type to set on the button\n\t\t */\n\t\tnativeType() {\n\t\t\tif (this.type === 'submit' || this.type === 'reset') {\n\t\t\t\treturn this.type\n\t\t\t}\n\t\t\treturn 'button'\n\t\t},\n\n\t\t/**\n\t\t * HTML attributes to bind to the <button>\n\t\t */\n\t\tbuttonAttributes() {\n\t\t\tconst attributes = {}\n\n\t\t\tif (this.isInSemanticMenu) {\n\t\t\t\t// By default it needs to be a menu item in semantic menus\n\t\t\t\tattributes.role = 'menuitem'\n\n\t\t\t\tif (this.type === 'radio') {\n\t\t\t\t\tattributes.role = 'menuitemradio'\n\t\t\t\t\tattributes['aria-checked'] = this.isChecked ? 'true' : 'false'\n\t\t\t\t} else if (this.type === 'checkbox' || (this.nativeType === 'button' && this.modelValue !== null)) {\n\t\t\t\t\t// either if checkbox behavior was set or the model value is not unset\n\t\t\t\t\tattributes.role = 'menuitemcheckbox'\n\t\t\t\t\tattributes['aria-checked'] = this.modelValue === null ? 'mixed' : (this.modelValue ? 'true' : 'false')\n\t\t\t\t}\n\t\t\t} else if (this.modelValue !== null && this.nativeType === 'button') {\n\t\t\t\t// In case this has a modelValue it is considered a toggle button, so we need to set the aria-pressed\n\t\t\t\tattributes['aria-pressed'] = this.modelValue ? 'true' : 'false'\n\t\t\t}\n\n\t\t\treturn attributes\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Forward click event, let mixin handle the close-after-click and emit new modelValue if needed\n\t\t *\n\t\t * @param {MouseEvent} event - The click event\n\t\t */\n\t\thandleClick(event) {\n\t\t\tthis.onClick(event)\n\t\t\t// If modelValue or type is set (so modelValue might be null for tri-state) we need to update it\n\t\t\tif (this.modelValue !== null || this.type !== 'button') {\n\t\t\t\tif (this.type === 'radio') {\n\t\t\t\t\tif (typeof this.modelValue !== 'boolean') {\n\t\t\t\t\t\t// String-value radios behavior is similar to native - click on checked radio does nothing\n\t\t\t\t\t\tif (!this.isChecked) {\n\t\t\t\t\t\t\tthis.$emit('update:modelValue', this.value)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Boolean radio allows to uncheck\n\t\t\t\t\t\tthis.$emit('update:modelValue', !this.isChecked)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Checkbox toggles value\n\t\t\t\t\tthis.$emit('update:modelValue', !this.isChecked)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../../assets/action.scss' as *;\n@include action-active;\n@include action--disabled;\n@include action-item('button');\n\n.action-button {\n\t&__pressed-icon {\n\t\tmargin-inline: auto calc($icon-margin * -1);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_mergeProps","_renderSlot","_normalizeStyle","_toDisplayString","_createBlock","_openBlock"],"mappings":";;;;;;AA6YA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,YAAY;AAAA,IACX;AAAA;EAGD,QAAQ,CAAC,eAAe;AAAA,EAExB,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOV,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;IAQV,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,aAAa,CAAC,UAAU,YAAY,SAAS,SAAS,QAAQ,EAAE,SAAS,QAAQ;AAAA;;;;;;;;;;;;IAc9F,YAAY;AAAA,MACX,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS;AAAA;;;;;IAOV,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO,CAAC,mBAAmB;AAAA,EAE3B,QAAQ;AACP,WAAO;AAAA,MACN;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMT,cAAc;AACb,aAAO,CAAC,KAAK;AAAA,IACd;AAAA;AAAA;AAAA;AAAA,IAKA,YAAY;AACX,UAAI,KAAK,SAAS,WAAW,OAAO,KAAK,eAAe,WAAW;AAClE,eAAO,KAAK,eAAe,KAAK;AAAA,MACjC;AACA,aAAO,KAAK;AAAA,IACb;AAAA;AAAA;AAAA;AAAA,IAKA,aAAa;AACZ,UAAI,KAAK,SAAS,YAAY,KAAK,SAAS,SAAS;AACpD,eAAO,KAAK;AAAA,MACb;AACA,aAAO;AAAA,IACR;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAmB;AAClB,YAAM,aAAa,CAAA;AAEnB,UAAI,KAAK,kBAAkB;AAE1B,mBAAW,OAAO;AAElB,YAAI,KAAK,SAAS,SAAS;AAC1B,qBAAW,OAAO;AAClB,qBAAW,cAAc,IAAI,KAAK,YAAY,SAAS;AAAA,QACxD,WAAW,KAAK,SAAS,cAAe,KAAK,eAAe,YAAY,KAAK,eAAe,MAAO;AAElG,qBAAW,OAAO;AAClB,qBAAW,cAAc,IAAI,KAAK,eAAe,OAAO,UAAW,KAAK,aAAa,SAAS;AAAA,QAC/F;AAAA,MACD,WAAW,KAAK,eAAe,QAAQ,KAAK,eAAe,UAAU;AAEpE,mBAAW,cAAc,IAAI,KAAK,aAAa,SAAS;AAAA,MACzD;AAEA,aAAO;AAAA,IACR;AAAA;EAGD,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR,YAAY,OAAO;AAClB,WAAK,QAAQ,KAAK;AAElB,UAAI,KAAK,eAAe,QAAQ,KAAK,SAAS,UAAU;AACvD,YAAI,KAAK,SAAS,SAAS;AAC1B,cAAI,OAAO,KAAK,eAAe,WAAW;AAEzC,gBAAI,CAAC,KAAK,WAAW;AACpB,mBAAK,MAAM,qBAAqB,KAAK,KAAK;AAAA,YAC3C;AAAA,UACD,OAAO;AAEN,iBAAK,MAAM,qBAAqB,CAAC,KAAK,SAAS;AAAA,UAChD;AAAA,QACD,OAAO;AAEN,eAAK,MAAM,qBAAqB,CAAC,KAAK,SAAS;AAAA,QAChD;AAAA,MACD;AAAA,IACD;AAAA;AAEF;;;AA7NS,MAAA,aAAA,EAAA,OAAM,kCAAiC;;;EAG3C,OAAM;;;;;EAYN,OAAM;;;;;EAiB8B,OAAM;;;;sBAvD9CA,mBA4DK,MAAA;AAAA,IA5DD,OAAKC,eAAA,CAAC,UAAQ,EAAA,oBAA+B,OAAA,SAAQ,CAAA,CAAA;AAAA,IAAK,MAAM,SAAA,oBAAgB;AAAA;IACnFC,mBA0DS,UA1DTC,WA0DS;AAAA,MAzDP,cAAY,KAAA;AAAA,MACb,QAAM,4BAA0B;AAAA,iCACO,SAAA;AAAA,mBAA0B,SAAA;AAAA;MAIhE,UAAU,OAAA;AAAA,MACV,OAAO,KAAA;AAAA,MACP,MAAM,SAAA;AAAA,OACC,SAAA,kBAAgB;AAAA,MACvB,gDAAO,SAAA,eAAA,SAAA,YAAA,GAAA,IAAA;AAAA;MAERC,WAMO,yBANP,MAMO;AAAA,QALNF,mBAI+B,QAAA;AAAA,UAH7B,OAAKD,eAAA,CAAA,CAAG,KAAA,YAAS,6BAAgC,KAAA,IAAI,GAGhD,qBAAqB,CAAA;AAAA,UAF1B,OAAKI,eAAA,EAAA,iBAAqB,KAAA,YAAS,OAAU,KAAA,IAAI,MAAA,KAAA,CAAA;AAAA,UAClD,eAAY;AAAA;;MAKdH,mBAsBO,QAtBP,YAsBO;AAAA,QApBC,KAAA,qBADPF,mBAIS,UAJT,YAISM,gBADL,KAAA,IAAI,GAAA,CAAA;QAKD,KAAA,2BADPN,mBAGiB,QAAA;AAAA;UADhB,OAAM;AAAA,UACN,aAAAM,gBAAa,KAAL,IAAI;AAAA,iDAEbN,mBAIO,QAJP,YAIOM,gBADH,KAAA,IAAI,GAAA,CAAA;AAAA,QAGD,OAAA,4BADPN,mBAGwB,QAAA;AAAA;UADvB,OAAM;AAAA,UACN,aAAAM,gBAAoB,OAAZ,WAAW;AAAA;;MAKd,OAAA,uBADPC,YAI2B,6BAAA;AAAA;QAF1B,OAAM;AAAA,QACN,aAAA;AAAA,QACC,MAAM,OAAA;AAAA,+BACqB,SAAA,0BAA7BA,YAA+F,6BAAA;AAAA;QAAtD,MAAM,OAAA;AAAA,QAAU,OAAM;AAAA,+BAE9C,SAAA,cAAS,SAA1BC,aAAAR,mBAAiG,QAAjG,UAAiG;;;;;;"}
@@ -1,6 +1,6 @@
1
- import '../assets/NcActionButtonGroup-CRTH2v24.css';
1
+ import '../assets/NcActionButtonGroup-Bt8kRk79.css';
2
2
  import { defineComponent, createElementBlock, openBlock, createCommentVNode, createElementVNode, toDisplayString, renderSlot } from "vue";
3
- import { r as register, a as t } from "./_l10n--WxGDYem.mjs";
3
+ import { r as register, a as t } from "./_l10n-DrTiip5c.mjs";
4
4
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
5
5
  import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-CiGWxAJE.mjs";
6
6
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
@@ -53,8 +53,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
53
53
  ], 8, _hoisted_3)
54
54
  ], 8, _hoisted_1);
55
55
  }
56
- const NcActionButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-f57c2142"]]);
56
+ const NcActionButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6a2b8de0"]]);
57
57
  export {
58
58
  NcActionButtonGroup as N
59
59
  };
60
- //# sourceMappingURL=NcActionButtonGroup-DouiEx4u.mjs.map
60
+ //# sourceMappingURL=NcActionButtonGroup-D1cYCNRq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcActionButtonGroup-D1cYCNRq.mjs","sources":["../../src/components/NcActionButtonGroup/NcActionButtonGroup.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used inside of the [NcActions](#NcActions) component slots,\nto group buttons as one visual action, like for text alignment.\nThis should be used sparingly for accessibility.\n\n```vue\n<template>\n\t<div style=\"display: flex; align-items: center;\">\n\t\t<NcActions>\n\t\t\t<NcActionButtonGroup name=\"Text alignment\">\n\t\t\t\t<NcActionButton aria-label=\"Align left\"\n\t\t\t\t\tv-model=\"alignment\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tvalue=\"l\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconAlignHorizontalLeft :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton aria-label=\"Align center\"\n\t\t\t\t\tv-model=\"alignment\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tvalue=\"c\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconAlignHorizontalCenter :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton aria-label=\"Align right\"\n\t\t\t\t\tv-model=\"alignment\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tvalue=\"r\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconAlignHorizontalRight :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionButton>\n\t\t\t</NcActionButtonGroup>\n\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t@click=\"showMessage('Some other action')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPlus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSome other action\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</div>\n</template>\n<script>\nimport IconAlignHorizontalLeft from 'vue-material-design-icons/AlignHorizontalLeft.vue'\nimport IconAlignHorizontalRight from 'vue-material-design-icons/AlignHorizontalRight.vue'\nimport IconAlignHorizontalCenter from 'vue-material-design-icons/AlignHorizontalCenter.vue'\nimport IconPlus from 'vue-material-design-icons/Plus.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconAlignHorizontalLeft,\n\t\tIconAlignHorizontalRight,\n\t\tIconAlignHorizontalCenter,\n\t\tIconPlus,\n\t},\n\tdata() {\n\t\treturn { alignment: 'l' }\n\t},\n\tmethods: {\n\t\tshowMessage(msg) {\n\t\t\talert(msg)\n\t\t},\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<li class=\"nc-button-group-base\" :role=\"isInSemanticMenu && 'presentation'\">\n\t\t<div v-if=\"name\" :id=\"labelId\">\n\t\t\t{{ name }}\n\t\t</div>\n\t\t<ul class=\"nc-button-group-content\" role=\"group\" :aria-labelledby=\"name ? labelId : undefined\">\n\t\t\t<slot />\n\t\t</ul>\n\t</li>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\nimport { t } from '../../l10n.ts'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport { NC_ACTIONS_IS_SEMANTIC_MENU } from '../NcActions/useNcActions.ts'\n\n/**\n * A wrapper for allowing inlining NcAction components within the action menu\n */\nexport default defineComponent({\n\tname: 'NcActionButtonGroup',\n\n\tinject: {\n\t\tisInSemanticMenu: {\n\t\t\tfrom: NC_ACTIONS_IS_SEMANTIC_MENU,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Optional text shown below the button group\n\t\t */\n\t\tname: {\n\t\t\trequired: false,\n\t\t\tdefault: undefined,\n\t\t\ttype: String,\n\t\t},\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tlabelId: createElementId(),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.nc-button-group-base {\n\t>div {\n\t\ttext-align: center;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\tul.nc-button-group-content {\n\t\tdisplay: flex;\n\t\tgap: 4px; // required for the focus-visible outline\n\t\tjustify-content: space-between;\n\t\t:slotted(li) {\n\t\t\tflex: 1 1;\n\t\t}\n\n\t\t:deep(.action-button) {\n\t\t\t// Fix action buttons beeing shifted to the left (right padding)\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\n\t\t\t&.action-button--active {\n\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\tborder-radius: var(--border-radius-element);\n\t\t\t\tcolor: var(--color-primary-element-text);\n\n\t\t\t\t&:hover, &:focus, &:focus-within {\n\t\t\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.action-button__pressed-icon {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n"],"names":["_createElementBlock","_createElementVNode","_renderSlot"],"mappings":";;;;;;AAgGA,MAAK,YAAa,gBAAa;AAAA,EAC9B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,MAAM;AAAA,MACL,UAAU;AAAA,MACV,SAAS;AAAA,MACT,MAAM;AAAA;;EAIR,QAAQ;AACP,WAAO;AAAA,MACN,SAAS,gBAAe;AAAA,IACzB;AAAA,EACD;AAAA,EAEA,SAAS;AAAA,IACR;AAAA;AAEF,CAAC;;;;;sBAjDAA,mBAOK,MAAA;AAAA,IAPD,OAAM;AAAA,IAAwB,MAAM,KAAA,oBAAgB;AAAA;IAC5C,KAAA,qBAAXA,mBAEM,OAAA;AAAA;MAFY,IAAI,KAAA;AAAA,uBAClB,KAAA,IAAI,GAAA,GAAA,UAAA;IAERC,mBAEK,MAAA;AAAA,MAFD,OAAM;AAAA,MAA0B,MAAK;AAAA,MAAS,mBAAiB,KAAA,OAAO,KAAA,UAAU;AAAA;MACnFC,WAAQ,KAAA,QAAA,SAAA;AAAA;;;;"}
@@ -1,11 +1,11 @@
1
- import '../assets/NcActionInput--OC-0kRP.css';
1
+ import '../assets/NcActionInput-BxRA_Skn.css';
2
2
  import { defineAsyncComponent, resolveComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, renderSlot, normalizeStyle, withModifiers, createCommentVNode, toDisplayString, createBlock, mergeProps, createVNode, withCtx } from "vue";
3
- import { r as register, g as t48, a as t } from "./_l10n--WxGDYem.mjs";
3
+ import { r as register, h as t48, a as t } from "./_l10n-DrTiip5c.mjs";
4
4
  import { A as ActionGlobalMixin } from "./actionGlobal-BZFdtdJL.mjs";
5
5
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
6
- import { N as NcDateTimePickerNative } from "./NcDateTimePickerNative-BaauiB0I.mjs";
7
- import { N as NcPasswordField } from "./NcPasswordField-BkVdu9LI.mjs";
8
- import { _ as _sfc_main$1 } from "./NcTextField.vue_vue_type_script_setup_true_lang-cbNqV44E.mjs";
6
+ import { N as NcDateTimePickerNative } from "./NcDateTimePickerNative-DXF3-uR3.mjs";
7
+ import { N as NcPasswordField } from "./NcPasswordField-djttkA5Q.mjs";
8
+ import { _ as _sfc_main$1 } from "./NcTextField.vue_vue_type_script_setup_true_lang-D1y_LfGJ.mjs";
9
9
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
10
10
  register(t48);
11
11
  const _sfc_main = {
@@ -255,7 +255,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
255
255
  onSubmit: _cache[2] || (_cache[2] = withModifiers((...args) => $options.onSubmit && $options.onSubmit(...args), ["prevent"]))
256
256
  }, [
257
257
  createElementVNode("div", _hoisted_3, [
258
- $props.label && $props.labelOutside ? (openBlock(), createElementBlock("label", {
258
+ $props.label && $props.labelOutside && !$props.isNativePicker ? (openBlock(), createElementBlock("label", {
259
259
  key: 0,
260
260
  class: normalizeClass(["action-input__text-label", { "action-input__text-label--hidden": !$props.labelOutside }]),
261
261
  for: $props.inputId
@@ -270,15 +270,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
270
270
  disabled: $props.disabled,
271
271
  type: $options.datePickerType,
272
272
  "input-class": ["mx-input", { focusable: $options.isFocusable }],
273
- class: "action-input__datetimepicker"
273
+ class: "action-input__datetimepicker",
274
+ "append-to-body": ""
274
275
  }, _ctx.$attrs, { "onUpdate:modelValue": $options.onUpdateModelValue }), null, 16, ["model-value", "placeholder", "disabled", "type", "input-class", "onUpdate:modelValue"])) : $props.isNativePicker ? (openBlock(), createBlock(_component_NcDateTimePickerNative, mergeProps({
275
276
  key: 1,
276
277
  id: $props.idNativeDateTimePicker,
277
278
  "model-value": $props.modelValue,
279
+ label: $props.label,
278
280
  type: $options.nativeDatePickerType,
279
281
  "input-class": { focusable: $options.isFocusable },
280
282
  class: "action-input__datetimepicker"
281
- }, _ctx.$attrs, { "onUpdate:modelValue": $options.onUpdateModelValue }), null, 16, ["id", "model-value", "type", "input-class", "onUpdate:modelValue"])) : $options.isMultiselectType ? (openBlock(), createBlock(_component_NcSelect, mergeProps({
283
+ }, _ctx.$attrs, { "onUpdate:modelValue": $options.onUpdateModelValue }), null, 16, ["id", "model-value", "label", "type", "input-class", "onUpdate:modelValue"])) : $options.isMultiselectType ? (openBlock(), createBlock(_component_NcSelect, mergeProps({
282
284
  key: 2,
283
285
  "model-value": $props.modelValue,
284
286
  placeholder: _ctx.text,
@@ -343,8 +345,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
343
345
  ], 34)
344
346
  ], 2);
345
347
  }
346
- const NcActionInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-0fc02b30"]]);
348
+ const NcActionInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-67b3d681"]]);
347
349
  export {
348
350
  NcActionInput as N
349
351
  };
350
- //# sourceMappingURL=NcActionInput-BUey_7p4.mjs.map
352
+ //# sourceMappingURL=NcActionInput-uL5aa-A2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcActionInput-uL5aa-A2.mjs","sources":["../../src/components/NcActionInput/NcActionInput.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used inside of the [NcActions](#NcActions) component slots.\n\nIt is recommended to not only provide a placeholder, but also a label.\nThe label should describe what input is expected and the placehold what format the input should have.\n\nAll undocumented attributes will be bound to the input, the datepicker or the select component, e.g. `maxlength`, `not-before`.\nFor the `NcSelect` component, all events will be passed through. Please see the `NcSelect` component's documentation for more details and examples.\n```vue\n\t<template>\n\t\t<NcActions>\n\t\t\t<NcActionInput v-model=\"text\" :label-outside=\"true\" label=\"Label outside the input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput v-model=\"text\" :show-trailing-button=\"false\" label=\"Input without trailing button\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput v-model=\"text\" label=\"Input with placeholder\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tThis is the placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" v-model=\"text\" label=\"Password with visible label\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconKeyOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" v-model=\"text\" :show-trailing-button=\"false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconKeyOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"color\" v-model=\"color\" label=\"Favorite color\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconEyedropper :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tColor placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput label=\"Visible label\" v-model=\"text\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tInput with visible label\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :disabled=\"true\" label=\"This is a disabled input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconClose :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\" label=\"Native date picker\" isNativePicker v-model=\"date\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\" v-model=\"date\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput\n\t\t\t\ttype=\"multiselect\"\n\t\t\t\tinput-label=\"Fruit selection\"\n\t\t\t\t:options=\"['Apple', 'Banana', 'Cherry']\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput\n\t\t\t\tv-model=\"multiSelected\"\n\t\t\t\ttype=\"multiselect\"\n\t\t\t\tinput-label=\"Fruit selection\"\n\t\t\t\ttrack-by=\"id\"\n\t\t\t\t:append-to-body=\"true\"\n\t\t\t\t:multiple=\"true\"\n\t\t\t\t:options=\"[{label:'Apple', id: 'apple'}, {label:'Banana', id: 'banana'}, {label:'Cherry', id: 'cherry'}]\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit object\n\t\t\t</NcActionInput>\n\t\t</NcActions>\n\t</template>\n\t<script>\n\timport IconClose from 'vue-material-design-icons/Close.vue'\n\timport IconEyedropper from 'vue-material-design-icons/Eyedropper.vue'\n\timport IconKeyOutline from 'vue-material-design-icons/KeyOutline.vue'\n\timport IconPencilOutline from 'vue-material-design-icons/PencilOutline.vue'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tIconClose,\n\t\t\tIconEyedropper,\n\t\t\tIconKeyOutline,\n\t\t\tIconPencilOutline,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tcolor: '#0082C9',\n\t\t\t\tdate: new Date(),\n\t\t\t\ttext: 'This is the input text',\n\t\t\t\tmultiSelected: [],\n\t\t\t}\n\t\t},\n\t}\n\t</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"[{ 'action--disabled': disabled }, $props.class]\">\n\t\t<span\n\t\t\tclass=\"action-input\"\n\t\t\t:class=\"{\n\t\t\t\t'action-input-picker--disabled': disabled,\n\t\t\t\t'action-input--visible-label': labelOutside && label,\n\t\t\t}\"\n\t\t\t@mouseleave=\"onLeave\">\n\t\t\t<span class=\"action-input__icon-wrapper\">\n\t\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t\t<slot name=\"icon\">\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclass=\"action-input__icon\"\n\t\t\t\t\t\t:class=\"[isIconUrl ? 'action-input__icon--url' : icon]\"\n\t\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\" />\n\t\t\t\t</slot>\n\t\t\t</span>\n\n\t\t\t<!-- form and input -->\n\t\t\t<form\n\t\t\t\tref=\"form\"\n\t\t\t\tclass=\"action-input__form\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@submit.prevent=\"onSubmit\">\n\t\t\t\t<div class=\"action-input__container\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tv-if=\"label && labelOutside && !isNativePicker\"\n\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside }\"\n\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t</label>\n\t\t\t\t\t<div class=\"action-input__input-container\">\n\n\t\t\t\t\t\t<NcDateTimePicker\n\t\t\t\t\t\t\tv-if=\"datePickerType\"\n\t\t\t\t\t\t\tref=\"datetimepicker\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\tstyle=\"z-index: 99999999999;\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:type=\"datePickerType\"\n\t\t\t\t\t\t\t:input-class=\"['mx-input', { focusable: isFocusable }]\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tappend-to-body\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<NcDateTimePickerNative\n\t\t\t\t\t\t\tv-else-if=\"isNativePicker\"\n\t\t\t\t\t\t\t:id=\"idNativeDateTimePicker\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:type=\"nativeDatePickerType\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<NcSelect\n\t\t\t\t\t\t\tv-else-if=\"isMultiselectType\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__multi\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<NcPasswordField\n\t\t\t\t\t\t\tv-else-if=\"type === 'password'\"\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\n\t\t\t\t\t\t<div v-else-if=\"type === 'color'\" class=\"action-input__container\">\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\tv-if=\"label && type === 'color'\"\n\t\t\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside }\"\n\t\t\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div class=\"action-input__input-container\">\n\t\t\t\t\t\t\t\t<NcColorPicker\n\t\t\t\t\t\t\t\t\tid=\"inputId\"\n\t\t\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t\t\tclass=\"colorpicker__trigger\"\n\t\t\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\"\n\t\t\t\t\t\t\t\t\t@submit=\"$refs.form.requestSubmit()\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass=\"colorpicker__preview\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t\t\t\t:style=\"{ 'background-color': modelValue }\" />\n\t\t\t\t\t\t\t\t</NcColorPicker>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<NcTextField\n\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:type=\"type\"\n\t\t\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t\t\t:trailing-button-label=\"trailingButtonLabel\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@trailing-button-click=\"$refs.form.requestSubmit()\"\n\t\t\t\t\t\t\t@update:model-value=\"onUpdateModelValue\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nimport { defineAsyncComponent } from 'vue'\nimport { t } from '../../l10n.ts'\nimport ActionGlobalMixin from '../../mixins/actionGlobal.js'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport NcDateTimePickerNative from '../NcDateTimePickerNative/index.ts'\nimport NcPasswordField from '../NcPasswordField/index.ts'\nimport NcTextField from '../NcTextField/index.ts'\n\nexport default {\n\tname: 'NcActionInput',\n\n\tcomponents: {\n\t\tNcDateTimePickerNative,\n\t\tNcPasswordField,\n\t\tNcTextField,\n\t\t// Lazy load components with more than 50kB bundle size impact\n\t\tNcColorPicker: defineAsyncComponent(() => import('../NcColorPicker/index.ts')),\n\t\tNcDateTimePicker: defineAsyncComponent(() => import('../NcDateTimePicker/index.js')),\n\t\tNcSelect: defineAsyncComponent(() => import('../NcSelect/index.js')),\n\t},\n\n\tmixins: [ActionGlobalMixin],\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * id attribute of the checkbox element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-' + createElementId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the text input element\n\t\t */\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-input-' + createElementId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * Icon to show with the action, can be either a CSS class or an URL\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * type attribute of the input field\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator(type) {\n\t\t\t\treturn [\n\t\t\t\t\t'date',\n\t\t\t\t\t'datetime-local',\n\t\t\t\t\t'month',\n\t\t\t\t\t'multiselect',\n\t\t\t\t\t'number',\n\t\t\t\t\t'password',\n\t\t\t\t\t'search',\n\t\t\t\t\t'tel',\n\t\t\t\t\t'text',\n\t\t\t\t\t'time',\n\t\t\t\t\t'url',\n\t\t\t\t\t'week',\n\t\t\t\t\t'color',\n\t\t\t\t\t'email',\n\t\t\t\t].includes(type)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * id attribute for the native date time picker\n\t\t */\n\t\tidNativeDateTimePicker: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date-time-picker_id',\n\t\t},\n\n\t\t/**\n\t\t * Flag to use a native date time picker\n\t\t */\n\t\tisNativePicker: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The visible input label for accessibility purposes.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * If you want to show the label just above the\n\t\t * input field, pass in `true` to this prop.\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * value attribute of the input field\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: [String, Date, Number, Array],\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the input field\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Attribute forwarded to the underlying NcPasswordField and NcTextField\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Trailing button label forwarded to the underlying NcTextField\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Submit'),\n\t\t},\n\n\t\t/**\n\t\t * CSS class to apply to the root element.\n\t\t */\n\t\tclass: {\n\t\t\ttype: [String, Array, Object],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'submit',\n\t\t'update:modelValue',\n\t],\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\ttry {\n\t\t\t\treturn new URL(this.icon)\n\t\t\t} catch {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\tisMultiselectType() {\n\t\t\treturn this.type === 'multiselect'\n\t\t},\n\n\t\tnativeDatePickerType() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'month':\n\t\t\t\tcase 'time':\n\t\t\t\tcase 'week':\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn this.type\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdatePickerType() {\n\t\t\tif (!this.isNativePicker) {\n\t\t\t\tswitch (this.type) {\n\t\t\t\t\tcase 'date':\n\t\t\t\t\tcase 'month':\n\t\t\t\t\tcase 'time':\n\t\t\t\t\t\treturn this.type\n\n\t\t\t\t\tcase 'datetime-local':\n\t\t\t\t\t\treturn 'datetime'\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t *\n\t\t * @return {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\t},\n\n\tmethods: {\n\t\t// closing datepicker popup on mouseleave = unfocus\n\t\tonLeave() {\n\t\t\tif (this.$refs.datetimepicker && this.$refs.datetimepicker.$refs.datepicker) {\n\t\t\t\tthis.$refs.datetimepicker.$refs.datepicker.closePopup()\n\t\t\t}\n\t\t},\n\n\t\tonSubmit(event) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t} else {\n\t\t\t\t// ignore submit\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\tonUpdateModelValue(event) {\n\t\t\t/**\n\t\t\t * Emitted on update of the model value\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('update:modelValue', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../../assets/inputs.scss';\n@use '../../assets/action.scss' as *;\n@include action-active;\n@include action--disabled;\n\n$input-margin: 4px;\n\n.action-input {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\n\t&__icon-wrapper {\n\t\tdisplay: flex;\n\t\talign-self: center;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: var(--default-clickable-area);\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > span {\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t}\n\n\t&__icon {\n\t\tmin-width: 0; /* Overwrite icons*/\n\t\tmin-height: 0;\n\t\t// Keep padding to define the width to assure correct position of a possible text\n\t\tpadding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n\n\t\tbackground-position: #{$icon-margin} center;\n\t\tbackground-size: $icon-size;\n\t}\n\n\t// Forms & text inputs\n\t&__form {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 auto;\n\n\t\tmargin: $input-margin 0;\n\t\tpadding-inline-end: $icon-margin;\n\t}\n\n\t&__container {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t}\n\n\t&__input-container {\n\t\tdisplay: flex;\n\n\t\t.colorpicker {\n\t\t\t&__trigger,\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 36px;\n\t\t\t\tborder-radius: var(--border-radius-element);\n\t\t\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\t\t\tbox-shadow: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__text-label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tinset-inline-start: 0;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t\tz-index: -1;\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t&__datetimepicker {\n\t\twidth: 100%;\n\n\t\t:deep(.mx-input) {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t&__multi {\n\t\twidth: 100%;\n\t}\n}\n\n// if a form is the last of the list\n// add the same bottomMargin as the right padding\n// for visual balance\nli:last-child > .action-input {\n\tpadding-bottom: calc($icon-margin - $input-margin);\n}\n\n// same for first item\nli:first-child > .action-input:not(.action-input--visible-label) {\n\tpadding-top: calc($icon-margin - $input-margin);\n}\n\n</style>\n"],"names":["NcTextField","_createElementBlock","_createElementVNode","_renderSlot","_normalizeClass","_normalizeStyle","_openBlock","_createBlock","_mergeProps","_createVNode"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import '../assets/NcActionLink-DjrAv1MG.css';
1
+ import '../assets/NcActionLink-DAEr-vmd.css';
2
2
  import { A as ActionTextMixin } from "./actionText-DYzDdbVe.mjs";
3
3
  import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-CiGWxAJE.mjs";
4
4
  import { createElementBlock, openBlock, createElementVNode, renderSlot, createCommentVNode, normalizeStyle, normalizeClass, toDisplayString } from "vue";
@@ -105,8 +105,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
105
105
  ], 8, _hoisted_2)
106
106
  ], 8, _hoisted_1);
107
107
  }
108
- const NcActionLink = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9e538838"]]);
108
+ const NcActionLink = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-32f01b7a"]]);
109
109
  export {
110
110
  NcActionLink as N
111
111
  };
112
- //# sourceMappingURL=NcActionLink-afakPM_N.mjs.map
112
+ //# sourceMappingURL=NcActionLink-vEvKSV4N.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcActionLink-vEvKSV4N.mjs","sources":["../../src/components/NcActionLink/NcActionLink.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used inside of the [NcActions](#NcActions) component slots.\n\n```\n<template>\n\t<div style=\"display: flex; align-items: center;\">\n\t\t<NcActions>\n\t\t\t<NcActionLink href=\"https://nextcloud.com\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconOpenInNew :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tNextcloud website\n\t\t\t</NcActionLink>\n\t\t</NcActions>\n\n\t\t<NcActions>\n\t\t\t<NcActionLink href=\"https://www.gnu.org/licenses/gpl.odt\"\n\t\t\t\t download=\"AGPL License text.odt\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconDownloadOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tDownload AGPL license text\n\t\t\t</NcActionLink>\n\t\t</NcActions>\n\n\t\t<NcActions>\n\t\t\t<NcActionLink href=\"https://nextcloud.com\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconOpenInNew :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tNextcloud website\n\t\t\t</NcActionLink>\n\t\t\t<NcActionLink href=\"https://www.gnu.org/licenses/gpl.odt\"\n\t\t\t\t download=\"AGPL License text.odt\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconDownloadOutline :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tDownload AGPL license text\n\t\t\t</NcActionLink>\n\t\t</NcActions>\n\t</div>\n</template>\n<script>\nimport IconDownloadOutline from 'vue-material-design-icons/DownloadOutline.vue'\nimport IconOpenInNew from 'vue-material-design-icons/OpenInNew.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconDownloadOutline,\n\t\tIconOpenInNew,\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :role=\"isInSemanticMenu && 'presentation'\">\n\t\t<a\n\t\t\t:download=\"download\"\n\t\t\t:href=\"href\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:target=\"target\"\n\t\t\t:title=\"title\"\n\t\t\tclass=\"action-link focusable\"\n\t\t\trel=\"nofollow noreferrer noopener\"\n\t\t\t:role=\"isInSemanticMenu && 'menuitem'\"\n\t\t\t@click=\"onClick\">\n\n\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t<slot name=\"icon\">\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclass=\"action-link__icon\"\n\t\t\t\t\t:class=\"[isIconUrl ? 'action-link__icon--url' : icon]\"\n\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\" />\n\t\t\t</slot>\n\n\t\t\t<!-- long text with name -->\n\t\t\t<span\n\t\t\t\tv-if=\"name\"\n\t\t\t\tclass=\"action-link__longtext-wrapper\">\n\t\t\t\t<strong class=\"action-link__name\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</strong>\n\t\t\t\t<br>\n\t\t\t\t<!-- white space is shown on longtext, so we can't\n\t\t\t\tput {{ text }} on a new line for code readability -->\n\t\t\t\t<span class=\"action-link__longtext\" v-text=\"text\" />\n\t\t\t</span>\n\n\t\t\t<!-- long text only -->\n\t\t\t<!-- white space is shown on longtext, so we can't\n\t\t\tput {{ text }} on a new line for code readability -->\n\t\t\t<span\n\t\t\t\tv-else-if=\"isLongText\"\n\t\t\t\tclass=\"action-link__longtext\"\n\t\t\t\tv-text=\"text\" />\n\n\t\t\t<!-- default text display -->\n\t\t\t<span v-else class=\"action-link__text\">{{ text }}</span>\n\n\t\t\t<!-- fake slot to gather inner text -->\n\t\t\t<slot v-if=\"false\" />\n\t\t</a>\n\t</li>\n</template>\n\n<script>\nimport ActionTextMixin from '../../mixins/actionText.js'\nimport { NC_ACTIONS_IS_SEMANTIC_MENU } from '../NcActions/useNcActions.ts'\n\nexport default {\n\tname: 'NcActionLink',\n\n\tmixins: [ActionTextMixin],\n\n\tinject: {\n\t\tisInSemanticMenu: {\n\t\t\tfrom: NC_ACTIONS_IS_SEMANTIC_MENU,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * destionation to link to\n\t\t */\n\t\thref: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\t// href is either an anchor or a valid url starting with a scheme or a relative path\n\t\t\t\ttry {\n\t\t\t\t\treturn new URL(value)\n\t\t\t\t} catch {\n\t\t\t\t\treturn value.startsWith('#') || value.startsWith('/')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * download the link instead of opening\n\t\t */\n\t\tdownload: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * target to open the link\n\t\t */\n\t\ttarget: {\n\t\t\ttype: String,\n\t\t\tdefault: '_self',\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn value && (!value.startsWith('_') || ['_blank', '_self', '_parent', '_top'].indexOf(value) > -1)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Declares a native tooltip when not null\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../../assets/action.scss' as *;\n@include action-active;\n@include action-item('link');\n</style>\n"],"names":["_createElementBlock","_createElementVNode","_renderSlot","_normalizeClass","_normalizeStyle","_openBlock","_toDisplayString"],"mappings":";;;;AAqHA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,QAAQ,CAAC,eAAe;AAAA,EAExB,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,WAAW,CAAC,UAAU;AAErB,YAAI;AACH,iBAAO,IAAI,IAAI,KAAK;AAAA,QACrB,QAAQ;AACP,iBAAO,MAAM,WAAW,GAAG,KAAK,MAAM,WAAW,GAAG;AAAA,QACrD;AAAA,MACD;AAAA;;;;IAMD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,UAAU;AACrB,eAAO,UAAU,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,SAAS,WAAW,MAAM,EAAE,QAAQ,KAAK,IAAI;AAAA,MACpG;AAAA;;;;IAMD,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;;AAGZ;;;;;EAvFI,OAAM;;AACE,MAAA,aAAA,EAAA,OAAM,oBAAmB;;;;;EAkBrB,OAAM;;;sBA3CrBA,mBAgDK,MAAA;AAAA,IAhDD,OAAM;AAAA,IAAU,MAAM,SAAA,oBAAgB;AAAA;IACzCC,mBA8CI,KAAA;AAAA,MA7CF,UAAU,OAAA;AAAA,MACV,MAAM,OAAA;AAAA,MACN,cAAY,KAAA;AAAA,MACZ,QAAQ,OAAA;AAAA,MACR,OAAO,OAAA;AAAA,MACR,OAAM;AAAA,MACN,KAAI;AAAA,MACH,MAAM,SAAA,oBAAgB;AAAA,MACtB,gDAAO,KAAA,WAAA,KAAA,QAAA,GAAA,IAAA;AAAA;MAGRC,WAMO,yBANP,MAMO;AAAA,QALND,mBAImE,QAAA;AAAA,UAHlE,eAAY;AAAA,UACZ,OAAKE,eAAA,CAAC,qBAAmB,CAChB,KAAA,uCAAuC,KAAA,IAAI,CAAA,CAAA;AAAA,UACnD,OAAKC,eAAA,EAAA,iBAAqB,KAAA,YAAS,OAAU,KAAA,IAAI,MAAA,KAAA,CAAA;AAAA;;MAK7C,KAAA,QADPC,aAAAL,mBAUO,QAVP,YAUO;AAAA,QAPNC,mBAES,UAFT,YAESK,gBADL,KAAA,IAAI,GAAA,CAAA;AAAA,kCAERL,mBAAI,MAAA,MAAA,MAAA,EAAA;AAAA,QAGJA,mBAAoD,QAAA;AAAA,UAA9C,OAAM;AAAA,UAAwB,aAAAK,gBAAa,KAAL,IAAI;AAAA;YAOrC,KAAA,2BADZN,mBAGiB,QAAA;AAAA;QADhB,OAAM;AAAA,QACN,aAAAM,gBAAa,KAAL,IAAI;AAAA,+CAGbN,mBAAwD,QAAxD,YAAwDM,gBAAd,KAAA,IAAI,GAAA,CAAA;AAAA;;;;;"}
@@ -1,8 +1,8 @@
1
- import '../assets/NcActionTextEditable-BPaRhJ6u.css';
2
- import { m as mdiArrowRight } from "./mdi-8kZvl9vo.mjs";
1
+ import '../assets/NcActionTextEditable-TPYz4ma-.css';
2
+ import { m as mdiArrowRight } from "./mdi-XFJRiRqJ.mjs";
3
3
  import { A as ActionTextMixin } from "./actionText-DYzDdbVe.mjs";
4
4
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
5
- import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-5AA93z-F.mjs";
5
+ import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BvLanNaW.mjs";
6
6
  import { resolveComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, renderSlot, normalizeStyle, withModifiers, createCommentVNode, withDirectives, toDisplayString, mergeProps, createVNode, vShow } from "vue";
7
7
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
8
8
  const _sfc_main = {
@@ -133,8 +133,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
133
133
  ])
134
134
  ], 2);
135
135
  }
136
- const NcActionTextEditable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-c537247a"]]);
136
+ const NcActionTextEditable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-24e8b746"]]);
137
137
  export {
138
138
  NcActionTextEditable as N
139
139
  };
140
- //# sourceMappingURL=NcActionTextEditable-CXH_CFjU.mjs.map
140
+ //# sourceMappingURL=NcActionTextEditable-CoYA6jeC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcActionTextEditable-CoYA6jeC.mjs","sources":["../../src/components/NcActionTextEditable/NcActionTextEditable.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used inside of the [Actions](#Actions) component slots.\nAll undocumented attributes will be bound to the textarea. e.g. `maxlength`\n\n```\n<template>\n\t<NcActions>\n\t\t<NcActionTextEditable model-value=\"This is a textarea\">\n\t\t\t<template #icon>\n\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t</template>\n\t\t</NcActionTextEditable>\n\t\t<NcActionTextEditable :disabled=\"true\" model-value=\"This is a disabled textarea\">\n\t\t\t<template #icon>\n\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t</template>\n\t\t</NcActionTextEditable>\n\t\t<NcActionTextEditable name=\"Please edit the text\" model-value=\"This is a textarea with name\">\n\t\t\t<template #icon>\n\t\t\t\t<IconPencilOutline :size=\"20\" />\n\t\t\t</template>\n\t\t</NcActionTextEditable>\n\t</NcActions>\n</template>\n<script>\nimport IconPencilOutline from 'vue-material-design-icons/PencilOutline.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconPencilOutline,\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"{ 'action--disabled': disabled }\">\n\t\t<span\n\t\t\tclass=\"action-text-editable\"\n\t\t\t@click=\"onClick\">\n\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t<slot name=\"icon\">\n\t\t\t\t<span\n\t\t\t\t\t:class=\"[isIconUrl ? 'action-text-editable__icon--url' : icon]\"\n\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\"\n\t\t\t\t\tclass=\"action-text-editable__icon\" />\n\t\t\t</slot>\n\n\t\t\t<!-- form and input -->\n\t\t\t<form\n\t\t\t\tref=\"form\"\n\t\t\t\tclass=\"action-text-editable__form\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@submit.prevent=\"onSubmit\">\n\t\t\t\t<input :id=\"id\" type=\"submit\" class=\"action-text-editable__submit\">\n\n\t\t\t\t<!-- name -->\n\t\t\t\t<label\n\t\t\t\t\tv-if=\"name\"\n\t\t\t\t\tclass=\"action-text-editable__name\"\n\t\t\t\t\t:for=\"computedId\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</label>\n\n\t\t\t\t<textarea\n\t\t\t\t\t:id=\"computedId\"\n\t\t\t\t\tclass=\"action-text-editable__textarea\"\n\t\t\t\t\t:class=\"[{ focusable: isFocusable }]\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t:value=\"modelValue\"\n\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t@input=\"onInput\" />\n\n\t\t\t\t<!-- allow the custom font to inject a ::before\n\t\t\t\t\tnot possible on input[type=submit] -->\n\t\t\t\t<label v-show=\"!disabled\" :for=\"id\" class=\"action-text-editable__label\">\n\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiArrowRight\" />\n\t\t\t\t</label>\n\t\t\t</form>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nimport { mdiArrowRight } from '@mdi/js'\nimport ActionTextMixin from '../../mixins/actionText.js'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.js'\n\nexport default {\n\tname: 'NcActionTextEditable',\n\n\tcomponents: {\n\t\tNcIconSvgWrapper,\n\t},\n\n\tmixins: [ActionTextMixin],\n\n\tprops: {\n\t\t/**\n\t\t * id attribute of the checkbox element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-' + createElementId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the text area\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * value attribute of the input field\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'input',\n\t\t'update:modelValue',\n\t\t'submit',\n\t],\n\n\tsetup() {\n\t\treturn {\n\t\t\tmdiArrowRight,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t *\n\t\t * @return {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\n\t\tcomputedId() {\n\t\t\treturn createElementId()\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonInput(event) {\n\t\t\t/**\n\t\t\t * Emitted on input events of the text field\n\t\t\t *\n\t\t\t * @type {Event|Date}\n\t\t\t */\n\t\t\tthis.$emit('input', event)\n\t\t\t/**\n\t\t\t * Emitted when the inputs value changes\n\t\t\t *\n\t\t\t * @type {string|Date}\n\t\t\t */\n\t\t\tthis.$emit('update:modelValue', event.target.value)\n\t\t},\n\n\t\tonSubmit(event) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t} else {\n\t\t\t\t// ignore submit\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '../../assets/inputs.scss';\n@use '../../assets/action.scss' as *;\n@include action-active;\n@include action--disabled;\n\n$input-margin: 4px;\n\n.action-text-editable {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\tline-height: var(--default-clickable-area);\n\n\t& > span {\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t}\n\n\t&__icon {\n\t\tmin-width: 0; /* Overwrite icons*/\n\t\tmin-height: 0;\n\t\t/* Keep padding to define the width to\n\t\t\tassure correct position of a possible text */\n\t\tpadding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n\n\t\tbackground-position: #{$icon-margin} center;\n\t\tbackground-size: $icon-size;\n\t}\n\n\t&:deep(.material-design-icon) {\n\t\twidth: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\topacity: $opacity_full;\n\n\t\t.material-design-icon__svg {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t// Forms & text inputs\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex: 1 1 auto;\n\t\tflex-direction: column;\n\n\t\tposition: relative;\n\t\tmargin: $input-margin 0;\n\t\tpadding-inline-end: $icon-margin;\n\t}\n\n\t&__submit {\n\t\tposition: absolute;\n\t\tinset-inline-start: 0;\n\t\ttop: auto;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\toverflow: hidden;\n\t\tz-index: -1;\n\t\topacity: 0;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t// bottom-right corner\n\t\tposition: absolute;\n\t\tinset-inline-end: calc($icon-margin + 1px);\n\t\tbottom: 1px;\n\t\twidth: calc(var(--default-clickable-area) - $input-margin * 2);\n\t\theight: calc(var(--default-clickable-area) - $input-margin * 2);\n\t\tbox-sizing: border-box;\n\t\tmargin: 0;\n\t\tpadding: 7px 6px;\n\n\t\tborder: 0;\n\t\tborder-radius: 50%;\n\t\t/* Avoid background under border */\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-clip: padding-box;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t/* Inputs inside popover supports text, submit & reset */\n\t&__textarea {\n\t\tflex: 1 1 auto;\n\t\tcolor: inherit;\n\t\tborder-color: var(--color-border-maxcontrast);\n\n\t\tmin-height: calc(var(--default-clickable-area) * 2 - $input-margin * 2); /* twice the element margin-y */\n\t\tmax-height: calc(var(--default-clickable-area) * 3 - $input-margin * 2); /* twice the element margin-y */\n\t\t// block width widening\n\t\tmin-width: calc(var(--default-clickable-area) * 4);\n\t\twidth: 100% !important;\n\t\tmargin: 0;\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t/* only show confirm borders if input is not focused */\n\t\t&:not(:active):not(:hover):not(:focus) {\n\t\t\t&:invalid {\n\t\t\t\t& + .action-text-editable__label {\n\t\t\t\t\tbackground-color: var(--color-error);\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:not(:disabled) + .action-text-editable__label {\n\t\t\t\t&:active,\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:active,\n\t\t&:hover,\n\t\t&:focus {\n\t\t\t&:not(:disabled) + .action-text-editable__label {\n\t\t\t\t/* above previous input */\n\t\t\t\tz-index: 2;\n\n\t\t\t\tborder-color: var(--color-primary-element);\n\t\t\t\tborder-inline-start-color: transparent;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// if a form is the last of the list\n// add the same bottomMargin as the right padding\n// for visual balance\nli:last-child > .action-text-editable {\n\tmargin-bottom: calc($icon-margin - $input-margin);\n}\n\n// same for first item\nli:first-child > .action-text-editable {\n\tmargin-top: calc($icon-margin - $input-margin);\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_normalizeStyle","_mergeProps","_createVNode"],"mappings":";;;;;;AA+FA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,YAAY;AAAA,IACX;AAAA;EAGD,QAAQ,CAAC,eAAe;AAAA,EAExB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,IAAI;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAM,YAAY,gBAAe;AAAA,MAC1C,WAAW,CAAC,OAAO,GAAG,KAAI,MAAO;AAAA;;;;IAMlC,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA;EAGD,QAAQ;AACP,WAAO;AAAA,MACN;AAAA,IACD;AAAA,EACD;AAAA,EAEA,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMT,cAAc;AACb,aAAO,CAAC,KAAK;AAAA,IACd;AAAA,IAEA,aAAa;AACZ,aAAO,gBAAe;AAAA,IACvB;AAAA;EAGD,SAAS;AAAA,IACR,QAAQ,OAAO;AAMd,WAAK,MAAM,SAAS,KAAK;AAMzB,WAAK,MAAM,qBAAqB,MAAM,OAAO,KAAK;AAAA,IACnD;AAAA,IAEA,SAAS,OAAO;AACf,YAAM,eAAc;AACpB,YAAM,gBAAe;AACrB,UAAI,CAAC,KAAK,UAAU;AAMnB,aAAK,MAAM,UAAU,KAAK;AAAA,MAC3B,OAAO;AAEN,eAAO;AAAA,MACR;AAAA,IACD;AAAA;AAEF;;;;;;;;sBApJCA,mBA4CK,MAAA;AAAA,IA5CD,OAAKC,eAAA,CAAC,UAAQ,EAAA,oBAA+B,OAAA,UAAQ,CAAA;AAAA;IACxDC,mBA0CO,QAAA;AAAA,MAzCN,OAAM;AAAA,MACL,gDAAO,KAAA,WAAA,KAAA,QAAA,GAAA,IAAA;AAAA;MAERC,WAKO,yBALP,MAKO;AAAA,QAJND,mBAGsC,QAAA;AAAA,UAFpC,OAAKD,eAAA,CAAA,CAAG,KAAA,YAAS,oCAAuC,KAAA,IAAI,GAEvD,4BAA4B,CAAA;AAAA,UADjC,OAAKG,eAAA,EAAA,iBAAqB,KAAA,YAAS,OAAU,KAAA,IAAI,MAAA,KAAA,CAAA;AAAA;;MAKpDF,mBA6BO,QAAA;AAAA,QA5BN,KAAI;AAAA,QACJ,OAAM;AAAA,QACL,UAAU,OAAA;AAAA,QACV,+DAAgB,SAAA,YAAA,SAAA,SAAA,GAAA,IAAA,GAAQ,CAAA,SAAA,CAAA;AAAA;QACzBA,mBAAmE,SAAA;AAAA,UAA3D,IAAI,OAAA;AAAA,UAAI,MAAK;AAAA,UAAS,OAAM;AAAA;QAI7B,KAAA,qBADPF,mBAKQ,SAAA;AAAA;UAHP,OAAM;AAAA,UACL,KAAK,SAAA;AAAA,2BACH,KAAA,IAAI,GAAA,GAAA,UAAA;QAGRE,mBAOoB,YAPpBG,WAOoB;AAAA,UANlB,IAAI,SAAA;AAAA,UACL,OAAK,CAAC,kCAAgC,CAAA,EAAA,WAChB,SAAA,YAAW,CAAA,CAAA;AAAA,UAChC,UAAU,OAAA;AAAA,UACV,OAAO,OAAA;AAAA,WACA,KAAA,QAAM;AAAA,UACb,gDAAO,SAAA,WAAA,SAAA,QAAA,GAAA,IAAA;AAAA;uBAITH,mBAEQ,SAAA;AAAA,UAFmB,KAAK,OAAA;AAAA,UAAI,OAAM;AAAA;UACzCI,YAAsD,6BAAA;AAAA,YAApC,aAAA;AAAA,YAAa,MAAM,OAAA;AAAA;;mBADtB,OAAA,QAAQ;AAAA;;;;;;"}
@@ -1,10 +1,10 @@
1
- import '../assets/NcActions-DXLRy-4d.css';
1
+ import '../assets/NcActions-DOI7rRa0.css';
2
2
  import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, Comment, Fragment, Text, warn, h, computed } from "vue";
3
3
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
4
4
  import { u as useTrapStackControl } from "./useTrapStackControl-B6cEicto.mjs";
5
- import { r as register, p as t4, a as t } from "./_l10n--WxGDYem.mjs";
5
+ import { r as register, o as t4, a as t } from "./_l10n-DrTiip5c.mjs";
6
6
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
7
- import { N as NcButton } from "./NcButton-DkC5k3Lb.mjs";
7
+ import { N as NcButton } from "./NcButton-Dc8V4Urj.mjs";
8
8
  import { N as NcPopover } from "./NcPopover-C-MTaPCs.mjs";
9
9
  import { N as NC_ACTIONS_CLOSE_MENU, a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-CiGWxAJE.mjs";
10
10
  const _sfc_main$1 = {
@@ -196,7 +196,6 @@ const _sfc_main = {
196
196
  /**
197
197
  * Specifies the button variant used for trigger and single actions buttons.
198
198
  *
199
- * Accepted values: primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success.
200
199
  * If left empty, the default button style will be applied.
201
200
  *
202
201
  * @since 8.23.0
@@ -207,6 +206,18 @@ const _sfc_main = {
207
206
  return ["primary", "secondary", "tertiary", "tertiary-no-background", "tertiary-on-primary", "error", "warning", "success"].includes(value);
208
207
  },
209
208
  default: null
209
+ },
210
+ /**
211
+ * Specify the size used for trigger and single actions buttons.
212
+ *
213
+ * If left empty, the default button size will be applied.
214
+ */
215
+ size: {
216
+ type: String,
217
+ default: "normal",
218
+ validator(value) {
219
+ return ["small", "normal", "large"].includes(value);
220
+ }
210
221
  }
211
222
  },
212
223
  emits: [
@@ -379,55 +390,12 @@ const _sfc_main = {
379
390
  onOpened() {
380
391
  this.$nextTick(() => {
381
392
  this.focusFirstAction(null);
382
- this.resizePopover();
383
393
  this.$emit("opened");
384
394
  });
385
395
  },
386
396
  onClosed() {
387
397
  this.$emit("closed");
388
398
  },
389
- /**
390
- * Handle resizing the popover to make sure users can discover there is more to scroll
391
- */
392
- resizePopover() {
393
- const inner = this.$refs.menu.closest(".v-popper__inner");
394
- const height = this.$refs.menu.clientHeight;
395
- const maxMenuHeight = this.getMaxMenuHeight();
396
- if (height > maxMenuHeight) {
397
- let currentHeight = 0;
398
- let actionHeight = 0;
399
- for (const action of this.$refs.menuList.children) {
400
- if (currentHeight + action.clientHeight / 2 > maxMenuHeight) {
401
- inner.style.height = `${currentHeight - actionHeight / 2}px`;
402
- break;
403
- }
404
- actionHeight = action.clientHeight;
405
- currentHeight += actionHeight;
406
- }
407
- } else {
408
- inner.style.height = "fit-content";
409
- }
410
- },
411
- getMaxMenuHeight() {
412
- const { top, bottom } = this.$refs.triggerButton?.$el.getBoundingClientRect() ?? { top: 0, bottom: 0 };
413
- const { top: boundaryTop, bottom: boundaryBottom } = this.boundariesElement?.getBoundingClientRect() ?? { top: 0, bottom: window.innerHeight };
414
- return Math.max(
415
- // Either expand to the top
416
- Math.min(
417
- // max height is the top position of the trigger minus the header height minus the wedge and the padding
418
- top - 84,
419
- // and also limited to the space in the boundary
420
- top - boundaryTop
421
- ),
422
- // or expand to the bottom
423
- Math.min(
424
- // the max height is the window height minus current position of the trigger minus the wedge and padding
425
- window.innerHeight - bottom - 34,
426
- // and limit to the available space in the boundary
427
- boundaryBottom - bottom
428
- )
429
- );
430
- },
431
399
  // MENU KEYS & FOCUS MANAGEMENT
432
400
  /**
433
401
  * @return {HTMLElement|null}
@@ -648,6 +616,7 @@ const _sfc_main = {
648
616
  title,
649
617
  disabled: this.disabled || action?.props?.disabled,
650
618
  pressed: action?.props?.modelValue,
619
+ size: this.size,
651
620
  type,
652
621
  // If it has a menuName, we use a secondary button
653
622
  variant: this.variant || (buttonText ? "secondary" : "tertiary"),
@@ -675,6 +644,7 @@ const _sfc_main = {
675
644
  shown: this.opened,
676
645
  placement: this.placement,
677
646
  boundary: this.boundariesElement,
647
+ autoBoundaryMaxSize: true,
678
648
  container: this.container,
679
649
  ...this.manualOpen && {
680
650
  triggers: []
@@ -693,6 +663,7 @@ const _sfc_main = {
693
663
  id: triggerRandomId,
694
664
  class: "action-item__menutoggle",
695
665
  disabled: this.disabled,
666
+ size: this.size,
696
667
  variant: this.triggerButtonVariant,
697
668
  ref: "triggerButton",
698
669
  "aria-label": this.menuName ? null : this.ariaLabel,
@@ -735,7 +706,6 @@ const _sfc_main = {
735
706
  }
736
707
  this.$nextTick(() => {
737
708
  if (this.opened && this.$refs.menu) {
738
- this.resizePopover();
739
709
  const isAnyActive = this.$refs.menu.querySelector("li.active") || [];
740
710
  if (isAnyActive.length === 0) {
741
711
  this.focusFirstAction();
@@ -787,10 +757,10 @@ const _sfc_main = {
787
757
  );
788
758
  }
789
759
  };
790
- const NcActions = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6c19c816"]]);
760
+ const NcActions = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5f7eed6b"]]);
791
761
  export {
792
762
  IconDotsHorizontal as I,
793
763
  NcActions as N,
794
764
  isSlotPopulated as i
795
765
  };
796
- //# sourceMappingURL=NcActions-QtUC1sD3.mjs.map
766
+ //# sourceMappingURL=NcActions-DWmvh7-Y.mjs.map