@nextcloud/vue 8.30.0 → 8.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1105) hide show
  1. package/CHANGELOG.md +48 -2
  2. package/dist/Components/NcActionButton.cjs +1 -1
  3. package/dist/Components/NcActionButton.mjs +1 -1
  4. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  6. package/dist/Components/NcActionCheckbox.cjs +1 -1
  7. package/dist/Components/NcActionCheckbox.mjs +1 -1
  8. package/dist/Components/NcActionInput.cjs +1 -1
  9. package/dist/Components/NcActionInput.mjs +1 -1
  10. package/dist/Components/NcActionLink.cjs +6 -6
  11. package/dist/Components/NcActionLink.cjs.map +1 -1
  12. package/dist/Components/NcActionLink.mjs +6 -6
  13. package/dist/Components/NcActionLink.mjs.map +1 -1
  14. package/dist/Components/NcActionRadio.cjs +1 -1
  15. package/dist/Components/NcActionRadio.mjs +1 -1
  16. package/dist/Components/NcActionRouter.cjs +4 -5
  17. package/dist/Components/NcActionRouter.cjs.map +1 -1
  18. package/dist/Components/NcActionRouter.mjs +4 -5
  19. package/dist/Components/NcActionRouter.mjs.map +1 -1
  20. package/dist/Components/NcActionText.cjs +4 -4
  21. package/dist/Components/NcActionText.cjs.map +1 -1
  22. package/dist/Components/NcActionText.mjs +4 -4
  23. package/dist/Components/NcActionText.mjs.map +1 -1
  24. package/dist/Components/NcActionTextEditable.cjs +1 -1
  25. package/dist/Components/NcActionTextEditable.mjs +1 -1
  26. package/dist/Components/NcActions.cjs +1 -1
  27. package/dist/Components/NcActions.mjs +1 -1
  28. package/dist/Components/NcAppContent.cjs +1 -1
  29. package/dist/Components/NcAppContent.mjs +1 -1
  30. package/dist/Components/NcAppContentList.cjs +6 -0
  31. package/dist/Components/NcAppContentList.cjs.map +1 -1
  32. package/dist/Components/NcAppContentList.mjs +6 -0
  33. package/dist/Components/NcAppContentList.mjs.map +1 -1
  34. package/dist/Components/NcAppNavigation.cjs +1 -1
  35. package/dist/Components/NcAppNavigation.mjs +1 -1
  36. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  37. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  38. package/dist/Components/NcAppNavigationIconBullet.cjs +5 -2
  39. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  40. package/dist/Components/NcAppNavigationIconBullet.mjs +5 -2
  41. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  42. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  43. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  44. package/dist/Components/NcAppNavigationNew.cjs +2 -65
  45. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  46. package/dist/Components/NcAppNavigationNew.mjs +2 -65
  47. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  48. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  49. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  50. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  51. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  52. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  53. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  54. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  55. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  56. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  57. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  58. package/dist/Components/NcAppSettingsSection.cjs +2 -57
  59. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  60. package/dist/Components/NcAppSettingsSection.mjs +2 -57
  61. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  62. package/dist/Components/NcAppSidebar.cjs +1 -1
  63. package/dist/Components/NcAppSidebar.mjs +1 -1
  64. package/dist/Components/NcAppSidebarHeader.cjs +1 -1
  65. package/dist/Components/NcAppSidebarHeader.mjs +1 -1
  66. package/dist/Components/NcAppSidebarTab.cjs +8 -4
  67. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  68. package/dist/Components/NcAppSidebarTab.mjs +8 -4
  69. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  70. package/dist/Components/NcAssistantButton.cjs +1 -1
  71. package/dist/Components/NcAssistantButton.mjs +1 -1
  72. package/dist/Components/NcAssistantIcon.cjs +1 -1
  73. package/dist/Components/NcAssistantIcon.mjs +1 -1
  74. package/dist/Components/NcAvatar.cjs +1 -1
  75. package/dist/Components/NcAvatar.mjs +1 -1
  76. package/dist/Components/NcBlurHash.cjs +1 -1
  77. package/dist/Components/NcBlurHash.mjs +1 -1
  78. package/dist/Components/NcBreadcrumb.cjs +1 -1
  79. package/dist/Components/NcBreadcrumb.mjs +1 -1
  80. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  81. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  82. package/dist/Components/NcButton.cjs +2 -332
  83. package/dist/Components/NcButton.cjs.map +1 -1
  84. package/dist/Components/NcButton.mjs +2 -332
  85. package/dist/Components/NcButton.mjs.map +1 -1
  86. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  87. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  88. package/dist/Components/NcChip.cjs +23 -15
  89. package/dist/Components/NcChip.cjs.map +1 -1
  90. package/dist/Components/NcChip.mjs +23 -15
  91. package/dist/Components/NcChip.mjs.map +1 -1
  92. package/dist/Components/NcCollectionList.cjs +1 -1
  93. package/dist/Components/NcCollectionList.mjs +1 -1
  94. package/dist/Components/NcColorPicker.cjs +1 -1
  95. package/dist/Components/NcColorPicker.mjs +1 -1
  96. package/dist/Components/NcContent.cjs +1 -1
  97. package/dist/Components/NcContent.mjs +1 -1
  98. package/dist/Components/NcCounterBubble.cjs +1 -1
  99. package/dist/Components/NcCounterBubble.mjs +1 -1
  100. package/dist/Components/NcDashboardWidget.cjs +1 -1
  101. package/dist/Components/NcDashboardWidget.mjs +1 -1
  102. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  103. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  104. package/dist/Components/NcDateTime.cjs +1 -1
  105. package/dist/Components/NcDateTime.mjs +1 -1
  106. package/dist/Components/NcDateTimePicker.cjs +67 -23
  107. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  108. package/dist/Components/NcDateTimePicker.mjs +67 -23
  109. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  110. package/dist/Components/NcDateTimePickerNative.cjs +39 -19
  111. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  112. package/dist/Components/NcDateTimePickerNative.mjs +39 -19
  113. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  114. package/dist/Components/NcDialog.cjs +1 -1
  115. package/dist/Components/NcDialog.mjs +1 -1
  116. package/dist/Components/NcDialogButton.cjs +1 -1
  117. package/dist/Components/NcDialogButton.mjs +1 -1
  118. package/dist/Components/NcEllipsisedOption.cjs +3 -3
  119. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  120. package/dist/Components/NcEllipsisedOption.mjs +3 -3
  121. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  122. package/dist/Components/NcEmojiPicker.cjs +1 -1
  123. package/dist/Components/NcEmojiPicker.mjs +1 -1
  124. package/dist/Components/NcEmptyContent.cjs +6 -3
  125. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  126. package/dist/Components/NcEmptyContent.mjs +6 -3
  127. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  128. package/dist/Components/NcGuestContent.cjs +2 -2
  129. package/dist/Components/NcGuestContent.cjs.map +1 -1
  130. package/dist/Components/NcGuestContent.mjs +2 -2
  131. package/dist/Components/NcGuestContent.mjs.map +1 -1
  132. package/dist/Components/NcHeaderButton.cjs +2 -61
  133. package/dist/Components/NcHeaderButton.cjs.map +1 -1
  134. package/dist/Components/NcHeaderButton.mjs +2 -61
  135. package/dist/Components/NcHeaderButton.mjs.map +1 -1
  136. package/dist/Components/NcHeaderMenu.cjs +1 -1
  137. package/dist/Components/NcHeaderMenu.mjs +1 -1
  138. package/dist/Components/NcHighlight.cjs +1 -1
  139. package/dist/Components/NcHighlight.mjs +1 -1
  140. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  141. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  142. package/dist/Components/NcInputField.cjs +1 -1
  143. package/dist/Components/NcInputField.mjs +1 -1
  144. package/dist/Components/NcKbd.cjs +65 -0
  145. package/dist/Components/NcKbd.cjs.map +1 -0
  146. package/dist/Components/NcKbd.mjs +66 -0
  147. package/dist/Components/NcKbd.mjs.map +1 -0
  148. package/dist/Components/NcListItem.cjs +1 -1
  149. package/dist/Components/NcListItem.mjs +1 -1
  150. package/dist/Components/NcListItemIcon.cjs +1 -1
  151. package/dist/Components/NcListItemIcon.mjs +1 -1
  152. package/dist/Components/NcLoadingIcon.cjs +2 -2
  153. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  154. package/dist/Components/NcLoadingIcon.mjs +2 -2
  155. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  156. package/dist/Components/NcModal.cjs +83 -54
  157. package/dist/Components/NcModal.cjs.map +1 -1
  158. package/dist/Components/NcModal.mjs +82 -53
  159. package/dist/Components/NcModal.mjs.map +1 -1
  160. package/dist/Components/NcNoteCard.cjs +12 -12
  161. package/dist/Components/NcNoteCard.cjs.map +1 -1
  162. package/dist/Components/NcNoteCard.mjs +12 -12
  163. package/dist/Components/NcNoteCard.mjs.map +1 -1
  164. package/dist/Components/NcPasswordField.cjs +1 -1
  165. package/dist/Components/NcPasswordField.mjs +1 -1
  166. package/dist/Components/NcPopover.cjs +1 -1
  167. package/dist/Components/NcPopover.mjs +1 -1
  168. package/dist/Components/NcProgressBar.cjs +1 -1
  169. package/dist/Components/NcProgressBar.mjs +1 -1
  170. package/dist/Components/NcRadioGroup.cjs +4 -0
  171. package/dist/Components/NcRadioGroup.cjs.map +1 -0
  172. package/dist/Components/NcRadioGroup.mjs +5 -0
  173. package/dist/Components/NcRadioGroup.mjs.map +1 -0
  174. package/dist/Components/NcRadioGroupButton.cjs +4 -0
  175. package/dist/Components/NcRadioGroupButton.cjs.map +1 -0
  176. package/dist/Components/NcRadioGroupButton.mjs +5 -0
  177. package/dist/Components/NcRadioGroupButton.mjs.map +1 -0
  178. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  179. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  180. package/dist/Components/NcRichContenteditable.cjs +2 -2
  181. package/dist/Components/NcRichContenteditable.mjs +2 -2
  182. package/dist/Components/NcRichText.cjs +10 -10
  183. package/dist/Components/NcRichText.mjs +17 -17
  184. package/dist/Components/NcSelect.cjs +1 -1
  185. package/dist/Components/NcSelect.mjs +1 -1
  186. package/dist/Components/NcSelectTags.cjs +1 -1
  187. package/dist/Components/NcSelectTags.mjs +1 -1
  188. package/dist/Components/NcSelectUsers.cjs +1 -1
  189. package/dist/Components/NcSelectUsers.mjs +1 -1
  190. package/dist/Components/NcSettingsInputText.cjs +1 -1
  191. package/dist/Components/NcSettingsInputText.mjs +1 -1
  192. package/dist/Components/NcSettingsSection.cjs +1 -1
  193. package/dist/Components/NcSettingsSection.mjs +1 -1
  194. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  195. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  196. package/dist/Components/NcTextArea.cjs +1 -1
  197. package/dist/Components/NcTextArea.mjs +1 -1
  198. package/dist/Components/NcTextField.cjs +1 -1
  199. package/dist/Components/NcTextField.mjs +1 -1
  200. package/dist/Components/NcThemeProvider.cjs +1 -1
  201. package/dist/Components/NcThemeProvider.mjs +1 -1
  202. package/dist/Components/NcTimezonePicker.cjs +1 -1
  203. package/dist/Components/NcTimezonePicker.mjs +1 -1
  204. package/dist/Components/NcUserBubble.cjs +1 -1
  205. package/dist/Components/NcUserBubble.mjs +1 -1
  206. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  207. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  208. package/dist/Components/NcVNodes.cjs +3 -3
  209. package/dist/Components/NcVNodes.cjs.map +1 -1
  210. package/dist/Components/NcVNodes.mjs +3 -3
  211. package/dist/Components/NcVNodes.mjs.map +1 -1
  212. package/dist/Composables/useFormatDateTime.cjs +28 -15
  213. package/dist/Composables/useFormatDateTime.cjs.map +1 -1
  214. package/dist/Composables/useFormatDateTime.mjs +28 -15
  215. package/dist/Composables/useFormatDateTime.mjs.map +1 -1
  216. package/dist/Composables/useHotKey.cjs +4 -3
  217. package/dist/Composables/useHotKey.cjs.map +1 -1
  218. package/dist/Composables/useHotKey.mjs +3 -2
  219. package/dist/Composables/useHotKey.mjs.map +1 -1
  220. package/dist/Composables/useIsDarkTheme.cjs +5 -2
  221. package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
  222. package/dist/Composables/useIsDarkTheme.mjs +5 -2
  223. package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
  224. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  225. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  226. package/dist/Composables/useIsMobile.cjs.map +1 -1
  227. package/dist/Composables/useIsMobile.mjs.map +1 -1
  228. package/dist/Directives/Focus.cjs.map +1 -1
  229. package/dist/Directives/Focus.mjs.map +1 -1
  230. package/dist/Directives/Linkify.cjs +6 -7
  231. package/dist/Directives/Linkify.cjs.map +1 -1
  232. package/dist/Directives/Linkify.mjs +6 -6
  233. package/dist/Directives/Linkify.mjs.map +1 -1
  234. package/dist/Directives/Tooltip.cjs.map +1 -1
  235. package/dist/Directives/Tooltip.mjs.map +1 -1
  236. package/dist/Functions/a11y.cjs +2 -2
  237. package/dist/Functions/a11y.cjs.map +1 -1
  238. package/dist/Functions/a11y.mjs +2 -2
  239. package/dist/Functions/a11y.mjs.map +1 -1
  240. package/dist/Functions/contactsMenu.cjs +3 -2
  241. package/dist/Functions/contactsMenu.cjs.map +1 -1
  242. package/dist/Functions/contactsMenu.mjs +3 -2
  243. package/dist/Functions/contactsMenu.mjs.map +1 -1
  244. package/dist/Functions/dialog.cjs +20 -5
  245. package/dist/Functions/dialog.cjs.map +1 -1
  246. package/dist/Functions/dialog.mjs +20 -5
  247. package/dist/Functions/dialog.mjs.map +1 -1
  248. package/dist/Functions/emoji.cjs +1 -1
  249. package/dist/Functions/emoji.mjs +1 -1
  250. package/dist/Functions/isDarkTheme.cjs.map +1 -1
  251. package/dist/Functions/isDarkTheme.mjs.map +1 -1
  252. package/dist/Functions/preloadImage.cjs.map +1 -1
  253. package/dist/Functions/preloadImage.mjs.map +1 -1
  254. package/dist/Functions/reference.cjs +2 -2
  255. package/dist/Functions/reference.mjs +10 -10
  256. package/dist/Functions/registerReference.cjs +1 -1
  257. package/dist/Functions/registerReference.mjs +5 -5
  258. package/dist/Functions/usernameToColor.cjs +2 -2
  259. package/dist/Functions/usernameToColor.cjs.map +1 -1
  260. package/dist/Functions/usernameToColor.mjs +2 -2
  261. package/dist/Functions/usernameToColor.mjs.map +1 -1
  262. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  263. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  264. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  265. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  266. package/dist/Mixins/isMobile.cjs.map +1 -1
  267. package/dist/Mixins/isMobile.mjs.map +1 -1
  268. package/dist/Mixins/richEditor.cjs +1 -1
  269. package/dist/Mixins/richEditor.mjs +1 -1
  270. package/dist/assets/NcActionButton-DwJihiLc.css +119 -0
  271. package/dist/assets/NcActionButtonGroup-CRXLyFpx.css +47 -0
  272. package/dist/assets/NcActionCheckbox-DvdNISIs.css +80 -0
  273. package/dist/assets/NcActionInput-DsGwr3wt.css +230 -0
  274. package/dist/assets/NcActionLink-7Wp6P-Nk.css +102 -0
  275. package/dist/assets/NcActionRadio-CLsR2Ore.css +79 -0
  276. package/dist/assets/NcActionRouter-ByijfQtF.css +113 -0
  277. package/dist/assets/NcActionText-CR_yvwWo.css +117 -0
  278. package/dist/assets/NcActionTextEditable-CCWTiT5c.css +252 -0
  279. package/dist/assets/NcActions-B4-9qwLn.css +80 -0
  280. package/dist/assets/NcAppContent-BpjG38I8.css +124 -0
  281. package/dist/assets/NcAppNavigation-Bg4Oe7WC.css +110 -0
  282. package/dist/assets/NcAppNavigationCaption-C7GtQb_y.css +49 -0
  283. package/dist/assets/NcAppNavigationIconBullet-DLQJkObX.css +30 -0
  284. package/dist/assets/NcAppNavigationItem-UaB3qdsS.css +232 -0
  285. package/dist/assets/NcAppNavigationNew-D8_2ab9R.css +27 -0
  286. package/dist/assets/NcAppNavigationNewItem-Cjbn5XkO.css +217 -0
  287. package/dist/assets/NcAppNavigationSearch-o97SOfOb.css +41 -0
  288. package/dist/assets/NcAppNavigationSettings-1YRzh-xl.css +74 -0
  289. package/dist/assets/NcAppNavigationToggle-DgwbZOWc.css +27 -0
  290. package/dist/assets/NcAppSettingsDialog-DH3DIIwL.css +74 -0
  291. package/dist/assets/NcAppSettingsSection-Dq0eTGEp.css +30 -0
  292. package/dist/assets/NcAppSidebar-Bd2cj1W-.css +349 -0
  293. package/dist/assets/NcAppSidebarTab-IcebyGtN.css +34 -0
  294. package/dist/assets/NcAssistantIcon-BoOnqVRr.css +35 -0
  295. package/dist/assets/NcAvatar-Cm4kVIfS.css +133 -0
  296. package/dist/assets/NcBreadcrumb-0xB19h6f.css +68 -0
  297. package/dist/assets/NcBreadcrumbs-DahxPGJY.css +37 -0
  298. package/dist/assets/NcButton-uQUvp7DS.css +219 -0
  299. package/dist/assets/NcCheckboxRadioSwitch-BcHKt-lf.css +224 -0
  300. package/dist/assets/NcChip-Cc17FJEC.css +65 -0
  301. package/dist/assets/NcCollectionList-hRgvNUMR.css +221 -0
  302. package/dist/assets/NcColorPicker-CCqpXoam.css +180 -0
  303. package/dist/assets/NcContent-IIXgAj_u.css +85 -0
  304. package/dist/assets/NcCounterBubble-sz81L2Mt.css +53 -0
  305. package/dist/assets/NcDashboardWidget-DzJMoJ_B.css +73 -0
  306. package/dist/assets/NcDashboardWidgetItem-CAsF_ZMZ.css +85 -0
  307. package/dist/assets/NcDateTimePicker-C6sMtYzL.css +895 -0
  308. package/dist/assets/NcDateTimePickerNative-ZqMiOh_m.css +60 -0
  309. package/dist/assets/NcDialog-COuFb47k.css +132 -0
  310. package/dist/assets/NcEllipsisedOption-DRkFZ9bI.css +34 -0
  311. package/dist/assets/NcEmojiPicker-B-iLLj37.css +550 -0
  312. package/dist/assets/NcEmptyContent-xdTcF0yQ.css +68 -0
  313. package/dist/assets/NcGuestContent-BkegjnLL.css +50 -0
  314. package/dist/assets/NcHeaderButton-CeT-dsLr.css +54 -0
  315. package/dist/assets/NcHeaderMenu-BXb9npZp.css +88 -0
  316. package/dist/assets/NcIconSvgWrapper-DJQ2Kuip.css +46 -0
  317. package/dist/assets/NcInputConfirmCancel-CkhRZCfD.css +39 -0
  318. package/dist/assets/NcInputField-BI3vWgSo.css +206 -0
  319. package/dist/assets/NcKbd-BGW1_Jb7.css +36 -0
  320. package/dist/assets/NcListItem-rxOwDYE-.css +186 -0
  321. package/dist/assets/NcListItemIcon-Co3jVZZ8.css +72 -0
  322. package/dist/assets/NcLoadingIcon-C7S2_wmi.css +24 -0
  323. package/dist/assets/NcMentionBubble-CaztX9Pv.css +73 -0
  324. package/dist/assets/NcModal-4ZPVUmG2.css +289 -0
  325. package/dist/assets/NcNoteCard-Dz5-u2BY.css +67 -0
  326. package/dist/assets/NcPasswordField-mhXQk8aT.css +21 -0
  327. package/dist/assets/NcProgressBar-CU_ib_HL.css +56 -0
  328. package/dist/assets/NcRadioGroup-CNgjqqiP.css +49 -0
  329. package/dist/assets/NcRadioGroupButton-6mf16D0h.css +86 -0
  330. package/dist/assets/NcRelatedResourcesPanel-BgMc8bue.css +158 -0
  331. package/dist/assets/NcRichContenteditable-Ds_cptgr.css +274 -0
  332. package/dist/assets/NcRichText-CVy4zTPr.css +331 -0
  333. package/dist/assets/NcSelect-B1pyRV6j.css +201 -0
  334. package/dist/assets/NcSelectUsers-CfOSPgtz.css +4 -0
  335. package/dist/assets/NcSettingsInputText-18lfGViv.css +35 -0
  336. package/dist/assets/NcSettingsSection-D_qeKnRb.css +57 -0
  337. package/dist/assets/NcSettingsSelectGroup-B9FlWQVH.css +23 -0
  338. package/dist/assets/NcTextArea-B6zS3CRN.css +136 -0
  339. package/dist/assets/NcUserBubble-uIpJvFoQ.css +48 -0
  340. package/dist/assets/NcUserStatusIcon-Bw8yMFMP.css +34 -0
  341. package/dist/assets/referencePickerModal-CGtNx7ew.css +396 -0
  342. package/dist/chunks/GenRandomId-D7iOvpZS.cjs +6 -0
  343. package/dist/chunks/GenRandomId-D7iOvpZS.cjs.map +1 -0
  344. package/dist/chunks/GenRandomId-F5ebeBB_.mjs +7 -0
  345. package/dist/chunks/GenRandomId-F5ebeBB_.mjs.map +1 -0
  346. package/dist/chunks/NcActionButton-CZsSFAT4.mjs +184 -0
  347. package/dist/chunks/NcActionButton-CZsSFAT4.mjs.map +1 -0
  348. package/dist/chunks/NcActionButton-lJ0IA3IS.cjs +183 -0
  349. package/dist/chunks/NcActionButton-lJ0IA3IS.cjs.map +1 -0
  350. package/dist/chunks/NcActionButtonGroup-CIvAeDpU.mjs +52 -0
  351. package/dist/chunks/NcActionButtonGroup-CIvAeDpU.mjs.map +1 -0
  352. package/dist/chunks/NcActionButtonGroup-CQZL14Nz.cjs +51 -0
  353. package/dist/chunks/NcActionButtonGroup-CQZL14Nz.cjs.map +1 -0
  354. package/dist/chunks/NcActionCheckbox-BAuN4ZMC.mjs +143 -0
  355. package/dist/chunks/NcActionCheckbox-BAuN4ZMC.mjs.map +1 -0
  356. package/dist/chunks/NcActionCheckbox-BvMmq0jL.cjs +142 -0
  357. package/dist/chunks/NcActionCheckbox-BvMmq0jL.cjs.map +1 -0
  358. package/dist/chunks/NcActionInput-CfznemNH.mjs +291 -0
  359. package/dist/chunks/NcActionInput-CfznemNH.mjs.map +1 -0
  360. package/dist/chunks/NcActionInput-DfjLV0Gg.cjs +291 -0
  361. package/dist/chunks/NcActionInput-DfjLV0Gg.cjs.map +1 -0
  362. package/dist/chunks/NcActionRadio-Bg5VuF7I.mjs +151 -0
  363. package/dist/chunks/NcActionRadio-Bg5VuF7I.mjs.map +1 -0
  364. package/dist/chunks/NcActionRadio-CBh6AlC4.cjs +152 -0
  365. package/dist/chunks/NcActionRadio-CBh6AlC4.cjs.map +1 -0
  366. package/dist/chunks/NcActionTextEditable-BhucWrOO.cjs +126 -0
  367. package/dist/chunks/NcActionTextEditable-BhucWrOO.cjs.map +1 -0
  368. package/dist/chunks/NcActionTextEditable-CSP4OjpU.mjs +127 -0
  369. package/dist/chunks/NcActionTextEditable-CSP4OjpU.mjs.map +1 -0
  370. package/dist/chunks/NcActions-A918mfXE.mjs +909 -0
  371. package/dist/chunks/NcActions-A918mfXE.mjs.map +1 -0
  372. package/dist/chunks/NcActions-D3N_As6c.cjs +910 -0
  373. package/dist/chunks/NcActions-D3N_As6c.cjs.map +1 -0
  374. package/dist/chunks/NcAppContent-CCyPMvUa.cjs +359 -0
  375. package/dist/chunks/NcAppContent-CCyPMvUa.cjs.map +1 -0
  376. package/dist/chunks/NcAppContent-DFlcxER-.mjs +360 -0
  377. package/dist/chunks/NcAppContent-DFlcxER-.mjs.map +1 -0
  378. package/dist/chunks/NcAppNavigation-CCHYn0D6.cjs +175 -0
  379. package/dist/chunks/NcAppNavigation-CCHYn0D6.cjs.map +1 -0
  380. package/dist/chunks/NcAppNavigation-CLF6-i2t.mjs +174 -0
  381. package/dist/chunks/NcAppNavigation-CLF6-i2t.mjs.map +1 -0
  382. package/dist/chunks/NcAppNavigationCaption-CsG8P-1P.mjs +81 -0
  383. package/dist/chunks/NcAppNavigationCaption-CsG8P-1P.mjs.map +1 -0
  384. package/dist/chunks/NcAppNavigationCaption-DhW300oH.cjs +80 -0
  385. package/dist/chunks/NcAppNavigationCaption-DhW300oH.cjs.map +1 -0
  386. package/dist/chunks/NcAppNavigationItem-CwuKVEUN.mjs +524 -0
  387. package/dist/chunks/NcAppNavigationItem-CwuKVEUN.mjs.map +1 -0
  388. package/dist/chunks/NcAppNavigationItem-HZVy5JEa.cjs +523 -0
  389. package/dist/chunks/NcAppNavigationItem-HZVy5JEa.cjs.map +1 -0
  390. package/dist/chunks/NcAppNavigationNew-DbqusDUV.mjs +78 -0
  391. package/dist/chunks/NcAppNavigationNew-DbqusDUV.mjs.map +1 -0
  392. package/dist/chunks/NcAppNavigationNew-T56pahiu.cjs +77 -0
  393. package/dist/chunks/NcAppNavigationNew-T56pahiu.cjs.map +1 -0
  394. package/dist/chunks/NcAppNavigationNewItem-BsnZWCLW.mjs +97 -0
  395. package/dist/chunks/NcAppNavigationNewItem-BsnZWCLW.mjs.map +1 -0
  396. package/dist/chunks/NcAppNavigationNewItem-DMRZwa_y.cjs +96 -0
  397. package/dist/chunks/NcAppNavigationNewItem-DMRZwa_y.cjs.map +1 -0
  398. package/dist/chunks/NcAppNavigationSearch-BlG1xMok.cjs +104 -0
  399. package/dist/chunks/NcAppNavigationSearch-BlG1xMok.cjs.map +1 -0
  400. package/dist/chunks/NcAppNavigationSearch-DCMN2cWp.mjs +105 -0
  401. package/dist/chunks/NcAppNavigationSearch-DCMN2cWp.mjs.map +1 -0
  402. package/dist/chunks/NcAppNavigationSettings-DlIDzhxh.cjs +91 -0
  403. package/dist/chunks/NcAppNavigationSettings-DlIDzhxh.cjs.map +1 -0
  404. package/dist/chunks/NcAppNavigationSettings-n8OaxTbE.mjs +92 -0
  405. package/dist/chunks/NcAppNavigationSettings-n8OaxTbE.mjs.map +1 -0
  406. package/dist/chunks/NcAppNavigationToggle-ClYKr8Zn.mjs +130 -0
  407. package/dist/chunks/NcAppNavigationToggle-ClYKr8Zn.mjs.map +1 -0
  408. package/dist/chunks/NcAppNavigationToggle-Cn1UvxNP.cjs +129 -0
  409. package/dist/chunks/NcAppNavigationToggle-Cn1UvxNP.cjs.map +1 -0
  410. package/dist/chunks/NcAppSettingsDialog-Cpjr8Tca.mjs +132 -0
  411. package/dist/chunks/NcAppSettingsDialog-Cpjr8Tca.mjs.map +1 -0
  412. package/dist/chunks/NcAppSettingsDialog-R6Y-tl6d.cjs +134 -0
  413. package/dist/chunks/NcAppSettingsDialog-R6Y-tl6d.cjs.map +1 -0
  414. package/dist/chunks/NcAppSettingsSection-BNVlt4g0.mjs +88 -0
  415. package/dist/chunks/NcAppSettingsSection-BNVlt4g0.mjs.map +1 -0
  416. package/dist/chunks/NcAppSettingsSection-CTqViPnP.cjs +87 -0
  417. package/dist/chunks/NcAppSettingsSection-CTqViPnP.cjs.map +1 -0
  418. package/dist/chunks/NcAppSidebar-CVcOP4bk.mjs +831 -0
  419. package/dist/chunks/NcAppSidebar-CVcOP4bk.mjs.map +1 -0
  420. package/dist/chunks/NcAppSidebar-Ddt82bsA.cjs +832 -0
  421. package/dist/chunks/NcAppSidebar-Ddt82bsA.cjs.map +1 -0
  422. package/dist/chunks/NcAppSidebarHeader-CBE4tNYb.mjs +51 -0
  423. package/dist/chunks/NcAppSidebarHeader-CBE4tNYb.mjs.map +1 -0
  424. package/dist/chunks/NcAppSidebarHeader-D-c_yxvx.cjs +50 -0
  425. package/dist/chunks/NcAppSidebarHeader-D-c_yxvx.cjs.map +1 -0
  426. package/dist/chunks/NcAssistantButton-WQvWhoAr.cjs +96 -0
  427. package/dist/chunks/NcAssistantButton-WQvWhoAr.cjs.map +1 -0
  428. package/dist/chunks/NcAssistantButton-lDdWOemf.mjs +97 -0
  429. package/dist/chunks/NcAssistantButton-lDdWOemf.mjs.map +1 -0
  430. package/dist/chunks/NcAssistantIcon-BTjYuSQ9.mjs +73 -0
  431. package/dist/chunks/NcAssistantIcon-BTjYuSQ9.mjs.map +1 -0
  432. package/dist/chunks/NcAssistantIcon-RDQ8YhZE.cjs +72 -0
  433. package/dist/chunks/NcAssistantIcon-RDQ8YhZE.cjs.map +1 -0
  434. package/dist/chunks/NcAvatar-Cupl4prm.mjs +633 -0
  435. package/dist/chunks/NcAvatar-Cupl4prm.mjs.map +1 -0
  436. package/dist/chunks/NcAvatar-D_0Aw88L.cjs +634 -0
  437. package/dist/chunks/NcAvatar-D_0Aw88L.cjs.map +1 -0
  438. package/dist/chunks/NcBlurHash-CR0v4QBK.cjs +115 -0
  439. package/dist/chunks/NcBlurHash-CR0v4QBK.cjs.map +1 -0
  440. package/dist/chunks/NcBlurHash-DZmsBU0q.mjs +116 -0
  441. package/dist/chunks/NcBlurHash-DZmsBU0q.mjs.map +1 -0
  442. package/dist/chunks/NcBreadcrumb-FbePEaGS.cjs +252 -0
  443. package/dist/chunks/NcBreadcrumb-FbePEaGS.cjs.map +1 -0
  444. package/dist/chunks/NcBreadcrumb-VJGW992x.mjs +253 -0
  445. package/dist/chunks/NcBreadcrumb-VJGW992x.mjs.map +1 -0
  446. package/dist/chunks/NcBreadcrumbs-CrNBCyUa.cjs +515 -0
  447. package/dist/chunks/NcBreadcrumbs-CrNBCyUa.cjs.map +1 -0
  448. package/dist/chunks/NcBreadcrumbs-DJSAcn8x.mjs +513 -0
  449. package/dist/chunks/NcBreadcrumbs-DJSAcn8x.mjs.map +1 -0
  450. package/dist/chunks/NcButton-D3CaJu1f.mjs +346 -0
  451. package/dist/chunks/NcButton-D3CaJu1f.mjs.map +1 -0
  452. package/dist/chunks/NcButton-DK7bNZIL.cjs +345 -0
  453. package/dist/chunks/NcButton-DK7bNZIL.cjs.map +1 -0
  454. package/dist/chunks/NcCheckboxRadioSwitch-CDFUoj2J.cjs +752 -0
  455. package/dist/chunks/NcCheckboxRadioSwitch-CDFUoj2J.cjs.map +1 -0
  456. package/dist/chunks/NcCheckboxRadioSwitch-ezquUuPz.mjs +753 -0
  457. package/dist/chunks/NcCheckboxRadioSwitch-ezquUuPz.mjs.map +1 -0
  458. package/dist/chunks/NcCollectionList-w-7M5HGN.mjs +431 -0
  459. package/dist/chunks/NcCollectionList-w-7M5HGN.mjs.map +1 -0
  460. package/dist/chunks/NcCollectionList-zAI6Ysc0.cjs +433 -0
  461. package/dist/chunks/NcCollectionList-zAI6Ysc0.cjs.map +1 -0
  462. package/dist/chunks/NcColorPicker-DpLU-oKM.mjs +157 -0
  463. package/dist/chunks/NcColorPicker-DpLU-oKM.mjs.map +1 -0
  464. package/dist/chunks/NcColorPicker-F-UP8OaJ.cjs +156 -0
  465. package/dist/chunks/NcColorPicker-F-UP8OaJ.cjs.map +1 -0
  466. package/dist/chunks/NcContent-C0_AA_wt.mjs +108 -0
  467. package/dist/chunks/NcContent-C0_AA_wt.mjs.map +1 -0
  468. package/dist/chunks/NcContent-DITvuNbF.cjs +107 -0
  469. package/dist/chunks/NcContent-DITvuNbF.cjs.map +1 -0
  470. package/dist/chunks/NcCounterBubble-BKPpoBiy.mjs +122 -0
  471. package/dist/chunks/NcCounterBubble-BKPpoBiy.mjs.map +1 -0
  472. package/dist/chunks/NcCounterBubble-B_H3NCef.cjs +121 -0
  473. package/dist/chunks/NcCounterBubble-B_H3NCef.cjs.map +1 -0
  474. package/dist/chunks/NcDashboardWidget--n1nzfhg.cjs +146 -0
  475. package/dist/chunks/NcDashboardWidget--n1nzfhg.cjs.map +1 -0
  476. package/dist/chunks/NcDashboardWidget-CEL-DhKX.mjs +147 -0
  477. package/dist/chunks/NcDashboardWidget-CEL-DhKX.mjs.map +1 -0
  478. package/dist/chunks/NcDashboardWidgetItem-DeQtScn8.mjs +151 -0
  479. package/dist/chunks/NcDashboardWidgetItem-DeQtScn8.mjs.map +1 -0
  480. package/dist/chunks/NcDashboardWidgetItem-loanO02A.cjs +150 -0
  481. package/dist/chunks/NcDashboardWidgetItem-loanO02A.cjs.map +1 -0
  482. package/dist/chunks/NcDateTime-DE-ltgw2.cjs +76 -0
  483. package/dist/chunks/NcDateTime-DE-ltgw2.cjs.map +1 -0
  484. package/dist/chunks/NcDateTime-enXYuwj8.mjs +77 -0
  485. package/dist/chunks/NcDateTime-enXYuwj8.mjs.map +1 -0
  486. package/dist/chunks/NcDialog-BM_wTqUn.mjs +290 -0
  487. package/dist/chunks/NcDialog-BM_wTqUn.mjs.map +1 -0
  488. package/dist/chunks/NcDialog-CG2sufkb.cjs +289 -0
  489. package/dist/chunks/NcDialog-CG2sufkb.cjs.map +1 -0
  490. package/dist/chunks/NcDialogButton-Cr0wVMne.mjs +131 -0
  491. package/dist/chunks/NcDialogButton-Cr0wVMne.mjs.map +1 -0
  492. package/dist/chunks/NcDialogButton-DkfxsIhv.cjs +130 -0
  493. package/dist/chunks/NcDialogButton-DkfxsIhv.cjs.map +1 -0
  494. package/dist/chunks/NcEmojiPicker-BV_iVlIv.mjs +319 -0
  495. package/dist/chunks/NcEmojiPicker-BV_iVlIv.mjs.map +1 -0
  496. package/dist/chunks/NcEmojiPicker-fgsuVz7X.cjs +320 -0
  497. package/dist/chunks/NcEmojiPicker-fgsuVz7X.cjs.map +1 -0
  498. package/dist/chunks/NcHeaderButton-CNQVz4QP.cjs +63 -0
  499. package/dist/chunks/NcHeaderButton-CNQVz4QP.cjs.map +1 -0
  500. package/dist/chunks/NcHeaderButton-TJML067P.mjs +64 -0
  501. package/dist/chunks/NcHeaderButton-TJML067P.mjs.map +1 -0
  502. package/dist/chunks/NcHeaderMenu-BzyFhg55.cjs +235 -0
  503. package/dist/chunks/NcHeaderMenu-BzyFhg55.cjs.map +1 -0
  504. package/dist/chunks/NcHeaderMenu-D5ddiKnF.mjs +236 -0
  505. package/dist/chunks/NcHeaderMenu-D5ddiKnF.mjs.map +1 -0
  506. package/dist/chunks/NcIconSvgWrapper-BCVwmZN2.mjs +112 -0
  507. package/dist/chunks/NcIconSvgWrapper-BCVwmZN2.mjs.map +1 -0
  508. package/dist/chunks/NcIconSvgWrapper-DoVPfeNg.cjs +114 -0
  509. package/dist/chunks/NcIconSvgWrapper-DoVPfeNg.cjs.map +1 -0
  510. package/dist/chunks/NcInputConfirmCancel-C8WnMK2V.mjs +115 -0
  511. package/dist/chunks/NcInputConfirmCancel-C8WnMK2V.mjs.map +1 -0
  512. package/dist/chunks/NcInputConfirmCancel-DVVTaxWi.cjs +114 -0
  513. package/dist/chunks/NcInputConfirmCancel-DVVTaxWi.cjs.map +1 -0
  514. package/dist/chunks/NcInputField-1ujONIvp.mjs +276 -0
  515. package/dist/chunks/NcInputField-1ujONIvp.mjs.map +1 -0
  516. package/dist/chunks/NcInputField-LBv3nCrt.cjs +275 -0
  517. package/dist/chunks/NcInputField-LBv3nCrt.cjs.map +1 -0
  518. package/dist/chunks/NcListItem-DFEvD1TA.cjs +292 -0
  519. package/dist/chunks/NcListItem-DFEvD1TA.cjs.map +1 -0
  520. package/dist/chunks/NcListItem-DNMfT12A.mjs +293 -0
  521. package/dist/chunks/NcListItem-DNMfT12A.mjs.map +1 -0
  522. package/dist/chunks/NcListItemIcon-OzD38-2R.cjs +177 -0
  523. package/dist/chunks/NcListItemIcon-OzD38-2R.cjs.map +1 -0
  524. package/dist/chunks/NcListItemIcon-PNp6Wael.mjs +178 -0
  525. package/dist/chunks/NcListItemIcon-PNp6Wael.mjs.map +1 -0
  526. package/dist/chunks/NcPasswordField-D2iDTTpp.mjs +321 -0
  527. package/dist/chunks/NcPasswordField-D2iDTTpp.mjs.map +1 -0
  528. package/dist/chunks/NcPasswordField-lqTDeja4.cjs +323 -0
  529. package/dist/chunks/NcPasswordField-lqTDeja4.cjs.map +1 -0
  530. package/dist/chunks/NcPopover-DrXnNOgM.cjs +328 -0
  531. package/dist/chunks/NcPopover-DrXnNOgM.cjs.map +1 -0
  532. package/dist/chunks/NcPopover-nzbq2IjT.mjs +327 -0
  533. package/dist/chunks/NcPopover-nzbq2IjT.mjs.map +1 -0
  534. package/dist/chunks/NcProgressBar-BwnuvxiZ.mjs +120 -0
  535. package/dist/chunks/NcProgressBar-BwnuvxiZ.mjs.map +1 -0
  536. package/dist/chunks/NcProgressBar-D10gQgAY.cjs +119 -0
  537. package/dist/chunks/NcProgressBar-D10gQgAY.cjs.map +1 -0
  538. package/dist/chunks/NcRadioGroup-DsnIVQZJ.cjs +102 -0
  539. package/dist/chunks/NcRadioGroup-DsnIVQZJ.cjs.map +1 -0
  540. package/dist/chunks/NcRadioGroup-sZaH_3Y0.mjs +101 -0
  541. package/dist/chunks/NcRadioGroup-sZaH_3Y0.mjs.map +1 -0
  542. package/dist/chunks/NcRadioGroupButton-B6m10k9G.mjs +63 -0
  543. package/dist/chunks/NcRadioGroupButton-B6m10k9G.mjs.map +1 -0
  544. package/dist/chunks/NcRadioGroupButton-CDf_01-t.cjs +62 -0
  545. package/dist/chunks/NcRadioGroupButton-CDf_01-t.cjs.map +1 -0
  546. package/dist/chunks/NcRelatedResourcesPanel-Q6jZk-Pm.mjs +439 -0
  547. package/dist/chunks/NcRelatedResourcesPanel-Q6jZk-Pm.mjs.map +1 -0
  548. package/dist/chunks/NcRelatedResourcesPanel-bfv-6W_Z.cjs +440 -0
  549. package/dist/chunks/NcRelatedResourcesPanel-bfv-6W_Z.cjs.map +1 -0
  550. package/dist/chunks/NcRichContenteditable-8_poOeSx.mjs +795 -0
  551. package/dist/chunks/NcRichContenteditable-8_poOeSx.mjs.map +1 -0
  552. package/dist/chunks/NcRichContenteditable-CtLNSs0S.cjs +798 -0
  553. package/dist/chunks/NcRichContenteditable-CtLNSs0S.cjs.map +1 -0
  554. package/dist/chunks/NcRichText-CEsiozf5.cjs +3704 -0
  555. package/dist/chunks/NcRichText-CEsiozf5.cjs.map +1 -0
  556. package/dist/chunks/NcRichText-Dnx5x9WS.mjs +3677 -0
  557. package/dist/chunks/NcRichText-Dnx5x9WS.mjs.map +1 -0
  558. package/dist/chunks/NcSavingIndicatorIcon-DFyB2KRK.cjs.map +1 -1
  559. package/dist/chunks/NcSavingIndicatorIcon-U7AIamCl.mjs.map +1 -1
  560. package/dist/chunks/NcSelect-TjZw7TJ_.mjs +601 -0
  561. package/dist/chunks/NcSelect-TjZw7TJ_.mjs.map +1 -0
  562. package/dist/chunks/NcSelect-bo6wla87.cjs +602 -0
  563. package/dist/chunks/NcSelect-bo6wla87.cjs.map +1 -0
  564. package/dist/chunks/NcSelectTags-CytnLDOw.mjs +349 -0
  565. package/dist/chunks/NcSelectTags-CytnLDOw.mjs.map +1 -0
  566. package/dist/chunks/NcSelectTags-D2OSaAfO.cjs +350 -0
  567. package/dist/chunks/NcSelectTags-D2OSaAfO.cjs.map +1 -0
  568. package/dist/chunks/NcSelectUsers-Bm0877Tm.mjs +199 -0
  569. package/dist/chunks/NcSelectUsers-Bm0877Tm.mjs.map +1 -0
  570. package/dist/chunks/NcSelectUsers-wcRyExkC.cjs +198 -0
  571. package/dist/chunks/NcSelectUsers-wcRyExkC.cjs.map +1 -0
  572. package/dist/chunks/NcSettingsInputText-DPAtsY2T.mjs +134 -0
  573. package/dist/chunks/NcSettingsInputText-DPAtsY2T.mjs.map +1 -0
  574. package/dist/chunks/NcSettingsInputText-DaFMiOS6.cjs +133 -0
  575. package/dist/chunks/NcSettingsInputText-DaFMiOS6.cjs.map +1 -0
  576. package/dist/chunks/NcSettingsSection-CX5q924g.mjs +120 -0
  577. package/dist/chunks/NcSettingsSection-CX5q924g.mjs.map +1 -0
  578. package/dist/chunks/NcSettingsSection-r4NOxKIz.cjs +119 -0
  579. package/dist/chunks/NcSettingsSection-r4NOxKIz.cjs.map +1 -0
  580. package/dist/chunks/NcSettingsSelectGroup-CR4XLrgs.mjs +253 -0
  581. package/dist/chunks/NcSettingsSelectGroup-CR4XLrgs.mjs.map +1 -0
  582. package/dist/chunks/NcSettingsSelectGroup-DYYAPkgp.cjs +255 -0
  583. package/dist/chunks/NcSettingsSelectGroup-DYYAPkgp.cjs.map +1 -0
  584. package/dist/chunks/NcTextArea-If_ygOSv.mjs +223 -0
  585. package/dist/chunks/NcTextArea-If_ygOSv.mjs.map +1 -0
  586. package/dist/chunks/NcTextArea-iDhGI-Ko.cjs +222 -0
  587. package/dist/chunks/NcTextArea-iDhGI-Ko.cjs.map +1 -0
  588. package/dist/chunks/NcTextField-BE9R1pLt.mjs +162 -0
  589. package/dist/chunks/NcTextField-BE9R1pLt.mjs.map +1 -0
  590. package/dist/chunks/NcTextField-OPiMgNR7.cjs +161 -0
  591. package/dist/chunks/NcTextField-OPiMgNR7.cjs.map +1 -0
  592. package/dist/chunks/NcThemeProvider-DbNRSwkX.cjs +52 -0
  593. package/dist/chunks/NcThemeProvider-DbNRSwkX.cjs.map +1 -0
  594. package/dist/chunks/NcThemeProvider-E_S5rhIQ.mjs +53 -0
  595. package/dist/chunks/NcThemeProvider-E_S5rhIQ.mjs.map +1 -0
  596. package/dist/chunks/NcTimezonePicker-D4y736xC.mjs +217 -0
  597. package/dist/chunks/NcTimezonePicker-D4y736xC.mjs.map +1 -0
  598. package/dist/chunks/NcTimezonePicker-DPpWz5fa.cjs +216 -0
  599. package/dist/chunks/NcTimezonePicker-DPpWz5fa.cjs.map +1 -0
  600. package/dist/chunks/NcUserBubble-8Mts76ii.mjs +222 -0
  601. package/dist/chunks/NcUserBubble-8Mts76ii.mjs.map +1 -0
  602. package/dist/chunks/NcUserBubble-Bb9WBP1S.cjs +223 -0
  603. package/dist/chunks/NcUserBubble-Bb9WBP1S.cjs.map +1 -0
  604. package/dist/chunks/NcUserStatusIcon-BWxo_etm.mjs +147 -0
  605. package/dist/chunks/NcUserStatusIcon-BWxo_etm.mjs.map +1 -0
  606. package/dist/chunks/NcUserStatusIcon-DV2H-KfR.cjs +148 -0
  607. package/dist/chunks/NcUserStatusIcon-DV2H-KfR.cjs.map +1 -0
  608. package/dist/chunks/ScopeComponent-CDX-s-IV.cjs +13 -0
  609. package/dist/chunks/ScopeComponent-CDX-s-IV.cjs.map +1 -0
  610. package/dist/chunks/ScopeComponent-DsONbC6w.mjs +14 -0
  611. package/dist/chunks/ScopeComponent-DsONbC6w.mjs.map +1 -0
  612. package/dist/chunks/_l10n-9b4TMo5Q.cjs +138 -0
  613. package/dist/chunks/_l10n-9b4TMo5Q.cjs.map +1 -0
  614. package/dist/chunks/_l10n-DSLCwJSN.mjs +139 -0
  615. package/dist/chunks/_l10n-DSLCwJSN.mjs.map +1 -0
  616. package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
  617. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
  618. package/dist/chunks/actionText-D_3-6fCH.cjs +90 -0
  619. package/dist/chunks/actionText-D_3-6fCH.cjs.map +1 -0
  620. package/dist/chunks/actionText-ZM1k96ts.mjs +91 -0
  621. package/dist/chunks/actionText-ZM1k96ts.mjs.map +1 -0
  622. package/dist/chunks/autolink-BPlRHRHR.cjs +110 -0
  623. package/dist/chunks/autolink-BPlRHRHR.cjs.map +1 -0
  624. package/dist/chunks/autolink-D2pIbi92.mjs +111 -0
  625. package/dist/chunks/autolink-D2pIbi92.mjs.map +1 -0
  626. package/dist/chunks/colors-BMiIMYXK.mjs +135 -0
  627. package/dist/chunks/colors-BMiIMYXK.mjs.map +1 -0
  628. package/dist/chunks/colors-DcbJ13is.cjs +134 -0
  629. package/dist/chunks/colors-DcbJ13is.cjs.map +1 -0
  630. package/dist/chunks/constants-Bls5liKo.mjs.map +1 -1
  631. package/dist/chunks/constants-C_lA-vcp.cjs.map +1 -1
  632. package/dist/chunks/createElementId-5skgwxOP.mjs +9 -0
  633. package/dist/chunks/createElementId-5skgwxOP.mjs.map +1 -0
  634. package/dist/chunks/createElementId-DaJhnLzq.cjs +8 -0
  635. package/dist/chunks/createElementId-DaJhnLzq.cjs.map +1 -0
  636. package/dist/chunks/customPickerElements-BPROmh4T.mjs +140 -0
  637. package/dist/chunks/customPickerElements-BPROmh4T.mjs.map +1 -0
  638. package/dist/chunks/customPickerElements-DBEOrbce.cjs +139 -0
  639. package/dist/chunks/customPickerElements-DBEOrbce.cjs.map +1 -0
  640. package/dist/chunks/emoji-BCCCB3t3.cjs +67 -0
  641. package/dist/chunks/emoji-BCCCB3t3.cjs.map +1 -0
  642. package/dist/chunks/emoji-V6ytyzoR.mjs +66 -0
  643. package/dist/chunks/emoji-V6ytyzoR.mjs.map +1 -0
  644. package/dist/chunks/focusTrap-BibOtksr.mjs +36 -0
  645. package/dist/chunks/focusTrap-BibOtksr.mjs.map +1 -0
  646. package/dist/chunks/focusTrap-DhhUL4JZ.cjs +35 -0
  647. package/dist/chunks/focusTrap-DhhUL4JZ.cjs.map +1 -0
  648. package/dist/chunks/getAvatarUrl-C8Q41hfR.mjs +16 -0
  649. package/dist/chunks/getAvatarUrl-C8Q41hfR.mjs.map +1 -0
  650. package/dist/chunks/getAvatarUrl-DwWyuiUZ.cjs +15 -0
  651. package/dist/chunks/getAvatarUrl-DwWyuiUZ.cjs.map +1 -0
  652. package/dist/chunks/index-BsEMR4S4.mjs +179 -0
  653. package/dist/chunks/index-BsEMR4S4.mjs.map +1 -0
  654. package/dist/chunks/index-CmwBGDjr.cjs +192 -0
  655. package/dist/chunks/index-CmwBGDjr.cjs.map +1 -0
  656. package/dist/chunks/index-D_jGr37E.cjs +182 -0
  657. package/dist/chunks/index-D_jGr37E.cjs.map +1 -0
  658. package/dist/chunks/index-JArK0Dbx.mjs +193 -0
  659. package/dist/chunks/index-JArK0Dbx.mjs.map +1 -0
  660. package/dist/chunks/legacy-DUgfmdiS.cjs +6 -0
  661. package/dist/chunks/legacy-DUgfmdiS.cjs.map +1 -0
  662. package/dist/chunks/legacy-NU_qxPFK.mjs +7 -0
  663. package/dist/chunks/legacy-NU_qxPFK.mjs.map +1 -0
  664. package/dist/chunks/logger-3HuiEIF6.cjs.map +1 -1
  665. package/dist/chunks/logger-D3RVzcfQ.mjs.map +1 -1
  666. package/dist/chunks/mdi-CKSXwCsV.mjs +27 -0
  667. package/dist/chunks/mdi-CKSXwCsV.mjs.map +1 -0
  668. package/dist/chunks/mdi-Nhb6SBw8.cjs +26 -0
  669. package/dist/chunks/mdi-Nhb6SBw8.cjs.map +1 -0
  670. package/dist/chunks/platform-CC2ecGvV.mjs +5 -0
  671. package/dist/chunks/platform-CC2ecGvV.mjs.map +1 -0
  672. package/dist/chunks/platform-oKxQ1agV.cjs +4 -0
  673. package/dist/chunks/platform-oKxQ1agV.cjs.map +1 -0
  674. package/dist/chunks/referencePickerModal-CusxgEsK.cjs +1119 -0
  675. package/dist/chunks/referencePickerModal-CusxgEsK.cjs.map +1 -0
  676. package/dist/chunks/referencePickerModal-DpJUQ5fq.mjs +1117 -0
  677. package/dist/chunks/referencePickerModal-DpJUQ5fq.mjs.map +1 -0
  678. package/dist/chunks/useAppSettingsDialog-CPqmms-u.cjs +9 -0
  679. package/dist/chunks/useAppSettingsDialog-CPqmms-u.cjs.map +1 -0
  680. package/dist/chunks/useAppSettingsDialog-Dn48dw1k.mjs +10 -0
  681. package/dist/chunks/useAppSettingsDialog-Dn48dw1k.mjs.map +1 -0
  682. package/dist/chunks/useModelMigration-DBUi8saj.mjs +25 -0
  683. package/dist/chunks/useModelMigration-DBUi8saj.mjs.map +1 -0
  684. package/dist/chunks/useModelMigration-HPf30klj.cjs +26 -0
  685. package/dist/chunks/useModelMigration-HPf30klj.cjs.map +1 -0
  686. package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs +14 -0
  687. package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs.map +1 -0
  688. package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs +13 -0
  689. package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs.map +1 -0
  690. package/dist/chunks/useTrapStackControl-2gEo3rvr.mjs +23 -0
  691. package/dist/chunks/useTrapStackControl-2gEo3rvr.mjs.map +1 -0
  692. package/dist/chunks/useTrapStackControl-dthvITlQ.cjs +22 -0
  693. package/dist/chunks/useTrapStackControl-dthvITlQ.cjs.map +1 -0
  694. package/dist/components/NcAppSettingsDialog/index.d.ts +5 -0
  695. package/dist/components/NcAppSettingsDialog/useAppSettingsDialog.d.ts +24 -0
  696. package/dist/components/NcCollectionList/service.d.ts +7 -0
  697. package/dist/components/NcColorPicker/index.d.ts +5 -0
  698. package/dist/components/NcKbd/index.d.ts +1 -0
  699. package/dist/components/NcRadioGroup/index.d.ts +5 -0
  700. package/dist/components/NcRadioGroup/useNcRadioGroup.d.ts +14 -0
  701. package/dist/components/NcRadioGroupButton/index.d.ts +5 -0
  702. package/dist/composables/actions/useActionText.d.ts +4 -1
  703. package/dist/composables/index.d.ts +9 -0
  704. package/dist/composables/useFormatDateTime/index.d.ts +7 -5
  705. package/dist/composables/useHotKey/index.d.ts +4 -2
  706. package/dist/composables/useIsDarkTheme/constants.d.ts +0 -1
  707. package/dist/composables/useIsDarkTheme/index.d.ts +2 -1
  708. package/dist/composables/useIsMobile/index.d.ts +23 -0
  709. package/dist/composables/useModelMigration.d.ts +6 -5
  710. package/dist/composables/useTrapStackControl.d.ts +1 -1
  711. package/dist/directives/Linkify/index.d.ts +3 -0
  712. package/dist/functions/a11y/index.d.ts +3 -3
  713. package/dist/functions/contactsMenu/index.d.ts +2 -2
  714. package/dist/functions/dialog/index.d.ts +1 -0
  715. package/dist/functions/emoji/emoji.d.ts +2 -2
  716. package/dist/functions/emoji/index.d.ts +1 -1
  717. package/dist/functions/isDarkTheme/index.d.ts +2 -1
  718. package/dist/functions/preloadImage/index.d.ts +1 -0
  719. package/dist/functions/reference/index.d.ts +3 -3
  720. package/dist/functions/reference/widgets.d.ts +1 -0
  721. package/dist/functions/registerReference/index.d.ts +2 -2
  722. package/dist/index.cjs +95 -88
  723. package/dist/index.cjs.map +1 -1
  724. package/dist/index.mjs +91 -84
  725. package/dist/index.mjs.map +1 -1
  726. package/dist/plugin.d.ts +1 -0
  727. package/dist/utils/UserStatus.d.ts +6 -1
  728. package/dist/utils/colors.d.ts +36 -0
  729. package/dist/utils/createElementId.d.ts +11 -0
  730. package/dist/utils/getAvatarUrl.d.ts +1 -0
  731. package/dist/utils/platform.d.ts +1 -0
  732. package/package.json +31 -27
  733. package/dist/assets/NcActionButton-D8Lyueq3.css +0 -119
  734. package/dist/assets/NcActionButtonGroup-oAqMyrzr.css +0 -47
  735. package/dist/assets/NcActionCheckbox-BlyPt7DF.css +0 -80
  736. package/dist/assets/NcActionInput-D79204Jr.css +0 -226
  737. package/dist/assets/NcActionLink-CNMaob5P.css +0 -102
  738. package/dist/assets/NcActionRadio-CodyhP86.css +0 -79
  739. package/dist/assets/NcActionRouter-zXuKLsvi.css +0 -113
  740. package/dist/assets/NcActionText-Rad4JSXq.css +0 -117
  741. package/dist/assets/NcActionTextEditable-i1KSVe0J.css +0 -244
  742. package/dist/assets/NcActions-Bjgv1Dku.css +0 -80
  743. package/dist/assets/NcAppContent-Bb5hgGi3.css +0 -124
  744. package/dist/assets/NcAppNavigation-WhHdkLQF.css +0 -110
  745. package/dist/assets/NcAppNavigationCaption-DU9PxTvu.css +0 -49
  746. package/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css +0 -30
  747. package/dist/assets/NcAppNavigationItem-DKcGNjYx.css +0 -226
  748. package/dist/assets/NcAppNavigationNew-Dbo2rvXH.css +0 -27
  749. package/dist/assets/NcAppNavigationNewItem-CS2gLROV.css +0 -211
  750. package/dist/assets/NcAppNavigationSearch-CD7kv7L_.css +0 -41
  751. package/dist/assets/NcAppNavigationSettings-_Qi3rUlw.css +0 -74
  752. package/dist/assets/NcAppNavigationToggle-C5IMygw1.css +0 -27
  753. package/dist/assets/NcAppSettingsDialog-kKMMsdb3.css +0 -74
  754. package/dist/assets/NcAppSettingsSection-Bl2-D3_g.css +0 -30
  755. package/dist/assets/NcAppSidebar-u0G_qQMh.css +0 -349
  756. package/dist/assets/NcAppSidebarTab-Blv6UfuA.css +0 -34
  757. package/dist/assets/NcAssistantIcon-BFNU0uqH.css +0 -35
  758. package/dist/assets/NcAvatar-BqNcvkxP.css +0 -134
  759. package/dist/assets/NcBreadcrumb-DqaFt2qu.css +0 -68
  760. package/dist/assets/NcBreadcrumbs-CFRjXqRg.css +0 -37
  761. package/dist/assets/NcButton-C_LOxojs.css +0 -219
  762. package/dist/assets/NcCheckboxRadioSwitch-CC2zuvLL.css +0 -216
  763. package/dist/assets/NcChip-CF4Q149V.css +0 -65
  764. package/dist/assets/NcCollectionList-yjTCAR46.css +0 -221
  765. package/dist/assets/NcColorPicker-DBcVuSwg.css +0 -172
  766. package/dist/assets/NcContent-DH4tX3N4.css +0 -85
  767. package/dist/assets/NcCounterBubble-CI-DxLjL.css +0 -53
  768. package/dist/assets/NcDashboardWidget-CrhZaGWD.css +0 -73
  769. package/dist/assets/NcDashboardWidgetItem-B8_6-_k8.css +0 -85
  770. package/dist/assets/NcDateTimePicker-Ce57VAyL.css +0 -893
  771. package/dist/assets/NcDateTimePickerNative-CYS2ORfo.css +0 -60
  772. package/dist/assets/NcDialog-X7BRqUGJ.css +0 -132
  773. package/dist/assets/NcEllipsisedOption-DGr9_bIL.css +0 -34
  774. package/dist/assets/NcEmojiPicker-BRSm8OUy.css +0 -546
  775. package/dist/assets/NcEmptyContent-CHVEJoER.css +0 -68
  776. package/dist/assets/NcGuestContent-ByAkjts7.css +0 -50
  777. package/dist/assets/NcHeaderButton-BRhv2o2J.css +0 -54
  778. package/dist/assets/NcHeaderMenu-Cjb3kKi1.css +0 -88
  779. package/dist/assets/NcIconSvgWrapper-DX_XWpAs.css +0 -46
  780. package/dist/assets/NcInputConfirmCancel-BanazdhC.css +0 -39
  781. package/dist/assets/NcInputField-DAiNwtp_.css +0 -206
  782. package/dist/assets/NcListItem-KrH47Efg.css +0 -186
  783. package/dist/assets/NcListItemIcon-UmX9YoH3.css +0 -72
  784. package/dist/assets/NcLoadingIcon-DbbToJVp.css +0 -24
  785. package/dist/assets/NcMentionBubble-UsTMm5VD.css +0 -73
  786. package/dist/assets/NcModal-Cy3UOuI2.css +0 -287
  787. package/dist/assets/NcNoteCard-ChweF_5Q.css +0 -67
  788. package/dist/assets/NcPasswordField-DVK8tuPi.css +0 -21
  789. package/dist/assets/NcProgressBar-DTCznR-m.css +0 -56
  790. package/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css +0 -158
  791. package/dist/assets/NcRichContenteditable-DZLSoy84.css +0 -274
  792. package/dist/assets/NcRichText-CWVHZl8s.css +0 -329
  793. package/dist/assets/NcSelect-GdIw6cIy.css +0 -199
  794. package/dist/assets/NcSelectUsers-BOwQNNMf.css +0 -4
  795. package/dist/assets/NcSettingsInputText-Bsp_6DjJ.css +0 -35
  796. package/dist/assets/NcSettingsSection-uKqWTbhb.css +0 -57
  797. package/dist/assets/NcSettingsSelectGroup-tjJNoh16.css +0 -23
  798. package/dist/assets/NcTextArea-vxeIyeSg.css +0 -136
  799. package/dist/assets/NcUserBubble-BsTKRhKz.css +0 -48
  800. package/dist/assets/NcUserStatusIcon-Dc-aUzBe.css +0 -34
  801. package/dist/assets/referencePickerModal-DrvqNTIf.css +0 -396
  802. package/dist/chunks/GenColors-BjsCKF7S.cjs +0 -133
  803. package/dist/chunks/GenColors-BjsCKF7S.cjs.map +0 -1
  804. package/dist/chunks/GenColors-BrpkL3hT.mjs +0 -134
  805. package/dist/chunks/GenColors-BrpkL3hT.mjs.map +0 -1
  806. package/dist/chunks/GenRandomId-BQDud3d4.cjs +0 -6
  807. package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +0 -1
  808. package/dist/chunks/GenRandomId-CMooMQt0.mjs +0 -7
  809. package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +0 -1
  810. package/dist/chunks/NcActionButton-BhSk7AAp.cjs +0 -181
  811. package/dist/chunks/NcActionButton-BhSk7AAp.cjs.map +0 -1
  812. package/dist/chunks/NcActionButton-DC3oAI2L.mjs +0 -182
  813. package/dist/chunks/NcActionButton-DC3oAI2L.mjs.map +0 -1
  814. package/dist/chunks/NcActionButtonGroup-Cr4OSmyb.cjs +0 -51
  815. package/dist/chunks/NcActionButtonGroup-Cr4OSmyb.cjs.map +0 -1
  816. package/dist/chunks/NcActionButtonGroup-hhh3GBSS.mjs +0 -52
  817. package/dist/chunks/NcActionButtonGroup-hhh3GBSS.mjs.map +0 -1
  818. package/dist/chunks/NcActionCheckbox-DSMKeccY.mjs +0 -139
  819. package/dist/chunks/NcActionCheckbox-DSMKeccY.mjs.map +0 -1
  820. package/dist/chunks/NcActionCheckbox-JX-QaTD6.cjs +0 -138
  821. package/dist/chunks/NcActionCheckbox-JX-QaTD6.cjs.map +0 -1
  822. package/dist/chunks/NcActionInput-B5ysJl2S.mjs +0 -286
  823. package/dist/chunks/NcActionInput-B5ysJl2S.mjs.map +0 -1
  824. package/dist/chunks/NcActionInput-DdaafMi8.cjs +0 -286
  825. package/dist/chunks/NcActionInput-DdaafMi8.cjs.map +0 -1
  826. package/dist/chunks/NcActionRadio-BUCQ6VxA.cjs +0 -148
  827. package/dist/chunks/NcActionRadio-BUCQ6VxA.cjs.map +0 -1
  828. package/dist/chunks/NcActionRadio-yAm71xxU.mjs +0 -147
  829. package/dist/chunks/NcActionRadio-yAm71xxU.mjs.map +0 -1
  830. package/dist/chunks/NcActionTextEditable-CTXGUIPM.cjs +0 -124
  831. package/dist/chunks/NcActionTextEditable-CTXGUIPM.cjs.map +0 -1
  832. package/dist/chunks/NcActionTextEditable-CpxJ_LEa.mjs +0 -125
  833. package/dist/chunks/NcActionTextEditable-CpxJ_LEa.mjs.map +0 -1
  834. package/dist/chunks/NcActions-DRCkAU8h.cjs +0 -888
  835. package/dist/chunks/NcActions-DRCkAU8h.cjs.map +0 -1
  836. package/dist/chunks/NcActions-DdARGGZ_.mjs +0 -887
  837. package/dist/chunks/NcActions-DdARGGZ_.mjs.map +0 -1
  838. package/dist/chunks/NcAppContent-BS7BiMG0.mjs +0 -361
  839. package/dist/chunks/NcAppContent-BS7BiMG0.mjs.map +0 -1
  840. package/dist/chunks/NcAppContent-POt1Lj3W.cjs +0 -360
  841. package/dist/chunks/NcAppContent-POt1Lj3W.cjs.map +0 -1
  842. package/dist/chunks/NcAppNavigation-BKxSUpcQ.cjs +0 -174
  843. package/dist/chunks/NcAppNavigation-BKxSUpcQ.cjs.map +0 -1
  844. package/dist/chunks/NcAppNavigation-BvEa92PC.mjs +0 -173
  845. package/dist/chunks/NcAppNavigation-BvEa92PC.mjs.map +0 -1
  846. package/dist/chunks/NcAppNavigationCaption-BpmzZDPj.cjs +0 -77
  847. package/dist/chunks/NcAppNavigationCaption-BpmzZDPj.cjs.map +0 -1
  848. package/dist/chunks/NcAppNavigationCaption-O4l8dFkh.mjs +0 -78
  849. package/dist/chunks/NcAppNavigationCaption-O4l8dFkh.mjs.map +0 -1
  850. package/dist/chunks/NcAppNavigationItem-BFF0p136.mjs +0 -517
  851. package/dist/chunks/NcAppNavigationItem-BFF0p136.mjs.map +0 -1
  852. package/dist/chunks/NcAppNavigationItem-D1CEGuhm.cjs +0 -516
  853. package/dist/chunks/NcAppNavigationItem-D1CEGuhm.cjs.map +0 -1
  854. package/dist/chunks/NcAppNavigationNewItem-CTAoGkDy.cjs +0 -96
  855. package/dist/chunks/NcAppNavigationNewItem-CTAoGkDy.cjs.map +0 -1
  856. package/dist/chunks/NcAppNavigationNewItem-D4fJeBl0.mjs +0 -97
  857. package/dist/chunks/NcAppNavigationNewItem-D4fJeBl0.mjs.map +0 -1
  858. package/dist/chunks/NcAppNavigationSearch-B9OkdsuE.mjs +0 -101
  859. package/dist/chunks/NcAppNavigationSearch-B9OkdsuE.mjs.map +0 -1
  860. package/dist/chunks/NcAppNavigationSearch-CaBrnpf9.cjs +0 -100
  861. package/dist/chunks/NcAppNavigationSearch-CaBrnpf9.cjs.map +0 -1
  862. package/dist/chunks/NcAppNavigationSettings-DV5ZnR2s.cjs +0 -85
  863. package/dist/chunks/NcAppNavigationSettings-DV5ZnR2s.cjs.map +0 -1
  864. package/dist/chunks/NcAppNavigationSettings-Do0e5oWy.mjs +0 -86
  865. package/dist/chunks/NcAppNavigationSettings-Do0e5oWy.mjs.map +0 -1
  866. package/dist/chunks/NcAppNavigationToggle-DGppWo0q.cjs +0 -128
  867. package/dist/chunks/NcAppNavigationToggle-DGppWo0q.cjs.map +0 -1
  868. package/dist/chunks/NcAppNavigationToggle-VxL1CfJY.mjs +0 -129
  869. package/dist/chunks/NcAppNavigationToggle-VxL1CfJY.mjs.map +0 -1
  870. package/dist/chunks/NcAppSettingsDialog-BDo3la0P.cjs +0 -223
  871. package/dist/chunks/NcAppSettingsDialog-BDo3la0P.cjs.map +0 -1
  872. package/dist/chunks/NcAppSettingsDialog-BwsIc_QT.mjs +0 -221
  873. package/dist/chunks/NcAppSettingsDialog-BwsIc_QT.mjs.map +0 -1
  874. package/dist/chunks/NcAppSidebar-AR-D7HSj.mjs +0 -816
  875. package/dist/chunks/NcAppSidebar-AR-D7HSj.mjs.map +0 -1
  876. package/dist/chunks/NcAppSidebar-Cvyq-kN5.cjs +0 -817
  877. package/dist/chunks/NcAppSidebar-Cvyq-kN5.cjs.map +0 -1
  878. package/dist/chunks/NcAppSidebarHeader-BUXD8c9i.cjs +0 -49
  879. package/dist/chunks/NcAppSidebarHeader-BUXD8c9i.cjs.map +0 -1
  880. package/dist/chunks/NcAppSidebarHeader-G2VD8Nfl.mjs +0 -50
  881. package/dist/chunks/NcAppSidebarHeader-G2VD8Nfl.mjs.map +0 -1
  882. package/dist/chunks/NcAssistantButton-Ck1NUjhl.mjs +0 -97
  883. package/dist/chunks/NcAssistantButton-Ck1NUjhl.mjs.map +0 -1
  884. package/dist/chunks/NcAssistantButton-gD3MKoYS.cjs +0 -96
  885. package/dist/chunks/NcAssistantButton-gD3MKoYS.cjs.map +0 -1
  886. package/dist/chunks/NcAssistantIcon-D_xelcY2.cjs +0 -68
  887. package/dist/chunks/NcAssistantIcon-D_xelcY2.cjs.map +0 -1
  888. package/dist/chunks/NcAssistantIcon-tjSguP9N.mjs +0 -69
  889. package/dist/chunks/NcAssistantIcon-tjSguP9N.mjs.map +0 -1
  890. package/dist/chunks/NcAvatar-BEIBwiA6.mjs +0 -624
  891. package/dist/chunks/NcAvatar-BEIBwiA6.mjs.map +0 -1
  892. package/dist/chunks/NcAvatar-DS1H-VrZ.cjs +0 -625
  893. package/dist/chunks/NcAvatar-DS1H-VrZ.cjs.map +0 -1
  894. package/dist/chunks/NcBlurHash-CJ8retHx.cjs +0 -115
  895. package/dist/chunks/NcBlurHash-CJ8retHx.cjs.map +0 -1
  896. package/dist/chunks/NcBlurHash-do2wxY-0.mjs +0 -116
  897. package/dist/chunks/NcBlurHash-do2wxY-0.mjs.map +0 -1
  898. package/dist/chunks/NcBreadcrumb-BYYXWaif.mjs +0 -237
  899. package/dist/chunks/NcBreadcrumb-BYYXWaif.mjs.map +0 -1
  900. package/dist/chunks/NcBreadcrumb-HtgcEJgs.cjs +0 -236
  901. package/dist/chunks/NcBreadcrumb-HtgcEJgs.cjs.map +0 -1
  902. package/dist/chunks/NcBreadcrumbs-CQcnjGJO.cjs +0 -495
  903. package/dist/chunks/NcBreadcrumbs-CQcnjGJO.cjs.map +0 -1
  904. package/dist/chunks/NcBreadcrumbs-cj5ip2-X.mjs +0 -493
  905. package/dist/chunks/NcBreadcrumbs-cj5ip2-X.mjs.map +0 -1
  906. package/dist/chunks/NcCheckboxRadioSwitch-B-lXOnEF.cjs +0 -725
  907. package/dist/chunks/NcCheckboxRadioSwitch-B-lXOnEF.cjs.map +0 -1
  908. package/dist/chunks/NcCheckboxRadioSwitch-DqdNvkCt.mjs +0 -726
  909. package/dist/chunks/NcCheckboxRadioSwitch-DqdNvkCt.mjs.map +0 -1
  910. package/dist/chunks/NcCollectionList-CLv50tJ3.mjs +0 -424
  911. package/dist/chunks/NcCollectionList-CLv50tJ3.mjs.map +0 -1
  912. package/dist/chunks/NcCollectionList-DXNSOjPG.cjs +0 -426
  913. package/dist/chunks/NcCollectionList-DXNSOjPG.cjs.map +0 -1
  914. package/dist/chunks/NcColorPicker-52xaYx9k.mjs +0 -255
  915. package/dist/chunks/NcColorPicker-52xaYx9k.mjs.map +0 -1
  916. package/dist/chunks/NcColorPicker-CbiIpVlT.cjs +0 -254
  917. package/dist/chunks/NcColorPicker-CbiIpVlT.cjs.map +0 -1
  918. package/dist/chunks/NcContent-BbmqoSY7.mjs +0 -104
  919. package/dist/chunks/NcContent-BbmqoSY7.mjs.map +0 -1
  920. package/dist/chunks/NcContent-DH7uH5Gv.cjs +0 -103
  921. package/dist/chunks/NcContent-DH7uH5Gv.cjs.map +0 -1
  922. package/dist/chunks/NcCounterBubble-BRrUO34D.cjs +0 -115
  923. package/dist/chunks/NcCounterBubble-BRrUO34D.cjs.map +0 -1
  924. package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs +0 -116
  925. package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs.map +0 -1
  926. package/dist/chunks/NcDashboardWidget-809lybR1.mjs +0 -147
  927. package/dist/chunks/NcDashboardWidget-809lybR1.mjs.map +0 -1
  928. package/dist/chunks/NcDashboardWidget-DhJAJn-_.cjs +0 -146
  929. package/dist/chunks/NcDashboardWidget-DhJAJn-_.cjs.map +0 -1
  930. package/dist/chunks/NcDashboardWidgetItem-6JbU9gp1.mjs +0 -150
  931. package/dist/chunks/NcDashboardWidgetItem-6JbU9gp1.mjs.map +0 -1
  932. package/dist/chunks/NcDashboardWidgetItem-CgO8qJUQ.cjs +0 -149
  933. package/dist/chunks/NcDashboardWidgetItem-CgO8qJUQ.cjs.map +0 -1
  934. package/dist/chunks/NcDateTime-Cl-PZpLN.cjs +0 -76
  935. package/dist/chunks/NcDateTime-Cl-PZpLN.cjs.map +0 -1
  936. package/dist/chunks/NcDateTime-kanSdMgW.mjs +0 -77
  937. package/dist/chunks/NcDateTime-kanSdMgW.mjs.map +0 -1
  938. package/dist/chunks/NcDialog-C1b3UtA7.mjs +0 -282
  939. package/dist/chunks/NcDialog-C1b3UtA7.mjs.map +0 -1
  940. package/dist/chunks/NcDialog-ps0F3IQM.cjs +0 -281
  941. package/dist/chunks/NcDialog-ps0F3IQM.cjs.map +0 -1
  942. package/dist/chunks/NcDialogButton-CEdM0Qnr.cjs +0 -128
  943. package/dist/chunks/NcDialogButton-CEdM0Qnr.cjs.map +0 -1
  944. package/dist/chunks/NcDialogButton-Di9tU3e_.mjs +0 -129
  945. package/dist/chunks/NcDialogButton-Di9tU3e_.mjs.map +0 -1
  946. package/dist/chunks/NcEmojiPicker-CdH7bAGd.cjs +0 -314
  947. package/dist/chunks/NcEmojiPicker-CdH7bAGd.cjs.map +0 -1
  948. package/dist/chunks/NcEmojiPicker-CyZg0bCF.mjs +0 -313
  949. package/dist/chunks/NcEmojiPicker-CyZg0bCF.mjs.map +0 -1
  950. package/dist/chunks/NcHeaderMenu-BWFubuox.cjs +0 -232
  951. package/dist/chunks/NcHeaderMenu-BWFubuox.cjs.map +0 -1
  952. package/dist/chunks/NcHeaderMenu-Dq_Avv2T.mjs +0 -233
  953. package/dist/chunks/NcHeaderMenu-Dq_Avv2T.mjs.map +0 -1
  954. package/dist/chunks/NcIconSvgWrapper-Cb-cPj1R.mjs +0 -111
  955. package/dist/chunks/NcIconSvgWrapper-Cb-cPj1R.mjs.map +0 -1
  956. package/dist/chunks/NcIconSvgWrapper-CrnN5Sq5.cjs +0 -113
  957. package/dist/chunks/NcIconSvgWrapper-CrnN5Sq5.cjs.map +0 -1
  958. package/dist/chunks/NcInputConfirmCancel-DA740BJ-.mjs +0 -109
  959. package/dist/chunks/NcInputConfirmCancel-DA740BJ-.mjs.map +0 -1
  960. package/dist/chunks/NcInputConfirmCancel-Dz7-CkOl.cjs +0 -108
  961. package/dist/chunks/NcInputConfirmCancel-Dz7-CkOl.cjs.map +0 -1
  962. package/dist/chunks/NcInputField-BNSfmQqu.mjs +0 -272
  963. package/dist/chunks/NcInputField-BNSfmQqu.mjs.map +0 -1
  964. package/dist/chunks/NcInputField-cT3u4gMS.cjs +0 -271
  965. package/dist/chunks/NcInputField-cT3u4gMS.cjs.map +0 -1
  966. package/dist/chunks/NcListItem-Bx9qm5xC.cjs +0 -286
  967. package/dist/chunks/NcListItem-Bx9qm5xC.cjs.map +0 -1
  968. package/dist/chunks/NcListItem-CifyXFmv.mjs +0 -287
  969. package/dist/chunks/NcListItem-CifyXFmv.mjs.map +0 -1
  970. package/dist/chunks/NcListItemIcon-CZrilo88.mjs +0 -176
  971. package/dist/chunks/NcListItemIcon-CZrilo88.mjs.map +0 -1
  972. package/dist/chunks/NcListItemIcon-DMhlNuU9.cjs +0 -175
  973. package/dist/chunks/NcListItemIcon-DMhlNuU9.cjs.map +0 -1
  974. package/dist/chunks/NcPasswordField-DSdrAkZy.mjs +0 -305
  975. package/dist/chunks/NcPasswordField-DSdrAkZy.mjs.map +0 -1
  976. package/dist/chunks/NcPasswordField-DcFBNVHn.cjs +0 -307
  977. package/dist/chunks/NcPasswordField-DcFBNVHn.cjs.map +0 -1
  978. package/dist/chunks/NcPopover-DjeDGPXc.cjs +0 -310
  979. package/dist/chunks/NcPopover-DjeDGPXc.cjs.map +0 -1
  980. package/dist/chunks/NcPopover-DxTXnL3u.mjs +0 -309
  981. package/dist/chunks/NcPopover-DxTXnL3u.mjs.map +0 -1
  982. package/dist/chunks/NcProgressBar-CI_nOrPg.mjs +0 -116
  983. package/dist/chunks/NcProgressBar-CI_nOrPg.mjs.map +0 -1
  984. package/dist/chunks/NcProgressBar-lh4Gtdfr.cjs +0 -115
  985. package/dist/chunks/NcProgressBar-lh4Gtdfr.cjs.map +0 -1
  986. package/dist/chunks/NcRelatedResourcesPanel-BR_ggojH.cjs +0 -427
  987. package/dist/chunks/NcRelatedResourcesPanel-BR_ggojH.cjs.map +0 -1
  988. package/dist/chunks/NcRelatedResourcesPanel-DyvwxDjI.mjs +0 -426
  989. package/dist/chunks/NcRelatedResourcesPanel-DyvwxDjI.mjs.map +0 -1
  990. package/dist/chunks/NcRichContenteditable-CMQnS1Wz.mjs +0 -749
  991. package/dist/chunks/NcRichContenteditable-CMQnS1Wz.mjs.map +0 -1
  992. package/dist/chunks/NcRichContenteditable-DtkaJmwG.cjs +0 -752
  993. package/dist/chunks/NcRichContenteditable-DtkaJmwG.cjs.map +0 -1
  994. package/dist/chunks/NcRichText-7B9lDtoo.cjs +0 -3714
  995. package/dist/chunks/NcRichText-7B9lDtoo.cjs.map +0 -1
  996. package/dist/chunks/NcRichText-MMeidJmP.mjs +0 -3685
  997. package/dist/chunks/NcRichText-MMeidJmP.mjs.map +0 -1
  998. package/dist/chunks/NcSelect-CrxryIo3.cjs +0 -580
  999. package/dist/chunks/NcSelect-CrxryIo3.cjs.map +0 -1
  1000. package/dist/chunks/NcSelect-okD5YTJq.mjs +0 -579
  1001. package/dist/chunks/NcSelect-okD5YTJq.mjs.map +0 -1
  1002. package/dist/chunks/NcSelectTags-BPxmiMto.mjs +0 -324
  1003. package/dist/chunks/NcSelectTags-BPxmiMto.mjs.map +0 -1
  1004. package/dist/chunks/NcSelectTags-BZqBdSqC.cjs +0 -325
  1005. package/dist/chunks/NcSelectTags-BZqBdSqC.cjs.map +0 -1
  1006. package/dist/chunks/NcSelectUsers-CshAjqE_.cjs +0 -196
  1007. package/dist/chunks/NcSelectUsers-CshAjqE_.cjs.map +0 -1
  1008. package/dist/chunks/NcSelectUsers-DK3EtvnG.mjs +0 -197
  1009. package/dist/chunks/NcSelectUsers-DK3EtvnG.mjs.map +0 -1
  1010. package/dist/chunks/NcSettingsInputText-BKoaCiQU.mjs +0 -132
  1011. package/dist/chunks/NcSettingsInputText-BKoaCiQU.mjs.map +0 -1
  1012. package/dist/chunks/NcSettingsInputText-D7eoCI2o.cjs +0 -131
  1013. package/dist/chunks/NcSettingsInputText-D7eoCI2o.cjs.map +0 -1
  1014. package/dist/chunks/NcSettingsSection-Bmo90KQR.cjs +0 -106
  1015. package/dist/chunks/NcSettingsSection-Bmo90KQR.cjs.map +0 -1
  1016. package/dist/chunks/NcSettingsSection-fe_YIg-L.mjs +0 -107
  1017. package/dist/chunks/NcSettingsSection-fe_YIg-L.mjs.map +0 -1
  1018. package/dist/chunks/NcSettingsSelectGroup-CUUKv6lH.mjs +0 -237
  1019. package/dist/chunks/NcSettingsSelectGroup-CUUKv6lH.mjs.map +0 -1
  1020. package/dist/chunks/NcSettingsSelectGroup-Dd04CVAM.cjs +0 -239
  1021. package/dist/chunks/NcSettingsSelectGroup-Dd04CVAM.cjs.map +0 -1
  1022. package/dist/chunks/NcTextArea-B2hcap39.cjs +0 -219
  1023. package/dist/chunks/NcTextArea-B2hcap39.cjs.map +0 -1
  1024. package/dist/chunks/NcTextArea-BFLuhsEv.mjs +0 -220
  1025. package/dist/chunks/NcTextArea-BFLuhsEv.mjs.map +0 -1
  1026. package/dist/chunks/NcTextField-DDJqk3SI.cjs +0 -147
  1027. package/dist/chunks/NcTextField-DDJqk3SI.cjs.map +0 -1
  1028. package/dist/chunks/NcTextField-eKuP0G6I.mjs +0 -148
  1029. package/dist/chunks/NcTextField-eKuP0G6I.mjs.map +0 -1
  1030. package/dist/chunks/NcThemeProvider-25ResoIv.mjs +0 -53
  1031. package/dist/chunks/NcThemeProvider-25ResoIv.mjs.map +0 -1
  1032. package/dist/chunks/NcThemeProvider-BqGPTeWg.cjs +0 -52
  1033. package/dist/chunks/NcThemeProvider-BqGPTeWg.cjs.map +0 -1
  1034. package/dist/chunks/NcTimezonePicker-BbqblRd7.mjs +0 -215
  1035. package/dist/chunks/NcTimezonePicker-BbqblRd7.mjs.map +0 -1
  1036. package/dist/chunks/NcTimezonePicker-DV_arh0f.cjs +0 -214
  1037. package/dist/chunks/NcTimezonePicker-DV_arh0f.cjs.map +0 -1
  1038. package/dist/chunks/NcUserBubble-C7XtYsrf.mjs +0 -221
  1039. package/dist/chunks/NcUserBubble-C7XtYsrf.mjs.map +0 -1
  1040. package/dist/chunks/NcUserBubble-DuyMsPzl.cjs +0 -222
  1041. package/dist/chunks/NcUserBubble-DuyMsPzl.cjs.map +0 -1
  1042. package/dist/chunks/NcUserStatusIcon-CKPJ27oi.cjs +0 -145
  1043. package/dist/chunks/NcUserStatusIcon-CKPJ27oi.cjs.map +0 -1
  1044. package/dist/chunks/NcUserStatusIcon-DQr5EGWZ.mjs +0 -144
  1045. package/dist/chunks/NcUserStatusIcon-DQr5EGWZ.mjs.map +0 -1
  1046. package/dist/chunks/ScopeComponent-B_NOkzpc.mjs +0 -14
  1047. package/dist/chunks/ScopeComponent-B_NOkzpc.mjs.map +0 -1
  1048. package/dist/chunks/ScopeComponent-CbzbU6pi.cjs +0 -13
  1049. package/dist/chunks/ScopeComponent-CbzbU6pi.cjs.map +0 -1
  1050. package/dist/chunks/_l10n-CW0YfIWk.mjs +0 -145
  1051. package/dist/chunks/_l10n-CW0YfIWk.mjs.map +0 -1
  1052. package/dist/chunks/_l10n-RKohWu5d.cjs +0 -144
  1053. package/dist/chunks/_l10n-RKohWu5d.cjs.map +0 -1
  1054. package/dist/chunks/actionText-BcrK4uH1.cjs +0 -89
  1055. package/dist/chunks/actionText-BcrK4uH1.cjs.map +0 -1
  1056. package/dist/chunks/actionText-fFcUPi2g.mjs +0 -90
  1057. package/dist/chunks/actionText-fFcUPi2g.mjs.map +0 -1
  1058. package/dist/chunks/autolink-BAgL31EZ.cjs +0 -109
  1059. package/dist/chunks/autolink-BAgL31EZ.cjs.map +0 -1
  1060. package/dist/chunks/autolink-cbuFALXr.mjs +0 -110
  1061. package/dist/chunks/autolink-cbuFALXr.mjs.map +0 -1
  1062. package/dist/chunks/customPickerElements-CH9vlHLd.mjs +0 -118
  1063. package/dist/chunks/customPickerElements-CH9vlHLd.mjs.map +0 -1
  1064. package/dist/chunks/customPickerElements-Q3Y7fgZ1.cjs +0 -117
  1065. package/dist/chunks/customPickerElements-Q3Y7fgZ1.cjs.map +0 -1
  1066. package/dist/chunks/emoji-BY_D0V5K.mjs +0 -65
  1067. package/dist/chunks/emoji-BY_D0V5K.mjs.map +0 -1
  1068. package/dist/chunks/emoji-VgSjNTd5.cjs +0 -66
  1069. package/dist/chunks/emoji-VgSjNTd5.cjs.map +0 -1
  1070. package/dist/chunks/focusTrap-DUTqW_IG.cjs +0 -34
  1071. package/dist/chunks/focusTrap-DUTqW_IG.cjs.map +0 -1
  1072. package/dist/chunks/focusTrap-HJQ4pqHV.mjs +0 -35
  1073. package/dist/chunks/focusTrap-HJQ4pqHV.mjs.map +0 -1
  1074. package/dist/chunks/getAvatarUrl-Du9Y3cPO.cjs +0 -14
  1075. package/dist/chunks/getAvatarUrl-Du9Y3cPO.cjs.map +0 -1
  1076. package/dist/chunks/getAvatarUrl-IhLacDEr.mjs +0 -15
  1077. package/dist/chunks/getAvatarUrl-IhLacDEr.mjs.map +0 -1
  1078. package/dist/chunks/index-AlIgEQXL.cjs +0 -181
  1079. package/dist/chunks/index-AlIgEQXL.cjs.map +0 -1
  1080. package/dist/chunks/index-B8gPNa8c.mjs +0 -178
  1081. package/dist/chunks/index-B8gPNa8c.mjs.map +0 -1
  1082. package/dist/chunks/index-Bz6q9mZw.mjs +0 -175
  1083. package/dist/chunks/index-Bz6q9mZw.mjs.map +0 -1
  1084. package/dist/chunks/index-DIJxEozm.cjs +0 -174
  1085. package/dist/chunks/index-DIJxEozm.cjs.map +0 -1
  1086. package/dist/chunks/legacy-KBXhWdRy.cjs +0 -5
  1087. package/dist/chunks/legacy-KBXhWdRy.cjs.map +0 -1
  1088. package/dist/chunks/legacy-MK4GvP26.mjs +0 -6
  1089. package/dist/chunks/legacy-MK4GvP26.mjs.map +0 -1
  1090. package/dist/chunks/mdi-BBwE-MZC.cjs +0 -24
  1091. package/dist/chunks/mdi-BBwE-MZC.cjs.map +0 -1
  1092. package/dist/chunks/mdi-DXu6GWVJ.mjs +0 -25
  1093. package/dist/chunks/mdi-DXu6GWVJ.mjs.map +0 -1
  1094. package/dist/chunks/referencePickerModal-B2nPzrke.mjs +0 -1077
  1095. package/dist/chunks/referencePickerModal-B2nPzrke.mjs.map +0 -1
  1096. package/dist/chunks/referencePickerModal-BINQW-pL.cjs +0 -1079
  1097. package/dist/chunks/referencePickerModal-BINQW-pL.cjs.map +0 -1
  1098. package/dist/chunks/useModelMigration-D5zhrNXr.cjs +0 -26
  1099. package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +0 -1
  1100. package/dist/chunks/useModelMigration-EhAWvqDD.mjs +0 -25
  1101. package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +0 -1
  1102. package/dist/chunks/useTrapStackControl-CTZTSUOt.cjs +0 -22
  1103. package/dist/chunks/useTrapStackControl-CTZTSUOt.cjs.map +0 -1
  1104. package/dist/chunks/useTrapStackControl-yqM2SDEs.mjs +0 -23
  1105. package/dist/chunks/useTrapStackControl-yqM2SDEs.mjs.map +0 -1
