@nextcloud/vue 9.3.2 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/assets/NcActionCheckbox-DLJQfCUI.css +127 -0
  3. package/dist/assets/{NcActionInput-BxRA_Skn.css → NcActionInput-BO4gR6sg.css} +65 -65
  4. package/dist/assets/NcActionRadio-Bd4RFH-l.css +127 -0
  5. package/dist/assets/{NcAppContent-HF21N7dO.css → NcAppContent-zKcAQ2bt.css} +19 -19
  6. package/dist/assets/{NcAppNavigationItem-D97Onpd9.css → NcAppNavigationItem-qicc4X_c.css} +36 -36
  7. package/dist/assets/{NcAppNavigationSearch-BH8hBjGe.css → NcAppNavigationSearch-Bpd_RlYz.css} +5 -5
  8. package/dist/assets/{NcAppNavigationSettings-Bt0dnsjR.css → NcAppNavigationSettings-BmfpoWXN.css} +6 -6
  9. package/dist/assets/{NcAppSettingsDialog-CapZ_qNk.css → NcAppSettingsDialog-Ckc0OWTs.css} +13 -13
  10. package/dist/assets/{NcAppSettingsShortcutsSection-CRO4RakN.css → NcAppSettingsShortcutsSection-BonG0SgH.css} +1 -1
  11. package/dist/assets/{NcAppSidebar-krHtMwId.css → NcAppSidebar-Ci7hXMpX.css} +57 -57
  12. package/dist/assets/{NcAssistantButton-owGSr0s0.css → NcAssistantButton-BmD9GrOw.css} +9 -9
  13. package/dist/assets/{NcAssistantContent-Ban7n3Bg.css → NcAssistantContent-7THxd33X.css} +3 -3
  14. package/dist/assets/{NcAssistantIcon--1biUGYh.css → NcAssistantIcon-CxXrcBfu.css} +4 -4
  15. package/dist/assets/{NcAvatar-f8SJKMDw.css → NcAvatar-CuPj3fbb.css} +24 -24
  16. package/dist/assets/{NcBlurHash-7aGtE-_T.css → NcBlurHash-tWUPu9Oh.css} +2 -2
  17. package/dist/assets/{NcBreadcrumb-CHjeSh0y.css → NcBreadcrumb-D9N_qB_o.css} +15 -15
  18. package/dist/assets/{NcBreadcrumbs-DYfGaSjT.css → NcBreadcrumbs-5gl8Syfa.css} +6 -6
  19. package/dist/assets/{NcCheckboxRadioSwitch-DpYt0YbL.css → NcCheckboxRadioSwitch-BBLFj8M-.css} +36 -36
  20. package/dist/assets/{NcChip-DZ8dUSFy.css → NcChip-DbSI4mFP.css} +12 -12
  21. package/dist/assets/{NcCollectionList-C7OiUQQ-.css → NcCollectionList-e5JFvzqX.css} +42 -42
  22. package/dist/assets/{NcColorPicker-CO_Jq2Ow.css → NcColorPicker-CCanY5eB.css} +31 -31
  23. package/dist/assets/{NcDashboardWidget-DFY9GRrd.css → NcDashboardWidget-nZuIL1UN.css} +12 -12
  24. package/dist/assets/{NcDashboardWidgetItem-DPVZ3Oso.css → NcDashboardWidgetItem-DpVmEBwQ.css} +12 -12
  25. package/dist/assets/{NcDateTimePicker-D6xbEbaC.css → NcDateTimePicker-HT1ZTE-Z.css} +234 -234
  26. package/dist/assets/{NcDialog-D3fAX1Fs.css → NcDialog-BSV74Bru.css} +15 -15
  27. package/dist/assets/{NcEmojiPicker-B7xDz_8U.css → NcEmojiPicker-vNKR9S87.css} +122 -122
  28. package/dist/assets/{NcFormBox-D-kcijXp.css → NcFormBox-CRdHJkrd.css} +11 -11
  29. package/dist/assets/{NcFormBoxButton-C6EvdLK4.css → NcFormBoxButton-BWfU7d2r.css} +2 -2
  30. package/dist/assets/{NcFormBoxItem-BfXKp9xJ.css → NcFormBoxItem-CATNOTQx.css} +13 -13
  31. package/dist/assets/{NcFormBoxSwitch-DScgbxtv.css → NcFormBoxSwitch-Cn-MBAzZ.css} +2 -2
  32. package/dist/assets/{NcFormGroup-BrD0Scm7.css → NcFormGroup-BjWhd5Ky.css} +7 -7
  33. package/dist/assets/{NcHotkey-4yi1Hobg.css → NcHotkey-CvuY7fQJ.css} +8 -8
  34. package/dist/assets/{NcHotkeyList-gAZN0WIu.css → NcHotkeyList-Braxeyah.css} +2 -2
  35. package/dist/assets/{NcIconToggleSwitch-C29S_5Rp.css → NcIconToggleSwitch-saytabt5.css} +4 -4
  36. package/dist/assets/{NcInputField-B9DSDOEd.css → NcInputField-D7X6Iz5N.css} +1 -1
  37. package/dist/assets/{NcKbd-BGW1_Jb7.css → NcKbd-BeQpGp0b.css} +3 -3
  38. package/dist/assets/{NcListItem-CZnKmy9X.css → NcListItem-CWa6A_FV.css} +41 -41
  39. package/dist/assets/{NcListItemIcon-aquns6B7.css → NcListItemIcon-DJRcmlo1.css} +13 -13
  40. package/dist/assets/{NcModal-Du-f0B7Y.css → NcModal-bYmoCrzo.css} +58 -58
  41. package/dist/assets/{NcPasswordField-BCJ0LHSS.css → NcPasswordField-ftYon3Xm.css} +2 -2
  42. package/dist/assets/{NcPopover-CZ3pMU6Y.css → NcPopover-P1fheee2.css} +14 -14
  43. package/dist/assets/{NcRadioGroup-1zpSX8V5.css → NcRadioGroup-BoFb0R8S.css} +2 -2
  44. package/dist/assets/{NcRadioGroupButton-DRZ1_-yY.css → NcRadioGroupButton-kVqVEDKS.css} +11 -11
  45. package/dist/assets/{NcRelatedResourcesPanel-DYB-wrU0.css → NcRelatedResourcesPanel-D1efpH8E.css} +3 -3
  46. package/dist/assets/{NcRichContenteditable-BuaWt3Xn.css → NcRichContenteditable-C4KtXEvK.css} +17 -17
  47. package/dist/assets/{NcRichText-RvICaxkO.css → NcRichText-3BHy89Ls.css} +2 -2
  48. package/dist/assets/{NcSelect-ZnE_MlqV.css → NcSelect-CvDEQAjD.css} +1 -1
  49. package/dist/assets/NcSelectUsers-zQin7DzE.css +4 -0
  50. package/dist/assets/{NcSettingsSelectGroup-BxvEAWNm.css → NcSettingsSelectGroup-D_fSrafm.css} +2 -2
  51. package/dist/assets/{NcTextArea-nivEqHE-.css → NcTextArea-_-yGXq-j.css} +1 -1
  52. package/dist/assets/{NcUserBubble-B3Jad98g.css → NcUserBubble-DFUmBxeb.css} +8 -8
  53. package/dist/assets/{referencePickerModal-DWMAMaU3.css → referencePickerModal-CpzDUJ5f.css} +36 -36
  54. package/dist/chunks/{NcActionButton-BHXE4UKQ.mjs → NcActionButton-DNXoAooH.mjs} +2 -2
  55. package/dist/chunks/{NcActionButton-BHXE4UKQ.mjs.map → NcActionButton-DNXoAooH.mjs.map} +1 -1
  56. package/dist/chunks/{NcActionButtonGroup-B2MGnwK_.mjs → NcActionButtonGroup-C4oY8x5z.mjs} +2 -2
  57. package/dist/chunks/{NcActionButtonGroup-B2MGnwK_.mjs.map → NcActionButtonGroup-C4oY8x5z.mjs.map} +1 -1
  58. package/dist/chunks/NcActionCheckbox-DeHAMd23.mjs +122 -0
  59. package/dist/chunks/NcActionCheckbox-DeHAMd23.mjs.map +1 -0
  60. package/dist/chunks/{NcActionInput-D1uLWx4N.mjs → NcActionInput-Cgazb3df.mjs} +32 -32
  61. package/dist/chunks/NcActionInput-Cgazb3df.mjs.map +1 -0
  62. package/dist/chunks/NcActionRadio-DILn0DxW.mjs +120 -0
  63. package/dist/chunks/NcActionRadio-DILn0DxW.mjs.map +1 -0
  64. package/dist/chunks/{NcActionTextEditable-DAMWWXnR.mjs → NcActionTextEditable-DL4idmon.mjs} +2 -2
  65. package/dist/chunks/{NcActionTextEditable-DAMWWXnR.mjs.map → NcActionTextEditable-DL4idmon.mjs.map} +1 -1
  66. package/dist/chunks/{NcActions-4R7icatI.mjs → NcActions-CCXgfwjS.mjs} +3 -3
  67. package/dist/chunks/{NcActions-4R7icatI.mjs.map → NcActions-CCXgfwjS.mjs.map} +1 -1
  68. package/dist/chunks/{NcAppContent-DFbY2ERd.mjs → NcAppContent-DHTZAiBV.mjs} +11 -11
  69. package/dist/chunks/NcAppContent-DHTZAiBV.mjs.map +1 -0
  70. package/dist/chunks/{NcAppNavigation-CjnufbC2.mjs → NcAppNavigation--KrbROgq.mjs} +3 -3
  71. package/dist/chunks/{NcAppNavigation-CjnufbC2.mjs.map → NcAppNavigation--KrbROgq.mjs.map} +1 -1
  72. package/dist/chunks/{NcAppNavigationCaption-DiLoiMN5.mjs → NcAppNavigationCaption-Dj1-JWNN.mjs} +2 -2
  73. package/dist/chunks/{NcAppNavigationCaption-DiLoiMN5.mjs.map → NcAppNavigationCaption-Dj1-JWNN.mjs.map} +1 -1
  74. package/dist/chunks/{NcAppNavigationItem-B307vBI9.mjs → NcAppNavigationItem-DhsEitgm.mjs} +11 -11
  75. package/dist/chunks/NcAppNavigationItem-DhsEitgm.mjs.map +1 -0
  76. package/dist/chunks/{NcAppNavigationNewItem-DYH3Gimz.mjs → NcAppNavigationNewItem-DhSxNT1C.mjs} +2 -2
  77. package/dist/chunks/{NcAppNavigationNewItem-DYH3Gimz.mjs.map → NcAppNavigationNewItem-DhSxNT1C.mjs.map} +1 -1
  78. package/dist/chunks/{NcAppNavigationSearch-Bi367hd4.mjs → NcAppNavigationSearch-BHsw27kG.mjs} +9 -9
  79. package/dist/chunks/NcAppNavigationSearch-BHsw27kG.mjs.map +1 -0
  80. package/dist/chunks/{NcAppNavigationSettings-CaTjgcVj.mjs → NcAppNavigationSettings-sbSJX76f.mjs} +15 -15
  81. package/dist/chunks/NcAppNavigationSettings-sbSJX76f.mjs.map +1 -0
  82. package/dist/chunks/{NcAppSettingsDialog-NlVP7Fo7.mjs → NcAppSettingsDialog-Bg2wk6rG.mjs} +13 -13
  83. package/dist/chunks/NcAppSettingsDialog-Bg2wk6rG.mjs.map +1 -0
  84. package/dist/chunks/{NcAppSettingsShortcutsSection-DDmDMMsF.mjs → NcAppSettingsShortcutsSection-D--3hFzE.mjs} +4 -4
  85. package/dist/chunks/{NcAppSettingsShortcutsSection-DDmDMMsF.mjs.map → NcAppSettingsShortcutsSection-D--3hFzE.mjs.map} +1 -1
  86. package/dist/chunks/{NcAppSidebar-as8lzUZp.mjs → NcAppSidebar-BnTLeCUs.mjs} +15 -15
  87. package/dist/chunks/NcAppSidebar-BnTLeCUs.mjs.map +1 -0
  88. package/dist/chunks/{NcAssistantButton-DqXCpiMp.mjs → NcAssistantButton-DRcoUE6a.mjs} +11 -11
  89. package/dist/chunks/{NcAssistantButton-DqXCpiMp.mjs.map → NcAssistantButton-DRcoUE6a.mjs.map} +1 -1
  90. package/dist/chunks/{NcAssistantContent-Boi-0v_0.mjs → NcAssistantContent-BR3lWBWC.mjs} +5 -5
  91. package/dist/chunks/{NcAssistantContent-Boi-0v_0.mjs.map → NcAssistantContent-BR3lWBWC.mjs.map} +1 -1
  92. package/dist/chunks/{NcAssistantIcon-PMYKxGuH.mjs → NcAssistantIcon-DsJh5rb7.mjs} +7 -7
  93. package/dist/chunks/{NcAssistantIcon-PMYKxGuH.mjs.map → NcAssistantIcon-DsJh5rb7.mjs.map} +1 -1
  94. package/dist/chunks/{NcAvatar-S8EJR2BK.mjs → NcAvatar-xQb0quUq.mjs} +9 -9
  95. package/dist/chunks/NcAvatar-xQb0quUq.mjs.map +1 -0
  96. package/dist/chunks/{NcBlurHash-BiFktE2N.mjs → NcBlurHash-Cp7enp4q.mjs} +9 -9
  97. package/dist/chunks/{NcBlurHash-BiFktE2N.mjs.map → NcBlurHash-Cp7enp4q.mjs.map} +1 -1
  98. package/dist/chunks/{NcBreadcrumb-ChYVw5CP.mjs → NcBreadcrumb-D-e0UGiz.mjs} +8 -8
  99. package/dist/chunks/NcBreadcrumb-D-e0UGiz.mjs.map +1 -0
  100. package/dist/chunks/{NcBreadcrumbs-DHS31Ax7.mjs → NcBreadcrumbs-CGztlUEK.mjs} +6 -6
  101. package/dist/chunks/{NcBreadcrumbs-DHS31Ax7.mjs.map → NcBreadcrumbs-CGztlUEK.mjs.map} +1 -1
  102. package/dist/chunks/{NcCheckboxRadioSwitch-DisCqPZK.mjs → NcCheckboxRadioSwitch-ChNSuhe6.mjs} +15 -15
  103. package/dist/chunks/NcCheckboxRadioSwitch-ChNSuhe6.mjs.map +1 -0
  104. package/dist/chunks/{NcChip-QHPd3nMF.mjs → NcChip-CaOkERH3.mjs} +10 -10
  105. package/dist/chunks/NcChip-CaOkERH3.mjs.map +1 -0
  106. package/dist/chunks/{NcCollectionList-ByFl0-ca.mjs → NcCollectionList-Dme-TR38.mjs} +15 -15
  107. package/dist/chunks/NcCollectionList-Dme-TR38.mjs.map +1 -0
  108. package/dist/chunks/{NcColorPicker-DpSDaGrh.mjs → NcColorPicker-5Pw0z8WG.mjs} +12 -12
  109. package/dist/chunks/NcColorPicker-5Pw0z8WG.mjs.map +1 -0
  110. package/dist/chunks/{NcContent-BrRHLO19.mjs → NcContent-DOmmHvxx.mjs} +2 -2
  111. package/dist/chunks/{NcContent-BrRHLO19.mjs.map → NcContent-DOmmHvxx.mjs.map} +1 -1
  112. package/dist/chunks/{NcDashboardWidget-CIUrPOLo.mjs → NcDashboardWidget-Ddt4Ze_7.mjs} +7 -7
  113. package/dist/chunks/NcDashboardWidget-Ddt4Ze_7.mjs.map +1 -0
  114. package/dist/chunks/{NcDashboardWidgetItem-DdYM1QYk.mjs → NcDashboardWidgetItem-Cu-899WY.mjs} +12 -12
  115. package/dist/chunks/NcDashboardWidgetItem-Cu-899WY.mjs.map +1 -0
  116. package/dist/chunks/{NcDateTimePicker-DtQaoKbG.mjs → NcDateTimePicker-CF8TMzyS.mjs} +69 -25
  117. package/dist/chunks/NcDateTimePicker-CF8TMzyS.mjs.map +1 -0
  118. package/dist/chunks/{NcDateTimePickerNative-Dr8_mGlQ.mjs → NcDateTimePickerNative-DvvKjw_h.mjs} +2 -2
  119. package/dist/chunks/{NcDateTimePickerNative-Dr8_mGlQ.mjs.map → NcDateTimePickerNative-DvvKjw_h.mjs.map} +1 -1
  120. package/dist/chunks/{NcDialog-BTmnYNeo.mjs → NcDialog-Cnd9YBlk.mjs} +6 -7
  121. package/dist/chunks/{NcDialog-BTmnYNeo.mjs.map → NcDialog-Cnd9YBlk.mjs.map} +1 -1
  122. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-CYpktNKA.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-BnCX7Duz.mjs} +2 -2
  123. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-CYpktNKA.mjs.map → NcDialogButton.vue_vue_type_script_setup_true_lang-BnCX7Duz.mjs.map} +1 -1
  124. package/dist/chunks/{NcEmojiPicker-U5k_zceS.mjs → NcEmojiPicker-DpA4_bLX.mjs} +24 -24
  125. package/dist/chunks/NcEmojiPicker-DpA4_bLX.mjs.map +1 -0
  126. package/dist/chunks/{NcFormBox-CkgY7Tif.mjs → NcFormBox-BYjllt0m.mjs} +7 -7
  127. package/dist/chunks/NcFormBox-BYjllt0m.mjs.map +1 -0
  128. package/dist/chunks/{NcFormBoxButton-Bptd324P.mjs → NcFormBoxButton-RDIKiZIH.mjs} +9 -9
  129. package/dist/chunks/NcFormBoxButton-RDIKiZIH.mjs.map +1 -0
  130. package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DhnfC18v.mjs → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-KhOQ1B7a.mjs} +4 -4
  131. package/dist/chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-KhOQ1B7a.mjs.map +1 -0
  132. package/dist/chunks/{NcFormBoxItem-vnU0KmUL.mjs → NcFormBoxItem-BAAPOa6z.mjs} +10 -10
  133. package/dist/chunks/NcFormBoxItem-BAAPOa6z.mjs.map +1 -0
  134. package/dist/chunks/{NcFormBoxSwitch-DGcRJH9Q.mjs → NcFormBoxSwitch-m9uRjJzl.mjs} +6 -6
  135. package/dist/chunks/{NcFormBoxSwitch-DGcRJH9Q.mjs.map → NcFormBoxSwitch-m9uRjJzl.mjs.map} +1 -1
  136. package/dist/chunks/{NcFormGroup-CnSfPFey.mjs → NcFormGroup-Bf8Mme1o.mjs} +9 -9
  137. package/dist/chunks/{NcFormGroup-CnSfPFey.mjs.map → NcFormGroup-Bf8Mme1o.mjs.map} +1 -1
  138. package/dist/chunks/{NcHotkey-BMbdzaIs.mjs → NcHotkey-CrVhA2O_.mjs} +7 -7
  139. package/dist/chunks/{NcHotkey-BMbdzaIs.mjs.map → NcHotkey-CrVhA2O_.mjs.map} +1 -1
  140. package/dist/chunks/{NcHotkeyList-67NnF26Y.mjs → NcHotkeyList-BhA2GxR9.mjs} +5 -5
  141. package/dist/chunks/{NcHotkeyList-67NnF26Y.mjs.map → NcHotkeyList-BhA2GxR9.mjs.map} +1 -1
  142. package/dist/chunks/{NcIconToggleSwitch-DNEYngCw.mjs → NcIconToggleSwitch-CSrdR61T.mjs} +4 -4
  143. package/dist/chunks/{NcIconToggleSwitch-DNEYngCw.mjs.map → NcIconToggleSwitch-CSrdR61T.mjs.map} +1 -1
  144. package/dist/chunks/{NcInputConfirmCancel-DjMO3Xyv.mjs → NcInputConfirmCancel-x3Xhif7e.mjs} +2 -2
  145. package/dist/chunks/{NcInputConfirmCancel-DjMO3Xyv.mjs.map → NcInputConfirmCancel-x3Xhif7e.mjs.map} +1 -1
  146. package/dist/chunks/{NcInputField-D7Nv5QhT.mjs → NcInputField-tt_Gi9ja.mjs} +3 -3
  147. package/dist/chunks/{NcInputField-D7Nv5QhT.mjs.map → NcInputField-tt_Gi9ja.mjs.map} +1 -1
  148. package/dist/chunks/{NcKbd-CZdynD1d.mjs → NcKbd-DF1Ugt3x.mjs} +5 -5
  149. package/dist/chunks/{NcKbd-CZdynD1d.mjs.map → NcKbd-DF1Ugt3x.mjs.map} +1 -1
  150. package/dist/chunks/{NcListItem-Bx93C7tP.mjs → NcListItem-BnLZJxLv.mjs} +6 -6
  151. package/dist/chunks/NcListItem-BnLZJxLv.mjs.map +1 -0
  152. package/dist/chunks/{NcListItemIcon-IJLXY-te.mjs → NcListItemIcon-DLmp04cL.mjs} +9 -9
  153. package/dist/chunks/NcListItemIcon-DLmp04cL.mjs.map +1 -0
  154. package/dist/chunks/{NcModal-DSCYMxfe.mjs → NcModal-PlfVmTTk.mjs} +7 -7
  155. package/dist/chunks/NcModal-PlfVmTTk.mjs.map +1 -0
  156. package/dist/chunks/{NcNoteCard-BUg07N13.mjs → NcNoteCard-Cok_4Fld.mjs} +2 -2
  157. package/dist/chunks/{NcNoteCard-BUg07N13.mjs.map → NcNoteCard-Cok_4Fld.mjs.map} +1 -1
  158. package/dist/chunks/{NcPasswordField-CTuWpUWd.mjs → NcPasswordField-DYF18Cdo.mjs} +10 -10
  159. package/dist/chunks/{NcPasswordField-CTuWpUWd.mjs.map → NcPasswordField-DYF18Cdo.mjs.map} +1 -1
  160. package/dist/chunks/{NcPopover-C-MTaPCs.mjs → NcPopover-OqcYrWOx.mjs} +17 -17
  161. package/dist/chunks/NcPopover-OqcYrWOx.mjs.map +1 -0
  162. package/dist/chunks/{NcRadioGroup-HorQ2m39.mjs → NcRadioGroup-Bjl3n_1z.mjs} +8 -8
  163. package/dist/chunks/NcRadioGroup-Bjl3n_1z.mjs.map +1 -0
  164. package/dist/chunks/{NcRadioGroupButton-CAisx7g4.mjs → NcRadioGroupButton-Bul-9Tl1.mjs} +7 -7
  165. package/dist/chunks/{NcRadioGroupButton-CAisx7g4.mjs.map → NcRadioGroupButton-Bul-9Tl1.mjs.map} +1 -1
  166. package/dist/chunks/{NcRelatedResourcesPanel-Dtxd3-o1.mjs → NcRelatedResourcesPanel-Dzp_b_xS.mjs} +7 -7
  167. package/dist/chunks/NcRelatedResourcesPanel-Dzp_b_xS.mjs.map +1 -0
  168. package/dist/chunks/{NcRichContenteditable-Bq1NOBCE.mjs → NcRichContenteditable-BgsA20P4.mjs} +21 -21
  169. package/dist/chunks/{NcRichContenteditable-Bq1NOBCE.mjs.map → NcRichContenteditable-BgsA20P4.mjs.map} +1 -1
  170. package/dist/chunks/{NcRichText-B6VwyPUp.mjs → NcRichText-H-0TWixL.mjs} +8 -8
  171. package/dist/chunks/NcRichText-H-0TWixL.mjs.map +1 -0
  172. package/dist/chunks/{NcSelect-Cc9_a8nG.mjs → NcSelect-rH_0zphV.mjs} +6 -6
  173. package/dist/chunks/NcSelect-rH_0zphV.mjs.map +1 -0
  174. package/dist/chunks/{NcSelectTags-JyyA4W_e.mjs → NcSelectTags-DPJzQw5S.mjs} +6 -6
  175. package/dist/chunks/NcSelectTags-DPJzQw5S.mjs.map +1 -0
  176. package/dist/chunks/{NcSelectUsers-CiTKYuOb.mjs → NcSelectUsers-DbOv_9kW.mjs} +9 -9
  177. package/dist/chunks/{NcSelectUsers-CiTKYuOb.mjs.map → NcSelectUsers-DbOv_9kW.mjs.map} +1 -1
  178. package/dist/chunks/{NcSettingsSection-BcLE6UnZ.mjs → NcSettingsSection-EAR0ylbd.mjs} +2 -2
  179. package/dist/chunks/{NcSettingsSection-BcLE6UnZ.mjs.map → NcSettingsSection-EAR0ylbd.mjs.map} +1 -1
  180. package/dist/chunks/{NcSettingsSelectGroup-CUU-GWYl.mjs → NcSettingsSelectGroup-BS2sLZQO.mjs} +10 -10
  181. package/dist/chunks/NcSettingsSelectGroup-BS2sLZQO.mjs.map +1 -0
  182. package/dist/chunks/{NcTextArea-2CifgNom.mjs → NcTextArea-CWA3KOiC.mjs} +3 -3
  183. package/dist/chunks/{NcTextArea-2CifgNom.mjs.map → NcTextArea-CWA3KOiC.mjs.map} +1 -1
  184. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-BfjSL2EJ.mjs → NcTextField.vue_vue_type_script_setup_true_lang-Cv9c1EWI.mjs} +4 -4
  185. package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-BfjSL2EJ.mjs.map → NcTextField.vue_vue_type_script_setup_true_lang-Cv9c1EWI.mjs.map} +1 -1
  186. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-BffYEppS.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-t72lL380.mjs} +4 -4
  187. package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-BffYEppS.mjs.map → NcTimezonePicker.vue_vue_type_script_setup_true_lang-t72lL380.mjs.map} +1 -1
  188. package/dist/chunks/{NcUserBubble-CiB-Lu5C.mjs → NcUserBubble-DlY4DCgO.mjs} +11 -11
  189. package/dist/chunks/{NcUserBubble-CiB-Lu5C.mjs.map → NcUserBubble-DlY4DCgO.mjs.map} +1 -1
  190. package/dist/chunks/{NcUserStatusIcon-BgElapLh.mjs → NcUserStatusIcon-lVNMmh5G.mjs} +2 -2
  191. package/dist/chunks/{NcUserStatusIcon-BgElapLh.mjs.map → NcUserStatusIcon-lVNMmh5G.mjs.map} +1 -1
  192. package/dist/chunks/{_l10n-CgsPi8nC.mjs → _l10n-BSFzy-71.mjs} +23 -23
  193. package/dist/chunks/_l10n-BSFzy-71.mjs.map +1 -0
  194. package/dist/chunks/{colors-CL_wvNtd.mjs → colors-DhRGyJCn.mjs} +11 -31
  195. package/dist/chunks/colors-DhRGyJCn.mjs.map +1 -0
  196. package/dist/chunks/{mdi-DvQxv1t7.mjs → mdi-CpchYUUV.mjs} +33 -25
  197. package/dist/chunks/{mdi-DvQxv1t7.mjs.map → mdi-CpchYUUV.mjs.map} +1 -1
  198. package/dist/chunks/{referencePickerModal-CDHqLZC-.mjs → referencePickerModal-VfCXswe3.mjs} +28 -28
  199. package/dist/chunks/referencePickerModal-VfCXswe3.mjs.map +1 -0
  200. package/dist/chunks/{useCopy-D3yAxBJi.mjs → useCopy-D-6Kls-z.mjs} +3 -3
  201. package/dist/chunks/{useCopy-D3yAxBJi.mjs.map → useCopy-D-6Kls-z.mjs.map} +1 -1
  202. package/dist/components/NcActionButton/index.mjs +1 -1
  203. package/dist/components/NcActionButtonGroup/index.mjs +1 -1
  204. package/dist/components/NcActionCheckbox/NcActionCheckbox.vue.d.ts +27 -16
  205. package/dist/components/NcActionCheckbox/index.mjs +1 -1
  206. package/dist/components/NcActionInput/NcActionInput.vue.d.ts +11 -0
  207. package/dist/components/NcActionInput/index.mjs +1 -1
  208. package/dist/components/NcActionRadio/NcActionRadio.vue.d.ts +26 -17
  209. package/dist/components/NcActionRadio/index.mjs +1 -1
  210. package/dist/components/NcActionTextEditable/index.mjs +1 -1
  211. package/dist/components/NcActions/index.mjs +1 -1
  212. package/dist/components/NcAppContent/index.mjs +1 -1
  213. package/dist/components/NcAppNavigation/index.mjs +1 -1
  214. package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
  215. package/dist/components/NcAppNavigationItem/index.mjs +1 -1
  216. package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
  217. package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
  218. package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
  219. package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
  220. package/dist/components/NcAppSettingsSectionShortcuts/index.mjs +1 -1
  221. package/dist/components/NcAppSettingsShortcutsSection/index.mjs +1 -1
  222. package/dist/components/NcAppSidebar/index.mjs +1 -1
  223. package/dist/components/NcAssistantButton/index.mjs +1 -1
  224. package/dist/components/NcAssistantContent/index.mjs +1 -1
  225. package/dist/components/NcAssistantIcon/index.mjs +1 -1
  226. package/dist/components/NcAvatar/index.mjs +1 -1
  227. package/dist/components/NcBlurHash/index.mjs +1 -1
  228. package/dist/components/NcBreadcrumb/index.mjs +1 -1
  229. package/dist/components/NcBreadcrumbs/index.mjs +1 -1
  230. package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
  231. package/dist/components/NcChip/index.mjs +1 -1
  232. package/dist/components/NcCollectionList/index.mjs +1 -1
  233. package/dist/components/NcColorPicker/index.mjs +1 -1
  234. package/dist/components/NcContent/index.mjs +1 -1
  235. package/dist/components/NcDashboardWidget/index.mjs +1 -1
  236. package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
  237. package/dist/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +19 -0
  238. package/dist/components/NcDateTimePicker/index.mjs +1 -1
  239. package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
  240. package/dist/components/NcDialog/index.mjs +1 -1
  241. package/dist/components/NcDialogButton/index.mjs +1 -1
  242. package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +1 -2
  243. package/dist/components/NcEmojiPicker/index.mjs +1 -1
  244. package/dist/components/NcFormBox/index.mjs +1 -1
  245. package/dist/components/NcFormBoxButton/index.mjs +1 -1
  246. package/dist/components/NcFormBoxCopyButton/index.mjs +1 -1
  247. package/dist/components/NcFormBoxSwitch/index.mjs +1 -1
  248. package/dist/components/NcFormGroup/index.mjs +1 -1
  249. package/dist/components/NcHotkey/index.mjs +1 -1
  250. package/dist/components/NcHotkeyList/index.mjs +1 -1
  251. package/dist/components/NcInputField/index.mjs +1 -1
  252. package/dist/components/NcKbd/index.mjs +1 -1
  253. package/dist/components/NcListItem/index.mjs +1 -1
  254. package/dist/components/NcListItemIcon/index.mjs +1 -1
  255. package/dist/components/NcModal/index.mjs +1 -1
  256. package/dist/components/NcNoteCard/index.mjs +1 -1
  257. package/dist/components/NcPasswordField/index.mjs +1 -1
  258. package/dist/components/NcPopover/index.mjs +1 -1
  259. package/dist/components/NcRadioGroup/index.mjs +1 -1
  260. package/dist/components/NcRadioGroupButton/index.mjs +1 -1
  261. package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
  262. package/dist/components/NcRichContenteditable/index.mjs +1 -1
  263. package/dist/components/NcRichText/index.mjs +3 -3
  264. package/dist/components/NcSelect/index.mjs +1 -1
  265. package/dist/components/NcSelectTags/index.mjs +1 -1
  266. package/dist/components/NcSelectUsers/index.mjs +1 -1
  267. package/dist/components/NcSettingsSection/index.mjs +1 -1
  268. package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
  269. package/dist/components/NcTextArea/index.mjs +1 -1
  270. package/dist/components/NcTextField/index.mjs +1 -1
  271. package/dist/components/NcTimezonePicker/index.mjs +1 -1
  272. package/dist/components/NcUserBubble/index.mjs +1 -1
  273. package/dist/components/NcUserStatusIcon/index.mjs +1 -1
  274. package/dist/composables/useFormatDateTime/index.mjs +1 -1
  275. package/dist/functions/reference/index.mjs +1 -1
  276. package/dist/functions/usernameToColor/index.mjs +1 -1
  277. package/dist/index.mjs +67 -67
  278. package/package.json +10 -10
  279. package/dist/assets/NcActionCheckbox-BeT6fCCy.css +0 -80
  280. package/dist/assets/NcActionRadio-DgdLD238.css +0 -79
  281. package/dist/assets/NcSelectUsers-BWhtNRbI.css +0 -4
  282. package/dist/chunks/NcActionCheckbox-BTHrh-Mu.mjs +0 -127
  283. package/dist/chunks/NcActionCheckbox-BTHrh-Mu.mjs.map +0 -1
  284. package/dist/chunks/NcActionInput-D1uLWx4N.mjs.map +0 -1
  285. package/dist/chunks/NcActionRadio-BM24rDbc.mjs +0 -136
  286. package/dist/chunks/NcActionRadio-BM24rDbc.mjs.map +0 -1
  287. package/dist/chunks/NcAppContent-DFbY2ERd.mjs.map +0 -1
  288. package/dist/chunks/NcAppNavigationItem-B307vBI9.mjs.map +0 -1
  289. package/dist/chunks/NcAppNavigationSearch-Bi367hd4.mjs.map +0 -1
  290. package/dist/chunks/NcAppNavigationSettings-CaTjgcVj.mjs.map +0 -1
  291. package/dist/chunks/NcAppSettingsDialog-NlVP7Fo7.mjs.map +0 -1
  292. package/dist/chunks/NcAppSidebar-as8lzUZp.mjs.map +0 -1
  293. package/dist/chunks/NcAvatar-S8EJR2BK.mjs.map +0 -1
  294. package/dist/chunks/NcBreadcrumb-ChYVw5CP.mjs.map +0 -1
  295. package/dist/chunks/NcCheckboxRadioSwitch-DisCqPZK.mjs.map +0 -1
  296. package/dist/chunks/NcChip-QHPd3nMF.mjs.map +0 -1
  297. package/dist/chunks/NcCollectionList-ByFl0-ca.mjs.map +0 -1
  298. package/dist/chunks/NcColorPicker-DpSDaGrh.mjs.map +0 -1
  299. package/dist/chunks/NcDashboardWidget-CIUrPOLo.mjs.map +0 -1
  300. package/dist/chunks/NcDashboardWidgetItem-DdYM1QYk.mjs.map +0 -1
  301. package/dist/chunks/NcDateTimePicker-DtQaoKbG.mjs.map +0 -1
  302. package/dist/chunks/NcEmojiPicker-U5k_zceS.mjs.map +0 -1
  303. package/dist/chunks/NcFormBox-CkgY7Tif.mjs.map +0 -1
  304. package/dist/chunks/NcFormBoxButton-Bptd324P.mjs.map +0 -1
  305. package/dist/chunks/NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-DhnfC18v.mjs.map +0 -1
  306. package/dist/chunks/NcFormBoxItem-vnU0KmUL.mjs.map +0 -1
  307. package/dist/chunks/NcListItem-Bx93C7tP.mjs.map +0 -1
  308. package/dist/chunks/NcListItemIcon-IJLXY-te.mjs.map +0 -1
  309. package/dist/chunks/NcModal-DSCYMxfe.mjs.map +0 -1
  310. package/dist/chunks/NcPopover-C-MTaPCs.mjs.map +0 -1
  311. package/dist/chunks/NcRadioGroup-HorQ2m39.mjs.map +0 -1
  312. package/dist/chunks/NcRelatedResourcesPanel-Dtxd3-o1.mjs.map +0 -1
  313. package/dist/chunks/NcRichText-B6VwyPUp.mjs.map +0 -1
  314. package/dist/chunks/NcSelect-Cc9_a8nG.mjs.map +0 -1
  315. package/dist/chunks/NcSelectTags-JyyA4W_e.mjs.map +0 -1
  316. package/dist/chunks/NcSettingsSelectGroup-CUU-GWYl.mjs.map +0 -1
  317. package/dist/chunks/_l10n-CgsPi8nC.mjs.map +0 -1
  318. package/dist/chunks/colors-CL_wvNtd.mjs.map +0 -1
  319. package/dist/chunks/referencePickerModal-CDHqLZC-.mjs.map +0 -1
