@nextcloud/vue 8.4.0 → 8.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/Components/NcActionButton.cjs +85 -23
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +88 -24
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionButtonGroup.cjs +3 -45
  7. package/dist/Components/NcActionButtonGroup.cjs.map +1 -1
  8. package/dist/Components/NcActionButtonGroup.mjs +2 -48
  9. package/dist/Components/NcActionButtonGroup.mjs.map +1 -1
  10. package/dist/Components/NcActionCaption.cjs +8 -9
  11. package/dist/Components/NcActionCaption.cjs.map +1 -1
  12. package/dist/Components/NcActionCaption.mjs +8 -8
  13. package/dist/Components/NcActionCheckbox.cjs +4 -5
  14. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  15. package/dist/Components/NcActionCheckbox.mjs +13 -13
  16. package/dist/Components/NcActionInput.cjs +3 -234
  17. package/dist/Components/NcActionInput.cjs.map +1 -1
  18. package/dist/Components/NcActionInput.mjs +2 -242
  19. package/dist/Components/NcActionInput.mjs.map +1 -1
  20. package/dist/Components/NcActionLink.cjs +2 -3
  21. package/dist/Components/NcActionLink.cjs.map +1 -1
  22. package/dist/Components/NcActionLink.mjs +3 -3
  23. package/dist/Components/NcActionRadio.cjs +12 -13
  24. package/dist/Components/NcActionRadio.cjs.map +1 -1
  25. package/dist/Components/NcActionRadio.mjs +11 -11
  26. package/dist/Components/NcActionRouter.cjs +5 -6
  27. package/dist/Components/NcActionRouter.cjs.map +1 -1
  28. package/dist/Components/NcActionRouter.mjs +6 -6
  29. package/dist/Components/NcActionSeparator.cjs +6 -7
  30. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  31. package/dist/Components/NcActionSeparator.mjs +9 -9
  32. package/dist/Components/NcActionText.cjs +7 -8
  33. package/dist/Components/NcActionText.cjs.map +1 -1
  34. package/dist/Components/NcActionText.mjs +10 -10
  35. package/dist/Components/NcActionTextEditable.cjs +4 -5
  36. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  37. package/dist/Components/NcActionTextEditable.mjs +5 -5
  38. package/dist/Components/NcActions.cjs +3 -483
  39. package/dist/Components/NcActions.cjs.map +1 -1
  40. package/dist/Components/NcActions.mjs +2 -489
  41. package/dist/Components/NcActions.mjs.map +1 -1
  42. package/dist/Components/NcAppContent.cjs +3 -222
  43. package/dist/Components/NcAppContent.cjs.map +1 -1
  44. package/dist/Components/NcAppContent.mjs +2 -230
  45. package/dist/Components/NcAppContent.mjs.map +1 -1
  46. package/dist/Components/NcAppContentDetails.cjs +1 -1
  47. package/dist/Components/NcAppContentDetails.mjs +1 -1
  48. package/dist/Components/NcAppContentList.cjs +1 -1
  49. package/dist/Components/NcAppContentList.mjs +1 -1
  50. package/dist/Components/NcAppNavigation.cjs +3 -101
  51. package/dist/Components/NcAppNavigation.cjs.map +1 -1
  52. package/dist/Components/NcAppNavigation.mjs +2 -106
  53. package/dist/Components/NcAppNavigation.mjs.map +1 -1
  54. package/dist/Components/NcAppNavigationCaption.cjs +3 -44
  55. package/dist/Components/NcAppNavigationCaption.cjs.map +1 -1
  56. package/dist/Components/NcAppNavigationCaption.mjs +2 -45
  57. package/dist/Components/NcAppNavigationCaption.mjs.map +1 -1
  58. package/dist/Components/NcAppNavigationIconBullet.cjs +5 -6
  59. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  60. package/dist/Components/NcAppNavigationIconBullet.mjs +8 -8
  61. package/dist/Components/NcAppNavigationItem.cjs +3 -498
  62. package/dist/Components/NcAppNavigationItem.cjs.map +1 -1
  63. package/dist/Components/NcAppNavigationItem.mjs +2 -508
  64. package/dist/Components/NcAppNavigationItem.mjs.map +1 -1
  65. package/dist/Components/NcAppNavigationNew.cjs +14 -15
  66. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  67. package/dist/Components/NcAppNavigationNew.mjs +6 -6
  68. package/dist/Components/NcAppNavigationNewItem.cjs +3 -87
  69. package/dist/Components/NcAppNavigationNewItem.cjs.map +1 -1
  70. package/dist/Components/NcAppNavigationNewItem.mjs +2 -89
  71. package/dist/Components/NcAppNavigationNewItem.mjs.map +1 -1
  72. package/dist/Components/NcAppNavigationSettings.cjs +3 -102
  73. package/dist/Components/NcAppNavigationSettings.cjs.map +1 -1
  74. package/dist/Components/NcAppNavigationSettings.mjs +2 -103
  75. package/dist/Components/NcAppNavigationSettings.mjs.map +1 -1
  76. package/dist/Components/NcAppNavigationSpacer.cjs +10 -11
  77. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  78. package/dist/Components/NcAppNavigationSpacer.mjs +10 -10
  79. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  80. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  81. package/dist/Components/NcAppSettingsDialog.cjs +3 -182
  82. package/dist/Components/NcAppSettingsDialog.cjs.map +1 -1
  83. package/dist/Components/NcAppSettingsDialog.mjs +2 -188
  84. package/dist/Components/NcAppSettingsDialog.mjs.map +1 -1
  85. package/dist/Components/NcAppSettingsSection.cjs +7 -11
  86. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  87. package/dist/Components/NcAppSettingsSection.mjs +7 -10
  88. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  89. package/dist/Components/NcAppSidebar.cjs +3 -552
  90. package/dist/Components/NcAppSidebar.cjs.map +1 -1
  91. package/dist/Components/NcAppSidebar.mjs +2 -567
  92. package/dist/Components/NcAppSidebar.mjs.map +1 -1
  93. package/dist/Components/NcAppSidebarTab.cjs +5 -7
  94. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  95. package/dist/Components/NcAppSidebarTab.mjs +3 -4
  96. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  97. package/dist/Components/NcAvatar.cjs +2 -2
  98. package/dist/Components/NcAvatar.mjs +1 -1
  99. package/dist/Components/NcBreadcrumb.cjs +3 -176
  100. package/dist/Components/NcBreadcrumb.cjs.map +1 -1
  101. package/dist/Components/NcBreadcrumb.mjs +2 -179
  102. package/dist/Components/NcBreadcrumb.mjs.map +1 -1
  103. package/dist/Components/NcBreadcrumbs.cjs +3 -411
  104. package/dist/Components/NcBreadcrumbs.cjs.map +1 -1
  105. package/dist/Components/NcBreadcrumbs.mjs +2 -420
  106. package/dist/Components/NcBreadcrumbs.mjs.map +1 -1
  107. package/dist/Components/NcButton.cjs +42 -30
  108. package/dist/Components/NcButton.cjs.map +1 -1
  109. package/dist/Components/NcButton.mjs +43 -30
  110. package/dist/Components/NcButton.mjs.map +1 -1
  111. package/dist/Components/NcCheckboxRadioSwitch.cjs +3 -600
  112. package/dist/Components/NcCheckboxRadioSwitch.cjs.map +1 -1
  113. package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -604
  114. package/dist/Components/NcCheckboxRadioSwitch.mjs.map +1 -1
  115. package/dist/Components/NcColorPicker.cjs +3 -158
  116. package/dist/Components/NcColorPicker.cjs.map +1 -1
  117. package/dist/Components/NcColorPicker.mjs +2 -167
  118. package/dist/Components/NcColorPicker.mjs.map +1 -1
  119. package/dist/Components/NcContent.cjs +3 -25
  120. package/dist/Components/NcContent.cjs.map +1 -1
  121. package/dist/Components/NcContent.mjs +2 -25
  122. package/dist/Components/NcContent.mjs.map +1 -1
  123. package/dist/Components/NcCounterBubble.cjs +4 -5
  124. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  125. package/dist/Components/NcCounterBubble.mjs +4 -4
  126. package/dist/Components/NcDashboardWidget.cjs +3 -134
  127. package/dist/Components/NcDashboardWidget.cjs.map +1 -1
  128. package/dist/Components/NcDashboardWidget.mjs +2 -139
  129. package/dist/Components/NcDashboardWidget.mjs.map +1 -1
  130. package/dist/Components/NcDashboardWidgetItem.cjs +3 -138
  131. package/dist/Components/NcDashboardWidgetItem.cjs.map +1 -1
  132. package/dist/Components/NcDashboardWidgetItem.mjs +2 -141
  133. package/dist/Components/NcDashboardWidgetItem.mjs.map +1 -1
  134. package/dist/Components/NcDateTime.cjs +2 -129
  135. package/dist/Components/NcDateTime.cjs.map +1 -1
  136. package/dist/Components/NcDateTime.mjs +2 -131
  137. package/dist/Components/NcDateTime.mjs.map +1 -1
  138. package/dist/Components/NcDateTimePicker.cjs +68 -50
  139. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  140. package/dist/Components/NcDateTimePicker.mjs +72 -53
  141. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  142. package/dist/Components/NcDateTimePickerNative.cjs +8 -9
  143. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  144. package/dist/Components/NcDateTimePickerNative.mjs +7 -7
  145. package/dist/Components/NcDialog.cjs +3 -172
  146. package/dist/Components/NcDialog.cjs.map +1 -1
  147. package/dist/Components/NcDialog.mjs +2 -177
  148. package/dist/Components/NcDialog.mjs.map +1 -1
  149. package/dist/Components/NcDialogButton.cjs +2 -68
  150. package/dist/Components/NcDialogButton.cjs.map +1 -1
  151. package/dist/Components/NcDialogButton.mjs +2 -72
  152. package/dist/Components/NcDialogButton.mjs.map +1 -1
  153. package/dist/Components/NcEllipsisedOption.cjs +4 -5
  154. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  155. package/dist/Components/NcEllipsisedOption.mjs +14 -14
  156. package/dist/Components/NcEmojiPicker.cjs +3 -176
  157. package/dist/Components/NcEmojiPicker.cjs.map +1 -1
  158. package/dist/Components/NcEmojiPicker.mjs +2 -181
  159. package/dist/Components/NcEmojiPicker.mjs.map +1 -1
  160. package/dist/Components/NcEmptyContent.cjs +14 -16
  161. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  162. package/dist/Components/NcEmptyContent.mjs +8 -9
  163. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  164. package/dist/Components/NcGuestContent.cjs +8 -9
  165. package/dist/Components/NcGuestContent.cjs.map +1 -1
  166. package/dist/Components/NcGuestContent.mjs +7 -7
  167. package/dist/Components/NcHeaderMenu.cjs +3 -169
  168. package/dist/Components/NcHeaderMenu.cjs.map +1 -1
  169. package/dist/Components/NcHeaderMenu.mjs +2 -172
  170. package/dist/Components/NcHeaderMenu.mjs.map +1 -1
  171. package/dist/Components/NcHighlight.cjs +1 -1
  172. package/dist/Components/NcHighlight.mjs +1 -1
  173. package/dist/Components/NcIconSvgWrapper.cjs +3 -59
  174. package/dist/Components/NcIconSvgWrapper.cjs.map +1 -1
  175. package/dist/Components/NcIconSvgWrapper.mjs +2 -61
  176. package/dist/Components/NcIconSvgWrapper.mjs.map +1 -1
  177. package/dist/Components/NcInputField.cjs +10 -10
  178. package/dist/Components/NcInputField.cjs.map +1 -1
  179. package/dist/Components/NcInputField.mjs +10 -9
  180. package/dist/Components/NcInputField.mjs.map +1 -1
  181. package/dist/Components/NcListItem.cjs +3 -242
  182. package/dist/Components/NcListItem.cjs.map +1 -1
  183. package/dist/Components/NcListItem.mjs +2 -246
  184. package/dist/Components/NcListItem.mjs.map +1 -1
  185. package/dist/Components/NcListItemIcon.cjs +3 -160
  186. package/dist/Components/NcListItemIcon.cjs.map +1 -1
  187. package/dist/Components/NcListItemIcon.mjs +2 -162
  188. package/dist/Components/NcListItemIcon.mjs.map +1 -1
  189. package/dist/Components/NcLoadingIcon.cjs +9 -10
  190. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  191. package/dist/Components/NcLoadingIcon.mjs +10 -10
  192. package/dist/Components/NcModal.cjs +31 -23
  193. package/dist/Components/NcModal.cjs.map +1 -1
  194. package/dist/Components/NcModal.mjs +36 -28
  195. package/dist/Components/NcModal.mjs.map +1 -1
  196. package/dist/Components/NcNoteCard.cjs +8 -9
  197. package/dist/Components/NcNoteCard.cjs.map +1 -1
  198. package/dist/Components/NcNoteCard.mjs +8 -9
  199. package/dist/Components/NcNoteCard.mjs.map +1 -1
  200. package/dist/Components/NcPasswordField.cjs +2 -228
  201. package/dist/Components/NcPasswordField.cjs.map +1 -1
  202. package/dist/Components/NcPasswordField.mjs +2 -236
  203. package/dist/Components/NcPasswordField.mjs.map +1 -1
  204. package/dist/Components/NcPopover.cjs +3 -125
  205. package/dist/Components/NcPopover.cjs.map +1 -1
  206. package/dist/Components/NcPopover.mjs +2 -128
  207. package/dist/Components/NcPopover.mjs.map +1 -1
  208. package/dist/Components/NcProgressBar.cjs +3 -57
  209. package/dist/Components/NcProgressBar.cjs.map +1 -1
  210. package/dist/Components/NcProgressBar.mjs +2 -57
  211. package/dist/Components/NcProgressBar.mjs.map +1 -1
  212. package/dist/Components/NcRelatedResourcesPanel.cjs +3 -203
  213. package/dist/Components/NcRelatedResourcesPanel.cjs.map +1 -1
  214. package/dist/Components/NcRelatedResourcesPanel.mjs +2 -207
  215. package/dist/Components/NcRelatedResourcesPanel.mjs.map +1 -1
  216. package/dist/Components/NcRichContenteditable.cjs +5 -512
  217. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  218. package/dist/Components/NcRichContenteditable.mjs +5 -523
  219. package/dist/Components/NcRichContenteditable.mjs.map +1 -1
  220. package/dist/Components/NcRichText.cjs +1 -1
  221. package/dist/Components/NcRichText.mjs +3 -3
  222. package/dist/Components/NcSavingIndicatorIcon.cjs +2 -58
  223. package/dist/Components/NcSavingIndicatorIcon.cjs.map +1 -1
  224. package/dist/Components/NcSavingIndicatorIcon.mjs +2 -60
  225. package/dist/Components/NcSavingIndicatorIcon.mjs.map +1 -1
  226. package/dist/Components/NcSelect.cjs +3 -435
  227. package/dist/Components/NcSelect.cjs.map +1 -1
  228. package/dist/Components/NcSelect.mjs +2 -444
  229. package/dist/Components/NcSelect.mjs.map +1 -1
  230. package/dist/Components/NcSelectTags.cjs +2 -260
  231. package/dist/Components/NcSelectTags.cjs.map +1 -1
  232. package/dist/Components/NcSelectTags.mjs +2 -265
  233. package/dist/Components/NcSelectTags.mjs.map +1 -1
  234. package/dist/Components/NcSettingsInputText.cjs +3 -91
  235. package/dist/Components/NcSettingsInputText.cjs.map +1 -1
  236. package/dist/Components/NcSettingsInputText.mjs +2 -93
  237. package/dist/Components/NcSettingsInputText.mjs.map +1 -1
  238. package/dist/Components/NcSettingsSection.cjs +3 -96
  239. package/dist/Components/NcSettingsSection.cjs.map +1 -1
  240. package/dist/Components/NcSettingsSection.mjs +2 -97
  241. package/dist/Components/NcSettingsSection.mjs.map +1 -1
  242. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  243. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  244. package/dist/Components/NcTextArea.cjs +7 -8
  245. package/dist/Components/NcTextArea.cjs.map +1 -1
  246. package/dist/Components/NcTextArea.mjs +9 -9
  247. package/dist/Components/NcTextArea.mjs.map +1 -1
  248. package/dist/Components/NcTextField.cjs +2 -139
  249. package/dist/Components/NcTextField.cjs.map +1 -1
  250. package/dist/Components/NcTextField.mjs +2 -144
  251. package/dist/Components/NcTextField.mjs.map +1 -1
  252. package/dist/Components/NcTimezonePicker.cjs +2 -7198
  253. package/dist/Components/NcTimezonePicker.cjs.map +1 -1
  254. package/dist/Components/NcTimezonePicker.mjs +2 -7203
  255. package/dist/Components/NcTimezonePicker.mjs.map +1 -1
  256. package/dist/Components/NcUserBubble.cjs +3 -193
  257. package/dist/Components/NcUserBubble.cjs.map +1 -1
  258. package/dist/Components/NcUserBubble.mjs +2 -197
  259. package/dist/Components/NcUserBubble.mjs.map +1 -1
  260. package/dist/Components/NcUserStatusIcon.cjs +3 -0
  261. package/dist/Components/NcUserStatusIcon.cjs.map +1 -0
  262. package/dist/Components/NcUserStatusIcon.mjs +4 -0
  263. package/dist/Components/NcUserStatusIcon.mjs.map +1 -0
  264. package/dist/Components/NcVNodes.cjs +10 -11
  265. package/dist/Components/NcVNodes.cjs.map +1 -1
  266. package/dist/Components/NcVNodes.mjs +11 -12
  267. package/dist/Components/NcVNodes.mjs.map +1 -1
  268. package/dist/Directives/Linkify.cjs +4 -5
  269. package/dist/Directives/Linkify.cjs.map +1 -1
  270. package/dist/Directives/Linkify.mjs +5 -6
  271. package/dist/Directives/Linkify.mjs.map +1 -1
  272. package/dist/Directives/Tooltip.cjs +1 -1
  273. package/dist/Directives/Tooltip.mjs +3 -3
  274. package/dist/Functions/usernameToColor.cjs +2 -38
  275. package/dist/Functions/usernameToColor.cjs.map +1 -1
  276. package/dist/Functions/usernameToColor.mjs +2 -39
  277. package/dist/Functions/usernameToColor.mjs.map +1 -1
  278. package/dist/Mixins/richEditor.cjs +2 -2
  279. package/dist/Mixins/richEditor.mjs +2 -2
  280. package/dist/assets/{index-7868494b.css → NcActionButton-YVkNHN_x.css} +17 -16
  281. package/dist/assets/{index-5fa0ac5a.css → NcActionButtonGroup-oXobVIqQ.css} +14 -0
  282. package/dist/assets/{index-e0e6bab6.css → NcActionCheckbox-6Pvlr1E7.css} +1 -1
  283. package/dist/assets/{index-9020d9ca.css → NcActionInput-4zSvDkWm.css} +67 -67
  284. package/dist/assets/{index-4ba699a1.css → NcActionLink-zdzQgwtH.css} +1 -1
  285. package/dist/assets/{index-542cf50a.css → NcActionRadio-eOr9Sp-D.css} +1 -1
  286. package/dist/assets/{index-7fac55ed.css → NcActionRouter-MFTD6tYI.css} +1 -1
  287. package/dist/assets/{index-00012a4c.css → NcActionText-GJYwsw_U.css} +1 -1
  288. package/dist/assets/{index-93ad846c.css → NcActionTextEditable-JrYuWEDd.css} +1 -1
  289. package/dist/assets/{index-b0bba2fc.css → NcActions-vgT9ak04.css} +16 -11
  290. package/dist/assets/{index-4596132f.css → NcAppContent-SZz3PTd8.css} +0 -1
  291. package/dist/assets/{index-5784183b.css → NcAppNavigation-vjqOL-kR.css} +8 -8
  292. package/dist/assets/{index-fe84a063.css → NcAppNavigationCaption-l5yRGXZx.css} +6 -5
  293. package/dist/assets/{index-d8bc189c.css → NcAppNavigationItem-n-wauJE7.css} +5 -0
  294. package/dist/assets/{index-1a317434.css → NcAppNavigationNewItem-MQBvffq9.css} +5 -0
  295. package/dist/assets/{index-a9999048.css → NcAppSettingsDialog-0eOo3ERv.css} +16 -17
  296. package/dist/assets/{index-3b654875.css → NcAvatar-5H9cqcD1.css} +27 -27
  297. package/dist/assets/{index-c20f9f7e.css → NcBreadcrumb-M3hqCbqS.css} +26 -33
  298. package/dist/assets/{index-f5162bbd.css → NcBreadcrumbs-KBV0Jccv.css} +7 -8
  299. package/dist/assets/{index-f091e784.css → NcButton-4Wj3KJn8.css} +43 -43
  300. package/dist/assets/{index-7f77b8ae.css → NcCheckboxRadioSwitch-mgKotCbU.css} +52 -47
  301. package/dist/assets/{index-13720a46.css → NcColorPicker-CNX9fj56.css} +24 -24
  302. package/dist/assets/{index-a9e4fe04.css → NcContent-LWR23l9i.css} +42 -4
  303. package/dist/assets/{index-a7fc7815.css → NcDateTimePicker-amYL2HzW.css} +20 -20
  304. package/dist/assets/{index-86454928.css → NcDialog-DN-rY-55.css} +30 -19
  305. package/dist/assets/{index-2a8e4ca1.css → NcEmojiPicker-lBXbC6Jd.css} +36 -26
  306. package/dist/assets/{index-aacb7cf8.css → NcHeaderMenu-06vdn4tC.css} +17 -24
  307. package/dist/assets/NcIconSvgWrapper-arqrq5Bj.css +44 -0
  308. package/dist/assets/{index-2a1ec06b.css → NcInputField-L2Lld_iG.css} +41 -40
  309. package/dist/assets/{index-a3c23731.css → NcModal-UZh031V1.css} +64 -64
  310. package/dist/assets/{index-61b63a8f.css → NcProgressBar-w4-G5gQR.css} +19 -9
  311. package/dist/assets/{index-ab715d82.css → NcRelatedResourcesPanel-m3uf_nvH.css} +4 -4
  312. package/dist/assets/{index-dab51681.css → NcRichContenteditable-j9edXOEH.css} +26 -25
  313. package/dist/assets/{index-f9bfa317.css → NcSelect-GsLmwj9w.css} +13 -2
  314. package/dist/assets/{index-76a58945.css → NcSettingsSection-PEWm0eeL.css} +13 -13
  315. package/dist/assets/{index-97305c1f.css → NcTextArea-4rVwq6GK.css} +24 -23
  316. package/dist/assets/{index-c221fe05.css → NcUserBubble-jjzI5imn.css} +9 -9
  317. package/dist/assets/{index-57b305d3.css → NcUserStatusIcon-62u43_6P.css} +7 -10
  318. package/dist/assets/{referencePickerModal-3a127978.css → referencePickerModal-VxSowpb5.css} +84 -57
  319. package/dist/chunks/{AlertCircleOutline-7085c10f.cjs → AlertCircleOutline-VgVvRWpm.cjs} +1 -1
  320. package/dist/chunks/{AlertCircleOutline-7085c10f.cjs.map → AlertCircleOutline-VgVvRWpm.cjs.map} +1 -1
  321. package/dist/chunks/{AlertCircleOutline-b73838e0.mjs → AlertCircleOutline-lwSRucNO.mjs} +1 -1
  322. package/dist/chunks/{AlertCircleOutline-b73838e0.mjs.map → AlertCircleOutline-lwSRucNO.mjs.map} +1 -1
  323. package/dist/chunks/{ArrowLeft-2f9b9323.cjs → ArrowLeft-3KC2k3tR.cjs} +1 -1
  324. package/dist/chunks/{ArrowLeft-2f9b9323.cjs.map → ArrowLeft-3KC2k3tR.cjs.map} +1 -1
  325. package/dist/chunks/{ArrowLeft-3779ba88.mjs → ArrowLeft-buaCjhfr.mjs} +1 -1
  326. package/dist/chunks/{ArrowLeft-3779ba88.mjs.map → ArrowLeft-buaCjhfr.mjs.map} +1 -1
  327. package/dist/chunks/{ArrowRight-74a9fcb2.mjs → ArrowRight-4p6gv-9o.mjs} +1 -1
  328. package/dist/chunks/{ArrowRight-74a9fcb2.mjs.map → ArrowRight-4p6gv-9o.mjs.map} +1 -1
  329. package/dist/chunks/{ArrowRight-7315f6c1.cjs → ArrowRight-uEMed4kl.cjs} +1 -1
  330. package/dist/chunks/{ArrowRight-7315f6c1.cjs.map → ArrowRight-uEMed4kl.cjs.map} +1 -1
  331. package/dist/chunks/{Check-be8cd6af.cjs → Check-5uKO4aXx.cjs} +1 -1
  332. package/dist/chunks/{Check-be8cd6af.cjs.map → Check-5uKO4aXx.cjs.map} +1 -1
  333. package/dist/chunks/{Check-2ea0a88a.mjs → Check-FObi_cEO.mjs} +1 -1
  334. package/dist/chunks/{Check-2ea0a88a.mjs.map → Check-FObi_cEO.mjs.map} +1 -1
  335. package/dist/chunks/{ChevronDown-a72d365d.mjs → ChevronDown-TbRvziNU.mjs} +1 -1
  336. package/dist/chunks/{ChevronDown-a72d365d.mjs.map → ChevronDown-TbRvziNU.mjs.map} +1 -1
  337. package/dist/chunks/{ChevronDown-dc32e51d.cjs → ChevronDown-rdCNNu7u.cjs} +1 -1
  338. package/dist/chunks/{ChevronDown-dc32e51d.cjs.map → ChevronDown-rdCNNu7u.cjs.map} +1 -1
  339. package/dist/chunks/{ChevronRight-1a6a6cf2.mjs → ChevronRight-XOmSMmxA.mjs} +1 -1
  340. package/dist/chunks/{ChevronRight-1a6a6cf2.mjs.map → ChevronRight-XOmSMmxA.mjs.map} +1 -1
  341. package/dist/chunks/{ChevronRight-a4c1e0d3.cjs → ChevronRight-bp7fT1r7.cjs} +1 -1
  342. package/dist/chunks/{ChevronRight-a4c1e0d3.cjs.map → ChevronRight-bp7fT1r7.cjs.map} +1 -1
  343. package/dist/chunks/{Close-271f72e2.mjs → Close-5Hzp7J3v.mjs} +1 -1
  344. package/dist/chunks/{Close-271f72e2.mjs.map → Close-5Hzp7J3v.mjs.map} +1 -1
  345. package/dist/chunks/{Close-98cb6f12.cjs → Close-QFLrdRdG.cjs} +1 -1
  346. package/dist/chunks/{Close-98cb6f12.cjs.map → Close-QFLrdRdG.cjs.map} +1 -1
  347. package/dist/chunks/{DotsHorizontal-0ee7d901.mjs → DotsHorizontal-NssXDZGM.mjs} +1 -1
  348. package/dist/chunks/{DotsHorizontal-0ee7d901.mjs.map → DotsHorizontal-NssXDZGM.mjs.map} +1 -1
  349. package/dist/chunks/{DotsHorizontal-ac96129a.cjs → DotsHorizontal-dlN1WvqM.cjs} +1 -1
  350. package/dist/chunks/{DotsHorizontal-ac96129a.cjs.map → DotsHorizontal-dlN1WvqM.cjs.map} +1 -1
  351. package/dist/chunks/{GenColors-7495e6f6.cjs → GenColors-6ePwbl4k.cjs} +23 -18
  352. package/dist/chunks/GenColors-6ePwbl4k.cjs.map +1 -0
  353. package/dist/chunks/{GenColors-5c054042.mjs → GenColors-OwQiytMp.mjs} +16 -11
  354. package/dist/chunks/GenColors-OwQiytMp.mjs.map +1 -0
  355. package/dist/chunks/{GenRandomId-c214d235.cjs.map → GenRandomId-ULxaMkkr.cjs.map} +1 -1
  356. package/dist/chunks/{GenRandomId-cb9ccebe.mjs.map → GenRandomId-VodkdWbp.mjs.map} +1 -1
  357. package/dist/chunks/{Linkify-39f20c9a.mjs.map → Linkify-V7PfCeZ8.mjs.map} +1 -1
  358. package/dist/chunks/{Linkify-40cdd635.cjs.map → Linkify-f3s3nAe_.cjs.map} +1 -1
  359. package/dist/chunks/NcActionButtonGroup-qXVHIy0a.mjs +50 -0
  360. package/dist/chunks/NcActionButtonGroup-qXVHIy0a.mjs.map +1 -0
  361. package/dist/chunks/NcActionButtonGroup-wvQESxxh.cjs +45 -0
  362. package/dist/chunks/NcActionButtonGroup-wvQESxxh.cjs.map +1 -0
  363. package/dist/chunks/NcActionInput-2mvb7ZnC.cjs +234 -0
  364. package/dist/chunks/NcActionInput-2mvb7ZnC.cjs.map +1 -0
  365. package/dist/chunks/NcActionInput-Vdsm4Jt5.mjs +244 -0
  366. package/dist/chunks/NcActionInput-Vdsm4Jt5.mjs.map +1 -0
  367. package/dist/chunks/NcActions-4ml5sv6P.cjs +498 -0
  368. package/dist/chunks/NcActions-4ml5sv6P.cjs.map +1 -0
  369. package/dist/chunks/NcActions-5K-qjttC.mjs +506 -0
  370. package/dist/chunks/NcActions-5K-qjttC.mjs.map +1 -0
  371. package/dist/chunks/NcAppContent-agTfSSHS.mjs +231 -0
  372. package/dist/chunks/NcAppContent-agTfSSHS.mjs.map +1 -0
  373. package/dist/chunks/NcAppContent-kSymH_mo.cjs +221 -0
  374. package/dist/chunks/NcAppContent-kSymH_mo.cjs.map +1 -0
  375. package/dist/chunks/NcAppNavigation-biQcPFmk.mjs +122 -0
  376. package/dist/chunks/NcAppNavigation-biQcPFmk.mjs.map +1 -0
  377. package/dist/chunks/NcAppNavigation-rSC0k8c6.cjs +113 -0
  378. package/dist/chunks/NcAppNavigation-rSC0k8c6.cjs.map +1 -0
  379. package/dist/chunks/NcAppNavigationCaption-E3tdVsYJ.mjs +47 -0
  380. package/dist/chunks/NcAppNavigationCaption-E3tdVsYJ.mjs.map +1 -0
  381. package/dist/chunks/NcAppNavigationCaption-Mugp6fsR.cjs +43 -0
  382. package/dist/chunks/NcAppNavigationCaption-Mugp6fsR.cjs.map +1 -0
  383. package/dist/chunks/NcAppNavigationItem-CzK_gg7C.mjs +508 -0
  384. package/dist/chunks/NcAppNavigationItem-CzK_gg7C.mjs.map +1 -0
  385. package/dist/chunks/NcAppNavigationItem-r0MUwPP7.cjs +496 -0
  386. package/dist/chunks/NcAppNavigationItem-r0MUwPP7.cjs.map +1 -0
  387. package/dist/chunks/NcAppNavigationNewItem-IYhRBzud.cjs +86 -0
  388. package/dist/chunks/NcAppNavigationNewItem-IYhRBzud.cjs.map +1 -0
  389. package/dist/chunks/NcAppNavigationNewItem-X4Ac8vym.mjs +91 -0
  390. package/dist/chunks/NcAppNavigationNewItem-X4Ac8vym.mjs.map +1 -0
  391. package/dist/chunks/NcAppNavigationSettings-0hLCj-s5.mjs +105 -0
  392. package/dist/chunks/NcAppNavigationSettings-0hLCj-s5.mjs.map +1 -0
  393. package/dist/chunks/NcAppNavigationSettings-tvlinWey.cjs +102 -0
  394. package/dist/chunks/NcAppNavigationSettings-tvlinWey.cjs.map +1 -0
  395. package/dist/chunks/{NcAppNavigationToggle-0bc638a8.mjs → NcAppNavigationToggle-RXyDbzmn.mjs} +16 -17
  396. package/dist/chunks/{NcAppNavigationToggle-0bc638a8.mjs.map → NcAppNavigationToggle-RXyDbzmn.mjs.map} +1 -1
  397. package/dist/chunks/NcAppNavigationToggle-ZTz_EO18.cjs +109 -0
  398. package/dist/chunks/{NcAppNavigationToggle-6d192bea.cjs.map → NcAppNavigationToggle-ZTz_EO18.cjs.map} +1 -1
  399. package/dist/chunks/NcAppSettingsDialog-2tyARsR0.cjs +176 -0
  400. package/dist/chunks/NcAppSettingsDialog-2tyARsR0.cjs.map +1 -0
  401. package/dist/chunks/NcAppSettingsDialog-8HAKz-0l.mjs +184 -0
  402. package/dist/chunks/NcAppSettingsDialog-8HAKz-0l.mjs.map +1 -0
  403. package/dist/chunks/NcAppSidebar-PMmg9vsl.cjs +547 -0
  404. package/dist/chunks/NcAppSidebar-PMmg9vsl.cjs.map +1 -0
  405. package/dist/chunks/NcAppSidebar-qaRnOe4Y.mjs +565 -0
  406. package/dist/chunks/NcAppSidebar-qaRnOe4Y.mjs.map +1 -0
  407. package/dist/chunks/{index-309426ff.mjs → NcAvatar-5DJP61Ka.mjs} +73 -145
  408. package/dist/chunks/NcAvatar-5DJP61Ka.mjs.map +1 -0
  409. package/dist/chunks/{index-693e993c.cjs → NcAvatar-YQujzmop.cjs} +56 -128
  410. package/dist/chunks/NcAvatar-YQujzmop.cjs.map +1 -0
  411. package/dist/chunks/NcBreadcrumb-3Ez2uWmp.cjs +172 -0
  412. package/dist/chunks/NcBreadcrumb-3Ez2uWmp.cjs.map +1 -0
  413. package/dist/chunks/NcBreadcrumb-C2oZ_vji.mjs +179 -0
  414. package/dist/chunks/NcBreadcrumb-C2oZ_vji.mjs.map +1 -0
  415. package/dist/chunks/NcBreadcrumbs-H8ec0ouN.cjs +407 -0
  416. package/dist/chunks/NcBreadcrumbs-H8ec0ouN.cjs.map +1 -0
  417. package/dist/chunks/NcBreadcrumbs-tq1eD4Hk.mjs +418 -0
  418. package/dist/chunks/NcBreadcrumbs-tq1eD4Hk.mjs.map +1 -0
  419. package/dist/chunks/NcCheckboxRadioSwitch-BiREcGAk.mjs +607 -0
  420. package/dist/chunks/NcCheckboxRadioSwitch-BiREcGAk.mjs.map +1 -0
  421. package/dist/chunks/NcCheckboxRadioSwitch-xEweFZs1.cjs +603 -0
  422. package/dist/chunks/NcCheckboxRadioSwitch-xEweFZs1.cjs.map +1 -0
  423. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-MzKjkB0t.mjs +3 -0
  424. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-MzKjkB0t.mjs.map +1 -0
  425. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-hGgZcPUX.cjs +3 -0
  426. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-hGgZcPUX.cjs.map +1 -0
  427. package/dist/chunks/NcColorPicker-2IJNZMe-.cjs +161 -0
  428. package/dist/chunks/NcColorPicker-2IJNZMe-.cjs.map +1 -0
  429. package/dist/chunks/NcColorPicker-H0rZhQxw.mjs +172 -0
  430. package/dist/chunks/NcColorPicker-H0rZhQxw.mjs.map +1 -0
  431. package/dist/chunks/NcContent-ZgOMyq2k.cjs +123 -0
  432. package/dist/chunks/NcContent-ZgOMyq2k.cjs.map +1 -0
  433. package/dist/chunks/NcContent-lWYIO3gy.mjs +131 -0
  434. package/dist/chunks/NcContent-lWYIO3gy.mjs.map +1 -0
  435. package/dist/chunks/NcDashboardWidget-hQn58Jv6.mjs +141 -0
  436. package/dist/chunks/NcDashboardWidget-hQn58Jv6.mjs.map +1 -0
  437. package/dist/chunks/NcDashboardWidget-j44iStpo.cjs +134 -0
  438. package/dist/chunks/NcDashboardWidget-j44iStpo.cjs.map +1 -0
  439. package/dist/chunks/NcDashboardWidgetItem-Yp4ii3At.mjs +143 -0
  440. package/dist/chunks/NcDashboardWidgetItem-Yp4ii3At.mjs.map +1 -0
  441. package/dist/chunks/NcDashboardWidgetItem-f4Y_DBsU.cjs +137 -0
  442. package/dist/chunks/NcDashboardWidgetItem-f4Y_DBsU.cjs.map +1 -0
  443. package/dist/chunks/NcDateTime-1ZGz6Hwu.cjs +142 -0
  444. package/dist/chunks/NcDateTime-1ZGz6Hwu.cjs.map +1 -0
  445. package/dist/chunks/NcDateTime-sBcbqRB6.mjs +146 -0
  446. package/dist/chunks/NcDateTime-sBcbqRB6.mjs.map +1 -0
  447. package/dist/chunks/NcDialog-1Nrs9x8z.mjs +214 -0
  448. package/dist/chunks/NcDialog-1Nrs9x8z.mjs.map +1 -0
  449. package/dist/chunks/NcDialog-k6iHgTGm.cjs +206 -0
  450. package/dist/chunks/NcDialog-k6iHgTGm.cjs.map +1 -0
  451. package/dist/chunks/NcDialogButton-37xKCh_l.cjs +68 -0
  452. package/dist/chunks/NcDialogButton-37xKCh_l.cjs.map +1 -0
  453. package/dist/chunks/NcDialogButton-O4JZ53Dj.mjs +73 -0
  454. package/dist/chunks/NcDialogButton-O4JZ53Dj.mjs.map +1 -0
  455. package/dist/chunks/NcEmojiPicker--8moif3g.mjs +249 -0
  456. package/dist/chunks/NcEmojiPicker--8moif3g.mjs.map +1 -0
  457. package/dist/chunks/NcEmojiPicker-gGgrlLAJ.cjs +238 -0
  458. package/dist/chunks/NcEmojiPicker-gGgrlLAJ.cjs.map +1 -0
  459. package/dist/chunks/NcHeaderMenu-5dnFFhRA.cjs +183 -0
  460. package/dist/chunks/NcHeaderMenu-5dnFFhRA.cjs.map +1 -0
  461. package/dist/chunks/NcHeaderMenu-ePmuT5Kz.mjs +190 -0
  462. package/dist/chunks/NcHeaderMenu-ePmuT5Kz.mjs.map +1 -0
  463. package/dist/chunks/NcIconSvgWrapper-P-GkSjTH.mjs +85 -0
  464. package/dist/chunks/NcIconSvgWrapper-P-GkSjTH.mjs.map +1 -0
  465. package/dist/chunks/NcIconSvgWrapper-_lgitSfS.cjs +80 -0
  466. package/dist/chunks/NcIconSvgWrapper-_lgitSfS.cjs.map +1 -0
  467. package/dist/chunks/{NcInputConfirmCancel-a08c5cb4.mjs → NcInputConfirmCancel-HrSwS4LK.mjs} +12 -12
  468. package/dist/chunks/{NcInputConfirmCancel-a08c5cb4.mjs.map → NcInputConfirmCancel-HrSwS4LK.mjs.map} +1 -1
  469. package/dist/chunks/NcInputConfirmCancel-q4IYDSKH.cjs +91 -0
  470. package/dist/chunks/{NcInputConfirmCancel-b99898db.cjs.map → NcInputConfirmCancel-q4IYDSKH.cjs.map} +1 -1
  471. package/dist/chunks/NcListItem-_P2bxfeP.mjs +248 -0
  472. package/dist/chunks/NcListItem-_P2bxfeP.mjs.map +1 -0
  473. package/dist/chunks/NcListItem-wsOnBEF3.cjs +242 -0
  474. package/dist/chunks/NcListItem-wsOnBEF3.cjs.map +1 -0
  475. package/dist/chunks/NcListItemIcon-65Rgi-AZ.cjs +160 -0
  476. package/dist/chunks/NcListItemIcon-65Rgi-AZ.cjs.map +1 -0
  477. package/dist/chunks/NcListItemIcon-IXrbZUKU.mjs +164 -0
  478. package/dist/chunks/NcListItemIcon-IXrbZUKU.mjs.map +1 -0
  479. package/dist/chunks/NcPasswordField-XvXblBeQ.cjs +229 -0
  480. package/dist/chunks/NcPasswordField-XvXblBeQ.cjs.map +1 -0
  481. package/dist/chunks/NcPasswordField-kJ1PZotd.mjs +238 -0
  482. package/dist/chunks/NcPasswordField-kJ1PZotd.mjs.map +1 -0
  483. package/dist/chunks/NcPopover--SjyNre9.cjs +211 -0
  484. package/dist/chunks/NcPopover--SjyNre9.cjs.map +1 -0
  485. package/dist/chunks/NcPopover-yyItaFC6.mjs +218 -0
  486. package/dist/chunks/NcPopover-yyItaFC6.mjs.map +1 -0
  487. package/dist/chunks/NcProgressBar-hQCFE5H3.mjs +99 -0
  488. package/dist/chunks/NcProgressBar-hQCFE5H3.mjs.map +1 -0
  489. package/dist/chunks/NcProgressBar-yrdD1jxU.cjs +95 -0
  490. package/dist/chunks/NcProgressBar-yrdD1jxU.cjs.map +1 -0
  491. package/dist/chunks/NcRelatedResourcesPanel-1nj1tk0J.mjs +205 -0
  492. package/dist/chunks/NcRelatedResourcesPanel-1nj1tk0J.mjs.map +1 -0
  493. package/dist/chunks/NcRelatedResourcesPanel-KxXrRko3.cjs +199 -0
  494. package/dist/chunks/NcRelatedResourcesPanel-KxXrRko3.cjs.map +1 -0
  495. package/dist/chunks/NcRichContenteditable-A0FFbptl.cjs +504 -0
  496. package/dist/chunks/NcRichContenteditable-A0FFbptl.cjs.map +1 -0
  497. package/dist/chunks/NcRichContenteditable-VzFXqSYH.mjs +515 -0
  498. package/dist/chunks/NcRichContenteditable-VzFXqSYH.mjs.map +1 -0
  499. package/dist/chunks/{NcRichText-f729896c.cjs → NcRichText-N44WJqzt.cjs} +112 -71
  500. package/dist/chunks/NcRichText-N44WJqzt.cjs.map +1 -0
  501. package/dist/chunks/{NcRichText-e4bf7767.mjs → NcRichText-YSUTWw6M.mjs} +125 -81
  502. package/dist/chunks/NcRichText-YSUTWw6M.mjs.map +1 -0
  503. package/dist/chunks/NcSavingIndicatorIcon-IqoMFcDK.mjs +62 -0
  504. package/dist/chunks/NcSavingIndicatorIcon-IqoMFcDK.mjs.map +1 -0
  505. package/dist/chunks/NcSavingIndicatorIcon-wcQ0mBIL.cjs +59 -0
  506. package/dist/chunks/NcSavingIndicatorIcon-wcQ0mBIL.cjs.map +1 -0
  507. package/dist/chunks/NcSelect-H-xyiCqP.cjs +462 -0
  508. package/dist/chunks/NcSelect-H-xyiCqP.cjs.map +1 -0
  509. package/dist/chunks/NcSelect-roYZ16y8.mjs +474 -0
  510. package/dist/chunks/NcSelect-roYZ16y8.mjs.map +1 -0
  511. package/dist/chunks/NcSelectTags-3BfQQNLj.mjs +267 -0
  512. package/dist/chunks/NcSelectTags-3BfQQNLj.mjs.map +1 -0
  513. package/dist/chunks/NcSelectTags-iuvfaq_W.cjs +261 -0
  514. package/dist/chunks/NcSelectTags-iuvfaq_W.cjs.map +1 -0
  515. package/dist/chunks/NcSettingsInputText-JHuxEb64.cjs +91 -0
  516. package/dist/chunks/NcSettingsInputText-JHuxEb64.cjs.map +1 -0
  517. package/dist/chunks/NcSettingsInputText-RH5qyxcD.mjs +95 -0
  518. package/dist/chunks/NcSettingsInputText-RH5qyxcD.mjs.map +1 -0
  519. package/dist/chunks/NcSettingsSection-dsoWc5to.cjs +95 -0
  520. package/dist/chunks/NcSettingsSection-dsoWc5to.cjs.map +1 -0
  521. package/dist/chunks/NcSettingsSection-u3WizmVu.mjs +98 -0
  522. package/dist/chunks/NcSettingsSection-u3WizmVu.mjs.map +1 -0
  523. package/dist/chunks/{NcSettingsSelectGroup-ecc8bc5a.mjs → NcSettingsSelectGroup-l7ImtXiI.mjs} +5 -5
  524. package/dist/chunks/{NcSettingsSelectGroup-ecc8bc5a.mjs.map → NcSettingsSelectGroup-l7ImtXiI.mjs.map} +1 -1
  525. package/dist/chunks/{NcSettingsSelectGroup-b065ffc8.cjs → NcSettingsSelectGroup-obOOSE0Z.cjs} +9 -9
  526. package/dist/chunks/{NcSettingsSelectGroup-b065ffc8.cjs.map → NcSettingsSelectGroup-obOOSE0Z.cjs.map} +1 -1
  527. package/dist/chunks/NcTextField-5nK-T1Xg.cjs +140 -0
  528. package/dist/chunks/NcTextField-5nK-T1Xg.cjs.map +1 -0
  529. package/dist/chunks/NcTextField-JlIIeRJa.mjs +146 -0
  530. package/dist/chunks/NcTextField-JlIIeRJa.mjs.map +1 -0
  531. package/dist/chunks/NcTimezonePicker-1NMfD5lj.cjs +7195 -0
  532. package/dist/chunks/NcTimezonePicker-1NMfD5lj.cjs.map +1 -0
  533. package/dist/chunks/NcTimezonePicker-GDJZ0IwA.mjs +7201 -0
  534. package/dist/chunks/NcTimezonePicker-GDJZ0IwA.mjs.map +1 -0
  535. package/dist/chunks/NcUserBubble-ADV-rrgN.cjs +191 -0
  536. package/dist/chunks/NcUserBubble-ADV-rrgN.cjs.map +1 -0
  537. package/dist/chunks/NcUserBubble-HoPxl8_o.mjs +197 -0
  538. package/dist/chunks/NcUserBubble-HoPxl8_o.mjs.map +1 -0
  539. package/dist/chunks/NcUserStatusIcon-WSxqK-Ix.cjs +166 -0
  540. package/dist/chunks/NcUserStatusIcon-WSxqK-Ix.cjs.map +1 -0
  541. package/dist/chunks/NcUserStatusIcon-dgPMbNYQ.mjs +174 -0
  542. package/dist/chunks/NcUserStatusIcon-dgPMbNYQ.mjs.map +1 -0
  543. package/dist/chunks/{ScopeComponent-b039a43c.mjs → ScopeComponent-8lJfv9VF.mjs} +4 -4
  544. package/dist/chunks/{ScopeComponent-b039a43c.mjs.map → ScopeComponent-8lJfv9VF.mjs.map} +1 -1
  545. package/dist/chunks/{ScopeComponent-06c558d3.cjs → ScopeComponent-d_TBKnQk.cjs} +4 -4
  546. package/dist/chunks/{ScopeComponent-06c558d3.cjs.map → ScopeComponent-d_TBKnQk.cjs.map} +1 -1
  547. package/dist/chunks/_l10n-RVZyA63y.cjs +64 -0
  548. package/dist/chunks/_l10n-RVZyA63y.cjs.map +1 -0
  549. package/dist/chunks/_l10n-gZppkly8.mjs +66 -0
  550. package/dist/chunks/_l10n-gZppkly8.mjs.map +1 -0
  551. package/dist/chunks/_plugin-vue2_normalizer-DCfUPqga.cjs.map +1 -0
  552. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.mjs.map +1 -0
  553. package/dist/chunks/{actionGlobal-9e29e11b.cjs → actionGlobal-_f-PhW84.cjs} +3 -7
  554. package/dist/chunks/actionGlobal-_f-PhW84.cjs.map +1 -0
  555. package/dist/chunks/{actionGlobal-8c1c28c9.mjs → actionGlobal-ejpd0zqm.mjs} +3 -7
  556. package/dist/chunks/actionGlobal-ejpd0zqm.mjs.map +1 -0
  557. package/dist/chunks/{actionText-123f26b0.mjs → actionText-AoAs4kqP.mjs} +6 -2
  558. package/dist/chunks/{actionText-e450809c.cjs.map → actionText-AoAs4kqP.mjs.map} +1 -1
  559. package/dist/chunks/{actionText-e450809c.cjs → actionText-pGrMQtZ3.cjs} +6 -2
  560. package/dist/chunks/{actionText-123f26b0.mjs.map → actionText-pGrMQtZ3.cjs.map} +1 -1
  561. package/dist/chunks/emoji-mJIuLpNR.cjs +58 -0
  562. package/dist/chunks/emoji-mJIuLpNR.cjs.map +1 -0
  563. package/dist/chunks/emoji-tllD0Rvt.mjs +61 -0
  564. package/dist/chunks/emoji-tllD0Rvt.mjs.map +1 -0
  565. package/dist/chunks/{focusTrap-5d0f71d4.mjs.map → focusTrap-Py2bQ9-r.mjs.map} +1 -1
  566. package/dist/chunks/{focusTrap-14985831.cjs.map → focusTrap-n3H52LOw.cjs.map} +1 -1
  567. package/dist/chunks/{index-20a9ace9.mjs → index-2phCrsSH.mjs} +1 -1
  568. package/dist/chunks/{index-20a9ace9.mjs.map → index-2phCrsSH.mjs.map} +1 -1
  569. package/dist/chunks/{index-4398f925.cjs → index-AX_b-FPF.cjs} +2 -1
  570. package/dist/chunks/{index-4398f925.cjs.map → index-AX_b-FPF.cjs.map} +1 -1
  571. package/dist/chunks/{index-e894376a.cjs → index-FO4BaGaF.cjs} +1 -1
  572. package/dist/chunks/{index-e894376a.cjs.map → index-FO4BaGaF.cjs.map} +1 -1
  573. package/dist/chunks/{index-5f2a5f57.mjs → index-KrMGGc7j.mjs} +3 -2
  574. package/dist/chunks/{index-5f2a5f57.mjs.map → index-KrMGGc7j.mjs.map} +1 -1
  575. package/dist/chunks/{logger-3612e664.mjs.map → logger-3m1eQsSo.mjs.map} +1 -1
  576. package/dist/chunks/{logger-4998b668.cjs.map → logger-G6OKp5ly.cjs.map} +1 -1
  577. package/dist/chunks/{referencePickerModal-12fa2ad0.cjs → referencePickerModal-byTgSeys.cjs} +152 -170
  578. package/dist/chunks/{referencePickerModal-12fa2ad0.cjs.map → referencePickerModal-byTgSeys.cjs.map} +1 -1
  579. package/dist/chunks/{referencePickerModal-12935fb3.mjs → referencePickerModal-tEVbhwha.mjs} +171 -189
  580. package/dist/chunks/{referencePickerModal-12935fb3.mjs.map → referencePickerModal-tEVbhwha.mjs.map} +1 -1
  581. package/dist/chunks/usernameToColor-LY-6e04n.mjs +41 -0
  582. package/dist/chunks/usernameToColor-LY-6e04n.mjs.map +1 -0
  583. package/dist/chunks/usernameToColor-ty7b2Xom.cjs +39 -0
  584. package/dist/chunks/usernameToColor-ty7b2Xom.cjs.map +1 -0
  585. package/dist/functions/emoji/emoji.d.ts +50 -0
  586. package/dist/{Functions/emoji.mjs → functions/emoji/index.d.ts} +1 -16
  587. package/dist/index.cjs +163 -157
  588. package/dist/index.cjs.map +1 -1
  589. package/dist/index.mjs +157 -149
  590. package/dist/index.mjs.map +1 -1
  591. package/dist/utils/UserStatus.d.ts +1 -3
  592. package/package.json +6 -4
  593. package/dist/Functions/emoji.cjs +0 -36
  594. package/dist/Functions/emoji.cjs.map +0 -1
  595. package/dist/Functions/emoji.mjs.map +0 -1
  596. package/dist/chunks/GenColors-5c054042.mjs.map +0 -1
  597. package/dist/chunks/GenColors-7495e6f6.cjs.map +0 -1
  598. package/dist/chunks/NcAppNavigationToggle-6d192bea.cjs +0 -110
  599. package/dist/chunks/NcInputConfirmCancel-b99898db.cjs +0 -91
  600. package/dist/chunks/NcRichText-e4bf7767.mjs.map +0 -1
  601. package/dist/chunks/NcRichText-f729896c.cjs.map +0 -1
  602. package/dist/chunks/_l10n-72c5e29e.cjs +0 -62
  603. package/dist/chunks/_l10n-72c5e29e.cjs.map +0 -1
  604. package/dist/chunks/_l10n-f5af5269.mjs +0 -64
  605. package/dist/chunks/_l10n-f5af5269.mjs.map +0 -1
  606. package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs.map +0 -1
  607. package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs.map +0 -1
  608. package/dist/chunks/actionGlobal-8c1c28c9.mjs.map +0 -1
  609. package/dist/chunks/actionGlobal-9e29e11b.cjs.map +0 -1
  610. package/dist/chunks/index-309426ff.mjs.map +0 -1
  611. package/dist/chunks/index-693e993c.cjs.map +0 -1
  612. /package/dist/assets/{index-418d4e87.css → NcActionCaption-afJqyJO6.css} +0 -0
  613. /package/dist/assets/{index-018895f7.css → NcActionSeparator-l98xWbiL.css} +0 -0
  614. /package/dist/assets/{index-fc61f2d8.css → NcAppNavigationIconBullet-Nf3ARMLv.css} +0 -0
  615. /package/dist/assets/{index-0ac09203.css → NcAppNavigationNew-joyd78FM.css} +0 -0
  616. /package/dist/assets/{index-f78bd735.css → NcAppNavigationSettings-Jx_6RpSn.css} +0 -0
  617. /package/dist/assets/{index-76dd9f11.css → NcAppNavigationSpacer-MfL8GeCN.css} +0 -0
  618. /package/dist/assets/{NcAppNavigationToggle-48c375e8.css → NcAppNavigationToggle-upUgYNtL.css} +0 -0
  619. /package/dist/assets/{index-1f25a3c0.css → NcAppSettingsSection-ahfdhix_.css} +0 -0
  620. /package/dist/assets/{index-2d5cf6b2.css → NcAppSidebar-iU8Zp4Qk.css} +0 -0
  621. /package/dist/assets/{index-77a548be.css → NcAppSidebarTab-Phau6edJ.css} +0 -0
  622. /package/dist/assets/{index-17673ea1.css → NcCounterBubble-rgkmqN46.css} +0 -0
  623. /package/dist/assets/{index-6416f636.css → NcDashboardWidget-01deRW9Z.css} +0 -0
  624. /package/dist/assets/{index-e7eadba7.css → NcDashboardWidgetItem-S7fELANA.css} +0 -0
  625. /package/dist/assets/{index-8b327013.css → NcDateTimePickerNative-2pQS5L0H.css} +0 -0
  626. /package/dist/assets/{index-a2b51bce.css → NcEllipsisedOption-eoI10kvc.css} +0 -0
  627. /package/dist/assets/{index-c239a2fc.css → NcEmptyContent-pSz7F6Oe.css} +0 -0
  628. /package/dist/assets/{index-8aa4712e.css → NcGuestContent-mGGTzI2_.css} +0 -0
  629. /package/dist/assets/{NcInputConfirmCancel-45d1d76b.css → NcInputConfirmCancel-ks8z8dIn.css} +0 -0
  630. /package/dist/assets/{index-f24e102f.css → NcListItem-xcW2PRrk.css} +0 -0
  631. /package/dist/assets/{index-6f721577.css → NcListItemIcon-PQ2s6ZqX.css} +0 -0
  632. /package/dist/assets/{index-b8f13a1f.css → NcLoadingIcon-hZn7TJM8.css} +0 -0
  633. /package/dist/assets/{NcMentionBubble-6e887c5f.css → NcMentionBubble-2OXF_uEJ.css} +0 -0
  634. /package/dist/assets/{index-400b48a6.css → NcNoteCard-OTfZqVvP.css} +0 -0
  635. /package/dist/assets/{index-4ebacc78.css → NcPopover-MK4GcuPY.css} +0 -0
  636. /package/dist/assets/{index-6c47e88a.css → NcSettingsInputText-MPi6a3Yy.css} +0 -0
  637. /package/dist/assets/{NcSettingsSelectGroup-a29e2156.css → NcSettingsSelectGroup-_Jpb8yE3.css} +0 -0
  638. /package/dist/assets/{index-d211cae8.css → Tooltip-wOLIuz0Q.css} +0 -0
  639. /package/dist/chunks/{GenRandomId-c214d235.cjs → GenRandomId-ULxaMkkr.cjs} +0 -0
  640. /package/dist/chunks/{GenRandomId-cb9ccebe.mjs → GenRandomId-VodkdWbp.mjs} +0 -0
  641. /package/dist/chunks/{Linkify-39f20c9a.mjs → Linkify-V7PfCeZ8.mjs} +0 -0
  642. /package/dist/chunks/{Linkify-40cdd635.cjs → Linkify-f3s3nAe_.cjs} +0 -0
  643. /package/dist/chunks/{_plugin-vue2_normalizer-7f9efb60.cjs → _plugin-vue2_normalizer-DCfUPqga.cjs} +0 -0
  644. /package/dist/chunks/{_plugin-vue2_normalizer-71e2aa87.mjs → _plugin-vue2_normalizer-u6G_3nkj.mjs} +0 -0
  645. /package/dist/chunks/{focusTrap-5d0f71d4.mjs → focusTrap-Py2bQ9-r.mjs} +0 -0
  646. /package/dist/chunks/{focusTrap-14985831.cjs → focusTrap-n3H52LOw.cjs} +0 -0
  647. /package/dist/chunks/{logger-3612e664.mjs → logger-3m1eQsSo.mjs} +0 -0
  648. /package/dist/chunks/{logger-4998b668.cjs → logger-G6OKp5ly.cjs} +0 -0
