@nextcloud/vue 9.3.1 → 9.3.3

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 (276) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +44 -44
  3. package/dist/assets/NcActionCheckbox-DLJQfCUI.css +127 -0
  4. package/dist/assets/NcActionRadio-Bd4RFH-l.css +127 -0
  5. package/dist/assets/{NcCheckboxRadioSwitch-C_70VMQr.css → NcCheckboxRadioSwitch-DpYt0YbL.css} +13 -12
  6. package/dist/assets/{NcFormBoxSwitch-BmyNQCbA.css → NcFormBoxSwitch-DScgbxtv.css} +2 -8
  7. package/dist/assets/NcIconToggleSwitch-C29S_5Rp.css +30 -0
  8. package/dist/assets/{NcModal-DLWvQ8EA.css → NcModal-Du-f0B7Y.css} +61 -61
  9. package/dist/chunks/{NcActionButton-pKOSrlGE.mjs → NcActionButton-DNXoAooH.mjs} +4 -4
  10. package/dist/chunks/{NcActionButton-pKOSrlGE.mjs.map → NcActionButton-DNXoAooH.mjs.map} +1 -1
  11. package/dist/chunks/{NcActionButtonGroup-D1cYCNRq.mjs → NcActionButtonGroup-B2MGnwK_.mjs} +3 -3
  12. package/dist/chunks/{NcActionButtonGroup-D1cYCNRq.mjs.map → NcActionButtonGroup-B2MGnwK_.mjs.map} +1 -1
  13. package/dist/chunks/{NcActionCaption-Fumfjzxj.mjs → NcActionCaption-Cgd3J8jw.mjs} +2 -2
  14. package/dist/chunks/{NcActionCaption-Fumfjzxj.mjs.map → NcActionCaption-Cgd3J8jw.mjs.map} +1 -1
  15. package/dist/chunks/NcActionCheckbox-DeHAMd23.mjs +122 -0
  16. package/dist/chunks/NcActionCheckbox-DeHAMd23.mjs.map +1 -0
  17. package/dist/chunks/{NcActionInput-uL5aa-A2.mjs → NcActionInput-BemRG66_.mjs} +5 -5
  18. package/dist/chunks/{NcActionInput-uL5aa-A2.mjs.map → NcActionInput-BemRG66_.mjs.map} +1 -1
  19. package/dist/chunks/{NcActionLink-vEvKSV4N.mjs → NcActionLink-Cd69py4e.mjs} +3 -3
  20. package/dist/chunks/{NcActionLink-vEvKSV4N.mjs.map → NcActionLink-Cd69py4e.mjs.map} +1 -1
  21. package/dist/chunks/NcActionRadio-DILn0DxW.mjs +120 -0
  22. package/dist/chunks/NcActionRadio-DILn0DxW.mjs.map +1 -0
  23. package/dist/chunks/{NcActionRouter-oT-YU_jf.mjs → NcActionRouter-DtxPh20B.mjs} +3 -3
  24. package/dist/chunks/{NcActionRouter-oT-YU_jf.mjs.map → NcActionRouter-DtxPh20B.mjs.map} +1 -1
  25. package/dist/chunks/{NcActionText-uKvLcEY6.mjs → NcActionText-Bd1fgVqA.mjs} +3 -3
  26. package/dist/chunks/{NcActionText-uKvLcEY6.mjs.map → NcActionText-Bd1fgVqA.mjs.map} +1 -1
  27. package/dist/chunks/{NcActionTextEditable-CoYA6jeC.mjs → NcActionTextEditable-DL4idmon.mjs} +3 -3
  28. package/dist/chunks/{NcActionTextEditable-CoYA6jeC.mjs.map → NcActionTextEditable-DL4idmon.mjs.map} +1 -1
  29. package/dist/chunks/{NcActions-DWmvh7-Y.mjs → NcActions-4R7icatI.mjs} +4 -4
  30. package/dist/chunks/{NcActions-DWmvh7-Y.mjs.map → NcActions-4R7icatI.mjs.map} +1 -1
  31. package/dist/chunks/{NcAppContent-CTpYDkuT.mjs → NcAppContent-BTNf1r8Z.mjs} +5 -5
  32. package/dist/chunks/{NcAppContent-CTpYDkuT.mjs.map → NcAppContent-BTNf1r8Z.mjs.map} +1 -1
  33. package/dist/chunks/{NcAppNavigation-NSjIVdnb.mjs → NcAppNavigation-DQB0KqoZ.mjs} +6 -6
  34. package/dist/chunks/{NcAppNavigation-NSjIVdnb.mjs.map → NcAppNavigation-DQB0KqoZ.mjs.map} +1 -1
  35. package/dist/chunks/{NcAppNavigationCaption-D4yUe1MX.mjs → NcAppNavigationCaption-DiLoiMN5.mjs} +2 -2
  36. package/dist/chunks/{NcAppNavigationCaption-D4yUe1MX.mjs.map → NcAppNavigationCaption-DiLoiMN5.mjs.map} +1 -1
  37. package/dist/chunks/{NcAppNavigationItem-hKUS0nZj.mjs → NcAppNavigationItem-OrqBniiI.mjs} +6 -6
  38. package/dist/chunks/{NcAppNavigationItem-hKUS0nZj.mjs.map → NcAppNavigationItem-OrqBniiI.mjs.map} +1 -1
  39. package/dist/chunks/{NcAppNavigationNew-CuwqNksa.mjs → NcAppNavigationNew-WS0F9mau.mjs} +2 -2
  40. package/dist/chunks/{NcAppNavigationNew-CuwqNksa.mjs.map → NcAppNavigationNew-WS0F9mau.mjs.map} +1 -1
  41. package/dist/chunks/{NcAppNavigationNewItem-IzXE-EEq.mjs → NcAppNavigationNewItem-DYH3Gimz.mjs} +2 -2
  42. package/dist/chunks/{NcAppNavigationNewItem-IzXE-EEq.mjs.map → NcAppNavigationNewItem-DYH3Gimz.mjs.map} +1 -1
  43. package/dist/chunks/{NcAppNavigationSearch-DCgwKEm9.mjs → NcAppNavigationSearch-ByuV3q2c.mjs} +4 -4
  44. package/dist/chunks/{NcAppNavigationSearch-DCgwKEm9.mjs.map → NcAppNavigationSearch-ByuV3q2c.mjs.map} +1 -1
  45. package/dist/chunks/{NcAppNavigationSettings-T04pqKfn.mjs → NcAppNavigationSettings-A0DXzd5B.mjs} +5 -5
  46. package/dist/chunks/{NcAppNavigationSettings-T04pqKfn.mjs.map → NcAppNavigationSettings-A0DXzd5B.mjs.map} +1 -1
  47. package/dist/chunks/{NcAppSettingsDialog-BCVofwA8.mjs → NcAppSettingsDialog-BaN30xl4.mjs} +5 -5
  48. package/dist/chunks/{NcAppSettingsDialog-BCVofwA8.mjs.map → NcAppSettingsDialog-BaN30xl4.mjs.map} +1 -1
  49. package/dist/chunks/{NcAppSettingsSection-B9R7enkC.mjs → NcAppSettingsSection-B2pFK0UK.mjs} +2 -2
  50. package/dist/chunks/{NcAppSettingsSection-B9R7enkC.mjs.map → NcAppSettingsSection-B2pFK0UK.mjs.map} +1 -1
  51. package/dist/chunks/{NcAppSettingsShortcutsSection-QPGGYtbC.mjs → NcAppSettingsShortcutsSection-DDmDMMsF.mjs} +4 -4
  52. package/dist/chunks/{NcAppSettingsShortcutsSection-QPGGYtbC.mjs.map → NcAppSettingsShortcutsSection-DDmDMMsF.mjs.map} +1 -1
  53. package/dist/chunks/{NcAppSidebar-BvBvQsXb.mjs → NcAppSidebar-as8lzUZp.mjs} +5 -5
  54. package/dist/chunks/{NcAppSidebar-BvBvQsXb.mjs.map → NcAppSidebar-as8lzUZp.mjs.map} +1 -1
  55. package/dist/chunks/{NcAssistantButton-CjpLsI1X.mjs → NcAssistantButton-CioiSWRg.mjs} +4 -4
  56. package/dist/chunks/{NcAssistantButton-CjpLsI1X.mjs.map → NcAssistantButton-CioiSWRg.mjs.map} +1 -1
  57. package/dist/chunks/{NcAssistantIcon-BMDc4udc.mjs → NcAssistantIcon-8pL-4h5f.mjs} +2 -2
  58. package/dist/chunks/{NcAssistantIcon-BMDc4udc.mjs.map → NcAssistantIcon-8pL-4h5f.mjs.map} +1 -1
  59. package/dist/chunks/{NcAvatar-DmUGApWA.mjs → NcAvatar-CK_dTsmT.mjs} +9 -9
  60. package/dist/chunks/{NcAvatar-DmUGApWA.mjs.map → NcAvatar-CK_dTsmT.mjs.map} +1 -1
  61. package/dist/chunks/{NcBreadcrumb-Bwkn3eve.mjs → NcBreadcrumb-ChYVw5CP.mjs} +3 -3
  62. package/dist/chunks/{NcBreadcrumb-Bwkn3eve.mjs.map → NcBreadcrumb-ChYVw5CP.mjs.map} +1 -1
  63. package/dist/chunks/{NcBreadcrumbs-PN5_hHQn.mjs → NcBreadcrumbs-CbJmdlaF.mjs} +6 -6
  64. package/dist/chunks/{NcBreadcrumbs-PN5_hHQn.mjs.map → NcBreadcrumbs-CbJmdlaF.mjs.map} +1 -1
  65. package/dist/chunks/{NcButton-Dc8V4Urj.mjs → NcButton-CzpKEx4V.mjs} +2 -2
  66. package/dist/chunks/{NcButton-Dc8V4Urj.mjs.map → NcButton-CzpKEx4V.mjs.map} +1 -1
  67. package/dist/chunks/{NcCheckboxRadioSwitch-BCSKF7Tk.mjs → NcCheckboxRadioSwitch-DisCqPZK.mjs} +38 -119
  68. package/dist/chunks/NcCheckboxRadioSwitch-DisCqPZK.mjs.map +1 -0
  69. package/dist/chunks/{NcChip-D8tGFzRl.mjs → NcChip-B8jcrLqG.mjs} +6 -6
  70. package/dist/chunks/{NcChip-D8tGFzRl.mjs.map → NcChip-B8jcrLqG.mjs.map} +1 -1
  71. package/dist/chunks/{NcCollectionList-C-Zxsdgw.mjs → NcCollectionList-TB1GbWbo.mjs} +6 -6
  72. package/dist/chunks/{NcCollectionList-C-Zxsdgw.mjs.map → NcCollectionList-TB1GbWbo.mjs.map} +1 -1
  73. package/dist/chunks/{NcColorPicker-Kc0JqRtp.mjs → NcColorPicker-3wpX7pKD.mjs} +6 -6
  74. package/dist/chunks/{NcColorPicker-Kc0JqRtp.mjs.map → NcColorPicker-3wpX7pKD.mjs.map} +1 -1
  75. package/dist/chunks/{NcContent-BR_nMwKN.mjs → NcContent-BrRHLO19.mjs} +5 -5
  76. package/dist/chunks/{NcContent-BR_nMwKN.mjs.map → NcContent-BrRHLO19.mjs.map} +1 -1
  77. package/dist/chunks/{NcDashboardWidget-Bz1t6sj0.mjs → NcDashboardWidget-1tax78_e.mjs} +4 -4
  78. package/dist/chunks/{NcDashboardWidget-Bz1t6sj0.mjs.map → NcDashboardWidget-1tax78_e.mjs.map} +1 -1
  79. package/dist/chunks/{NcDashboardWidgetItem-C_xl9X2u.mjs → NcDashboardWidgetItem-BjsN8uF0.mjs} +4 -4
  80. package/dist/chunks/{NcDashboardWidgetItem-C_xl9X2u.mjs.map → NcDashboardWidgetItem-BjsN8uF0.mjs.map} +1 -1
  81. package/dist/chunks/{NcDateTimePicker-DTf51PD8.mjs → NcDateTimePicker-DCuHXZjc.mjs} +6 -6
  82. package/dist/chunks/{NcDateTimePicker-DTf51PD8.mjs.map → NcDateTimePicker-DCuHXZjc.mjs.map} +1 -1
  83. package/dist/chunks/{NcDateTimePickerNative-DXF3-uR3.mjs → NcDateTimePickerNative-Dr8_mGlQ.mjs} +3 -3
  84. package/dist/chunks/{NcDateTimePickerNative-DXF3-uR3.mjs.map → NcDateTimePickerNative-Dr8_mGlQ.mjs.map} +1 -1
  85. package/dist/chunks/{NcDialog-CM7SCS7Z.mjs → NcDialog-BHl_LOs_.mjs} +3 -3
  86. package/dist/chunks/{NcDialog-CM7SCS7Z.mjs.map → NcDialog-BHl_LOs_.mjs.map} +1 -1
  87. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-BBumVVme.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-CYpktNKA.mjs} +4 -4
  88. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-BBumVVme.mjs.map → NcDialogButton.vue_vue_type_script_setup_true_lang-CYpktNKA.mjs.map} +1 -1
  89. package/dist/chunks/{NcEmojiPicker-pM4Pg2yq.mjs → NcEmojiPicker-CReazifM.mjs} +6 -6
  90. package/dist/chunks/{NcEmojiPicker-pM4Pg2yq.mjs.map → NcEmojiPicker-CReazifM.mjs.map} +1 -1
  91. package/dist/chunks/{NcFormBox-K2tCRm3B.mjs → NcFormBox-CkgY7Tif.mjs} +2 -2
  92. package/dist/chunks/{NcFormBox-K2tCRm3B.mjs.map → NcFormBox-CkgY7Tif.mjs.map} +1 -1
  93. package/dist/chunks/{NcFormBoxButton-7jokSLLb.mjs → NcFormBoxButton-DvMw5yUf.mjs} +3 -3
  94. package/dist/chunks/{NcFormBoxButton-7jokSLLb.mjs.map → NcFormBoxButton-DvMw5yUf.mjs.map} +1 -1
  95. package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-B7dsN2G5.mjs → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DYtyXBqR.mjs} +3 -3
  96. package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-B7dsN2G5.mjs.map → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DYtyXBqR.mjs.map} +1 -1
  97. package/dist/chunks/{NcFormBoxItem-BBP76Mkf.mjs → NcFormBoxItem-vnU0KmUL.mjs} +2 -2
  98. package/dist/chunks/{NcFormBoxItem-BBP76Mkf.mjs.map → NcFormBoxItem-vnU0KmUL.mjs.map} +1 -1
  99. package/dist/chunks/{NcFormBoxSwitch-UJwYMQPm.mjs → NcFormBoxSwitch-DGcRJH9Q.mjs} +10 -15
  100. package/dist/chunks/NcFormBoxSwitch-DGcRJH9Q.mjs.map +1 -0
  101. package/dist/chunks/{NcHeaderButton-CA17OV7l.mjs → NcHeaderButton-CIb5SvFk.mjs} +2 -2
  102. package/dist/chunks/{NcHeaderButton-CA17OV7l.mjs.map → NcHeaderButton-CIb5SvFk.mjs.map} +1 -1
  103. package/dist/chunks/{NcHeaderMenu-CdlSBOyC.mjs → NcHeaderMenu-CeJZT5-m.mjs} +2 -2
  104. package/dist/chunks/{NcHeaderMenu-CdlSBOyC.mjs.map → NcHeaderMenu-CeJZT5-m.mjs.map} +1 -1
  105. package/dist/chunks/{NcHotkey-KGHPzHBJ.mjs → NcHotkey-BMbdzaIs.mjs} +2 -2
  106. package/dist/chunks/{NcHotkey-KGHPzHBJ.mjs.map → NcHotkey-BMbdzaIs.mjs.map} +1 -1
  107. package/dist/chunks/{NcHotkeyList-BBE5BqwB.mjs → NcHotkeyList-67NnF26Y.mjs} +3 -3
  108. package/dist/chunks/{NcHotkeyList-BBE5BqwB.mjs.map → NcHotkeyList-67NnF26Y.mjs.map} +1 -1
  109. package/dist/chunks/NcIconToggleSwitch-DNEYngCw.mjs +50 -0
  110. package/dist/chunks/NcIconToggleSwitch-DNEYngCw.mjs.map +1 -0
  111. package/dist/chunks/{NcInputConfirmCancel-CSO9hp4z.mjs → NcInputConfirmCancel-DjMO3Xyv.mjs} +3 -3
  112. package/dist/chunks/{NcInputConfirmCancel-CSO9hp4z.mjs.map → NcInputConfirmCancel-DjMO3Xyv.mjs.map} +1 -1
  113. package/dist/chunks/{NcInputField-Bwsh2aHY.mjs → NcInputField-Clm9jOGJ.mjs} +3 -3
  114. package/dist/chunks/{NcInputField-Bwsh2aHY.mjs.map → NcInputField-Clm9jOGJ.mjs.map} +1 -1
  115. package/dist/chunks/{NcKbd-D3YSTteg.mjs → NcKbd-CZdynD1d.mjs} +3 -3
  116. package/dist/chunks/{NcKbd-D3YSTteg.mjs.map → NcKbd-CZdynD1d.mjs.map} +1 -1
  117. package/dist/chunks/{NcListItem-BHmdTInS.mjs → NcListItem-Bx93C7tP.mjs} +2 -2
  118. package/dist/chunks/{NcListItem-BHmdTInS.mjs.map → NcListItem-Bx93C7tP.mjs.map} +1 -1
  119. package/dist/chunks/{NcListItemIcon-8fWhyS_R.mjs → NcListItemIcon-DVy6eGJx.mjs} +2 -2
  120. package/dist/chunks/{NcListItemIcon-8fWhyS_R.mjs.map → NcListItemIcon-DVy6eGJx.mjs.map} +1 -1
  121. package/dist/chunks/{NcModal-MC_HktJd.mjs → NcModal-D00OJZV2.mjs} +9 -9
  122. package/dist/chunks/{NcModal-MC_HktJd.mjs.map → NcModal-D00OJZV2.mjs.map} +1 -1
  123. package/dist/chunks/{NcNoteCard-CVhtNL04.mjs → NcNoteCard-Cok_4Fld.mjs} +2 -2
  124. package/dist/chunks/{NcNoteCard-CVhtNL04.mjs.map → NcNoteCard-Cok_4Fld.mjs.map} +1 -1
  125. package/dist/chunks/{NcPasswordField-djttkA5Q.mjs → NcPasswordField-BOZlUwhr.mjs} +5 -5
  126. package/dist/chunks/{NcPasswordField-djttkA5Q.mjs.map → NcPasswordField-BOZlUwhr.mjs.map} +1 -1
  127. package/dist/chunks/{NcRadioGroup-CLtk-WPR.mjs → NcRadioGroup-HorQ2m39.mjs} +3 -3
  128. package/dist/chunks/{NcRadioGroup-CLtk-WPR.mjs.map → NcRadioGroup-HorQ2m39.mjs.map} +1 -1
  129. package/dist/chunks/{NcRadioGroupButton-CDA5i7Dq.mjs → NcRadioGroupButton-CAisx7g4.mjs} +3 -3
  130. package/dist/chunks/{NcRadioGroupButton-CDA5i7Dq.mjs.map → NcRadioGroupButton-CAisx7g4.mjs.map} +1 -1
  131. package/dist/chunks/{NcRelatedResourcesPanel-BVGAmIja.mjs → NcRelatedResourcesPanel-Dtxd3-o1.mjs} +3 -3
  132. package/dist/chunks/{NcRelatedResourcesPanel-BVGAmIja.mjs.map → NcRelatedResourcesPanel-Dtxd3-o1.mjs.map} +1 -1
  133. package/dist/chunks/{NcRichContenteditable-0w6dbJeG.mjs → NcRichContenteditable-B-w64JsT.mjs} +11 -11
  134. package/dist/chunks/{NcRichContenteditable-0w6dbJeG.mjs.map → NcRichContenteditable-B-w64JsT.mjs.map} +1 -1
  135. package/dist/chunks/{NcRichText-CBMtJzE_.mjs → NcRichText-1U5RXjPL.mjs} +5 -5
  136. package/dist/chunks/{NcRichText-CBMtJzE_.mjs.map → NcRichText-1U5RXjPL.mjs.map} +1 -1
  137. package/dist/chunks/{NcSelect-Czzsi3P_.mjs → NcSelect-Cc9_a8nG.mjs} +2 -2
  138. package/dist/chunks/{NcSelect-Czzsi3P_.mjs.map → NcSelect-Cc9_a8nG.mjs.map} +1 -1
  139. package/dist/chunks/{NcSelectTags-DJwqmQ7_.mjs → NcSelectTags-JyyA4W_e.mjs} +3 -3
  140. package/dist/chunks/{NcSelectTags-DJwqmQ7_.mjs.map → NcSelectTags-JyyA4W_e.mjs.map} +1 -1
  141. package/dist/chunks/{NcSelectUsers-DVTI1DIZ.mjs → NcSelectUsers-DlUM6S6l.mjs} +3 -3
  142. package/dist/chunks/{NcSelectUsers-DVTI1DIZ.mjs.map → NcSelectUsers-DlUM6S6l.mjs.map} +1 -1
  143. package/dist/chunks/{NcSettingsSection-DYXU4pOK.mjs → NcSettingsSection-BcLE6UnZ.mjs} +3 -3
  144. package/dist/chunks/{NcSettingsSection-DYXU4pOK.mjs.map → NcSettingsSection-BcLE6UnZ.mjs.map} +1 -1
  145. package/dist/chunks/{NcSettingsSelectGroup-CuRTrvVN.mjs → NcSettingsSelectGroup-CUU-GWYl.mjs} +3 -3
  146. package/dist/chunks/{NcSettingsSelectGroup-CuRTrvVN.mjs.map → NcSettingsSelectGroup-CUU-GWYl.mjs.map} +1 -1
  147. package/dist/chunks/{NcTextArea-CdtxX_QJ.mjs → NcTextArea-PIs9Kt0A.mjs} +2 -2
  148. package/dist/chunks/{NcTextArea-CdtxX_QJ.mjs.map → NcTextArea-PIs9Kt0A.mjs.map} +1 -1
  149. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-D1y_LfGJ.mjs → NcTextField.vue_vue_type_script_setup_true_lang-CCsZqnkM.mjs} +5 -5
  150. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-D1y_LfGJ.mjs.map → NcTextField.vue_vue_type_script_setup_true_lang-CCsZqnkM.mjs.map} +1 -1
  151. package/dist/chunks/{NcThemeProvider.vue_vue_type_script_setup_true_lang-nUDJsDGI.mjs → NcThemeProvider.vue_vue_type_script_setup_true_lang-DWn1DRTx.mjs} +2 -2
  152. package/dist/chunks/{NcThemeProvider.vue_vue_type_script_setup_true_lang-nUDJsDGI.mjs.map → NcThemeProvider.vue_vue_type_script_setup_true_lang-DWn1DRTx.mjs.map} +1 -1
  153. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-CGFRZR-3.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-BffYEppS.mjs} +4 -4
  154. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-CGFRZR-3.mjs.map → NcTimezonePicker.vue_vue_type_script_setup_true_lang-BffYEppS.mjs.map} +1 -1
  155. package/dist/chunks/{NcUserBubble-DPAmU2_J.mjs → NcUserBubble-Cs84CNHz.mjs} +2 -2
  156. package/dist/chunks/{NcUserBubble-DPAmU2_J.mjs.map → NcUserBubble-Cs84CNHz.mjs.map} +1 -1
  157. package/dist/chunks/{NcUserStatusIcon-CGEf7fej.mjs → NcUserStatusIcon-BgElapLh.mjs} +3 -3
  158. package/dist/chunks/{NcUserStatusIcon-CGEf7fej.mjs.map → NcUserStatusIcon-BgElapLh.mjs.map} +1 -1
  159. package/dist/chunks/{_l10n-DrTiip5c.mjs → _l10n-CgsPi8nC.mjs} +76 -38
  160. package/dist/chunks/_l10n-CgsPi8nC.mjs.map +1 -0
  161. package/dist/chunks/{actionText-DYzDdbVe.mjs → actionText-BXR0sWNu.mjs} +2 -2
  162. package/dist/chunks/{actionText-DYzDdbVe.mjs.map → actionText-BXR0sWNu.mjs.map} +1 -1
  163. package/dist/chunks/{colors-Go3zmZRD.mjs → colors-CL_wvNtd.mjs} +2 -2
  164. package/dist/chunks/{colors-Go3zmZRD.mjs.map → colors-CL_wvNtd.mjs.map} +1 -1
  165. package/dist/chunks/constants-Ciwvl5xb.mjs +11 -0
  166. package/dist/chunks/{constants-DrSznhwy.mjs.map → constants-Ciwvl5xb.mjs.map} +1 -1
  167. package/dist/chunks/{constants-Bls5liKo.mjs → constants-wIEKSp2G.mjs} +2 -2
  168. package/dist/chunks/{constants-Bls5liKo.mjs.map → constants-wIEKSp2G.mjs.map} +1 -1
  169. package/dist/chunks/{mdi-XFJRiRqJ.mjs → mdi-CpchYUUV.mjs} +33 -29
  170. package/dist/chunks/{mdi-XFJRiRqJ.mjs.map → mdi-CpchYUUV.mjs.map} +1 -1
  171. package/dist/chunks/{referencePickerModal-DmD3-xYB.mjs → referencePickerModal-CXAtbcPd.mjs} +8 -8
  172. package/dist/chunks/{referencePickerModal-DmD3-xYB.mjs.map → referencePickerModal-CXAtbcPd.mjs.map} +1 -1
  173. package/dist/chunks/useAppSettingsDialog-C73Wx6iQ.mjs +12 -0
  174. package/dist/chunks/{useAppSettingsDialog-DbtEkXa4.mjs.map → useAppSettingsDialog-C73Wx6iQ.mjs.map} +1 -1
  175. package/dist/chunks/{useCopy-7FVrniF_.mjs → useCopy-D4CcMqlA.mjs} +3 -3
  176. package/dist/chunks/{useCopy-7FVrniF_.mjs.map → useCopy-D4CcMqlA.mjs.map} +1 -1
  177. package/dist/chunks/useNcActions-BzPO2c4h.mjs +7 -0
  178. package/dist/chunks/{useNcActions-CiGWxAJE.mjs.map → useNcActions-BzPO2c4h.mjs.map} +1 -1
  179. package/dist/chunks/{useNcFormBox-DA9iwXWY.mjs → useNcFormBox-Djlh582y.mjs} +2 -2
  180. package/dist/chunks/{useNcFormBox-DA9iwXWY.mjs.map → useNcFormBox-Djlh582y.mjs.map} +1 -1
  181. package/dist/chunks/{useNcRadioGroup-DaZbEKbf.mjs → useNcRadioGroup-D6llQmAl.mjs} +2 -2
  182. package/dist/chunks/{useNcRadioGroup-DaZbEKbf.mjs.map → useNcRadioGroup-D6llQmAl.mjs.map} +1 -1
  183. package/dist/components/NcActionButton/index.mjs +1 -1
  184. package/dist/components/NcActionButtonGroup/index.mjs +1 -1
  185. package/dist/components/NcActionCaption/index.mjs +1 -1
  186. package/dist/components/NcActionCheckbox/NcActionCheckbox.vue.d.ts +27 -16
  187. package/dist/components/NcActionCheckbox/index.mjs +1 -1
  188. package/dist/components/NcActionInput/index.mjs +1 -1
  189. package/dist/components/NcActionLink/index.mjs +1 -1
  190. package/dist/components/NcActionRadio/NcActionRadio.vue.d.ts +26 -17
  191. package/dist/components/NcActionRadio/index.mjs +1 -1
  192. package/dist/components/NcActionRouter/index.mjs +1 -1
  193. package/dist/components/NcActionText/index.mjs +1 -1
  194. package/dist/components/NcActionTextEditable/index.mjs +1 -1
  195. package/dist/components/NcActions/index.mjs +1 -1
  196. package/dist/components/NcAppContent/index.mjs +1 -1
  197. package/dist/components/NcAppNavigation/index.mjs +1 -1
  198. package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
  199. package/dist/components/NcAppNavigationItem/index.mjs +1 -1
  200. package/dist/components/NcAppNavigationNew/index.mjs +1 -1
  201. package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
  202. package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
  203. package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
  204. package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
  205. package/dist/components/NcAppSettingsSection/index.mjs +1 -1
  206. package/dist/components/NcAppSettingsSectionShortcuts/index.mjs +1 -1
  207. package/dist/components/NcAppSettingsShortcutsSection/index.mjs +1 -1
  208. package/dist/components/NcAppSidebar/index.mjs +1 -1
  209. package/dist/components/NcAssistantButton/index.mjs +1 -1
  210. package/dist/components/NcAssistantIcon/index.mjs +1 -1
  211. package/dist/components/NcAvatar/index.mjs +1 -1
  212. package/dist/components/NcBreadcrumb/index.mjs +1 -1
  213. package/dist/components/NcBreadcrumbs/index.mjs +1 -1
  214. package/dist/components/NcButton/index.mjs +1 -1
  215. package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
  216. package/dist/components/NcChip/index.mjs +1 -1
  217. package/dist/components/NcCollectionList/index.mjs +1 -1
  218. package/dist/components/NcColorPicker/index.mjs +1 -1
  219. package/dist/components/NcContent/index.mjs +1 -1
  220. package/dist/components/NcDashboardWidget/index.mjs +1 -1
  221. package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
  222. package/dist/components/NcDateTimePicker/index.mjs +1 -1
  223. package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
  224. package/dist/components/NcDialog/index.mjs +1 -1
  225. package/dist/components/NcDialogButton/index.mjs +1 -1
  226. package/dist/components/NcEmojiPicker/index.mjs +1 -1
  227. package/dist/components/NcFormBox/index.mjs +1 -1
  228. package/dist/components/NcFormBoxButton/index.mjs +1 -1
  229. package/dist/components/NcFormBoxCopyButton/index.mjs +1 -1
  230. package/dist/components/NcFormBoxSwitch/index.mjs +1 -1
  231. package/dist/components/NcHeaderButton/index.mjs +1 -1
  232. package/dist/components/NcHeaderMenu/index.mjs +1 -1
  233. package/dist/components/NcHotkey/index.mjs +1 -1
  234. package/dist/components/NcHotkeyList/index.mjs +1 -1
  235. package/dist/components/NcIconToggleSwitch/NcIconToggleSwitch.vue.d.ts +16 -0
  236. package/dist/components/NcInputField/index.mjs +1 -1
  237. package/dist/components/NcKbd/index.mjs +1 -1
  238. package/dist/components/NcListItem/index.mjs +1 -1
  239. package/dist/components/NcListItemIcon/index.mjs +1 -1
  240. package/dist/components/NcModal/index.mjs +1 -1
  241. package/dist/components/NcNoteCard/index.mjs +1 -1
  242. package/dist/components/NcPasswordField/index.mjs +1 -1
  243. package/dist/components/NcRadioGroup/index.mjs +1 -1
  244. package/dist/components/NcRadioGroupButton/index.mjs +1 -1
  245. package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
  246. package/dist/components/NcRichContenteditable/index.mjs +1 -1
  247. package/dist/components/NcRichText/index.mjs +3 -3
  248. package/dist/components/NcSelect/index.mjs +1 -1
  249. package/dist/components/NcSelectTags/index.mjs +1 -1
  250. package/dist/components/NcSelectUsers/index.mjs +1 -1
  251. package/dist/components/NcSettingsSection/index.mjs +1 -1
  252. package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
  253. package/dist/components/NcTextArea/index.mjs +1 -1
  254. package/dist/components/NcTextField/index.mjs +1 -1
  255. package/dist/components/NcThemeProvider/index.mjs +1 -1
  256. package/dist/components/NcTimezonePicker/index.mjs +1 -1
  257. package/dist/components/NcUserBubble/index.mjs +1 -1
  258. package/dist/components/NcUserStatusIcon/index.mjs +1 -1
  259. package/dist/composables/useFormatDateTime/index.mjs +1 -1
  260. package/dist/composables/useIsDarkTheme/index.mjs +1 -1
  261. package/dist/functions/reference/index.mjs +1 -1
  262. package/dist/functions/usernameToColor/index.mjs +1 -1
  263. package/dist/index.mjs +73 -73
  264. package/package.json +16 -16
  265. package/dist/assets/NcActionCheckbox-BeT6fCCy.css +0 -80
  266. package/dist/assets/NcActionRadio-DgdLD238.css +0 -79
  267. package/dist/chunks/NcActionCheckbox-CwrO3g3I.mjs +0 -127
  268. package/dist/chunks/NcActionCheckbox-CwrO3g3I.mjs.map +0 -1
  269. package/dist/chunks/NcActionRadio-ByCpOD0q.mjs +0 -136
  270. package/dist/chunks/NcActionRadio-ByCpOD0q.mjs.map +0 -1
  271. package/dist/chunks/NcCheckboxRadioSwitch-BCSKF7Tk.mjs.map +0 -1
  272. package/dist/chunks/NcFormBoxSwitch-UJwYMQPm.mjs.map +0 -1
  273. package/dist/chunks/_l10n-DrTiip5c.mjs.map +0 -1
  274. package/dist/chunks/constants-DrSznhwy.mjs +0 -11
  275. package/dist/chunks/useAppSettingsDialog-DbtEkXa4.mjs +0 -12
  276. package/dist/chunks/useNcActions-CiGWxAJE.mjs +0 -7