@@ -9,14 +9,14 @@
9
9
  /*
10
10
  * Ensure proper alignment of the vue material icons
11
11
  */
12
- .material-design-icon[data-v-21e2bf0c] {
12
+ .material-design-icon[data-v-f2b71592] {
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
- .select-group-error[data-v-21e2bf0c] {
19
+ .select-group-error[data-v-f2b71592] {
20
20
  color: var(--color-text-error, var(--color-error));
21
21
  font-size: 13px;
22
22
  padding-inline-start: var(--border-radius-element);
@@ -69,7 +69,7 @@
69
69
  box-shadow: 0 0 0 1px var(--input-border-color);
70
70
  }
71
71
  @media (prefers-color-scheme: dark) {
72
- .textarea__input[data-v-a0d5539d] {
72
+ .textarea__input .textarea__input[data-v-a0d5539d] {
73
73
  --input-border-box-shadow: var(--input-border-box-shadow-dark);
74
74
  }
75
75
  }
@@ -9,40 +9,40 @@
9
9
  /*
10
10
  * Ensure proper alignment of the vue material icons
11
11
  */
12
- .material-design-icon[data-v-ad356e41] {
12
+ .material-design-icon[data-v-9189d023] {
13
13
  display: flex;
14
14
  align-self: center;
15
15
  justify-self: center;
16
16
  align-items: center;
17
17
  justify-content: center;
18
18
  }
19
- .user-bubble__wrapper[data-v-ad356e41] {
19
+ .user-bubble__wrapper[data-v-9189d023] {
20
20
  display: inline-block;
21
21
  vertical-align: middle;
22
22
  min-width: 0;
23
23
  max-width: 100%;
24
24
  }
25
- .user-bubble__content[data-v-ad356e41] {
25
+ .user-bubble__content[data-v-9189d023] {
26
26
  display: inline-flex;
27
27
  max-width: 100%;
28
28
  background-color: var(--color-background-dark);
29
29
  }
30
- .user-bubble__content--primary[data-v-ad356e41] {
30
+ .user-bubble__content--primary[data-v-9189d023] {
31
31
  color: var(--color-primary-element-text);
32
32
  background-color: var(--color-primary-element);
33
33
  }
34
- .user-bubble__content[data-v-ad356e41] > :last-child {
34
+ .user-bubble__content[data-v-9189d023] > :last-child {
35
35
  padding-inline-end: 8px;
36
36
  }
37
- .user-bubble__avatar[data-v-ad356e41] {
37
+ .user-bubble__avatar[data-v-9189d023] {
38
38
  align-self: center;
39
39
  }
40
- .user-bubble__name[data-v-ad356e41] {
40
+ .user-bubble__name[data-v-9189d023] {
41
41
  overflow: hidden;
42
42
  white-space: nowrap;
43
43
  text-overflow: ellipsis;
44
44
  }
45
- .user-bubble__name[data-v-ad356e41], .user-bubble__secondary[data-v-ad356e41] {
45
+ .user-bubble__name[data-v-9189d023], .user-bubble__secondary[data-v-9189d023] {
46
46
  padding-block: 0;
47
47
  padding-inline: 4px 0;
48
48
  }
@@ -26,40 +26,40 @@
26
26
  /*
27
27
  * Ensure proper alignment of the vue material icons
28
28
  */
29
- .material-design-icon[data-v-90c6aa3b] {
29
+ .material-design-icon[data-v-ea81d3af] {
30
30
  display: flex;
31
31
  align-self: center;
32
32
  justify-self: center;
33
33
  align-items: center;
34
34
  justify-content: center;
35
35
  }
36
- .provider-list[data-v-90c6aa3b] {
36
+ .provider-list[data-v-ea81d3af] {
37
37
  width: 100%;
38
38
  min-height: 400px;
39
39
  padding: 0 16px 16px 16px;
40
40
  display: flex;
41
41
  flex-direction: column;
42
42
  }
43
- .provider-list--select[data-v-90c6aa3b] {
43
+ .provider-list--select[data-v-ea81d3af] {
44
44
  width: 100%;
45
45
  }
46
- .provider-list--select .provider[data-v-90c6aa3b] {
46
+ .provider-list--select .provider[data-v-ea81d3af] {
47
47
  display: flex;
48
48
  align-items: center;
49
49
  height: 28px;
50
50
  overflow: hidden;
51
51
  }
52
- .provider-list--select .provider .link-icon[data-v-90c6aa3b] {
52
+ .provider-list--select .provider .link-icon[data-v-ea81d3af] {
53
53
  margin-inline-end: 8px;
54
54
  }
55
- .provider-list--select .provider .provider-icon[data-v-90c6aa3b] {
55
+ .provider-list--select .provider .provider-icon[data-v-ea81d3af] {
56
56
  width: 20px;
57
57
  height: 20px;
58
58
  object-fit: contain;
59
59
  margin-inline-end: 8px;
60
60
  filter: var(--background-invert-if-dark);
61
61
  }
62
- .provider-list--select .provider .option-text[data-v-90c6aa3b] {
62
+ .provider-list--select .provider .option-text[data-v-ea81d3af] {
63
63
  overflow: hidden;
64
64
  text-overflow: ellipsis;
65
65
  white-space: nowrap;
@@ -188,14 +188,14 @@
188
188
  /*
189
189
  * Ensure proper alignment of the vue material icons
190
190
  */
191
- .material-design-icon[data-v-a0658f2a] {
191
+ .material-design-icon[data-v-918730b9] {
192
192
  display: flex;
193
193
  align-self: center;
194
194
  justify-self: center;
195
195
  align-items: center;
196
196
  justify-content: center;
197
197
  }
198
- .raw-link[data-v-a0658f2a] {
198
+ .raw-link[data-v-918730b9] {
199
199
  width: 100%;
200
200
  min-height: 350px;
201
201
  display: flex;
@@ -203,19 +203,19 @@
203
203
  overflow-y: auto;
204
204
  padding: 0 16px 16px 16px;
205
205
  }
206
- .raw-link .input-wrapper[data-v-a0658f2a] {
206
+ .raw-link .input-wrapper[data-v-918730b9] {
207
207
  width: 100%;
208
208
  }
209
- .raw-link .reference-widget[data-v-a0658f2a] {
209
+ .raw-link .reference-widget[data-v-918730b9] {
210
210
  display: flex;
211
211
  }
212
- .raw-link--empty-content .provider-icon[data-v-a0658f2a] {
212
+ .raw-link--empty-content .provider-icon[data-v-918730b9] {
213
213
  width: 150px;
214
214
  height: 150px;
215
215
  object-fit: contain;
216
216
  filter: var(--background-invert-if-dark);
217
217
  }
218
- .raw-link--input[data-v-a0658f2a] {
218
+ .raw-link--input[data-v-918730b9] {
219
219
  width: 99%;
220
220
  }/**
221
221
  * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
@@ -271,47 +271,47 @@
271
271
  /*
272
272
  * Ensure proper alignment of the vue material icons
273
273
  */
274
- .material-design-icon[data-v-e8abf1d4] {
274
+ .material-design-icon[data-v-af9d145f] {
275
275
  display: flex;
276
276
  align-self: center;
277
277
  justify-self: center;
278
278
  align-items: center;
279
279
  justify-content: center;
280
280
  }
281
- .smart-picker-search[data-v-e8abf1d4] {
281
+ .smart-picker-search[data-v-af9d145f] {
282
282
  width: 100%;
283
283
  display: flex;
284
284
  flex-direction: column;
285
285
  padding: 0 16px 16px 16px;
286
286
  }
287
- .smart-picker-search.with-empty-content[data-v-e8abf1d4] {
287
+ .smart-picker-search.with-empty-content[data-v-af9d145f] {
288
288
  min-height: 400px;
289
289
  }
290
- .smart-picker-search .provider-icon[data-v-e8abf1d4] {
290
+ .smart-picker-search .provider-icon[data-v-af9d145f] {
291
291
  width: 150px;
292
292
  height: 150px;
293
293
  object-fit: contain;
294
294
  filter: var(--background-invert-if-dark);
295
295
  }
296
- .smart-picker-search--select[data-v-e8abf1d4] {
296
+ .smart-picker-search--select[data-v-af9d145f] {
297
297
  width: 100%;
298
298
  }
299
- .smart-picker-search--select .search-result[data-v-e8abf1d4] {
299
+ .smart-picker-search--select .search-result[data-v-af9d145f] {
300
300
  width: 100%;
301
301
  }
302
- .smart-picker-search--select .group-name-icon[data-v-e8abf1d4],
303
- .smart-picker-search--select .option-simple-icon[data-v-e8abf1d4] {
302
+ .smart-picker-search--select .group-name-icon[data-v-af9d145f],
303
+ .smart-picker-search--select .option-simple-icon[data-v-af9d145f] {
304
304
  width: 20px;
305
305
  height: 20px;
306
306
  margin: 0 20px 0 10px;
307
307
  }
308
- .smart-picker-search--select .custom-option[data-v-e8abf1d4] {
308
+ .smart-picker-search--select .custom-option[data-v-af9d145f] {
309
309
  height: var(--default-clickable-area);
310
310
  display: flex;
311
311
  align-items: center;
312
312
  overflow: hidden;
313
313
  }
314
- .smart-picker-search--select .option-text[data-v-e8abf1d4] {
314
+ .smart-picker-search--select .option-text[data-v-af9d145f] {
315
315
  overflow: hidden;
316
316
  text-overflow: ellipsis;
317
317
  white-space: nowrap;
@@ -326,24 +326,24 @@
326
326
  /*
327
327
  * Ensure proper alignment of the vue material icons
328
328
  */
329
- .material-design-icon[data-v-b193005a] {
329
+ .material-design-icon[data-v-5e2e9195] {
330
330
  display: flex;
331
331
  align-self: center;
332
332
  justify-self: center;
333
333
  align-items: center;
334
334
  justify-content: center;
335
335
  }
336
- .reference-picker[data-v-b193005a] {
336
+ .reference-picker[data-v-5e2e9195] {
337
337
  display: flex;
338
338
  overflow-y: auto;
339
339
  width: 100%;
340
340
  }
341
- .reference-picker .custom-element-wrapper[data-v-b193005a] {
341
+ .reference-picker .custom-element-wrapper[data-v-5e2e9195] {
342
342
  display: flex;
343
343
  overflow-y: auto;
344
344
  width: 100%;
345
345
  }
346
- .reference-picker .custom-element-wrapper .custom-element[data-v-b193005a] {
346
+ .reference-picker .custom-element-wrapper .custom-element[data-v-5e2e9195] {
347
347
  display: flex;
348
348
  overflow-y: auto;
349
349
  width: 100%;
@@ -358,17 +358,17 @@
358
358
  /*
359
359
  * Ensure proper alignment of the vue material icons
360
360
  */
361
- .material-design-icon[data-v-15018516] {
361
+ .material-design-icon[data-v-bf0a25ee] {
362
362
  display: flex;
363
363
  align-self: center;
364
364
  justify-self: center;
365
365
  align-items: center;
366
366
  justify-content: center;
367
367
  }
368
- .reference-picker-modal[data-v-15018516] .modal-container {
368
+ .reference-picker-modal[data-v-bf0a25ee] .modal-container {
369
369
  display: flex !important;
370
370
  }
371
- .reference-picker-modal--content[data-v-15018516] {
371
+ .reference-picker-modal--content[data-v-bf0a25ee] {
372
372
  width: 100%;
373
373
  display: flex;
374
374
  flex-direction: column;
@@ -376,21 +376,21 @@
376
376
  justify-content: center;
377
377
  overflow-y: auto;
378
378
  }
379
- .reference-picker-modal--content .close-button[data-v-15018516],
380
- .reference-picker-modal--content .back-button[data-v-15018516] {
379
+ .reference-picker-modal--content .close-button[data-v-bf0a25ee],
380
+ .reference-picker-modal--content .back-button[data-v-bf0a25ee] {
381
381
  position: absolute;
382
382
  top: 4px;
383
383
  }
384
- .reference-picker-modal--content .back-button[data-v-15018516] {
384
+ .reference-picker-modal--content .back-button[data-v-bf0a25ee] {
385
385
  inset-inline-start: 4px;
386
386
  }
387
- .reference-picker-modal--content .close-button[data-v-15018516] {
387
+ .reference-picker-modal--content .close-button[data-v-bf0a25ee] {
388
388
  inset-inline-end: 4px;
389
389
  }
390
- .reference-picker-modal--content > h2[data-v-15018516] {
390
+ .reference-picker-modal--content > h2[data-v-bf0a25ee] {
391
391
  display: flex;
392
392
  margin: 12px 0 20px 0;
393
393
  }
394
- .reference-picker-modal--content > h2 .icon[data-v-15018516] {
394
+ .reference-picker-modal--content > h2 .icon[data-v-bf0a25ee] {
395
395
  margin-inline-end: 8px;
396
396
  }
@@ -1,5 +1,5 @@
1
1
  import '../assets/NcActionButton-Bb0ihLdt.css';
2
- import { c as mdiChevronRight, d as mdiCheck } from "./mdi-DvQxv1t7.mjs";
2
+ import { c as mdiChevronRight, d as mdiCheck } from "./mdi-CpchYUUV.mjs";
3
3
  import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BvLanNaW.mjs";
4
4
  import { A as ActionTextMixin } from "./actionText-BXR0sWNu.mjs";
5
5
  import { a as NC_ACTIONS_IS_SEMANTIC_MENU } from "./useNcActions-BzPO2c4h.mjs";
@@ -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-BHXE4UKQ.mjs.map
228
+ //# sourceMappingURL=NcActionButton-DNXoAooH.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcActionButton-BHXE4UKQ.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,6 +1,6 @@
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-CgsPi8nC.mjs";
3
+ import { r as register, a as t } from "./_l10n-BSFzy-71.mjs";
4
4
  import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
5
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";
@@ -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-B2MGnwK_.mjs.map
60
+ //# sourceMappingURL=NcActionButtonGroup-C4oY8x5z.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"NcActionButtonGroup-C4oY8x5z.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;;;;"}
@@ -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;;;;"}