@nextcloud/vue 8.24.0 → 8.25.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 (353) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +2 -2
  3. package/dist/Components/NcActionButton.cjs +1 -1
  4. package/dist/Components/NcActionButton.mjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  6. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  7. package/dist/Components/NcActionInput.cjs +1 -1
  8. package/dist/Components/NcActionInput.mjs +1 -1
  9. package/dist/Components/NcActions.cjs +1 -1
  10. package/dist/Components/NcActions.mjs +1 -1
  11. package/dist/Components/NcAppContent.cjs +1 -1
  12. package/dist/Components/NcAppContent.mjs +1 -1
  13. package/dist/Components/NcAppNavigation.cjs +1 -1
  14. package/dist/Components/NcAppNavigation.mjs +1 -1
  15. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  16. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  17. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  18. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  19. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  20. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  21. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  22. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  23. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  24. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  25. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  26. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  27. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  28. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  29. package/dist/Components/NcAppSidebar.cjs +1 -1
  30. package/dist/Components/NcAppSidebar.mjs +1 -1
  31. package/dist/Components/NcAvatar.cjs +1 -1
  32. package/dist/Components/NcAvatar.mjs +1 -1
  33. package/dist/Components/NcBreadcrumb.cjs +1 -1
  34. package/dist/Components/NcBreadcrumb.mjs +1 -1
  35. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  36. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  37. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  38. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  39. package/dist/Components/NcChip.cjs +6 -6
  40. package/dist/Components/NcChip.cjs.map +1 -1
  41. package/dist/Components/NcChip.mjs +5 -5
  42. package/dist/Components/NcChip.mjs.map +1 -1
  43. package/dist/Components/NcCollectionList.cjs +1 -1
  44. package/dist/Components/NcCollectionList.mjs +1 -1
  45. package/dist/Components/NcColorPicker.cjs +1 -1
  46. package/dist/Components/NcColorPicker.mjs +1 -1
  47. package/dist/Components/NcContent.cjs +1 -1
  48. package/dist/Components/NcContent.mjs +1 -1
  49. package/dist/Components/NcDashboardWidget.cjs +1 -1
  50. package/dist/Components/NcDashboardWidget.mjs +1 -1
  51. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  52. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  53. package/dist/Components/NcDateTime.cjs +1 -1
  54. package/dist/Components/NcDateTime.mjs +1 -1
  55. package/dist/Components/NcDateTimePicker.cjs +47 -21
  56. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  57. package/dist/Components/NcDateTimePicker.mjs +47 -21
  58. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  59. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  60. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  61. package/dist/Components/NcDialog.cjs +1 -1
  62. package/dist/Components/NcDialog.mjs +1 -1
  63. package/dist/Components/NcDialogButton.cjs +1 -1
  64. package/dist/Components/NcDialogButton.mjs +1 -1
  65. package/dist/Components/NcEmojiPicker.cjs +1 -1
  66. package/dist/Components/NcEmojiPicker.mjs +1 -1
  67. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  68. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  69. package/dist/Components/NcListItem.cjs +1 -1
  70. package/dist/Components/NcListItem.mjs +1 -1
  71. package/dist/Components/NcListItemIcon.cjs +1 -1
  72. package/dist/Components/NcListItemIcon.mjs +1 -1
  73. package/dist/Components/NcModal.cjs +21 -21
  74. package/dist/Components/NcModal.cjs.map +1 -1
  75. package/dist/Components/NcModal.mjs +21 -21
  76. package/dist/Components/NcModal.mjs.map +1 -1
  77. package/dist/Components/NcPasswordField.cjs +1 -1
  78. package/dist/Components/NcPasswordField.mjs +1 -1
  79. package/dist/Components/NcPopover.cjs +1 -1
  80. package/dist/Components/NcPopover.mjs +1 -1
  81. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  82. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  83. package/dist/Components/NcRichContenteditable.cjs +1 -1
  84. package/dist/Components/NcRichContenteditable.mjs +1 -1
  85. package/dist/Components/NcRichText.cjs +2 -2
  86. package/dist/Components/NcRichText.mjs +3 -3
  87. package/dist/Components/NcSelect.cjs +1 -1
  88. package/dist/Components/NcSelect.mjs +1 -1
  89. package/dist/Components/NcSelectTags.cjs +1 -1
  90. package/dist/Components/NcSelectTags.mjs +1 -1
  91. package/dist/Components/NcSelectUsers.cjs +4 -0
  92. package/dist/Components/NcSelectUsers.cjs.map +1 -0
  93. package/dist/Components/NcSelectUsers.mjs +5 -0
  94. package/dist/Components/NcSelectUsers.mjs.map +1 -0
  95. package/dist/Components/NcSettingsInputText.cjs +1 -1
  96. package/dist/Components/NcSettingsInputText.mjs +1 -1
  97. package/dist/Components/NcSettingsSection.cjs +1 -1
  98. package/dist/Components/NcSettingsSection.mjs +1 -1
  99. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  100. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  101. package/dist/Components/NcTextField.cjs +1 -1
  102. package/dist/Components/NcTextField.mjs +1 -1
  103. package/dist/Components/NcTimezonePicker.cjs +1 -1
  104. package/dist/Components/NcTimezonePicker.mjs +1 -1
  105. package/dist/Components/NcUserBubble.cjs +1 -1
  106. package/dist/Components/NcUserBubble.mjs +1 -1
  107. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  108. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  109. package/dist/Directives/Tooltip.cjs +1 -1
  110. package/dist/Directives/Tooltip.cjs.map +1 -1
  111. package/dist/Directives/Tooltip.mjs +4 -4
  112. package/dist/Directives/Tooltip.mjs.map +1 -1
  113. package/dist/Functions/reference.cjs +1 -1
  114. package/dist/Functions/reference.mjs +1 -1
  115. package/dist/Functions/usernameToColor.cjs +1 -1
  116. package/dist/Functions/usernameToColor.mjs +1 -1
  117. package/dist/assets/{NcAppContent-JfRwJlWK.css → NcAppContent-DswTJB9n.css} +4 -4
  118. package/dist/assets/{NcAvatar-Cc-2PM1F.css → NcAvatar-BvPk6o_F.css} +24 -24
  119. package/dist/assets/{NcDateTimePicker-D07hGMOZ.css → NcDateTimePicker-BY1UnUZM.css} +12 -12
  120. package/dist/assets/{NcIconSvgWrapper-BxyhLaB5.css → NcIconSvgWrapper-BiNW6Guv.css} +8 -4
  121. package/dist/assets/{NcModal-DXN1C02T.css → NcModal-BS5vtogq.css} +68 -69
  122. package/dist/assets/{NcPopover-DpakVVxI.css → NcPopover-CWwUNpmE.css} +9 -9
  123. package/dist/assets/{NcRichContenteditable-BV6g3dmd.css → NcRichContenteditable-CtPZudY6.css} +13 -10
  124. package/dist/assets/NcSelectUsers-BoxBQpbA.css +4 -0
  125. package/dist/assets/{Tooltip-DQ4Plm4r.css → Tooltip-C-QZMStp.css} +7 -9
  126. package/dist/chunks/{GenColors-CV4Niqso.cjs → GenColors-7bkY5Nwl.cjs} +2 -2
  127. package/dist/chunks/{GenColors-CV4Niqso.cjs.map → GenColors-7bkY5Nwl.cjs.map} +1 -1
  128. package/dist/chunks/{GenColors-NALDypHH.mjs → GenColors-S7frO84b.mjs} +2 -2
  129. package/dist/chunks/{GenColors-NALDypHH.mjs.map → GenColors-S7frO84b.mjs.map} +1 -1
  130. package/dist/chunks/{NcActionButton-ChQFsL4S.cjs → NcActionButton-CXeEXQLT.cjs} +37 -5
  131. package/dist/chunks/NcActionButton-CXeEXQLT.cjs.map +1 -0
  132. package/dist/chunks/{NcActionButton-BFxArTsE.mjs → NcActionButton-Gpv56vuS.mjs} +37 -5
  133. package/dist/chunks/NcActionButton-Gpv56vuS.mjs.map +1 -0
  134. package/dist/chunks/{NcActionButtonGroup-BSFS4BYN.cjs → NcActionButtonGroup-BMy3W9fG.cjs} +2 -2
  135. package/dist/chunks/{NcActionButtonGroup-BSFS4BYN.cjs.map → NcActionButtonGroup-BMy3W9fG.cjs.map} +1 -1
  136. package/dist/chunks/{NcActionButtonGroup-B5OcRwWQ.mjs → NcActionButtonGroup-BteTNhIn.mjs} +2 -2
  137. package/dist/chunks/{NcActionButtonGroup-B5OcRwWQ.mjs.map → NcActionButtonGroup-BteTNhIn.mjs.map} +1 -1
  138. package/dist/chunks/{NcActionInput-DghifYMn.cjs → NcActionInput-B-7FoLVy.cjs} +6 -6
  139. package/dist/chunks/{NcActionInput-DghifYMn.cjs.map → NcActionInput-B-7FoLVy.cjs.map} +1 -1
  140. package/dist/chunks/{NcActionInput-DXiL7Phe.mjs → NcActionInput-D-zf_ZR9.mjs} +6 -6
  141. package/dist/chunks/{NcActionInput-DXiL7Phe.mjs.map → NcActionInput-D-zf_ZR9.mjs.map} +1 -1
  142. package/dist/chunks/{NcActions-C_H0APKA.mjs → NcActions-Bkh3UMs3.mjs} +3 -3
  143. package/dist/chunks/{NcActions-C_H0APKA.mjs.map → NcActions-Bkh3UMs3.mjs.map} +1 -1
  144. package/dist/chunks/{NcActions-C_gPnk6X.cjs → NcActions-DFHXBqKC.cjs} +3 -3
  145. package/dist/chunks/{NcActions-C_gPnk6X.cjs.map → NcActions-DFHXBqKC.cjs.map} +1 -1
  146. package/dist/chunks/{NcAppContent-PC4RbdhU.cjs → NcAppContent-D__4-2XM.cjs} +8 -13
  147. package/dist/chunks/NcAppContent-D__4-2XM.cjs.map +1 -0
  148. package/dist/chunks/{NcAppContent-DiOscHZ8.mjs → NcAppContent-_x1Bvwg-.mjs} +8 -13
  149. package/dist/chunks/NcAppContent-_x1Bvwg-.mjs.map +1 -0
  150. package/dist/chunks/{NcAppNavigation-B9Dd0YBs.cjs → NcAppNavigation-DBfTz6qV.cjs} +2 -2
  151. package/dist/chunks/{NcAppNavigation-B9Dd0YBs.cjs.map → NcAppNavigation-DBfTz6qV.cjs.map} +1 -1
  152. package/dist/chunks/{NcAppNavigation-DD1CfV7A.mjs → NcAppNavigation-H8Gvbq5E.mjs} +2 -2
  153. package/dist/chunks/{NcAppNavigation-DD1CfV7A.mjs.map → NcAppNavigation-H8Gvbq5E.mjs.map} +1 -1
  154. package/dist/chunks/{NcAppNavigationCaption-8NN7iPkz.mjs → NcAppNavigationCaption-Dz7wVRDM.mjs} +2 -2
  155. package/dist/chunks/{NcAppNavigationCaption-8NN7iPkz.mjs.map → NcAppNavigationCaption-Dz7wVRDM.mjs.map} +1 -1
  156. package/dist/chunks/{NcAppNavigationCaption-CuKecXh9.cjs → NcAppNavigationCaption-Kjwx7t2O.cjs} +2 -2
  157. package/dist/chunks/{NcAppNavigationCaption-CuKecXh9.cjs.map → NcAppNavigationCaption-Kjwx7t2O.cjs.map} +1 -1
  158. package/dist/chunks/{NcAppNavigationItem-B2LzgJUC.cjs → NcAppNavigationItem-CHa42b-x.cjs} +6 -6
  159. package/dist/chunks/{NcAppNavigationItem-B2LzgJUC.cjs.map → NcAppNavigationItem-CHa42b-x.cjs.map} +1 -1
  160. package/dist/chunks/{NcAppNavigationItem-B50v2lmS.mjs → NcAppNavigationItem-Dpm3T1dA.mjs} +6 -6
  161. package/dist/chunks/{NcAppNavigationItem-B50v2lmS.mjs.map → NcAppNavigationItem-Dpm3T1dA.mjs.map} +1 -1
  162. package/dist/chunks/{NcAppNavigationNewItem-bRz_V5Y1.cjs → NcAppNavigationNewItem-BLek0JRU.cjs} +2 -2
  163. package/dist/chunks/{NcAppNavigationNewItem-bRz_V5Y1.cjs.map → NcAppNavigationNewItem-BLek0JRU.cjs.map} +1 -1
  164. package/dist/chunks/{NcAppNavigationNewItem-B7_0fFTF.mjs → NcAppNavigationNewItem-DGjgp78o.mjs} +2 -2
  165. package/dist/chunks/{NcAppNavigationNewItem-B7_0fFTF.mjs.map → NcAppNavigationNewItem-DGjgp78o.mjs.map} +1 -1
  166. package/dist/chunks/{NcAppNavigationSearch-B-HqHu3j.cjs → NcAppNavigationSearch-BblolNaS.cjs} +3 -3
  167. package/dist/chunks/{NcAppNavigationSearch-B-HqHu3j.cjs.map → NcAppNavigationSearch-BblolNaS.cjs.map} +1 -1
  168. package/dist/chunks/{NcAppNavigationSearch-ChGonQL8.mjs → NcAppNavigationSearch-DTW6CtnU.mjs} +3 -3
  169. package/dist/chunks/{NcAppNavigationSearch-ChGonQL8.mjs.map → NcAppNavigationSearch-DTW6CtnU.mjs.map} +1 -1
  170. package/dist/chunks/{NcAppNavigationSettings-9nG2gY_9.mjs → NcAppNavigationSettings-C0QuEMmn.mjs} +3 -3
  171. package/dist/chunks/{NcAppNavigationSettings-9nG2gY_9.mjs.map → NcAppNavigationSettings-C0QuEMmn.mjs.map} +1 -1
  172. package/dist/chunks/{NcAppNavigationSettings-C--IJ1A2.cjs → NcAppNavigationSettings-lfJvt3vG.cjs} +3 -3
  173. package/dist/chunks/{NcAppNavigationSettings-C--IJ1A2.cjs.map → NcAppNavigationSettings-lfJvt3vG.cjs.map} +1 -1
  174. package/dist/chunks/{NcAppNavigationToggle-FxOt_DlD.cjs → NcAppNavigationToggle-CUGOWggc.cjs} +2 -2
  175. package/dist/chunks/{NcAppNavigationToggle-FxOt_DlD.cjs.map → NcAppNavigationToggle-CUGOWggc.cjs.map} +1 -1
  176. package/dist/chunks/{NcAppNavigationToggle-CJ5N3NI4.mjs → NcAppNavigationToggle-CjPJB2s3.mjs} +2 -2
  177. package/dist/chunks/{NcAppNavigationToggle-CJ5N3NI4.mjs.map → NcAppNavigationToggle-CjPJB2s3.mjs.map} +1 -1
  178. package/dist/chunks/{NcAppSettingsDialog-C2rBRxUv.mjs → NcAppSettingsDialog-Dl-kMSpe.mjs} +4 -4
  179. package/dist/chunks/{NcAppSettingsDialog-C2rBRxUv.mjs.map → NcAppSettingsDialog-Dl-kMSpe.mjs.map} +1 -1
  180. package/dist/chunks/{NcAppSettingsDialog-CSLft-a9.cjs → NcAppSettingsDialog-K3yVenLs.cjs} +4 -4
  181. package/dist/chunks/{NcAppSettingsDialog-CSLft-a9.cjs.map → NcAppSettingsDialog-K3yVenLs.cjs.map} +1 -1
  182. package/dist/chunks/{NcAppSidebar-DVvZYd17.cjs → NcAppSidebar-Bmlid_Pa.cjs} +4 -4
  183. package/dist/chunks/{NcAppSidebar-DVvZYd17.cjs.map → NcAppSidebar-Bmlid_Pa.cjs.map} +1 -1
  184. package/dist/chunks/{NcAppSidebar-19hVcGhv.mjs → NcAppSidebar-DOJNq1iG.mjs} +4 -4
  185. package/dist/chunks/{NcAppSidebar-19hVcGhv.mjs.map → NcAppSidebar-DOJNq1iG.mjs.map} +1 -1
  186. package/dist/chunks/{NcAvatar--JVA_B6Y.cjs → NcAvatar-Bp1wPu2I.cjs} +12 -14
  187. package/dist/chunks/{NcAvatar--JVA_B6Y.cjs.map → NcAvatar-Bp1wPu2I.cjs.map} +1 -1
  188. package/dist/chunks/{NcAvatar-DwORvUjC.mjs → NcAvatar-DOvpF1gr.mjs} +12 -14
  189. package/dist/chunks/{NcAvatar-DwORvUjC.mjs.map → NcAvatar-DOvpF1gr.mjs.map} +1 -1
  190. package/dist/chunks/{NcBreadcrumb-DPF3ELzz.mjs → NcBreadcrumb-1Gv4FRrG.mjs} +2 -2
  191. package/dist/chunks/{NcBreadcrumb-DPF3ELzz.mjs.map → NcBreadcrumb-1Gv4FRrG.mjs.map} +1 -1
  192. package/dist/chunks/{NcBreadcrumb-B0ve-OJl.cjs → NcBreadcrumb-9pV_jqex.cjs} +2 -2
  193. package/dist/chunks/{NcBreadcrumb-B0ve-OJl.cjs.map → NcBreadcrumb-9pV_jqex.cjs.map} +1 -1
  194. package/dist/chunks/{NcBreadcrumbs-CL_IHuT9.mjs → NcBreadcrumbs-CwuR-hUE.mjs} +4 -4
  195. package/dist/chunks/{NcBreadcrumbs-CL_IHuT9.mjs.map → NcBreadcrumbs-CwuR-hUE.mjs.map} +1 -1
  196. package/dist/chunks/{NcBreadcrumbs-C_XQLT-h.cjs → NcBreadcrumbs-D4RrS0HT.cjs} +4 -4
  197. package/dist/chunks/{NcBreadcrumbs-C_XQLT-h.cjs.map → NcBreadcrumbs-D4RrS0HT.cjs.map} +1 -1
  198. package/dist/chunks/{NcCheckboxRadioSwitch-DOxX6fqr.cjs → NcCheckboxRadioSwitch-DbK49DI7.cjs} +2 -2
  199. package/dist/chunks/{NcCheckboxRadioSwitch-DOxX6fqr.cjs.map → NcCheckboxRadioSwitch-DbK49DI7.cjs.map} +1 -1
  200. package/dist/chunks/{NcCheckboxRadioSwitch-BaMf0PDd.mjs → NcCheckboxRadioSwitch-Di9rSADK.mjs} +2 -2
  201. package/dist/chunks/{NcCheckboxRadioSwitch-BaMf0PDd.mjs.map → NcCheckboxRadioSwitch-Di9rSADK.mjs.map} +1 -1
  202. package/dist/chunks/{NcCollectionList-DyZNTQFW.cjs → NcCollectionList-C3QKgLIe.cjs} +6 -6
  203. package/dist/chunks/{NcCollectionList-DyZNTQFW.cjs.map → NcCollectionList-C3QKgLIe.cjs.map} +1 -1
  204. package/dist/chunks/{NcCollectionList-iHUm6owG.mjs → NcCollectionList-D51FpJCr.mjs} +6 -6
  205. package/dist/chunks/{NcCollectionList-iHUm6owG.mjs.map → NcCollectionList-D51FpJCr.mjs.map} +1 -1
  206. package/dist/chunks/{NcColorPicker-CKIoVhox.cjs → NcColorPicker-9BNg5lJ0.cjs} +4 -4
  207. package/dist/chunks/{NcColorPicker-CKIoVhox.cjs.map → NcColorPicker-9BNg5lJ0.cjs.map} +1 -1
  208. package/dist/chunks/{NcColorPicker-av-NHSU7.mjs → NcColorPicker-sJKL33GV.mjs} +4 -4
  209. package/dist/chunks/{NcColorPicker-av-NHSU7.mjs.map → NcColorPicker-sJKL33GV.mjs.map} +1 -1
  210. package/dist/chunks/{NcContent-EFEXh_OO.cjs → NcContent-4X_oNYtW.cjs} +3 -3
  211. package/dist/chunks/{NcContent-EFEXh_OO.cjs.map → NcContent-4X_oNYtW.cjs.map} +1 -1
  212. package/dist/chunks/{NcContent-uiwRXAwA.mjs → NcContent-BHl5YDYI.mjs} +3 -3
  213. package/dist/chunks/{NcContent-uiwRXAwA.mjs.map → NcContent-BHl5YDYI.mjs.map} +1 -1
  214. package/dist/chunks/{NcDashboardWidget-3kbcJvFx.cjs → NcDashboardWidget-B1och7uR.cjs} +4 -4
  215. package/dist/chunks/{NcDashboardWidget-3kbcJvFx.cjs.map → NcDashboardWidget-B1och7uR.cjs.map} +1 -1
  216. package/dist/chunks/{NcDashboardWidget-DDaM0QjK.mjs → NcDashboardWidget-CioEwUfN.mjs} +4 -4
  217. package/dist/chunks/{NcDashboardWidget-DDaM0QjK.mjs.map → NcDashboardWidget-CioEwUfN.mjs.map} +1 -1
  218. package/dist/chunks/{NcDashboardWidgetItem-DOzM3reO.cjs → NcDashboardWidgetItem-BZPoOCWQ.cjs} +4 -4
  219. package/dist/chunks/{NcDashboardWidgetItem-DOzM3reO.cjs.map → NcDashboardWidgetItem-BZPoOCWQ.cjs.map} +1 -1
  220. package/dist/chunks/{NcDashboardWidgetItem-C44gZwCP.mjs → NcDashboardWidgetItem-D4EefvnL.mjs} +4 -4
  221. package/dist/chunks/{NcDashboardWidgetItem-C44gZwCP.mjs.map → NcDashboardWidgetItem-D4EefvnL.mjs.map} +1 -1
  222. package/dist/chunks/{NcDateTime-BfJVNppR.mjs → NcDateTime-BR6BBvML.mjs} +2 -2
  223. package/dist/chunks/{NcDateTime-BfJVNppR.mjs.map → NcDateTime-BR6BBvML.mjs.map} +1 -1
  224. package/dist/chunks/{NcDateTime-DNnBHGEQ.cjs → NcDateTime-C-kLQayi.cjs} +2 -2
  225. package/dist/chunks/{NcDateTime-DNnBHGEQ.cjs.map → NcDateTime-C-kLQayi.cjs.map} +1 -1
  226. package/dist/chunks/{NcDialog-DbCdhtw7.cjs → NcDialog-BjLJB7fW.cjs} +2 -2
  227. package/dist/chunks/{NcDialog-DbCdhtw7.cjs.map → NcDialog-BjLJB7fW.cjs.map} +1 -1
  228. package/dist/chunks/{NcDialog-D3Z5tp_6.mjs → NcDialog-D2lwwZL-.mjs} +2 -2
  229. package/dist/chunks/{NcDialog-D3Z5tp_6.mjs.map → NcDialog-D2lwwZL-.mjs.map} +1 -1
  230. package/dist/chunks/{NcDialogButton-BhPydgMe.mjs → NcDialogButton-BB56HcBl.mjs} +3 -3
  231. package/dist/chunks/{NcDialogButton-BhPydgMe.mjs.map → NcDialogButton-BB56HcBl.mjs.map} +1 -1
  232. package/dist/chunks/{NcDialogButton-CYsTKE2g.cjs → NcDialogButton-ByvLH63s.cjs} +3 -3
  233. package/dist/chunks/{NcDialogButton-CYsTKE2g.cjs.map → NcDialogButton-ByvLH63s.cjs.map} +1 -1
  234. package/dist/chunks/{NcEmojiPicker-C5HYxVqp.mjs → NcEmojiPicker-B49sJeMw.mjs} +7 -7
  235. package/dist/chunks/{NcEmojiPicker-C5HYxVqp.mjs.map → NcEmojiPicker-B49sJeMw.mjs.map} +1 -1
  236. package/dist/chunks/{NcEmojiPicker-DPHhky3J.cjs → NcEmojiPicker-DcTSImTm.cjs} +7 -7
  237. package/dist/chunks/{NcEmojiPicker-DPHhky3J.cjs.map → NcEmojiPicker-DcTSImTm.cjs.map} +1 -1
  238. package/dist/chunks/{NcIconSvgWrapper-B_eOG2sZ.cjs → NcIconSvgWrapper-BlucK1g3.cjs} +27 -16
  239. package/dist/chunks/NcIconSvgWrapper-BlucK1g3.cjs.map +1 -0
  240. package/dist/chunks/{NcIconSvgWrapper-CHmdAuhg.mjs → NcIconSvgWrapper-RKuZn260.mjs} +28 -17
  241. package/dist/chunks/NcIconSvgWrapper-RKuZn260.mjs.map +1 -0
  242. package/dist/chunks/{NcInputConfirmCancel-CvV0tE6s.mjs → NcInputConfirmCancel-CacBXLGS.mjs} +2 -2
  243. package/dist/chunks/{NcInputConfirmCancel-CvV0tE6s.mjs.map → NcInputConfirmCancel-CacBXLGS.mjs.map} +1 -1
  244. package/dist/chunks/{NcInputConfirmCancel-DRhv_CTt.cjs → NcInputConfirmCancel-lVLFwBA4.cjs} +2 -2
  245. package/dist/chunks/{NcInputConfirmCancel-DRhv_CTt.cjs.map → NcInputConfirmCancel-lVLFwBA4.cjs.map} +1 -1
  246. package/dist/chunks/{NcListItem-CA4CzIW8.mjs → NcListItem-BBTd7BLc.mjs} +2 -2
  247. package/dist/chunks/{NcListItem-CA4CzIW8.mjs.map → NcListItem-BBTd7BLc.mjs.map} +1 -1
  248. package/dist/chunks/{NcListItem-D5XlkLgC.cjs → NcListItem-D_mvsnph.cjs} +2 -2
  249. package/dist/chunks/{NcListItem-D5XlkLgC.cjs.map → NcListItem-D_mvsnph.cjs.map} +1 -1
  250. package/dist/chunks/{NcListItemIcon-DhENqcJ-.mjs → NcListItemIcon-B16M-aHV.mjs} +3 -3
  251. package/dist/chunks/{NcListItemIcon-DhENqcJ-.mjs.map → NcListItemIcon-B16M-aHV.mjs.map} +1 -1
  252. package/dist/chunks/{NcListItemIcon-DIJ0vvYv.cjs → NcListItemIcon-COUzDQI5.cjs} +3 -3
  253. package/dist/chunks/{NcListItemIcon-DIJ0vvYv.cjs.map → NcListItemIcon-COUzDQI5.cjs.map} +1 -1
  254. package/dist/chunks/{NcPasswordField-DXJ93Wpz.cjs → NcPasswordField-BCzIotoB.cjs} +2 -2
  255. package/dist/chunks/{NcPasswordField-DXJ93Wpz.cjs.map → NcPasswordField-BCzIotoB.cjs.map} +1 -1
  256. package/dist/chunks/{NcPasswordField-zMKko5oa.mjs → NcPasswordField-CTKHRVC4.mjs} +2 -2
  257. package/dist/chunks/{NcPasswordField-zMKko5oa.mjs.map → NcPasswordField-CTKHRVC4.mjs.map} +1 -1
  258. package/dist/chunks/{NcPopover-CA2Dalxs.cjs → NcPopover-BxLo6SFb.cjs} +2 -2
  259. package/dist/chunks/{NcPopover-CA2Dalxs.cjs.map → NcPopover-BxLo6SFb.cjs.map} +1 -1
  260. package/dist/chunks/{NcPopover-C9KlPo4Z.mjs → NcPopover-w98cBbbF.mjs} +2 -2
  261. package/dist/chunks/{NcPopover-C9KlPo4Z.mjs.map → NcPopover-w98cBbbF.mjs.map} +1 -1
  262. package/dist/chunks/{NcRelatedResourcesPanel-X4vhm8hy.cjs → NcRelatedResourcesPanel-B-y_Wan4.cjs} +5 -5
  263. package/dist/chunks/{NcRelatedResourcesPanel-X4vhm8hy.cjs.map → NcRelatedResourcesPanel-B-y_Wan4.cjs.map} +1 -1
  264. package/dist/chunks/{NcRelatedResourcesPanel-BxBE_1N3.mjs → NcRelatedResourcesPanel-CmiW_ds0.mjs} +5 -5
  265. package/dist/chunks/{NcRelatedResourcesPanel-BxBE_1N3.mjs.map → NcRelatedResourcesPanel-CmiW_ds0.mjs.map} +1 -1
  266. package/dist/chunks/{NcRichContenteditable-CC4jGcJn.cjs → NcRichContenteditable-ClHXIiXL.cjs} +12 -21
  267. package/dist/chunks/NcRichContenteditable-ClHXIiXL.cjs.map +1 -0
  268. package/dist/chunks/{NcRichContenteditable-Ct8cG0U6.mjs → NcRichContenteditable-zZQChT9M.mjs} +12 -21
  269. package/dist/chunks/NcRichContenteditable-zZQChT9M.mjs.map +1 -0
  270. package/dist/chunks/{NcRichText-h1RHm2bK.mjs → NcRichText-C43cKGcR.mjs} +3 -3
  271. package/dist/chunks/{NcRichText-h1RHm2bK.mjs.map → NcRichText-C43cKGcR.mjs.map} +1 -1
  272. package/dist/chunks/{NcRichText-Ck9Sk6wk.cjs → NcRichText-CMbtZkLP.cjs} +3 -3
  273. package/dist/chunks/{NcRichText-Ck9Sk6wk.cjs.map → NcRichText-CMbtZkLP.cjs.map} +1 -1
  274. package/dist/chunks/{NcSelect-vJq9dZPb.cjs → NcSelect-C9cGa-5v.cjs} +25 -8
  275. package/dist/chunks/NcSelect-C9cGa-5v.cjs.map +1 -0
  276. package/dist/chunks/{NcSelect-DrtYueu1.mjs → NcSelect-XLdUgokz.mjs} +25 -8
  277. package/dist/chunks/NcSelect-XLdUgokz.mjs.map +1 -0
  278. package/dist/chunks/{NcSelectTags-DvVm-C1N.cjs → NcSelectTags-B0rsXdxP.cjs} +3 -3
  279. package/dist/chunks/{NcSelectTags-DvVm-C1N.cjs.map → NcSelectTags-B0rsXdxP.cjs.map} +1 -1
  280. package/dist/chunks/{NcSelectTags--4zU4C41.mjs → NcSelectTags-DT2Y3Kms.mjs} +3 -3
  281. package/dist/chunks/{NcSelectTags--4zU4C41.mjs.map → NcSelectTags-DT2Y3Kms.mjs.map} +1 -1
  282. package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs +187 -0
  283. package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs.map +1 -0
  284. package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs +188 -0
  285. package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs.map +1 -0
  286. package/dist/chunks/{NcSettingsInputText-8EcoOEIo.cjs → NcSettingsInputText-BU1_SHOq.cjs} +3 -3
  287. package/dist/chunks/{NcSettingsInputText-8EcoOEIo.cjs.map → NcSettingsInputText-BU1_SHOq.cjs.map} +1 -1
  288. package/dist/chunks/{NcSettingsInputText-DKscbkn_.mjs → NcSettingsInputText-t1FMnLKA.mjs} +3 -3
  289. package/dist/chunks/{NcSettingsInputText-DKscbkn_.mjs.map → NcSettingsInputText-t1FMnLKA.mjs.map} +1 -1
  290. package/dist/chunks/{NcSettingsSection-DW5u2qWg.cjs → NcSettingsSection-Dcdxs1IN.cjs} +2 -2
  291. package/dist/chunks/{NcSettingsSection-DW5u2qWg.cjs.map → NcSettingsSection-Dcdxs1IN.cjs.map} +1 -1
  292. package/dist/chunks/{NcSettingsSection-DP3xDXrA.mjs → NcSettingsSection-EC3SmiDX.mjs} +2 -2
  293. package/dist/chunks/{NcSettingsSection-DP3xDXrA.mjs.map → NcSettingsSection-EC3SmiDX.mjs.map} +1 -1
  294. package/dist/chunks/{NcSettingsSelectGroup-DHuru8HO.mjs → NcSettingsSelectGroup-B4isXyUU.mjs} +4 -4
  295. package/dist/chunks/{NcSettingsSelectGroup-DHuru8HO.mjs.map → NcSettingsSelectGroup-B4isXyUU.mjs.map} +1 -1
  296. package/dist/chunks/{NcSettingsSelectGroup-DmnTgIg5.cjs → NcSettingsSelectGroup-CE71MIQo.cjs} +4 -4
  297. package/dist/chunks/{NcSettingsSelectGroup-DmnTgIg5.cjs.map → NcSettingsSelectGroup-CE71MIQo.cjs.map} +1 -1
  298. package/dist/chunks/{NcTextField-DpLIIKYI.mjs → NcTextField-DRANdaIf.mjs} +3 -3
  299. package/dist/chunks/{NcTextField-DpLIIKYI.mjs.map → NcTextField-DRANdaIf.mjs.map} +1 -1
  300. package/dist/chunks/{NcTextField-rilWP68p.cjs → NcTextField-Uk5iD8o2.cjs} +3 -3
  301. package/dist/chunks/{NcTextField-rilWP68p.cjs.map → NcTextField-Uk5iD8o2.cjs.map} +1 -1
  302. package/dist/chunks/{NcTimezonePicker-CQkZVQOW.cjs → NcTimezonePicker-BTyhPxMT.cjs} +4 -4
  303. package/dist/chunks/{NcTimezonePicker-CQkZVQOW.cjs.map → NcTimezonePicker-BTyhPxMT.cjs.map} +1 -1
  304. package/dist/chunks/{NcTimezonePicker-CGuLj6Bs.mjs → NcTimezonePicker-sAG8kn1b.mjs} +4 -4
  305. package/dist/chunks/{NcTimezonePicker-CGuLj6Bs.mjs.map → NcTimezonePicker-sAG8kn1b.mjs.map} +1 -1
  306. package/dist/chunks/{NcUserBubble-X7NIiLjg.mjs → NcUserBubble-DmZZOMRr.mjs} +3 -3
  307. package/dist/chunks/{NcUserBubble-X7NIiLjg.mjs.map → NcUserBubble-DmZZOMRr.mjs.map} +1 -1
  308. package/dist/chunks/{NcUserBubble-Du4ecEXq.cjs → NcUserBubble-cX4wyq1_.cjs} +3 -3
  309. package/dist/chunks/{NcUserBubble-Du4ecEXq.cjs.map → NcUserBubble-cX4wyq1_.cjs.map} +1 -1
  310. package/dist/chunks/{NcUserStatusIcon-D1Mw6nKB.mjs → NcUserStatusIcon-WEKmuaoU.mjs} +3 -3
  311. package/dist/chunks/{NcUserStatusIcon-D1Mw6nKB.mjs.map → NcUserStatusIcon-WEKmuaoU.mjs.map} +1 -1
  312. package/dist/chunks/{NcUserStatusIcon-Cy942iqr.cjs → NcUserStatusIcon-cs42Lzdd.cjs} +3 -3
  313. package/dist/chunks/{NcUserStatusIcon-Cy942iqr.cjs.map → NcUserStatusIcon-cs42Lzdd.cjs.map} +1 -1
  314. package/dist/chunks/{ScopeComponent-Dw8Duyxn.mjs → ScopeComponent-BaHwjQGQ.mjs} +2 -2
  315. package/dist/chunks/{ScopeComponent-Dw8Duyxn.mjs.map → ScopeComponent-BaHwjQGQ.mjs.map} +1 -1
  316. package/dist/chunks/{ScopeComponent-Uz_pNcsJ.cjs → ScopeComponent-CqVh6vwk.cjs} +2 -2
  317. package/dist/chunks/{ScopeComponent-Uz_pNcsJ.cjs.map → ScopeComponent-CqVh6vwk.cjs.map} +1 -1
  318. package/dist/chunks/{_l10n-DINju8Lo.cjs → _l10n-BiiXtYiP.cjs} +22 -18
  319. package/dist/chunks/{_l10n-DINju8Lo.cjs.map → _l10n-BiiXtYiP.cjs.map} +1 -1
  320. package/dist/chunks/{_l10n-DKne-gFg.mjs → _l10n-Dt0m9Fxw.mjs} +70 -66
  321. package/dist/chunks/_l10n-Dt0m9Fxw.mjs.map +1 -0
  322. package/dist/chunks/mdi-CZJxQPz6.mjs +9 -0
  323. package/dist/chunks/mdi-CZJxQPz6.mjs.map +1 -0
  324. package/dist/chunks/mdi-Da9VuUVq.cjs +8 -0
  325. package/dist/chunks/mdi-Da9VuUVq.cjs.map +1 -0
  326. package/dist/chunks/{referencePickerModal-CIO6RuJz.cjs → referencePickerModal-BdK-_zC6.cjs} +6 -6
  327. package/dist/chunks/{referencePickerModal-CIO6RuJz.cjs.map → referencePickerModal-BdK-_zC6.cjs.map} +1 -1
  328. package/dist/chunks/{referencePickerModal-DTLuXI-A.mjs → referencePickerModal-Bxp4FMcs.mjs} +6 -6
  329. package/dist/chunks/{referencePickerModal-DTLuXI-A.mjs.map → referencePickerModal-Bxp4FMcs.mjs.map} +1 -1
  330. package/dist/chunks/{usernameToColor-DLOoqQAF.mjs → usernameToColor-DJfepfog.mjs} +2 -2
  331. package/dist/chunks/{usernameToColor-DLOoqQAF.mjs.map → usernameToColor-DJfepfog.mjs.map} +1 -1
  332. package/dist/chunks/{usernameToColor-BiO_8cQo.cjs → usernameToColor-mqInDrGv.cjs} +2 -2
  333. package/dist/chunks/{usernameToColor-BiO_8cQo.cjs.map → usernameToColor-mqInDrGv.cjs.map} +1 -1
  334. package/dist/index.cjs +48 -45
  335. package/dist/index.cjs.map +1 -1
  336. package/dist/index.mjs +50 -47
  337. package/dist/index.mjs.map +1 -1
  338. package/package.json +1 -1
  339. package/dist/chunks/ChevronLeft-BK4j9oVH.mjs +0 -38
  340. package/dist/chunks/ChevronLeft-BK4j9oVH.mjs.map +0 -1
  341. package/dist/chunks/ChevronLeft-CAiEPWc5.cjs +0 -37
  342. package/dist/chunks/ChevronLeft-CAiEPWc5.cjs.map +0 -1
  343. package/dist/chunks/NcActionButton-BFxArTsE.mjs.map +0 -1
  344. package/dist/chunks/NcActionButton-ChQFsL4S.cjs.map +0 -1
  345. package/dist/chunks/NcAppContent-DiOscHZ8.mjs.map +0 -1
  346. package/dist/chunks/NcAppContent-PC4RbdhU.cjs.map +0 -1
  347. package/dist/chunks/NcIconSvgWrapper-B_eOG2sZ.cjs.map +0 -1
  348. package/dist/chunks/NcIconSvgWrapper-CHmdAuhg.mjs.map +0 -1
  349. package/dist/chunks/NcRichContenteditable-CC4jGcJn.cjs.map +0 -1
  350. package/dist/chunks/NcRichContenteditable-Ct8cG0U6.mjs.map +0 -1
  351. package/dist/chunks/NcSelect-DrtYueu1.mjs.map +0 -1
  352. package/dist/chunks/NcSelect-vJq9dZPb.cjs.map +0 -1
  353. package/dist/chunks/_l10n-DKne-gFg.mjs.map +0 -1