@@ -9,14 +9,14 @@
9
9
  /*
10
10
  * Ensure proper alignment of the vue material icons
11
11
  */
12
- .material-design-icon[data-v-1639aad0] {
12
+ .material-design-icon[data-v-99ca734a] {
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
- .modal-mask[data-v-1639aad0] {
19
+ .modal-mask[data-v-99ca734a] {
20
20
  position: fixed;
21
21
  z-index: 9998;
22
22
  top: 0;
@@ -27,16 +27,16 @@
27
27
  --backdrop-color: 0, 0, 0;
28
28
  background-color: rgba(var(--backdrop-color), 0.5);
29
29
  }
30
- .modal-mask[data-v-1639aad0], .modal-mask[data-v-1639aad0] * {
30
+ .modal-mask[data-v-99ca734a], .modal-mask[data-v-99ca734a] * {
31
31
  box-sizing: border-box;
32
32
  }
33
- .modal-mask--opaque[data-v-1639aad0] {
33
+ .modal-mask--opaque[data-v-99ca734a] {
34
34
  background-color: rgba(var(--backdrop-color), 0.92);
35
35
  }
36
- .modal-mask--light[data-v-1639aad0] {
36
+ .modal-mask--light[data-v-99ca734a] {
37
37
  --backdrop-color: 255, 255, 255;
38
38
  }
39
- .modal-header[data-v-1639aad0] {
39
+ .modal-header[data-v-99ca734a] {
40
40
  position: absolute;
41
41
  z-index: 10001;
42
42
  top: 0;
@@ -49,7 +49,7 @@
49
49
  overflow: hidden;
50
50
  transition: opacity 250ms, visibility 250ms;
51
51
  }
52
- .modal-header__name[data-v-1639aad0] {
52
+ .modal-header__name[data-v-99ca734a] {
53
53
  overflow-x: hidden;
54
54
  width: 100%;
55
55
  padding: 0 calc(var(--default-clickable-area) * 3) 0 12px;
@@ -60,26 +60,26 @@
60
60
  margin-block: 0;
61
61
  }
62
62
  @media only screen and (min-width: 1024px) {
63
- .modal-header__name[data-v-1639aad0] {
63
+ .modal-header__name[data-v-99ca734a] {
64
64
  padding-inline-start: calc(var(--default-clickable-area) * 3);
65
65
  text-align: center;
66
66
  }
67
67
  }
68
- .modal-header .icons-menu[data-v-1639aad0] {
68
+ .modal-header .icons-menu[data-v-99ca734a] {
69
69
  position: absolute;
70
70
  inset-inline-end: 0;
71
71
  display: flex;
72
72
  align-items: center;
73
73
  justify-content: flex-end;
74
74
  }
75
- .modal-header .icons-menu .header-close[data-v-1639aad0] {
75
+ .modal-header .icons-menu .header-close[data-v-99ca734a] {
76
76
  display: flex;
77
77
  align-items: center;
78
78
  justify-content: center;
79
79
  margin: calc((var(--header-height) - var(--default-clickable-area)) / 2);
80
80
  padding: 0;
81
81
  }
82
- .modal-header .icons-menu .play-pause-icons[data-v-1639aad0] {
82
+ .modal-header .icons-menu .play-pause-icons[data-v-99ca734a] {
83
83
  position: relative;
84
84
  width: var(--header-height);
85
85
  height: var(--header-height);
@@ -89,33 +89,33 @@
89
89
  border: none;
90
90
  background-color: transparent;
91
91
  }
92
- .modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__icon[data-v-1639aad0], .modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__icon[data-v-1639aad0] {
92
+ .modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__icon[data-v-99ca734a], .modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__icon[data-v-99ca734a] {
93
93
  opacity: 1;
94
94
  border-radius: calc(var(--default-clickable-area) / 2);
95
95
  background-color: rgba(127, 127, 127, 0.25);
96
96
  }
97
- .modal-header .icons-menu .play-pause-icons__icon[data-v-1639aad0] {
97
+ .modal-header .icons-menu .play-pause-icons__icon[data-v-99ca734a] {
98
98
  width: var(--default-clickable-area);
99
99
  height: var(--default-clickable-area);
100
100
  margin: calc((var(--header-height) - var(--default-clickable-area)) / 2);
101
101
  cursor: pointer;
102
102
  opacity: 0.7;
103
103
  }
104
- .modal-header .icons-menu[data-v-1639aad0] .action-item {
104
+ .modal-header .icons-menu[data-v-99ca734a] .action-item {
105
105
  margin: calc((var(--header-height) - var(--default-clickable-area)) / 2);
106
106
  }
107
- .modal-header .icons-menu[data-v-1639aad0] .action-item--single {
107
+ .modal-header .icons-menu[data-v-99ca734a] .action-item--single {
108
108
  width: var(--default-clickable-area);
109
109
  height: var(--default-clickable-area);
110
110
  cursor: pointer;
111
111
  background-position: center;
112
112
  background-size: 22px;
113
113
  }
114
- .modal-header .icons-menu .header-actions[data-v-1639aad0] button:focus-visible {
114
+ .modal-header .icons-menu .header-actions[data-v-99ca734a] button:focus-visible {
115
115
  box-shadow: none !important;
116
116
  outline: 2px solid #fff !important;
117
117
  }
118
- .modal-wrapper[data-v-1639aad0] {
118
+ .modal-wrapper[data-v-99ca734a] {
119
119
  display: flex;
120
120
  align-items: center;
121
121
  justify-content: center;
@@ -123,8 +123,8 @@
123
123
  height: 100%;
124
124
  /* Navigation buttons */
125
125
  }
126
- .modal-wrapper .prev[data-v-1639aad0],
127
- .modal-wrapper .next[data-v-1639aad0] {
126
+ .modal-wrapper .prev[data-v-99ca734a],
127
+ .modal-wrapper .next[data-v-99ca734a] {
128
128
  z-index: 10000;
129
129
  height: 35vh;
130
130
  min-height: 300px;
@@ -132,21 +132,21 @@
132
132
  transition: opacity 250ms;
133
133
  color: white;
134
134
  }
135
- .modal-wrapper .prev[data-v-1639aad0]:focus-visible,
136
- .modal-wrapper .next[data-v-1639aad0]:focus-visible {
135
+ .modal-wrapper .prev[data-v-99ca734a]:focus-visible,
136
+ .modal-wrapper .next[data-v-99ca734a]:focus-visible {
137
137
  box-shadow: 0 0 0 2px var(--color-primary-element-text);
138
138
  background-color: var(--color-box-shadow);
139
139
  }
140
- .modal-wrapper .prev[data-v-1639aad0] {
140
+ .modal-wrapper .prev[data-v-99ca734a] {
141
141
  inset-inline-start: 2px;
142
142
  }
143
- .modal-wrapper .next[data-v-1639aad0] {
143
+ .modal-wrapper .next[data-v-99ca734a] {
144
144
  inset-inline-end: 2px;
145
145
  }
146
- .modal-wrapper[data-v-1639aad0] {
146
+ .modal-wrapper[data-v-99ca734a] {
147
147
  /* Content */
148
148
  }
149
- .modal-wrapper .modal-container[data-v-1639aad0] {
149
+ .modal-wrapper .modal-container[data-v-99ca734a] {
150
150
  position: relative;
151
151
  display: flex;
152
152
  padding: 0;
@@ -157,33 +157,33 @@
157
157
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
158
158
  overflow: auto;
159
159
  }
160
- .modal-wrapper .modal-container__close[data-v-1639aad0] {
160
+ .modal-wrapper .modal-container__close[data-v-99ca734a] {
161
161
  z-index: 1;
162
162
  position: absolute;
163
163
  top: 4px;
164
164
  inset-inline-end: var(--default-grid-baseline);
165
165
  }
166
- .modal-wrapper .modal-container__content[data-v-1639aad0] {
166
+ .modal-wrapper .modal-container__content[data-v-99ca734a] {
167
167
  width: 100%;
168
168
  min-height: 52px;
169
169
  overflow: auto;
170
170
  }
171
- .modal-wrapper--small > .modal-container[data-v-1639aad0] {
171
+ .modal-wrapper--small > .modal-container[data-v-99ca734a] {
172
172
  width: 400px;
173
173
  max-width: 90%;
174
- max-height: min(90%, 100% - 2 * var(--header-height));
174
+ max-height: min(90%, 100% - 2 * var(--header-height) - 2 * var(--body-container-margin));
175
175
  }
176
- .modal-wrapper--normal > .modal-container[data-v-1639aad0] {
176
+ .modal-wrapper--normal > .modal-container[data-v-99ca734a] {
177
177
  max-width: 90%;
178
178
  width: 600px;
179
- max-height: min(90%, 100% - 2 * var(--header-height));
179
+ max-height: min(90%, 100% - 2 * var(--header-height) - 2 * var(--body-container-margin));
180
180
  }
181
- .modal-wrapper--large > .modal-container[data-v-1639aad0] {
181
+ .modal-wrapper--large > .modal-container[data-v-99ca734a] {
182
182
  max-width: 90%;
183
183
  width: 900px;
184
- max-height: min(90%, 100% - 2 * var(--header-height));
184
+ max-height: min(90%, 100% - 2 * var(--header-height) - 2 * var(--body-container-margin));
185
185
  }
186
- .modal-wrapper--full > .modal-container[data-v-1639aad0] {
186
+ .modal-wrapper--full > .modal-container[data-v-99ca734a] {
187
187
  width: 100%;
188
188
  height: calc(100% - var(--header-height));
189
189
  position: absolute;
@@ -191,7 +191,7 @@
191
191
  border-radius: 0;
192
192
  }
193
193
  @media only screen and ((max-width: 512px) or (max-height: 400px)) {
194
- .modal-wrapper .modal-container[data-v-1639aad0] {
194
+ .modal-wrapper .modal-container[data-v-99ca734a] {
195
195
  max-width: initial;
196
196
  width: 100%;
197
197
  max-height: initial;
@@ -203,60 +203,60 @@
203
203
  }
204
204
 
205
205
  /* TRANSITIONS */
206
- .fade-enter-active[data-v-1639aad0],
207
- .fade-leave-active[data-v-1639aad0] {
206
+ .fade-enter-active[data-v-99ca734a],
207
+ .fade-leave-active[data-v-99ca734a] {
208
208
  transition: opacity 250ms;
209
209
  }
210
- .fade-enter-from[data-v-1639aad0],
211
- .fade-leave-to[data-v-1639aad0] {
210
+ .fade-enter-from[data-v-99ca734a],
211
+ .fade-leave-to[data-v-99ca734a] {
212
212
  opacity: 0;
213
213
  }
214
- .fade-visibility-enter-from[data-v-1639aad0],
215
- .fade-visibility-leave-to[data-v-1639aad0] {
214
+ .fade-visibility-enter-from[data-v-99ca734a],
215
+ .fade-visibility-leave-to[data-v-99ca734a] {
216
216
  visibility: hidden;
217
217
  opacity: 0;
218
218
  }
219
- .modal-in-enter-active[data-v-1639aad0],
220
- .modal-in-leave-active[data-v-1639aad0],
221
- .modal-out-enter-active[data-v-1639aad0],
222
- .modal-out-leave-active[data-v-1639aad0] {
219
+ .modal-in-enter-active[data-v-99ca734a],
220
+ .modal-in-leave-active[data-v-99ca734a],
221
+ .modal-out-enter-active[data-v-99ca734a],
222
+ .modal-out-leave-active[data-v-99ca734a] {
223
223
  transition: opacity 250ms;
224
224
  }
225
- .modal-in-enter-from[data-v-1639aad0],
226
- .modal-in-leave-to[data-v-1639aad0],
227
- .modal-out-enter-from[data-v-1639aad0],
228
- .modal-out-leave-to[data-v-1639aad0] {
225
+ .modal-in-enter-from[data-v-99ca734a],
226
+ .modal-in-leave-to[data-v-99ca734a],
227
+ .modal-out-enter-from[data-v-99ca734a],
228
+ .modal-out-leave-to[data-v-99ca734a] {
229
229
  opacity: 0;
230
230
  }
231
- .modal-in-enter .modal-container[data-v-1639aad0],
232
- .modal-in-leave-to .modal-container[data-v-1639aad0] {
231
+ .modal-in-enter .modal-container[data-v-99ca734a],
232
+ .modal-in-leave-to .modal-container[data-v-99ca734a] {
233
233
  transform: scale(0.9);
234
234
  }
235
- .modal-out-enter .modal-container[data-v-1639aad0],
236
- .modal-out-leave-to .modal-container[data-v-1639aad0] {
235
+ .modal-out-enter .modal-container[data-v-99ca734a],
236
+ .modal-out-leave-to .modal-container[data-v-99ca734a] {
237
237
  transform: scale(1.1);
238
238
  }
239
- .modal-mask .play-pause-icons .progress-ring[data-v-1639aad0] {
239
+ .modal-mask .play-pause-icons .progress-ring[data-v-99ca734a] {
240
240
  position: absolute;
241
241
  top: 0;
242
242
  inset-inline-start: 0;
243
243
  transform: rotate(-90deg);
244
244
  }
245
- .modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1639aad0] {
245
+ .modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-99ca734a] {
246
246
  transition: 100ms stroke-dashoffset;
247
247
  transform-origin: 50% 50%;
248
- animation: progressring-1639aad0 linear var(--3caa6a4b) infinite;
248
+ animation: progressring-99ca734a linear var(--bf9ee90a) infinite;
249
249
  stroke-linecap: round;
250
250
  stroke-dashoffset: 94.2477796077;
251
251
  stroke-dasharray: 94.2477796077;
252
252
  }
253
- .modal-mask .play-pause-icons--paused .play-pause-icons__icon[data-v-1639aad0] {
254
- animation: breath-1639aad0 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
253
+ .modal-mask .play-pause-icons--paused .play-pause-icons__icon[data-v-99ca734a] {
254
+ animation: breath-99ca734a 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
255
255
  }
256
- .modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1639aad0] {
256
+ .modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-99ca734a] {
257
257
  animation-play-state: paused !important;
258
258
  }
259
- @keyframes progressring-1639aad0 {
259
+ @keyframes progressring-99ca734a {
260
260
  from {
261
261
  stroke-dashoffset: 94.2477796077;
262
262
  }
@@ -264,7 +264,7 @@ to {
264
264
  stroke-dashoffset: 0;
265
265
  }
266
266
  }
267
- @keyframes breath-1639aad0 {
267
+ @keyframes breath-99ca734a {
268
268
  0% {
269
269
  opacity: 1;
270
270
  }
@@ -1,8 +1,8 @@
1
1
  import '../assets/NcActionButton-Bb0ihLdt.css';
2
- import { c as mdiChevronRight, d as mdiCheck } from "./mdi-XFJRiRqJ.mjs";
2
+ import { c as mdiChevronRight, d as mdiCheck } from "./mdi-CpchYUUV.mjs";
3
3
  import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BvLanNaW.mjs";
4
- import { A as ActionTextMixin } from "./actionText-DYzDdbVe.mjs";
5
- import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-CiGWxAJE.mjs";
4
+ import { A as ActionTextMixin } from "./actionText-BXR0sWNu.mjs";
5
+ import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-BzPO2c4h.mjs";
6
6
  import { resolveComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, createBlock, createCommentVNode, normalizeStyle, toDisplayString } from "vue";
7
7
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
8
8
  const _sfc_main = {
@@ -225,4 +225,4 @@ const NcActionButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_r
225
225
  export {
226
226
  NcActionButton as N
227
227
  };
228
- //# sourceMappingURL=NcActionButton-pKOSrlGE.mjs.map
228
+ //# sourceMappingURL=NcActionButton-DNXoAooH.mjs.map
@@ -1 +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":"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"}
1
+ {"version":3,"file":"NcActionButton-DNXoAooH.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":"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"}
@@ -1,8 +1,8 @@
1
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-DrTiip5c.mjs";
3
+ import { r as register, a as t } from "./_l10n-CgsPi8nC.mjs";
4
4
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
5
- import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-CiGWxAJE.mjs";
5
+ import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-BzPO2c4h.mjs";
6
6
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
7
7
  register();
8
8
  const _sfc_main = defineComponent({
@@ -57,4 +57,4 @@ const NcActionButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _
57
57
  export {
58
58
  NcActionButtonGroup as N
59
59
  };
60
- //# sourceMappingURL=NcActionButtonGroup-D1cYCNRq.mjs.map
60
+ //# sourceMappingURL=NcActionButtonGroup-B2MGnwK_.mjs.map
@@ -1 +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
+ {"version":3,"file":"NcActionButtonGroup-B2MGnwK_.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,5 +1,5 @@
1
1
  import '../assets/NcActionCaption-DnG2OyWa.css';
2
- import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-CiGWxAJE.mjs";
2
+ import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-BzPO2c4h.mjs";
3
3
  import { createElementBlock, openBlock, toDisplayString } from "vue";
4
4
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
5
5
  const _sfc_main = {
@@ -31,4 +31,4 @@ const NcActionCaption = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_
31
31
  export {
32
32
  NcActionCaption as N
33
33
  };
34
- //# sourceMappingURL=NcActionCaption-Fumfjzxj.mjs.map
34
+ //# sourceMappingURL=NcActionCaption-Cgd3J8jw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcActionCaption-Fumfjzxj.mjs","sources":["../../src/components/NcActionCaption/NcActionCaption.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 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<NcActions>\n\t\t<NcActionCaption name=\"Test caption\" />\n\t\t<NcActionCaption name=\"Test caption 2\" />\n\t</NcActions>\n```\n</docs>\n\n<template>\n\t<li class=\"app-navigation-caption\" :role=\"isInSemanticMenu && 'presentation'\">\n\t\t{{ name }}\n\t</li>\n</template>\n\n<script>\nimport { NC_ACTIONS_IS_SEMANTIC_MENU } from '../NcActions/useNcActions.ts'\n\nexport default {\n\tname: 'NcActionCaption',\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 * The caption's text\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.app-navigation-caption {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tline-height: var(--default-clickable-area);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tbox-shadow: none !important;\n\t\tuser-select: none;\n\t\tpointer-events: none;\n\t\tmargin-inline-start: 12px;\n\t\tpadding-inline-end: 14px;\n\t\theight: var(--default-clickable-area);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n</style>\n"],"names":["_createElementBlock"],"mappings":";;;AAyBA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,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;;AAGb;;;sBA3BCA,mBAEK,MAAA;AAAA,IAFD,OAAM;AAAA,IAA0B,MAAM,SAAA,oBAAgB;AAAA,qBACtD,OAAA,IAAI,GAAA,GAAA,UAAA;;;"}
1
+ {"version":3,"file":"NcActionCaption-Cgd3J8jw.mjs","sources":["../../src/components/NcActionCaption/NcActionCaption.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 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<NcActions>\n\t\t<NcActionCaption name=\"Test caption\" />\n\t\t<NcActionCaption name=\"Test caption 2\" />\n\t</NcActions>\n```\n</docs>\n\n<template>\n\t<li class=\"app-navigation-caption\" :role=\"isInSemanticMenu && 'presentation'\">\n\t\t{{ name }}\n\t</li>\n</template>\n\n<script>\nimport { NC_ACTIONS_IS_SEMANTIC_MENU } from '../NcActions/useNcActions.ts'\n\nexport default {\n\tname: 'NcActionCaption',\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 * The caption's text\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.app-navigation-caption {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tline-height: var(--default-clickable-area);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tbox-shadow: none !important;\n\t\tuser-select: none;\n\t\tpointer-events: none;\n\t\tmargin-inline-start: 12px;\n\t\tpadding-inline-end: 14px;\n\t\theight: var(--default-clickable-area);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n</style>\n"],"names":["_createElementBlock"],"mappings":";;;AAyBA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,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;;AAGb;;;sBA3BCA,mBAEK,MAAA;AAAA,IAFD,OAAM;AAAA,IAA0B,MAAM,SAAA,oBAAgB;AAAA,qBACtD,OAAA,IAAI,GAAA,GAAA,UAAA;;;"}
@@ -0,0 +1,122 @@
1
+ import '../assets/NcActionCheckbox-DLJQfCUI.css';
2
+ import { h as mdiCheckboxMarked, i as mdiCheckboxBlankOutline } from "./mdi-CpchYUUV.mjs";
3
+ import { resolveComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, withDirectives, createVNode, vModelCheckbox, toDisplayString, useModel } from "vue";
4
+ import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BvLanNaW.mjs";
5
+ import { A as ActionGlobalMixin } from "./actionGlobal-BZFdtdJL.mjs";
6
+ import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
7
+ import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-BzPO2c4h.mjs";
8
+ import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
9
+ const _sfc_main = {
10
+ name: "NcActionCheckbox",
11
+ components: {
12
+ NcIconSvgWrapper
13
+ },
14
+ mixins: [ActionGlobalMixin],
15
+ inject: {
16
+ isInSemanticMenu: {
17
+ from: NC_ACTIONS_IS_SEMANTIC_MENU,
18
+ default: false
19
+ }
20
+ },
21
+ props: {
22
+ /**
23
+ * id attribute of the checkbox element
24
+ */
25
+ id: {
26
+ type: String,
27
+ default: () => "action-" + createElementId(),
28
+ validator: (id) => id.trim() !== ""
29
+ },
30
+ /**
31
+ * checked state of the the checkbox element
32
+ */
33
+ modelValue: {
34
+ type: Boolean,
35
+ default: false
36
+ },
37
+ /**
38
+ * value of the checkbox input
39
+ */
40
+ value: {
41
+ type: [String, Number],
42
+ default: ""
43
+ },
44
+ /**
45
+ * disabled state of the checkbox element
46
+ */
47
+ disabled: {
48
+ type: Boolean,
49
+ default: false
50
+ }
51
+ },
52
+ emits: [
53
+ /** Native change event */
54
+ "change",
55
+ /** Checkbox is checked */
56
+ "check",
57
+ /** Checkbox is unchecked */
58
+ "uncheck",
59
+ /** Model value changed */
60
+ "update:modelValue"
61
+ ],
62
+ setup(props) {
63
+ const model = useModel(props, "modelValue");
64
+ return {
65
+ model,
66
+ mdiCheckboxBlankOutline,
67
+ mdiCheckboxMarked
68
+ };
69
+ },
70
+ methods: {
71
+ onChange(event) {
72
+ this.$emit("change", event);
73
+ if (event.target.checked) {
74
+ this.$emit("check");
75
+ } else {
76
+ this.$emit("uncheck");
77
+ }
78
+ }
79
+ }
80
+ };
81
+ const _hoisted_1 = ["role"];
82
+ const _hoisted_2 = ["role", "aria-checked"];
83
+ const _hoisted_3 = { class: "action-checkbox__icon" };
84
+ const _hoisted_4 = ["id", "value", "disabled"];
85
+ const _hoisted_5 = { class: "action-checkbox__text" };
86
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
87
+ const _component_NcIconSvgWrapper = resolveComponent("NcIconSvgWrapper");
88
+ return openBlock(), createElementBlock("li", {
89
+ class: normalizeClass(["action", { "action--disabled": $props.disabled }]),
90
+ role: $options.isInSemanticMenu && "presentation"
91
+ }, [
92
+ createElementVNode("label", {
93
+ class: "action-checkbox",
94
+ role: $options.isInSemanticMenu && "menuitemcheckbox",
95
+ "aria-checked": $options.isInSemanticMenu && $setup.model.toString()
96
+ }, [
97
+ createElementVNode("span", _hoisted_3, [
98
+ withDirectives(createElementVNode("input", {
99
+ id: $props.id,
100
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $setup.model = $event),
101
+ type: "checkbox",
102
+ class: normalizeClass(["action-checkbox__input", { focusable: !$props.disabled }]),
103
+ value: $props.value,
104
+ disabled: $props.disabled,
105
+ onChange: _cache[1] || (_cache[1] = (...args) => $options.onChange && $options.onChange(...args))
106
+ }, null, 42, _hoisted_4), [
107
+ [vModelCheckbox, $setup.model]
108
+ ]),
109
+ createVNode(_component_NcIconSvgWrapper, {
110
+ path: $setup.model ? $setup.mdiCheckboxMarked : $setup.mdiCheckboxBlankOutline,
111
+ size: 20
112
+ }, null, 8, ["path"])
113
+ ]),
114
+ createElementVNode("span", _hoisted_5, toDisplayString(_ctx.text), 1)
115
+ ], 8, _hoisted_2)
116
+ ], 10, _hoisted_1);
117
+ }
118
+ const NcActionCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-2947bc3b"]]);
119
+ export {
120
+ NcActionCheckbox as N
121
+ };
122
+ //# sourceMappingURL=NcActionCheckbox-DeHAMd23.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcActionCheckbox-DeHAMd23.mjs","sources":["../../src/components/NcActionCheckbox/NcActionCheckbox.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<NcActions>\n\t\t<NcActionCheckbox @change=\"console.log('(un)checked !')\">First choice</NcActionCheckbox>\n\t\t<NcActionCheckbox value=\"second\" @change=\"console.log('(un)checked !')\">Second choice</NcActionCheckbox>\n\t\t<NcActionCheckbox :model-value=\"true\" @change=\"console.log('(un)checked !')\">Third choice (checked)</NcActionCheckbox>\n\t\t<NcActionCheckbox :disabled=\"true\" @change=\"console.log('(un)checked !')\">Second choice (disabled)</NcActionCheckbox>\n\t</NcActions>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"{ 'action--disabled': disabled }\" :role=\"isInSemanticMenu && 'presentation'\">\n\t\t<label class=\"action-checkbox\" :role=\"isInSemanticMenu && 'menuitemcheckbox'\" :aria-checked=\"isInSemanticMenu && model.toString()\">\n\t\t\t<span class=\"action-checkbox__icon\">\n\t\t\t\t<input\n\t\t\t\t\t:id\n\t\t\t\t\tv-model=\"model\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"action-checkbox__input\"\n\t\t\t\t\t:class=\"{ focusable: !disabled }\"\n\t\t\t\t\t:value\n\t\t\t\t\t:disabled\n\t\t\t\t\t@change=\"onChange\">\n\t\t\t\t<NcIconSvgWrapper :path=\"model ? mdiCheckboxMarked : mdiCheckboxBlankOutline\" :size=\"20\" />\n\t\t\t</span>\n\t\t\t<span class=\"action-checkbox__text\">{{ text }}</span>\n\t\t</label>\n\t</li>\n</template>\n\n<script>\nimport { mdiCheckboxBlankOutline, mdiCheckboxMarked } from '@mdi/js'\nimport { useModel } from 'vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport ActionGlobalMixin from '../../mixins/actionGlobal.js'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport { NC_ACTIONS_IS_SEMANTIC_MENU } from '../NcActions/useNcActions.ts'\n\nexport default {\n\tname: 'NcActionCheckbox',\n\n\tcomponents: {\n\t\tNcIconSvgWrapper,\n\t},\n\n\tmixins: [ActionGlobalMixin],\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 * 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 * checked state of the the checkbox element\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * value of the checkbox input\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the checkbox element\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t/** Native change event */\n\t\t'change',\n\t\t/** Checkbox is checked */\n\t\t'check',\n\t\t/** Checkbox is unchecked */\n\t\t'uncheck',\n\t\t/** Model value changed */\n\t\t'update:modelValue',\n\t],\n\n\tsetup(props) {\n\t\tconst model = useModel(props, 'modelValue')\n\t\treturn {\n\t\t\tmodel,\n\t\t\tmdiCheckboxBlankOutline,\n\t\t\tmdiCheckboxMarked,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonChange(event) {\n\t\t\tthis.$emit('change', event)\n\t\t\tif (event.target.checked) {\n\t\t\t\tthis.$emit('check')\n\t\t\t} else {\n\t\t\t\tthis.$emit('uncheck')\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('checkbox');\n\n.action:has(:focus-visible) {\n\toutline: 2px solid currentColor;\n}\n\n.action-checkbox {\n\t&__icon {\n\t\tcolor: var(--color-primary-element);\n\t}\n\n\t&__input {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tmargin: auto;\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\topacity: 0 !important;\n\t}\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_toDisplayString"],"mappings":";;;;;;;AA8CA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,YAAY;AAAA,IACX;AAAA;EAGD,QAAQ,CAAC,iBAAiB;AAAA,EAE1B,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,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,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,OAAO;AAAA,MACN,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;;;;IAMV,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO;AAAA;AAAA,IAEN;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA;EAGD,MAAM,OAAO;AACZ,UAAM,QAAQ,SAAS,OAAO,YAAY;AAC1C,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,SAAS;AAAA,IACR,SAAS,OAAO;AACf,WAAK,MAAM,UAAU,KAAK;AAC1B,UAAI,MAAM,OAAO,SAAS;AACzB,aAAK,MAAM,OAAO;AAAA,MACnB,OAAO;AACN,aAAK,MAAM,SAAS;AAAA,MACrB;AAAA,IACD;AAAA;AAEF;;;AA1GS,MAAA,aAAA,EAAA,OAAM,wBAAuB;;AAY7B,MAAA,aAAA,EAAA,OAAM,wBAAuB;;;sBAdrCA,mBAgBK,MAAA;AAAA,IAhBD,OAAKC,eAAA,CAAC,UAAQ,EAAA,oBAA+B,OAAA,SAAQ,CAAA,CAAA;AAAA,IAAK,MAAM,SAAA,oBAAgB;AAAA;IACnFC,mBAcQ,SAAA;AAAA,MAdD,OAAM;AAAA,MAAmB,MAAM,SAAA,oBAAgB;AAAA,MAAyB,gBAAc,SAAA,oBAAoB,OAAA,MAAM,SAAQ;AAAA;MAC9HA,mBAWO,QAXP,YAWO;AAAA,uBAVNA,mBAQoB,SAAA;AAAA,UAPlB,IAAA,OAAA;AAAA,uEACQ,OAAA,QAAK;AAAA,UACd,MAAK;AAAA,UACL,OAAKD,eAAA,CAAC,0BAAwB,EAAA,WAAA,CACR,OAAA,SAAQ,CAAA,CAAA;AAAA,UAC7B,OAAA,OAAA;AAAA,UACA,UAAA,OAAA;AAAA,UACA,iDAAQ,SAAA,YAAA,SAAA,SAAA,GAAA,IAAA;AAAA;2BANA,OAAA,KAAK;AAAA;QAOfE,YAA2F,6BAAA;AAAA,UAAxE,MAAM,OAAA,QAAQ,OAAA,oBAAoB,OAAA;AAAA,UAA0B,MAAM;AAAA;;MAEtFD,mBAAqD,QAArD,YAAqDE,gBAAd,KAAA,IAAI,GAAA,CAAA;AAAA;;;;"}