@nextcloud/vue 8.13.0 → 8.15.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 (446) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +1 -0
  3. package/dist/Components/NcActionButton.cjs +2 -2
  4. package/dist/Components/NcActionButton.cjs.map +1 -1
  5. package/dist/Components/NcActionButton.mjs +2 -2
  6. package/dist/Components/NcActionButton.mjs.map +1 -1
  7. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  8. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  9. package/dist/Components/NcActionCaption.cjs +2 -2
  10. package/dist/Components/NcActionCaption.cjs.map +1 -1
  11. package/dist/Components/NcActionCaption.mjs +2 -2
  12. package/dist/Components/NcActionCaption.mjs.map +1 -1
  13. package/dist/Components/NcActionCheckbox.cjs +2 -2
  14. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  15. package/dist/Components/NcActionCheckbox.mjs +2 -2
  16. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  17. package/dist/Components/NcActionInput.cjs +1 -1
  18. package/dist/Components/NcActionInput.mjs +1 -1
  19. package/dist/Components/NcActionLink.cjs +1 -1
  20. package/dist/Components/NcActionLink.mjs +1 -1
  21. package/dist/Components/NcActionRadio.cjs +2 -2
  22. package/dist/Components/NcActionRadio.cjs.map +1 -1
  23. package/dist/Components/NcActionRadio.mjs +2 -2
  24. package/dist/Components/NcActionRadio.mjs.map +1 -1
  25. package/dist/Components/NcActionRouter.cjs +1 -1
  26. package/dist/Components/NcActionRouter.mjs +1 -1
  27. package/dist/Components/NcActionText.cjs +1 -1
  28. package/dist/Components/NcActionText.mjs +1 -1
  29. package/dist/Components/NcActionTextEditable.cjs +2 -2
  30. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  31. package/dist/Components/NcActionTextEditable.mjs +2 -2
  32. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  33. package/dist/Components/NcActions.cjs +1 -1
  34. package/dist/Components/NcActions.mjs +1 -1
  35. package/dist/Components/NcAppContent.cjs +1 -1
  36. package/dist/Components/NcAppContent.mjs +1 -1
  37. package/dist/Components/NcAppNavigation.cjs +1 -1
  38. package/dist/Components/NcAppNavigation.mjs +1 -1
  39. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  40. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  41. package/dist/Components/NcAppNavigationIconBullet.cjs +2 -2
  42. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  43. package/dist/Components/NcAppNavigationIconBullet.mjs +2 -2
  44. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  45. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  46. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  47. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  48. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  49. package/dist/Components/NcAppNavigationSearch.cjs +3 -0
  50. package/dist/Components/NcAppNavigationSearch.cjs.map +1 -0
  51. package/dist/Components/NcAppNavigationSearch.mjs +4 -0
  52. package/dist/Components/NcAppNavigationSearch.mjs.map +1 -0
  53. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  54. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  55. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  56. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  57. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  58. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  59. package/dist/Components/NcAppSettingsSection.cjs +3 -3
  60. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  61. package/dist/Components/NcAppSettingsSection.mjs +3 -3
  62. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  63. package/dist/Components/NcAppSidebar.cjs +1 -1
  64. package/dist/Components/NcAppSidebar.mjs +1 -1
  65. package/dist/Components/NcAvatar.cjs +1 -1
  66. package/dist/Components/NcAvatar.mjs +1 -1
  67. package/dist/Components/NcBreadcrumb.cjs +1 -1
  68. package/dist/Components/NcBreadcrumb.mjs +1 -1
  69. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  70. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  71. package/dist/Components/NcButton.cjs +15 -3
  72. package/dist/Components/NcButton.cjs.map +1 -1
  73. package/dist/Components/NcButton.mjs +15 -3
  74. package/dist/Components/NcButton.mjs.map +1 -1
  75. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  76. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  77. package/dist/Components/NcChip.cjs +3 -3
  78. package/dist/Components/NcChip.mjs +3 -3
  79. package/dist/Components/NcCollectionList.cjs +3 -0
  80. package/dist/Components/NcCollectionList.cjs.map +1 -0
  81. package/dist/Components/NcCollectionList.mjs +4 -0
  82. package/dist/Components/NcCollectionList.mjs.map +1 -0
  83. package/dist/Components/NcColorPicker.cjs +1 -1
  84. package/dist/Components/NcColorPicker.mjs +1 -1
  85. package/dist/Components/NcContent.cjs +1 -1
  86. package/dist/Components/NcContent.mjs +1 -1
  87. package/dist/Components/NcCounterBubble.cjs +2 -2
  88. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  89. package/dist/Components/NcCounterBubble.mjs +2 -2
  90. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  91. package/dist/Components/NcDashboardWidget.cjs +1 -1
  92. package/dist/Components/NcDashboardWidget.mjs +1 -1
  93. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  94. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  95. package/dist/Components/NcDateTime.cjs +1 -1
  96. package/dist/Components/NcDateTime.mjs +1 -1
  97. package/dist/Components/NcDateTimePicker.cjs +5 -5
  98. package/dist/Components/NcDateTimePicker.mjs +5 -5
  99. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  100. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  101. package/dist/Components/NcDialog.cjs +1 -1
  102. package/dist/Components/NcDialog.mjs +1 -1
  103. package/dist/Components/NcEmojiPicker.cjs +1 -1
  104. package/dist/Components/NcEmojiPicker.mjs +1 -1
  105. package/dist/Components/NcHeaderMenu.cjs +1 -1
  106. package/dist/Components/NcHeaderMenu.mjs +1 -1
  107. package/dist/Components/NcInputField.cjs +11 -14
  108. package/dist/Components/NcInputField.cjs.map +1 -1
  109. package/dist/Components/NcInputField.mjs +11 -14
  110. package/dist/Components/NcInputField.mjs.map +1 -1
  111. package/dist/Components/NcListItem.cjs +1 -1
  112. package/dist/Components/NcListItem.mjs +1 -1
  113. package/dist/Components/NcListItemIcon.cjs +1 -1
  114. package/dist/Components/NcListItemIcon.mjs +1 -1
  115. package/dist/Components/NcModal.cjs +40 -11
  116. package/dist/Components/NcModal.cjs.map +1 -1
  117. package/dist/Components/NcModal.mjs +38 -11
  118. package/dist/Components/NcModal.mjs.map +1 -1
  119. package/dist/Components/NcPasswordField.cjs +1 -1
  120. package/dist/Components/NcPasswordField.mjs +1 -1
  121. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  122. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  123. package/dist/Components/NcRichContenteditable.cjs +2 -2
  124. package/dist/Components/NcRichContenteditable.mjs +2 -2
  125. package/dist/Components/NcRichText.cjs +2 -2
  126. package/dist/Components/NcRichText.mjs +3 -3
  127. package/dist/Components/NcSelect.cjs +1 -1
  128. package/dist/Components/NcSelect.mjs +1 -1
  129. package/dist/Components/NcSelectTags.cjs +1 -1
  130. package/dist/Components/NcSelectTags.mjs +1 -1
  131. package/dist/Components/NcSettingsInputText.cjs +1 -1
  132. package/dist/Components/NcSettingsInputText.mjs +1 -1
  133. package/dist/Components/NcSettingsSection.cjs +1 -1
  134. package/dist/Components/NcSettingsSection.mjs +1 -1
  135. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  136. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  137. package/dist/Components/NcTextField.cjs +1 -1
  138. package/dist/Components/NcTextField.mjs +1 -1
  139. package/dist/Components/NcTimezonePicker.cjs +1 -1
  140. package/dist/Components/NcTimezonePicker.mjs +1 -1
  141. package/dist/Components/NcUserBubble.cjs +1 -1
  142. package/dist/Components/NcUserBubble.mjs +1 -1
  143. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  144. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  145. package/dist/Functions/reference.cjs +1 -1
  146. package/dist/Functions/reference.mjs +1 -1
  147. package/dist/Functions/usernameToColor.cjs +1 -1
  148. package/dist/Functions/usernameToColor.mjs +1 -1
  149. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  150. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  151. package/dist/Mixins/richEditor.cjs +1 -1
  152. package/dist/Mixins/richEditor.mjs +1 -1
  153. package/dist/assets/{NcActionButton-BQGADRoe.css → NcActionButton-D90PTEA5.css} +25 -25
  154. package/dist/assets/{NcActionCaption-D-VXTPLI.css → NcActionCaption-B7FZTc3Y.css} +4 -4
  155. package/dist/assets/{NcActionRadio-mQBhh9vp.css → NcActionCheckbox-C-PJVvtb.css} +13 -13
  156. package/dist/assets/NcActionInput-C_3Csa6A.css +220 -0
  157. package/dist/assets/{NcActionLink-Djp7wPGg.css → NcActionLink-Db_ZlqWs.css} +9 -9
  158. package/dist/assets/{NcActionCheckbox-_DSvRrCm.css → NcActionRadio-CpCvyMa_.css} +13 -13
  159. package/dist/assets/{NcActionRouter-DzcScCc6.css → NcActionRouter-DidTlbov.css} +9 -9
  160. package/dist/assets/{NcActionText-DSk64KBl.css → NcActionText-DCx1DWXe.css} +9 -9
  161. package/dist/assets/NcActionTextEditable-Dud9NOdm.css +238 -0
  162. package/dist/assets/{NcActions-DtkhUUGj.css → NcActions-BAHCEkZI.css} +14 -14
  163. package/dist/assets/{NcAppContent-D0DGjfq9.css → NcAppContent-DVBVZyuW.css} +27 -33
  164. package/dist/assets/{NcAppNavigation-DvCTUTpR.css → NcAppNavigation-DdJfTimg.css} +17 -11
  165. package/dist/assets/{NcAppNavigationCaption-32LhJ9Co.css → NcAppNavigationCaption-CYv7YhUS.css} +12 -12
  166. package/dist/assets/{NcAppNavigationIconBullet-EfIZU7x-.css → NcAppNavigationIconBullet-By_0o2dG.css} +4 -4
  167. package/dist/assets/{NcAppNavigationItem-CflKjlYl.css → NcAppNavigationItem-Vg0-UrGT.css} +43 -43
  168. package/dist/assets/{NcAppNavigationNewItem-CO3GnR26.css → NcAppNavigationNewItem-s6Dd9PrB.css} +46 -46
  169. package/dist/assets/NcAppNavigationSearch-BLGG_WBn.css +41 -0
  170. package/dist/assets/{NcAppNavigationSettings-CbV2ZQ9_.css → NcAppNavigationSettings-AzpTlUym.css} +19 -19
  171. package/dist/assets/{NcAppNavigationToggle-DzpFNOgZ.css → NcAppNavigationToggle-DvYpNzHv.css} +4 -4
  172. package/dist/assets/{NcAppSettingsDialog-DkvJ9cKe.css → NcAppSettingsDialog-YgAGku7I.css} +12 -12
  173. package/dist/assets/{NcAppSettingsSection-B5r6VWct.css → NcAppSettingsSection-qU4SUZvh.css} +4 -4
  174. package/dist/assets/{NcAppSidebar-ITHlK5rW.css → NcAppSidebar-CpV7czJx.css} +70 -70
  175. package/dist/assets/{NcBreadcrumb-rVleA0T6.css → NcBreadcrumb-DOvK-XG1.css} +16 -16
  176. package/dist/assets/{NcBreadcrumbs-Bue16qCC.css → NcBreadcrumbs-CPUAM38l.css} +6 -6
  177. package/dist/assets/NcButton-BHxZm42y.css +210 -0
  178. package/dist/assets/{NcCheckboxRadioSwitch-CFKCb80n.css → NcCheckboxRadioSwitch-BkBep4wT.css} +46 -46
  179. package/dist/assets/NcCollectionList-ETQTqkqt.css +221 -0
  180. package/dist/assets/{NcColorPicker-DH3H7HLS.css → NcColorPicker-CpkfRGO1.css} +33 -33
  181. package/dist/assets/{NcCounterBubble-DT16e2bg.css → NcCounterBubble-BlAq2Vim.css} +8 -8
  182. package/dist/assets/{NcDashboardWidget-CwzqyUG9.css → NcDashboardWidget-CpstyXok.css} +13 -13
  183. package/dist/assets/{NcDashboardWidgetItem-JCtQhwhS.css → NcDashboardWidgetItem-Qe5SSOhA.css} +14 -14
  184. package/dist/assets/{NcDateTimePicker-Cs-VgGon.css → NcDateTimePicker-Aq9TnHYj.css} +8 -8
  185. package/dist/assets/{NcDialog-BR3cQR_R.css → NcDialog-j6_6dpiF.css} +15 -15
  186. package/dist/assets/{NcHeaderMenu-BbpDtHjf.css → NcHeaderMenu-CuAI7Fgb.css} +13 -13
  187. package/dist/assets/NcInputField-B7T0X2lM.css +166 -0
  188. package/dist/assets/NcListItem-Cah9oImZ.css +164 -0
  189. package/dist/assets/{NcListItemIcon-Cd4723rU.css → NcListItemIcon-DxPdaRV5.css} +14 -14
  190. package/dist/assets/{NcMentionBubble-B-xYaJDc.css → NcMentionBubble-C6t8od-_.css} +13 -10
  191. package/dist/assets/{NcModal-6bpKFk4w.css → NcModal-Ch7ovo9y.css} +69 -69
  192. package/dist/assets/{NcRelatedResourcesPanel-i_FBo7DY.css → NcRelatedResourcesPanel-BE9CQ8s8.css} +25 -25
  193. package/dist/assets/{NcRichContenteditable-BIclrp8v.css → NcRichContenteditable-CkvTrjfG.css} +13 -13
  194. package/dist/assets/{NcRichText-BKoK9ulg.css → NcRichText-BKnmtD0n.css} +4 -4
  195. package/dist/assets/{NcSelect-9AZOhTlS.css → NcSelect-BQt_SpyP.css} +1 -1
  196. package/dist/assets/{NcSettingsSection-B_Dat_E8.css → NcSettingsSection-DZwOPKg1.css} +11 -11
  197. package/dist/assets/{referencePickerModal-C_c_8fEM.css → referencePickerModal-9BcmmfUy.css} +36 -36
  198. package/dist/chunks/{GenColors-BvNpSI9g.mjs → GenColors-BV6-FB5-.mjs} +1 -1
  199. package/dist/chunks/{GenColors-BvNpSI9g.mjs.map → GenColors-BV6-FB5-.mjs.map} +1 -1
  200. package/dist/chunks/{GenColors-Cf5olCPx.cjs → GenColors-CzzMrdzl.cjs} +1 -1
  201. package/dist/chunks/{GenColors-Cf5olCPx.cjs.map → GenColors-CzzMrdzl.cjs.map} +1 -1
  202. package/dist/chunks/{NcActionButtonGroup-BO4eSfV4.cjs → NcActionButtonGroup-CIHtVerj.cjs} +1 -1
  203. package/dist/chunks/{NcActionButtonGroup-BO4eSfV4.cjs.map → NcActionButtonGroup-CIHtVerj.cjs.map} +1 -1
  204. package/dist/chunks/{NcActionButtonGroup-DCKhQnHH.mjs → NcActionButtonGroup-YZjkAQfi.mjs} +1 -1
  205. package/dist/chunks/{NcActionButtonGroup-DCKhQnHH.mjs.map → NcActionButtonGroup-YZjkAQfi.mjs.map} +1 -1
  206. package/dist/chunks/{NcActionInput-CEjCUwt0.cjs → NcActionInput-BolqgAyP.cjs} +7 -7
  207. package/dist/chunks/{NcActionInput-CEjCUwt0.cjs.map → NcActionInput-BolqgAyP.cjs.map} +1 -1
  208. package/dist/chunks/{NcActionInput-9zrp0_WC.mjs → NcActionInput-Dffj2gx5.mjs} +7 -7
  209. package/dist/chunks/{NcActionInput-9zrp0_WC.mjs.map → NcActionInput-Dffj2gx5.mjs.map} +1 -1
  210. package/dist/chunks/{NcActions-B4kN_x_I.cjs → NcActions-BanQsba7.cjs} +42 -15
  211. package/dist/chunks/NcActions-BanQsba7.cjs.map +1 -0
  212. package/dist/chunks/{NcActions-VXT4YqSd.mjs → NcActions-jYBYK6WE.mjs} +43 -16
  213. package/dist/chunks/NcActions-jYBYK6WE.mjs.map +1 -0
  214. package/dist/chunks/{NcAppContent-CoKCN5M3.cjs → NcAppContent-3ufgCG77.cjs} +5 -5
  215. package/dist/chunks/NcAppContent-3ufgCG77.cjs.map +1 -0
  216. package/dist/chunks/{NcAppContent-B-VnA8x6.mjs → NcAppContent-C4K-sTYm.mjs} +5 -5
  217. package/dist/chunks/NcAppContent-C4K-sTYm.mjs.map +1 -0
  218. package/dist/chunks/{NcAppNavigation-Bto5gXEz.cjs → NcAppNavigation-Dcf2w78V.cjs} +4 -4
  219. package/dist/chunks/NcAppNavigation-Dcf2w78V.cjs.map +1 -0
  220. package/dist/chunks/{NcAppNavigation-BoSCCzgq.mjs → NcAppNavigation-hx60VxfZ.mjs} +4 -4
  221. package/dist/chunks/NcAppNavigation-hx60VxfZ.mjs.map +1 -0
  222. package/dist/chunks/{NcAppNavigationCaption-D5IlWwqU.mjs → NcAppNavigationCaption-C5x4p-eV.mjs} +3 -3
  223. package/dist/chunks/NcAppNavigationCaption-C5x4p-eV.mjs.map +1 -0
  224. package/dist/chunks/{NcAppNavigationCaption-7V2xr2JU.cjs → NcAppNavigationCaption-Hb65-Hwg.cjs} +3 -3
  225. package/dist/chunks/NcAppNavigationCaption-Hb65-Hwg.cjs.map +1 -0
  226. package/dist/chunks/{NcAppNavigationItem-BvTE5-IF.mjs → NcAppNavigationItem-JGpx1LjC.mjs} +12 -11
  227. package/dist/chunks/NcAppNavigationItem-JGpx1LjC.mjs.map +1 -0
  228. package/dist/chunks/{NcAppNavigationItem-D0BY5hCQ.cjs → NcAppNavigationItem-heUPZili.cjs} +12 -11
  229. package/dist/chunks/NcAppNavigationItem-heUPZili.cjs.map +1 -0
  230. package/dist/chunks/{NcAppNavigationNewItem-DI3F9V41.cjs → NcAppNavigationNewItem-Bk8Qo0Yf.cjs} +3 -3
  231. package/dist/chunks/NcAppNavigationNewItem-Bk8Qo0Yf.cjs.map +1 -0
  232. package/dist/chunks/{NcAppNavigationNewItem-a_KNNkkf.mjs → NcAppNavigationNewItem-U7nmcavB.mjs} +3 -3
  233. package/dist/chunks/NcAppNavigationNewItem-U7nmcavB.mjs.map +1 -0
  234. package/dist/chunks/NcAppNavigationSearch-Ak-Cq3nx.mjs +106 -0
  235. package/dist/chunks/NcAppNavigationSearch-Ak-Cq3nx.mjs.map +1 -0
  236. package/dist/chunks/NcAppNavigationSearch-ClnL2j6U.cjs +105 -0
  237. package/dist/chunks/NcAppNavigationSearch-ClnL2j6U.cjs.map +1 -0
  238. package/dist/chunks/{NcAppNavigationSettings-CkdNLEGg.cjs → NcAppNavigationSettings-DABhRWZL.cjs} +5 -5
  239. package/dist/chunks/{NcAppNavigationSettings-ZYhJhZza.mjs.map → NcAppNavigationSettings-DABhRWZL.cjs.map} +1 -1
  240. package/dist/chunks/{NcAppNavigationSettings-ZYhJhZza.mjs → NcAppNavigationSettings-DtpUeFhv.mjs} +5 -5
  241. package/dist/chunks/{NcAppNavigationSettings-CkdNLEGg.cjs.map → NcAppNavigationSettings-DtpUeFhv.mjs.map} +1 -1
  242. package/dist/chunks/{NcAppNavigationToggle-dTKw7Sw8.cjs → NcAppNavigationToggle-Ci9rArNU.cjs} +4 -4
  243. package/dist/chunks/{NcAppNavigationToggle-dHmyeRMf.mjs.map → NcAppNavigationToggle-Ci9rArNU.cjs.map} +1 -1
  244. package/dist/chunks/{NcAppNavigationToggle-dHmyeRMf.mjs → NcAppNavigationToggle-DTbZFYws.mjs} +4 -4
  245. package/dist/chunks/{NcAppNavigationToggle-dTKw7Sw8.cjs.map → NcAppNavigationToggle-DTbZFYws.mjs.map} +1 -1
  246. package/dist/chunks/{NcAppSettingsDialog-DB9IGg_1.cjs → NcAppSettingsDialog-DZcj5Hg3.cjs} +5 -5
  247. package/dist/chunks/{NcAppSettingsDialog-DB9IGg_1.cjs.map → NcAppSettingsDialog-DZcj5Hg3.cjs.map} +1 -1
  248. package/dist/chunks/{NcAppSettingsDialog-B_JHYQei.mjs → NcAppSettingsDialog-Dgqy88lj.mjs} +5 -5
  249. package/dist/chunks/{NcAppSettingsDialog-B_JHYQei.mjs.map → NcAppSettingsDialog-Dgqy88lj.mjs.map} +1 -1
  250. package/dist/chunks/{NcAppSidebar-DfMS3rRN.mjs → NcAppSidebar-CCL2-_-5.mjs} +31 -16
  251. package/dist/chunks/NcAppSidebar-CCL2-_-5.mjs.map +1 -0
  252. package/dist/chunks/{NcAppSidebar-Be2hX08l.cjs → NcAppSidebar-CfD7b5WF.cjs} +31 -16
  253. package/dist/chunks/NcAppSidebar-CfD7b5WF.cjs.map +1 -0
  254. package/dist/chunks/{NcAvatar-DrN_43xE.mjs → NcAvatar-CLQ7_AQw.mjs} +6 -6
  255. package/dist/chunks/{NcAvatar-DrN_43xE.mjs.map → NcAvatar-CLQ7_AQw.mjs.map} +1 -1
  256. package/dist/chunks/{NcAvatar-B1PwcHhO.cjs → NcAvatar-CjtwClIu.cjs} +6 -6
  257. package/dist/chunks/{NcAvatar-B1PwcHhO.cjs.map → NcAvatar-CjtwClIu.cjs.map} +1 -1
  258. package/dist/chunks/{NcBreadcrumb-C1VWgdNk.cjs → NcBreadcrumb-CDSQfqgy.cjs} +3 -3
  259. package/dist/chunks/{NcBreadcrumb-C1VWgdNk.cjs.map → NcBreadcrumb-CDSQfqgy.cjs.map} +1 -1
  260. package/dist/chunks/{NcBreadcrumb-BB7O3NvV.mjs → NcBreadcrumb-lCjBkeeU.mjs} +3 -3
  261. package/dist/chunks/{NcBreadcrumb-BB7O3NvV.mjs.map → NcBreadcrumb-lCjBkeeU.mjs.map} +1 -1
  262. package/dist/chunks/{NcBreadcrumbs-BRl8V6ie.mjs → NcBreadcrumbs-LgHb45DJ.mjs} +4 -4
  263. package/dist/chunks/NcBreadcrumbs-LgHb45DJ.mjs.map +1 -0
  264. package/dist/chunks/{NcBreadcrumbs-BZFTIrPp.cjs → NcBreadcrumbs-eOkyOf9_.cjs} +4 -4
  265. package/dist/chunks/NcBreadcrumbs-eOkyOf9_.cjs.map +1 -0
  266. package/dist/chunks/{NcCheckboxRadioSwitch-08IiPYnO.mjs → NcCheckboxRadioSwitch-BU-MnU4U.mjs} +11 -5
  267. package/dist/chunks/NcCheckboxRadioSwitch-BU-MnU4U.mjs.map +1 -0
  268. package/dist/chunks/{NcCheckboxRadioSwitch-BC-PCCMB.cjs → NcCheckboxRadioSwitch-BbMh0Uc8.cjs} +11 -5
  269. package/dist/chunks/NcCheckboxRadioSwitch-BbMh0Uc8.cjs.map +1 -0
  270. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_919d07b7_lang-D3PU8il5.mjs +3 -0
  271. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_919d07b7_lang-D3PU8il5.mjs.map +1 -0
  272. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_919d07b7_lang-D63ceZ-I.cjs +4 -0
  273. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_919d07b7_lang-D63ceZ-I.cjs.map +1 -0
  274. package/dist/chunks/NcCollectionList-Csni5btL.mjs +428 -0
  275. package/dist/chunks/NcCollectionList-Csni5btL.mjs.map +1 -0
  276. package/dist/chunks/NcCollectionList-DAeLF8Lc.cjs +430 -0
  277. package/dist/chunks/NcCollectionList-DAeLF8Lc.cjs.map +1 -0
  278. package/dist/chunks/{NcColorPicker-C5AAUZow.mjs → NcColorPicker-19JdVR99.mjs} +4 -4
  279. package/dist/chunks/{NcColorPicker-DQVfrnSU.cjs.map → NcColorPicker-19JdVR99.mjs.map} +1 -1
  280. package/dist/chunks/{NcColorPicker-DQVfrnSU.cjs → NcColorPicker-DuJJC4lB.cjs} +4 -4
  281. package/dist/chunks/{NcColorPicker-C5AAUZow.mjs.map → NcColorPicker-DuJJC4lB.cjs.map} +1 -1
  282. package/dist/chunks/{NcContent-DqUD53yw.cjs → NcContent-BPWplwmy.cjs} +2 -2
  283. package/dist/chunks/{NcContent-DqUD53yw.cjs.map → NcContent-BPWplwmy.cjs.map} +1 -1
  284. package/dist/chunks/{NcContent-DlpAl0Ng.mjs → NcContent-D2roywh0.mjs} +2 -2
  285. package/dist/chunks/{NcContent-DlpAl0Ng.mjs.map → NcContent-D2roywh0.mjs.map} +1 -1
  286. package/dist/chunks/{NcDashboardWidget-DHZ91zbH.cjs → NcDashboardWidget-CiQ9nKkn.cjs} +6 -6
  287. package/dist/chunks/{NcDashboardWidget-DHZ91zbH.cjs.map → NcDashboardWidget-CiQ9nKkn.cjs.map} +1 -1
  288. package/dist/chunks/{NcDashboardWidget-Bgws_A-4.mjs → NcDashboardWidget-eYMkaNge.mjs} +6 -6
  289. package/dist/chunks/{NcDashboardWidget-Bgws_A-4.mjs.map → NcDashboardWidget-eYMkaNge.mjs.map} +1 -1
  290. package/dist/chunks/{NcDashboardWidgetItem-7POJ_0UL.cjs → NcDashboardWidgetItem-BlmOcEja.cjs} +4 -4
  291. package/dist/chunks/{NcDashboardWidgetItem-7POJ_0UL.cjs.map → NcDashboardWidgetItem-BlmOcEja.cjs.map} +1 -1
  292. package/dist/chunks/{NcDashboardWidgetItem-yOTSuJJW.mjs → NcDashboardWidgetItem-BtIXF3nP.mjs} +4 -4
  293. package/dist/chunks/{NcDashboardWidgetItem-yOTSuJJW.mjs.map → NcDashboardWidgetItem-BtIXF3nP.mjs.map} +1 -1
  294. package/dist/chunks/{NcDateTime-DPpc-ffs.cjs → NcDateTime-C06to8gC.cjs} +1 -1
  295. package/dist/chunks/{NcDateTime-DPpc-ffs.cjs.map → NcDateTime-C06to8gC.cjs.map} +1 -1
  296. package/dist/chunks/{NcDateTime-DBvDI3ZP.mjs → NcDateTime-D63dAM9i.mjs} +1 -1
  297. package/dist/chunks/{NcDateTime-DBvDI3ZP.mjs.map → NcDateTime-D63dAM9i.mjs.map} +1 -1
  298. package/dist/chunks/{NcDialog-dCyByQCG.cjs → NcDialog-DGaf6Udc.cjs} +6 -4
  299. package/dist/chunks/{NcDialog-CDQmAtFa.mjs.map → NcDialog-DGaf6Udc.cjs.map} +1 -1
  300. package/dist/chunks/{NcDialog-CDQmAtFa.mjs → NcDialog-VincZ0XS.mjs} +6 -4
  301. package/dist/chunks/{NcDialog-dCyByQCG.cjs.map → NcDialog-VincZ0XS.mjs.map} +1 -1
  302. package/dist/chunks/{NcEmojiPicker-CEeN-AZM.mjs → NcEmojiPicker-C5QwBqju.mjs} +5 -5
  303. package/dist/chunks/{NcEmojiPicker-CEeN-AZM.mjs.map → NcEmojiPicker-C5QwBqju.mjs.map} +1 -1
  304. package/dist/chunks/{NcEmojiPicker-CNiHLIbP.cjs → NcEmojiPicker-C6N8_T2s.cjs} +5 -5
  305. package/dist/chunks/{NcEmojiPicker-CNiHLIbP.cjs.map → NcEmojiPicker-C6N8_T2s.cjs.map} +1 -1
  306. package/dist/chunks/{NcHeaderMenu-C7peZLEA.cjs → NcHeaderMenu-D-Jo3l41.cjs} +4 -4
  307. package/dist/chunks/NcHeaderMenu-D-Jo3l41.cjs.map +1 -0
  308. package/dist/chunks/{NcHeaderMenu-BEp6lzuy.mjs → NcHeaderMenu-Da6Ob-6t.mjs} +4 -4
  309. package/dist/chunks/NcHeaderMenu-Da6Ob-6t.mjs.map +1 -0
  310. package/dist/chunks/{NcInputConfirmCancel-BojmHIVt.mjs → NcInputConfirmCancel-CHbaA18n.mjs} +2 -2
  311. package/dist/chunks/{NcInputConfirmCancel-BojmHIVt.mjs.map → NcInputConfirmCancel-CHbaA18n.mjs.map} +1 -1
  312. package/dist/chunks/{NcInputConfirmCancel-CD8NS4jj.cjs → NcInputConfirmCancel-Cabqh9yr.cjs} +2 -2
  313. package/dist/chunks/{NcInputConfirmCancel-CD8NS4jj.cjs.map → NcInputConfirmCancel-Cabqh9yr.cjs.map} +1 -1
  314. package/dist/chunks/{NcListItem-PX9C1UU4.mjs → NcListItem-0EnLrbng.mjs} +5 -5
  315. package/dist/chunks/NcListItem-0EnLrbng.mjs.map +1 -0
  316. package/dist/chunks/{NcListItem-Bt5RbZT6.cjs → NcListItem-BfbxhMcD.cjs} +5 -5
  317. package/dist/chunks/NcListItem-BfbxhMcD.cjs.map +1 -0
  318. package/dist/chunks/{NcListItemIcon-CSD8rRYj.cjs → NcListItemIcon-57iRCVpy.cjs} +4 -4
  319. package/dist/chunks/{NcListItemIcon-CSD8rRYj.cjs.map → NcListItemIcon-57iRCVpy.cjs.map} +1 -1
  320. package/dist/chunks/{NcListItemIcon-NtOXrncP.mjs → NcListItemIcon-Bw6Wddoz.mjs} +4 -4
  321. package/dist/chunks/{NcListItemIcon-NtOXrncP.mjs.map → NcListItemIcon-Bw6Wddoz.mjs.map} +1 -1
  322. package/dist/chunks/{NcPasswordField-Y4-be0L7.cjs → NcPasswordField-Iq8u9C_A.cjs} +2 -2
  323. package/dist/chunks/{NcPasswordField-Y4-be0L7.cjs.map → NcPasswordField-Iq8u9C_A.cjs.map} +1 -1
  324. package/dist/chunks/{NcPasswordField-XxjYVmM9.mjs → NcPasswordField-U7jnnuI6.mjs} +2 -2
  325. package/dist/chunks/{NcPasswordField-XxjYVmM9.mjs.map → NcPasswordField-U7jnnuI6.mjs.map} +1 -1
  326. package/dist/chunks/{NcRelatedResourcesPanel-Dlf-t8iR.cjs → NcRelatedResourcesPanel-CHMgVvv8.cjs} +7 -7
  327. package/dist/chunks/NcRelatedResourcesPanel-CHMgVvv8.cjs.map +1 -0
  328. package/dist/chunks/{NcRelatedResourcesPanel-wFENPmmn.mjs → NcRelatedResourcesPanel-TaYxpT6y.mjs} +7 -7
  329. package/dist/chunks/NcRelatedResourcesPanel-TaYxpT6y.mjs.map +1 -0
  330. package/dist/chunks/{NcRichContenteditable-DdG9-ftG.cjs → NcRichContenteditable-B32ivG6v.cjs} +14 -11
  331. package/dist/chunks/{NcRichContenteditable-DdG9-ftG.cjs.map → NcRichContenteditable-B32ivG6v.cjs.map} +1 -1
  332. package/dist/chunks/{NcRichContenteditable-BGW5Ut1z.mjs → NcRichContenteditable-Jk627HvF.mjs} +14 -11
  333. package/dist/chunks/{NcRichContenteditable-BGW5Ut1z.mjs.map → NcRichContenteditable-Jk627HvF.mjs.map} +1 -1
  334. package/dist/chunks/{NcRichText-B0CKR0jj.cjs → NcRichText-DhS9L0ia.cjs} +14 -6
  335. package/dist/chunks/NcRichText-DhS9L0ia.cjs.map +1 -0
  336. package/dist/chunks/{NcRichText-D3knHFLh.mjs → NcRichText-rgX1D4Mv.mjs} +14 -6
  337. package/dist/chunks/NcRichText-rgX1D4Mv.mjs.map +1 -0
  338. package/dist/chunks/{NcSelect-BXjYMf6X.cjs → NcSelect-CFkeC89U.cjs} +4 -4
  339. package/dist/chunks/{NcSelect-BVltxWdw.mjs.map → NcSelect-CFkeC89U.cjs.map} +1 -1
  340. package/dist/chunks/{NcSelect-BVltxWdw.mjs → NcSelect-VXa9BD3h.mjs} +4 -4
  341. package/dist/chunks/{NcSelect-BXjYMf6X.cjs.map → NcSelect-VXa9BD3h.mjs.map} +1 -1
  342. package/dist/chunks/{NcSelectTags-DzNoReBn.cjs → NcSelectTags-BGqJO7nz.cjs} +2 -2
  343. package/dist/chunks/{NcSelectTags-DzNoReBn.cjs.map → NcSelectTags-BGqJO7nz.cjs.map} +1 -1
  344. package/dist/chunks/{NcSelectTags-BA6aGEca.mjs → NcSelectTags-CnMksmUz.mjs} +2 -2
  345. package/dist/chunks/{NcSelectTags-BA6aGEca.mjs.map → NcSelectTags-CnMksmUz.mjs.map} +1 -1
  346. package/dist/chunks/{NcSettingsInputText-CXURkBMD.mjs → NcSettingsInputText-6NUV0AUU.mjs} +2 -2
  347. package/dist/chunks/{NcSettingsInputText-CXURkBMD.mjs.map → NcSettingsInputText-6NUV0AUU.mjs.map} +1 -1
  348. package/dist/chunks/{NcSettingsInputText-B3aogzD0.cjs → NcSettingsInputText-BHQoBpdB.cjs} +2 -2
  349. package/dist/chunks/{NcSettingsInputText-B3aogzD0.cjs.map → NcSettingsInputText-BHQoBpdB.cjs.map} +1 -1
  350. package/dist/chunks/{NcSettingsSection-PZ3JkBWO.mjs → NcSettingsSection-HExFhUqF.mjs} +4 -4
  351. package/dist/chunks/{NcSettingsSection-B8Nn29kV.cjs.map → NcSettingsSection-HExFhUqF.mjs.map} +1 -1
  352. package/dist/chunks/{NcSettingsSection-B8Nn29kV.cjs → NcSettingsSection-NrhuTTW4.cjs} +4 -4
  353. package/dist/chunks/{NcSettingsSection-PZ3JkBWO.mjs.map → NcSettingsSection-NrhuTTW4.cjs.map} +1 -1
  354. package/dist/chunks/{NcSettingsSelectGroup-Z3yYfNTs.mjs → NcSettingsSelectGroup-BvSwvGmQ.mjs} +3 -3
  355. package/dist/chunks/{NcSettingsSelectGroup-Z3yYfNTs.mjs.map → NcSettingsSelectGroup-BvSwvGmQ.mjs.map} +1 -1
  356. package/dist/chunks/{NcSettingsSelectGroup-k5AMJoPl.cjs → NcSettingsSelectGroup-DKwhOABo.cjs} +3 -3
  357. package/dist/chunks/{NcSettingsSelectGroup-k5AMJoPl.cjs.map → NcSettingsSelectGroup-DKwhOABo.cjs.map} +1 -1
  358. package/dist/chunks/{NcTextField-C8iERu7z.mjs → NcTextField-DCDVcnqT.mjs} +2 -2
  359. package/dist/chunks/NcTextField-DCDVcnqT.mjs.map +1 -0
  360. package/dist/chunks/{NcTextField-Y_QNDoeN.cjs → NcTextField-DMo1G8i6.cjs} +2 -2
  361. package/dist/chunks/NcTextField-DMo1G8i6.cjs.map +1 -0
  362. package/dist/chunks/{NcTimezonePicker-BlnrXG8A.mjs → NcTimezonePicker-CTNhHwMc.mjs} +4 -4
  363. package/dist/chunks/{NcTimezonePicker-BlnrXG8A.mjs.map → NcTimezonePicker-CTNhHwMc.mjs.map} +1 -1
  364. package/dist/chunks/{NcTimezonePicker-DDNT7-mK.cjs → NcTimezonePicker-aP3TJBd2.cjs} +4 -4
  365. package/dist/chunks/{NcTimezonePicker-DDNT7-mK.cjs.map → NcTimezonePicker-aP3TJBd2.cjs.map} +1 -1
  366. package/dist/chunks/{NcUserBubble-BiLpvdja.mjs → NcUserBubble-CT56m7hy.mjs} +1 -1
  367. package/dist/chunks/{NcUserBubble-BiLpvdja.mjs.map → NcUserBubble-CT56m7hy.mjs.map} +1 -1
  368. package/dist/chunks/{NcUserBubble-eXO4wtN5.cjs → NcUserBubble-CTJW09AG.cjs} +1 -1
  369. package/dist/chunks/{NcUserBubble-eXO4wtN5.cjs.map → NcUserBubble-CTJW09AG.cjs.map} +1 -1
  370. package/dist/chunks/{NcUserStatusIcon-DLhfp6bb.mjs → NcUserStatusIcon-Bw4HYlgZ.mjs} +3 -3
  371. package/dist/chunks/{NcUserStatusIcon-DLhfp6bb.mjs.map → NcUserStatusIcon-Bw4HYlgZ.mjs.map} +1 -1
  372. package/dist/chunks/{NcUserStatusIcon-J509k6M1.cjs → NcUserStatusIcon-DAsG7fFc.cjs} +3 -3
  373. package/dist/chunks/{NcUserStatusIcon-J509k6M1.cjs.map → NcUserStatusIcon-DAsG7fFc.cjs.map} +1 -1
  374. package/dist/chunks/{ScopeComponent-BJmRUKzI.mjs → ScopeComponent-C0xOBUg-.mjs} +1 -1
  375. package/dist/chunks/{ScopeComponent-BJmRUKzI.mjs.map → ScopeComponent-C0xOBUg-.mjs.map} +1 -1
  376. package/dist/chunks/{ScopeComponent-Dn9AdAJf.cjs → ScopeComponent-p6wwuGWn.cjs} +1 -1
  377. package/dist/chunks/{ScopeComponent-Dn9AdAJf.cjs.map → ScopeComponent-p6wwuGWn.cjs.map} +1 -1
  378. package/dist/chunks/_l10n-CG5VZvYT.mjs +130 -0
  379. package/dist/chunks/_l10n-CG5VZvYT.mjs.map +1 -0
  380. package/dist/chunks/_l10n-DdIq5MvQ.cjs +129 -0
  381. package/dist/chunks/{_l10n-BGF_R72e.cjs.map → _l10n-DdIq5MvQ.cjs.map} +1 -1
  382. package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
  383. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
  384. package/dist/chunks/{index-CVcTbcD3.mjs → index-DbA2OZyf.mjs} +2 -2
  385. package/dist/chunks/index-DbA2OZyf.mjs.map +1 -0
  386. package/dist/chunks/{index-C8XDBNYC.cjs → index-oIpl1nrk.cjs} +2 -2
  387. package/dist/chunks/index-oIpl1nrk.cjs.map +1 -0
  388. package/dist/chunks/{referencePickerModal-D7ZD0avR.cjs → referencePickerModal-Dk80B426.cjs} +15 -16
  389. package/dist/chunks/referencePickerModal-Dk80B426.cjs.map +1 -0
  390. package/dist/chunks/{referencePickerModal-CGhrhjCk.mjs → referencePickerModal-X5iEJq4e.mjs} +15 -16
  391. package/dist/chunks/referencePickerModal-X5iEJq4e.mjs.map +1 -0
  392. package/dist/chunks/{usernameToColor-BKMu6XL_.cjs → usernameToColor-B18lWdWj.cjs} +1 -1
  393. package/dist/chunks/{usernameToColor-BKMu6XL_.cjs.map → usernameToColor-B18lWdWj.cjs.map} +1 -1
  394. package/dist/chunks/{usernameToColor-BkmF7_85.mjs → usernameToColor-BlQigKGC.mjs} +1 -1
  395. package/dist/chunks/{usernameToColor-BkmF7_85.mjs.map → usernameToColor-BlQigKGC.mjs.map} +1 -1
  396. package/dist/components/NcCollectionList/service.d.ts +47 -0
  397. package/dist/composables/actions/useActionText.d.ts +14 -0
  398. package/dist/index.cjs +50 -42
  399. package/dist/index.cjs.map +1 -1
  400. package/dist/index.mjs +53 -45
  401. package/dist/index.mjs.map +1 -1
  402. package/package.json +4 -2
  403. package/dist/assets/NcActionInput-K-aWGceI.css +0 -222
  404. package/dist/assets/NcActionTextEditable-BIjM-JsZ.css +0 -238
  405. package/dist/assets/NcButton-BlkIlpQf.css +0 -191
  406. package/dist/assets/NcInputField-CyNcetxP.css +0 -164
  407. package/dist/assets/NcListItem-DTaecNLV.css +0 -156
  408. package/dist/chunks/NcActions-B4kN_x_I.cjs.map +0 -1
  409. package/dist/chunks/NcActions-VXT4YqSd.mjs.map +0 -1
  410. package/dist/chunks/NcAppContent-B-VnA8x6.mjs.map +0 -1
  411. package/dist/chunks/NcAppContent-CoKCN5M3.cjs.map +0 -1
  412. package/dist/chunks/NcAppNavigation-BoSCCzgq.mjs.map +0 -1
  413. package/dist/chunks/NcAppNavigation-Bto5gXEz.cjs.map +0 -1
  414. package/dist/chunks/NcAppNavigationCaption-7V2xr2JU.cjs.map +0 -1
  415. package/dist/chunks/NcAppNavigationCaption-D5IlWwqU.mjs.map +0 -1
  416. package/dist/chunks/NcAppNavigationItem-BvTE5-IF.mjs.map +0 -1
  417. package/dist/chunks/NcAppNavigationItem-D0BY5hCQ.cjs.map +0 -1
  418. package/dist/chunks/NcAppNavigationNewItem-DI3F9V41.cjs.map +0 -1
  419. package/dist/chunks/NcAppNavigationNewItem-a_KNNkkf.mjs.map +0 -1
  420. package/dist/chunks/NcAppSidebar-Be2hX08l.cjs.map +0 -1
  421. package/dist/chunks/NcAppSidebar-DfMS3rRN.mjs.map +0 -1
  422. package/dist/chunks/NcBreadcrumbs-BRl8V6ie.mjs.map +0 -1
  423. package/dist/chunks/NcBreadcrumbs-BZFTIrPp.cjs.map +0 -1
  424. package/dist/chunks/NcCheckboxRadioSwitch-08IiPYnO.mjs.map +0 -1
  425. package/dist/chunks/NcCheckboxRadioSwitch-BC-PCCMB.cjs.map +0 -1
  426. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DM3kps3m.cjs +0 -4
  427. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DM3kps3m.cjs.map +0 -1
  428. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DP6Ws4da.mjs +0 -3
  429. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DP6Ws4da.mjs.map +0 -1
  430. package/dist/chunks/NcHeaderMenu-BEp6lzuy.mjs.map +0 -1
  431. package/dist/chunks/NcHeaderMenu-C7peZLEA.cjs.map +0 -1
  432. package/dist/chunks/NcListItem-Bt5RbZT6.cjs.map +0 -1
  433. package/dist/chunks/NcListItem-PX9C1UU4.mjs.map +0 -1
  434. package/dist/chunks/NcRelatedResourcesPanel-Dlf-t8iR.cjs.map +0 -1
  435. package/dist/chunks/NcRelatedResourcesPanel-wFENPmmn.mjs.map +0 -1
  436. package/dist/chunks/NcRichText-B0CKR0jj.cjs.map +0 -1
  437. package/dist/chunks/NcRichText-D3knHFLh.mjs.map +0 -1
  438. package/dist/chunks/NcTextField-C8iERu7z.mjs.map +0 -1
  439. package/dist/chunks/NcTextField-Y_QNDoeN.cjs.map +0 -1
  440. package/dist/chunks/_l10n-B6zipH_A.mjs +0 -122
  441. package/dist/chunks/_l10n-B6zipH_A.mjs.map +0 -1
  442. package/dist/chunks/_l10n-BGF_R72e.cjs +0 -121
  443. package/dist/chunks/index-C8XDBNYC.cjs.map +0 -1
  444. package/dist/chunks/index-CVcTbcD3.mjs.map +0 -1
  445. package/dist/chunks/referencePickerModal-CGhrhjCk.mjs.map +0 -1
  446. package/dist/chunks/referencePickerModal-D7ZD0avR.cjs.map +0 -1