@@ -0,0 +1,187 @@
1
+ require('../assets/NcSelectUsers-BoxBQpbA.css');
2
+ "use strict";
3
+ const Vue = require("vue");
4
+ const _l10n = require("./_l10n-BiiXtYiP.cjs");
5
+ const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
6
+ const NcListItemIcon = require("./NcListItemIcon-COUzDQI5.cjs");
7
+ const NcSelect = require("./NcSelect-C9cGa-5v.cjs");
8
+ const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
9
+ _l10n.register(_l10n.t15, _l10n.t43);
10
+ const _sfc_main = {
11
+ __name: "NcSelectUsers",
12
+ props: {
13
+ /**
14
+ * `aria-label` for the clear input button
15
+ */
16
+ ariaLabelClearSelected: {
17
+ type: String,
18
+ default: _l10n.t("Clear selected")
19
+ },
20
+ /**
21
+ * `aria-label` for the listbox element
22
+ */
23
+ ariaLabelListbox: {
24
+ type: String,
25
+ default: _l10n.t("Options")
26
+ },
27
+ /**
28
+ * Allows to customize the `aria-label` for the deselect-option button
29
+ * The default is "Deselect " + optionLabel
30
+ * @type {(optionLabel: string) => string}
31
+ */
32
+ ariaLabelDeselectOption: {
33
+ type: Function,
34
+ default: (optionLabel) => _l10n.t("Deselect {option}", { option: optionLabel })
35
+ },
36
+ /**
37
+ * Keep the dropdown open after selecting an entry.
38
+ */
39
+ keepOpen: {
40
+ type: Boolean,
41
+ default: false
42
+ },
43
+ /**
44
+ * Disable the component
45
+ */
46
+ disabled: {
47
+ type: Boolean,
48
+ default: false
49
+ },
50
+ /**
51
+ * Callback to determine if the provided option should match the current search text.
52
+ * Used to determine if the option should be displayed.
53
+ *
54
+ * By default it filters by the `displayName` and `subname` properties of the user
55
+ * option object unless this prop is set explicitly
56
+ */
57
+ filterBy: {
58
+ type: Function,
59
+ default: null
60
+ },
61
+ /**
62
+ * Input element id
63
+ */
64
+ inputId: {
65
+ type: String,
66
+ default: () => GenRandomId.GenRandomId()
67
+ },
68
+ /**
69
+ * Visible label for the input element
70
+ *
71
+ * @default 'Select account'
72
+ */
73
+ inputLabel: {
74
+ type: String,
75
+ default: _l10n.t("Select account")
76
+ },
77
+ /**
78
+ * Pass true if you are using an external label.
79
+ * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.
80
+ */
81
+ labelOutside: {
82
+ type: Boolean,
83
+ default: false
84
+ },
85
+ /**
86
+ * Show a loading icon.
87
+ *
88
+ * @default false
89
+ */
90
+ loading: {
91
+ type: Boolean,
92
+ default: false
93
+ },
94
+ /**
95
+ * Allow selection of multiple options
96
+ *
97
+ * @default false
98
+ */
99
+ multiple: {
100
+ type: Boolean,
101
+ default: false
102
+ },
103
+ /**
104
+ * Disable automatic wrapping when selected options overflow the width.
105
+ *
106
+ * @default false
107
+ */
108
+ noWrap: {
109
+ type: Boolean,
110
+ default: false
111
+ },
112
+ /**
113
+ * Array of users.
114
+ *
115
+ * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}
116
+ */
117
+ options: {
118
+ type: Array,
119
+ default: () => []
120
+ },
121
+ /**
122
+ * Placeholder text.
123
+ */
124
+ placeholder: {
125
+ type: String,
126
+ default: ""
127
+ },
128
+ /**
129
+ * Enable if a value is required for native form validation
130
+ */
131
+ required: {
132
+ type: Boolean,
133
+ default: false
134
+ },
135
+ /**
136
+ * Currently selected value
137
+ *
138
+ * The `v-model` directive may be used for two-way data binding
139
+ */
140
+ modelValue: {
141
+ type: Object,
142
+ default: null
143
+ }
144
+ },
145
+ emits: ["update:modelValue"],
146
+ setup(__props) {
147
+ const props = __props;
148
+ const search = Vue.ref("");
149
+ const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area"));
150
+ const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));
151
+ const avatarSize = clickableArea - 2 * gridBaseLine;
152
+ function localFilterBy(option, label, search2) {
153
+ if (props.filterBy) {
154
+ return props.filterBy;
155
+ }
156
+ const EMAIL_NOTATION = /[^<]*<([^>]+)/;
157
+ const match = search2.match(EMAIL_NOTATION);
158
+ const subname = option.subname?.toLocaleLowerCase() ?? "";
159
+ return match && subname.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search2.toLocaleLowerCase()) > -1;
160
+ }
161
+ return { __sfc: true, props, search, clickableArea, gridBaseLine, avatarSize, localFilterBy, NcListItemIcon: NcListItemIcon.NcListItemIcon, NcSelect: NcSelect.NcSelect };
162
+ }
163
+ };
164
+ var _sfc_render = function render() {
165
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
166
+ return _c(_setup.NcSelect, _vm._b({ staticClass: "nc-select-users", attrs: { "filter-by": _setup.localFilterBy, "label": "displayName" }, on: { "search": function($event) {
167
+ _setup.search = $event;
168
+ }, "update:model-value": function($event) {
169
+ return _vm.$emit("update:modelValue", $event);
170
+ } }, scopedSlots: _vm._u([{ key: "option", fn: function(option) {
171
+ return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": 32, "name": option.displayName, "search": _setup.search } }, "NcListItemIcon", option, false))];
172
+ } }, { key: "selected-option", fn: function(selectedOption) {
173
+ return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": _setup.avatarSize, "name": selectedOption.displayName, "no-margin": "", "search": _setup.search } }, "NcListItemIcon", selectedOption, false))];
174
+ } }]) }, "NcSelect", _vm.$props, false));
175
+ };
176
+ var _sfc_staticRenderFns = [];
177
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
178
+ _sfc_main,
179
+ _sfc_render,
180
+ _sfc_staticRenderFns,
181
+ false,
182
+ null,
183
+ "5762ce87"
184
+ );
185
+ const NcSelectUsers = __component__.exports;
186
+ exports.NcSelectUsers = NcSelectUsers;
187
+ //# sourceMappingURL=NcSelectUsers-C-bbm2cW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcSelectUsers-C-bbm2cW.cjs","sources":["../../src/components/NcSelectUsers/NcSelectUsers.vue"],"sourcesContent":["<!--\n\t- SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n\t- SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Nextcloud user picker\n\n#### Examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelectUsers v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport svgAccountGroup from '@mdi/svg/svg/account-group.svg?raw'\nimport svgEmail from '@mdi/svg/svg/email.svg?raw'\n\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'User select',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\t// Example of how to show the user status within the option\n\t\t\t\t\tuser: '0-john',\n\t\t\t\t\tpreloadedUserStatus: {\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\tmessage: 'I am online',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple user select (stay open on select)',\n\t\t\tkeepOpen: true,\n\t\t\tmultiple: true,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 500px);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { ref } from 'vue'\nimport { t } from '../../l10n.js'\nimport createElementId from '../../utils/GenRandomId.js'\n\nimport NcListItemIcon from '../NcListItemIcon/NcListItemIcon.vue'\nimport NcSelect from '../NcSelect/index.js'\n\nconst props = defineProps({\n\t/**\n\t * `aria-label` for the clear input button\n\t */\n\tariaLabelClearSelected: {\n\t\ttype: String,\n\t\tdefault: t('Clear selected'),\n\t},\n\n\t/**\n\t * `aria-label` for the listbox element\n\t */\n\tariaLabelListbox: {\n\t\ttype: String,\n\t\tdefault: t('Options'),\n\t},\n\n\t/**\n\t * Allows to customize the `aria-label` for the deselect-option button\n\t * The default is \"Deselect \" + optionLabel\n\t * @type {(optionLabel: string) => string}\n\t */\n\tariaLabelDeselectOption: {\n\t\ttype: Function,\n\t\tdefault: (optionLabel) => t('Deselect {option}', { option: optionLabel }),\n\t},\n\n\t/**\n\t * Keep the dropdown open after selecting an entry.\n\t */\n\tkeepOpen: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable the component\n\t */\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Callback to determine if the provided option should match the current search text.\n\t * Used to determine if the option should be displayed.\n\t *\n\t * By default it filters by the `displayName` and `subname` properties of the user\n\t * option object unless this prop is set explicitly\n\t */\n\tfilterBy: {\n\t\ttype: Function,\n\t\tdefault: null,\n\t},\n\n\t/**\n\t * Input element id\n\t */\n\tinputId: {\n\t\ttype: String,\n\t\tdefault: () => createElementId(),\n\t},\n\n\t/**\n\t * Visible label for the input element\n\t *\n\t * @default 'Select account'\n\t */\n\tinputLabel: {\n\t\ttype: String,\n\t\tdefault: t('Select account'),\n\t},\n\n\t/**\n\t * Pass true if you are using an external label.\n\t * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.\n\t */\n\tlabelOutside: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Show a loading icon.\n\t *\n\t * @default false\n\t */\n\tloading: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Allow selection of multiple options\n\t *\n\t * @default false\n\t */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable automatic wrapping when selected options overflow the width.\n\t *\n\t * @default false\n\t */\n\tnoWrap: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Array of users.\n\t *\n\t * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}\n\t */\n\toptions: {\n\t\ttype: Array,\n\t\tdefault: () => [],\n\t},\n\n\t/**\n\t * Placeholder text.\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\n\t/**\n\t * Enable if a value is required for native form validation\n\t */\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Currently selected value\n\t *\n\t * The `v-model` directive may be used for two-way data binding\n\t */\n\tmodelValue: {\n\t\ttype: Object,\n\t\tdefault: null,\n\t},\n})\n\ndefineEmits(['update:modelValue'])\n\nconst search = ref('')\n\n// Avatar size so the component has the same size as Nc*Field\nconst clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-clickable-area'))\nconst gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-grid-baseline'))\nconst avatarSize = clickableArea - 2 * gridBaseLine\n\n/**\n * Filter function to search users.\n *\n * @param {{subname: string}} option - The option to check\n * @param {string} label - The label of the option\n * @param {string} search - The current search string\n */\nfunction localFilterBy(option, label, search) {\n\tif (props.filterBy) {\n\t\treturn props.filterBy\n\t}\n\n\t// Match the email notation like \"Jane <j.doe@example.com>\" with the email address as matching group\n\tconst EMAIL_NOTATION = /[^<]*<([^>]+)/\n\n\tconst match = search.match(EMAIL_NOTATION)\n\tconst subname = option.subname?.toLocaleLowerCase() ?? ''\n\treturn (match && subname.indexOf(match[1].toLocaleLowerCase()) > -1)\n\t\t|| (`${label} ${option.subname}`\n\t\t\t.toLocaleLowerCase()\n\t\t\t.indexOf(search.toLocaleLowerCase()) > -1)\n}\n</script>\n\n<template>\n\t<NcSelect class=\"nc-select-users\"\n\t\tv-bind=\"$props\"\n\t\t:filter-by=\"localFilterBy\"\n\t\tlabel=\"displayName\"\n\t\t@search=\"search = $event\"\n\t\t@update:model-value=\"$emit('update:modelValue', $event)\">\n\t\t<template #option=\"option\">\n\t\t\t<NcListItemIcon v-bind=\"option\"\n\t\t\t\t:avatar-size=\"32\"\n\t\t\t\t:name=\"option.displayName\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcListItemIcon v-bind=\"selectedOption\"\n\t\t\t\t:avatar-size=\"avatarSize\"\n\t\t\t\t:name=\"selectedOption.displayName\"\n\t\t\t\tno-margin\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t</NcSelect>\n</template>\n\n<style scoped lang=\"css\">\n.nc-select-users :deep(.vs__selected) {\n\tpadding-inline: 0 5px !important;\n}\n</style>\n"],"names":["ref","search"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqUA,UAAM,SAASA,IAAG,IAAC,EAAE;AAGrB,UAAM,gBAAgB,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,0BAA0B,CAAC;AACzH,UAAM,eAAe,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,yBAAyB,CAAC;AACvH,UAAM,aAAa,gBAAgB,IAAI;AASvC,aAAS,cAAc,QAAQ,OAAOC,SAAQ;AAC7C,UAAI,MAAM,UAAU;AACnB,eAAO,MAAM;AAAA,MACf;AAGC,YAAM,iBAAiB;AAEvB,YAAM,QAAQA,QAAO,MAAM,cAAc;AACzC,YAAM,UAAU,OAAO,SAAS,kBAAiB,KAAM;AACvD,aAAQ,SAAS,QAAQ,QAAQ,MAAM,CAAC,EAAE,kBAAmB,CAAA,IAAI,MAC5D,GAAG,KAAK,IAAI,OAAO,OAAO,GAC5B,kBAAiB,EACjB,QAAQA,QAAO,kBAAmB,CAAA,IAAI;AAAA,IAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,188 @@
1
+ import '../assets/NcSelectUsers-BoxBQpbA.css';
2
+ import { ref } from "vue";
3
+ import { r as register, i as t43, d as t15, a as t } from "./_l10n-Dt0m9Fxw.mjs";
4
+ import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
5
+ import { N as NcListItemIcon } from "./NcListItemIcon-B16M-aHV.mjs";
6
+ import { N as NcSelect } from "./NcSelect-XLdUgokz.mjs";
7
+ import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
8
+ register(t15, t43);
9
+ const _sfc_main = {
10
+ __name: "NcSelectUsers",
11
+ props: {
12
+ /**
13
+ * `aria-label` for the clear input button
14
+ */
15
+ ariaLabelClearSelected: {
16
+ type: String,
17
+ default: t("Clear selected")
18
+ },
19
+ /**
20
+ * `aria-label` for the listbox element
21
+ */
22
+ ariaLabelListbox: {
23
+ type: String,
24
+ default: t("Options")
25
+ },
26
+ /**
27
+ * Allows to customize the `aria-label` for the deselect-option button
28
+ * The default is "Deselect " + optionLabel
29
+ * @type {(optionLabel: string) => string}
30
+ */
31
+ ariaLabelDeselectOption: {
32
+ type: Function,
33
+ default: (optionLabel) => t("Deselect {option}", { option: optionLabel })
34
+ },
35
+ /**
36
+ * Keep the dropdown open after selecting an entry.
37
+ */
38
+ keepOpen: {
39
+ type: Boolean,
40
+ default: false
41
+ },
42
+ /**
43
+ * Disable the component
44
+ */
45
+ disabled: {
46
+ type: Boolean,
47
+ default: false
48
+ },
49
+ /**
50
+ * Callback to determine if the provided option should match the current search text.
51
+ * Used to determine if the option should be displayed.
52
+ *
53
+ * By default it filters by the `displayName` and `subname` properties of the user
54
+ * option object unless this prop is set explicitly
55
+ */
56
+ filterBy: {
57
+ type: Function,
58
+ default: null
59
+ },
60
+ /**
61
+ * Input element id
62
+ */
63
+ inputId: {
64
+ type: String,
65
+ default: () => GenRandomId()
66
+ },
67
+ /**
68
+ * Visible label for the input element
69
+ *
70
+ * @default 'Select account'
71
+ */
72
+ inputLabel: {
73
+ type: String,
74
+ default: t("Select account")
75
+ },
76
+ /**
77
+ * Pass true if you are using an external label.
78
+ * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.
79
+ */
80
+ labelOutside: {
81
+ type: Boolean,
82
+ default: false
83
+ },
84
+ /**
85
+ * Show a loading icon.
86
+ *
87
+ * @default false
88
+ */
89
+ loading: {
90
+ type: Boolean,
91
+ default: false
92
+ },
93
+ /**
94
+ * Allow selection of multiple options
95
+ *
96
+ * @default false
97
+ */
98
+ multiple: {
99
+ type: Boolean,
100
+ default: false
101
+ },
102
+ /**
103
+ * Disable automatic wrapping when selected options overflow the width.
104
+ *
105
+ * @default false
106
+ */
107
+ noWrap: {
108
+ type: Boolean,
109
+ default: false
110
+ },
111
+ /**
112
+ * Array of users.
113
+ *
114
+ * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}
115
+ */
116
+ options: {
117
+ type: Array,
118
+ default: () => []
119
+ },
120
+ /**
121
+ * Placeholder text.
122
+ */
123
+ placeholder: {
124
+ type: String,
125
+ default: ""
126
+ },
127
+ /**
128
+ * Enable if a value is required for native form validation
129
+ */
130
+ required: {
131
+ type: Boolean,
132
+ default: false
133
+ },
134
+ /**
135
+ * Currently selected value
136
+ *
137
+ * The `v-model` directive may be used for two-way data binding
138
+ */
139
+ modelValue: {
140
+ type: Object,
141
+ default: null
142
+ }
143
+ },
144
+ emits: ["update:modelValue"],
145
+ setup(__props) {
146
+ const props = __props;
147
+ const search = ref("");
148
+ const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area"));
149
+ const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));
150
+ const avatarSize = clickableArea - 2 * gridBaseLine;
151
+ function localFilterBy(option, label, search2) {
152
+ if (props.filterBy) {
153
+ return props.filterBy;
154
+ }
155
+ const EMAIL_NOTATION = /[^<]*<([^>]+)/;
156
+ const match = search2.match(EMAIL_NOTATION);
157
+ const subname = option.subname?.toLocaleLowerCase() ?? "";
158
+ return match && subname.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search2.toLocaleLowerCase()) > -1;
159
+ }
160
+ return { __sfc: true, props, search, clickableArea, gridBaseLine, avatarSize, localFilterBy, NcListItemIcon, NcSelect };
161
+ }
162
+ };
163
+ var _sfc_render = function render() {
164
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
165
+ return _c(_setup.NcSelect, _vm._b({ staticClass: "nc-select-users", attrs: { "filter-by": _setup.localFilterBy, "label": "displayName" }, on: { "search": function($event) {
166
+ _setup.search = $event;
167
+ }, "update:model-value": function($event) {
168
+ return _vm.$emit("update:modelValue", $event);
169
+ } }, scopedSlots: _vm._u([{ key: "option", fn: function(option) {
170
+ return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": 32, "name": option.displayName, "search": _setup.search } }, "NcListItemIcon", option, false))];
171
+ } }, { key: "selected-option", fn: function(selectedOption) {
172
+ return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": _setup.avatarSize, "name": selectedOption.displayName, "no-margin": "", "search": _setup.search } }, "NcListItemIcon", selectedOption, false))];
173
+ } }]) }, "NcSelect", _vm.$props, false));
174
+ };
175
+ var _sfc_staticRenderFns = [];
176
+ var __component__ = /* @__PURE__ */ normalizeComponent(
177
+ _sfc_main,
178
+ _sfc_render,
179
+ _sfc_staticRenderFns,
180
+ false,
181
+ null,
182
+ "5762ce87"
183
+ );
184
+ const NcSelectUsers = __component__.exports;
185
+ export {
186
+ NcSelectUsers as N
187
+ };
188
+ //# sourceMappingURL=NcSelectUsers-DFlj_h9t.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcSelectUsers-DFlj_h9t.mjs","sources":["../../src/components/NcSelectUsers/NcSelectUsers.vue"],"sourcesContent":["<!--\n\t- SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n\t- SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Nextcloud user picker\n\n#### Examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelectUsers v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport svgAccountGroup from '@mdi/svg/svg/account-group.svg?raw'\nimport svgEmail from '@mdi/svg/svg/email.svg?raw'\n\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'User select',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\t// Example of how to show the user status within the option\n\t\t\t\t\tuser: '0-john',\n\t\t\t\t\tpreloadedUserStatus: {\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\tmessage: 'I am online',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple user select (stay open on select)',\n\t\t\tkeepOpen: true,\n\t\t\tmultiple: true,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 500px);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { ref } from 'vue'\nimport { t } from '../../l10n.js'\nimport createElementId from '../../utils/GenRandomId.js'\n\nimport NcListItemIcon from '../NcListItemIcon/NcListItemIcon.vue'\nimport NcSelect from '../NcSelect/index.js'\n\nconst props = defineProps({\n\t/**\n\t * `aria-label` for the clear input button\n\t */\n\tariaLabelClearSelected: {\n\t\ttype: String,\n\t\tdefault: t('Clear selected'),\n\t},\n\n\t/**\n\t * `aria-label` for the listbox element\n\t */\n\tariaLabelListbox: {\n\t\ttype: String,\n\t\tdefault: t('Options'),\n\t},\n\n\t/**\n\t * Allows to customize the `aria-label` for the deselect-option button\n\t * The default is \"Deselect \" + optionLabel\n\t * @type {(optionLabel: string) => string}\n\t */\n\tariaLabelDeselectOption: {\n\t\ttype: Function,\n\t\tdefault: (optionLabel) => t('Deselect {option}', { option: optionLabel }),\n\t},\n\n\t/**\n\t * Keep the dropdown open after selecting an entry.\n\t */\n\tkeepOpen: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable the component\n\t */\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Callback to determine if the provided option should match the current search text.\n\t * Used to determine if the option should be displayed.\n\t *\n\t * By default it filters by the `displayName` and `subname` properties of the user\n\t * option object unless this prop is set explicitly\n\t */\n\tfilterBy: {\n\t\ttype: Function,\n\t\tdefault: null,\n\t},\n\n\t/**\n\t * Input element id\n\t */\n\tinputId: {\n\t\ttype: String,\n\t\tdefault: () => createElementId(),\n\t},\n\n\t/**\n\t * Visible label for the input element\n\t *\n\t * @default 'Select account'\n\t */\n\tinputLabel: {\n\t\ttype: String,\n\t\tdefault: t('Select account'),\n\t},\n\n\t/**\n\t * Pass true if you are using an external label.\n\t * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.\n\t */\n\tlabelOutside: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Show a loading icon.\n\t *\n\t * @default false\n\t */\n\tloading: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Allow selection of multiple options\n\t *\n\t * @default false\n\t */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable automatic wrapping when selected options overflow the width.\n\t *\n\t * @default false\n\t */\n\tnoWrap: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Array of users.\n\t *\n\t * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}\n\t */\n\toptions: {\n\t\ttype: Array,\n\t\tdefault: () => [],\n\t},\n\n\t/**\n\t * Placeholder text.\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\n\t/**\n\t * Enable if a value is required for native form validation\n\t */\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Currently selected value\n\t *\n\t * The `v-model` directive may be used for two-way data binding\n\t */\n\tmodelValue: {\n\t\ttype: Object,\n\t\tdefault: null,\n\t},\n})\n\ndefineEmits(['update:modelValue'])\n\nconst search = ref('')\n\n// Avatar size so the component has the same size as Nc*Field\nconst clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-clickable-area'))\nconst gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-grid-baseline'))\nconst avatarSize = clickableArea - 2 * gridBaseLine\n\n/**\n * Filter function to search users.\n *\n * @param {{subname: string}} option - The option to check\n * @param {string} label - The label of the option\n * @param {string} search - The current search string\n */\nfunction localFilterBy(option, label, search) {\n\tif (props.filterBy) {\n\t\treturn props.filterBy\n\t}\n\n\t// Match the email notation like \"Jane <j.doe@example.com>\" with the email address as matching group\n\tconst EMAIL_NOTATION = /[^<]*<([^>]+)/\n\n\tconst match = search.match(EMAIL_NOTATION)\n\tconst subname = option.subname?.toLocaleLowerCase() ?? ''\n\treturn (match && subname.indexOf(match[1].toLocaleLowerCase()) > -1)\n\t\t|| (`${label} ${option.subname}`\n\t\t\t.toLocaleLowerCase()\n\t\t\t.indexOf(search.toLocaleLowerCase()) > -1)\n}\n</script>\n\n<template>\n\t<NcSelect class=\"nc-select-users\"\n\t\tv-bind=\"$props\"\n\t\t:filter-by=\"localFilterBy\"\n\t\tlabel=\"displayName\"\n\t\t@search=\"search = $event\"\n\t\t@update:model-value=\"$emit('update:modelValue', $event)\">\n\t\t<template #option=\"option\">\n\t\t\t<NcListItemIcon v-bind=\"option\"\n\t\t\t\t:avatar-size=\"32\"\n\t\t\t\t:name=\"option.displayName\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcListItemIcon v-bind=\"selectedOption\"\n\t\t\t\t:avatar-size=\"avatarSize\"\n\t\t\t\t:name=\"selectedOption.displayName\"\n\t\t\t\tno-margin\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t</NcSelect>\n</template>\n\n<style scoped lang=\"css\">\n.nc-select-users :deep(.vs__selected) {\n\tpadding-inline: 0 5px !important;\n}\n</style>\n"],"names":["search"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqUA,UAAM,SAAS,IAAI,EAAE;AAGrB,UAAM,gBAAgB,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,0BAA0B,CAAC;AACzH,UAAM,eAAe,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,yBAAyB,CAAC;AACvH,UAAM,aAAa,gBAAgB,IAAI;AASvC,aAAS,cAAc,QAAQ,OAAOA,SAAQ;AAC7C,UAAI,MAAM,UAAU;AACnB,eAAO,MAAM;AAAA,MACf;AAGC,YAAM,iBAAiB;AAEvB,YAAM,QAAQA,QAAO,MAAM,cAAc;AACzC,YAAM,UAAU,OAAO,SAAS,kBAAiB,KAAM;AACvD,aAAQ,SAAS,QAAQ,QAAQ,MAAM,CAAC,EAAE,kBAAmB,CAAA,IAAI,MAC5D,GAAG,KAAK,IAAI,OAAO,OAAO,GAC5B,kBAAiB,EACjB,QAAQA,QAAO,kBAAmB,CAAA,IAAI;AAAA,IAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,10 @@
1
1
  require('../assets/NcSettingsInputText-Bsp_6DjJ.css');