@@ -14,11 +14,11 @@ const _sfc_main = {
14
14
  /**
15
15
  * The render function to display the component
16
16
  *
17
- * @param {Function} h The function to create VNodes
18
17
  * @return {object} The created VNode
19
18
  */
20
- render(h) {
21
- return this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.();
19
+ render() {
20
+ var _a, _b, _c;
21
+ return this.vnodes || ((_a = this.$slots) == null ? void 0 : _a.default) || ((_c = (_b = this.$scopedSlots) == null ? void 0 : _b.default) == null ? void 0 : _c.call(_b));
22
22
  }
23
23
  };
24
24
  const _sfc_render = null;
@@ -1 +1 @@
1
- {"version":3,"file":"NcVNodes.cjs","sources":["../../src/components/NcVNodes/NcVNodes.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nA util component to render a VNode or an array of VNodes from the prop or the default slot.\n\n### Render the given or generated VNodes\n\n```vue\n<template>\n\t<NcVNodes :vnodes=\"renderDiv()\" />\n</template>\n\n<script>\nexport default {\n\tmethods: {\n\t\trenderDiv() {\n\t\t\treturn this.$createElement('div', 'This div was created programmatically as a VNode')\n\t\t},\n\t}\n}\n</script>\n```\n\n### Render content in a conditional wrapper\n\n```vue\n<template>\n\t<div>\n\t\t<p>\n\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"shouldRenderNcNoteCard\">Render text inside \"NcNoteCard\"</NcCheckboxRadioSwitch>\n\t\t</p>\n\t\t<component :is=\"shouldRenderNcNoteCard ? 'NcNoteCard' : 'NcVNodes'\">\n\t\t\t<p>This content is rendered {{ shouldRenderNcNoteCard ? 'with' : 'without' }} a \"NcNoteCard\" wrapper</p>\n\t\t</component>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshouldRenderNcNoteCard: true,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<script>\nexport default {\n\tname: 'NcVNodes',\n\tprops: {\n\t\t/**\n\t\t * The vnodes to render\n\t\t */\n\t\tvnodes: {\n\t\t\ttype: [Array, Object],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} h The function to create VNodes\n\t * @return {object} The created VNode\n\t */\n\trender(h) {\n\t\t// eslint-disable-next-line jsdoc/check-tag-names\n\t\t/** @slot Directly rendered content */\n\t\treturn this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.()\n\t},\n}\n</script>\n"],"names":[],"mappings":";;AAqDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA,CAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAA,GAAA;AAGA,WAAA,KAAA,UAAA,KAAA,QAAA,WAAA,KAAA,cAAA,UAAA;AAAA,EACA;AACA;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcVNodes.cjs","sources":["../../src/components/NcVNodes/NcVNodes.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nA util component to render a VNode or an array of VNodes from the prop or the default slot.\n\n### Render the given or generated VNodes\n\n```vue\n<template>\n\t<NcVNodes :vnodes=\"renderDiv()\" />\n</template>\n\n<script>\nexport default {\n\tmethods: {\n\t\trenderDiv() {\n\t\t\treturn this.$createElement('div', 'This div was created programmatically as a VNode')\n\t\t},\n\t}\n}\n</script>\n```\n\n### Render content in a conditional wrapper\n\n```vue\n<template>\n\t<div>\n\t\t<p>\n\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"shouldRenderNcNoteCard\">Render text inside \"NcNoteCard\"</NcCheckboxRadioSwitch>\n\t\t</p>\n\t\t<component :is=\"shouldRenderNcNoteCard ? 'NcNoteCard' : 'NcVNodes'\">\n\t\t\t<p>This content is rendered {{ shouldRenderNcNoteCard ? 'with' : 'without' }} a \"NcNoteCard\" wrapper</p>\n\t\t</component>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshouldRenderNcNoteCard: true,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<script>\nexport default {\n\tname: 'NcVNodes',\n\tprops: {\n\t\t/**\n\t\t * The vnodes to render\n\t\t */\n\t\tvnodes: {\n\t\t\ttype: [Array, Object],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\t/**\n\t * The render function to display the component\n\t *\n\t * @return {object} The created VNode\n\t */\n\trender() {\n\t\t// eslint-disable-next-line jsdoc/check-tag-names\n\t\t/** @slot Directly rendered content */\n\t\treturn this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.()\n\t},\n}\n</script>\n"],"names":[],"mappings":";;AAqDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA,CAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;;AAGA,WAAA,KAAA,YAAA,UAAA,WAAA,mBAAA,cAAA,gBAAA,iBAAA,mBAAA,YAAA;AAAA,EACA;AACA;;;;;;;;;;;;;"}
@@ -13,11 +13,11 @@ const _sfc_main = {
13
13
  /**
14
14
  * The render function to display the component
15
15
  *
16
- * @param {Function} h The function to create VNodes
17
16
  * @return {object} The created VNode
18
17
  */
19
- render(h) {
20
- return this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.();
18
+ render() {
19
+ var _a, _b, _c;
20
+ return this.vnodes || ((_a = this.$slots) == null ? void 0 : _a.default) || ((_c = (_b = this.$scopedSlots) == null ? void 0 : _b.default) == null ? void 0 : _c.call(_b));
21
21
  }
22
22
  };
23
23
  const _sfc_render = null;
@@ -1 +1 @@
1
- {"version":3,"file":"NcVNodes.mjs","sources":["../../src/components/NcVNodes/NcVNodes.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nA util component to render a VNode or an array of VNodes from the prop or the default slot.\n\n### Render the given or generated VNodes\n\n```vue\n<template>\n\t<NcVNodes :vnodes=\"renderDiv()\" />\n</template>\n\n<script>\nexport default {\n\tmethods: {\n\t\trenderDiv() {\n\t\t\treturn this.$createElement('div', 'This div was created programmatically as a VNode')\n\t\t},\n\t}\n}\n</script>\n```\n\n### Render content in a conditional wrapper\n\n```vue\n<template>\n\t<div>\n\t\t<p>\n\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"shouldRenderNcNoteCard\">Render text inside \"NcNoteCard\"</NcCheckboxRadioSwitch>\n\t\t</p>\n\t\t<component :is=\"shouldRenderNcNoteCard ? 'NcNoteCard' : 'NcVNodes'\">\n\t\t\t<p>This content is rendered {{ shouldRenderNcNoteCard ? 'with' : 'without' }} a \"NcNoteCard\" wrapper</p>\n\t\t</component>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshouldRenderNcNoteCard: true,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<script>\nexport default {\n\tname: 'NcVNodes',\n\tprops: {\n\t\t/**\n\t\t * The vnodes to render\n\t\t */\n\t\tvnodes: {\n\t\t\ttype: [Array, Object],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} h The function to create VNodes\n\t * @return {object} The created VNode\n\t */\n\trender(h) {\n\t\t// eslint-disable-next-line jsdoc/check-tag-names\n\t\t/** @slot Directly rendered content */\n\t\treturn this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.()\n\t},\n}\n</script>\n"],"names":[],"mappings":";AAqDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA,CAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAA,GAAA;AAGA,WAAA,KAAA,UAAA,KAAA,QAAA,WAAA,KAAA,cAAA,UAAA;AAAA,EACA;AACA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcVNodes.mjs","sources":["../../src/components/NcVNodes/NcVNodes.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nA util component to render a VNode or an array of VNodes from the prop or the default slot.\n\n### Render the given or generated VNodes\n\n```vue\n<template>\n\t<NcVNodes :vnodes=\"renderDiv()\" />\n</template>\n\n<script>\nexport default {\n\tmethods: {\n\t\trenderDiv() {\n\t\t\treturn this.$createElement('div', 'This div was created programmatically as a VNode')\n\t\t},\n\t}\n}\n</script>\n```\n\n### Render content in a conditional wrapper\n\n```vue\n<template>\n\t<div>\n\t\t<p>\n\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"shouldRenderNcNoteCard\">Render text inside \"NcNoteCard\"</NcCheckboxRadioSwitch>\n\t\t</p>\n\t\t<component :is=\"shouldRenderNcNoteCard ? 'NcNoteCard' : 'NcVNodes'\">\n\t\t\t<p>This content is rendered {{ shouldRenderNcNoteCard ? 'with' : 'without' }} a \"NcNoteCard\" wrapper</p>\n\t\t</component>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshouldRenderNcNoteCard: true,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<script>\nexport default {\n\tname: 'NcVNodes',\n\tprops: {\n\t\t/**\n\t\t * The vnodes to render\n\t\t */\n\t\tvnodes: {\n\t\t\ttype: [Array, Object],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\t/**\n\t * The render function to display the component\n\t *\n\t * @return {object} The created VNode\n\t */\n\trender() {\n\t\t// eslint-disable-next-line jsdoc/check-tag-names\n\t\t/** @slot Directly rendered content */\n\t\treturn this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.()\n\t},\n}\n</script>\n"],"names":[],"mappings":";AAqDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA,CAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;;AAGA,WAAA,KAAA,YAAA,UAAA,WAAA,mBAAA,cAAA,gBAAA,iBAAA,mBAAA,YAAA;AAAA,EACA;AACA;;;;;;;;;;;;"}
@@ -3,8 +3,27 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const l10n = require("@nextcloud/l10n");
4
4
  const core = require("@vueuse/core");
5
5
  const Vue = require("vue");
6
- const _l10n = require("../chunks/_l10n-RKohWu5d.cjs");
6
+ const _l10n = require("../chunks/_l10n-9b4TMo5Q.cjs");
7
7
  _l10n.register(_l10n.t2);
8
+ var __defProp = Object.defineProperty;
9
+ var __defProps = Object.defineProperties;
10
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
11
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8
27
  const FEW_SECONDS_AGO = {
9
28
  long: _l10n.t("a few seconds ago"),
10
29
  short: _l10n.t("seconds ago"),
@@ -17,11 +36,9 @@ function useFormatRelativeTime(timestamp = Date.now(), opts = {}) {
17
36
  const date = Vue.computed(() => new Date(core.toValue(timestamp)));
18
37
  const options = Vue.computed(() => {
19
38
  const { language, relativeTime: relativeTime2, ignoreSeconds } = core.toValue(opts);
20
- return {
21
- ...language && { language },
22
- ...relativeTime2 && { relativeTime: relativeTime2 },
39
+ return __spreadProps(__spreadValues(__spreadValues({}, language && { language }), relativeTime2 && { relativeTime: relativeTime2 }), {
23
40
  ignoreSeconds: ignoreSeconds ? FEW_SECONDS_AGO[relativeTime2 || "long"] : false
24
- };
41
+ });
25
42
  });
26
43
  const relativeTime = Vue.ref("");
27
44
  Vue.watchEffect(() => updateRelativeTime());
@@ -37,11 +54,10 @@ function useFormatRelativeTime(timestamp = Date.now(), opts = {}) {
37
54
  return Vue.readonly(relativeTime);
38
55
  }
39
56
  function useFormatTime(timestamp, opts) {
40
- const options = Vue.computed(() => ({
57
+ const options = Vue.computed(() => __spreadValues({
41
58
  locale: l10n.getCanonicalLocale(),
42
- format: { dateStyle: "short", timeStyle: "medium" },
43
- ...core.toValue(opts)
44
- }));
59
+ format: { dateStyle: "short", timeStyle: "medium" }
60
+ }, core.toValue(opts)));
45
61
  const formatter = Vue.computed(() => new Intl.DateTimeFormat(options.value.locale, options.value.format));
46
62
  return Vue.computed(() => formatter.value.format(core.toValue(timestamp)));
47
63
  }
@@ -49,14 +65,11 @@ function useFormatDateTime(timestamp = Date.now(), opts = {}) {
49
65
  const formattedFullTime = useFormatTime(timestamp, opts);
50
66
  const relativeTime = useFormatRelativeTime(timestamp, Vue.computed(() => {
51
67
  const options = core.toValue(opts);
52
- return {
53
- ...options,
68
+ return __spreadProps(__spreadValues({}, options), {
54
69
  relativeTime: typeof options.relativeTime === "string" ? options.relativeTime : "long"
55
- };
70
+ });
56
71
  }));
57
- const formattedTime = Vue.computed(
58
- () => core.toValue(opts).relativeTime !== false ? relativeTime.value : formattedFullTime.value
59
- );
72
+ const formattedTime = Vue.computed(() => core.toValue(opts).relativeTime !== false ? relativeTime.value : formattedFullTime.value);
60
73
  return {
61
74
  formattedTime,
62
75
  formattedFullTime
@@ -1 +1 @@
1
- {"version":3,"file":"useFormatDateTime.cjs","sources":["../../src/composables/useFormatDateTime/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FormatDateOptions } from '@nextcloud/l10n'\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { Ref } from 'vue'\n\nimport { formatRelativeTime, getCanonicalLocale } from '@nextcloud/l10n'\nimport { toValue } from '@vueuse/core'\nimport { computed, onUnmounted, readonly, ref, watchEffect } from 'vue'\nimport { t } from '../../l10n.js'\n\ninterface FormatRelativeTimeOptions extends Partial<Omit<FormatDateOptions, 'ignoreSeconds'>> {\n\tignoreSeconds?: boolean\n\n\t/**\n\t * If set to false the relative time will not be updated anymore.\n\t * @default true - Meaning the relative time will be updated if needed\n\t */\n\tupdate?: boolean\n}\n\ninterface FormatTimeOptions {\n\t/**\n\t * Locale to use for formatting.\n\t * @default current locale\n\t */\n\tlocale?: string\n\n\t/**\n\t * The format used for displaying.\n\t *\n\t * @default { timeStyle: 'medium', dateStyle: 'short' }\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n}\n\n/**\n * @deprecated\n */\ninterface LegacyFormatDateTimeOptions {\n\t/**\n\t * The format used for displaying, or if relative time is used the format used for the title\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n\t/**\n\t * Ignore seconds when displaying the relative time and just show `a few seconds ago`\n\t */\n\tignoreSeconds?: boolean\n\t/**\n\t * Wether to display the timestamp as time from now\n\t */\n\trelativeTime?: false | 'long' | 'short' | 'narrow'\n}\n\nconst FEW_SECONDS_AGO = {\n\tlong: t('a few seconds ago'),\n\tshort: t('seconds ago'), // FOR TRANSLATORS: Shorter version of 'a few seconds ago'\n\tnarrow: t('sec. ago'), // FOR TRANSLATORS: If possible in your language an even shorter version of 'a few seconds ago'\n}\n\n/**\n * Format a timestamp or date object as relative time.\n *\n * This is a composable wrapper around `formatRelativeTime` from `@nextcloud/l10n`.\n *\n * @param timestamp - The timestamp to format\n * @param opts - Formatting options\n */\nexport function useFormatRelativeTime(\n\ttimestamp: MaybeRefOrGetter<Date | number> = Date.now(),\n\topts: MaybeRefOrGetter<FormatRelativeTimeOptions> = {},\n): Readonly<Ref<string>> {\n\tlet timeoutId: number\n\n\t/**\n\t * ECMA Date object of the timestamp\n\t */\n\tconst date = computed(() => new Date(toValue(timestamp)))\n\n\t/**\n\t * Reactive options for `formatRelativeTime` method\n\t */\n\tconst options = computed<FormatDateOptions>(() => {\n\t\tconst { language, relativeTime, ignoreSeconds } = toValue(opts)\n\t\treturn {\n\t\t\t...language && { language },\n\t\t\t...relativeTime && { relativeTime },\n\t\t\tignoreSeconds: ignoreSeconds\n\t\t\t\t? FEW_SECONDS_AGO[relativeTime || 'long']\n\t\t\t\t: false,\n\t\t}\n\t})\n\n\t/**\n\t * The formatted relative time\n\t */\n\tconst relativeTime = ref('')\n\twatchEffect(() => updateRelativeTime())\n\n\t/**\n\t * Update the relative time string.\n\t * This is the callback for the interval.\n\t */\n\tfunction updateRelativeTime() {\n\t\trelativeTime.value = formatRelativeTime(date.value, options.value)\n\n\t\tif (toValue(opts).update !== false) {\n\t\t\tconst diff = Math.abs(Date.now() - new Date(toValue(timestamp)).getTime())\n\t\t\tconst interval = diff > 120000 || options.value.ignoreSeconds\n\t\t\t\t? Math.min(diff / 60, 1800000)\n\t\t\t\t: 1000\n\t\t\ttimeoutId = window.setTimeout(updateRelativeTime, interval)\n\t\t}\n\t}\n\n\t// when the component is unmounted we also clear the timeout\n\tonUnmounted(() => timeoutId && window.clearTimeout(timeoutId))\n\n\treturn readonly(relativeTime)\n}\n\n/**\n * Format a given timestamp or date object as a human readable string.\n *\n * @param timestamp - Timestamp or date object to format\n * @param opts - Formatting options\n */\nexport function useFormatTime(\n\ttimestamp: MaybeRefOrGetter<number | Date>,\n\topts: MaybeRefOrGetter<FormatTimeOptions>,\n): Readonly<Ref<string>> {\n\tconst options = computed<Required<FormatTimeOptions>>(() => ({\n\t\tlocale: getCanonicalLocale(),\n\t\tformat: { dateStyle: 'short', timeStyle: 'medium' },\n\t\t...toValue(opts),\n\t}))\n\n\tconst formatter = computed(() => new Intl.DateTimeFormat(options.value.locale, options.value.format))\n\n\treturn computed(() => formatter.value.format(toValue(timestamp)))\n}\n\n/**\n * Composable for formatting time stamps using current users locale and language\n *\n * @param {import('vue').MaybeRefOrGetter<Date | number>} timestamp Current timestamp\n * @param {object} opts Optional options\n * @param {Intl.DateTimeFormatOptions} opts.format The format used for displaying, or if relative time is used the format used for the title (optional)\n * @param {boolean} opts.ignoreSeconds Ignore seconds when displaying the relative time and just show `a few seconds ago`\n * @param {false | 'long' | 'short' | 'narrow'} opts.relativeTime Wether to display the timestamp as time from now (optional)\n *\n * @deprecated use `useFormatRelativeTime` or `useFormatTime` instead.\n */\nexport function useFormatDateTime(\n\ttimestamp: MaybeRefOrGetter<Date|number> = Date.now(),\n\topts: MaybeRefOrGetter<LegacyFormatDateTimeOptions> = {},\n) {\n\tconst formattedFullTime = useFormatTime(timestamp, opts)\n\tconst relativeTime = useFormatRelativeTime(timestamp, computed(() => {\n\t\tconst options = toValue(opts)\n\t\treturn {\n\t\t\t...options,\n\t\t\trelativeTime: typeof options.relativeTime === 'string'\n\t\t\t\t? options.relativeTime\n\t\t\t\t: 'long',\n\t\t}\n\t}))\n\n\tconst formattedTime = computed(() => toValue(opts).relativeTime !== false\n\t\t? relativeTime.value\n\t\t: formattedFullTime.value,\n\t)\n\n\treturn {\n\t\tformattedTime,\n\t\tformattedFullTime,\n\t}\n}\n"],"names":["t","computed","toValue","relativeTime","ref","watchEffect","formatRelativeTime","onUnmounted","readonly","getCanonicalLocale"],"mappings":";;;;;;;AAyDA,MAAM,kBAAkB;AAAA,EACvB,MAAMA,QAAE,mBAAmB;AAAA,EAC3B,OAAOA,QAAE,aAAa;AAAA;AAAA,EACtB,QAAQA,QAAE,UAAU;AAAA;AACrB;AAUO,SAAS,sBACf,YAA6C,KAAK,OAClD,OAAoD,CAAA,GAC5B;AACpB,MAAA;AAKE,QAAA,OAAOC,IAAAA,SAAS,MAAM,IAAI,KAAKC,KAAQ,QAAA,SAAS,CAAC,CAAC;AAKlD,QAAA,UAAUD,IAAAA,SAA4B,MAAM;AACjD,UAAM,EAAE,UAAU,cAAAE,eAAc,cAAc,IAAID,aAAQ,IAAI;AACvD,WAAA;AAAA,MACN,GAAG,YAAY,EAAE,SAAS;AAAA,MAC1B,GAAGC,iBAAgB,EAAE,cAAAA,cAAa;AAAA,MAClC,eAAe,gBACZ,gBAAgBA,iBAAgB,MAAM,IACtC;AAAA,IACJ;AAAA,EAAA,CACA;AAKK,QAAA,eAAeC,QAAI,EAAE;AACfC,MAAA,YAAA,MAAM,oBAAoB;AAMtC,WAAS,qBAAqB;AAC7B,iBAAa,QAAQC,KAAA,mBAAmB,KAAK,OAAO,QAAQ,KAAK;AAEjE,QAAIJ,aAAQ,IAAI,EAAE,WAAW,OAAO;AACnC,YAAM,OAAO,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAKA,KAAAA,QAAQ,SAAS,CAAC,EAAE,SAAS;AACnE,YAAA,WAAW,OAAO,QAAU,QAAQ,MAAM,gBAC7C,KAAK,IAAI,OAAO,IAAI,IAAO,IAC3B;AACS,kBAAA,OAAO,WAAW,oBAAoB,QAAQ;AAAA,IAAA;AAAA,EAC3D;AAIDK,MAAAA,YAAY,MAAM,aAAa,OAAO,aAAa,SAAS,CAAC;AAE7D,SAAOC,IAAAA,SAAS,YAAY;AAC7B;AAQgB,SAAA,cACf,WACA,MACwB;AAClB,QAAA,UAAUP,IAAAA,SAAsC,OAAO;AAAA,IAC5D,QAAQQ,KAAAA,mBAAmB;AAAA,IAC3B,QAAQ,EAAE,WAAW,SAAS,WAAW,SAAS;AAAA,IAClD,GAAGP,aAAQ,IAAI;AAAA,EAAA,EACd;AAEF,QAAM,YAAYD,IAAAA,SAAS,MAAM,IAAI,KAAK,eAAe,QAAQ,MAAM,QAAQ,QAAQ,MAAM,MAAM,CAAC;AAE7F,SAAAA,IAAAA,SAAS,MAAM,UAAU,MAAM,OAAOC,KAAQ,QAAA,SAAS,CAAC,CAAC;AACjE;AAaO,SAAS,kBACf,YAA2C,KAAK,OAChD,OAAsD,CAAA,GACrD;AACK,QAAA,oBAAoB,cAAc,WAAW,IAAI;AACvD,QAAM,eAAe,sBAAsB,WAAWD,IAAA,SAAS,MAAM;AAC9D,UAAA,UAAUC,aAAQ,IAAI;AACrB,WAAA;AAAA,MACN,GAAG;AAAA,MACH,cAAc,OAAO,QAAQ,iBAAiB,WAC3C,QAAQ,eACR;AAAA,IACJ;AAAA,EAAA,CACA,CAAC;AAEF,QAAM,gBAAgBD,IAAA;AAAA,IAAS,MAAMC,KAAAA,QAAQ,IAAI,EAAE,iBAAiB,QACjE,aAAa,QACb,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;;;;"}
1
+ {"version":3,"file":"useFormatDateTime.cjs","sources":["../../src/composables/useFormatDateTime/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FormatDateOptions } from '@nextcloud/l10n'\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { Ref } from 'vue'\n\nimport { formatRelativeTime, getCanonicalLocale } from '@nextcloud/l10n'\nimport { toValue } from '@vueuse/core'\nimport { computed, onUnmounted, readonly, ref, watchEffect } from 'vue'\nimport { t } from '../../l10n.js'\n\ninterface FormatRelativeTimeOptions extends Partial<Omit<FormatDateOptions, 'ignoreSeconds'>> {\n\tignoreSeconds?: boolean\n\n\t/**\n\t * If set to false the relative time will not be updated anymore.\n\t *\n\t * @default true - Meaning the relative time will be updated if needed\n\t */\n\tupdate?: boolean\n}\n\ninterface FormatTimeOptions {\n\t/**\n\t * Locale to use for formatting.\n\t *\n\t * @default current locale\n\t */\n\tlocale?: string\n\n\t/**\n\t * The format used for displaying.\n\t *\n\t * @default { timeStyle: 'medium', dateStyle: 'short' }\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n}\n\n/**\n * @deprecated\n */\ninterface LegacyFormatDateTimeOptions {\n\t/**\n\t * The format used for displaying, or if relative time is used the format used for the title\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n\t/**\n\t * Ignore seconds when displaying the relative time and just show `a few seconds ago`\n\t */\n\tignoreSeconds?: boolean\n\t/**\n\t * Wether to display the timestamp as time from now\n\t */\n\trelativeTime?: false | 'long' | 'short' | 'narrow'\n}\n\nconst FEW_SECONDS_AGO = {\n\tlong: t('a few seconds ago'),\n\tshort: t('seconds ago'), // FOR TRANSLATORS: Shorter version of 'a few seconds ago'\n\tnarrow: t('sec. ago'), // FOR TRANSLATORS: If possible in your language an even shorter version of 'a few seconds ago'\n}\n\n/**\n * Format a timestamp or date object as relative time.\n *\n * This is a composable wrapper around `formatRelativeTime` from `@nextcloud/l10n`.\n *\n * @param timestamp - The timestamp to format\n * @param opts - Formatting options\n */\nexport function useFormatRelativeTime(\n\ttimestamp: MaybeRefOrGetter<Date | number> = Date.now(),\n\topts: MaybeRefOrGetter<FormatRelativeTimeOptions> = {},\n): Readonly<Ref<string>> {\n\tlet timeoutId: number\n\n\t/**\n\t * ECMA Date object of the timestamp\n\t */\n\tconst date = computed(() => new Date(toValue(timestamp)))\n\n\t/**\n\t * Reactive options for `formatRelativeTime` method\n\t */\n\tconst options = computed<FormatDateOptions>(() => {\n\t\tconst { language, relativeTime, ignoreSeconds } = toValue(opts)\n\t\treturn {\n\t\t\t...language && { language },\n\t\t\t...relativeTime && { relativeTime },\n\t\t\tignoreSeconds: ignoreSeconds\n\t\t\t\t? FEW_SECONDS_AGO[relativeTime || 'long']\n\t\t\t\t: false,\n\t\t}\n\t})\n\n\t/**\n\t * The formatted relative time\n\t */\n\tconst relativeTime = ref('')\n\twatchEffect(() => updateRelativeTime())\n\n\t/**\n\t * Update the relative time string.\n\t * This is the callback for the interval.\n\t */\n\tfunction updateRelativeTime() {\n\t\trelativeTime.value = formatRelativeTime(date.value, options.value)\n\n\t\tif (toValue(opts).update !== false) {\n\t\t\tconst diff = Math.abs(Date.now() - new Date(toValue(timestamp)).getTime())\n\t\t\tconst interval = diff > 120000 || options.value.ignoreSeconds\n\t\t\t\t? Math.min(diff / 60, 1800000)\n\t\t\t\t: 1000\n\t\t\ttimeoutId = window.setTimeout(updateRelativeTime, interval)\n\t\t}\n\t}\n\n\t// when the component is unmounted we also clear the timeout\n\tonUnmounted(() => timeoutId && window.clearTimeout(timeoutId))\n\n\treturn readonly(relativeTime)\n}\n\n/**\n * Format a given timestamp or date object as a human readable string.\n *\n * @param timestamp - Timestamp or date object to format\n * @param opts - Formatting options\n */\nexport function useFormatTime(\n\ttimestamp: MaybeRefOrGetter<number | Date>,\n\topts: MaybeRefOrGetter<FormatTimeOptions>,\n): Readonly<Ref<string>> {\n\tconst options = computed<Required<FormatTimeOptions>>(() => ({\n\t\tlocale: getCanonicalLocale(),\n\t\tformat: { dateStyle: 'short', timeStyle: 'medium' },\n\t\t...toValue(opts),\n\t}))\n\n\tconst formatter = computed(() => new Intl.DateTimeFormat(options.value.locale, options.value.format))\n\n\treturn computed(() => formatter.value.format(toValue(timestamp)))\n}\n\n/**\n * Composable for formatting time stamps using current users locale and language\n *\n * @param timestamp Current timestamp\n * @param opts Optional options\n * @param opts.format The format used for displaying, or if relative time is used the format used for the title (optional)\n * @param opts.ignoreSeconds Ignore seconds when displaying the relative time and just show `a few seconds ago`\n * @param opts.relativeTime Wether to display the timestamp as time from now (optional)\n *\n * @deprecated use `useFormatRelativeTime` or `useFormatTime` instead.\n */\nexport function useFormatDateTime(\n\ttimestamp: MaybeRefOrGetter<Date | number> = Date.now(),\n\topts: MaybeRefOrGetter<LegacyFormatDateTimeOptions> = {},\n) {\n\tconst formattedFullTime = useFormatTime(timestamp, opts)\n\tconst relativeTime = useFormatRelativeTime(timestamp, computed(() => {\n\t\tconst options = toValue(opts)\n\t\treturn {\n\t\t\t...options,\n\t\t\trelativeTime: typeof options.relativeTime === 'string'\n\t\t\t\t? options.relativeTime\n\t\t\t\t: 'long',\n\t\t}\n\t}))\n\n\tconst formattedTime = computed(() => toValue(opts).relativeTime !== false\n\t\t? relativeTime.value\n\t\t: formattedFullTime.value)\n\n\treturn {\n\t\tformattedTime,\n\t\tformattedFullTime,\n\t}\n}\n"],"names":["t","computed","toValue","relativeTime","ref","watchEffect","formatRelativeTime","onUnmounted","readonly","getCanonicalLocale"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,MAAM,kBAAkB;AAAA,EACvB,MAAMA,MAAAA,EAAE,mBAAmB;AAAA,EAC3B,OAAOA,MAAAA,EAAE,aAAa;AAAA;AAAA,EACtB,QAAQA,MAAAA,EAAE,UAAU;AAAA;AACrB;AAUO,SAAS,sBACf,YAA6C,KAAK,OAClD,OAAoD,CAAA,GAC5B;AACxB,MAAI;AAKJ,QAAM,OAAOC,IAAAA,SAAS,MAAM,IAAI,KAAKC,KAAAA,QAAQ,SAAS,CAAC,CAAC;AAKxD,QAAM,UAAUD,IAAAA,SAA4B,MAAM;AACjD,UAAM,EAAE,UAAU,cAAAE,eAAc,cAAA,IAAkBD,KAAAA,QAAQ,IAAI;AAC9D,WAAO,cAAA,eAAA,eAAA,CAAA,GACH,YAAY,EAAE,SAAA,IACdC,iBAAgB,EAAE,cAAAA,cAAAA,CAAa,GAF5B;AAAA,MAGN,eAAe,gBACZ,gBAAgBA,iBAAgB,MAAM,IACtC;AAAA,IAAA,CACJ;AAAA,EACD,CAAC;AAKD,QAAM,eAAeC,IAAAA,IAAI,EAAE;AAC3BC,MAAAA,YAAY,MAAM,oBAAoB;AAMtC,WAAS,qBAAqB;AAC7B,iBAAa,QAAQC,KAAAA,mBAAmB,KAAK,OAAO,QAAQ,KAAK;AAEjE,QAAIJ,aAAQ,IAAI,EAAE,WAAW,OAAO;AACnC,YAAM,OAAO,KAAK,IAAI,KAAK,IAAA,IAAQ,IAAI,KAAKA,KAAAA,QAAQ,SAAS,CAAC,EAAE,SAAS;AACzE,YAAM,WAAW,OAAO,QAAU,QAAQ,MAAM,gBAC7C,KAAK,IAAI,OAAO,IAAI,IAAO,IAC3B;AACH,kBAAY,OAAO,WAAW,oBAAoB,QAAQ;AAAA,IAC3D;AAAA,EACD;AAGAK,MAAAA,YAAY,MAAM,aAAa,OAAO,aAAa,SAAS,CAAC;AAE7D,SAAOC,IAAAA,SAAS,YAAY;AAC7B;AAQO,SAAS,cACf,WACA,MACwB;AACxB,QAAM,UAAUP,aAAsC,MAAO,eAAA;AAAA,IAC5D,QAAQQ,KAAAA,mBAAA;AAAA,IACR,QAAQ,EAAE,WAAW,SAAS,WAAW,SAAA;AAAA,EAAS,GAC/CP,KAAAA,QAAQ,IAAI,CAAA,CACd;AAEF,QAAM,YAAYD,IAAAA,SAAS,MAAM,IAAI,KAAK,eAAe,QAAQ,MAAM,QAAQ,QAAQ,MAAM,MAAM,CAAC;AAEpG,SAAOA,IAAAA,SAAS,MAAM,UAAU,MAAM,OAAOC,KAAAA,QAAQ,SAAS,CAAC,CAAC;AACjE;AAaO,SAAS,kBACf,YAA6C,KAAK,OAClD,OAAsD,CAAA,GACrD;AACD,QAAM,oBAAoB,cAAc,WAAW,IAAI;AACvD,QAAM,eAAe,sBAAsB,WAAWD,IAAAA,SAAS,MAAM;AACpE,UAAM,UAAUC,KAAAA,QAAQ,IAAI;AAC5B,WAAO,iCACH,OAAA,GADG;AAAA,MAEN,cAAc,OAAO,QAAQ,iBAAiB,WAC3C,QAAQ,eACR;AAAA,IAAA,CACJ;AAAA,EACD,CAAC,CAAC;AAEF,QAAM,gBAAgBD,IAAAA,SAAS,MAAMC,KAAAA,QAAQ,IAAI,EAAE,iBAAiB,QACjE,aAAa,QACb,kBAAkB,KAAK;AAE1B,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EAAA;AAEF;;;;"}
@@ -1,8 +1,27 @@
1
1
  import { formatRelativeTime, getCanonicalLocale } from "@nextcloud/l10n";
2
2
  import { toValue } from "@vueuse/core";
3
3
  import { computed, ref, watchEffect, onUnmounted, readonly } from "vue";
4
- import { r as register, e as t2, a as t } from "../chunks/_l10n-CW0YfIWk.mjs";
4
+ import { r as register, e as t2, a as t } from "../chunks/_l10n-DSLCwJSN.mjs";
5
5
  register(t2);
6
+ var __defProp = Object.defineProperty;
7
+ var __defProps = Object.defineProperties;
8
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6
25
  const FEW_SECONDS_AGO = {
7
26
  long: t("a few seconds ago"),
8
27
  short: t("seconds ago"),
@@ -15,11 +34,9 @@ function useFormatRelativeTime(timestamp = Date.now(), opts = {}) {
15
34
  const date = computed(() => new Date(toValue(timestamp)));
16
35
  const options = computed(() => {
17
36
  const { language, relativeTime: relativeTime2, ignoreSeconds } = toValue(opts);
18
- return {
19
- ...language && { language },
20
- ...relativeTime2 && { relativeTime: relativeTime2 },
37
+ return __spreadProps(__spreadValues(__spreadValues({}, language && { language }), relativeTime2 && { relativeTime: relativeTime2 }), {
21
38
  ignoreSeconds: ignoreSeconds ? FEW_SECONDS_AGO[relativeTime2 || "long"] : false
22
- };
39
+ });
23
40
  });
24
41
  const relativeTime = ref("");
25
42
  watchEffect(() => updateRelativeTime());
@@ -35,11 +52,10 @@ function useFormatRelativeTime(timestamp = Date.now(), opts = {}) {
35
52
  return readonly(relativeTime);
36
53
  }
37
54
  function useFormatTime(timestamp, opts) {
38
- const options = computed(() => ({
55
+ const options = computed(() => __spreadValues({
39
56
  locale: getCanonicalLocale(),
40
- format: { dateStyle: "short", timeStyle: "medium" },
41
- ...toValue(opts)
42
- }));
57
+ format: { dateStyle: "short", timeStyle: "medium" }
58
+ }, toValue(opts)));
43
59
  const formatter = computed(() => new Intl.DateTimeFormat(options.value.locale, options.value.format));
44
60
  return computed(() => formatter.value.format(toValue(timestamp)));
45
61
  }
@@ -47,14 +63,11 @@ function useFormatDateTime(timestamp = Date.now(), opts = {}) {
47
63
  const formattedFullTime = useFormatTime(timestamp, opts);
48
64
  const relativeTime = useFormatRelativeTime(timestamp, computed(() => {
49
65
  const options = toValue(opts);
50
- return {
51
- ...options,
66
+ return __spreadProps(__spreadValues({}, options), {
52
67
  relativeTime: typeof options.relativeTime === "string" ? options.relativeTime : "long"
53
- };
68
+ });
54
69
  }));
55
- const formattedTime = computed(
56
- () => toValue(opts).relativeTime !== false ? relativeTime.value : formattedFullTime.value
57
- );
70
+ const formattedTime = computed(() => toValue(opts).relativeTime !== false ? relativeTime.value : formattedFullTime.value);
58
71
  return {
59
72
  formattedTime,
60
73
  formattedFullTime
@@ -1 +1 @@
1
- {"version":3,"file":"useFormatDateTime.mjs","sources":["../../src/composables/useFormatDateTime/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FormatDateOptions } from '@nextcloud/l10n'\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { Ref } from 'vue'\n\nimport { formatRelativeTime, getCanonicalLocale } from '@nextcloud/l10n'\nimport { toValue } from '@vueuse/core'\nimport { computed, onUnmounted, readonly, ref, watchEffect } from 'vue'\nimport { t } from '../../l10n.js'\n\ninterface FormatRelativeTimeOptions extends Partial<Omit<FormatDateOptions, 'ignoreSeconds'>> {\n\tignoreSeconds?: boolean\n\n\t/**\n\t * If set to false the relative time will not be updated anymore.\n\t * @default true - Meaning the relative time will be updated if needed\n\t */\n\tupdate?: boolean\n}\n\ninterface FormatTimeOptions {\n\t/**\n\t * Locale to use for formatting.\n\t * @default current locale\n\t */\n\tlocale?: string\n\n\t/**\n\t * The format used for displaying.\n\t *\n\t * @default { timeStyle: 'medium', dateStyle: 'short' }\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n}\n\n/**\n * @deprecated\n */\ninterface LegacyFormatDateTimeOptions {\n\t/**\n\t * The format used for displaying, or if relative time is used the format used for the title\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n\t/**\n\t * Ignore seconds when displaying the relative time and just show `a few seconds ago`\n\t */\n\tignoreSeconds?: boolean\n\t/**\n\t * Wether to display the timestamp as time from now\n\t */\n\trelativeTime?: false | 'long' | 'short' | 'narrow'\n}\n\nconst FEW_SECONDS_AGO = {\n\tlong: t('a few seconds ago'),\n\tshort: t('seconds ago'), // FOR TRANSLATORS: Shorter version of 'a few seconds ago'\n\tnarrow: t('sec. ago'), // FOR TRANSLATORS: If possible in your language an even shorter version of 'a few seconds ago'\n}\n\n/**\n * Format a timestamp or date object as relative time.\n *\n * This is a composable wrapper around `formatRelativeTime` from `@nextcloud/l10n`.\n *\n * @param timestamp - The timestamp to format\n * @param opts - Formatting options\n */\nexport function useFormatRelativeTime(\n\ttimestamp: MaybeRefOrGetter<Date | number> = Date.now(),\n\topts: MaybeRefOrGetter<FormatRelativeTimeOptions> = {},\n): Readonly<Ref<string>> {\n\tlet timeoutId: number\n\n\t/**\n\t * ECMA Date object of the timestamp\n\t */\n\tconst date = computed(() => new Date(toValue(timestamp)))\n\n\t/**\n\t * Reactive options for `formatRelativeTime` method\n\t */\n\tconst options = computed<FormatDateOptions>(() => {\n\t\tconst { language, relativeTime, ignoreSeconds } = toValue(opts)\n\t\treturn {\n\t\t\t...language && { language },\n\t\t\t...relativeTime && { relativeTime },\n\t\t\tignoreSeconds: ignoreSeconds\n\t\t\t\t? FEW_SECONDS_AGO[relativeTime || 'long']\n\t\t\t\t: false,\n\t\t}\n\t})\n\n\t/**\n\t * The formatted relative time\n\t */\n\tconst relativeTime = ref('')\n\twatchEffect(() => updateRelativeTime())\n\n\t/**\n\t * Update the relative time string.\n\t * This is the callback for the interval.\n\t */\n\tfunction updateRelativeTime() {\n\t\trelativeTime.value = formatRelativeTime(date.value, options.value)\n\n\t\tif (toValue(opts).update !== false) {\n\t\t\tconst diff = Math.abs(Date.now() - new Date(toValue(timestamp)).getTime())\n\t\t\tconst interval = diff > 120000 || options.value.ignoreSeconds\n\t\t\t\t? Math.min(diff / 60, 1800000)\n\t\t\t\t: 1000\n\t\t\ttimeoutId = window.setTimeout(updateRelativeTime, interval)\n\t\t}\n\t}\n\n\t// when the component is unmounted we also clear the timeout\n\tonUnmounted(() => timeoutId && window.clearTimeout(timeoutId))\n\n\treturn readonly(relativeTime)\n}\n\n/**\n * Format a given timestamp or date object as a human readable string.\n *\n * @param timestamp - Timestamp or date object to format\n * @param opts - Formatting options\n */\nexport function useFormatTime(\n\ttimestamp: MaybeRefOrGetter<number | Date>,\n\topts: MaybeRefOrGetter<FormatTimeOptions>,\n): Readonly<Ref<string>> {\n\tconst options = computed<Required<FormatTimeOptions>>(() => ({\n\t\tlocale: getCanonicalLocale(),\n\t\tformat: { dateStyle: 'short', timeStyle: 'medium' },\n\t\t...toValue(opts),\n\t}))\n\n\tconst formatter = computed(() => new Intl.DateTimeFormat(options.value.locale, options.value.format))\n\n\treturn computed(() => formatter.value.format(toValue(timestamp)))\n}\n\n/**\n * Composable for formatting time stamps using current users locale and language\n *\n * @param {import('vue').MaybeRefOrGetter<Date | number>} timestamp Current timestamp\n * @param {object} opts Optional options\n * @param {Intl.DateTimeFormatOptions} opts.format The format used for displaying, or if relative time is used the format used for the title (optional)\n * @param {boolean} opts.ignoreSeconds Ignore seconds when displaying the relative time and just show `a few seconds ago`\n * @param {false | 'long' | 'short' | 'narrow'} opts.relativeTime Wether to display the timestamp as time from now (optional)\n *\n * @deprecated use `useFormatRelativeTime` or `useFormatTime` instead.\n */\nexport function useFormatDateTime(\n\ttimestamp: MaybeRefOrGetter<Date|number> = Date.now(),\n\topts: MaybeRefOrGetter<LegacyFormatDateTimeOptions> = {},\n) {\n\tconst formattedFullTime = useFormatTime(timestamp, opts)\n\tconst relativeTime = useFormatRelativeTime(timestamp, computed(() => {\n\t\tconst options = toValue(opts)\n\t\treturn {\n\t\t\t...options,\n\t\t\trelativeTime: typeof options.relativeTime === 'string'\n\t\t\t\t? options.relativeTime\n\t\t\t\t: 'long',\n\t\t}\n\t}))\n\n\tconst formattedTime = computed(() => toValue(opts).relativeTime !== false\n\t\t? relativeTime.value\n\t\t: formattedFullTime.value,\n\t)\n\n\treturn {\n\t\tformattedTime,\n\t\tformattedFullTime,\n\t}\n}\n"],"names":["relativeTime"],"mappings":";;;;;AAyDA,MAAM,kBAAkB;AAAA,EACvB,MAAM,EAAE,mBAAmB;AAAA,EAC3B,OAAO,EAAE,aAAa;AAAA;AAAA,EACtB,QAAQ,EAAE,UAAU;AAAA;AACrB;AAUO,SAAS,sBACf,YAA6C,KAAK,OAClD,OAAoD,CAAA,GAC5B;AACpB,MAAA;AAKE,QAAA,OAAO,SAAS,MAAM,IAAI,KAAK,QAAQ,SAAS,CAAC,CAAC;AAKlD,QAAA,UAAU,SAA4B,MAAM;AACjD,UAAM,EAAE,UAAU,cAAAA,eAAc,cAAc,IAAI,QAAQ,IAAI;AACvD,WAAA;AAAA,MACN,GAAG,YAAY,EAAE,SAAS;AAAA,MAC1B,GAAGA,iBAAgB,EAAE,cAAAA,cAAa;AAAA,MAClC,eAAe,gBACZ,gBAAgBA,iBAAgB,MAAM,IACtC;AAAA,IACJ;AAAA,EAAA,CACA;AAKK,QAAA,eAAe,IAAI,EAAE;AACf,cAAA,MAAM,oBAAoB;AAMtC,WAAS,qBAAqB;AAC7B,iBAAa,QAAQ,mBAAmB,KAAK,OAAO,QAAQ,KAAK;AAEjE,QAAI,QAAQ,IAAI,EAAE,WAAW,OAAO;AACnC,YAAM,OAAO,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,SAAS,CAAC,EAAE,SAAS;AACnE,YAAA,WAAW,OAAO,QAAU,QAAQ,MAAM,gBAC7C,KAAK,IAAI,OAAO,IAAI,IAAO,IAC3B;AACS,kBAAA,OAAO,WAAW,oBAAoB,QAAQ;AAAA,IAAA;AAAA,EAC3D;AAID,cAAY,MAAM,aAAa,OAAO,aAAa,SAAS,CAAC;AAE7D,SAAO,SAAS,YAAY;AAC7B;AAQgB,SAAA,cACf,WACA,MACwB;AAClB,QAAA,UAAU,SAAsC,OAAO;AAAA,IAC5D,QAAQ,mBAAmB;AAAA,IAC3B,QAAQ,EAAE,WAAW,SAAS,WAAW,SAAS;AAAA,IAClD,GAAG,QAAQ,IAAI;AAAA,EAAA,EACd;AAEF,QAAM,YAAY,SAAS,MAAM,IAAI,KAAK,eAAe,QAAQ,MAAM,QAAQ,QAAQ,MAAM,MAAM,CAAC;AAE7F,SAAA,SAAS,MAAM,UAAU,MAAM,OAAO,QAAQ,SAAS,CAAC,CAAC;AACjE;AAaO,SAAS,kBACf,YAA2C,KAAK,OAChD,OAAsD,CAAA,GACrD;AACK,QAAA,oBAAoB,cAAc,WAAW,IAAI;AACvD,QAAM,eAAe,sBAAsB,WAAW,SAAS,MAAM;AAC9D,UAAA,UAAU,QAAQ,IAAI;AACrB,WAAA;AAAA,MACN,GAAG;AAAA,MACH,cAAc,OAAO,QAAQ,iBAAiB,WAC3C,QAAQ,eACR;AAAA,IACJ;AAAA,EAAA,CACA,CAAC;AAEF,QAAM,gBAAgB;AAAA,IAAS,MAAM,QAAQ,IAAI,EAAE,iBAAiB,QACjE,aAAa,QACb,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;"}
1
+ {"version":3,"file":"useFormatDateTime.mjs","sources":["../../src/composables/useFormatDateTime/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FormatDateOptions } from '@nextcloud/l10n'\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { Ref } from 'vue'\n\nimport { formatRelativeTime, getCanonicalLocale } from '@nextcloud/l10n'\nimport { toValue } from '@vueuse/core'\nimport { computed, onUnmounted, readonly, ref, watchEffect } from 'vue'\nimport { t } from '../../l10n.js'\n\ninterface FormatRelativeTimeOptions extends Partial<Omit<FormatDateOptions, 'ignoreSeconds'>> {\n\tignoreSeconds?: boolean\n\n\t/**\n\t * If set to false the relative time will not be updated anymore.\n\t *\n\t * @default true - Meaning the relative time will be updated if needed\n\t */\n\tupdate?: boolean\n}\n\ninterface FormatTimeOptions {\n\t/**\n\t * Locale to use for formatting.\n\t *\n\t * @default current locale\n\t */\n\tlocale?: string\n\n\t/**\n\t * The format used for displaying.\n\t *\n\t * @default { timeStyle: 'medium', dateStyle: 'short' }\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n}\n\n/**\n * @deprecated\n */\ninterface LegacyFormatDateTimeOptions {\n\t/**\n\t * The format used for displaying, or if relative time is used the format used for the title\n\t */\n\tformat?: Intl.DateTimeFormatOptions\n\t/**\n\t * Ignore seconds when displaying the relative time and just show `a few seconds ago`\n\t */\n\tignoreSeconds?: boolean\n\t/**\n\t * Wether to display the timestamp as time from now\n\t */\n\trelativeTime?: false | 'long' | 'short' | 'narrow'\n}\n\nconst FEW_SECONDS_AGO = {\n\tlong: t('a few seconds ago'),\n\tshort: t('seconds ago'), // FOR TRANSLATORS: Shorter version of 'a few seconds ago'\n\tnarrow: t('sec. ago'), // FOR TRANSLATORS: If possible in your language an even shorter version of 'a few seconds ago'\n}\n\n/**\n * Format a timestamp or date object as relative time.\n *\n * This is a composable wrapper around `formatRelativeTime` from `@nextcloud/l10n`.\n *\n * @param timestamp - The timestamp to format\n * @param opts - Formatting options\n */\nexport function useFormatRelativeTime(\n\ttimestamp: MaybeRefOrGetter<Date | number> = Date.now(),\n\topts: MaybeRefOrGetter<FormatRelativeTimeOptions> = {},\n): Readonly<Ref<string>> {\n\tlet timeoutId: number\n\n\t/**\n\t * ECMA Date object of the timestamp\n\t */\n\tconst date = computed(() => new Date(toValue(timestamp)))\n\n\t/**\n\t * Reactive options for `formatRelativeTime` method\n\t */\n\tconst options = computed<FormatDateOptions>(() => {\n\t\tconst { language, relativeTime, ignoreSeconds } = toValue(opts)\n\t\treturn {\n\t\t\t...language && { language },\n\t\t\t...relativeTime && { relativeTime },\n\t\t\tignoreSeconds: ignoreSeconds\n\t\t\t\t? FEW_SECONDS_AGO[relativeTime || 'long']\n\t\t\t\t: false,\n\t\t}\n\t})\n\n\t/**\n\t * The formatted relative time\n\t */\n\tconst relativeTime = ref('')\n\twatchEffect(() => updateRelativeTime())\n\n\t/**\n\t * Update the relative time string.\n\t * This is the callback for the interval.\n\t */\n\tfunction updateRelativeTime() {\n\t\trelativeTime.value = formatRelativeTime(date.value, options.value)\n\n\t\tif (toValue(opts).update !== false) {\n\t\t\tconst diff = Math.abs(Date.now() - new Date(toValue(timestamp)).getTime())\n\t\t\tconst interval = diff > 120000 || options.value.ignoreSeconds\n\t\t\t\t? Math.min(diff / 60, 1800000)\n\t\t\t\t: 1000\n\t\t\ttimeoutId = window.setTimeout(updateRelativeTime, interval)\n\t\t}\n\t}\n\n\t// when the component is unmounted we also clear the timeout\n\tonUnmounted(() => timeoutId && window.clearTimeout(timeoutId))\n\n\treturn readonly(relativeTime)\n}\n\n/**\n * Format a given timestamp or date object as a human readable string.\n *\n * @param timestamp - Timestamp or date object to format\n * @param opts - Formatting options\n */\nexport function useFormatTime(\n\ttimestamp: MaybeRefOrGetter<number | Date>,\n\topts: MaybeRefOrGetter<FormatTimeOptions>,\n): Readonly<Ref<string>> {\n\tconst options = computed<Required<FormatTimeOptions>>(() => ({\n\t\tlocale: getCanonicalLocale(),\n\t\tformat: { dateStyle: 'short', timeStyle: 'medium' },\n\t\t...toValue(opts),\n\t}))\n\n\tconst formatter = computed(() => new Intl.DateTimeFormat(options.value.locale, options.value.format))\n\n\treturn computed(() => formatter.value.format(toValue(timestamp)))\n}\n\n/**\n * Composable for formatting time stamps using current users locale and language\n *\n * @param timestamp Current timestamp\n * @param opts Optional options\n * @param opts.format The format used for displaying, or if relative time is used the format used for the title (optional)\n * @param opts.ignoreSeconds Ignore seconds when displaying the relative time and just show `a few seconds ago`\n * @param opts.relativeTime Wether to display the timestamp as time from now (optional)\n *\n * @deprecated use `useFormatRelativeTime` or `useFormatTime` instead.\n */\nexport function useFormatDateTime(\n\ttimestamp: MaybeRefOrGetter<Date | number> = Date.now(),\n\topts: MaybeRefOrGetter<LegacyFormatDateTimeOptions> = {},\n) {\n\tconst formattedFullTime = useFormatTime(timestamp, opts)\n\tconst relativeTime = useFormatRelativeTime(timestamp, computed(() => {\n\t\tconst options = toValue(opts)\n\t\treturn {\n\t\t\t...options,\n\t\t\trelativeTime: typeof options.relativeTime === 'string'\n\t\t\t\t? options.relativeTime\n\t\t\t\t: 'long',\n\t\t}\n\t}))\n\n\tconst formattedTime = computed(() => toValue(opts).relativeTime !== false\n\t\t? relativeTime.value\n\t\t: formattedFullTime.value)\n\n\treturn {\n\t\tformattedTime,\n\t\tformattedFullTime,\n\t}\n}\n"],"names":["relativeTime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2DA,MAAM,kBAAkB;AAAA,EACvB,MAAM,EAAE,mBAAmB;AAAA,EAC3B,OAAO,EAAE,aAAa;AAAA;AAAA,EACtB,QAAQ,EAAE,UAAU;AAAA;AACrB;AAUO,SAAS,sBACf,YAA6C,KAAK,OAClD,OAAoD,CAAA,GAC5B;AACxB,MAAI;AAKJ,QAAM,OAAO,SAAS,MAAM,IAAI,KAAK,QAAQ,SAAS,CAAC,CAAC;AAKxD,QAAM,UAAU,SAA4B,MAAM;AACjD,UAAM,EAAE,UAAU,cAAAA,eAAc,cAAA,IAAkB,QAAQ,IAAI;AAC9D,WAAO,cAAA,eAAA,eAAA,CAAA,GACH,YAAY,EAAE,SAAA,IACdA,iBAAgB,EAAE,cAAAA,cAAAA,CAAa,GAF5B;AAAA,MAGN,eAAe,gBACZ,gBAAgBA,iBAAgB,MAAM,IACtC;AAAA,IAAA,CACJ;AAAA,EACD,CAAC;AAKD,QAAM,eAAe,IAAI,EAAE;AAC3B,cAAY,MAAM,oBAAoB;AAMtC,WAAS,qBAAqB;AAC7B,iBAAa,QAAQ,mBAAmB,KAAK,OAAO,QAAQ,KAAK;AAEjE,QAAI,QAAQ,IAAI,EAAE,WAAW,OAAO;AACnC,YAAM,OAAO,KAAK,IAAI,KAAK,IAAA,IAAQ,IAAI,KAAK,QAAQ,SAAS,CAAC,EAAE,SAAS;AACzE,YAAM,WAAW,OAAO,QAAU,QAAQ,MAAM,gBAC7C,KAAK,IAAI,OAAO,IAAI,IAAO,IAC3B;AACH,kBAAY,OAAO,WAAW,oBAAoB,QAAQ;AAAA,IAC3D;AAAA,EACD;AAGA,cAAY,MAAM,aAAa,OAAO,aAAa,SAAS,CAAC;AAE7D,SAAO,SAAS,YAAY;AAC7B;AAQO,SAAS,cACf,WACA,MACwB;AACxB,QAAM,UAAU,SAAsC,MAAO,eAAA;AAAA,IAC5D,QAAQ,mBAAA;AAAA,IACR,QAAQ,EAAE,WAAW,SAAS,WAAW,SAAA;AAAA,EAAS,GAC/C,QAAQ,IAAI,CAAA,CACd;AAEF,QAAM,YAAY,SAAS,MAAM,IAAI,KAAK,eAAe,QAAQ,MAAM,QAAQ,QAAQ,MAAM,MAAM,CAAC;AAEpG,SAAO,SAAS,MAAM,UAAU,MAAM,OAAO,QAAQ,SAAS,CAAC,CAAC;AACjE;AAaO,SAAS,kBACf,YAA6C,KAAK,OAClD,OAAsD,CAAA,GACrD;AACD,QAAM,oBAAoB,cAAc,WAAW,IAAI;AACvD,QAAM,eAAe,sBAAsB,WAAW,SAAS,MAAM;AACpE,UAAM,UAAU,QAAQ,IAAI;AAC5B,WAAO,iCACH,OAAA,GADG;AAAA,MAEN,cAAc,OAAO,QAAQ,iBAAiB,WAC3C,QAAQ,eACR;AAAA,IAAA,CACJ;AAAA,EACD,CAAC,CAAC;AAEF,QAAM,gBAAgB,SAAS,MAAM,QAAQ,IAAI,EAAE,iBAAiB,QACjE,aAAa,QACb,kBAAkB,KAAK;AAE1B,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EAAA;AAEF;"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const core = require("@vueuse/core");
4
- const disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();
5
- const isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent);
4
+ const platform = require("../chunks/platform-oKxQ1agV.cjs");
5
+ var _a, _b, _c;
6
+ const disableKeyboardShortcuts = (_c = (_b = (_a = window.OCP) == null ? void 0 : _a.Accessibility) == null ? void 0 : _b.disableKeyboardShortcuts) == null ? void 0 : _c.call(_b);
6
7
  const derivedKeysRegex = /^[a-zA-Z0-9]$/;
7
8
  const nonAsciiPrintableRegex = /^[^\x20-\x7F]$/;
8
9
  function shouldIgnoreEvent(event) {
@@ -13,7 +14,7 @@ function shouldIgnoreEvent(event) {
13
14
  }
14
15
  function eventHandler(callback, options) {
15
16
  return (event) => {
16
- const ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey;
17
+ const ctrlKeyPressed = platform.isMac ? event.metaKey : event.ctrlKey;
17
18
  if (ctrlKeyPressed !== Boolean(options.ctrl)) {
18
19
  return;
19
20
  } else if (event.altKey !== Boolean(options.alt)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useHotKey.cjs","sources":["../../src/composables/useHotKey/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { onKeyStroke } from '@vueuse/core'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\nconst isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent)\nconst derivedKeysRegex = /^[a-zA-Z0-9]$/\nconst nonAsciiPrintableRegex = /^[^\\x20-\\x7F]$/\n\nexport interface UseHotKeyOptions {\n\t/** Make key filter case sensitive */\n\tcaseSensitive?: boolean\n\n\t/** Prevent default behavior of key stroke */\n\tprevent?: boolean\n\n\t/** Stop the event bubbling */\n\tstop?: boolean\n\n\t/** Also listen for keyup event */\n\tpush?: boolean\n\n\t/**\n\t * If set then the callback is only called when the shift key is (not) pressed.\n\t * When left `undefined` a pressed shift key is ignored (callback is run with and without shift pressed).\n\t */\n\tshift?: boolean\n\n\t/**\n\t * Only run the callback if the control key is (not-)pressed.\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'ctrl' key is NOT pressed.\n\t */\n\tctrl?: boolean\n\n\t/**\n\t * If set the callback is only executed if the alt key is (not-)pressed\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'alt' key is NOT pressed.\n\t */\n\talt?: boolean\n}\n\n/**\n * Check if event target (active element) is editable (allows input from keyboard) or NcModal is open\n * If true, a hot key should not trigger the callback\n *\n * @todo Discuss if we should abort on another interactive elements (button, a, e.t.c)\n *\n * @param event keyboard event\n * @return Whether it should prevent callback\n */\nfunction shouldIgnoreEvent(event: KeyboardEvent): boolean {\n\tif (!(event.target instanceof HTMLElement)\n\t\t|| event.target instanceof HTMLInputElement\n\t\t|| event.target instanceof HTMLTextAreaElement\n\t\t|| event.target instanceof HTMLSelectElement\n\t\t|| event.target.isContentEditable) {\n\t\treturn true\n\t}\n\t/** Abort if any modal/dialog opened */\n\treturn document.getElementsByClassName('modal-mask').length !== 0\n}\n\ntype KeyboardEventHandler = (event: KeyboardEvent) => void\n\n/**\n * Implementation of the event handler.\n *\n * @param callback The callback to run\n * @param options hot key options\n */\nfunction eventHandler(callback: KeyboardEventHandler, options: UseHotKeyOptions): KeyboardEventHandler {\n\treturn (event: KeyboardEvent) => {\n\t\tconst ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey\n\t\tif (ctrlKeyPressed !== Boolean(options.ctrl)) {\n\t\t\t/**\n\t\t\t * Ctrl is required and not pressed, or the opposite\n\t\t\t * As on macOS 'cmd' key is used instead of 'ctrl' key for most key combinations,\n\t\t\t * 'event.metaKey' should be checked\n\t\t\t */\n\t\t\treturn\n\t\t} else if (event.altKey !== Boolean(options.alt)) {\n\t\t\t// Alt is required and not pressed, or the opposite\n\t\t\treturn\n\t\t} else if (options.shift !== undefined && event.shiftKey !== Boolean(options.shift)) {\n\t\t\t/**\n\t\t\t * Shift is required and not pressed, or the opposite\n\t\t\t * As shift key is used to type capital letters and alternate characters,\n\t\t\t * option should be explicitly defined\n\t\t\t */\n\t\t\treturn\n\t\t} else if (shouldIgnoreEvent(event)) {\n\t\t\t// Keyboard shortcuts are disabled, because active element assumes input\n\t\t\treturn\n\t\t}\n\n\t\tif (options.prevent) {\n\t\t\tevent.preventDefault()\n\t\t}\n\t\tif (options.stop) {\n\t\t\tevent.stopPropagation()\n\t\t}\n\t\tcallback(event)\n\t}\n}\n\n/**\n * Composable to use keyboard shortcuts in the application.\n * It respects the users accessibility configuration (opt-out shortcuts).\n *\n * @param keysOrFilter - keyboard key(s) to listen to, or filter function or pass `true` for listening to all keys\n * @param callback - callback function\n * @param options - composable options\n * @see docs/composables/usekeystroke.md\n */\nexport function useHotKey(\n\tkeysOrFilter: true | string | string[] | ((e: KeyboardEvent) => boolean),\n\tcallback = () => {},\n\toptions: UseHotKeyOptions = {},\n) {\n\tif (disableKeyboardShortcuts) {\n\t\t// Keyboard shortcuts are disabled\n\t\treturn () => {}\n\t}\n\n\t/**\n\t * Validates event key to expected key\n\t *\n\t * @param event keyboard event\n\t * @param key expected key\n\t * @return whether it satisfies expected value or not\n\t */\n\tconst validateKeyEvent = (event: KeyboardEvent, key: string): boolean => {\n\t\t// If key exactly matches event.key, valid with any caseSensitive option. Do not perform further checks\n\t\tif (event.key === key) {\n\t\t\treturn true\n\t\t}\n\n\t\t// If key and event.key are in different cases, invalid with caseSensitive = true. Do not perform further checks\n\t\tif (options.caseSensitive) {\n\t\t\tconst isKeyInLowerCase = key === key.toLowerCase()\n\t\t\tconst isEventKeyInLowerCase = event.key === event.key.toLowerCase()\n\t\t\tif (isKeyInLowerCase !== isEventKeyInLowerCase) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// If received event.key is not a printable ASCII character code (character code 32-127),\n\t\t// try to derive it from event.code and match with expected key\n\t\tif (derivedKeysRegex.test(key) && nonAsciiPrintableRegex.test(event.key)) {\n\t\t\treturn event.code.replace(/^(?:Key|Digit|Numpad)/, '') === key.toUpperCase()\n\t\t}\n\n\t\treturn event.key.toLowerCase() === key.toLowerCase()\n\t}\n\n\t/**\n\t * Filter function for the listener\n\t * see https://github.com/vueuse/vueuse/blob/v11.3.0/packages/core/onKeyStroke/index.ts#L21-L32\n\t *\n\t * @param event keyboard event\n\t * @return Whether it satisfies expected value or not\n\t */\n\tconst keyFilter = (event: KeyboardEvent): boolean => {\n\t\tif (typeof keysOrFilter === 'function') {\n\t\t\treturn keysOrFilter(event)\n\t\t} else if (typeof keysOrFilter === 'string') {\n\t\t\treturn validateKeyEvent(event, keysOrFilter)\n\t\t} else if (Array.isArray(keysOrFilter)) {\n\t\t\treturn keysOrFilter.some(key => validateKeyEvent(event, key))\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n\n\tconst stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\teventName: 'keydown',\n\t\tdedupe: true,\n\t\tpassive: !options.prevent,\n\t})\n\n\tconst stopKeyUp = options.push\n\t\t? onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\t\teventName: 'keyup',\n\t\t\tpassive: !options.prevent,\n\t\t})\n\t\t: () => {}\n\n\treturn () => {\n\t\tstopKeyDown()\n\t\tstopKeyUp()\n\t}\n}\n"],"names":["onKeyStroke"],"mappings":";;;AAMA,MAAM,2BAA2B,OAAO,KAAK,eAAe,2BAA2B;AACvF,MAAM,QAAQ,0BAA0B,KAAK,UAAU,SAAS;AAChE,MAAM,mBAAmB;AACzB,MAAM,yBAAyB;AA2C/B,SAAS,kBAAkB,OAA+B;AACzD,MAAI,EAAE,MAAM,kBAAkB,gBAC1B,MAAM,kBAAkB,oBACxB,MAAM,kBAAkB,uBACxB,MAAM,kBAAkB,qBACxB,MAAM,OAAO,mBAAmB;AAC5B,WAAA;AAAA,EAAA;AAGR,SAAO,SAAS,uBAAuB,YAAY,EAAE,WAAW;AACjE;AAUA,SAAS,aAAa,UAAgC,SAAiD;AACtG,SAAO,CAAC,UAAyB;AAChC,UAAM,iBAAiB,QAAQ,MAAM,UAAU,MAAM;AACrD,QAAI,mBAAmB,QAAQ,QAAQ,IAAI,GAAG;AAM7C;AAAA,IAAA,WACU,MAAM,WAAW,QAAQ,QAAQ,GAAG,GAAG;AAEjD;AAAA,IAAA,WACU,QAAQ,UAAU,UAAa,MAAM,aAAa,QAAQ,QAAQ,KAAK,GAAG;AAMpF;AAAA,IAAA,WACU,kBAAkB,KAAK,GAAG;AAEpC;AAAA,IAAA;AAGD,QAAI,QAAQ,SAAS;AACpB,YAAM,eAAe;AAAA,IAAA;AAEtB,QAAI,QAAQ,MAAM;AACjB,YAAM,gBAAgB;AAAA,IAAA;AAEvB,aAAS,KAAK;AAAA,EACf;AACD;AAWgB,SAAA,UACf,cACA,WAAW,MAAM;AAAC,GAClB,UAA4B,CAAA,GAC3B;AACD,MAAI,0BAA0B;AAE7B,WAAO,MAAM;AAAA,IAAC;AAAA,EAAA;AAUT,QAAA,mBAAmB,CAAC,OAAsB,QAAyB;AAEpE,QAAA,MAAM,QAAQ,KAAK;AACf,aAAA;AAAA,IAAA;AAIR,QAAI,QAAQ,eAAe;AACpB,YAAA,mBAAmB,QAAQ,IAAI,YAAY;AACjD,YAAM,wBAAwB,MAAM,QAAQ,MAAM,IAAI,YAAY;AAClE,UAAI,qBAAqB,uBAAuB;AACxC,eAAA;AAAA,MAAA;AAAA,IACR;AAKG,QAAA,iBAAiB,KAAK,GAAG,KAAK,uBAAuB,KAAK,MAAM,GAAG,GAAG;AACzE,aAAO,MAAM,KAAK,QAAQ,yBAAyB,EAAE,MAAM,IAAI,YAAY;AAAA,IAAA;AAG5E,WAAO,MAAM,IAAI,YAAY,MAAM,IAAI,YAAY;AAAA,EACpD;AASM,QAAA,YAAY,CAAC,UAAkC;AAChD,QAAA,OAAO,iBAAiB,YAAY;AACvC,aAAO,aAAa,KAAK;AAAA,IAAA,WACf,OAAO,iBAAiB,UAAU;AACrC,aAAA,iBAAiB,OAAO,YAAY;AAAA,IACjC,WAAA,MAAM,QAAQ,YAAY,GAAG;AACvC,aAAO,aAAa,KAAK,CAAA,QAAO,iBAAiB,OAAO,GAAG,CAAC;AAAA,IAAA,OACtD;AACC,aAAA;AAAA,IAAA;AAAA,EAET;AAEA,QAAM,cAAcA,KAAAA,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IAC3E,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS,CAAC,QAAQ;AAAA,EAAA,CAClB;AAEK,QAAA,YAAY,QAAQ,OACvBA,KAAAA,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IACzD,WAAW;AAAA,IACX,SAAS,CAAC,QAAQ;AAAA,EAClB,CAAA,IACC,MAAM;AAAA,EAAC;AAEV,SAAO,MAAM;AACA,gBAAA;AACF,cAAA;AAAA,EACX;AACD;;"}
1
+ {"version":3,"file":"useHotKey.cjs","sources":["../../src/composables/useHotKey/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { onKeyStroke } from '@vueuse/core'\nimport { isMac } from '../../utils/platform.ts'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\nconst derivedKeysRegex = /^[a-zA-Z0-9]$/\nconst nonAsciiPrintableRegex = /^[^\\x20-\\x7F]$/\n\nexport interface UseHotKeyOptions {\n\t/** Make key filter case sensitive */\n\tcaseSensitive?: boolean\n\n\t/** Prevent default behavior of key stroke */\n\tprevent?: boolean\n\n\t/** Stop the event bubbling */\n\tstop?: boolean\n\n\t/** Also listen for keyup event */\n\tpush?: boolean\n\n\t/**\n\t * If set then the callback is only called when the shift key is (not) pressed.\n\t * When left `undefined` a pressed shift key is ignored (callback is run with and without shift pressed).\n\t */\n\tshift?: boolean\n\n\t/**\n\t * Only run the callback if the control key is (not-)pressed.\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'ctrl' key is NOT pressed.\n\t */\n\tctrl?: boolean\n\n\t/**\n\t * If set the callback is only executed if the alt key is (not-)pressed\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'alt' key is NOT pressed.\n\t */\n\talt?: boolean\n}\n\n/**\n * Check if event target (active element) is editable (allows input from keyboard) or NcModal is open\n * If true, a hot key should not trigger the callback\n *\n * @todo Discuss if we should abort on another interactive elements (button, a, e.t.c)\n *\n * @param event keyboard event\n * @return Whether it should prevent callback\n */\nfunction shouldIgnoreEvent(event: KeyboardEvent): boolean {\n\tif (!(event.target instanceof HTMLElement)\n\t\t|| event.target instanceof HTMLInputElement\n\t\t|| event.target instanceof HTMLTextAreaElement\n\t\t|| event.target instanceof HTMLSelectElement\n\t\t|| event.target.isContentEditable) {\n\t\treturn true\n\t}\n\t/** Abort if any modal/dialog opened */\n\treturn document.getElementsByClassName('modal-mask').length !== 0\n}\n\ntype KeyboardEventHandler = (event: KeyboardEvent) => void\n\n/**\n * Implementation of the event handler.\n *\n * @param callback The callback to run\n * @param options hot key options\n */\nfunction eventHandler(callback: KeyboardEventHandler, options: UseHotKeyOptions): KeyboardEventHandler {\n\treturn (event: KeyboardEvent) => {\n\t\tconst ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey\n\t\tif (ctrlKeyPressed !== Boolean(options.ctrl)) {\n\t\t\t/**\n\t\t\t * Ctrl is required and not pressed, or the opposite\n\t\t\t * As on macOS 'cmd' key is used instead of 'ctrl' key for most key combinations,\n\t\t\t * 'event.metaKey' should be checked\n\t\t\t */\n\t\t\treturn\n\t\t} else if (event.altKey !== Boolean(options.alt)) {\n\t\t\t// Alt is required and not pressed, or the opposite\n\t\t\treturn\n\t\t} else if (options.shift !== undefined && event.shiftKey !== Boolean(options.shift)) {\n\t\t\t/**\n\t\t\t * Shift is required and not pressed, or the opposite\n\t\t\t * As shift key is used to type capital letters and alternate characters,\n\t\t\t * option should be explicitly defined\n\t\t\t */\n\t\t\treturn\n\t\t} else if (shouldIgnoreEvent(event)) {\n\t\t\t// Keyboard shortcuts are disabled, because active element assumes input\n\t\t\treturn\n\t\t}\n\n\t\tif (options.prevent) {\n\t\t\tevent.preventDefault()\n\t\t}\n\t\tif (options.stop) {\n\t\t\tevent.stopPropagation()\n\t\t}\n\t\tcallback(event)\n\t}\n}\n\n/**\n * Composable to use keyboard shortcuts in the application.\n * It respects the users accessibility configuration (opt-out shortcuts).\n *\n * @param keysOrFilter - keyboard key(s) to listen to, or filter function or pass `true` for listening to all keys\n * @param callback - callback function\n * @param options - composable options\n * @see docs/composables/useHotKey.md\n */\nexport function useHotKey(\n\tkeysOrFilter: true | string | string[] | ((e: KeyboardEvent) => boolean),\n\tcallback: KeyboardEventHandler = () => {},\n\toptions: UseHotKeyOptions = {},\n) {\n\tif (disableKeyboardShortcuts) {\n\t\t// Keyboard shortcuts are disabled\n\t\treturn () => {}\n\t}\n\n\t/**\n\t * Validates event key to expected key\n\t *\n\t * @param event keyboard event\n\t * @param key expected key\n\t * @return whether it satisfies expected value or not\n\t */\n\tconst validateKeyEvent = (event: KeyboardEvent, key: string): boolean => {\n\t\t// If key exactly matches event.key, valid with any caseSensitive option. Do not perform further checks\n\t\tif (event.key === key) {\n\t\t\treturn true\n\t\t}\n\n\t\t// If key and event.key are in different cases, invalid with caseSensitive = true. Do not perform further checks\n\t\tif (options.caseSensitive) {\n\t\t\tconst isKeyInLowerCase = key === key.toLowerCase()\n\t\t\tconst isEventKeyInLowerCase = event.key === event.key.toLowerCase()\n\t\t\tif (isKeyInLowerCase !== isEventKeyInLowerCase) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// If received event.key is not a printable ASCII character code (character code 32-127),\n\t\t// try to derive it from event.code and match with expected key\n\t\tif (derivedKeysRegex.test(key) && nonAsciiPrintableRegex.test(event.key)) {\n\t\t\treturn event.code.replace(/^(?:Key|Digit|Numpad)/, '') === key.toUpperCase()\n\t\t}\n\n\t\treturn event.key.toLowerCase() === key.toLowerCase()\n\t}\n\n\t/**\n\t * Filter function for the listener\n\t * see https://github.com/vueuse/vueuse/blob/v11.3.0/packages/core/onKeyStroke/index.ts#L21-L32\n\t *\n\t * @param event keyboard event\n\t * @return Whether it satisfies expected value or not\n\t */\n\tconst keyFilter = (event: KeyboardEvent): boolean => {\n\t\tif (typeof keysOrFilter === 'function') {\n\t\t\treturn keysOrFilter(event)\n\t\t} else if (typeof keysOrFilter === 'string') {\n\t\t\treturn validateKeyEvent(event, keysOrFilter)\n\t\t} else if (Array.isArray(keysOrFilter)) {\n\t\t\treturn keysOrFilter.some((key) => validateKeyEvent(event, key))\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n\n\tconst stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\teventName: 'keydown',\n\t\tdedupe: true,\n\t\tpassive: !options.prevent,\n\t})\n\n\tconst stopKeyUp = options.push\n\t\t? onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\t\t\teventName: 'keyup',\n\t\t\t\tpassive: !options.prevent,\n\t\t\t})\n\t\t: () => {}\n\n\treturn () => {\n\t\tstopKeyDown()\n\t\tstopKeyUp()\n\t}\n}\n"],"names":["isMac","onKeyStroke"],"mappings":";;;;AAAA,IAAA,IAAA,IAAA;AAOA,MAAM,4BAA2B,MAAA,MAAA,KAAA,OAAO,QAAP,OAAA,SAAA,GAAY,kBAAZ,mBAA2B,6BAA3B,OAAA,SAAA,GAAA,KAAA,EAAA;AACjC,MAAM,mBAAmB;AACzB,MAAM,yBAAyB;AA2C/B,SAAS,kBAAkB,OAA+B;AACzD,MAAI,EAAE,MAAM,kBAAkB,gBAC1B,MAAM,kBAAkB,oBACxB,MAAM,kBAAkB,uBACxB,MAAM,kBAAkB,qBACxB,MAAM,OAAO,mBAAmB;AACnC,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,uBAAuB,YAAY,EAAE,WAAW;AACjE;AAUA,SAAS,aAAa,UAAgC,SAAiD;AACtG,SAAO,CAAC,UAAyB;AAChC,UAAM,iBAAiBA,SAAAA,QAAQ,MAAM,UAAU,MAAM;AACrD,QAAI,mBAAmB,QAAQ,QAAQ,IAAI,GAAG;AAM7C;AAAA,IACD,WAAW,MAAM,WAAW,QAAQ,QAAQ,GAAG,GAAG;AAEjD;AAAA,IACD,WAAW,QAAQ,UAAU,UAAa,MAAM,aAAa,QAAQ,QAAQ,KAAK,GAAG;AAMpF;AAAA,IACD,WAAW,kBAAkB,KAAK,GAAG;AAEpC;AAAA,IACD;AAEA,QAAI,QAAQ,SAAS;AACpB,YAAM,eAAA;AAAA,IACP;AACA,QAAI,QAAQ,MAAM;AACjB,YAAM,gBAAA;AAAA,IACP;AACA,aAAS,KAAK;AAAA,EACf;AACD;AAWO,SAAS,UACf,cACA,WAAiC,MAAM;AAAC,GACxC,UAA4B,CAAA,GAC3B;AACD,MAAI,0BAA0B;AAE7B,WAAO,MAAM;AAAA,IAAC;AAAA,EACf;AASA,QAAM,mBAAmB,CAAC,OAAsB,QAAyB;AAExE,QAAI,MAAM,QAAQ,KAAK;AACtB,aAAO;AAAA,IACR;AAGA,QAAI,QAAQ,eAAe;AAC1B,YAAM,mBAAmB,QAAQ,IAAI,YAAA;AACrC,YAAM,wBAAwB,MAAM,QAAQ,MAAM,IAAI,YAAA;AACtD,UAAI,qBAAqB,uBAAuB;AAC/C,eAAO;AAAA,MACR;AAAA,IACD;AAIA,QAAI,iBAAiB,KAAK,GAAG,KAAK,uBAAuB,KAAK,MAAM,GAAG,GAAG;AACzE,aAAO,MAAM,KAAK,QAAQ,yBAAyB,EAAE,MAAM,IAAI,YAAA;AAAA,IAChE;AAEA,WAAO,MAAM,IAAI,YAAA,MAAkB,IAAI,YAAA;AAAA,EACxC;AASA,QAAM,YAAY,CAAC,UAAkC;AACpD,QAAI,OAAO,iBAAiB,YAAY;AACvC,aAAO,aAAa,KAAK;AAAA,IAC1B,WAAW,OAAO,iBAAiB,UAAU;AAC5C,aAAO,iBAAiB,OAAO,YAAY;AAAA,IAC5C,WAAW,MAAM,QAAQ,YAAY,GAAG;AACvC,aAAO,aAAa,KAAK,CAAC,QAAQ,iBAAiB,OAAO,GAAG,CAAC;AAAA,IAC/D,OAAO;AACN,aAAO;AAAA,IACR;AAAA,EACD;AAEA,QAAM,cAAcC,KAAAA,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IAC3E,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS,CAAC,QAAQ;AAAA,EAAA,CAClB;AAED,QAAM,YAAY,QAAQ,OACvBA,KAAAA,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IACxD,WAAW;AAAA,IACX,SAAS,CAAC,QAAQ;AAAA,EAAA,CAClB,IACA,MAAM;AAAA,EAAC;AAEV,SAAO,MAAM;AACZ,gBAAA;AACA,cAAA;AAAA,EACD;AACD;;"}
@@ -1,6 +1,7 @@
1
1
  import { onKeyStroke } from "@vueuse/core";
2
- const disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();
3
- const isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent);
2
+ import { i as isMac } from "../chunks/platform-CC2ecGvV.mjs";
3
+ var _a, _b, _c;
4
+ const disableKeyboardShortcuts = (_c = (_b = (_a = window.OCP) == null ? void 0 : _a.Accessibility) == null ? void 0 : _b.disableKeyboardShortcuts) == null ? void 0 : _c.call(_b);
4
5
  const derivedKeysRegex = /^[a-zA-Z0-9]$/;
5
6
  const nonAsciiPrintableRegex = /^[^\x20-\x7F]$/;
6
7
  function shouldIgnoreEvent(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"useHotKey.mjs","sources":["../../src/composables/useHotKey/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { onKeyStroke } from '@vueuse/core'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\nconst isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent)\nconst derivedKeysRegex = /^[a-zA-Z0-9]$/\nconst nonAsciiPrintableRegex = /^[^\\x20-\\x7F]$/\n\nexport interface UseHotKeyOptions {\n\t/** Make key filter case sensitive */\n\tcaseSensitive?: boolean\n\n\t/** Prevent default behavior of key stroke */\n\tprevent?: boolean\n\n\t/** Stop the event bubbling */\n\tstop?: boolean\n\n\t/** Also listen for keyup event */\n\tpush?: boolean\n\n\t/**\n\t * If set then the callback is only called when the shift key is (not) pressed.\n\t * When left `undefined` a pressed shift key is ignored (callback is run with and without shift pressed).\n\t */\n\tshift?: boolean\n\n\t/**\n\t * Only run the callback if the control key is (not-)pressed.\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'ctrl' key is NOT pressed.\n\t */\n\tctrl?: boolean\n\n\t/**\n\t * If set the callback is only executed if the alt key is (not-)pressed\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'alt' key is NOT pressed.\n\t */\n\talt?: boolean\n}\n\n/**\n * Check if event target (active element) is editable (allows input from keyboard) or NcModal is open\n * If true, a hot key should not trigger the callback\n *\n * @todo Discuss if we should abort on another interactive elements (button, a, e.t.c)\n *\n * @param event keyboard event\n * @return Whether it should prevent callback\n */\nfunction shouldIgnoreEvent(event: KeyboardEvent): boolean {\n\tif (!(event.target instanceof HTMLElement)\n\t\t|| event.target instanceof HTMLInputElement\n\t\t|| event.target instanceof HTMLTextAreaElement\n\t\t|| event.target instanceof HTMLSelectElement\n\t\t|| event.target.isContentEditable) {\n\t\treturn true\n\t}\n\t/** Abort if any modal/dialog opened */\n\treturn document.getElementsByClassName('modal-mask').length !== 0\n}\n\ntype KeyboardEventHandler = (event: KeyboardEvent) => void\n\n/**\n * Implementation of the event handler.\n *\n * @param callback The callback to run\n * @param options hot key options\n */\nfunction eventHandler(callback: KeyboardEventHandler, options: UseHotKeyOptions): KeyboardEventHandler {\n\treturn (event: KeyboardEvent) => {\n\t\tconst ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey\n\t\tif (ctrlKeyPressed !== Boolean(options.ctrl)) {\n\t\t\t/**\n\t\t\t * Ctrl is required and not pressed, or the opposite\n\t\t\t * As on macOS 'cmd' key is used instead of 'ctrl' key for most key combinations,\n\t\t\t * 'event.metaKey' should be checked\n\t\t\t */\n\t\t\treturn\n\t\t} else if (event.altKey !== Boolean(options.alt)) {\n\t\t\t// Alt is required and not pressed, or the opposite\n\t\t\treturn\n\t\t} else if (options.shift !== undefined && event.shiftKey !== Boolean(options.shift)) {\n\t\t\t/**\n\t\t\t * Shift is required and not pressed, or the opposite\n\t\t\t * As shift key is used to type capital letters and alternate characters,\n\t\t\t * option should be explicitly defined\n\t\t\t */\n\t\t\treturn\n\t\t} else if (shouldIgnoreEvent(event)) {\n\t\t\t// Keyboard shortcuts are disabled, because active element assumes input\n\t\t\treturn\n\t\t}\n\n\t\tif (options.prevent) {\n\t\t\tevent.preventDefault()\n\t\t}\n\t\tif (options.stop) {\n\t\t\tevent.stopPropagation()\n\t\t}\n\t\tcallback(event)\n\t}\n}\n\n/**\n * Composable to use keyboard shortcuts in the application.\n * It respects the users accessibility configuration (opt-out shortcuts).\n *\n * @param keysOrFilter - keyboard key(s) to listen to, or filter function or pass `true` for listening to all keys\n * @param callback - callback function\n * @param options - composable options\n * @see docs/composables/usekeystroke.md\n */\nexport function useHotKey(\n\tkeysOrFilter: true | string | string[] | ((e: KeyboardEvent) => boolean),\n\tcallback = () => {},\n\toptions: UseHotKeyOptions = {},\n) {\n\tif (disableKeyboardShortcuts) {\n\t\t// Keyboard shortcuts are disabled\n\t\treturn () => {}\n\t}\n\n\t/**\n\t * Validates event key to expected key\n\t *\n\t * @param event keyboard event\n\t * @param key expected key\n\t * @return whether it satisfies expected value or not\n\t */\n\tconst validateKeyEvent = (event: KeyboardEvent, key: string): boolean => {\n\t\t// If key exactly matches event.key, valid with any caseSensitive option. Do not perform further checks\n\t\tif (event.key === key) {\n\t\t\treturn true\n\t\t}\n\n\t\t// If key and event.key are in different cases, invalid with caseSensitive = true. Do not perform further checks\n\t\tif (options.caseSensitive) {\n\t\t\tconst isKeyInLowerCase = key === key.toLowerCase()\n\t\t\tconst isEventKeyInLowerCase = event.key === event.key.toLowerCase()\n\t\t\tif (isKeyInLowerCase !== isEventKeyInLowerCase) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// If received event.key is not a printable ASCII character code (character code 32-127),\n\t\t// try to derive it from event.code and match with expected key\n\t\tif (derivedKeysRegex.test(key) && nonAsciiPrintableRegex.test(event.key)) {\n\t\t\treturn event.code.replace(/^(?:Key|Digit|Numpad)/, '') === key.toUpperCase()\n\t\t}\n\n\t\treturn event.key.toLowerCase() === key.toLowerCase()\n\t}\n\n\t/**\n\t * Filter function for the listener\n\t * see https://github.com/vueuse/vueuse/blob/v11.3.0/packages/core/onKeyStroke/index.ts#L21-L32\n\t *\n\t * @param event keyboard event\n\t * @return Whether it satisfies expected value or not\n\t */\n\tconst keyFilter = (event: KeyboardEvent): boolean => {\n\t\tif (typeof keysOrFilter === 'function') {\n\t\t\treturn keysOrFilter(event)\n\t\t} else if (typeof keysOrFilter === 'string') {\n\t\t\treturn validateKeyEvent(event, keysOrFilter)\n\t\t} else if (Array.isArray(keysOrFilter)) {\n\t\t\treturn keysOrFilter.some(key => validateKeyEvent(event, key))\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n\n\tconst stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\teventName: 'keydown',\n\t\tdedupe: true,\n\t\tpassive: !options.prevent,\n\t})\n\n\tconst stopKeyUp = options.push\n\t\t? onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\t\teventName: 'keyup',\n\t\t\tpassive: !options.prevent,\n\t\t})\n\t\t: () => {}\n\n\treturn () => {\n\t\tstopKeyDown()\n\t\tstopKeyUp()\n\t}\n}\n"],"names":[],"mappings":";AAMA,MAAM,2BAA2B,OAAO,KAAK,eAAe,2BAA2B;AACvF,MAAM,QAAQ,0BAA0B,KAAK,UAAU,SAAS;AAChE,MAAM,mBAAmB;AACzB,MAAM,yBAAyB;AA2C/B,SAAS,kBAAkB,OAA+B;AACzD,MAAI,EAAE,MAAM,kBAAkB,gBAC1B,MAAM,kBAAkB,oBACxB,MAAM,kBAAkB,uBACxB,MAAM,kBAAkB,qBACxB,MAAM,OAAO,mBAAmB;AAC5B,WAAA;AAAA,EAAA;AAGR,SAAO,SAAS,uBAAuB,YAAY,EAAE,WAAW;AACjE;AAUA,SAAS,aAAa,UAAgC,SAAiD;AACtG,SAAO,CAAC,UAAyB;AAChC,UAAM,iBAAiB,QAAQ,MAAM,UAAU,MAAM;AACrD,QAAI,mBAAmB,QAAQ,QAAQ,IAAI,GAAG;AAM7C;AAAA,IAAA,WACU,MAAM,WAAW,QAAQ,QAAQ,GAAG,GAAG;AAEjD;AAAA,IAAA,WACU,QAAQ,UAAU,UAAa,MAAM,aAAa,QAAQ,QAAQ,KAAK,GAAG;AAMpF;AAAA,IAAA,WACU,kBAAkB,KAAK,GAAG;AAEpC;AAAA,IAAA;AAGD,QAAI,QAAQ,SAAS;AACpB,YAAM,eAAe;AAAA,IAAA;AAEtB,QAAI,QAAQ,MAAM;AACjB,YAAM,gBAAgB;AAAA,IAAA;AAEvB,aAAS,KAAK;AAAA,EACf;AACD;AAWgB,SAAA,UACf,cACA,WAAW,MAAM;AAAC,GAClB,UAA4B,CAAA,GAC3B;AACD,MAAI,0BAA0B;AAE7B,WAAO,MAAM;AAAA,IAAC;AAAA,EAAA;AAUT,QAAA,mBAAmB,CAAC,OAAsB,QAAyB;AAEpE,QAAA,MAAM,QAAQ,KAAK;AACf,aAAA;AAAA,IAAA;AAIR,QAAI,QAAQ,eAAe;AACpB,YAAA,mBAAmB,QAAQ,IAAI,YAAY;AACjD,YAAM,wBAAwB,MAAM,QAAQ,MAAM,IAAI,YAAY;AAClE,UAAI,qBAAqB,uBAAuB;AACxC,eAAA;AAAA,MAAA;AAAA,IACR;AAKG,QAAA,iBAAiB,KAAK,GAAG,KAAK,uBAAuB,KAAK,MAAM,GAAG,GAAG;AACzE,aAAO,MAAM,KAAK,QAAQ,yBAAyB,EAAE,MAAM,IAAI,YAAY;AAAA,IAAA;AAG5E,WAAO,MAAM,IAAI,YAAY,MAAM,IAAI,YAAY;AAAA,EACpD;AASM,QAAA,YAAY,CAAC,UAAkC;AAChD,QAAA,OAAO,iBAAiB,YAAY;AACvC,aAAO,aAAa,KAAK;AAAA,IAAA,WACf,OAAO,iBAAiB,UAAU;AACrC,aAAA,iBAAiB,OAAO,YAAY;AAAA,IACjC,WAAA,MAAM,QAAQ,YAAY,GAAG;AACvC,aAAO,aAAa,KAAK,CAAA,QAAO,iBAAiB,OAAO,GAAG,CAAC;AAAA,IAAA,OACtD;AACC,aAAA;AAAA,IAAA;AAAA,EAET;AAEA,QAAM,cAAc,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IAC3E,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS,CAAC,QAAQ;AAAA,EAAA,CAClB;AAEK,QAAA,YAAY,QAAQ,OACvB,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IACzD,WAAW;AAAA,IACX,SAAS,CAAC,QAAQ;AAAA,EAClB,CAAA,IACC,MAAM;AAAA,EAAC;AAEV,SAAO,MAAM;AACA,gBAAA;AACF,cAAA;AAAA,EACX;AACD;"}
1
+ {"version":3,"file":"useHotKey.mjs","sources":["../../src/composables/useHotKey/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { onKeyStroke } from '@vueuse/core'\nimport { isMac } from '../../utils/platform.ts'\n\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.()\nconst derivedKeysRegex = /^[a-zA-Z0-9]$/\nconst nonAsciiPrintableRegex = /^[^\\x20-\\x7F]$/\n\nexport interface UseHotKeyOptions {\n\t/** Make key filter case sensitive */\n\tcaseSensitive?: boolean\n\n\t/** Prevent default behavior of key stroke */\n\tprevent?: boolean\n\n\t/** Stop the event bubbling */\n\tstop?: boolean\n\n\t/** Also listen for keyup event */\n\tpush?: boolean\n\n\t/**\n\t * If set then the callback is only called when the shift key is (not) pressed.\n\t * When left `undefined` a pressed shift key is ignored (callback is run with and without shift pressed).\n\t */\n\tshift?: boolean\n\n\t/**\n\t * Only run the callback if the control key is (not-)pressed.\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'ctrl' key is NOT pressed.\n\t */\n\tctrl?: boolean\n\n\t/**\n\t * If set the callback is only executed if the alt key is (not-)pressed\n\t * Undefined will be handled the same as `false` and will only run the callback if the 'alt' key is NOT pressed.\n\t */\n\talt?: boolean\n}\n\n/**\n * Check if event target (active element) is editable (allows input from keyboard) or NcModal is open\n * If true, a hot key should not trigger the callback\n *\n * @todo Discuss if we should abort on another interactive elements (button, a, e.t.c)\n *\n * @param event keyboard event\n * @return Whether it should prevent callback\n */\nfunction shouldIgnoreEvent(event: KeyboardEvent): boolean {\n\tif (!(event.target instanceof HTMLElement)\n\t\t|| event.target instanceof HTMLInputElement\n\t\t|| event.target instanceof HTMLTextAreaElement\n\t\t|| event.target instanceof HTMLSelectElement\n\t\t|| event.target.isContentEditable) {\n\t\treturn true\n\t}\n\t/** Abort if any modal/dialog opened */\n\treturn document.getElementsByClassName('modal-mask').length !== 0\n}\n\ntype KeyboardEventHandler = (event: KeyboardEvent) => void\n\n/**\n * Implementation of the event handler.\n *\n * @param callback The callback to run\n * @param options hot key options\n */\nfunction eventHandler(callback: KeyboardEventHandler, options: UseHotKeyOptions): KeyboardEventHandler {\n\treturn (event: KeyboardEvent) => {\n\t\tconst ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey\n\t\tif (ctrlKeyPressed !== Boolean(options.ctrl)) {\n\t\t\t/**\n\t\t\t * Ctrl is required and not pressed, or the opposite\n\t\t\t * As on macOS 'cmd' key is used instead of 'ctrl' key for most key combinations,\n\t\t\t * 'event.metaKey' should be checked\n\t\t\t */\n\t\t\treturn\n\t\t} else if (event.altKey !== Boolean(options.alt)) {\n\t\t\t// Alt is required and not pressed, or the opposite\n\t\t\treturn\n\t\t} else if (options.shift !== undefined && event.shiftKey !== Boolean(options.shift)) {\n\t\t\t/**\n\t\t\t * Shift is required and not pressed, or the opposite\n\t\t\t * As shift key is used to type capital letters and alternate characters,\n\t\t\t * option should be explicitly defined\n\t\t\t */\n\t\t\treturn\n\t\t} else if (shouldIgnoreEvent(event)) {\n\t\t\t// Keyboard shortcuts are disabled, because active element assumes input\n\t\t\treturn\n\t\t}\n\n\t\tif (options.prevent) {\n\t\t\tevent.preventDefault()\n\t\t}\n\t\tif (options.stop) {\n\t\t\tevent.stopPropagation()\n\t\t}\n\t\tcallback(event)\n\t}\n}\n\n/**\n * Composable to use keyboard shortcuts in the application.\n * It respects the users accessibility configuration (opt-out shortcuts).\n *\n * @param keysOrFilter - keyboard key(s) to listen to, or filter function or pass `true` for listening to all keys\n * @param callback - callback function\n * @param options - composable options\n * @see docs/composables/useHotKey.md\n */\nexport function useHotKey(\n\tkeysOrFilter: true | string | string[] | ((e: KeyboardEvent) => boolean),\n\tcallback: KeyboardEventHandler = () => {},\n\toptions: UseHotKeyOptions = {},\n) {\n\tif (disableKeyboardShortcuts) {\n\t\t// Keyboard shortcuts are disabled\n\t\treturn () => {}\n\t}\n\n\t/**\n\t * Validates event key to expected key\n\t *\n\t * @param event keyboard event\n\t * @param key expected key\n\t * @return whether it satisfies expected value or not\n\t */\n\tconst validateKeyEvent = (event: KeyboardEvent, key: string): boolean => {\n\t\t// If key exactly matches event.key, valid with any caseSensitive option. Do not perform further checks\n\t\tif (event.key === key) {\n\t\t\treturn true\n\t\t}\n\n\t\t// If key and event.key are in different cases, invalid with caseSensitive = true. Do not perform further checks\n\t\tif (options.caseSensitive) {\n\t\t\tconst isKeyInLowerCase = key === key.toLowerCase()\n\t\t\tconst isEventKeyInLowerCase = event.key === event.key.toLowerCase()\n\t\t\tif (isKeyInLowerCase !== isEventKeyInLowerCase) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t// If received event.key is not a printable ASCII character code (character code 32-127),\n\t\t// try to derive it from event.code and match with expected key\n\t\tif (derivedKeysRegex.test(key) && nonAsciiPrintableRegex.test(event.key)) {\n\t\t\treturn event.code.replace(/^(?:Key|Digit|Numpad)/, '') === key.toUpperCase()\n\t\t}\n\n\t\treturn event.key.toLowerCase() === key.toLowerCase()\n\t}\n\n\t/**\n\t * Filter function for the listener\n\t * see https://github.com/vueuse/vueuse/blob/v11.3.0/packages/core/onKeyStroke/index.ts#L21-L32\n\t *\n\t * @param event keyboard event\n\t * @return Whether it satisfies expected value or not\n\t */\n\tconst keyFilter = (event: KeyboardEvent): boolean => {\n\t\tif (typeof keysOrFilter === 'function') {\n\t\t\treturn keysOrFilter(event)\n\t\t} else if (typeof keysOrFilter === 'string') {\n\t\t\treturn validateKeyEvent(event, keysOrFilter)\n\t\t} else if (Array.isArray(keysOrFilter)) {\n\t\t\treturn keysOrFilter.some((key) => validateKeyEvent(event, key))\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n\n\tconst stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\teventName: 'keydown',\n\t\tdedupe: true,\n\t\tpassive: !options.prevent,\n\t})\n\n\tconst stopKeyUp = options.push\n\t\t? onKeyStroke(keyFilter, eventHandler(callback, options), {\n\t\t\t\teventName: 'keyup',\n\t\t\t\tpassive: !options.prevent,\n\t\t\t})\n\t\t: () => {}\n\n\treturn () => {\n\t\tstopKeyDown()\n\t\tstopKeyUp()\n\t}\n}\n"],"names":[],"mappings":";;AAAA,IAAA,IAAA,IAAA;AAOA,MAAM,4BAA2B,MAAA,MAAA,KAAA,OAAO,QAAP,OAAA,SAAA,GAAY,kBAAZ,mBAA2B,6BAA3B,OAAA,SAAA,GAAA,KAAA,EAAA;AACjC,MAAM,mBAAmB;AACzB,MAAM,yBAAyB;AA2C/B,SAAS,kBAAkB,OAA+B;AACzD,MAAI,EAAE,MAAM,kBAAkB,gBAC1B,MAAM,kBAAkB,oBACxB,MAAM,kBAAkB,uBACxB,MAAM,kBAAkB,qBACxB,MAAM,OAAO,mBAAmB;AACnC,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,uBAAuB,YAAY,EAAE,WAAW;AACjE;AAUA,SAAS,aAAa,UAAgC,SAAiD;AACtG,SAAO,CAAC,UAAyB;AAChC,UAAM,iBAAiB,QAAQ,MAAM,UAAU,MAAM;AACrD,QAAI,mBAAmB,QAAQ,QAAQ,IAAI,GAAG;AAM7C;AAAA,IACD,WAAW,MAAM,WAAW,QAAQ,QAAQ,GAAG,GAAG;AAEjD;AAAA,IACD,WAAW,QAAQ,UAAU,UAAa,MAAM,aAAa,QAAQ,QAAQ,KAAK,GAAG;AAMpF;AAAA,IACD,WAAW,kBAAkB,KAAK,GAAG;AAEpC;AAAA,IACD;AAEA,QAAI,QAAQ,SAAS;AACpB,YAAM,eAAA;AAAA,IACP;AACA,QAAI,QAAQ,MAAM;AACjB,YAAM,gBAAA;AAAA,IACP;AACA,aAAS,KAAK;AAAA,EACf;AACD;AAWO,SAAS,UACf,cACA,WAAiC,MAAM;AAAC,GACxC,UAA4B,CAAA,GAC3B;AACD,MAAI,0BAA0B;AAE7B,WAAO,MAAM;AAAA,IAAC;AAAA,EACf;AASA,QAAM,mBAAmB,CAAC,OAAsB,QAAyB;AAExE,QAAI,MAAM,QAAQ,KAAK;AACtB,aAAO;AAAA,IACR;AAGA,QAAI,QAAQ,eAAe;AAC1B,YAAM,mBAAmB,QAAQ,IAAI,YAAA;AACrC,YAAM,wBAAwB,MAAM,QAAQ,MAAM,IAAI,YAAA;AACtD,UAAI,qBAAqB,uBAAuB;AAC/C,eAAO;AAAA,MACR;AAAA,IACD;AAIA,QAAI,iBAAiB,KAAK,GAAG,KAAK,uBAAuB,KAAK,MAAM,GAAG,GAAG;AACzE,aAAO,MAAM,KAAK,QAAQ,yBAAyB,EAAE,MAAM,IAAI,YAAA;AAAA,IAChE;AAEA,WAAO,MAAM,IAAI,YAAA,MAAkB,IAAI,YAAA;AAAA,EACxC;AASA,QAAM,YAAY,CAAC,UAAkC;AACpD,QAAI,OAAO,iBAAiB,YAAY;AACvC,aAAO,aAAa,KAAK;AAAA,IAC1B,WAAW,OAAO,iBAAiB,UAAU;AAC5C,aAAO,iBAAiB,OAAO,YAAY;AAAA,IAC5C,WAAW,MAAM,QAAQ,YAAY,GAAG;AACvC,aAAO,aAAa,KAAK,CAAC,QAAQ,iBAAiB,OAAO,GAAG,CAAC;AAAA,IAC/D,OAAO;AACN,aAAO;AAAA,IACR;AAAA,EACD;AAEA,QAAM,cAAc,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IAC3E,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS,CAAC,QAAQ;AAAA,EAAA,CAClB;AAED,QAAM,YAAY,QAAQ,OACvB,YAAY,WAAW,aAAa,UAAU,OAAO,GAAG;AAAA,IACxD,WAAW;AAAA,IACX,SAAS,CAAC,QAAQ;AAAA,EAAA,CAClB,IACA,MAAM;AAAA,EAAC;AAEV,SAAO,MAAM;AACZ,gBAAA;AACA,cAAA;AAAA,EACD;AACD;"}
@@ -9,7 +9,10 @@ const constants = require("../chunks/constants-C_lA-vcp.cjs");
9
9
  * SPDX-License-Identifier: AGPL-3.0-or-later
10
10
  */
11
11
  function useIsDarkThemeElement(el) {
12
- const element = Vue.computed(() => core.toValue(el) ?? document.body);
12
+ const element = Vue.computed(() => {
13
+ var _a;
14
+ return (_a = core.toValue(el)) != null ? _a : document.body;
15
+ });
13
16
  const isDarkTheme = Vue.ref(Functions_isDarkTheme.checkIfDarkTheme(element.value));
14
17
  const isDarkSystemTheme = core.usePreferredDark();
15
18
  function updateIsDarkTheme() {
@@ -25,7 +28,7 @@ function useIsDarkTheme() {
25
28
  const isDarkTheme = useInternalIsDarkTheme();
26
29
  const enforcedTheme = Vue.inject(constants.INJECTION_KEY_THEME, void 0);
27
30
  return Vue.computed(() => {
28
- if (enforcedTheme?.value) {
31
+ if (enforcedTheme == null ? void 0 : enforcedTheme.value) {
29
32
  return enforcedTheme.value === "dark";
30
33
  }
31
34
  return isDarkTheme.value;
@@ -1 +1 @@
1
- {"version":3,"file":"useIsDarkTheme.cjs","sources":["../../src/composables/useIsDarkTheme/index.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { DeepReadonly, Ref } from 'vue'\n\nimport { createSharedComposable, toValue, usePreferredDark, useMutationObserver } from '@vueuse/core'\nimport { computed, inject, ref, readonly, watch } from 'vue'\nimport { checkIfDarkTheme } from '../../functions/isDarkTheme/index.ts'\nimport { INJECTION_KEY_THEME } from './constants.ts'\n\n/**\n * Check whether the dark theme is enabled on a specific element.\n * If you need to check an entire page, use `useIsDarkTheme` instead for better performance.\n * Reacts on element attributes change and system theme change.\n * @param el - The element to check for the dark theme enabled on (default is `document.body`)\n * @return {DeepReadonly<Ref<boolean>>} - computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkThemeElement(el?: MaybeRefOrGetter<HTMLElement>): DeepReadonly<Ref<boolean>> {\n\tconst element = computed(() => toValue(el) ?? document.body)\n\n\tconst isDarkTheme = ref(checkIfDarkTheme(element.value))\n\tconst isDarkSystemTheme = usePreferredDark()\n\n\t/** Update the isDarkTheme */\n\tfunction updateIsDarkTheme() {\n\t\tisDarkTheme.value = checkIfDarkTheme(element.value)\n\t}\n\n\t// Watch for element change to handle data-theme* attributes change\n\tuseMutationObserver(element, updateIsDarkTheme, { attributes: true })\n\t// Watch for ref changes\n\twatch(element, updateIsDarkTheme)\n\t// Watch for system theme change for the default theme\n\twatch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true })\n\n\treturn readonly(isDarkTheme)\n}\n\n/**\n * The real shared composable of the dark theme state.\n * We need to wrap this to allow to react to injected theme changes.\n */\nconst useInternalIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement())\n\n/**\n * Shared composable to check whether the dark theme is enabled on the page.\n *\n * Reacts on body data-theme-* attributes change and system theme change.\n * As well as any enforced theme by the `NcThemeProvider`.\n *\n * @return Computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkTheme(): DeepReadonly<Ref<boolean>> {\n\tconst isDarkTheme = useInternalIsDarkTheme()\n\tconst enforcedTheme = inject(INJECTION_KEY_THEME, undefined)\n\n\treturn computed(() => {\n\t\tif (enforcedTheme?.value) {\n\t\t\treturn enforcedTheme.value === 'dark'\n\t\t}\n\t\treturn isDarkTheme.value\n\t})\n}\n"],"names":["computed","toValue","ref","checkIfDarkTheme","usePreferredDark","useMutationObserver","watch","readonly","createSharedComposable","inject","INJECTION_KEY_THEME"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAoBO,SAAS,sBAAsB,IAAgE;AACrG,QAAM,UAAUA,IAAAA,SAAS,MAAMC,KAAAA,QAAQ,EAAE,KAAK,SAAS,IAAI;AAE3D,QAAM,cAAcC,IAAA,IAAIC,sBAAiB,iBAAA,QAAQ,KAAK,CAAC;AACvD,QAAM,oBAAoBC,KAAAA,iBAAiB;AAG3C,WAAS,oBAAoB;AAChB,gBAAA,QAAQD,uCAAiB,QAAQ,KAAK;AAAA,EAAA;AAInDE,OAAAA,oBAAoB,SAAS,mBAAmB,EAAE,YAAY,MAAM;AAEpEC,MAAA,MAAM,SAAS,iBAAiB;AAEhCA,MAAAA,MAAM,mBAAmB,mBAAmB,EAAE,WAAW,MAAM;AAE/D,SAAOC,IAAAA,SAAS,WAAW;AAC5B;AAMA,MAAM,yBAAyBC,KAAAA,uBAAuB,MAAM,uBAAuB;AAU5E,SAAS,iBAA6C;AAC5D,QAAM,cAAc,uBAAuB;AACrC,QAAA,gBAAgBC,IAAAA,OAAOC,UAAA,qBAAqB,MAAS;AAE3D,SAAOV,aAAS,MAAM;AACrB,QAAI,eAAe,OAAO;AACzB,aAAO,cAAc,UAAU;AAAA,IAAA;AAEhC,WAAO,YAAY;AAAA,EAAA,CACnB;AACF;;;"}
1
+ {"version":3,"file":"useIsDarkTheme.cjs","sources":["../../src/composables/useIsDarkTheme/index.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { DeepReadonly, Ref } from 'vue'\n\nimport { createSharedComposable, toValue, useMutationObserver, usePreferredDark } from '@vueuse/core'\nimport { computed, inject, readonly, ref, watch } from 'vue'\nimport { checkIfDarkTheme } from '../../functions/isDarkTheme/index.ts'\nimport { INJECTION_KEY_THEME } from './constants.ts'\n\n/**\n * Check whether the dark theme is enabled on a specific element.\n * If you need to check an entire page, use `useIsDarkTheme` instead for better performance.\n * Reacts on element attributes change and system theme change.\n *\n * @param el - The element to check for the dark theme enabled on (default is `document.body`)\n * @return - computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkThemeElement(el?: MaybeRefOrGetter<HTMLElement>): DeepReadonly<Ref<boolean>> {\n\tconst element = computed(() => toValue(el) ?? document.body)\n\n\tconst isDarkTheme = ref(checkIfDarkTheme(element.value))\n\tconst isDarkSystemTheme = usePreferredDark()\n\n\t/** Update the isDarkTheme */\n\tfunction updateIsDarkTheme() {\n\t\tisDarkTheme.value = checkIfDarkTheme(element.value)\n\t}\n\n\t// Watch for element change to handle data-theme* attributes change\n\tuseMutationObserver(element, updateIsDarkTheme, { attributes: true })\n\t// Watch for ref changes\n\twatch(element, updateIsDarkTheme)\n\t// Watch for system theme change for the default theme\n\twatch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true })\n\n\treturn readonly(isDarkTheme)\n}\n\n/**\n * The real shared composable of the dark theme state.\n * We need to wrap this to allow to react to injected theme changes.\n */\nconst useInternalIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement())\n\n/**\n * Shared composable to check whether the dark theme is enabled on the page.\n *\n * Reacts on body data-theme-* attributes change and system theme change.\n * As well as any enforced theme by the `NcThemeProvider`.\n *\n * @return Computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkTheme(): DeepReadonly<Ref<boolean>> {\n\tconst isDarkTheme = useInternalIsDarkTheme()\n\tconst enforcedTheme = inject(INJECTION_KEY_THEME, undefined)\n\n\treturn computed(() => {\n\t\tif (enforcedTheme?.value) {\n\t\t\treturn enforcedTheme.value === 'dark'\n\t\t}\n\t\treturn isDarkTheme.value\n\t})\n}\n"],"names":["computed","toValue","ref","checkIfDarkTheme","usePreferredDark","useMutationObserver","watch","readonly","createSharedComposable","inject","INJECTION_KEY_THEME"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAqBO,SAAS,sBAAsB,IAAgE;AACrG,QAAM,UAAUA,IAAAA,SAAS,MAAG;AAtB7B,QAAA;AAsBgC,YAAA,KAAAC,aAAQ,EAAE,MAAV,OAAA,KAAe,SAAS;AAAA,EAAA,CAAI;AAE3D,QAAM,cAAcC,IAAAA,IAAIC,sBAAAA,iBAAiB,QAAQ,KAAK,CAAC;AACvD,QAAM,oBAAoBC,KAAAA,iBAAA;AAG1B,WAAS,oBAAoB;AAC5B,gBAAY,QAAQD,uCAAiB,QAAQ,KAAK;AAAA,EACnD;AAGAE,OAAAA,oBAAoB,SAAS,mBAAmB,EAAE,YAAY,MAAM;AAEpEC,MAAAA,MAAM,SAAS,iBAAiB;AAEhCA,MAAAA,MAAM,mBAAmB,mBAAmB,EAAE,WAAW,MAAM;AAE/D,SAAOC,IAAAA,SAAS,WAAW;AAC5B;AAMA,MAAM,yBAAyBC,KAAAA,uBAAuB,MAAM,uBAAuB;AAU5E,SAAS,iBAA6C;AAC5D,QAAM,cAAc,uBAAA;AACpB,QAAM,gBAAgBC,IAAAA,OAAOC,UAAAA,qBAAqB,MAAS;AAE3D,SAAOV,IAAAA,SAAS,MAAM;AACrB,QAAI,+CAAe,OAAO;AACzB,aAAO,cAAc,UAAU;AAAA,IAChC;AACA,WAAO,YAAY;AAAA,EACpB,CAAC;AACF;;;"}
@@ -7,7 +7,10 @@ import { I as INJECTION_KEY_THEME } from "../chunks/constants-Bls5liKo.mjs";
7
7
  * SPDX-License-Identifier: AGPL-3.0-or-later
8
8
  */
9
9
  function useIsDarkThemeElement(el) {
10
- const element = computed(() => toValue(el) ?? document.body);
10
+ const element = computed(() => {
11
+ var _a;
12
+ return (_a = toValue(el)) != null ? _a : document.body;
13
+ });
11
14
  const isDarkTheme = ref(checkIfDarkTheme(element.value));
12
15
  const isDarkSystemTheme = usePreferredDark();
13
16
  function updateIsDarkTheme() {
@@ -23,7 +26,7 @@ function useIsDarkTheme() {
23
26
  const isDarkTheme = useInternalIsDarkTheme();
24
27
  const enforcedTheme = inject(INJECTION_KEY_THEME, void 0);
25
28
  return computed(() => {
26
- if (enforcedTheme?.value) {
29
+ if (enforcedTheme == null ? void 0 : enforcedTheme.value) {
27
30
  return enforcedTheme.value === "dark";
28
31
  }
29
32
  return isDarkTheme.value;
@@ -1 +1 @@
1
- {"version":3,"file":"useIsDarkTheme.mjs","sources":["../../src/composables/useIsDarkTheme/index.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { DeepReadonly, Ref } from 'vue'\n\nimport { createSharedComposable, toValue, usePreferredDark, useMutationObserver } from '@vueuse/core'\nimport { computed, inject, ref, readonly, watch } from 'vue'\nimport { checkIfDarkTheme } from '../../functions/isDarkTheme/index.ts'\nimport { INJECTION_KEY_THEME } from './constants.ts'\n\n/**\n * Check whether the dark theme is enabled on a specific element.\n * If you need to check an entire page, use `useIsDarkTheme` instead for better performance.\n * Reacts on element attributes change and system theme change.\n * @param el - The element to check for the dark theme enabled on (default is `document.body`)\n * @return {DeepReadonly<Ref<boolean>>} - computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkThemeElement(el?: MaybeRefOrGetter<HTMLElement>): DeepReadonly<Ref<boolean>> {\n\tconst element = computed(() => toValue(el) ?? document.body)\n\n\tconst isDarkTheme = ref(checkIfDarkTheme(element.value))\n\tconst isDarkSystemTheme = usePreferredDark()\n\n\t/** Update the isDarkTheme */\n\tfunction updateIsDarkTheme() {\n\t\tisDarkTheme.value = checkIfDarkTheme(element.value)\n\t}\n\n\t// Watch for element change to handle data-theme* attributes change\n\tuseMutationObserver(element, updateIsDarkTheme, { attributes: true })\n\t// Watch for ref changes\n\twatch(element, updateIsDarkTheme)\n\t// Watch for system theme change for the default theme\n\twatch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true })\n\n\treturn readonly(isDarkTheme)\n}\n\n/**\n * The real shared composable of the dark theme state.\n * We need to wrap this to allow to react to injected theme changes.\n */\nconst useInternalIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement())\n\n/**\n * Shared composable to check whether the dark theme is enabled on the page.\n *\n * Reacts on body data-theme-* attributes change and system theme change.\n * As well as any enforced theme by the `NcThemeProvider`.\n *\n * @return Computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkTheme(): DeepReadonly<Ref<boolean>> {\n\tconst isDarkTheme = useInternalIsDarkTheme()\n\tconst enforcedTheme = inject(INJECTION_KEY_THEME, undefined)\n\n\treturn computed(() => {\n\t\tif (enforcedTheme?.value) {\n\t\t\treturn enforcedTheme.value === 'dark'\n\t\t}\n\t\treturn isDarkTheme.value\n\t})\n}\n"],"names":[],"mappings":";;;;AAAA;AAAA;AAAA;AAAA;AAoBO,SAAS,sBAAsB,IAAgE;AACrG,QAAM,UAAU,SAAS,MAAM,QAAQ,EAAE,KAAK,SAAS,IAAI;AAE3D,QAAM,cAAc,IAAI,iBAAiB,QAAQ,KAAK,CAAC;AACvD,QAAM,oBAAoB,iBAAiB;AAG3C,WAAS,oBAAoB;AAChB,gBAAA,QAAQ,iBAAiB,QAAQ,KAAK;AAAA,EAAA;AAInD,sBAAoB,SAAS,mBAAmB,EAAE,YAAY,MAAM;AAEpE,QAAM,SAAS,iBAAiB;AAEhC,QAAM,mBAAmB,mBAAmB,EAAE,WAAW,MAAM;AAE/D,SAAO,SAAS,WAAW;AAC5B;AAMA,MAAM,yBAAyB,uBAAuB,MAAM,uBAAuB;AAU5E,SAAS,iBAA6C;AAC5D,QAAM,cAAc,uBAAuB;AACrC,QAAA,gBAAgB,OAAO,qBAAqB,MAAS;AAE3D,SAAO,SAAS,MAAM;AACrB,QAAI,eAAe,OAAO;AACzB,aAAO,cAAc,UAAU;AAAA,IAAA;AAEhC,WAAO,YAAY;AAAA,EAAA,CACnB;AACF;"}
1
+ {"version":3,"file":"useIsDarkTheme.mjs","sources":["../../src/composables/useIsDarkTheme/index.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\nimport type { DeepReadonly, Ref } from 'vue'\n\nimport { createSharedComposable, toValue, useMutationObserver, usePreferredDark } from '@vueuse/core'\nimport { computed, inject, readonly, ref, watch } from 'vue'\nimport { checkIfDarkTheme } from '../../functions/isDarkTheme/index.ts'\nimport { INJECTION_KEY_THEME } from './constants.ts'\n\n/**\n * Check whether the dark theme is enabled on a specific element.\n * If you need to check an entire page, use `useIsDarkTheme` instead for better performance.\n * Reacts on element attributes change and system theme change.\n *\n * @param el - The element to check for the dark theme enabled on (default is `document.body`)\n * @return - computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkThemeElement(el?: MaybeRefOrGetter<HTMLElement>): DeepReadonly<Ref<boolean>> {\n\tconst element = computed(() => toValue(el) ?? document.body)\n\n\tconst isDarkTheme = ref(checkIfDarkTheme(element.value))\n\tconst isDarkSystemTheme = usePreferredDark()\n\n\t/** Update the isDarkTheme */\n\tfunction updateIsDarkTheme() {\n\t\tisDarkTheme.value = checkIfDarkTheme(element.value)\n\t}\n\n\t// Watch for element change to handle data-theme* attributes change\n\tuseMutationObserver(element, updateIsDarkTheme, { attributes: true })\n\t// Watch for ref changes\n\twatch(element, updateIsDarkTheme)\n\t// Watch for system theme change for the default theme\n\twatch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true })\n\n\treturn readonly(isDarkTheme)\n}\n\n/**\n * The real shared composable of the dark theme state.\n * We need to wrap this to allow to react to injected theme changes.\n */\nconst useInternalIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement())\n\n/**\n * Shared composable to check whether the dark theme is enabled on the page.\n *\n * Reacts on body data-theme-* attributes change and system theme change.\n * As well as any enforced theme by the `NcThemeProvider`.\n *\n * @return Computed boolean whether the dark theme is enabled\n */\nexport function useIsDarkTheme(): DeepReadonly<Ref<boolean>> {\n\tconst isDarkTheme = useInternalIsDarkTheme()\n\tconst enforcedTheme = inject(INJECTION_KEY_THEME, undefined)\n\n\treturn computed(() => {\n\t\tif (enforcedTheme?.value) {\n\t\t\treturn enforcedTheme.value === 'dark'\n\t\t}\n\t\treturn isDarkTheme.value\n\t})\n}\n"],"names":[],"mappings":";;;;AAAA;AAAA;AAAA;AAAA;AAqBO,SAAS,sBAAsB,IAAgE;AACrG,QAAM,UAAU,SAAS,MAAG;AAtB7B,QAAA;AAsBgC,YAAA,KAAA,QAAQ,EAAE,MAAV,OAAA,KAAe,SAAS;AAAA,EAAA,CAAI;AAE3D,QAAM,cAAc,IAAI,iBAAiB,QAAQ,KAAK,CAAC;AACvD,QAAM,oBAAoB,iBAAA;AAG1B,WAAS,oBAAoB;AAC5B,gBAAY,QAAQ,iBAAiB,QAAQ,KAAK;AAAA,EACnD;AAGA,sBAAoB,SAAS,mBAAmB,EAAE,YAAY,MAAM;AAEpE,QAAM,SAAS,iBAAiB;AAEhC,QAAM,mBAAmB,mBAAmB,EAAE,WAAW,MAAM;AAE/D,SAAO,SAAS,WAAW;AAC5B;AAMA,MAAM,yBAAyB,uBAAuB,MAAM,uBAAuB;AAU5E,SAAS,iBAA6C;AAC5D,QAAM,cAAc,uBAAA;AACpB,QAAM,gBAAgB,OAAO,qBAAqB,MAAS;AAE3D,SAAO,SAAS,MAAM;AACrB,QAAI,+CAAe,OAAO;AACzB,aAAO,cAAc,UAAU;AAAA,IAChC;AACA,WAAO,YAAY;AAAA,EACpB,CAAC;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFullscreen.cjs","sources":["../../src/composables/useIsFullscreen/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { DeepReadonly, Ref } from 'vue'\nimport { readonly, ref } from 'vue'\n\nconst isFullscreen = ref(checkIfIsFullscreen())\n\nwindow.addEventListener('resize', () => {\n\tisFullscreen.value = checkIfIsFullscreen()\n})\n\n/**\n * If the window height is equal to the screen height,\n * we are in full screen mode.\n */\nfunction checkIfIsFullscreen(): boolean {\n\treturn window.outerHeight === window.screen.height\n}\n\n/**\n * Use global `isFullscreen` state, based on the screen height check.\n */\nexport function useIsFullscreen(): DeepReadonly<Ref<boolean>> {\n\treturn readonly(isFullscreen)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsFullscreen` instead.\n * Defined and exported only for isFullscreen mixin.\n */\nexport const isFullscreenState = readonly(isFullscreen)\n"],"names":["ref","readonly"],"mappings":";;;AAOA,MAAM,eAAeA,IAAAA,IAAI,qBAAqB;AAE9C,OAAO,iBAAiB,UAAU,MAAM;AACvC,eAAa,QAAQ,oBAAoB;AAC1C,CAAC;AAMD,SAAS,sBAA+B;AAChC,SAAA,OAAO,gBAAgB,OAAO,OAAO;AAC7C;AAKO,SAAS,kBAA8C;AAC7D,SAAOC,IAAAA,SAAS,YAAY;AAC7B;AAOa,MAAA,oBAAoBA,aAAS,YAAY;;;"}
1
+ {"version":3,"file":"useIsFullscreen.cjs","sources":["../../src/composables/useIsFullscreen/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { DeepReadonly, Ref } from 'vue'\n\nimport { readonly, ref } from 'vue'\n\nconst isFullscreen = ref(checkIfIsFullscreen())\n\nwindow.addEventListener('resize', () => {\n\tisFullscreen.value = checkIfIsFullscreen()\n})\n\n/**\n * If the window height is equal to the screen height,\n * we are in full screen mode.\n */\nfunction checkIfIsFullscreen(): boolean {\n\treturn window.outerHeight === window.screen.height\n}\n\n/**\n * Use global `isFullscreen` state, based on the screen height check.\n */\nexport function useIsFullscreen(): DeepReadonly<Ref<boolean>> {\n\treturn readonly(isFullscreen)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsFullscreen` instead.\n * Defined and exported only for isFullscreen mixin.\n */\nexport const isFullscreenState = readonly(isFullscreen)\n"],"names":["ref","readonly"],"mappings":";;;AAQA,MAAM,eAAeA,IAAAA,IAAI,qBAAqB;AAE9C,OAAO,iBAAiB,UAAU,MAAM;AACvC,eAAa,QAAQ,oBAAA;AACtB,CAAC;AAMD,SAAS,sBAA+B;AACvC,SAAO,OAAO,gBAAgB,OAAO,OAAO;AAC7C;AAKO,SAAS,kBAA8C;AAC7D,SAAOC,IAAAA,SAAS,YAAY;AAC7B;AAOO,MAAM,oBAAoBA,IAAAA,SAAS,YAAY;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFullscreen.mjs","sources":["../../src/composables/useIsFullscreen/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { DeepReadonly, Ref } from 'vue'\nimport { readonly, ref } from 'vue'\n\nconst isFullscreen = ref(checkIfIsFullscreen())\n\nwindow.addEventListener('resize', () => {\n\tisFullscreen.value = checkIfIsFullscreen()\n})\n\n/**\n * If the window height is equal to the screen height,\n * we are in full screen mode.\n */\nfunction checkIfIsFullscreen(): boolean {\n\treturn window.outerHeight === window.screen.height\n}\n\n/**\n * Use global `isFullscreen` state, based on the screen height check.\n */\nexport function useIsFullscreen(): DeepReadonly<Ref<boolean>> {\n\treturn readonly(isFullscreen)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsFullscreen` instead.\n * Defined and exported only for isFullscreen mixin.\n */\nexport const isFullscreenState = readonly(isFullscreen)\n"],"names":[],"mappings":";AAOA,MAAM,eAAe,IAAI,qBAAqB;AAE9C,OAAO,iBAAiB,UAAU,MAAM;AACvC,eAAa,QAAQ,oBAAoB;AAC1C,CAAC;AAMD,SAAS,sBAA+B;AAChC,SAAA,OAAO,gBAAgB,OAAO,OAAO;AAC7C;AAKO,SAAS,kBAA8C;AAC7D,SAAO,SAAS,YAAY;AAC7B;AAOa,MAAA,oBAAoB,SAAS,YAAY;"}
1
+ {"version":3,"file":"useIsFullscreen.mjs","sources":["../../src/composables/useIsFullscreen/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { DeepReadonly, Ref } from 'vue'\n\nimport { readonly, ref } from 'vue'\n\nconst isFullscreen = ref(checkIfIsFullscreen())\n\nwindow.addEventListener('resize', () => {\n\tisFullscreen.value = checkIfIsFullscreen()\n})\n\n/**\n * If the window height is equal to the screen height,\n * we are in full screen mode.\n */\nfunction checkIfIsFullscreen(): boolean {\n\treturn window.outerHeight === window.screen.height\n}\n\n/**\n * Use global `isFullscreen` state, based on the screen height check.\n */\nexport function useIsFullscreen(): DeepReadonly<Ref<boolean>> {\n\treturn readonly(isFullscreen)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsFullscreen` instead.\n * Defined and exported only for isFullscreen mixin.\n */\nexport const isFullscreenState = readonly(isFullscreen)\n"],"names":[],"mappings":";AAQA,MAAM,eAAe,IAAI,qBAAqB;AAE9C,OAAO,iBAAiB,UAAU,MAAM;AACvC,eAAa,QAAQ,oBAAA;AACtB,CAAC;AAMD,SAAS,sBAA+B;AACvC,SAAO,OAAO,gBAAgB,OAAO,OAAO;AAC7C;AAKO,SAAS,kBAA8C;AAC7D,SAAO,SAAS,YAAY;AAC7B;AAOO,MAAM,oBAAoB,SAAS,YAAY;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMobile.cjs","sources":["../../src/composables/useIsMobile/index.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { readonly, ref } from 'vue'\n\n/** The minimal width of the viewport for a desktop screen */\nexport const MOBILE_BREAKPOINT = 1024\n/** The minimal width of the viewport for a small mobile screen, a half of the minimal desktop */\nexport const MOBILE_SMALL_BREAKPOINT = MOBILE_BREAKPOINT / 2\n\nconst isLessThanBreakpoint = (breakpoint) => document.documentElement.clientWidth < breakpoint\n\n// Store the state of the viewport size in a module-scope to reuse between module's users\nconst isMobile = ref(isLessThanBreakpoint(MOBILE_BREAKPOINT))\nconst isSmallMobile = ref(isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT))\n\nwindow.addEventListener('resize', () => {\n\tisMobile.value = isLessThanBreakpoint(MOBILE_BREAKPOINT)\n\tisSmallMobile.value = isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT)\n}, { passive: true })\n\n/**\n * Use global isMobile state\n *\n * @return {import('vue').DeepReadonly<import('vue').Ref<boolean>>} Reactive flag for MOBILE_BREAKPOINT\n */\nexport function useIsMobile() {\n\treturn readonly(isMobile)\n}\n\n/**\n * Use global isSmallMobile state\n *\n * @return {import('vue').DeepReadonly<import('vue').Ref<boolean>>} Reactive flag for MOBILE_SMALL_BREAKPOINT\n */\nexport function useIsSmallMobile() {\n\treturn readonly(isSmallMobile)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsMobile` instead.\n * Defined and exported only for isMobile mixin.\n */\nexport const isMobileState = readonly(isMobile)\n"],"names":["ref","readonly"],"mappings":";;;AAQY,MAAC,oBAAoB;AAErB,MAAC,0BAA0B,oBAAoB;AAE3D,MAAM,uBAAuB,CAAC,eAAe,SAAS,gBAAgB,cAAc;AAGpF,MAAM,WAAWA,IAAAA,IAAI,qBAAqB,iBAAiB,CAAC;AAC5D,MAAM,gBAAgBA,IAAAA,IAAI,qBAAqB,uBAAuB,CAAC;AAEvE,OAAO,iBAAiB,UAAU,MAAM;AACvC,WAAS,QAAQ,qBAAqB,iBAAiB;AACvD,gBAAc,QAAQ,qBAAqB,uBAAuB;AACnE,GAAG,EAAE,SAAS,KAAM,CAAA;AAOb,SAAS,cAAc;AAC7B,SAAOC,IAAQ,SAAC,QAAQ;AACzB;AAOO,SAAS,mBAAmB;AAClC,SAAOA,IAAQ,SAAC,aAAa;AAC9B;AAOY,MAAC,gBAAgBA,IAAQ,SAAC,QAAQ;;;;;;"}
1
+ {"version":3,"file":"useIsMobile.cjs","sources":["../../src/composables/useIsMobile/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Ref } from 'vue'\n\nimport { readonly, ref } from 'vue'\n\n/** The minimal width of the viewport for a desktop screen */\nexport const MOBILE_BREAKPOINT = 1024\n\n/** The minimal width of the viewport for a small mobile screen, a half of the minimal desktop */\nexport const MOBILE_SMALL_BREAKPOINT = MOBILE_BREAKPOINT / 2\n\nconst isLessThanBreakpoint = (breakpoint) => document.documentElement.clientWidth < breakpoint\n\n// Store the state of the viewport size in a module-scope to reuse between module's users\nconst isMobile = ref(isLessThanBreakpoint(MOBILE_BREAKPOINT))\nconst isSmallMobile = ref(isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT))\n\nwindow.addEventListener('resize', () => {\n\tisMobile.value = isLessThanBreakpoint(MOBILE_BREAKPOINT)\n\tisSmallMobile.value = isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT)\n}, { passive: true })\n\n/**\n * Use global isMobile state\n *\n * @return Reactive flag for MOBILE_BREAKPOINT\n */\nexport function useIsMobile(): Readonly<Ref<boolean>> {\n\treturn readonly(isMobile)\n}\n\n/**\n * Use global isSmallMobile state\n *\n * @return Reactive flag for MOBILE_SMALL_BREAKPOINT\n */\nexport function useIsSmallMobile(): Readonly<Ref<boolean>> {\n\treturn readonly(isSmallMobile)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsMobile` instead.\n * Defined and exported only for isMobile mixin.\n */\nexport const isMobileState = readonly(isMobile)\n"],"names":["ref","readonly"],"mappings":";;;AAUO,MAAM,oBAAoB;AAG1B,MAAM,0BAA0B,oBAAoB;AAE3D,MAAM,uBAAuB,CAAC,eAAe,SAAS,gBAAgB,cAAc;AAGpF,MAAM,WAAWA,IAAAA,IAAI,qBAAqB,iBAAiB,CAAC;AAC5D,MAAM,gBAAgBA,IAAAA,IAAI,qBAAqB,uBAAuB,CAAC;AAEvE,OAAO,iBAAiB,UAAU,MAAM;AACvC,WAAS,QAAQ,qBAAqB,iBAAiB;AACvD,gBAAc,QAAQ,qBAAqB,uBAAuB;AACnE,GAAG,EAAE,SAAS,MAAM;AAOb,SAAS,cAAsC;AACrD,SAAOC,IAAAA,SAAS,QAAQ;AACzB;AAOO,SAAS,mBAA2C;AAC1D,SAAOA,IAAAA,SAAS,aAAa;AAC9B;AAOO,MAAM,gBAAgBA,IAAAA,SAAS,QAAQ;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMobile.mjs","sources":["../../src/composables/useIsMobile/index.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { readonly, ref } from 'vue'\n\n/** The minimal width of the viewport for a desktop screen */\nexport const MOBILE_BREAKPOINT = 1024\n/** The minimal width of the viewport for a small mobile screen, a half of the minimal desktop */\nexport const MOBILE_SMALL_BREAKPOINT = MOBILE_BREAKPOINT / 2\n\nconst isLessThanBreakpoint = (breakpoint) => document.documentElement.clientWidth < breakpoint\n\n// Store the state of the viewport size in a module-scope to reuse between module's users\nconst isMobile = ref(isLessThanBreakpoint(MOBILE_BREAKPOINT))\nconst isSmallMobile = ref(isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT))\n\nwindow.addEventListener('resize', () => {\n\tisMobile.value = isLessThanBreakpoint(MOBILE_BREAKPOINT)\n\tisSmallMobile.value = isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT)\n}, { passive: true })\n\n/**\n * Use global isMobile state\n *\n * @return {import('vue').DeepReadonly<import('vue').Ref<boolean>>} Reactive flag for MOBILE_BREAKPOINT\n */\nexport function useIsMobile() {\n\treturn readonly(isMobile)\n}\n\n/**\n * Use global isSmallMobile state\n *\n * @return {import('vue').DeepReadonly<import('vue').Ref<boolean>>} Reactive flag for MOBILE_SMALL_BREAKPOINT\n */\nexport function useIsSmallMobile() {\n\treturn readonly(isSmallMobile)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsMobile` instead.\n * Defined and exported only for isMobile mixin.\n */\nexport const isMobileState = readonly(isMobile)\n"],"names":[],"mappings":";AAQY,MAAC,oBAAoB;AAErB,MAAC,0BAA0B,oBAAoB;AAE3D,MAAM,uBAAuB,CAAC,eAAe,SAAS,gBAAgB,cAAc;AAGpF,MAAM,WAAW,IAAI,qBAAqB,iBAAiB,CAAC;AAC5D,MAAM,gBAAgB,IAAI,qBAAqB,uBAAuB,CAAC;AAEvE,OAAO,iBAAiB,UAAU,MAAM;AACvC,WAAS,QAAQ,qBAAqB,iBAAiB;AACvD,gBAAc,QAAQ,qBAAqB,uBAAuB;AACnE,GAAG,EAAE,SAAS,KAAM,CAAA;AAOb,SAAS,cAAc;AAC7B,SAAO,SAAS,QAAQ;AACzB;AAOO,SAAS,mBAAmB;AAClC,SAAO,SAAS,aAAa;AAC9B;AAOY,MAAC,gBAAgB,SAAS,QAAQ;"}
1
+ {"version":3,"file":"useIsMobile.mjs","sources":["../../src/composables/useIsMobile/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Ref } from 'vue'\n\nimport { readonly, ref } from 'vue'\n\n/** The minimal width of the viewport for a desktop screen */\nexport const MOBILE_BREAKPOINT = 1024\n\n/** The minimal width of the viewport for a small mobile screen, a half of the minimal desktop */\nexport const MOBILE_SMALL_BREAKPOINT = MOBILE_BREAKPOINT / 2\n\nconst isLessThanBreakpoint = (breakpoint) => document.documentElement.clientWidth < breakpoint\n\n// Store the state of the viewport size in a module-scope to reuse between module's users\nconst isMobile = ref(isLessThanBreakpoint(MOBILE_BREAKPOINT))\nconst isSmallMobile = ref(isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT))\n\nwindow.addEventListener('resize', () => {\n\tisMobile.value = isLessThanBreakpoint(MOBILE_BREAKPOINT)\n\tisSmallMobile.value = isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT)\n}, { passive: true })\n\n/**\n * Use global isMobile state\n *\n * @return Reactive flag for MOBILE_BREAKPOINT\n */\nexport function useIsMobile(): Readonly<Ref<boolean>> {\n\treturn readonly(isMobile)\n}\n\n/**\n * Use global isSmallMobile state\n *\n * @return Reactive flag for MOBILE_SMALL_BREAKPOINT\n */\nexport function useIsSmallMobile(): Readonly<Ref<boolean>> {\n\treturn readonly(isSmallMobile)\n}\n\n/**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsMobile` instead.\n * Defined and exported only for isMobile mixin.\n */\nexport const isMobileState = readonly(isMobile)\n"],"names":[],"mappings":";AAUO,MAAM,oBAAoB;AAG1B,MAAM,0BAA0B,oBAAoB;AAE3D,MAAM,uBAAuB,CAAC,eAAe,SAAS,gBAAgB,cAAc;AAGpF,MAAM,WAAW,IAAI,qBAAqB,iBAAiB,CAAC;AAC5D,MAAM,gBAAgB,IAAI,qBAAqB,uBAAuB,CAAC;AAEvE,OAAO,iBAAiB,UAAU,MAAM;AACvC,WAAS,QAAQ,qBAAqB,iBAAiB;AACvD,gBAAc,QAAQ,qBAAqB,uBAAuB;AACnE,GAAG,EAAE,SAAS,MAAM;AAOb,SAAS,cAAsC;AACrD,SAAO,SAAS,QAAQ;AACzB;AAOO,SAAS,mBAA2C;AAC1D,SAAO,SAAS,aAAa;AAC9B;AAOO,MAAM,gBAAgB,SAAS,QAAQ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.cjs","sources":["../../src/directives/Focus/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { ObjectDirective } from 'vue'\n\nconst directive: ObjectDirective<HTMLElement> = {\n\tinserted(el: HTMLElement) {\n\t\tel.focus()\n\t},\n}\n\nexport default directive\n"],"names":[],"mappings":";AAOA,MAAM,YAA0C;AAAA,EAC/C,SAAS,IAAiB;AACzB,OAAG,MAAM;AAAA,EAAA;AAEX;;"}
1
+ {"version":3,"file":"Focus.cjs","sources":["../../src/directives/Focus/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { ObjectDirective } from 'vue'\n\nconst directive: ObjectDirective<HTMLElement> = {\n\tinserted(el: HTMLElement) {\n\t\tel.focus()\n\t},\n}\n\nexport default directive\n"],"names":[],"mappings":";AAOA,MAAM,YAA0C;AAAA,EAC/C,SAAS,IAAiB;AACzB,OAAG,MAAA;AAAA,EACJ;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.mjs","sources":["../../src/directives/Focus/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { ObjectDirective } from 'vue'\n\nconst directive: ObjectDirective<HTMLElement> = {\n\tinserted(el: HTMLElement) {\n\t\tel.focus()\n\t},\n}\n\nexport default directive\n"],"names":[],"mappings":"AAOA,MAAM,YAA0C;AAAA,EAC/C,SAAS,IAAiB;AACzB,OAAG,MAAM;AAAA,EAAA;AAEX;"}
1
+ {"version":3,"file":"Focus.mjs","sources":["../../src/directives/Focus/index.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { ObjectDirective } from 'vue'\n\nconst directive: ObjectDirective<HTMLElement> = {\n\tinserted(el: HTMLElement) {\n\t\tel.focus()\n\t},\n}\n\nexport default directive\n"],"names":[],"mappings":"AAOA,MAAM,YAA0C;AAAA,EAC/C,SAAS,IAAiB;AACzB,OAAG,MAAA;AAAA,EACJ;AACD;"}