@@ -1,16 +1,16 @@
1
- require('../assets/NcDateTimePicker-Cs-VgGon.css');
1
+ require('../assets/NcDateTimePicker-Aq9TnHYj.css');
2
2
  "use strict";
3
- const _l10n = require("../chunks/_l10n-BGF_R72e.cjs");
3
+ const _l10n = require("../chunks/_l10n-DdIq5MvQ.cjs");
4
4
  const GenRandomId = require("../chunks/GenRandomId-BQDud3d4.cjs");
5
- const NcTimezonePicker = require("../chunks/NcTimezonePicker-DDNT7-mK.cjs");
5
+ const NcTimezonePicker = require("../chunks/NcTimezonePicker-aP3TJBd2.cjs");
6
6
  const NcPopover = require("../chunks/NcPopover-Cl1AvQ5o.cjs");
7
7
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs");
8
8
  const l10n = require("@nextcloud/l10n");
9
9
  const DatePicker = require("vue2-datepicker");
10
- const ScopeComponent = require("../chunks/ScopeComponent-Dn9AdAJf.cjs");
10
+ const ScopeComponent = require("../chunks/ScopeComponent-p6wwuGWn.cjs");
11
11
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
12
  const DatePicker__default = /* @__PURE__ */ _interopDefault(DatePicker);