2
2
  "use strict";
3
- const _l10n = require("./_l10n-DINju8Lo.cjs");
3
+ const _l10n = require("./_l10n-BiiXtYiP.cjs");
4
4
  const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
5
5
  const useModelMigration = require("./useModelMigration-D5zhrNXr.cjs");
6
6
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
7
- _l10n.register(_l10n.t45);
7
+ _l10n.register(_l10n.t47);
8
8
  const _sfc_main = {
9
9
  name: "NcSettingsInputText",
10
10
  model: {
@@ -128,4 +128,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
128
128
  );
129
129
  const NcSettingsInputText = __component__.exports;
130
130
  exports.NcSettingsInputText = NcSettingsInputText;
131
- //# sourceMappingURL=NcSettingsInputText-8EcoOEIo.cjs.map
131
+ //# sourceMappingURL=NcSettingsInputText-BU1_SHOq.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcSettingsInputText-8EcoOEIo.cjs","sources":["../../src/components/NcSettingsInputText/NcSettingsInputText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsInputText v-model=\"value\" label=\"Label\" hint=\"Hint\" />\n\t\t<NcSettingsInputText label=\"Label\" model-value=\"Value\" hint=\"Hint\" disabled />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<form ref=\"form\"\n\t\t:disabled=\"disabled\"\n\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<label :for=\"id\" class=\"action-input__label\">{{ label }}</label>\n\t\t\t<input :id=\"id\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"model\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@change=\"onChange\">\n\t\t\t<input :id=\"idSubmit\"\n\t\t\t\t:value=\"submitTranslated\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"action-input__submit\">\n\t\t\t<p v-if=\"hint\" class=\"hint\">\n\t\t\t\t{{ hint }}\n\t\t\t</p>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nexport default {\n\tname: 'NcSettingsInputText',\n\n\tmodel: {\n\t\tprop: 'value',\n\t\tevent: 'update:value',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * label of the select group element\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * hint of the select group input\n\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t */\n\t\t modelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the settings select group input\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 * id attribute of the select group element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'settings-input-text-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t/**\n\t\t * Emitted when the inputs value changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\t'update:modelValue',\n\t\t/* Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsubmitTranslated: t('Submit'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tidSubmit() {\n\t\t\treturn this.id + '-submit'\n\t\t},\n\t},\n\tmethods: {\n\t\tonInput(event) {\n\t\t\tthis.$emit('input', event)\n\t\t\tthis.model = event.target.value\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n\t.input-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\n\t\t& .action-input__label {\n\t\t\tmargin-right: 12px;\n\t\t}\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tmargin-left: 8px;\n\t\t}\n\t}\n\n</style>\n"],"names":["GenRandomId","useModelMigration","t"],"mappings":";;;;;;AAwDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,yBAAAA,wBAAA;AAAA,MACA,WAAA,QAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAAC,oCAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAAC,MAAA,EAAA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,KAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AACA,WAAA,QAAA,MAAA,OAAA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AACA,UAAA,CAAA,KAAA,UAAA;AAMA,aAAA,MAAA,UAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AAMA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcSettingsInputText-BU1_SHOq.cjs","sources":["../../src/components/NcSettingsInputText/NcSettingsInputText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsInputText v-model=\"value\" label=\"Label\" hint=\"Hint\" />\n\t\t<NcSettingsInputText label=\"Label\" model-value=\"Value\" hint=\"Hint\" disabled />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<form ref=\"form\"\n\t\t:disabled=\"disabled\"\n\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<label :for=\"id\" class=\"action-input__label\">{{ label }}</label>\n\t\t\t<input :id=\"id\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"model\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@change=\"onChange\">\n\t\t\t<input :id=\"idSubmit\"\n\t\t\t\t:value=\"submitTranslated\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"action-input__submit\">\n\t\t\t<p v-if=\"hint\" class=\"hint\">\n\t\t\t\t{{ hint }}\n\t\t\t</p>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nexport default {\n\tname: 'NcSettingsInputText',\n\n\tmodel: {\n\t\tprop: 'value',\n\t\tevent: 'update:value',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * label of the select group element\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * hint of the select group input\n\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t */\n\t\t modelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the settings select group input\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 * id attribute of the select group element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'settings-input-text-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t/**\n\t\t * Emitted when the inputs value changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\t'update:modelValue',\n\t\t/* Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsubmitTranslated: t('Submit'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tidSubmit() {\n\t\t\treturn this.id + '-submit'\n\t\t},\n\t},\n\tmethods: {\n\t\tonInput(event) {\n\t\t\tthis.$emit('input', event)\n\t\t\tthis.model = event.target.value\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n\t.input-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\n\t\t& .action-input__label {\n\t\t\tmargin-right: 12px;\n\t\t}\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tmargin-left: 8px;\n\t\t}\n\t}\n\n</style>\n"],"names":["GenRandomId","useModelMigration","t"],"mappings":";;;;;;AAwDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,yBAAAA,wBAAA;AAAA,MACA,WAAA,QAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAAC,oCAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAAC,MAAA,EAAA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,KAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AACA,WAAA,QAAA,MAAA,OAAA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AACA,UAAA,CAAA,KAAA,UAAA;AAMA,aAAA,MAAA,UAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AAMA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import '../assets/NcSettingsInputText-Bsp_6DjJ.css';
2
- import { r as register, g as t45, a as t } from "./_l10n-DKne-gFg.mjs";
2
+ import { r as register, h as t47, a as t } from "./_l10n-Dt0m9Fxw.mjs";
3
3
  import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
4
4
  import { u as useModelMigration } from "./useModelMigration-EhAWvqDD.mjs";
5
5
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
6
- register(t45);
6
+ register(t47);
7
7
  const _sfc_main = {
8
8
  name: "NcSettingsInputText",
9
9
  model: {
@@ -129,4 +129,4 @@ const NcSettingsInputText = __component__.exports;
129
129
  export {
130
130
  NcSettingsInputText as N
131
131
  };
132
- //# sourceMappingURL=NcSettingsInputText-DKscbkn_.mjs.map
132
+ //# sourceMappingURL=NcSettingsInputText-t1FMnLKA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcSettingsInputText-DKscbkn_.mjs","sources":["../../src/components/NcSettingsInputText/NcSettingsInputText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsInputText v-model=\"value\" label=\"Label\" hint=\"Hint\" />\n\t\t<NcSettingsInputText label=\"Label\" model-value=\"Value\" hint=\"Hint\" disabled />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<form ref=\"form\"\n\t\t:disabled=\"disabled\"\n\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<label :for=\"id\" class=\"action-input__label\">{{ label }}</label>\n\t\t\t<input :id=\"id\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"model\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@change=\"onChange\">\n\t\t\t<input :id=\"idSubmit\"\n\t\t\t\t:value=\"submitTranslated\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"action-input__submit\">\n\t\t\t<p v-if=\"hint\" class=\"hint\">\n\t\t\t\t{{ hint }}\n\t\t\t</p>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nexport default {\n\tname: 'NcSettingsInputText',\n\n\tmodel: {\n\t\tprop: 'value',\n\t\tevent: 'update:value',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * label of the select group element\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * hint of the select group input\n\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t */\n\t\t modelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the settings select group input\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 * id attribute of the select group element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'settings-input-text-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t/**\n\t\t * Emitted when the inputs value changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\t'update:modelValue',\n\t\t/* Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsubmitTranslated: t('Submit'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tidSubmit() {\n\t\t\treturn this.id + '-submit'\n\t\t},\n\t},\n\tmethods: {\n\t\tonInput(event) {\n\t\t\tthis.$emit('input', event)\n\t\t\tthis.model = event.target.value\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n\t.input-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\n\t\t& .action-input__label {\n\t\t\tmargin-right: 12px;\n\t\t}\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tmargin-left: 8px;\n\t\t}\n\t}\n\n</style>\n"],"names":[],"mappings":";;;;;AAwDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,yBAAA,YAAA;AAAA,MACA,WAAA,QAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAA,kBAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAA,EAAA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,KAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AACA,WAAA,QAAA,MAAA,OAAA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AACA,UAAA,CAAA,KAAA,UAAA;AAMA,aAAA,MAAA,UAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AAMA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcSettingsInputText-t1FMnLKA.mjs","sources":["../../src/components/NcSettingsInputText/NcSettingsInputText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsInputText v-model=\"value\" label=\"Label\" hint=\"Hint\" />\n\t\t<NcSettingsInputText label=\"Label\" model-value=\"Value\" hint=\"Hint\" disabled />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<form ref=\"form\"\n\t\t:disabled=\"disabled\"\n\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<label :for=\"id\" class=\"action-input__label\">{{ label }}</label>\n\t\t\t<input :id=\"id\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"model\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@change=\"onChange\">\n\t\t\t<input :id=\"idSubmit\"\n\t\t\t\t:value=\"submitTranslated\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"action-input__submit\">\n\t\t\t<p v-if=\"hint\" class=\"hint\">\n\t\t\t\t{{ hint }}\n\t\t\t</p>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nexport default {\n\tname: 'NcSettingsInputText',\n\n\tmodel: {\n\t\tprop: 'value',\n\t\tevent: 'update:value',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * label of the select group element\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * hint of the select group input\n\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t */\n\t\t modelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the settings select group input\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 * id attribute of the select group element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'settings-input-text-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t/**\n\t\t * Emitted when the inputs value changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\t'update:modelValue',\n\t\t/* Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsubmitTranslated: t('Submit'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tidSubmit() {\n\t\t\treturn this.id + '-submit'\n\t\t},\n\t},\n\tmethods: {\n\t\tonInput(event) {\n\t\t\tthis.$emit('input', event)\n\t\t\tthis.model = event.target.value\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n\t.input-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\n\t\t& .action-input__label {\n\t\t\tmargin-right: 12px;\n\t\t}\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tmargin-left: 8px;\n\t\t}\n\t}\n\n</style>\n"],"names":[],"mappings":";;;;;AAwDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,yBAAA,YAAA;AAAA,MACA,WAAA,QAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAA,kBAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAA,EAAA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,KAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AACA,WAAA,QAAA,MAAA,OAAA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AACA,UAAA,CAAA,KAAA,UAAA;AAMA,aAAA,MAAA,UAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AAMA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  require('../assets/NcSettingsSection-_mX6UqM_.css');
2
2
  "use strict";
3
- const _l10n = require("./_l10n-DINju8Lo.cjs");
3
+ const _l10n = require("./_l10n-BiiXtYiP.cjs");
4
4
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
5
5
  _l10n.register(_l10n.t23);
6
6
  const _sfc_main$1 = {
@@ -104,4 +104,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
104
104
  );
105
105
  const NcSettingsSection = __component__.exports;
106
106
  exports.NcSettingsSection = NcSettingsSection;
107
- //# sourceMappingURL=NcSettingsSection-DW5u2qWg.cjs.map
107
+ //# sourceMappingURL=NcSettingsSection-Dcdxs1IN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcSettingsSection-DW5u2qWg.cjs","sources":["../../node_modules/vue-material-design-icons/HelpCircle.vue","../../src/components/NcSettingsSection/NcSettingsSection.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon help-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"HelpCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component is to be used in the settings section of nextcloud.\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsSection name=\"Two-factor authentication\"\n\t\t\tdescription=\"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/19/go.php?to=admin-2fa\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnforce two-factor authentication\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"Server-side encryption\"\n\t\t\tdescription=\"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnable server-side encryption\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"OAuth 2.0 clients\"\n\t\t\tdescription=\"OAuth 2.0 allows external services to request access to Nextcloud.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/oauth2.html\">\n\n\t\t\tAny content here\n\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<div class=\"settings-section\" :class=\"{'settings-section--limit-width': forceLimitWidth}\">\n\t\t<h2 class=\"settings-section__name\">\n\t\t\t{{ name }}\n\t\t\t<a v-if=\"hasDocUrl\"\n\t\t\t\t:href=\"docUrl\"\n\t\t\t\tclass=\"settings-section__info\"\n\t\t\t\t:title=\"docNameTranslated\"\n\t\t\t\t:aria-label=\"docNameTranslated\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noreferrer nofollow\">\n\t\t\t\t<HelpCircle :size=\"20\" />\n\t\t\t</a>\n\t\t</h2>\n\t\t<p v-if=\"hasDescription\"\n\t\t\tclass=\"settings-section__desc\">\n\t\t\t{{ description }}\n\t\t</p>\n\t\t<slot />\n\t</div>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\n\nimport HelpCircle from 'vue-material-design-icons/HelpCircle.vue'\n\nexport default {\n\tname: 'NcSettingsSection',\n\n\tcomponents: {\n\t\tHelpCircle,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdocUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Limit the width of the setting's content\n\t\t *\n\t\t * Setting this to false allows unrestricted (width) settings content.\n\t\t * Note that the name and description have always a width limit.\n\t\t * @deprecated Will be removed with next version and will not be used on Nextcloud 30+ (always forced to true)\n\t\t */\n\t\tlimitWidth: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdocNameTranslated: t('External documentation for {name}', {\n\t\t\t\tname: this.name,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tforceLimitWidth() {\n\t\t\tif (this.limitWidth) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Overwrite this on Nextcloud 30+ to always limit the width\n\t\t\tconst [major] = window._oc_config?.version.split('.', 2) ?? []\n\t\t\treturn major && Number.parseInt(major) >= 30\n\t\t},\n\n\t\thasDescription() {\n\t\t\treturn this.description.length > 0\n\t\t},\n\t\thasDocUrl() {\n\t\t\treturn this.docUrl.length > 0\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n$maxWidth: 900px;\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&--limit-width > * {\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__name {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t\tmax-width: $maxWidth;\n\t\tmargin-top: 0; // Remove default heading margin\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: calc($icon-margin * -1);\n\t\tmargin-inline-start: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&:hover, &:focus, &:active {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmax-width: $maxWidth;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","t"],"mappings":";;;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;ACiCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAAC,MAAA,EAAA,qCAAA;AAAA,QACA,MAAA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,UAAA,KAAA,YAAA;AACA,eAAA;AAAA,MACA;AAEA,YAAA,CAAA,KAAA,IAAA,OAAA,YAAA,QAAA,MAAA,KAAA,CAAA,KAAA,CAAA;AACA,aAAA,SAAA,OAAA,SAAA,KAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,YAAA,SAAA;AAAA,IACA;AAAA,IACA,YAAA;AACA,aAAA,KAAA,OAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"NcSettingsSection-Dcdxs1IN.cjs","sources":["../../node_modules/vue-material-design-icons/HelpCircle.vue","../../src/components/NcSettingsSection/NcSettingsSection.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon help-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"HelpCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component is to be used in the settings section of nextcloud.\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsSection name=\"Two-factor authentication\"\n\t\t\tdescription=\"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/19/go.php?to=admin-2fa\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnforce two-factor authentication\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"Server-side encryption\"\n\t\t\tdescription=\"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnable server-side encryption\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"OAuth 2.0 clients\"\n\t\t\tdescription=\"OAuth 2.0 allows external services to request access to Nextcloud.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/oauth2.html\">\n\n\t\t\tAny content here\n\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<div class=\"settings-section\" :class=\"{'settings-section--limit-width': forceLimitWidth}\">\n\t\t<h2 class=\"settings-section__name\">\n\t\t\t{{ name }}\n\t\t\t<a v-if=\"hasDocUrl\"\n\t\t\t\t:href=\"docUrl\"\n\t\t\t\tclass=\"settings-section__info\"\n\t\t\t\t:title=\"docNameTranslated\"\n\t\t\t\t:aria-label=\"docNameTranslated\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noreferrer nofollow\">\n\t\t\t\t<HelpCircle :size=\"20\" />\n\t\t\t</a>\n\t\t</h2>\n\t\t<p v-if=\"hasDescription\"\n\t\t\tclass=\"settings-section__desc\">\n\t\t\t{{ description }}\n\t\t</p>\n\t\t<slot />\n\t</div>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\n\nimport HelpCircle from 'vue-material-design-icons/HelpCircle.vue'\n\nexport default {\n\tname: 'NcSettingsSection',\n\n\tcomponents: {\n\t\tHelpCircle,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdocUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Limit the width of the setting's content\n\t\t *\n\t\t * Setting this to false allows unrestricted (width) settings content.\n\t\t * Note that the name and description have always a width limit.\n\t\t * @deprecated Will be removed with next version and will not be used on Nextcloud 30+ (always forced to true)\n\t\t */\n\t\tlimitWidth: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdocNameTranslated: t('External documentation for {name}', {\n\t\t\t\tname: this.name,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tforceLimitWidth() {\n\t\t\tif (this.limitWidth) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Overwrite this on Nextcloud 30+ to always limit the width\n\t\t\tconst [major] = window._oc_config?.version.split('.', 2) ?? []\n\t\t\treturn major && Number.parseInt(major) >= 30\n\t\t},\n\n\t\thasDescription() {\n\t\t\treturn this.description.length > 0\n\t\t},\n\t\thasDocUrl() {\n\t\t\treturn this.docUrl.length > 0\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n$maxWidth: 900px;\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&--limit-width > * {\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__name {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t\tmax-width: $maxWidth;\n\t\tmargin-top: 0; // Remove default heading margin\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: calc($icon-margin * -1);\n\t\tmargin-inline-start: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&:hover, &:focus, &:active {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmax-width: $maxWidth;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","t"],"mappings":";;;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;ACiCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAAC,MAAA,EAAA,qCAAA;AAAA,QACA,MAAA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,UAAA,KAAA,YAAA;AACA,eAAA;AAAA,MACA;AAEA,YAAA,CAAA,KAAA,IAAA,OAAA,YAAA,QAAA,MAAA,KAAA,CAAA,KAAA,CAAA;AACA,aAAA,SAAA,OAAA,SAAA,KAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,YAAA,SAAA;AAAA,IACA;AAAA,IACA,YAAA;AACA,aAAA,KAAA,OAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  import '../assets/NcSettingsSection-_mX6UqM_.css';
2
- import { r as register, s as t23, a as t } from "./_l10n-DKne-gFg.mjs";
2
+ import { r as register, w as t23, a as t } from "./_l10n-Dt0m9Fxw.mjs";
3
3
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
4
4
  register(t23);
5
5
  const _sfc_main$1 = {
@@ -105,4 +105,4 @@ const NcSettingsSection = __component__.exports;
105
105
  export {
106
106
  NcSettingsSection as N
107
107
  };
108
- //# sourceMappingURL=NcSettingsSection-DP3xDXrA.mjs.map
108
+ //# sourceMappingURL=NcSettingsSection-EC3SmiDX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcSettingsSection-DP3xDXrA.mjs","sources":["../../node_modules/vue-material-design-icons/HelpCircle.vue","../../src/components/NcSettingsSection/NcSettingsSection.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon help-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"HelpCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component is to be used in the settings section of nextcloud.\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsSection name=\"Two-factor authentication\"\n\t\t\tdescription=\"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/19/go.php?to=admin-2fa\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnforce two-factor authentication\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"Server-side encryption\"\n\t\t\tdescription=\"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnable server-side encryption\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"OAuth 2.0 clients\"\n\t\t\tdescription=\"OAuth 2.0 allows external services to request access to Nextcloud.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/oauth2.html\">\n\n\t\t\tAny content here\n\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<div class=\"settings-section\" :class=\"{'settings-section--limit-width': forceLimitWidth}\">\n\t\t<h2 class=\"settings-section__name\">\n\t\t\t{{ name }}\n\t\t\t<a v-if=\"hasDocUrl\"\n\t\t\t\t:href=\"docUrl\"\n\t\t\t\tclass=\"settings-section__info\"\n\t\t\t\t:title=\"docNameTranslated\"\n\t\t\t\t:aria-label=\"docNameTranslated\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noreferrer nofollow\">\n\t\t\t\t<HelpCircle :size=\"20\" />\n\t\t\t</a>\n\t\t</h2>\n\t\t<p v-if=\"hasDescription\"\n\t\t\tclass=\"settings-section__desc\">\n\t\t\t{{ description }}\n\t\t</p>\n\t\t<slot />\n\t</div>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\n\nimport HelpCircle from 'vue-material-design-icons/HelpCircle.vue'\n\nexport default {\n\tname: 'NcSettingsSection',\n\n\tcomponents: {\n\t\tHelpCircle,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdocUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Limit the width of the setting's content\n\t\t *\n\t\t * Setting this to false allows unrestricted (width) settings content.\n\t\t * Note that the name and description have always a width limit.\n\t\t * @deprecated Will be removed with next version and will not be used on Nextcloud 30+ (always forced to true)\n\t\t */\n\t\tlimitWidth: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdocNameTranslated: t('External documentation for {name}', {\n\t\t\t\tname: this.name,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tforceLimitWidth() {\n\t\t\tif (this.limitWidth) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Overwrite this on Nextcloud 30+ to always limit the width\n\t\t\tconst [major] = window._oc_config?.version.split('.', 2) ?? []\n\t\t\treturn major && Number.parseInt(major) >= 30\n\t\t},\n\n\t\thasDescription() {\n\t\t\treturn this.description.length > 0\n\t\t},\n\t\thasDocUrl() {\n\t\t\treturn this.docUrl.length > 0\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n$maxWidth: 900px;\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&--limit-width > * {\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__name {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t\tmax-width: $maxWidth;\n\t\tmargin-top: 0; // Remove default heading margin\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: calc($icon-margin * -1);\n\t\tmargin-inline-start: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&:hover, &:focus, &:active {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmax-width: $maxWidth;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main"],"mappings":";;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;ACiCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAA,EAAA,qCAAA;AAAA,QACA,MAAA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,UAAA,KAAA,YAAA;AACA,eAAA;AAAA,MACA;AAEA,YAAA,CAAA,KAAA,IAAA,OAAA,YAAA,QAAA,MAAA,KAAA,CAAA,KAAA,CAAA;AACA,aAAA,SAAA,OAAA,SAAA,KAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,YAAA,SAAA;AAAA,IACA;AAAA,IACA,YAAA;AACA,aAAA,KAAA,OAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"NcSettingsSection-EC3SmiDX.mjs","sources":["../../node_modules/vue-material-design-icons/HelpCircle.vue","../../src/components/NcSettingsSection/NcSettingsSection.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon help-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"HelpCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component is to be used in the settings section of nextcloud.\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsSection name=\"Two-factor authentication\"\n\t\t\tdescription=\"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/19/go.php?to=admin-2fa\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnforce two-factor authentication\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"Server-side encryption\"\n\t\t\tdescription=\"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnable server-side encryption\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"OAuth 2.0 clients\"\n\t\t\tdescription=\"OAuth 2.0 allows external services to request access to Nextcloud.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/oauth2.html\">\n\n\t\t\tAny content here\n\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<div class=\"settings-section\" :class=\"{'settings-section--limit-width': forceLimitWidth}\">\n\t\t<h2 class=\"settings-section__name\">\n\t\t\t{{ name }}\n\t\t\t<a v-if=\"hasDocUrl\"\n\t\t\t\t:href=\"docUrl\"\n\t\t\t\tclass=\"settings-section__info\"\n\t\t\t\t:title=\"docNameTranslated\"\n\t\t\t\t:aria-label=\"docNameTranslated\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noreferrer nofollow\">\n\t\t\t\t<HelpCircle :size=\"20\" />\n\t\t\t</a>\n\t\t</h2>\n\t\t<p v-if=\"hasDescription\"\n\t\t\tclass=\"settings-section__desc\">\n\t\t\t{{ description }}\n\t\t</p>\n\t\t<slot />\n\t</div>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\n\nimport HelpCircle from 'vue-material-design-icons/HelpCircle.vue'\n\nexport default {\n\tname: 'NcSettingsSection',\n\n\tcomponents: {\n\t\tHelpCircle,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdocUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Limit the width of the setting's content\n\t\t *\n\t\t * Setting this to false allows unrestricted (width) settings content.\n\t\t * Note that the name and description have always a width limit.\n\t\t * @deprecated Will be removed with next version and will not be used on Nextcloud 30+ (always forced to true)\n\t\t */\n\t\tlimitWidth: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdocNameTranslated: t('External documentation for {name}', {\n\t\t\t\tname: this.name,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tforceLimitWidth() {\n\t\t\tif (this.limitWidth) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Overwrite this on Nextcloud 30+ to always limit the width\n\t\t\tconst [major] = window._oc_config?.version.split('.', 2) ?? []\n\t\t\treturn major && Number.parseInt(major) >= 30\n\t\t},\n\n\t\thasDescription() {\n\t\t\treturn this.description.length > 0\n\t\t},\n\t\thasDocUrl() {\n\t\t\treturn this.docUrl.length > 0\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n$maxWidth: 900px;\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&--limit-width > * {\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__name {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t\tmax-width: $maxWidth;\n\t\tmargin-top: 0; // Remove default heading margin\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: calc($icon-margin * -1);\n\t\tmargin-inline-start: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&:hover, &:focus, &:active {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmax-width: $maxWidth;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main"],"mappings":";;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;ACiCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAA,EAAA,qCAAA;AAAA,QACA,MAAA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,UAAA,KAAA,YAAA;AACA,eAAA;AAAA,MACA;AAEA,YAAA,CAAA,KAAA,IAAA,OAAA,YAAA,QAAA,MAAA,KAAA,CAAA,KAAA,CAAA;AACA,aAAA,SAAA,OAAA,SAAA,KAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,YAAA,SAAA;AAAA,IACA;AAAA,IACA,YAAA;AACA,aAAA,KAAA,OAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}