@@ -1,6 +1,5 @@
1
- var _ = require("../assets/index-2a1ec06b.css");
2
- const l = require("./NcButton.cjs"), s = require("../chunks/GenRandomId-c214d235.cjs"), a = require("../chunks/AlertCircleOutline-7085c10f.cjs"), n = require("../chunks/Check-be8cd6af.cjs"), r = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs");
3
- const u = {
1
+ var h = require("../assets/NcInputField-L2Lld_iG.css");
2
+ const l = require("./NcButton.cjs"), s = require("../chunks/GenRandomId-ULxaMkkr.cjs"), a = require("../chunks/AlertCircleOutline-VgVvRWpm.cjs"), n = require("../chunks/Check-5uKO4aXx.cjs"), r = require("../chunks/_plugin-vue2_normalizer-DCfUPqga.cjs"), u = {
4
3
  name: "NcInputField",
5
4
  components: {
6
5
  NcButton: l,
@@ -11,9 +10,10 @@ const u = {
11
10
  props: {
12
11
  /**
13
12
  * The value of the input field
13
+ * If type is 'number' and a number is passed as value than the type of `update:value` will also be 'number'
14
14
  */
15
15
  value: {
16
- type: String,
16
+ type: [String, Number],
17
17
  required: !0
18
18
  },
19
19
  /**
@@ -177,7 +177,7 @@ const u = {
177
177
  this.$refs.input.select();
178
178
  },
179
179
  handleInput(t) {
180
- this.$emit("update:value", t.target.value);
180
+ this.$emit("update:value", this.type === "number" && typeof this.value == "number" ? parseFloat(t.target.value, 10) : t.target.value);
181
181
  },
182
182
  handleTrailingButtonClick(t) {
183
183
  this.$emit("trailing-button-click", t);
@@ -196,7 +196,7 @@ var o = function() {
196
196
  "input-field__input--error": e.error,
197
197
  "input-field__input--pill": e.pill
198
198
  }
199
- ], attrs: { id: e.computedId, type: e.type, disabled: e.disabled, placeholder: e.computedPlaceholder, "aria-describedby": e.ariaDescribedby, "aria-live": "polite" }, domProps: { value: e.value }, on: { input: e.handleInput } }, "input", e.$attrs, !1), e.$listeners)), !e.labelOutside && e.isValidLabel ? i("label", { staticClass: "input-field__label", class: [{
199
+ ], attrs: { id: e.computedId, type: e.type, disabled: e.disabled, placeholder: e.computedPlaceholder, "aria-describedby": e.ariaDescribedby, "aria-live": "polite" }, domProps: { value: e.value.toString() }, on: { input: e.handleInput } }, "input", e.$attrs, !1), e.$listeners)), !e.labelOutside && e.isValidLabel ? i("label", { staticClass: "input-field__label", class: [{
200
200
  "input-field__label--trailing-icon": e.showTrailingButton || e.hasTrailingIcon,
201
201
  "input-field__label--leading-icon": e.hasLeadingIcon
202
202
  }], attrs: { for: e.computedId } }, [e._v(" " + e._s(e.label) + " ")]) : e._e(), i("div", { directives: [{ name: "show", rawName: "v-show", value: e.hasLeadingIcon, expression: "hasLeadingIcon" }], staticClass: "input-field__icon input-field__icon--leading" }, [e._t("default")], 2), e.showTrailingButton ? i("NcButton", { staticClass: "input-field__trailing-button", class: [{
@@ -207,15 +207,15 @@ var o = function() {
207
207
  "input-field__helper-text-message--error": e.error,
208
208
  "input-field__helper-text-message--success": e.success
209
209
  }, attrs: { id: `${e.inputName}-helper-text` } }, [e.success ? i("Check", { staticClass: "input-field__helper-text-message__icon", attrs: { size: 18 } }) : e.error ? i("AlertCircle", { staticClass: "input-field__helper-text-message__icon", attrs: { size: 18 } }) : e._e(), e._v(" " + e._s(e.helperText) + " ")], 1) : e._e()]);
210
- }, c = [], d = /* @__PURE__ */ r.normalizeComponent(
210
+ }, d = [], c = /* @__PURE__ */ r.normalizeComponent(
211
211
  u,
212
212
  o,
213
- c,
213
+ d,
214
214
  !1,
215
215
  null,
216
- "e8c696ab",
216
+ "b312d183",
217
217
  null,
218
218
  null
219
219
  );
220
- const p = d.exports;
220
+ const p = c.exports;
221
221
  module.exports = p;
@@ -1 +1 @@
1
- {"version":3,"file":"NcInputField.cjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2022 Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @author Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\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\"\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 */\n\t\tvalue: {\n\t\t\ttype: String,\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', 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.7;\n\t\tfilter: saturate(0.7);\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: 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-color: 2px solid 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\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":["_sfc_main","Components_NcButton","AlertCircleOutline","Check","value","GenRandomId","isValidLabel","ariaDescribedby","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcInputField.cjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2022 Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @author Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\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: 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-color: 2px solid 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":["_sfc_main","Components_NcButton","AlertCircleOutline","Check","value","GenRandomId","isValidLabel","ariaDescribedby","event"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import "../assets/index-2a1ec06b.css";
1
+ import "../assets/NcInputField-L2Lld_iG.css";
2
2
  import l from "./NcButton.mjs";
3
- import { G as a } from "../chunks/GenRandomId-cb9ccebe.mjs";
4
- import { A as s } from "../chunks/AlertCircleOutline-b73838e0.mjs";
5
- import { C as n } from "../chunks/Check-2ea0a88a.mjs";
6
- import { n as r } from "../chunks/_plugin-vue2_normalizer-71e2aa87.mjs";
3
+ import { G as a } from "../chunks/GenRandomId-VodkdWbp.mjs";
4
+ import { A as s } from "../chunks/AlertCircleOutline-lwSRucNO.mjs";
5
+ import { C as n } from "../chunks/Check-FObi_cEO.mjs";
6
+ import { n as r } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.mjs";
7
7
  const u = {
8
8
  name: "NcInputField",
9
9
  components: {
@@ -15,9 +15,10 @@ const u = {
15
15
  props: {
16
16
  /**
17
17
  * The value of the input field
18
+ * If type is 'number' and a number is passed as value than the type of `update:value` will also be 'number'
18
19
  */
19
20
  value: {
20
- type: String,
21
+ type: [String, Number],
21
22
  required: !0
22
23
  },
23
24
  /**
@@ -181,7 +182,7 @@ const u = {
181
182
  this.$refs.input.select();
182
183
  },
183
184
  handleInput(t) {
184
- this.$emit("update:value", t.target.value);
185
+ this.$emit("update:value", this.type === "number" && typeof this.value == "number" ? parseFloat(t.target.value, 10) : t.target.value);
185
186
  },
186
187
  handleTrailingButtonClick(t) {
187
188
  this.$emit("trailing-button-click", t);
@@ -200,7 +201,7 @@ var o = function() {
200
201
  "input-field__input--error": e.error,
201
202
  "input-field__input--pill": e.pill
202
203
  }
203
- ], attrs: { id: e.computedId, type: e.type, disabled: e.disabled, placeholder: e.computedPlaceholder, "aria-describedby": e.ariaDescribedby, "aria-live": "polite" }, domProps: { value: e.value }, on: { input: e.handleInput } }, "input", e.$attrs, !1), e.$listeners)), !e.labelOutside && e.isValidLabel ? i("label", { staticClass: "input-field__label", class: [{
204
+ ], attrs: { id: e.computedId, type: e.type, disabled: e.disabled, placeholder: e.computedPlaceholder, "aria-describedby": e.ariaDescribedby, "aria-live": "polite" }, domProps: { value: e.value.toString() }, on: { input: e.handleInput } }, "input", e.$attrs, !1), e.$listeners)), !e.labelOutside && e.isValidLabel ? i("label", { staticClass: "input-field__label", class: [{
204
205
  "input-field__label--trailing-icon": e.showTrailingButton || e.hasTrailingIcon,
205
206
  "input-field__label--leading-icon": e.hasLeadingIcon
206
207
  }], attrs: { for: e.computedId } }, [e._v(" " + e._s(e.label) + " ")]) : e._e(), i("div", { directives: [{ name: "show", rawName: "v-show", value: e.hasLeadingIcon, expression: "hasLeadingIcon" }], staticClass: "input-field__icon input-field__icon--leading" }, [e._t("default")], 2), e.showTrailingButton ? i("NcButton", { staticClass: "input-field__trailing-button", class: [{
@@ -217,7 +218,7 @@ var o = function() {
217
218
  d,
218
219
  !1,
219
220
  null,
220
- "e8c696ab",
221
+ "b312d183",
221
222
  null,
222
223
  null
223
224
  );
@@ -1 +1 @@
1
- {"version":3,"file":"NcInputField.mjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2022 Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @author Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\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\"\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 */\n\t\tvalue: {\n\t\t\ttype: String,\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', 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.7;\n\t\tfilter: saturate(0.7);\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: 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-color: 2px solid 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\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":["_sfc_main","NcButton","AlertCircle","Check","value","GenRandomId","isValidLabel","ariaDescribedby","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcInputField.mjs","sources":["../../src/components/NcInputField/NcInputField.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2022 Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @author Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\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: 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-color: 2px solid 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":["_sfc_main","NcButton","AlertCircle","Check","value","GenRandomId","isValidLabel","ariaDescribedby","event"],"mappings":"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"}
@@ -1,242 +1,3 @@
1
- var y = require("../assets/index-f24e102f.css");
2
- const c = require("./NcActions.cjs"), r = require("./NcCounterBubble.cjs"), u = require("./NcVNodes.cjs"), n = require("../chunks/_l10n-72c5e29e.cjs"), d = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs");
3
- n.register(n.t5);
4
- const h = {
5
- name: "NcListItem",
6
- components: {
7
- NcActions: c,
8
- NcCounterBubble: r,
9
- NcVNodes: u
10
- },
11
- props: {
12
- /**
13
- * The details text displayed in the upper right part of the component
14
- */
15
- details: {
16
- type: String,
17
- default: ""
18
- },
19
- /**
20
- * Name (first line of text)
21
- */
22
- name: {
23
- type: String,
24
- required: !0
25
- },
26
- /**
27
- * Pass in `true` if you want the matching behavior to
28
- * be non-inclusive: https://router.vuejs.org/api/#exact
29
- */
30
- exact: {
31
- type: Boolean,
32
- default: !1
33
- },
34
- /**
35
- * The route for the router link.
36
- */
37
- to: {
38
- type: [String, Object],
39
- default: null
40
- },
41
- /**
42
- * The value for the external link
43
- */
44
- href: {
45
- type: String,
46
- default: "#"
47
- },
48
- target: {
49
- type: String,
50
- default: ""
51
- },
52
- /**
53
- * Id for the `<a>` element
54
- */
55
- anchorId: {
56
- type: String,
57
- default: ""
58
- },
59
- /**
60
- * Make subname bold
61
- */
62
- bold: {
63
- type: Boolean,
64
- default: !1
65
- },
66
- /**
67
- * Show the NcListItem in compact design
68
- */
69
- compact: {
70
- type: Boolean,
71
- default: !1
72
- },
73
- /**
74
- * Toggle the active state of the component
75
- */
76
- active: {
77
- type: Boolean,
78
- default: !1
79
- },
80
- /**
81
- * Aria label for the wrapper element
82
- */
83
- linkAriaLabel: {
84
- type: String,
85
- default: ""
86
- },
87
- /**
88
- * Aria label for the actions toggle
89
- */
90
- actionsAriaLabel: {
91
- type: String,
92
- default: ""
93
- },
94
- /**
95
- * If different from 0 this component will display the
96
- * NcCounterBubble component
97
- */
98
- counterNumber: {
99
- type: [Number, String],
100
- default: 0
101
- },
102
- /**
103
- * Outlined or highlighted state of the counter
104
- */
105
- counterType: {
106
- type: String,
107
- default: "",
108
- validator(i) {
109
- return ["highlighted", "outlined", ""].indexOf(i) !== -1;
110
- }
111
- },
112
- /**
113
- * To be used only when the elements in the actions menu are very important
114
- */
115
- forceDisplayActions: {
116
- type: Boolean,
117
- default: !1
118
- }
119
- },
120
- emits: [
121
- "click",
122
- "update:menuOpen"
123
- ],
124
- data() {
125
- return {
126
- hovered: !1,
127
- focused: !1,
128
- hasActions: !1,
129
- hasSubname: !1,
130
- displayActionsOnHoverFocus: !1,
131
- menuOpen: !1,
132
- hasIndicator: !1
133
- };
134
- },
135
- computed: {
136
- hasDetails() {
137
- return this.details !== "";
138
- },
139
- oneLine() {
140
- return !this.hasSubname && !this.showDetails;
141
- },
142
- showAdditionalElements() {
143
- return !this.displayActionsOnHoverFocus || this.forceDisplayActions;
144
- },
145
- showDetails() {
146
- return this.hasDetails && (!this.displayActionsOnHoverFocus || this.forceDisplayActions);
147
- },
148
- computedActionsAriaLabel() {
149
- return this.actionsAriaLabel || n.t('Actions for item with name "{name}"', { name: this.name });
150
- }
151
- },
152
- watch: {
153
- menuOpen(i) {
154
- !i && !this.hovered && (this.displayActionsOnHoverFocus = !1);
155
- }
156
- },
157
- mounted() {
158
- this.checkSlots();
159
- },
160
- updated() {
161
- this.checkSlots();
162
- },
163
- methods: {
164
- /**
165
- * Handle link click
166
- *
167
- * @param {PointerEvent} event - Native click event
168
- * @param {Function} [navigate] - VueRouter link's navigate if any
169
- * @param {string} [routerLinkHref] - VueRouter link's href
170
- */
171
- onClick(i, e, t) {
172
- this.$emit("click", i), !(i.metaKey || i.altKey || i.ctrlKey || i.shiftKey) && t && (e == null || e(i), i.preventDefault());
173
- },
174
- handleMouseover() {
175
- this.showActions(), this.hovered = !0;
176
- },
177
- showActions() {
178
- this.hasActions && (this.displayActionsOnHoverFocus = !0), this.hovered = !1;
179
- },
180
- hideActions() {
181
- this.displayActionsOnHoverFocus = !1;
182
- },
183
- /**
184
- * Show actions upon focus
185
- */
186
- handleFocus() {
187
- this.focused = !0, this.showActions();
188
- },
189
- handleBlur() {
190
- this.focused = !1;
191
- },
192
- /**
193
- * Hide the actions on mouseleave unless the menu is open
194
- */
195
- handleMouseleave() {
196
- this.menuOpen || (this.displayActionsOnHoverFocus = !1), this.hovered = !1;
197
- },
198
- /**
199
- * This method checks if the root element of the component is focused and
200
- * if that's the case it focuses the actions button if available
201
- *
202
- * @param {Event} e the keydown event
203
- */
204
- handleTab(i) {
205
- this.focused && this.hasActions ? (i.preventDefault(), this.$refs.actions.$refs.menuButton.$el.focus(), this.focused = !1) : this.displayActionsOnHoverFocus = !1;
206
- },
207
- handleActionsUpdateOpen(i) {
208
- this.menuOpen = i, this.$emit("update:menuOpen", i);
209
- },
210
- // Check if subname and actions slots are populated
211
- checkSlots() {
212
- this.hasActions !== !!this.$slots.actions && (this.hasActions = !!this.$slots.actions), this.hasSubname !== !!this.$slots.subname && (this.hasSubname = !!this.$slots.subname), this.hasIndicator !== !!this.$slots.indicator && (this.hasIndicator = !!this.$slots.indicator);
213
- }
214
- }
215
- };
216
- var p = function() {
217
- var e = this, t = e._self._c;
218
- return t(e.to ? "router-link" : "NcVNodes", { tag: "component", attrs: { custom: e.to ? !0 : null, to: e.to, exact: e.to ? e.exact : null }, scopedSlots: e._u([{ key: "default", fn: function({ href: o, navigate: l, isActive: a }) {
219
- return [t("li", { staticClass: "list-item__wrapper", class: { "list-item__wrapper--active": a || e.active } }, [t("a", { ref: "list-item", staticClass: "list-item", attrs: { id: e.anchorId, href: o || e.href, target: e.target || (e.href === "#" ? void 0 : "_blank"), rel: e.href === "#" ? void 0 : "noopener noreferrer", "aria-label": e.linkAriaLabel }, on: { mouseover: e.handleMouseover, mouseleave: e.handleMouseleave, focus: e.handleFocus, blur: e.handleBlur, keydown: [function(s) {
220
- return !s.type.indexOf("key") && e._k(s.keyCode, "tab", 9, s.key, "Tab") || s.ctrlKey || s.shiftKey || s.altKey || s.metaKey ? null : e.handleTab.apply(null, arguments);
221
- }, function(s) {
222
- return !s.type.indexOf("key") && e._k(s.keyCode, "esc", 27, s.key, ["Esc", "Escape"]) ? null : e.hideActions.apply(null, arguments);
223
- }], click: function(s) {
224
- return e.onClick(s, l, o);
225
- } } }, [t("div", { staticClass: "list-item-content__wrapper", class: { "list-item-content__wrapper--compact": e.compact } }, [e._t("icon"), t("div", { staticClass: "list-item-content" }, [t("div", { staticClass: "list-item-content__main", class: { "list-item-content__main--oneline": e.oneLine } }, [t("div", { staticClass: "line-one" }, [t("span", { staticClass: "line-one__name" }, [e._v(" " + e._s(e.name) + " ")]), e.showDetails ? t("span", { staticClass: "line-one__details" }, [e._v(" " + e._s(e.details) + " ")]) : e._e()]), t("div", { staticClass: "line-two", class: { "line-two--bold": e.bold } }, [e.hasSubname ? t("span", { staticClass: "line-two__subname" }, [e._t("subname")], 2) : e._e(), e.counterNumber != 0 || e.hasIndicator ? t("span", { directives: [{ name: "show", rawName: "v-show", value: e.showAdditionalElements, expression: "showAdditionalElements" }], staticClass: "line-two__additional_elements" }, [e.counterNumber != 0 ? t("NcCounterBubble", { staticClass: "line-two__counter", attrs: { active: a || e.active, type: e.counterType } }, [e._v(" " + e._s(e.counterNumber) + " ")]) : e._e(), e.hasIndicator ? t("span", { staticClass: "line-two__indicator" }, [e._t("indicator")], 2) : e._e()], 1) : e._e()])]), e.forceDisplayActions ? e._e() : t("div", { directives: [{ name: "show", rawName: "v-show", value: e.displayActionsOnHoverFocus, expression: "displayActionsOnHoverFocus" }], staticClass: "list-item-content__actions", on: { click: function(s) {
226
- s.preventDefault(), s.stopPropagation();
227
- } } }, [t("NcActions", { ref: "actions", attrs: { primary: a || e.active, "aria-label": e.computedActionsAriaLabel }, on: { "update:open": e.handleActionsUpdateOpen } }, [e._t("actions")], 2)], 1)]), e.forceDisplayActions ? t("div", { staticClass: "list-item-content__actions", on: { click: function(s) {
228
- s.preventDefault(), s.stopPropagation();
229
- } } }, [t("NcActions", { ref: "actions", attrs: { primary: a || e.active, "aria-label": e.computedActionsAriaLabel }, on: { "update:open": e.handleActionsUpdateOpen } }, [e._t("actions")], 2)], 1) : e._e()], 2), e.$slots.extra ? t("div", { staticClass: "list-item__extra" }, [e._t("extra")], 2) : e._e()])])];
230
- } }], null, !0) });
231
- }, f = [], m = /* @__PURE__ */ d.normalizeComponent(
232
- h,
233
- p,
234
- f,
235
- !1,
236
- null,
237
- "57c41e90",
238
- null,
239
- null
240
- );
241
- const _ = m.exports;
242
- module.exports = _;
1
+ "use strict";
2
+ const t = require("../chunks/NcListItem-wsOnBEF3.cjs");
3
+ module.exports = t.NcListItem;
@@ -1 +1 @@
1
- {"version":3,"file":"NcListItem.cjs","sources":["../../src/components/NcListItem/NcListItem.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n<docs>\n\n### Default Usage\n\n```vue\n<template>\n\t<ul>\n\t\t<NcListItem\n\t\t\t:name=\"'This is an active element with highlighted counter'\"\n\t\t\t:bold=\"false\"\n\t\t\t:active=\"true\"\n\t\t\t:details=\"'1h'\"\n\t\t\t:counter-number=\"44\"\n\t\t\tcounterType=\"highlighted\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #indicator>\n\t\t\t\t<!-- Color dot -->\n\t\t\t\t<CheckboxBlankCircle :size=\"16\" fill-color=\"#fff\" />\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton one\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton two\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton three\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcListItem\n\t\t\t:name=\"'This is an active element with outlined counter'\"\n\t\t\t:bold=\"false\"\n\t\t\t:active=\"true\"\n\t\t\t:details=\"'1h'\"\n\t\t\t:counter-number=\"44\"\n\t\t\tcounterType=\"outlined\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #indicator>\n\t\t\t\t<!-- Color dot -->\n\t\t\t\t<CheckboxBlankCircle :size=\"16\" fill-color=\"#fff\" />\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton one\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton two\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton three\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcListItem\n\t\t\t:name=\"'This is an active element with normal counter'\"\n\t\t\t:bold=\"false\"\n\t\t\t:active=\"true\"\n\t\t\t:details=\"'1h'\"\n\t\t\t:counter-number=\"44\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #indicator>\n\t\t\t\t<!-- Color dot -->\n\t\t\t\t<CheckboxBlankCircle :size=\"16\" fill-color=\"#fff\" />\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton one\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton two\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton three\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcListItem\n\t\t\t:name=\"'Name of the element with highlighted counter'\"\n\t\t\t:bold=\"false\"\n\t\t\t:force-display-actions=\"true\"\n\t\t\t:details=\"'1h'\"\n\t\t\t:counter-number=\"44\"\n\t\t\tcounterType=\"highlighted\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton one\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton two\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton three\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcListItem\n\t\t\t:name=\"'Name of the element with outlined counter'\"\n\t\t\t:bold=\"false\"\n\t\t\t:force-display-actions=\"true\"\n\t\t\t:details=\"'1h'\"\n\t\t\t:counter-number=\"44\"\n\t\t\tcounterType=\"outlined\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton one\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton two\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton three\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcListItem\n\t\t\t:name=\"'Name of the element with normal counter'\"\n\t\t\t:bold=\"false\"\n\t\t\t:force-display-actions=\"true\"\n\t\t\t:details=\"'1h'\"\n\t\t\t:counter-number=\"44\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton one\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton two\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton three\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcListItem\n\t\t\t:name=\"'Name of the element'\"\n\t\t\t:bold=\"false\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #indicator>\n\t\t\t\t<!-- Color dot -->\n\t\t\t\t<CheckboxBlankCircle :size=\"16\" fill-color=\"#0082c9\"/>\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton one\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton two\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton>\n\t\t\t\t\tButton three\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcListItem\n\t\t\t:name=\"'Name of the element'\"\n\t\t\t:bold=\"false\"\n\t\t\t:details=\"'1h'\">\n\t\t\t<template #icon>\n\t\t\t\t<NcAvatar :size=\"44\" user=\"janedoe\" display-name=\"Jane Doe\" />\n\t\t\t</template>\n\t\t\t<template #subname>\n\t\t\t\tIn this slot you can put both text and other components such as icons\n\t\t\t</template>\n\t\t\t<template #indicator>\n\t\t\t\t<!-- Color dot -->\n\t\t\t\t<CheckboxBlankCircle :size=\"16\" fill-color=\"#0082c9\"/>\n\t\t\t</template>\n\t\t</NcListItem>\n\t</ul>\n</template>\n\n<script>\n\timport CheckboxBlankCircle from 'vue-material-design-icons/CheckboxBlankCircle'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tCheckboxBlankCircle,\n\t\t}\n\t}\n</script>\n\n```\n\n### NcListItem compact mode\n```\n<ul style=\"width: 350px;\">\n\t<NcListItem\n\t\t:name=\"'Name of the element'\"\n\t\t:counter-number=\"1\"\n\t\t:compact=\"true\" >\n\t\t<template #icon>\n\t\t\t<div class=\"icon-edit\" />\n\t\t</template>\n\t\t<template #subname>\n\t\t\tThis one is with subname\n\t\t</template>\n\t\t<template #actions>\n\t\t\t<NcActionButton>\n\t\t\t\tButton one\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton>\n\t\t\t\tButton two\n\t\t\t</NcActionButton>\n\t\t</template>\n\t</NcListItem>\n\t<NcListItem\n\t\t:name=\"'Name of the element'\"\n\t\t:compact=\"true\" >\n\t\t<template #icon>\n\t\t\t<div class=\"icon-edit\" />\n\t\t</template>\n\t</NcListItem>\n\t<NcListItem\n\t\t:name=\"'Name of the element'\"\n\t\t:counter-number=\"3\"\n\t\t:compact=\"true\" >\n\t\t<template #icon>\n\t\t\t<div class=\"icon-edit\" />\n\t\t</template>\n\t\t<template #subname>\n\t\t\tThis one is with subname\n\t\t</template>\n\t\t<template #actions>\n\t\t\t<NcActionButton>\n\t\t\t\tButton one\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton>\n\t\t\t\tButton two\n\t\t\t</NcActionButton>\n\t\t</template>\n\t</NcListItem>\n\t<NcListItem\n\t\t:name=\"'Name of the element'\"\n\t\t:compact=\"true\"\n\t\t:counter-number=\"4\"\n\t\thref=\"https://nextcloud.com\">\n\t\t<template #icon>\n\t\t\t<div class=\"icon-edit\" />\n\t\t</template>\n\t\t<template #subname>\n\t\t\tThis one is with an external link\n\t\t</template>\n\t</NcListItem>\n</ul>\n```\n</docs>\n\n<template>\n\t<!-- This wrapper can be either a router link or a `<li>` -->\n\t<component :is=\"to ? 'router-link' : 'NcVNodes'\"\n\t\tv-slot=\"{ href: routerLinkHref, navigate, isActive }\"\n\t\t:custom=\"to ? true : null\"\n\t\t:to=\"to\"\n\t\t:exact=\"to ? exact : null\">\n\t\t<li class=\"list-item__wrapper\"\n\t\t\t:class=\"{ 'list-item__wrapper--active' : isActive || active }\">\n\t\t\t<a :id=\"anchorId\"\n\t\t\t\tref=\"list-item\"\n\t\t\t\t:href=\"routerLinkHref || href\"\n\t\t\t\t:target=\"target || (href === '#' ? undefined : '_blank')\"\n\t\t\t\t:rel=\"href === '#' ? undefined : 'noopener noreferrer'\"\n\t\t\t\tclass=\"list-item\"\n\t\t\t\t:aria-label=\"linkAriaLabel\"\n\t\t\t\t@mouseover=\"handleMouseover\"\n\t\t\t\t@mouseleave=\"handleMouseleave\"\n\t\t\t\t@focus=\"handleFocus\"\n\t\t\t\t@blur=\"handleBlur\"\n\t\t\t\t@keydown.tab.exact=\"handleTab\"\n\t\t\t\t@click=\"onClick($event, navigate, routerLinkHref)\"\n\t\t\t\t@keydown.esc=\"hideActions\">\n\n\t\t\t\t<div class=\"list-item-content__wrapper\"\n\t\t\t\t\t:class=\"{ 'list-item-content__wrapper--compact': compact }\">\n\t\t\t\t\t<!-- @slot This slot is used for the NcAvatar or icon -->\n\t\t\t\t\t<slot name=\"icon\" />\n\n\t\t\t\t\t<!-- Main content -->\n\t\t\t\t\t<div class=\"list-item-content\">\n\t\t\t\t\t\t<div class=\"list-item-content__main\"\n\t\t\t\t\t\t\t:class=\"{ 'list-item-content__main--oneline': oneLine }\">\n\n\t\t\t\t\t\t\t<!-- First line, name and details -->\n\t\t\t\t\t\t\t<div class=\"line-one\">\n\t\t\t\t\t\t\t\t<span class=\"line-one__name\">\n\t\t\t\t\t\t\t\t\t{{ name }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span v-if=\"showDetails\"\n\t\t\t\t\t\t\t\t\tclass=\"line-one__details\">\n\t\t\t\t\t\t\t\t\t{{ details }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Second line, subname and counter -->\n\t\t\t\t\t\t\t<div class=\"line-two\"\n\t\t\t\t\t\t\t\t:class=\"{'line-two--bold': bold}\">\n\t\t\t\t\t\t\t\t<span v-if=\"hasSubname\" class=\"line-two__subname\">\n\t\t\t\t\t\t\t\t\t<!-- @slot Slot for the second line of the component -->\n\t\t\t\t\t\t\t\t\t<slot name=\"subname\" />\n\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t<!-- Counter and indicator -->\n\t\t\t\t\t\t\t\t<span v-if=\"counterNumber != 0 || hasIndicator\"\n\t\t\t\t\t\t\t\t\tv-show=\"showAdditionalElements\"\n\t\t\t\t\t\t\t\t\tclass=\"line-two__additional_elements\">\n\t\t\t\t\t\t\t\t\t<NcCounterBubble v-if=\"counterNumber != 0\"\n\t\t\t\t\t\t\t\t\t\t:active=\"isActive || active\"\n\t\t\t\t\t\t\t\t\t\tclass=\"line-two__counter\"\n\t\t\t\t\t\t\t\t\t\t:type=\"counterType\">\n\t\t\t\t\t\t\t\t\t\t{{ counterNumber }}\n\t\t\t\t\t\t\t\t\t</NcCounterBubble>\n\n\t\t\t\t\t\t\t\t\t<span v-if=\"hasIndicator\" class=\"line-two__indicator\">\n\t\t\t\t\t\t\t\t\t\t<!-- @slot This slot is used for some indicator in form of icon -->\n\t\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- Actions -->\n\t\t\t\t\t\t<div v-if=\"!forceDisplayActions\"\n\t\t\t\t\t\t\tv-show=\"displayActionsOnHoverFocus\"\n\t\t\t\t\t\t\tclass=\"list-item-content__actions\"\n\t\t\t\t\t\t\t@click.prevent.stop=\"\">\n\t\t\t\t\t\t\t<NcActions ref=\"actions\"\n\t\t\t\t\t\t\t\t:primary=\"isActive || active\"\n\t\t\t\t\t\t\t\t:aria-label=\"computedActionsAriaLabel\"\n\t\t\t\t\t\t\t\t@update:open=\"handleActionsUpdateOpen\">\n\t\t\t\t\t\t\t\t<!-- @slot Provide the actions for the right side quick menu -->\n\t\t\t\t\t\t\t\t<slot name=\"actions\" />\n\t\t\t\t\t\t\t</NcActions>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- Actions -->\n\t\t\t\t\t<div v-if=\"forceDisplayActions\"\n\t\t\t\t\t\tclass=\"list-item-content__actions\"\n\t\t\t\t\t\t@click.prevent.stop=\"\">\n\t\t\t\t\t\t<NcActions ref=\"actions\"\n\t\t\t\t\t\t\t:primary=\"isActive || active\"\n\t\t\t\t\t\t\t:aria-label=\"computedActionsAriaLabel\"\n\t\t\t\t\t\t\t@update:open=\"handleActionsUpdateOpen\">\n\t\t\t\t\t\t\t<!-- @slot Provide the actions for the right side quick menu -->\n\t\t\t\t\t\t\t<slot name=\"actions\" />\n\t\t\t\t\t\t</NcActions>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- @slot Extra elements below the item -->\n\t\t\t\t<div v-if=\"$slots.extra\" class=\"list-item__extra\">\n\t\t\t\t\t<slot name=\"extra\" />\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t</li>\n\t</component>\n</template>\n\n<script>\nimport NcActions from '../NcActions/index.js'\nimport NcCounterBubble from '../NcCounterBubble/index.js'\nimport NcVNodes from '../NcVNodes/index.js'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcListItem',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tNcCounterBubble,\n\t\tNcVNodes,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The details text displayed in the upper right part of the component\n\t\t */\n\t\tdetails: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Name (first line of text)\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Pass in `true` if you want the matching behavior to\n\t\t * be non-inclusive: https://router.vuejs.org/api/#exact\n\t\t */\n\t\texact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The route for the router link.\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * The value for the external link\n\t\t */\n\t\thref: {\n\t\t\ttype: String,\n\t\t\tdefault: '#',\n\t\t},\n\n\t\ttarget: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Id for the `<a>` element\n\t\t */\n\t\tanchorId: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Make subname bold\n\t\t */\n\t\tbold: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Show the NcListItem in compact design\n\t\t */\n\t\tcompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Toggle the active state of the component\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Aria label for the wrapper element\n\t\t */\n\t\tlinkAriaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Aria label for the actions toggle\n\t\t */\n\t\tactionsAriaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * If different from 0 this component will display the\n\t\t * NcCounterBubble component\n\t\t */\n\t\t counterNumber: {\n\t\t\t type: [Number, String],\n\t\t\t default: 0,\n\t\t },\n\n\t\t/**\n\t\t * Outlined or highlighted state of the counter\n\t\t */\n\t\tcounterType: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['highlighted', 'outlined', ''].indexOf(value) !== -1\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * To be used only when the elements in the actions menu are very important\n\t\t */\n\t\tforceDisplayActions: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t\t'update:menuOpen',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\thovered: false,\n\t\t\tfocused: false,\n\t\t\thasActions: false,\n\t\t\thasSubname: false,\n\t\t\tdisplayActionsOnHoverFocus: false,\n\t\t\tmenuOpen: false,\n\t\t\thasIndicator: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\thasDetails() {\n\t\t\treturn this.details !== ''\n\t\t},\n\n\t\toneLine() {\n\t\t\treturn !this.hasSubname && !this.showDetails\n\t\t},\n\n\t\tshowAdditionalElements() {\n\t\t\treturn !this.displayActionsOnHoverFocus || this.forceDisplayActions\n\t\t},\n\n\t\tshowDetails() {\n\t\t\treturn this.hasDetails && (!this.displayActionsOnHoverFocus || this.forceDisplayActions)\n\t\t},\n\n\t\tcomputedActionsAriaLabel() {\n\t\t\treturn this.actionsAriaLabel || t('Actions for item with name \"{name}\"', { name: this.name })\n\t\t},\n\t},\n\n\twatch: {\n\n\t\tmenuOpen(newValue) {\n\t\t\t// A click outside both the menu and the root element hides the actions again\n\t\t\tif (!newValue && !this.hovered) {\n\t\t\t\tthis.displayActionsOnHoverFocus = false\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.checkSlots()\n\t},\n\n\tupdated() {\n\t\tthis.checkSlots()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Handle link click\n\t\t *\n\t\t * @param {PointerEvent} event - Native click event\n\t\t * @param {Function} [navigate] - VueRouter link's navigate if any\n\t\t * @param {string} [routerLinkHref] - VueRouter link's href\n\t\t */\n\t\tonClick(event, navigate, routerLinkHref) {\n\t\t\t// Always forward native event\n\t\t\tthis.$emit('click', event)\n\t\t\t// Do not navigate with control keys - it is opening in a new tab\n\t\t\tif (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Prevent default link behaviour if it's a router-link and navigate manually\n\t\t\tif (routerLinkHref) {\n\t\t\t\tnavigate?.(event)\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t},\n\n\t\thandleMouseover() {\n\t\t\tthis.showActions()\n\t\t\tthis.hovered = true\n\t\t},\n\n\t\tshowActions() {\n\t\t\tif (this.hasActions) {\n\t\t\t\tthis.displayActionsOnHoverFocus = true\n\t\t\t}\n\t\t\tthis.hovered = false\n\t\t},\n\n\t\thideActions() {\n\t\t\tthis.displayActionsOnHoverFocus = false\n\t\t},\n\n\t\t/**\n\t\t * Show actions upon focus\n\t\t */\n\t\thandleFocus() {\n\t\t\tthis.focused = true\n\t\t\tthis.showActions()\n\t\t},\n\n\t\thandleBlur() {\n\t\t\tthis.focused = false\n\t\t},\n\n\t\t/**\n\t\t * Hide the actions on mouseleave unless the menu is open\n\t\t */\n\t\thandleMouseleave() {\n\t\t\tif (!this.menuOpen) {\n\t\t\t\tthis.displayActionsOnHoverFocus = false\n\t\t\t}\n\t\t\tthis.hovered = false\n\t\t},\n\n\t\t/**\n\t\t * This method checks if the root element of the component is focused and\n\t\t * if that's the case it focuses the actions button if available\n\t\t *\n\t\t * @param {Event} e the keydown event\n\t\t */\n\t\thandleTab(e) {\n\t\t\tif (this.focused && this.hasActions) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.$refs.actions.$refs.menuButton.$el.focus()\n\t\t\t\tthis.focused = false\n\t\t\t} else {\n\t\t\t\tthis.displayActionsOnHoverFocus = false\n\t\t\t}\n\t\t},\n\n\t\thandleActionsUpdateOpen(e) {\n\t\t\tthis.menuOpen = e\n\t\t\tthis.$emit('update:menuOpen', e)\n\t\t},\n\n\t\t// Check if subname and actions slots are populated\n\t\tcheckSlots() {\n\t\t\tif (this.hasActions !== !!this.$slots.actions) {\n\t\t\t\tthis.hasActions = !!this.$slots.actions\n\t\t\t}\n\t\t\tif (this.hasSubname !== !!this.$slots.subname) {\n\t\t\t\tthis.hasSubname = !!this.$slots.subname\n\t\t\t}\n\t\t\tif (this.hasIndicator !== !!this.$slots.indicator) {\n\t\t\t\tthis.hasIndicator = !!this.$slots.indicator\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.list-item__wrapper {\n\tposition: relative;\n\twidth: 100%;\n\n\t&--active,\n\t&:active,\n\t&.active {\n\t\t.list-item {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t&:active,\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:focus-visible {\n\t\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t\t}\n\t\t}\n\n\t\t.line-one__name, .line-one__details {\n\t\t\tcolor: var(--color-primary-element-text) !important;\n\t\t}\n\n\t\t.line-two__subname {\n\t\t\tcolor: var(--color-primary-element-text) !important;\n\t\t}\n\t}\n}\n\n// NcListItem\n.list-item {\n\tbox-sizing: border-box;\n\tdisplay: block;\n\tposition: relative;\n\tflex: 0 0 auto;\n\tjustify-content: flex-start;\n\tpadding: 8px 10px;\n\t// Fix for border-radius being too large for 3-line entries like in Mail\n\t// 44px avatar size / 2 + 8px padding, and 2px for better visual quality\n\tborder-radius: 32px;\n\tmargin: 2px 0;\n\twidth: 100%;\n\tcursor: pointer;\n\ttransition: background-color var(--animation-quick) ease-in-out;\n\tlist-style: none;\n\t&:active,\n\t&:hover,\n\t&:focus,\n\t&:focus-visible {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&-content__wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 48px;\n\n\t\t&--compact {\n\t\t\theight: 36px;\n\n\t\t\t.line-one, .line-two {\n\t\t\t\tmargin-top: -4px;\n\t\t\t\tmargin-bottom: -4px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\tflex: 1 1 auto;\n\t\tjustify-content: space-between;\n\t\tpadding-left: 8px;\n\n\t\t&__main {\n\t\t\tflex: 1 1 auto;\n\t\t\twidth: 0;\n\t\t\tmargin: auto 0;\n\n\t\t\t&--oneline {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tflex: 0 0 auto;\n\t\t\talign-self: center;\n\t\t\tjustify-content: center;\n\t\t\tmargin-left: 4px;\n\t\t}\n\t}\n\n\t&__extra {\n\t\tmargin-top: 4px;\n\t}\n}\n\n.line-one {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\twhite-space: nowrap;\n\tmargin: 0 auto 0 0;\n\toverflow: hidden;\n\n\t&__name {\n\t\toverflow: hidden;\n\t\tflex-grow: 1;\n\t\tcursor: pointer;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-main-text);\n\t\tfont-weight: bold;\n\t}\n\n\t&__details {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin: 0 8px;\n\t\tfont-weight: normal;\n\t}\n}\n\n.line-two {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: space-between;\n\twhite-space: nowrap;\n\t&--bold {\n\t\tfont-weight: bold;\n\t}\n\n\t&__subname {\n\t\toverflow: hidden;\n\t\tflex-grow: 1;\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__additional_elements {\n\t\tmargin: 2px 4px 0 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t&__indicator {\n\t\tmargin: 0 5px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","Components_NcActions","Components_NcCounterBubble","Components_NcVNodes","value","_l10n","newValue","event","navigate","routerLinkHref","e"],"mappings":"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"}
1
+ {"version":3,"file":"NcListItem.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}