13
- _l10n.register(_l10n.t33);
13
+ _l10n.register(_l10n.t36);
14
14
  const _sfc_main$2 = {
15
15
  name: "CalendarBlankIcon",
16
16
  emits: ["click"],
@@ -1,13 +1,13 @@
1
- import '../assets/NcDateTimePicker-Cs-VgGon.css';
2
- import { r as register, F as t33, a as t } from "../chunks/_l10n-B6zipH_A.mjs";
1
+ import '../assets/NcDateTimePicker-Aq9TnHYj.css';
2
+ import { r as register, H as t36, a as t } from "../chunks/_l10n-CG5VZvYT.mjs";
3
3
  import { G as GenRandomId } from "../chunks/GenRandomId-CMooMQt0.mjs";
4
- import { N as NcTimezonePicker } from "../chunks/NcTimezonePicker-BlnrXG8A.mjs";
4
+ import { N as NcTimezonePicker } from "../chunks/NcTimezonePicker-CTNhHwMc.mjs";
5
5
  import { N as NcPopover } from "../chunks/NcPopover-VxUr4c6P.mjs";
6
6
  import { n as normalizeComponent } from "../chunks/_plugin-vue2_normalizer-D637Qkok.mjs";
7
7
  import { getMonthNames, getMonthNamesShort, getDayNames, getDayNamesShort, getDayNamesMin, getFirstDay } from "@nextcloud/l10n";
8
8
  import DatePicker from "vue2-datepicker";
9
- import { S as ScopeComponent } from "../chunks/ScopeComponent-BJmRUKzI.mjs";
10
- register(t33);
9
+ import { S as ScopeComponent } from "../chunks/ScopeComponent-C0xOBUg-.mjs";
10
+ register(t36);
11
11
  const _sfc_main$2 = {
12
12
  name: "CalendarBlankIcon",
13
13
  emits: ["click"],
@@ -1,7 +1,7 @@
1
1
  require('../assets/NcDateTimePickerNative-BAcKr0B3.css');
2
2
  "use strict";
3
3
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs");
4
- const ScopeComponent = require("../chunks/ScopeComponent-Dn9AdAJf.cjs");
4
+ const ScopeComponent = require("../chunks/ScopeComponent-p6wwuGWn.cjs");
5
5
  const inputDateTypes = ["date", "datetime-local", "month", "time", "week"];
6
6
  const _sfc_main = {
7
7
  name: "NcDateTimePickerNative",
@@ -1,6 +1,6 @@
1
1
  import '../assets/NcDateTimePickerNative-BAcKr0B3.css';
2
2
  import { n as normalizeComponent } from "../chunks/_plugin-vue2_normalizer-D637Qkok.mjs";
3
- import { S as ScopeComponent } from "../chunks/ScopeComponent-BJmRUKzI.mjs";
3
+ import { S as ScopeComponent } from "../chunks/ScopeComponent-C0xOBUg-.mjs";
4
4
  const inputDateTypes = ["date", "datetime-local", "month", "time", "week"];
5
5
  const _sfc_main = {
6
6
  name: "NcDateTimePickerNative",
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
- const NcDialog = require("../chunks/NcDialog-dCyByQCG.cjs");
2
+ const NcDialog = require("../chunks/NcDialog-DGaf6Udc.cjs");
3
3
  module.exports = NcDialog.NcDialog;
@@ -1,4 +1,4 @@
1
- import { N } from "../chunks/NcDialog-CDQmAtFa.mjs";
1
+ import { N } from "../chunks/NcDialog-VincZ0XS.mjs";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
- const NcEmojiPicker = require("../chunks/NcEmojiPicker-CNiHLIbP.cjs");
2
+ const NcEmojiPicker = require("../chunks/NcEmojiPicker-C6N8_T2s.cjs");
3
3
  module.exports = NcEmojiPicker.NcEmojiPicker;
@@ -1,4 +1,4 @@
1
- import { N } from "../chunks/NcEmojiPicker-CEeN-AZM.mjs";
1
+ import { N } from "../chunks/NcEmojiPicker-C5QwBqju.mjs";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
- const NcHeaderMenu = require("../chunks/NcHeaderMenu-C7peZLEA.cjs");
2
+ const NcHeaderMenu = require("../chunks/NcHeaderMenu-D-Jo3l41.cjs");
3
3
  module.exports = NcHeaderMenu.NcHeaderMenu;
@@ -1,4 +1,4 @@
1
- import { N } from "../chunks/NcHeaderMenu-BEp6lzuy.mjs";
1
+ import { N } from "../chunks/NcHeaderMenu-Da6Ob-6t.mjs";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -1,4 +1,4 @@
1
- require('../assets/NcInputField-CyNcetxP.css');
1
+ require('../assets/NcInputField-B7T0X2lM.css');
2
2
  "use strict";
3
3
  const Components_NcButton = require("./NcButton.cjs");
4
4
  const GenRandomId = require("../chunks/GenRandomId-BQDud3d4.cjs");
@@ -201,22 +201,19 @@ const _sfc_main = {
201
201
  };
202
202
  var _sfc_render = function render() {
203
203
  var _vm = this, _c = _vm._self._c;
204
- return _c("div", { staticClass: "input-field", class: { "input-field--disabled": _vm.disabled } }, [_c("div", { staticClass: "input-field__main-wrapper" }, [_c("input", _vm._g(_vm._b({ ref: "input", staticClass: "input-field__input", class: [
204
+ return _c("div", { staticClass: "input-field", class: {
205
+ "input-field--disabled": _vm.disabled,
206
+ "input-field--label-outside": _vm.labelOutside || !_vm.isValidLabel,
207
+ "input-field--leading-icon": _vm.hasLeadingIcon,
208
+ "input-field--trailing-icon": _vm.showTrailingButton || _vm.hasTrailingIcon,
209
+ "input-field--pill": _vm.pill
210
+ } }, [_c("div", { staticClass: "input-field__main-wrapper" }, [_c("input", _vm._g(_vm._b({ ref: "input", staticClass: "input-field__input", class: [
205
211
  _vm.inputClass,
206
212
  {
207
- "input-field__input--trailing-icon": _vm.showTrailingButton || _vm.hasTrailingIcon,
208
- "input-field__input--leading-icon": _vm.hasLeadingIcon,
209
- "input-field__input--label-outside": _vm.labelOutside,
210
213
  "input-field__input--success": _vm.success,
211
- "input-field__input--error": _vm.error,
212
- "input-field__input--pill": _vm.pill
214
+ "input-field__input--error": _vm.error
213
215
  }
214
- ], attrs: { "id": _vm.computedId, "type": _vm.type, "disabled": _vm.disabled, "placeholder": _vm.computedPlaceholder, "aria-describedby": _vm.ariaDescribedby, "aria-live": "polite" }, domProps: { "value": _vm.value.toString() }, on: { "input": _vm.handleInput } }, "input", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c("label", { staticClass: "input-field__label", class: [{
215
- "input-field__label--trailing-icon": _vm.showTrailingButton || _vm.hasTrailingIcon,
216
- "input-field__label--leading-icon": _vm.hasLeadingIcon
217
- }], attrs: { "for": _vm.computedId } }, [_vm._v(" " + _vm._s(_vm.label) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasLeadingIcon, expression: "hasLeadingIcon" }], staticClass: "input-field__icon input-field__icon--leading" }, [_vm._t("default")], 2), _vm.showTrailingButton ? _c("NcButton", { staticClass: "input-field__trailing-button", class: [{
218
- "input-field__trailing-button--pill": _vm.pill
219
- }], attrs: { "type": "tertiary-no-background", "aria-label": _vm.trailingButtonLabel, "disabled": _vm.disabled }, on: { "click": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
216
+ ], attrs: { "id": _vm.computedId, "type": _vm.type, "disabled": _vm.disabled, "placeholder": _vm.computedPlaceholder, "aria-describedby": _vm.ariaDescribedby, "aria-live": "polite" }, domProps: { "value": _vm.value.toString() }, on: { "input": _vm.handleInput } }, "input", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c("label", { staticClass: "input-field__label", attrs: { "for": _vm.computedId } }, [_vm._v(" " + _vm._s(_vm.label) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasLeadingIcon, expression: "hasLeadingIcon" }], staticClass: "input-field__icon input-field__icon--leading" }, [_vm._t("default")], 2), _vm.showTrailingButton ? _c("NcButton", { staticClass: "input-field__trailing-button", attrs: { "type": "tertiary-no-background", "aria-label": _vm.trailingButtonLabel, "disabled": _vm.disabled }, on: { "click": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
220
217
  return [_vm._t("trailing-button-icon")];
221
218
  }, proxy: true }], null, true) }) : _vm.success || _vm.error ? _c("div", { staticClass: "input-field__icon input-field__icon--trailing" }, [_vm.success ? _c("Check", { staticStyle: { "color": "var(--color-success-text)" }, attrs: { "size": 20 } }) : _vm.error ? _c("AlertCircle", { staticStyle: { "color": "var(--color-error-text)" }, attrs: { "size": 20 } }) : _vm._e()], 1) : _vm._e()], 1), _vm.helperText.length > 0 ? _c("p", { staticClass: "input-field__helper-text-message", class: {
222
219
  "input-field__helper-text-message--error": _vm.error,
@@ -230,7 +227,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
230
227
  _sfc_staticRenderFns,
231
228
  false,
232
229
  null,
233
- "0613af2d",
230
+ "07b05442",
234
231
  null,
235
232
  null
236
233
  );
@@ -1 +1 @@
1
- {"version":3,"file":"NcInputField.cjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component is used by the other Fields components.\nIt extends and styles an HTMLInputElement.\n\nYou cannot use it as is. This is here for documentation purposes.\nSee the other field components.\n\nFor a list of all available props and attributes, please check the [HTMLInputElement documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attributes)\n\n</docs>\n\n<template>\n\t<div class=\"input-field\" :class=\"{ 'input-field--disabled': disabled }\">\n\t\t<div class=\"input-field__main-wrapper\">\n\t\t\t<input v-bind=\"$attrs\"\n\t\t\t\t:id=\"computedId\"\n\t\t\t\tref=\"input\"\n\t\t\t\tclass=\"input-field__input\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:placeholder=\"computedPlaceholder\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\t:class=\"[inputClass,\n\t\t\t\t\t{\n\t\t\t\t\t\t'input-field__input--trailing-icon': showTrailingButton || hasTrailingIcon,\n\t\t\t\t\t\t'input-field__input--leading-icon': hasLeadingIcon,\n\t\t\t\t\t\t'input-field__input--label-outside': labelOutside,\n\t\t\t\t\t\t'input-field__input--success': success,\n\t\t\t\t\t\t'input-field__input--error': error,\n\t\t\t\t\t\t'input-field__input--pill': pill,\n\t\t\t\t\t}]\"\n\t\t\t\t:value=\"value.toString()\"\n\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t@input=\"handleInput\">\n\t\t\t<!-- Label -->\n\t\t\t<label v-if=\"!labelOutside && isValidLabel\"\n\t\t\t\tclass=\"input-field__label\"\n\t\t\t\t:class=\"[{\n\t\t\t\t\t'input-field__label--trailing-icon': showTrailingButton || hasTrailingIcon,\n\t\t\t\t\t'input-field__label--leading-icon': hasLeadingIcon,\n\t\t\t\t}]\"\n\t\t\t\t:for=\"computedId\">\n\t\t\t\t{{ label }}\n\t\t\t</label>\n\n\t\t\t<!-- Leading icon -->\n\t\t\t<div v-show=\"hasLeadingIcon\" class=\"input-field__icon input-field__icon--leading\">\n\t\t\t\t<!-- Leading material design icon in the text field, set the size to 18 -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\n\t\t\t<!-- trailing button -->\n\t\t\t<NcButton v-if=\"showTrailingButton\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\tclass=\"input-field__trailing-button\"\n\t\t\t\t:class=\"[{\n\t\t\t\t\t'input-field__trailing-button--pill': pill,\n\t\t\t\t}]\"\n\t\t\t\t:aria-label=\"trailingButtonLabel\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@click=\"handleTrailingButtonClick\">\n\t\t\t\t<!-- Populating this slot creates a trailing button within the\n\t\t\t\tinput boundaries that emits a `trailing-button-click` event -->\n\t\t\t\t<template #icon>\n\t\t\t\t\t<slot name=\"trailing-button-icon\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<!-- Success and error icons -->\n\t\t\t<div v-else-if=\"success || error\"\n\t\t\t\tclass=\"input-field__icon input-field__icon--trailing\">\n\t\t\t\t<Check v-if=\"success\" :size=\"20\" style=\"color: var(--color-success-text);\" />\n\t\t\t\t<AlertCircle v-else-if=\"error\" :size=\"20\" style=\"color: var(--color-error-text);\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<p v-if=\"helperText.length > 0\"\n\t\t\t:id=\"`${inputName}-helper-text`\"\n\t\t\tclass=\"input-field__helper-text-message\"\n\t\t\t:class=\"{\n\t\t\t\t'input-field__helper-text-message--error': error,\n\t\t\t\t'input-field__helper-text-message--success': success,\n\t\t\t}\">\n\t\t\t<Check v-if=\"success\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t<AlertCircle v-else-if=\"error\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\n\nexport default {\n\tname: 'NcInputField',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tAlertCircle,\n\t\tCheck,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * The value of the input field\n\t\t * If type is 'number' and a number is passed as value than the type of `update:value` will also be 'number'\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * The type of the input element\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator: (value) => [\n\t\t\t\t'text',\n\t\t\t\t'password',\n\t\t\t\t'email',\n\t\t\t\t'tel',\n\t\t\t\t'url',\n\t\t\t\t'search',\n\t\t\t\t'number',\n\t\t\t].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * The input label, always provide one for accessibility purposes.\n\t\t * This will also be used as a placeholder unless the placeholder\n\t\t * prop is populated with a different string.\n\t\t *\n\t\t * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Pass in true if you want to use an external label. This is useful\n\t\t * if you need a label that looks different from the one provided by\n\t\t * this component\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The placeholder of the input. This defaults as the string that's\n\t\t * passed into the label prop. In order to remove the placeholder,\n\t\t * pass in an empty string.\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Controls whether to display the trailing button.\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Label of the trailing button\n\t\t *\n\t\t * Required when showTrailingButton is set\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Toggles the success state of the component. Adds a checkmark icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\tsuccess: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the error state of the component. Adds an error icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional helper text message\n\t\t *\n\t\t * This will be displayed beneath the input field. In case the field is\n\t\t * also marked as having an error, the text will be displayed in red.\n\t\t */\n\t\thelperText: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Disable the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies whether the input should have a pill form.\n\t\t * By default, input has rounded corners.\n\t\t */\n\t\tpill: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcInputField in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:value',\n\t\t'trailing-button-click',\n\t],\n\n\tcomputed: {\n\t\tcomputedId() {\n\t\t\treturn this.$attrs.id && this.$attrs.id !== '' ? this.$attrs.id : this.inputName\n\t\t},\n\n\t\tinputName() {\n\t\t\treturn 'input' + GenRandomId()\n\t\t},\n\n\t\thasLeadingIcon() {\n\t\t\treturn this.$slots.default\n\t\t},\n\n\t\thasTrailingIcon() {\n\t\t\treturn this.success\n\t\t},\n\n\t\thasPlaceholder() {\n\t\t\treturn this.placeholder !== '' && this.placeholder !== undefined\n\t\t},\n\n\t\tcomputedPlaceholder() {\n\t\t\treturn this.hasPlaceholder ? this.placeholder : this.label\n\t\t},\n\n\t\tisValidLabel() {\n\t\t\tconst isValidLabel = this.label || this.labelOutside\n\t\t\tif (!isValidLabel) {\n\t\t\t\tconsole.warn('You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.')\n\t\t\t}\n\t\t\treturn isValidLabel\n\t\t},\n\n\t\tariaDescribedby() {\n\t\t\tconst ariaDescribedby = []\n\t\t\tif (this.helperText.length > 0) {\n\t\t\t\tariaDescribedby.push(`${this.inputName}-helper-text`)\n\t\t\t}\n\t\t\tif (this.$attrs['aria-describedby']) {\n\t\t\t\tariaDescribedby.push(this.$attrs['aria-describedby'])\n\t\t\t}\n\t\t\treturn ariaDescribedby.join(' ') || null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.input.select()\n\t\t},\n\n\t\thandleInput(event) {\n\t\t\tthis.$emit('update:value', this.type === 'number' && typeof this.value === 'number' ? parseFloat(event.target.value, 10) : event.target.value)\n\t\t},\n\n\t\thandleTrailingButtonClick(event) {\n\t\t\tthis.$emit('trailing-button-click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.input-field {\n\tposition: relative;\n\twidth: 100%;\n\tborder-radius: var(--border-radius-large);\n\tmargin-block-start: 6px; // for the label in active state\n\n\t&__main-wrapper {\n\t\theight: var(--default-clickable-area);\n\t\tposition: relative;\n\t}\n\n\t&--disabled {\n\t\topacity: 0.4;\n\t\tfilter: saturate(0.4);\n\t}\n\n\t&__input {\n\t\tmargin: 0;\n\t\tpadding-inline: 12px 6px; // align with label 8px margin label + 6px padding label - 2px border input\n\t\theight: var(--default-clickable-area) !important;\n\t\twidth: 100%;\n\n\t\tfont-size: var(--default-font-size);\n\t\ttext-overflow: ellipsis;\n\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tcursor: pointer;\n\t\t-webkit-appearance: textfield !important;\n\t\t-moz-appearance: textfield !important;\n\n\t\t// Center text if external label is used\n\t\t&--label-outside {\n\t\t\tpadding-block: 0;\n\t\t}\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tborder-color: var(--color-main-text) !important;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t}\n\n\t\t&:focus + .input-field__label,\n\t\t&:hover:not(:placeholder-shown) + .input-field__label {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\n\t\t// Hide placeholder while not focussed -> show label instead (only if internal label is used)\n\t\t&:not(:focus,&--label-outside)::placeholder {\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--leading-icon {\n\t\t\tpadding-inline-start: var(--default-clickable-area);\n\t\t}\n\n\t\t&--trailing-icon {\n\t\t\tpadding-inline-end: var(--default-clickable-area);\n\t\t}\n\n\t\t&--success {\n\t\t\tborder-color: var(--color-success) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\tborder-color: var(--color-error) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--pill {\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t}\n\t}\n\n\t&__label {\n\t\tposition: absolute;\n\t\tmargin-inline: 14px 0;\n\t\tmax-width: fit-content;\n\t\tinset-block-start: 11px;\n\t\tinset-inline: 0;\n\t\t// Fix color so that users do not think the input already has content\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t// only one line labels are allowed\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\t// forward events to input\n\t\tpointer-events: none;\n\t\t// Position transition\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick), background-color var(--animation-quick) var(--animation-slow);\n\n\t\t&--leading-icon {\n\t\t\tmargin-inline-start: var(--default-clickable-area);\n\t\t}\n\n\t\t&--trailing-icon {\n\t\t\tmargin-inline-end: var(--default-clickable-area);\n\t\t}\n\t}\n\n\t&__input:focus + &__label,\n\t&__input:not(:placeholder-shown) + &__label {\n\t\tinset-block-start: -10px;\n\t\tline-height: 1.5; // minimum allowed line height for accessibility\n\t\tfont-size: 13px; // minimum allowed font size for accessibility\n\t\tfont-weight: 500;\n\t\tborder-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding-inline: 5px;\n\t\tmargin-inline-start: 9px;\n\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick);\n\t\t&--leading-icon {\n\t\t\tmargin-inline-start: 41px;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tposition: absolute;\n\t\theight: var(--default-clickable-area);\n\t\twidth: var(--default-clickable-area);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: 0.7;\n\n\t\t&--leading {\n\t\t\tinset-block-end: 0;\n\t\t\tinset-inline-start: 2px;\n\t\t}\n\n\t\t&--trailing {\n\t\t\tinset-block-end: 0;\n\t\t\tinset-inline-end: 2px;\n\t\t}\n\t}\n\n\t&__trailing-button {\n\t\t&.button-vue {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t}\n\n\t\t&--pill.button-vue {\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding-block: 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error-text);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success-text);\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcButton","AlertCircle","Check","GenRandomId"],"mappings":"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"}
1
+ {"version":3,"file":"NcInputField.cjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component is used by the other Fields components.\nIt extends and styles an HTMLInputElement.\n\nYou cannot use it as is. This is here for documentation purposes.\nSee the other field components.\n\nFor a list of all available props and attributes, please check the [HTMLInputElement documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attributes)\n\n</docs>\n\n<template>\n\t<div class=\"input-field\"\n\t\t:class=\"{\n\t\t\t'input-field--disabled': disabled,\n\t\t\t'input-field--label-outside': labelOutside || !isValidLabel,\n\t\t\t'input-field--leading-icon': hasLeadingIcon,\n\t\t\t'input-field--trailing-icon': showTrailingButton || hasTrailingIcon,\n\t\t\t'input-field--pill': pill,\n\t\t}\">\n\t\t<div class=\"input-field__main-wrapper\">\n\t\t\t<input v-bind=\"$attrs\"\n\t\t\t\t:id=\"computedId\"\n\t\t\t\tref=\"input\"\n\t\t\t\tclass=\"input-field__input\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:placeholder=\"computedPlaceholder\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\t:class=\"[inputClass,\n\t\t\t\t\t{\n\t\t\t\t\t\t'input-field__input--success': success,\n\t\t\t\t\t\t'input-field__input--error': error,\n\t\t\t\t\t}]\"\n\t\t\t\t:value=\"value.toString()\"\n\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t@input=\"handleInput\">\n\t\t\t<!-- Label -->\n\t\t\t<label v-if=\"!labelOutside && isValidLabel\"\n\t\t\t\tclass=\"input-field__label\"\n\t\t\t\t:for=\"computedId\">\n\t\t\t\t{{ label }}\n\t\t\t</label>\n\n\t\t\t<!-- Leading icon -->\n\t\t\t<div v-show=\"hasLeadingIcon\" class=\"input-field__icon input-field__icon--leading\">\n\t\t\t\t<!-- Leading material design icon in the text field, set the size to 18 -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\n\t\t\t<!-- trailing button -->\n\t\t\t<NcButton v-if=\"showTrailingButton\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\tclass=\"input-field__trailing-button\"\n\t\t\t\t:aria-label=\"trailingButtonLabel\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@click=\"handleTrailingButtonClick\">\n\t\t\t\t<!-- Populating this slot creates a trailing button within the\n\t\t\t\tinput boundaries that emits a `trailing-button-click` event -->\n\t\t\t\t<template #icon>\n\t\t\t\t\t<slot name=\"trailing-button-icon\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<!-- Success and error icons -->\n\t\t\t<div v-else-if=\"success || error\"\n\t\t\t\tclass=\"input-field__icon input-field__icon--trailing\">\n\t\t\t\t<Check v-if=\"success\" :size=\"20\" style=\"color: var(--color-success-text);\" />\n\t\t\t\t<AlertCircle v-else-if=\"error\" :size=\"20\" style=\"color: var(--color-error-text);\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<p v-if=\"helperText.length > 0\"\n\t\t\t:id=\"`${inputName}-helper-text`\"\n\t\t\tclass=\"input-field__helper-text-message\"\n\t\t\t:class=\"{\n\t\t\t\t'input-field__helper-text-message--error': error,\n\t\t\t\t'input-field__helper-text-message--success': success,\n\t\t\t}\">\n\t\t\t<Check v-if=\"success\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t<AlertCircle v-else-if=\"error\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\n\nexport default {\n\tname: 'NcInputField',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tAlertCircle,\n\t\tCheck,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * The value of the input field\n\t\t * If type is 'number' and a number is passed as value than the type of `update:value` will also be 'number'\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * The type of the input element\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator: (value) => [\n\t\t\t\t'text',\n\t\t\t\t'password',\n\t\t\t\t'email',\n\t\t\t\t'tel',\n\t\t\t\t'url',\n\t\t\t\t'search',\n\t\t\t\t'number',\n\t\t\t].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * The input label, always provide one for accessibility purposes.\n\t\t * This will also be used as a placeholder unless the placeholder\n\t\t * prop is populated with a different string.\n\t\t *\n\t\t * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Pass in true if you want to use an external label. This is useful\n\t\t * if you need a label that looks different from the one provided by\n\t\t * this component\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The placeholder of the input. This defaults as the string that's\n\t\t * passed into the label prop. In order to remove the placeholder,\n\t\t * pass in an empty string.\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Controls whether to display the trailing button.\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Label of the trailing button\n\t\t *\n\t\t * Required when showTrailingButton is set\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Toggles the success state of the component. Adds a checkmark icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\tsuccess: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the error state of the component. Adds an error icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional helper text message\n\t\t *\n\t\t * This will be displayed beneath the input field. In case the field is\n\t\t * also marked as having an error, the text will be displayed in red.\n\t\t */\n\t\thelperText: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Disable the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies whether the input should have a pill form.\n\t\t * By default, input has rounded corners.\n\t\t */\n\t\tpill: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcInputField in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:value',\n\t\t'trailing-button-click',\n\t],\n\n\tcomputed: {\n\t\tcomputedId() {\n\t\t\treturn this.$attrs.id && this.$attrs.id !== '' ? this.$attrs.id : this.inputName\n\t\t},\n\n\t\tinputName() {\n\t\t\treturn 'input' + GenRandomId()\n\t\t},\n\n\t\thasLeadingIcon() {\n\t\t\treturn this.$slots.default\n\t\t},\n\n\t\thasTrailingIcon() {\n\t\t\treturn this.success\n\t\t},\n\n\t\thasPlaceholder() {\n\t\t\treturn this.placeholder !== '' && this.placeholder !== undefined\n\t\t},\n\n\t\tcomputedPlaceholder() {\n\t\t\treturn this.hasPlaceholder ? this.placeholder : this.label\n\t\t},\n\n\t\tisValidLabel() {\n\t\t\tconst isValidLabel = this.label || this.labelOutside\n\t\t\tif (!isValidLabel) {\n\t\t\t\tconsole.warn('You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.')\n\t\t\t}\n\t\t\treturn isValidLabel\n\t\t},\n\n\t\tariaDescribedby() {\n\t\t\tconst ariaDescribedby = []\n\t\t\tif (this.helperText.length > 0) {\n\t\t\t\tariaDescribedby.push(`${this.inputName}-helper-text`)\n\t\t\t}\n\t\t\tif (this.$attrs['aria-describedby']) {\n\t\t\t\tariaDescribedby.push(this.$attrs['aria-describedby'])\n\t\t\t}\n\t\t\treturn ariaDescribedby.join(' ') || null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.input.select()\n\t\t},\n\n\t\thandleInput(event) {\n\t\t\tthis.$emit('update:value', this.type === 'number' && typeof this.value === 'number' ? parseFloat(event.target.value, 10) : event.target.value)\n\t\t},\n\n\t\thandleTrailingButtonClick(event) {\n\t\t\tthis.$emit('trailing-button-click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.input-field {\n\t--input-border-radius: var(--border-radius-element, var(--border-radius-large));\n\t// The padding before the input can start (leading button or border)\n\t--input-padding-start: var(--border-radius-large);\n\t// The padding where the input has to end (trailing button or border)\n\t--input-padding-end: var(--border-radius-large);\n\t// positional styles\n\tposition: relative;\n\twidth: 100%;\n\tmargin-block-start: 6px; // for the label in active state\n\n\t&--disabled {\n\t\topacity: 0.4;\n\t\tfilter: saturate(0.4);\n\t}\n\n\t// If there is no internal label we reset the margin reserved for it\n\t&--label-outside {\n\t\tmargin-block-start: 0;\n\t}\n\n\t&--leading-icon {\n\t\t--input-padding-start: calc(var(--default-clickable-area) - var(--default-grid-baseline));\n\t}\n\n\t&--trailing-icon {\n\t\t--input-padding-end: calc(var(--default-clickable-area) - var(--default-grid-baseline));\n\t}\n\n\t&--pill {\n\t\t--input-border-radius: var(--border-radius-pill);\n\t}\n\n\t&__main-wrapper {\n\t\theight: var(--default-clickable-area);\n\t\tposition: relative;\n\t}\n\n\t&__input {\n\t\t// If border width differes between focused and unfocused we need to compensate to prevent jumping\n\t\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\t\tborder-radius: var(--input-border-radius);\n\n\t\tcursor: pointer;\n\t\t-webkit-appearance: textfield !important;\n\t\t-moz-appearance: textfield !important;\n\t\tappearance: textfield !important;\n\n\t\tfont-size: var(--default-font-size);\n\t\ttext-overflow: ellipsis;\n\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--input-border-width-offset)) !important;\n\t\twidth: 100%;\n\n\t\tpadding-inline: calc(var(--input-padding-start) + var(--input-border-width-offset)) calc(var(--input-padding-end) + var(--input-border-width-offset));\n\t\tpadding-block: var(--input-border-width-offset);\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tborder-color: var(--color-main-text) !important;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t// Reset padding offset when focused\n\t\t\t--input-border-width-offset: 0px;\n\t\t}\n\n\t\t&:focus + .input-field__label,\n\t\t&:hover:not(:placeholder-shown) + .input-field__label {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--success {\n\t\t\tborder-color: var(--color-success) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\tborder-color: var(--color-error) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\t}\n\n\t// Hide placeholder while not focussed -> show label instead (only if internal label is used)\n\t&:not(&--label-outside) &__input:not(:focus)::placeholder {\n\t\topacity: 0;\n\t}\n\n\t&__label {\n\t\t--input-label-font-size: var(--default-font-size);\n\t\tposition: absolute;\n\t\tmargin-inline: var(--input-padding-start) var(--input-padding-end);\n\t\tmax-width: fit-content;\n\t\tfont-size: var(--input-label-font-size);\n\t\tinset-block-start: calc((var(--default-clickable-area) - var(--default-line-height)) / 2); // center the label vertically\n\t\tinset-inline: var(--border-width-input-focused, 2px);\n\t\t// Fix color so that users do not think the input already has content\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t// only one line labels are allowed\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\t// forward events to input\n\t\tpointer-events: none;\n\t\t// Position transition\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick), background-color var(--animation-quick) var(--animation-slow);\n\t}\n\n\t&__input:focus + &__label,\n\t&__input:not(:placeholder-shown) + &__label {\n\t\t--input-label-font-size: 13px; // minimum allowed font size for accessibility\n\t\tline-height: 1.5; // minimum allowed line height for accessibility\n\t\t// 1.5 * font-size = line-height; line-height / 2 for centering and make it negative as we need to move outside the element\n\t\tinset-block-start: calc(-1.5 * var(--input-label-font-size) / 2);\n\t\tfont-weight: 500;\n\t\tborder-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding-inline: var(--default-grid-baseline);\n\t\tmargin-inline: calc(var(--input-padding-start) - var(--default-grid-baseline)) calc(var(--input-padding-end) - var(--default-grid-baseline));\n\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick);\n\t}\n\n\t&__icon {\n\t\tposition: absolute;\n\t\theight: var(--default-clickable-area);\n\t\twidth: var(--default-clickable-area);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: 0.7;\n\n\t\tinset-block-end: 0;\n\n\t\t&--leading {\n\t\t\tinset-inline-start: 0px;\n\t\t}\n\n\t\t&--trailing {\n\t\t\tinset-inline-end: 0px;\n\t\t}\n\t}\n\n\t&__trailing-button {\n\t\t--button-size: calc(var(--default-clickable-area) - 2 * var(--border-width-input-focused, 2px)) !important;\n\t\t--button-radius: calc(var(--input-border-radius) - var(--border-width-input-focused, 2px)); // lower radius as size is smaller\n\n\t\t&.button-vue {\n\t\t\tposition: absolute;\n\t\t\ttop: var(--border-width-input-focused, 2px);\n\t\t\tright: var(--border-width-input-focused, 2px);\n\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding-block: 4px;\n\t\tpadding-inline: var(--border-radius-large);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&__icon {\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error-text);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success-text);\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcButton","AlertCircle","Check","GenRandomId"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import '../assets/NcInputField-CyNcetxP.css';
1
+ import '../assets/NcInputField-B7T0X2lM.css';
2
2
  import NcButton from "./NcButton.mjs";
3
3
  import { G as GenRandomId } from "../chunks/GenRandomId-CMooMQt0.mjs";
4
4
  import { A as AlertCircle } from "../chunks/AlertCircleOutline-BzttElgq.mjs";
@@ -200,22 +200,19 @@ const _sfc_main = {
200
200
  };
201
201
  var _sfc_render = function render() {
202
202
  var _vm = this, _c = _vm._self._c;
203
- return _c("div", { staticClass: "input-field", class: { "input-field--disabled": _vm.disabled } }, [_c("div", { staticClass: "input-field__main-wrapper" }, [_c("input", _vm._g(_vm._b({ ref: "input", staticClass: "input-field__input", class: [
203
+ return _c("div", { staticClass: "input-field", class: {
204
+ "input-field--disabled": _vm.disabled,
205
+ "input-field--label-outside": _vm.labelOutside || !_vm.isValidLabel,
206
+ "input-field--leading-icon": _vm.hasLeadingIcon,
207
+ "input-field--trailing-icon": _vm.showTrailingButton || _vm.hasTrailingIcon,
208
+ "input-field--pill": _vm.pill
209
+ } }, [_c("div", { staticClass: "input-field__main-wrapper" }, [_c("input", _vm._g(_vm._b({ ref: "input", staticClass: "input-field__input", class: [
204
210
  _vm.inputClass,
205
211
  {
206
- "input-field__input--trailing-icon": _vm.showTrailingButton || _vm.hasTrailingIcon,
207
- "input-field__input--leading-icon": _vm.hasLeadingIcon,
208
- "input-field__input--label-outside": _vm.labelOutside,
209
212
  "input-field__input--success": _vm.success,
210
- "input-field__input--error": _vm.error,
211
- "input-field__input--pill": _vm.pill
213
+ "input-field__input--error": _vm.error
212
214
  }
213
- ], attrs: { "id": _vm.computedId, "type": _vm.type, "disabled": _vm.disabled, "placeholder": _vm.computedPlaceholder, "aria-describedby": _vm.ariaDescribedby, "aria-live": "polite" }, domProps: { "value": _vm.value.toString() }, on: { "input": _vm.handleInput } }, "input", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c("label", { staticClass: "input-field__label", class: [{
214
- "input-field__label--trailing-icon": _vm.showTrailingButton || _vm.hasTrailingIcon,
215
- "input-field__label--leading-icon": _vm.hasLeadingIcon
216
- }], attrs: { "for": _vm.computedId } }, [_vm._v(" " + _vm._s(_vm.label) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasLeadingIcon, expression: "hasLeadingIcon" }], staticClass: "input-field__icon input-field__icon--leading" }, [_vm._t("default")], 2), _vm.showTrailingButton ? _c("NcButton", { staticClass: "input-field__trailing-button", class: [{
217
- "input-field__trailing-button--pill": _vm.pill
218
- }], attrs: { "type": "tertiary-no-background", "aria-label": _vm.trailingButtonLabel, "disabled": _vm.disabled }, on: { "click": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
215
+ ], attrs: { "id": _vm.computedId, "type": _vm.type, "disabled": _vm.disabled, "placeholder": _vm.computedPlaceholder, "aria-describedby": _vm.ariaDescribedby, "aria-live": "polite" }, domProps: { "value": _vm.value.toString() }, on: { "input": _vm.handleInput } }, "input", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c("label", { staticClass: "input-field__label", attrs: { "for": _vm.computedId } }, [_vm._v(" " + _vm._s(_vm.label) + " ")]) : _vm._e(), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasLeadingIcon, expression: "hasLeadingIcon" }], staticClass: "input-field__icon input-field__icon--leading" }, [_vm._t("default")], 2), _vm.showTrailingButton ? _c("NcButton", { staticClass: "input-field__trailing-button", attrs: { "type": "tertiary-no-background", "aria-label": _vm.trailingButtonLabel, "disabled": _vm.disabled }, on: { "click": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
219
216
  return [_vm._t("trailing-button-icon")];
220
217
  }, proxy: true }], null, true) }) : _vm.success || _vm.error ? _c("div", { staticClass: "input-field__icon input-field__icon--trailing" }, [_vm.success ? _c("Check", { staticStyle: { "color": "var(--color-success-text)" }, attrs: { "size": 20 } }) : _vm.error ? _c("AlertCircle", { staticStyle: { "color": "var(--color-error-text)" }, attrs: { "size": 20 } }) : _vm._e()], 1) : _vm._e()], 1), _vm.helperText.length > 0 ? _c("p", { staticClass: "input-field__helper-text-message", class: {
221
218
  "input-field__helper-text-message--error": _vm.error,
@@ -229,7 +226,7 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
229
226
  _sfc_staticRenderFns,
230
227
  false,
231
228
  null,
232
- "0613af2d",
229
+ "07b05442",
233
230
  null,
234
231
  null
235
232
  );
@@ -1 +1 @@
1
- {"version":3,"file":"NcInputField.mjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component is used by the other Fields components.\nIt extends and styles an HTMLInputElement.\n\nYou cannot use it as is. This is here for documentation purposes.\nSee the other field components.\n\nFor a list of all available props and attributes, please check the [HTMLInputElement documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attributes)\n\n</docs>\n\n<template>\n\t<div class=\"input-field\" :class=\"{ 'input-field--disabled': disabled }\">\n\t\t<div class=\"input-field__main-wrapper\">\n\t\t\t<input v-bind=\"$attrs\"\n\t\t\t\t:id=\"computedId\"\n\t\t\t\tref=\"input\"\n\t\t\t\tclass=\"input-field__input\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:placeholder=\"computedPlaceholder\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\t:class=\"[inputClass,\n\t\t\t\t\t{\n\t\t\t\t\t\t'input-field__input--trailing-icon': showTrailingButton || hasTrailingIcon,\n\t\t\t\t\t\t'input-field__input--leading-icon': hasLeadingIcon,\n\t\t\t\t\t\t'input-field__input--label-outside': labelOutside,\n\t\t\t\t\t\t'input-field__input--success': success,\n\t\t\t\t\t\t'input-field__input--error': error,\n\t\t\t\t\t\t'input-field__input--pill': pill,\n\t\t\t\t\t}]\"\n\t\t\t\t:value=\"value.toString()\"\n\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t@input=\"handleInput\">\n\t\t\t<!-- Label -->\n\t\t\t<label v-if=\"!labelOutside && isValidLabel\"\n\t\t\t\tclass=\"input-field__label\"\n\t\t\t\t:class=\"[{\n\t\t\t\t\t'input-field__label--trailing-icon': showTrailingButton || hasTrailingIcon,\n\t\t\t\t\t'input-field__label--leading-icon': hasLeadingIcon,\n\t\t\t\t}]\"\n\t\t\t\t:for=\"computedId\">\n\t\t\t\t{{ label }}\n\t\t\t</label>\n\n\t\t\t<!-- Leading icon -->\n\t\t\t<div v-show=\"hasLeadingIcon\" class=\"input-field__icon input-field__icon--leading\">\n\t\t\t\t<!-- Leading material design icon in the text field, set the size to 18 -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\n\t\t\t<!-- trailing button -->\n\t\t\t<NcButton v-if=\"showTrailingButton\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\tclass=\"input-field__trailing-button\"\n\t\t\t\t:class=\"[{\n\t\t\t\t\t'input-field__trailing-button--pill': pill,\n\t\t\t\t}]\"\n\t\t\t\t:aria-label=\"trailingButtonLabel\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@click=\"handleTrailingButtonClick\">\n\t\t\t\t<!-- Populating this slot creates a trailing button within the\n\t\t\t\tinput boundaries that emits a `trailing-button-click` event -->\n\t\t\t\t<template #icon>\n\t\t\t\t\t<slot name=\"trailing-button-icon\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<!-- Success and error icons -->\n\t\t\t<div v-else-if=\"success || error\"\n\t\t\t\tclass=\"input-field__icon input-field__icon--trailing\">\n\t\t\t\t<Check v-if=\"success\" :size=\"20\" style=\"color: var(--color-success-text);\" />\n\t\t\t\t<AlertCircle v-else-if=\"error\" :size=\"20\" style=\"color: var(--color-error-text);\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<p v-if=\"helperText.length > 0\"\n\t\t\t:id=\"`${inputName}-helper-text`\"\n\t\t\tclass=\"input-field__helper-text-message\"\n\t\t\t:class=\"{\n\t\t\t\t'input-field__helper-text-message--error': error,\n\t\t\t\t'input-field__helper-text-message--success': success,\n\t\t\t}\">\n\t\t\t<Check v-if=\"success\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t<AlertCircle v-else-if=\"error\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\n\nexport default {\n\tname: 'NcInputField',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tAlertCircle,\n\t\tCheck,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * The value of the input field\n\t\t * If type is 'number' and a number is passed as value than the type of `update:value` will also be 'number'\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * The type of the input element\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator: (value) => [\n\t\t\t\t'text',\n\t\t\t\t'password',\n\t\t\t\t'email',\n\t\t\t\t'tel',\n\t\t\t\t'url',\n\t\t\t\t'search',\n\t\t\t\t'number',\n\t\t\t].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * The input label, always provide one for accessibility purposes.\n\t\t * This will also be used as a placeholder unless the placeholder\n\t\t * prop is populated with a different string.\n\t\t *\n\t\t * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Pass in true if you want to use an external label. This is useful\n\t\t * if you need a label that looks different from the one provided by\n\t\t * this component\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The placeholder of the input. This defaults as the string that's\n\t\t * passed into the label prop. In order to remove the placeholder,\n\t\t * pass in an empty string.\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Controls whether to display the trailing button.\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Label of the trailing button\n\t\t *\n\t\t * Required when showTrailingButton is set\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Toggles the success state of the component. Adds a checkmark icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\tsuccess: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the error state of the component. Adds an error icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional helper text message\n\t\t *\n\t\t * This will be displayed beneath the input field. In case the field is\n\t\t * also marked as having an error, the text will be displayed in red.\n\t\t */\n\t\thelperText: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Disable the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies whether the input should have a pill form.\n\t\t * By default, input has rounded corners.\n\t\t */\n\t\tpill: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcInputField in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:value',\n\t\t'trailing-button-click',\n\t],\n\n\tcomputed: {\n\t\tcomputedId() {\n\t\t\treturn this.$attrs.id && this.$attrs.id !== '' ? this.$attrs.id : this.inputName\n\t\t},\n\n\t\tinputName() {\n\t\t\treturn 'input' + GenRandomId()\n\t\t},\n\n\t\thasLeadingIcon() {\n\t\t\treturn this.$slots.default\n\t\t},\n\n\t\thasTrailingIcon() {\n\t\t\treturn this.success\n\t\t},\n\n\t\thasPlaceholder() {\n\t\t\treturn this.placeholder !== '' && this.placeholder !== undefined\n\t\t},\n\n\t\tcomputedPlaceholder() {\n\t\t\treturn this.hasPlaceholder ? this.placeholder : this.label\n\t\t},\n\n\t\tisValidLabel() {\n\t\t\tconst isValidLabel = this.label || this.labelOutside\n\t\t\tif (!isValidLabel) {\n\t\t\t\tconsole.warn('You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.')\n\t\t\t}\n\t\t\treturn isValidLabel\n\t\t},\n\n\t\tariaDescribedby() {\n\t\t\tconst ariaDescribedby = []\n\t\t\tif (this.helperText.length > 0) {\n\t\t\t\tariaDescribedby.push(`${this.inputName}-helper-text`)\n\t\t\t}\n\t\t\tif (this.$attrs['aria-describedby']) {\n\t\t\t\tariaDescribedby.push(this.$attrs['aria-describedby'])\n\t\t\t}\n\t\t\treturn ariaDescribedby.join(' ') || null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.input.select()\n\t\t},\n\n\t\thandleInput(event) {\n\t\t\tthis.$emit('update:value', this.type === 'number' && typeof this.value === 'number' ? parseFloat(event.target.value, 10) : event.target.value)\n\t\t},\n\n\t\thandleTrailingButtonClick(event) {\n\t\t\tthis.$emit('trailing-button-click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.input-field {\n\tposition: relative;\n\twidth: 100%;\n\tborder-radius: var(--border-radius-large);\n\tmargin-block-start: 6px; // for the label in active state\n\n\t&__main-wrapper {\n\t\theight: var(--default-clickable-area);\n\t\tposition: relative;\n\t}\n\n\t&--disabled {\n\t\topacity: 0.4;\n\t\tfilter: saturate(0.4);\n\t}\n\n\t&__input {\n\t\tmargin: 0;\n\t\tpadding-inline: 12px 6px; // align with label 8px margin label + 6px padding label - 2px border input\n\t\theight: var(--default-clickable-area) !important;\n\t\twidth: 100%;\n\n\t\tfont-size: var(--default-font-size);\n\t\ttext-overflow: ellipsis;\n\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tcursor: pointer;\n\t\t-webkit-appearance: textfield !important;\n\t\t-moz-appearance: textfield !important;\n\n\t\t// Center text if external label is used\n\t\t&--label-outside {\n\t\t\tpadding-block: 0;\n\t\t}\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tborder-color: var(--color-main-text) !important;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t}\n\n\t\t&:focus + .input-field__label,\n\t\t&:hover:not(:placeholder-shown) + .input-field__label {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\n\t\t// Hide placeholder while not focussed -> show label instead (only if internal label is used)\n\t\t&:not(:focus,&--label-outside)::placeholder {\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--leading-icon {\n\t\t\tpadding-inline-start: var(--default-clickable-area);\n\t\t}\n\n\t\t&--trailing-icon {\n\t\t\tpadding-inline-end: var(--default-clickable-area);\n\t\t}\n\n\t\t&--success {\n\t\t\tborder-color: var(--color-success) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\tborder-color: var(--color-error) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--pill {\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t}\n\t}\n\n\t&__label {\n\t\tposition: absolute;\n\t\tmargin-inline: 14px 0;\n\t\tmax-width: fit-content;\n\t\tinset-block-start: 11px;\n\t\tinset-inline: 0;\n\t\t// Fix color so that users do not think the input already has content\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t// only one line labels are allowed\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\t// forward events to input\n\t\tpointer-events: none;\n\t\t// Position transition\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick), background-color var(--animation-quick) var(--animation-slow);\n\n\t\t&--leading-icon {\n\t\t\tmargin-inline-start: var(--default-clickable-area);\n\t\t}\n\n\t\t&--trailing-icon {\n\t\t\tmargin-inline-end: var(--default-clickable-area);\n\t\t}\n\t}\n\n\t&__input:focus + &__label,\n\t&__input:not(:placeholder-shown) + &__label {\n\t\tinset-block-start: -10px;\n\t\tline-height: 1.5; // minimum allowed line height for accessibility\n\t\tfont-size: 13px; // minimum allowed font size for accessibility\n\t\tfont-weight: 500;\n\t\tborder-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding-inline: 5px;\n\t\tmargin-inline-start: 9px;\n\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick);\n\t\t&--leading-icon {\n\t\t\tmargin-inline-start: 41px;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tposition: absolute;\n\t\theight: var(--default-clickable-area);\n\t\twidth: var(--default-clickable-area);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: 0.7;\n\n\t\t&--leading {\n\t\t\tinset-block-end: 0;\n\t\t\tinset-inline-start: 2px;\n\t\t}\n\n\t\t&--trailing {\n\t\t\tinset-block-end: 0;\n\t\t\tinset-inline-end: 2px;\n\t\t}\n\t}\n\n\t&__trailing-button {\n\t\t&.button-vue {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t}\n\n\t\t&--pill.button-vue {\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding-block: 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error-text);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success-text);\n\t\t}\n\t}\n}\n</style>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NcInputField.mjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component is used by the other Fields components.\nIt extends and styles an HTMLInputElement.\n\nYou cannot use it as is. This is here for documentation purposes.\nSee the other field components.\n\nFor a list of all available props and attributes, please check the [HTMLInputElement documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attributes)\n\n</docs>\n\n<template>\n\t<div class=\"input-field\"\n\t\t:class=\"{\n\t\t\t'input-field--disabled': disabled,\n\t\t\t'input-field--label-outside': labelOutside || !isValidLabel,\n\t\t\t'input-field--leading-icon': hasLeadingIcon,\n\t\t\t'input-field--trailing-icon': showTrailingButton || hasTrailingIcon,\n\t\t\t'input-field--pill': pill,\n\t\t}\">\n\t\t<div class=\"input-field__main-wrapper\">\n\t\t\t<input v-bind=\"$attrs\"\n\t\t\t\t:id=\"computedId\"\n\t\t\t\tref=\"input\"\n\t\t\t\tclass=\"input-field__input\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:placeholder=\"computedPlaceholder\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\t:class=\"[inputClass,\n\t\t\t\t\t{\n\t\t\t\t\t\t'input-field__input--success': success,\n\t\t\t\t\t\t'input-field__input--error': error,\n\t\t\t\t\t}]\"\n\t\t\t\t:value=\"value.toString()\"\n\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t@input=\"handleInput\">\n\t\t\t<!-- Label -->\n\t\t\t<label v-if=\"!labelOutside && isValidLabel\"\n\t\t\t\tclass=\"input-field__label\"\n\t\t\t\t:for=\"computedId\">\n\t\t\t\t{{ label }}\n\t\t\t</label>\n\n\t\t\t<!-- Leading icon -->\n\t\t\t<div v-show=\"hasLeadingIcon\" class=\"input-field__icon input-field__icon--leading\">\n\t\t\t\t<!-- Leading material design icon in the text field, set the size to 18 -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\n\t\t\t<!-- trailing button -->\n\t\t\t<NcButton v-if=\"showTrailingButton\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\tclass=\"input-field__trailing-button\"\n\t\t\t\t:aria-label=\"trailingButtonLabel\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@click=\"handleTrailingButtonClick\">\n\t\t\t\t<!-- Populating this slot creates a trailing button within the\n\t\t\t\tinput boundaries that emits a `trailing-button-click` event -->\n\t\t\t\t<template #icon>\n\t\t\t\t\t<slot name=\"trailing-button-icon\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<!-- Success and error icons -->\n\t\t\t<div v-else-if=\"success || error\"\n\t\t\t\tclass=\"input-field__icon input-field__icon--trailing\">\n\t\t\t\t<Check v-if=\"success\" :size=\"20\" style=\"color: var(--color-success-text);\" />\n\t\t\t\t<AlertCircle v-else-if=\"error\" :size=\"20\" style=\"color: var(--color-error-text);\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<p v-if=\"helperText.length > 0\"\n\t\t\t:id=\"`${inputName}-helper-text`\"\n\t\t\tclass=\"input-field__helper-text-message\"\n\t\t\t:class=\"{\n\t\t\t\t'input-field__helper-text-message--error': error,\n\t\t\t\t'input-field__helper-text-message--success': success,\n\t\t\t}\">\n\t\t\t<Check v-if=\"success\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t<AlertCircle v-else-if=\"error\" class=\"input-field__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\n\nexport default {\n\tname: 'NcInputField',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tAlertCircle,\n\t\tCheck,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * The value of the input field\n\t\t * If type is 'number' and a number is passed as value than the type of `update:value` will also be 'number'\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * The type of the input element\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator: (value) => [\n\t\t\t\t'text',\n\t\t\t\t'password',\n\t\t\t\t'email',\n\t\t\t\t'tel',\n\t\t\t\t'url',\n\t\t\t\t'search',\n\t\t\t\t'number',\n\t\t\t].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * The input label, always provide one for accessibility purposes.\n\t\t * This will also be used as a placeholder unless the placeholder\n\t\t * prop is populated with a different string.\n\t\t *\n\t\t * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Pass in true if you want to use an external label. This is useful\n\t\t * if you need a label that looks different from the one provided by\n\t\t * this component\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The placeholder of the input. This defaults as the string that's\n\t\t * passed into the label prop. In order to remove the placeholder,\n\t\t * pass in an empty string.\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Controls whether to display the trailing button.\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Label of the trailing button\n\t\t *\n\t\t * Required when showTrailingButton is set\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Toggles the success state of the component. Adds a checkmark icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\tsuccess: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the error state of the component. Adds an error icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional helper text message\n\t\t *\n\t\t * This will be displayed beneath the input field. In case the field is\n\t\t * also marked as having an error, the text will be displayed in red.\n\t\t */\n\t\thelperText: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Disable the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies whether the input should have a pill form.\n\t\t * By default, input has rounded corners.\n\t\t */\n\t\tpill: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcInputField in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:value',\n\t\t'trailing-button-click',\n\t],\n\n\tcomputed: {\n\t\tcomputedId() {\n\t\t\treturn this.$attrs.id && this.$attrs.id !== '' ? this.$attrs.id : this.inputName\n\t\t},\n\n\t\tinputName() {\n\t\t\treturn 'input' + GenRandomId()\n\t\t},\n\n\t\thasLeadingIcon() {\n\t\t\treturn this.$slots.default\n\t\t},\n\n\t\thasTrailingIcon() {\n\t\t\treturn this.success\n\t\t},\n\n\t\thasPlaceholder() {\n\t\t\treturn this.placeholder !== '' && this.placeholder !== undefined\n\t\t},\n\n\t\tcomputedPlaceholder() {\n\t\t\treturn this.hasPlaceholder ? this.placeholder : this.label\n\t\t},\n\n\t\tisValidLabel() {\n\t\t\tconst isValidLabel = this.label || this.labelOutside\n\t\t\tif (!isValidLabel) {\n\t\t\t\tconsole.warn('You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.')\n\t\t\t}\n\t\t\treturn isValidLabel\n\t\t},\n\n\t\tariaDescribedby() {\n\t\t\tconst ariaDescribedby = []\n\t\t\tif (this.helperText.length > 0) {\n\t\t\t\tariaDescribedby.push(`${this.inputName}-helper-text`)\n\t\t\t}\n\t\t\tif (this.$attrs['aria-describedby']) {\n\t\t\t\tariaDescribedby.push(this.$attrs['aria-describedby'])\n\t\t\t}\n\t\t\treturn ariaDescribedby.join(' ') || null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.input.select()\n\t\t},\n\n\t\thandleInput(event) {\n\t\t\tthis.$emit('update:value', this.type === 'number' && typeof this.value === 'number' ? parseFloat(event.target.value, 10) : event.target.value)\n\t\t},\n\n\t\thandleTrailingButtonClick(event) {\n\t\t\tthis.$emit('trailing-button-click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.input-field {\n\t--input-border-radius: var(--border-radius-element, var(--border-radius-large));\n\t// The padding before the input can start (leading button or border)\n\t--input-padding-start: var(--border-radius-large);\n\t// The padding where the input has to end (trailing button or border)\n\t--input-padding-end: var(--border-radius-large);\n\t// positional styles\n\tposition: relative;\n\twidth: 100%;\n\tmargin-block-start: 6px; // for the label in active state\n\n\t&--disabled {\n\t\topacity: 0.4;\n\t\tfilter: saturate(0.4);\n\t}\n\n\t// If there is no internal label we reset the margin reserved for it\n\t&--label-outside {\n\t\tmargin-block-start: 0;\n\t}\n\n\t&--leading-icon {\n\t\t--input-padding-start: calc(var(--default-clickable-area) - var(--default-grid-baseline));\n\t}\n\n\t&--trailing-icon {\n\t\t--input-padding-end: calc(var(--default-clickable-area) - var(--default-grid-baseline));\n\t}\n\n\t&--pill {\n\t\t--input-border-radius: var(--border-radius-pill);\n\t}\n\n\t&__main-wrapper {\n\t\theight: var(--default-clickable-area);\n\t\tposition: relative;\n\t}\n\n\t&__input {\n\t\t// If border width differes between focused and unfocused we need to compensate to prevent jumping\n\t\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\t\tborder-radius: var(--input-border-radius);\n\n\t\tcursor: pointer;\n\t\t-webkit-appearance: textfield !important;\n\t\t-moz-appearance: textfield !important;\n\t\tappearance: textfield !important;\n\n\t\tfont-size: var(--default-font-size);\n\t\ttext-overflow: ellipsis;\n\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--input-border-width-offset)) !important;\n\t\twidth: 100%;\n\n\t\tpadding-inline: calc(var(--input-padding-start) + var(--input-border-width-offset)) calc(var(--input-padding-end) + var(--input-border-width-offset));\n\t\tpadding-block: var(--input-border-width-offset);\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tborder-color: var(--color-main-text) !important;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t// Reset padding offset when focused\n\t\t\t--input-border-width-offset: 0px;\n\t\t}\n\n\t\t&:focus + .input-field__label,\n\t\t&:hover:not(:placeholder-shown) + .input-field__label {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--success {\n\t\t\tborder-color: var(--color-success) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\tborder-color: var(--color-error) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\t}\n\n\t// Hide placeholder while not focussed -> show label instead (only if internal label is used)\n\t&:not(&--label-outside) &__input:not(:focus)::placeholder {\n\t\topacity: 0;\n\t}\n\n\t&__label {\n\t\t--input-label-font-size: var(--default-font-size);\n\t\tposition: absolute;\n\t\tmargin-inline: var(--input-padding-start) var(--input-padding-end);\n\t\tmax-width: fit-content;\n\t\tfont-size: var(--input-label-font-size);\n\t\tinset-block-start: calc((var(--default-clickable-area) - var(--default-line-height)) / 2); // center the label vertically\n\t\tinset-inline: var(--border-width-input-focused, 2px);\n\t\t// Fix color so that users do not think the input already has content\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t// only one line labels are allowed\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\t// forward events to input\n\t\tpointer-events: none;\n\t\t// Position transition\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick), background-color var(--animation-quick) var(--animation-slow);\n\t}\n\n\t&__input:focus + &__label,\n\t&__input:not(:placeholder-shown) + &__label {\n\t\t--input-label-font-size: 13px; // minimum allowed font size for accessibility\n\t\tline-height: 1.5; // minimum allowed line height for accessibility\n\t\t// 1.5 * font-size = line-height; line-height / 2 for centering and make it negative as we need to move outside the element\n\t\tinset-block-start: calc(-1.5 * var(--input-label-font-size) / 2);\n\t\tfont-weight: 500;\n\t\tborder-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding-inline: var(--default-grid-baseline);\n\t\tmargin-inline: calc(var(--input-padding-start) - var(--default-grid-baseline)) calc(var(--input-padding-end) - var(--default-grid-baseline));\n\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick);\n\t}\n\n\t&__icon {\n\t\tposition: absolute;\n\t\theight: var(--default-clickable-area);\n\t\twidth: var(--default-clickable-area);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: 0.7;\n\n\t\tinset-block-end: 0;\n\n\t\t&--leading {\n\t\t\tinset-inline-start: 0px;\n\t\t}\n\n\t\t&--trailing {\n\t\t\tinset-inline-end: 0px;\n\t\t}\n\t}\n\n\t&__trailing-button {\n\t\t--button-size: calc(var(--default-clickable-area) - 2 * var(--border-width-input-focused, 2px)) !important;\n\t\t--button-radius: calc(var(--input-border-radius) - var(--border-width-input-focused, 2px)); // lower radius as size is smaller\n\n\t\t&.button-vue {\n\t\t\tposition: absolute;\n\t\t\ttop: var(--border-width-input-focused, 2px);\n\t\t\tright: var(--border-width-input-focused, 2px);\n\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding-block: 4px;\n\t\tpadding-inline: var(--border-radius-large);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&__icon {\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error-text);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success-text);\n\t\t}\n\t}\n}\n</style>\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
- const NcListItem = require("../chunks/NcListItem-Bt5RbZT6.cjs");
2
+ const NcListItem = require("../chunks/NcListItem-BfbxhMcD.cjs");
3
3
  module.exports = NcListItem.NcListItem;
@@ -1,4 +1,4 @@
1
- import { N } from "../chunks/NcListItem-PX9C1UU4.mjs";
1
+ import { N } from "../chunks/NcListItem-0EnLrbng.mjs";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
- const NcListItemIcon = require("../chunks/NcListItemIcon-CSD8rRYj.cjs");
2
+ const NcListItemIcon = require("../chunks/NcListItemIcon-57iRCVpy.cjs");
3
3
  module.exports = NcListItemIcon.NcListItemIcon;
@@ -1,4 +1,4 @@
1
- import { N } from "../chunks/NcListItemIcon-NtOXrncP.mjs";
1
+ import { N } from "../chunks/NcListItemIcon-Bw6Wddoz.mjs";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -1,19 +1,22 @@
1
- require('../assets/NcModal-6bpKFk4w.css');
1
+ require('../assets/NcModal-Ch7ovo9y.css');
2
2
  "use strict";
3
- const ScopeComponent = require("../chunks/ScopeComponent-Dn9AdAJf.cjs");
3
+ const ScopeComponent = require("../chunks/ScopeComponent-p6wwuGWn.cjs");
4
+ const core = require("@vueuse/core");
5
+ const focusTrap$1 = require("focus-trap");
6
+ const Vue = require("vue");
4
7
  const focusTrap = require("../chunks/focusTrap-EeXFmjdI.cjs");
5
- const _l10n = require("../chunks/_l10n-BGF_R72e.cjs");
8
+ const _l10n = require("../chunks/_l10n-DdIq5MvQ.cjs");
6
9
  const GenRandomId = require("../chunks/GenRandomId-BQDud3d4.cjs");
7
- const NcActions = require("../chunks/NcActions-B4kN_x_I.cjs");
10
+ const NcActions = require("../chunks/NcActions-BanQsba7.cjs");
8
11
  const Components_NcButton = require("./NcButton.cjs");
9
12
  require("../Directives/Tooltip.cjs");
10
13
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs");
11
14
  const ChevronRight = require("../chunks/ChevronRight-DVw6mR11.cjs");
12
15
  const Close = require("../chunks/Close-C2VrgKj3.cjs");
13
- const focusTrap$1 = require("focus-trap");
14
- const core = require("@vueuse/core");
15
16
  const floatingVue = require("floating-vue");
16
- _l10n.register(_l10n.t16, _l10n.t30);
17
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
18
+ const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
19
+ _l10n.register(_l10n.t18, _l10n.t33);
17
20
  function timer(callback, delay) {
18
21
  let id;
19
22
  let started;
@@ -247,7 +250,7 @@ const _sfc_main = {
247
250
  default: true
248
251
  },
249
252
  /**
250
- * Close the modal if the user clicked outside of the modal
253
+ * Close the modal if the user clicked outside the modal
251
254
  * Only relevant if `canClose` is set to true.
252
255
  */
253
256
  closeOnClickOutside: {
@@ -297,6 +300,14 @@ const _sfc_main = {
297
300
  type: Boolean,
298
301
  default: void 0
299
302
  },
303
+ /**
304
+ * Id of the element that labels the dialog (the name)
305
+ * Not needed if the `name` prop is set, but if no name is set you need to provide the ID of an element to label the dialog for accessibility.
306
+ */
307
+ labelId: {
308
+ type: String,
309
+ default: ""
310
+ },
300
311
  /**
301
312
  * Set element to return focus to after focus trap deactivation
302
313
  *
@@ -320,11 +331,18 @@ const _sfc_main = {
320
331
  slideshowTimeout: null,
321
332
  iconSize: 24,
322
333
  focusTrap: null,
334
+ externalFocusTrapStack: [],
323
335
  randId: GenRandomId.GenRandomId(),
324
336
  internalShow: true
325
337
  };
326
338
  },
327
339
  computed: {
340
+ /**
341
+ * ID of the element to label the modal
342
+ */
343
+ modalLabelId() {
344
+ return this.labelId || "modal-name-".concat(this.randId);
345
+ },
328
346
  showModal() {
329
347
  return this.show === void 0 ? this.internalShow : this.show;
330
348
  },
@@ -380,6 +398,9 @@ const _sfc_main = {
380
398
  this.mc.stop();
381
399
  },
382
400
  mounted() {
401
+ if (!this.name && !this.labelId) {
402
+ Vue__default.default.util.warn("[NcModal] You need either set the name or set a `labelId` for accessibility.");
403
+ }
383
404
  this.useFocusTrap();
384
405
  this.mc = core.useSwipe(this.$refs.mask, {
385
406
  onSwipeEnd: this.handleSwipe
@@ -530,11 +551,15 @@ const _sfc_main = {
530
551
  allowOutsideClick: true,
531
552
  fallbackFocus: contentContainer,
532
553
  trapStack: focusTrap.getTrapStack(),
533
- // Esc can be used without stop in content or additionalTrapElements where it should not deacxtivate modal's focus trap.
554
+ // Esc can be used without stop in content or additionalTrapElements where it should not deactivate modal's focus trap.
534
555
  // Focus trap is deactivated on modal close anyway.
535
556
  escapeDeactivates: false,
536
557
  setReturnFocus: this.setReturnFocus
537
558
  };
559
+ this.externalFocusTrapStack = [...options.trapStack];
560
+ for (const trap of this.externalFocusTrapStack) {
561
+ trap.deactivate();
562
+ }
538
563
  this.focusTrap = focusTrap$1.createFocusTrap([contentContainer, ...this.additionalTrapElements], options);
539
564
  this.focusTrap.activate();
540
565
  },
@@ -545,12 +570,16 @@ const _sfc_main = {
545
570
  }
546
571
  (_a = this.focusTrap) == null ? void 0 : _a.deactivate();
547
572
  this.focusTrap = null;
573
+ for (const trap of this.externalFocusTrapStack) {
574
+ trap.activate();
575
+ }
576
+ this.externalFocusTrapStack = [];
548
577
  }
549
578
  }
550
579
  };
551
580
  var _sfc_render = function render4() {
552
581
  var _vm = this, _c = _vm._self._c;
553
- return _c("transition", { attrs: { "name": "fade", "appear": "" }, on: { "after-enter": _vm.useFocusTrap, "before-leave": _vm.clearFocusTrap } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showModal, expression: "showModal" }], ref: "mask", staticClass: "modal-mask", class: { "modal-mask--dark": _vm.dark || !_vm.closeButtonContained || _vm.hasPrevious || _vm.hasNext }, style: _vm.cssVariables, attrs: { "role": "dialog", "aria-modal": "true", "aria-labelledby": "modal-name-" + _vm.randId, "aria-describedby": "modal-description-" + _vm.randId, "tabindex": "-1" } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("div", { staticClass: "modal-header", attrs: { "data-theme-dark": "" } }, [_vm.name.trim() !== "" ? _c("h2", { staticClass: "modal-header__name", attrs: { "id": "modal-name-" + _vm.randId } }, [_vm._v(" " + _vm._s(_vm.name) + " ")]) : _vm._e(), _c("div", { staticClass: "icons-menu" }, [_vm.hasNext && _vm.enableSlideshow ? _c("button", { directives: [{ name: "tooltip", rawName: "v-tooltip.auto", value: _vm.playPauseName, expression: "playPauseName", modifiers: { "auto": true } }], staticClass: "play-pause-icons", class: { "play-pause-icons--paused": _vm.slideshowPaused }, attrs: { "type": "button" }, on: { "click": _vm.togglePlayPause } }, [!_vm.playing ? _c("Play", { staticClass: "play-pause-icons__play", attrs: { "size": _vm.iconSize } }) : _c("Pause", { staticClass: "play-pause-icons__pause", attrs: { "size": _vm.iconSize } }), _c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_vm.playPauseName) + " ")]), _vm.playing ? _c("svg", { staticClass: "progress-ring", attrs: { "height": "50", "width": "50" } }, [_c("circle", { staticClass: "progress-ring__circle", attrs: { "stroke": "white", "stroke-width": "2", "fill": "transparent", "r": "15", "cx": "25", "cy": "25" } })]) : _vm._e()], 1) : _vm._e(), _c("NcActions", { staticClass: "header-actions", attrs: { "inline": _vm.inlineActions } }, [_vm._t("actions")], 2), _vm.canClose && !_vm.closeButtonContained ? _c("NcButton", { staticClass: "header-close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "type": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
582
+ return _c("transition", { attrs: { "name": "fade", "appear": "" }, on: { "after-enter": _vm.useFocusTrap, "before-leave": _vm.clearFocusTrap } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showModal, expression: "showModal" }], ref: "mask", staticClass: "modal-mask", class: { "modal-mask--dark": _vm.dark || !_vm.closeButtonContained || _vm.hasPrevious || _vm.hasNext }, style: _vm.cssVariables, attrs: { "role": "dialog", "aria-modal": "true", "aria-labelledby": _vm.modalLabelId, "aria-describedby": "modal-description-" + _vm.randId, "tabindex": "-1" } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("div", { staticClass: "modal-header", attrs: { "data-theme-dark": "" } }, [_vm.name.trim() !== "" ? _c("h2", { staticClass: "modal-header__name", attrs: { "id": "modal-name-" + _vm.randId } }, [_vm._v(" " + _vm._s(_vm.name) + " ")]) : _vm._e(), _c("div", { staticClass: "icons-menu" }, [_vm.hasNext && _vm.enableSlideshow ? _c("button", { directives: [{ name: "tooltip", rawName: "v-tooltip.auto", value: _vm.playPauseName, expression: "playPauseName", modifiers: { "auto": true } }], staticClass: "play-pause-icons", class: { "play-pause-icons--paused": _vm.slideshowPaused }, attrs: { "type": "button" }, on: { "click": _vm.togglePlayPause } }, [!_vm.playing ? _c("Play", { staticClass: "play-pause-icons__play", attrs: { "size": _vm.iconSize } }) : _c("Pause", { staticClass: "play-pause-icons__pause", attrs: { "size": _vm.iconSize } }), _c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_vm.playPauseName) + " ")]), _vm.playing ? _c("svg", { staticClass: "progress-ring", attrs: { "height": "50", "width": "50" } }, [_c("circle", { staticClass: "progress-ring__circle", attrs: { "stroke": "white", "stroke-width": "2", "fill": "transparent", "r": "15", "cx": "25", "cy": "25" } })]) : _vm._e()], 1) : _vm._e(), _c("NcActions", { staticClass: "header-actions", attrs: { "inline": _vm.inlineActions } }, [_vm._t("actions")], 2), _vm.canClose && !_vm.closeButtonContained ? _c("NcButton", { staticClass: "header-close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "type": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
554
583
  return [_c("Close", { attrs: { "size": _vm.iconSize } })];
555
584
  }, proxy: true }], null, false, 1841713362) }) : _vm._e()], 1)])]), _c("transition", { attrs: { "name": _vm.modalTransitionName, "appear": "" } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showModal, expression: "showModal" }], staticClass: "modal-wrapper", class: [
556
585
  "modal-wrapper--".concat(_vm.size),
@@ -573,7 +602,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
573
602
  _sfc_staticRenderFns,
574
603
  false,
575
604
  null,
576
- "999dfc9e",
605
+ "0d4052a3",
577
606
  null,
578
607
  null
579
608
  );