@nextcloud/vue 8.0.0-beta.7 → 8.0.0-beta.9

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 (583) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/Components/NcActionButton.cjs +49 -1
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +49 -13
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionButtonGroup.cjs +30 -1
  7. package/dist/Components/NcActionButtonGroup.cjs.map +1 -1
  8. package/dist/Components/NcActionButtonGroup.mjs +30 -9
  9. package/dist/Components/NcActionButtonGroup.mjs.map +1 -1
  10. package/dist/Components/NcActionCaption.cjs +29 -1
  11. package/dist/Components/NcActionCaption.cjs.map +1 -1
  12. package/dist/Components/NcActionCaption.mjs +29 -9
  13. package/dist/Components/NcActionCaption.mjs.map +1 -1
  14. package/dist/Components/NcActionCheckbox.cjs +78 -1
  15. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  16. package/dist/Components/NcActionCheckbox.mjs +80 -19
  17. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  18. package/dist/Components/NcActionInput.cjs +231 -1
  19. package/dist/Components/NcActionInput.cjs.map +1 -1
  20. package/dist/Components/NcActionInput.mjs +235 -70
  21. package/dist/Components/NcActionInput.mjs.map +1 -1
  22. package/dist/Components/NcActionLink.cjs +69 -1
  23. package/dist/Components/NcActionLink.cjs.map +1 -1
  24. package/dist/Components/NcActionLink.mjs +66 -14
  25. package/dist/Components/NcActionLink.mjs.map +1 -1
  26. package/dist/Components/NcActionRadio.cjs +85 -1
  27. package/dist/Components/NcActionRadio.cjs.map +1 -1
  28. package/dist/Components/NcActionRadio.mjs +87 -19
  29. package/dist/Components/NcActionRadio.mjs.map +1 -1
  30. package/dist/Components/NcActionRouter.cjs +42 -1
  31. package/dist/Components/NcActionRouter.cjs.map +1 -1
  32. package/dist/Components/NcActionRouter.mjs +41 -12
  33. package/dist/Components/NcActionRouter.mjs.map +1 -1
  34. package/dist/Components/NcActionSeparator.cjs +20 -1
  35. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  36. package/dist/Components/NcActionSeparator.mjs +20 -9
  37. package/dist/Components/NcActionSeparator.mjs.map +1 -1
  38. package/dist/Components/NcActionText.cjs +23 -1
  39. package/dist/Components/NcActionText.cjs.map +1 -1
  40. package/dist/Components/NcActionText.mjs +21 -9
  41. package/dist/Components/NcActionText.mjs.map +1 -1
  42. package/dist/Components/NcActionTextEditable.cjs +81 -1
  43. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  44. package/dist/Components/NcActionTextEditable.mjs +79 -22
  45. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  46. package/dist/Components/NcActions.cjs +459 -1
  47. package/dist/Components/NcActions.cjs.map +1 -1
  48. package/dist/Components/NcActions.mjs +463 -100
  49. package/dist/Components/NcActions.mjs.map +1 -1
  50. package/dist/Components/NcAppContent.cjs +218 -1
  51. package/dist/Components/NcAppContent.cjs.map +1 -1
  52. package/dist/Components/NcAppContent.mjs +220 -66
  53. package/dist/Components/NcAppContent.mjs.map +1 -1
  54. package/dist/Components/NcAppContentDetails.cjs +19 -1
  55. package/dist/Components/NcAppContentDetails.cjs.map +1 -1
  56. package/dist/Components/NcAppContentDetails.mjs +18 -7
  57. package/dist/Components/NcAppContentDetails.mjs.map +1 -1
  58. package/dist/Components/NcAppContentList.cjs +29 -1
  59. package/dist/Components/NcAppContentList.cjs.map +1 -1
  60. package/dist/Components/NcAppContentList.mjs +29 -8
  61. package/dist/Components/NcAppContentList.mjs.map +1 -1
  62. package/dist/Components/NcAppNavigation.cjs +66 -1
  63. package/dist/Components/NcAppNavigation.cjs.map +1 -1
  64. package/dist/Components/NcAppNavigation.mjs +67 -28
  65. package/dist/Components/NcAppNavigation.mjs.map +1 -1
  66. package/dist/Components/NcAppNavigationCaption.cjs +44 -1
  67. package/dist/Components/NcAppNavigationCaption.cjs.map +1 -1
  68. package/dist/Components/NcAppNavigationCaption.mjs +40 -9
  69. package/dist/Components/NcAppNavigationCaption.mjs.map +1 -1
  70. package/dist/Components/NcAppNavigationIconBullet.cjs +40 -1
  71. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  72. package/dist/Components/NcAppNavigationIconBullet.mjs +40 -15
  73. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  74. package/dist/Components/NcAppNavigationItem.cjs +386 -1
  75. package/dist/Components/NcAppNavigationItem.cjs.map +1 -1
  76. package/dist/Components/NcAppNavigationItem.mjs +382 -81
  77. package/dist/Components/NcAppNavigationItem.mjs.map +1 -1
  78. package/dist/Components/NcAppNavigationNew.cjs +50 -1
  79. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  80. package/dist/Components/NcAppNavigationNew.mjs +51 -14
  81. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  82. package/dist/Components/NcAppNavigationNewItem.cjs +87 -1
  83. package/dist/Components/NcAppNavigationNewItem.cjs.map +1 -1
  84. package/dist/Components/NcAppNavigationNewItem.mjs +83 -17
  85. package/dist/Components/NcAppNavigationNewItem.mjs.map +1 -1
  86. package/dist/Components/NcAppNavigationSettings.cjs +69 -1
  87. package/dist/Components/NcAppNavigationSettings.cjs.map +1 -1
  88. package/dist/Components/NcAppNavigationSettings.mjs +60 -21
  89. package/dist/Components/NcAppNavigationSettings.mjs.map +1 -1
  90. package/dist/Components/NcAppNavigationSpacer.cjs +20 -1
  91. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  92. package/dist/Components/NcAppNavigationSpacer.mjs +20 -9
  93. package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
  94. package/dist/Components/NcAppNavigationToggle.cjs +25 -1
  95. package/dist/Components/NcAppNavigationToggle.cjs.map +1 -1
  96. package/dist/Components/NcAppNavigationToggle.mjs +21 -1
  97. package/dist/Components/NcAppNavigationToggle.mjs.map +1 -1
  98. package/dist/Components/NcAppSettingsDialog.cjs +156 -1
  99. package/dist/Components/NcAppSettingsDialog.cjs.map +1 -1
  100. package/dist/Components/NcAppSettingsDialog.mjs +160 -50
  101. package/dist/Components/NcAppSettingsDialog.mjs.map +1 -1
  102. package/dist/Components/NcAppSettingsSection.cjs +39 -1
  103. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  104. package/dist/Components/NcAppSettingsSection.mjs +39 -13
  105. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  106. package/dist/Components/NcAppSidebar.cjs +443 -1
  107. package/dist/Components/NcAppSidebar.cjs.map +1 -1
  108. package/dist/Components/NcAppSidebar.mjs +409 -92
  109. package/dist/Components/NcAppSidebar.mjs.map +1 -1
  110. package/dist/Components/NcAppSidebarTab.cjs +83 -1
  111. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  112. package/dist/Components/NcAppSidebarTab.mjs +83 -20
  113. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  114. package/dist/Components/NcAvatar.cjs +3 -1
  115. package/dist/Components/NcAvatar.cjs.map +1 -1
  116. package/dist/Components/NcAvatar.mjs +1 -1
  117. package/dist/Components/NcBreadcrumb.cjs +175 -1
  118. package/dist/Components/NcBreadcrumb.cjs.map +1 -1
  119. package/dist/Components/NcBreadcrumb.mjs +175 -35
  120. package/dist/Components/NcBreadcrumb.mjs.map +1 -1
  121. package/dist/Components/NcBreadcrumbs.cjs +372 -1
  122. package/dist/Components/NcBreadcrumbs.cjs.map +1 -1
  123. package/dist/Components/NcBreadcrumbs.mjs +373 -142
  124. package/dist/Components/NcBreadcrumbs.mjs.map +1 -1
  125. package/dist/Components/NcButton.cjs +226 -1
  126. package/dist/Components/NcButton.cjs.map +1 -1
  127. package/dist/Components/NcButton.mjs +226 -24
  128. package/dist/Components/NcButton.mjs.map +1 -1
  129. package/dist/Components/NcCheckboxRadioSwitch.cjs +352 -1
  130. package/dist/Components/NcCheckboxRadioSwitch.cjs.map +1 -1
  131. package/dist/Components/NcCheckboxRadioSwitch.mjs +360 -59
  132. package/dist/Components/NcCheckboxRadioSwitch.mjs.map +1 -1
  133. package/dist/Components/NcColorPicker.cjs +118 -1
  134. package/dist/Components/NcColorPicker.cjs.map +1 -1
  135. package/dist/Components/NcColorPicker.mjs +124 -46
  136. package/dist/Components/NcColorPicker.mjs.map +1 -1
  137. package/dist/Components/NcContent.cjs +25 -1
  138. package/dist/Components/NcContent.cjs.map +1 -1
  139. package/dist/Components/NcContent.mjs +24 -8
  140. package/dist/Components/NcContent.mjs.map +1 -1
  141. package/dist/Components/NcCounterBubble.cjs +47 -1
  142. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  143. package/dist/Components/NcCounterBubble.mjs +46 -12
  144. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  145. package/dist/Components/NcDashboardWidget.cjs +133 -1
  146. package/dist/Components/NcDashboardWidget.cjs.map +1 -1
  147. package/dist/Components/NcDashboardWidget.mjs +128 -39
  148. package/dist/Components/NcDashboardWidget.mjs.map +1 -1
  149. package/dist/Components/NcDashboardWidgetItem.cjs +138 -1
  150. package/dist/Components/NcDashboardWidgetItem.cjs.map +1 -1
  151. package/dist/Components/NcDashboardWidgetItem.mjs +130 -23
  152. package/dist/Components/NcDashboardWidgetItem.mjs.map +1 -1
  153. package/dist/Components/NcDateTime.cjs +125 -1
  154. package/dist/Components/NcDateTime.cjs.map +1 -1
  155. package/dist/Components/NcDateTime.mjs +126 -41
  156. package/dist/Components/NcDateTime.mjs.map +1 -1
  157. package/dist/Components/NcDateTimePicker.cjs +217 -1
  158. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  159. package/dist/Components/NcDateTimePicker.mjs +212 -53
  160. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  161. package/dist/Components/NcDateTimePickerNative.cjs +199 -1
  162. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  163. package/dist/Components/NcDateTimePickerNative.mjs +195 -58
  164. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  165. package/dist/Components/NcDialog.cjs +171 -0
  166. package/dist/Components/NcDialog.cjs.map +1 -0
  167. package/dist/Components/NcDialog.mjs +177 -0
  168. package/dist/Components/NcDialog.mjs.map +1 -0
  169. package/dist/Components/NcDialogButton.cjs +69 -0
  170. package/dist/Components/NcDialogButton.cjs.map +1 -0
  171. package/dist/Components/NcDialogButton.mjs +74 -0
  172. package/dist/Components/NcDialogButton.mjs.map +1 -0
  173. package/dist/Components/NcEllipsisedOption.cjs +74 -1
  174. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  175. package/dist/Components/NcEllipsisedOption.mjs +73 -20
  176. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  177. package/dist/Components/NcEmojiPicker.cjs +175 -1
  178. package/dist/Components/NcEmojiPicker.cjs.map +1 -1
  179. package/dist/Components/NcEmojiPicker.mjs +172 -52
  180. package/dist/Components/NcEmojiPicker.mjs.map +1 -1
  181. package/dist/Components/NcEmptyContent.cjs +54 -1
  182. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  183. package/dist/Components/NcEmptyContent.mjs +46 -10
  184. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  185. package/dist/Components/NcGuestContent.cjs +26 -1
  186. package/dist/Components/NcGuestContent.cjs.map +1 -1
  187. package/dist/Components/NcGuestContent.mjs +24 -11
  188. package/dist/Components/NcGuestContent.mjs.map +1 -1
  189. package/dist/Components/NcHeaderMenu.cjs +167 -1
  190. package/dist/Components/NcHeaderMenu.cjs.map +1 -1
  191. package/dist/Components/NcHeaderMenu.mjs +161 -49
  192. package/dist/Components/NcHeaderMenu.mjs.map +1 -1
  193. package/dist/Components/NcHighlight.cjs +3 -1
  194. package/dist/Components/NcHighlight.cjs.map +1 -1
  195. package/dist/Components/NcHighlight.mjs +1 -1
  196. package/dist/Components/NcIconSvgWrapper.cjs +59 -1
  197. package/dist/Components/NcIconSvgWrapper.cjs.map +1 -1
  198. package/dist/Components/NcIconSvgWrapper.mjs +60 -12
  199. package/dist/Components/NcIconSvgWrapper.mjs.map +1 -1
  200. package/dist/Components/NcInputField.cjs +210 -1
  201. package/dist/Components/NcInputField.cjs.map +1 -1
  202. package/dist/Components/NcInputField.mjs +211 -38
  203. package/dist/Components/NcInputField.mjs.map +1 -1
  204. package/dist/Components/NcListItem.cjs +237 -1
  205. package/dist/Components/NcListItem.cjs.map +1 -1
  206. package/dist/Components/NcListItem.mjs +233 -57
  207. package/dist/Components/NcListItem.mjs.map +1 -1
  208. package/dist/Components/NcListItemIcon.cjs +158 -1
  209. package/dist/Components/NcListItemIcon.cjs.map +1 -1
  210. package/dist/Components/NcListItemIcon.mjs +154 -30
  211. package/dist/Components/NcListItemIcon.mjs.map +1 -1
  212. package/dist/Components/NcLoadingIcon.cjs +54 -1
  213. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  214. package/dist/Components/NcLoadingIcon.mjs +54 -14
  215. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  216. package/dist/Components/NcModal.cjs +403 -1
  217. package/dist/Components/NcModal.cjs.map +1 -1
  218. package/dist/Components/NcModal.mjs +392 -96
  219. package/dist/Components/NcModal.mjs.map +1 -1
  220. package/dist/Components/NcNoteCard.cjs +71 -1
  221. package/dist/Components/NcNoteCard.cjs.map +1 -1
  222. package/dist/Components/NcNoteCard.mjs +72 -38
  223. package/dist/Components/NcNoteCard.mjs.map +1 -1
  224. package/dist/Components/NcPasswordField.cjs +163 -1
  225. package/dist/Components/NcPasswordField.cjs.map +1 -1
  226. package/dist/Components/NcPasswordField.mjs +169 -54
  227. package/dist/Components/NcPasswordField.mjs.map +1 -1
  228. package/dist/Components/NcPopover.cjs +125 -1
  229. package/dist/Components/NcPopover.cjs.map +1 -1
  230. package/dist/Components/NcPopover.mjs +124 -41
  231. package/dist/Components/NcPopover.mjs.map +1 -1
  232. package/dist/Components/NcProgressBar.cjs +57 -1
  233. package/dist/Components/NcProgressBar.cjs.map +1 -1
  234. package/dist/Components/NcProgressBar.mjs +57 -15
  235. package/dist/Components/NcProgressBar.mjs.map +1 -1
  236. package/dist/Components/NcRelatedResourcesPanel.cjs +184 -1
  237. package/dist/Components/NcRelatedResourcesPanel.cjs.map +1 -1
  238. package/dist/Components/NcRelatedResourcesPanel.mjs +183 -61
  239. package/dist/Components/NcRelatedResourcesPanel.mjs.map +1 -1
  240. package/dist/Components/NcRichContenteditable.cjs +478 -1
  241. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  242. package/dist/Components/NcRichContenteditable.mjs +447 -127
  243. package/dist/Components/NcRichContenteditable.mjs.map +1 -1
  244. package/dist/Components/NcRichText.cjs +44 -1
  245. package/dist/Components/NcRichText.cjs.map +1 -1
  246. package/dist/Components/NcRichText.mjs +25 -4
  247. package/dist/Components/NcRichText.mjs.map +1 -1
  248. package/dist/Components/NcSavingIndicatorIcon.cjs +59 -1
  249. package/dist/Components/NcSavingIndicatorIcon.cjs.map +1 -1
  250. package/dist/Components/NcSavingIndicatorIcon.mjs +56 -9
  251. package/dist/Components/NcSavingIndicatorIcon.mjs.map +1 -1
  252. package/dist/Components/NcSelect.cjs +411 -1
  253. package/dist/Components/NcSelect.cjs.map +1 -1
  254. package/dist/Components/NcSelect.mjs +405 -47
  255. package/dist/Components/NcSelect.mjs.map +1 -1
  256. package/dist/Components/NcSelectTags.cjs +251 -2
  257. package/dist/Components/NcSelectTags.cjs.map +1 -1
  258. package/dist/Components/NcSelectTags.mjs +236 -73
  259. package/dist/Components/NcSelectTags.mjs.map +1 -1
  260. package/dist/Components/NcSettingsInputText.cjs +90 -1
  261. package/dist/Components/NcSettingsInputText.cjs.map +1 -1
  262. package/dist/Components/NcSettingsInputText.mjs +88 -19
  263. package/dist/Components/NcSettingsInputText.mjs.map +1 -1
  264. package/dist/Components/NcSettingsSection.cjs +62 -1
  265. package/dist/Components/NcSettingsSection.cjs.map +1 -1
  266. package/dist/Components/NcSettingsSection.mjs +62 -15
  267. package/dist/Components/NcSettingsSection.mjs.map +1 -1
  268. package/dist/Components/NcSettingsSelectGroup.cjs +26 -1
  269. package/dist/Components/NcSettingsSelectGroup.cjs.map +1 -1
  270. package/dist/Components/NcSettingsSelectGroup.mjs +22 -1
  271. package/dist/Components/NcSettingsSelectGroup.mjs.map +1 -1
  272. package/dist/Components/NcTextArea.cjs +167 -0
  273. package/dist/Components/NcTextArea.cjs.map +1 -0
  274. package/dist/Components/NcTextArea.mjs +172 -0
  275. package/dist/Components/NcTextArea.mjs.map +1 -0
  276. package/dist/Components/NcTextField.cjs +98 -1
  277. package/dist/Components/NcTextField.cjs.map +1 -1
  278. package/dist/Components/NcTextField.mjs +102 -22
  279. package/dist/Components/NcTextField.mjs.map +1 -1
  280. package/dist/Components/NcTimezonePicker.cjs +4387 -614
  281. package/dist/Components/NcTimezonePicker.cjs.map +1 -1
  282. package/dist/Components/NcTimezonePicker.mjs +4372 -663
  283. package/dist/Components/NcTimezonePicker.mjs.map +1 -1
  284. package/dist/Components/NcUserBubble.cjs +189 -1
  285. package/dist/Components/NcUserBubble.cjs.map +1 -1
  286. package/dist/Components/NcUserBubble.mjs +190 -47
  287. package/dist/Components/NcUserBubble.mjs.map +1 -1
  288. package/dist/Components/NcVNodes.cjs +35 -1
  289. package/dist/Components/NcVNodes.cjs.map +1 -1
  290. package/dist/Components/NcVNodes.mjs +35 -8
  291. package/dist/Components/NcVNodes.mjs.map +1 -1
  292. package/dist/Directives/Focus.cjs +30 -1
  293. package/dist/Directives/Focus.cjs.map +1 -1
  294. package/dist/Directives/Focus.mjs +28 -5
  295. package/dist/Directives/Focus.mjs.map +1 -1
  296. package/dist/Directives/Linkify.cjs +8 -1
  297. package/dist/Directives/Linkify.cjs.map +1 -1
  298. package/dist/Directives/Linkify.mjs +6 -6
  299. package/dist/Directives/Linkify.mjs.map +1 -1
  300. package/dist/Directives/Tooltip.cjs +37 -1
  301. package/dist/Directives/Tooltip.cjs.map +1 -1
  302. package/dist/Directives/Tooltip.mjs +29 -4
  303. package/dist/Directives/Tooltip.mjs.map +1 -1
  304. package/dist/Functions/emoji.cjs +36 -1
  305. package/dist/Functions/emoji.cjs.map +1 -1
  306. package/dist/Functions/emoji.mjs +32 -11
  307. package/dist/Functions/emoji.mjs.map +1 -1
  308. package/dist/Functions/usernameToColor.cjs +39 -1
  309. package/dist/Functions/usernameToColor.cjs.map +1 -1
  310. package/dist/Functions/usernameToColor.mjs +32 -11
  311. package/dist/Functions/usernameToColor.mjs.map +1 -1
  312. package/dist/Mixins/clickOutsideOptions.cjs +40 -1
  313. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  314. package/dist/Mixins/clickOutsideOptions.mjs +39 -4
  315. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  316. package/dist/Mixins/isFullscreen.cjs +44 -1
  317. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  318. package/dist/Mixins/isFullscreen.mjs +42 -11
  319. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  320. package/dist/Mixins/isMobile.cjs +87 -1
  321. package/dist/Mixins/isMobile.cjs.map +1 -1
  322. package/dist/Mixins/isMobile.mjs +86 -11
  323. package/dist/Mixins/isMobile.mjs.map +1 -1
  324. package/dist/Mixins/richEditor.cjs +10 -1
  325. package/dist/Mixins/richEditor.cjs.map +1 -1
  326. package/dist/Mixins/richEditor.mjs +2 -2
  327. package/dist/assets/NcAppNavigationToggle-2cc5b864.css +35 -0
  328. package/dist/assets/NcInputConfirmCancel-2ba60a52.css +51 -0
  329. package/dist/assets/NcMentionBubble-6e887c5f.css +81 -0
  330. package/dist/assets/{index-23405a74.css → NcSettingsSelectGroup-0d38d76b.css} +15 -2
  331. package/dist/assets/index-0adc989c.css +96 -0
  332. package/dist/assets/index-1151d229.css +41 -0
  333. package/dist/assets/index-1beccc92.css +140 -0
  334. package/dist/assets/index-236620b0.css +150 -0
  335. package/dist/assets/{index-823ec431.css → index-24f6c355.css} +67 -3
  336. package/dist/assets/index-2a8e4ca1.css +540 -0
  337. package/dist/assets/{index-29421a2e.css → index-2d4de2fc.css} +19 -2
  338. package/dist/assets/{NcSettingsSelectGroup-e88cbf1a.css → index-30e099f7.css} +17 -2
  339. package/dist/assets/index-34dfc54e.css +88 -0
  340. package/dist/assets/index-3764a447.css +99 -0
  341. package/dist/assets/index-400b48a6.css +60 -0
  342. package/dist/assets/{index-1d28ce70.css → index-441b6552.css} +25 -2
  343. package/dist/assets/{NcInputConfirmCancel-c1d05dd9.css → index-4611417f.css} +31 -2
  344. package/dist/assets/index-4a775ba1.css +204 -0
  345. package/dist/assets/index-4b75fe20.css +79 -0
  346. package/dist/assets/index-4ebacc78.css +107 -0
  347. package/dist/assets/index-4ef32afd.css +128 -0
  348. package/dist/assets/index-50b0766d.css +202 -0
  349. package/dist/assets/index-574438d6.css +884 -0
  350. package/dist/assets/index-57b305d3.css +44 -0
  351. package/dist/assets/index-5ee8a575.css +295 -0
  352. package/dist/assets/index-5fa0ac5a.css +46 -0
  353. package/dist/assets/index-61b63a8f.css +57 -0
  354. package/dist/assets/index-6416f636.css +83 -0
  355. package/dist/assets/index-6c47e88a.css +46 -0
  356. package/dist/assets/index-6f721577.css +80 -0
  357. package/dist/assets/index-73867d38.css +133 -0
  358. package/dist/assets/index-76a58945.css +68 -0
  359. package/dist/assets/index-76dd9f11.css +5 -0
  360. package/dist/assets/index-7813bab3.css +66 -0
  361. package/dist/assets/index-793eae6b.css +234 -0
  362. package/dist/assets/index-8304db49.css +129 -0
  363. package/dist/assets/index-8aa4712e.css +51 -0
  364. package/dist/assets/{index-3e8ea1d6.css → index-8f52a20f.css} +16 -2
  365. package/dist/assets/index-93ad846c.css +259 -0
  366. package/dist/assets/index-9dcf6260.css +151 -0
  367. package/dist/assets/index-9e44e336.css +59 -0
  368. package/dist/assets/index-9e9587e1.css +45 -0
  369. package/dist/assets/index-a2b51bce.css +47 -0
  370. package/dist/assets/index-a2d55f92.css +204 -0
  371. package/dist/assets/index-a9e4fe04.css +46 -0
  372. package/dist/assets/index-abb90c97.css +164 -0
  373. package/dist/assets/{index-3b76db9b.css → index-af72a30b.css} +78 -3
  374. package/dist/assets/{NcAppNavigationToggle-110970cd.css → index-b8f13a1f.css} +13 -2
  375. package/dist/assets/index-b991895f.css +87 -0
  376. package/dist/assets/{index-25b448e3.css → index-baf8711a.css} +67 -3
  377. package/dist/assets/index-c06ad941.css +175 -0
  378. package/dist/assets/index-c5ae3bc4.css +303 -0
  379. package/dist/assets/index-c6f0da2e.css +69 -0
  380. package/dist/assets/index-d211cae8.css +93 -0
  381. package/dist/assets/index-d646553d.css +41 -0
  382. package/dist/assets/index-dc612aa3.css +112 -0
  383. package/dist/assets/index-e7c55791.css +243 -0
  384. package/dist/assets/index-e7eadba7.css +82 -0
  385. package/dist/assets/index-e828b286.css +76 -0
  386. package/dist/assets/index-ed4adf1d.css +115 -0
  387. package/dist/assets/{index-19f059f6.css → index-edee3304.css} +33 -2
  388. package/dist/assets/index-eea65531.css +129 -0
  389. package/dist/assets/index-f85aa003.css +78 -0
  390. package/dist/assets/index-fc61f2d8.css +41 -0
  391. package/dist/assets/referencePickerModal-3a127978.css +482 -0
  392. package/dist/chunks/GenColors-38246c38.mjs +46 -0
  393. package/dist/chunks/{GenColors-8097de04.cjs.map → GenColors-38246c38.mjs.map} +1 -1
  394. package/dist/chunks/GenColors-eedcc70a.cjs +45 -0
  395. package/dist/chunks/{GenColors-85cb6194.mjs.map → GenColors-eedcc70a.cjs.map} +1 -1
  396. package/dist/{assets/index-cb18d6f3.css → chunks/GenRandomId-c214d235.cjs} +8 -5
  397. package/dist/chunks/{GenRandomId-67df40eb.cjs.map → GenRandomId-c214d235.cjs.map} +1 -1
  398. package/dist/chunks/GenRandomId-cb9ccebe.mjs +25 -0
  399. package/dist/chunks/{GenRandomId-1e1b509a.mjs.map → GenRandomId-cb9ccebe.mjs.map} +1 -1
  400. package/dist/chunks/Linkify-39f20c9a.mjs +33 -0
  401. package/dist/chunks/{Linkify-a0faf443.mjs.map → Linkify-39f20c9a.mjs.map} +1 -1
  402. package/dist/chunks/Linkify-40cdd635.cjs +32 -0
  403. package/dist/chunks/{Linkify-a4db36a9.cjs.map → Linkify-40cdd635.cjs.map} +1 -1
  404. package/dist/chunks/NcAppNavigationToggle-841d3015.cjs +49 -0
  405. package/dist/chunks/NcAppNavigationToggle-841d3015.cjs.map +1 -0
  406. package/dist/chunks/NcAppNavigationToggle-e358aa47.mjs +55 -0
  407. package/dist/chunks/NcAppNavigationToggle-e358aa47.mjs.map +1 -0
  408. package/dist/chunks/NcInputConfirmCancel-44052477.mjs +96 -0
  409. package/dist/chunks/NcInputConfirmCancel-44052477.mjs.map +1 -0
  410. package/dist/chunks/NcInputConfirmCancel-6bea0fdc.cjs +90 -0
  411. package/dist/chunks/NcInputConfirmCancel-6bea0fdc.cjs.map +1 -0
  412. package/dist/chunks/NcRichText-332fe454.cjs +289 -0
  413. package/dist/chunks/{NcRichText-bb9d3893.mjs.map → NcRichText-332fe454.cjs.map} +1 -1
  414. package/dist/chunks/NcRichText-8fda53c8.mjs +302 -0
  415. package/dist/chunks/{NcRichText-3c54a3cc.cjs.map → NcRichText-8fda53c8.mjs.map} +1 -1
  416. package/dist/chunks/NcSettingsSelectGroup-a5ff8c36.cjs +183 -0
  417. package/dist/chunks/NcSettingsSelectGroup-a5ff8c36.cjs.map +1 -0
  418. package/dist/chunks/NcSettingsSelectGroup-fdd3309c.mjs +192 -0
  419. package/dist/chunks/NcSettingsSelectGroup-fdd3309c.mjs.map +1 -0
  420. package/dist/chunks/ScopeComponent-9519afcc.mjs +29 -0
  421. package/dist/chunks/{ScopeComponent-1f3a7612.mjs.map → ScopeComponent-9519afcc.mjs.map} +1 -1
  422. package/dist/chunks/ScopeComponent-e060526a.cjs +28 -0
  423. package/dist/chunks/{ScopeComponent-4b8bd1ee.cjs.map → ScopeComponent-e060526a.cjs.map} +1 -1
  424. package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs +32 -0
  425. package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs.map +1 -0
  426. package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs +31 -0
  427. package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs.map +1 -0
  428. package/dist/chunks/actionGlobal-8c1c28c9.mjs +50 -0
  429. package/dist/chunks/{actionGlobal-cda46023.mjs.map → actionGlobal-8c1c28c9.mjs.map} +1 -1
  430. package/dist/chunks/actionGlobal-9e29e11b.cjs +49 -0
  431. package/dist/chunks/{actionGlobal-ec7003e8.cjs.map → actionGlobal-9e29e11b.cjs.map} +1 -1
  432. package/dist/chunks/actionText-54bc24a6.cjs +120 -0
  433. package/dist/chunks/{actionText-bef01778.cjs.map → actionText-54bc24a6.cjs.map} +1 -1
  434. package/dist/chunks/actionText-a64be267.mjs +121 -0
  435. package/dist/chunks/{actionText-6c35d3fc.mjs.map → actionText-a64be267.mjs.map} +1 -1
  436. package/dist/chunks/focusTrap-14985831.cjs +26 -0
  437. package/dist/chunks/{focusTrap-173aba65.mjs.map → focusTrap-14985831.cjs.map} +1 -1
  438. package/dist/chunks/focusTrap-5d0f71d4.mjs +27 -0
  439. package/dist/chunks/{focusTrap-139520e2.cjs.map → focusTrap-5d0f71d4.mjs.map} +1 -1
  440. package/dist/chunks/index-032137a6.cjs +468 -0
  441. package/dist/chunks/index-032137a6.cjs.map +1 -0
  442. package/dist/chunks/index-20a9ace9.mjs +149 -0
  443. package/dist/chunks/{index-cd3f1f8f.mjs.map → index-20a9ace9.mjs.map} +1 -1
  444. package/dist/chunks/index-4398f925.cjs +149 -0
  445. package/dist/chunks/{index-858938bd.cjs.map → index-4398f925.cjs.map} +1 -1
  446. package/dist/chunks/index-5f2a5f57.mjs +155 -0
  447. package/dist/chunks/{index-377488aa.mjs.map → index-5f2a5f57.mjs.map} +1 -1
  448. package/dist/chunks/index-e894376a.cjs +148 -0
  449. package/dist/chunks/{index-df3f51c6.cjs.map → index-e894376a.cjs.map} +1 -1
  450. package/dist/chunks/index-fb2ee22c.mjs +481 -0
  451. package/dist/chunks/index-fb2ee22c.mjs.map +1 -0
  452. package/dist/chunks/l10n-05a09c66.mjs +31 -0
  453. package/dist/chunks/l10n-05a09c66.mjs.map +1 -0
  454. package/dist/chunks/l10n-9aa6482d.mjs +10 -0
  455. package/dist/chunks/l10n-9aa6482d.mjs.map +1 -0
  456. package/dist/chunks/l10n-b1d264c7.cjs +29 -0
  457. package/dist/chunks/l10n-b1d264c7.cjs.map +1 -0
  458. package/dist/chunks/l10n-c7bd0ea6.cjs +8 -0
  459. package/dist/chunks/l10n-c7bd0ea6.cjs.map +1 -0
  460. package/dist/chunks/logger-3612e664.mjs +25 -0
  461. package/dist/chunks/{logger-01af1a78.cjs.map → logger-3612e664.mjs.map} +1 -1
  462. package/dist/chunks/logger-4998b668.cjs +24 -0
  463. package/dist/chunks/{logger-ccc7ee65.mjs.map → logger-4998b668.cjs.map} +1 -1
  464. package/dist/chunks/referencePickerModal-279a483d.cjs +858 -0
  465. package/dist/chunks/referencePickerModal-279a483d.cjs.map +1 -0
  466. package/dist/chunks/referencePickerModal-443a4c57.mjs +877 -0
  467. package/dist/chunks/referencePickerModal-443a4c57.mjs.map +1 -0
  468. package/dist/index.cjs +257 -1
  469. package/dist/index.cjs.map +1 -1
  470. package/dist/index.mjs +301 -150
  471. package/dist/index.mjs.map +1 -1
  472. package/package.json +7 -4
  473. package/dist/assets/NcMentionBubble-67378a12.css +0 -21
  474. package/dist/assets/index-2cedaf24.css +0 -21
  475. package/dist/assets/index-30d74459.css +0 -42
  476. package/dist/assets/index-317f55be.css +0 -21
  477. package/dist/assets/index-34f6bb3f.css +0 -21
  478. package/dist/assets/index-37970f20.css +0 -21
  479. package/dist/assets/index-3aba62de.css +0 -21
  480. package/dist/assets/index-47fab7bf.css +0 -21
  481. package/dist/assets/index-49a0d570.css +0 -21
  482. package/dist/assets/index-4a4c1700.css +0 -21
  483. package/dist/assets/index-4a4c2637.css +0 -21
  484. package/dist/assets/index-4efbac36.css +0 -21
  485. package/dist/assets/index-6140ff62.css +0 -21
  486. package/dist/assets/index-66b19339.css +0 -21
  487. package/dist/assets/index-6cb0dc4a.css +0 -21
  488. package/dist/assets/index-6f63d18f.css +0 -42
  489. package/dist/assets/index-76287c8f.css +0 -21
  490. package/dist/assets/index-7a7195d0.css +0 -21
  491. package/dist/assets/index-7e084b52.css +0 -21
  492. package/dist/assets/index-7f55fed2.css +0 -21
  493. package/dist/assets/index-7ffde264.css +0 -21
  494. package/dist/assets/index-81f5e4c8.css +0 -21
  495. package/dist/assets/index-82b5969a.css +0 -21
  496. package/dist/assets/index-852d8576.css +0 -21
  497. package/dist/assets/index-8f58dd75.css +0 -21
  498. package/dist/assets/index-935fa6f9.css +0 -42
  499. package/dist/assets/index-939ba6f0.css +0 -21
  500. package/dist/assets/index-a17dfbc4.css +0 -21
  501. package/dist/assets/index-a4a40fa3.css +0 -21
  502. package/dist/assets/index-a50a8de6.css +0 -1
  503. package/dist/assets/index-a513dcd5.css +0 -21
  504. package/dist/assets/index-a8c5cf75.css +0 -21
  505. package/dist/assets/index-a999ba9f.css +0 -21
  506. package/dist/assets/index-afc15e11.css +0 -21
  507. package/dist/assets/index-b814f5fa.css +0 -21
  508. package/dist/assets/index-ba6ad1b4.css +0 -21
  509. package/dist/assets/index-bf10e8e1.css +0 -21
  510. package/dist/assets/index-bf46edd7.css +0 -21
  511. package/dist/assets/index-c6d7f3b0.css +0 -21
  512. package/dist/assets/index-c736204a.css +0 -21
  513. package/dist/assets/index-cb76ef23.css +0 -21
  514. package/dist/assets/index-cc70a006.css +0 -21
  515. package/dist/assets/index-dd464a52.css +0 -21
  516. package/dist/assets/index-e0ceef85.css +0 -21
  517. package/dist/assets/index-ecdb616f.css +0 -42
  518. package/dist/assets/index-ee410fad.css +0 -21
  519. package/dist/assets/index-ef0bca81.css +0 -42
  520. package/dist/assets/index-f1030e54.css +0 -21
  521. package/dist/assets/index-f6ca40ca.css +0 -21
  522. package/dist/assets/index-f8466b88.css +0 -21
  523. package/dist/assets/referencePickerModal-41e4705a.css +0 -21
  524. package/dist/chunks/GenColors-8097de04.cjs +0 -1
  525. package/dist/chunks/GenColors-85cb6194.mjs +0 -25
  526. package/dist/chunks/GenRandomId-1e1b509a.mjs +0 -4
  527. package/dist/chunks/GenRandomId-67df40eb.cjs +0 -1
  528. package/dist/chunks/IsMobileState-151fc57d.cjs +0 -1
  529. package/dist/chunks/IsMobileState-151fc57d.cjs.map +0 -1
  530. package/dist/chunks/IsMobileState-e1fe5f58.mjs +0 -15
  531. package/dist/chunks/IsMobileState-e1fe5f58.mjs.map +0 -1
  532. package/dist/chunks/Linkify-a0faf443.mjs +0 -5
  533. package/dist/chunks/Linkify-a4db36a9.cjs +0 -1
  534. package/dist/chunks/NcAppNavigationToggle-5f3b9b9a.cjs +0 -1
  535. package/dist/chunks/NcAppNavigationToggle-5f3b9b9a.cjs.map +0 -1
  536. package/dist/chunks/NcAppNavigationToggle-86cc2542.mjs +0 -23
  537. package/dist/chunks/NcAppNavigationToggle-86cc2542.mjs.map +0 -1
  538. package/dist/chunks/NcInputConfirmCancel-0cd93e0e.mjs +0 -43
  539. package/dist/chunks/NcInputConfirmCancel-0cd93e0e.mjs.map +0 -1
  540. package/dist/chunks/NcInputConfirmCancel-17c8ddfb.cjs +0 -1
  541. package/dist/chunks/NcInputConfirmCancel-17c8ddfb.cjs.map +0 -1
  542. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-072bbb05.cjs.map +0 -1
  543. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-55016398.mjs.map +0 -1
  544. package/dist/chunks/NcRichText-3c54a3cc.cjs +0 -1
  545. package/dist/chunks/NcRichText-bb9d3893.mjs +0 -123
  546. package/dist/chunks/NcSettingsSelectGroup-0be1fe91.mjs +0 -58
  547. package/dist/chunks/NcSettingsSelectGroup-0be1fe91.mjs.map +0 -1
  548. package/dist/chunks/NcSettingsSelectGroup-62ca94a9.cjs +0 -1
  549. package/dist/chunks/NcSettingsSelectGroup-62ca94a9.cjs.map +0 -1
  550. package/dist/chunks/ScopeComponent-1f3a7612.mjs +0 -8
  551. package/dist/chunks/ScopeComponent-4b8bd1ee.cjs +0 -1
  552. package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs +0 -24
  553. package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs.map +0 -1
  554. package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs +0 -1
  555. package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs.map +0 -1
  556. package/dist/chunks/actionGlobal-cda46023.mjs +0 -15
  557. package/dist/chunks/actionGlobal-ec7003e8.cjs +0 -1
  558. package/dist/chunks/actionText-6c35d3fc.mjs +0 -23
  559. package/dist/chunks/actionText-bef01778.cjs +0 -1
  560. package/dist/chunks/focusTrap-139520e2.cjs +0 -1
  561. package/dist/chunks/focusTrap-173aba65.mjs +0 -6
  562. package/dist/chunks/index-197226c7.mjs +0 -171
  563. package/dist/chunks/index-197226c7.mjs.map +0 -1
  564. package/dist/chunks/index-377488aa.mjs +0 -46
  565. package/dist/chunks/index-858938bd.cjs +0 -3
  566. package/dist/chunks/index-cd3f1f8f.mjs +0 -43
  567. package/dist/chunks/index-cebd6e80.cjs +0 -1
  568. package/dist/chunks/index-cebd6e80.cjs.map +0 -1
  569. package/dist/chunks/index-df3f51c6.cjs +0 -1
  570. package/dist/chunks/l10n-05baf7da.mjs +0 -5
  571. package/dist/chunks/l10n-05baf7da.mjs.map +0 -1
  572. package/dist/chunks/l10n-46d0c1c0.cjs +0 -1
  573. package/dist/chunks/l10n-46d0c1c0.cjs.map +0 -1
  574. package/dist/chunks/l10n-9a5a6afc.mjs +0 -18
  575. package/dist/chunks/l10n-9a5a6afc.mjs.map +0 -1
  576. package/dist/chunks/l10n-dacb6440.cjs +0 -1
  577. package/dist/chunks/l10n-dacb6440.cjs.map +0 -1
  578. package/dist/chunks/logger-01af1a78.cjs +0 -1
  579. package/dist/chunks/logger-ccc7ee65.mjs +0 -5
  580. package/dist/chunks/referencePickerModal-6120a321.cjs +0 -1
  581. package/dist/chunks/referencePickerModal-6120a321.cjs.map +0 -1
  582. package/dist/chunks/referencePickerModal-d0573462.mjs +0 -428
  583. package/dist/chunks/referencePickerModal-d0573462.mjs.map +0 -1
@@ -1 +1,175 @@
1
- var y=require("../assets/index-66b19339.css");const o=require("./NcPopover.cjs"),c=require("./NcTextField.cjs"),i=require("../chunks/l10n-46d0c1c0.cjs"),s=require("emoji-mart-vue-fast"),l=require("emoji-mart-vue-fast/data/all.json"),u=require("../chunks/_plugin-vue2_normalizer-764a4c12.cjs");let a;const h={search:i.t("Search emoji"),notfound:i.t("No emoji found"),categories:{search:i.t("Search results"),recent:i.t("Frequently used"),smileys:i.t("Smileys & Emotion"),people:i.t("People & Body"),nature:i.t("Animals & Nature"),foods:i.t("Food & Drink"),activity:i.t("Activities"),places:i.t("Travel & Places"),objects:i.t("Objects"),symbols:i.t("Symbols"),flags:i.t("Flags"),custom:i.t("Custom")}},p={name:"NcEmojiPicker",components:{NcPopover:o,NcTextField:c,Emoji:s.Emoji,Picker:s.Picker},props:{activeSet:{type:String,default:"native"},showPreview:{type:Boolean,default:!1},allowUnselect:{type:Boolean,default:!1},selectedEmoji:{type:String,default:""},previewFallbackEmoji:{type:String,default:"grinning"},previewFallbackName:{type:String,default:i.t("Pick an emoji")},closeOnSelect:{type:Boolean,default:!0},container:{type:[String,Object,Element,Boolean],default:"body"}},emits:["select","select-data","unselect"],setup(){return a||(a=new s.EmojiIndex(l)),{emojiIndex:a,i18n:h}},data(){return{search:"",open:!1}},computed:{native(){return this.activeSet==="native"}},methods:{t:i.t,clearSearch(){var t,r;this.search="";const e=(r=(t=this.$refs.search)==null?void 0:t.$refs.inputField)==null?void 0:r.$refs.input;e&&e.focus()},select(e){this.$emit("select",e.native),this.$emit("select-data",e),this.closeOnSelect&&(this.open=!1)},unselect(){this.$emit("unselect")},afterShow(){var t,r;this.$refs.picker.$el.addEventListener("keydown",this.checkKeyEvent);const e=(r=(t=this.$refs.search)==null?void 0:t.$refs.inputField)==null?void 0:r.$refs.input;e&&e.focus()},afterHide(){this.$refs.picker.$el.removeEventListener("keydown",this.checkKeyEvent)},checkKeyEvent(e){if(e.key!=="Tab")return;const t=this.$refs.picker.$el.querySelectorAll("button, input"),r=t.length-1;if(t.length<=1){e.preventDefault();return}e.shiftKey===!1&&e.target===t[r]?(e.preventDefault(),t[0].focus()):e.shiftKey===!0&&e.target===t[0]&&(e.preventDefault(),t[r].focus())}}};var m=function(){var e=this,t=e._self._c;return t("NcPopover",e._g(e._b({attrs:{shown:e.open,container:e.container},on:{"update:shown":function(r){e.open=r},"after-show":e.afterShow,"after-hide":e.afterHide},scopedSlots:e._u([{key:"trigger",fn:function(){return[e._t("default")]},proxy:!0}],null,!0)},"NcPopover",e.$attrs,!1),e.$listeners),[t("Picker",e._b({ref:"picker",attrs:{"auto-focus":!1,color:"var(--color-primary-element)",data:e.emojiIndex,emoji:e.previewFallbackEmoji,i18n:e.i18n,native:e.native,"emoji-size":20,"per-line":8,"picker-styles":{width:"320px"},"show-preview":e.showPreview,title:e.previewFallbackName},on:{select:e.select},scopedSlots:e._u([{key:"searchTemplate",fn:function(r){return[t("NcTextField",{ref:"search",staticClass:"search",attrs:{value:e.search,label:e.t("Search"),"label-visible":!0,placeholder:e.i18n.search,"trailing-button-icon":"close","trailing-button-label":e.t("Clear search"),"show-trailing-button":e.search!==""},on:{"update:value":[function(n){e.search=n},function(n){return r.onSearch(e.search)}],"trailing-button-click":function(n){e.clearSearch(),r.onSearch(e.search)}}})]}},e.allowUnselect&&e.selectedEmoji?{key:"customCategory",fn:function(){return[t("div",{staticClass:"emoji-mart-category-label"},[t("h3",{staticClass:"emoji-mart-category-label"},[e._v(" "+e._s(e.t("Selected"))+" ")])]),t("Emoji",{staticClass:"emoji-selected",attrs:{data:e.emojiIndex,emoji:e.selectedEmoji,native:!0,size:32},on:{click:e.unselect}}),t("Emoji",{staticClass:"emoji-delete",attrs:{data:e.emojiIndex,emoji:":x:",native:!0,size:10},on:{click:e.unselect}})]},proxy:!0}:null],null,!0)},"Picker",e.$attrs,!1))],1)},d=[],f=u.normalizeComponent(p,m,d,!1,null,"4d56e499",null,null);const v=f.exports;module.exports=v;
1
+ var j = require("../assets/index-2a8e4ca1.css");
2
+ const c = require("./NcPopover.cjs"), l = require("./NcTextField.cjs"), r = require("../chunks/l10n-b1d264c7.cjs"), a = require("emoji-mart-vue-fast"), u = require("emoji-mart-vue-fast/data/all.json"), f = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs"), p = (t) => t && t.__esModule ? t : { default: t }, d = /* @__PURE__ */ p(u);
3
+ let o;
4
+ const m = {
5
+ search: r.t("Search emoji"),
6
+ notfound: r.t("No emoji found"),
7
+ categories: {
8
+ search: r.t("Search results"),
9
+ recent: r.t("Frequently used"),
10
+ smileys: r.t("Smileys & Emotion"),
11
+ people: r.t("People & Body"),
12
+ nature: r.t("Animals & Nature"),
13
+ foods: r.t("Food & Drink"),
14
+ activity: r.t("Activities"),
15
+ places: r.t("Travel & Places"),
16
+ objects: r.t("Objects"),
17
+ symbols: r.t("Symbols"),
18
+ flags: r.t("Flags"),
19
+ custom: r.t("Custom")
20
+ }
21
+ }, h = {
22
+ name: "NcEmojiPicker",
23
+ components: {
24
+ NcPopover: c,
25
+ NcTextField: l,
26
+ Emoji: a.Emoji,
27
+ Picker: a.Picker
28
+ },
29
+ props: {
30
+ /**
31
+ * The emoji-set
32
+ */
33
+ activeSet: {
34
+ type: String,
35
+ default: "native"
36
+ },
37
+ /**
38
+ * Show preview section when hovering emoji
39
+ */
40
+ showPreview: {
41
+ type: Boolean,
42
+ default: !1
43
+ },
44
+ /**
45
+ * Allow unselecting the selected emoji
46
+ */
47
+ allowUnselect: {
48
+ type: Boolean,
49
+ default: !1
50
+ },
51
+ /**
52
+ * Selected emoji to allow unselecting
53
+ */
54
+ selectedEmoji: {
55
+ type: String,
56
+ default: ""
57
+ },
58
+ /**
59
+ * The fallback emoji in the preview section
60
+ */
61
+ previewFallbackEmoji: {
62
+ type: String,
63
+ default: "grinning"
64
+ },
65
+ /**
66
+ * The fallback text in the preview section
67
+ */
68
+ previewFallbackName: {
69
+ type: String,
70
+ default: r.t("Pick an emoji")
71
+ },
72
+ /**
73
+ * Whether to close the emoji picker after picking one
74
+ */
75
+ closeOnSelect: {
76
+ type: Boolean,
77
+ default: !0
78
+ },
79
+ /**
80
+ * Selector for the popover container
81
+ */
82
+ container: {
83
+ type: [String, Object, Element, Boolean],
84
+ default: "body"
85
+ }
86
+ },
87
+ emits: [
88
+ "select",
89
+ "select-data",
90
+ "unselect"
91
+ ],
92
+ setup() {
93
+ return o || (o = new a.EmojiIndex(d.default)), {
94
+ // Non-reactive constants
95
+ emojiIndex: o,
96
+ i18n: m
97
+ };
98
+ },
99
+ data() {
100
+ return {
101
+ search: "",
102
+ open: !1
103
+ };
104
+ },
105
+ computed: {
106
+ native() {
107
+ return this.activeSet === "native";
108
+ }
109
+ },
110
+ methods: {
111
+ t: r.t,
112
+ clearSearch() {
113
+ var e, i;
114
+ this.search = "";
115
+ const t = (i = (e = this.$refs.search) == null ? void 0 : e.$refs.inputField) == null ? void 0 : i.$refs.input;
116
+ t && t.focus();
117
+ },
118
+ select(t) {
119
+ this.$emit("select", t.native), this.$emit("select-data", t), this.closeOnSelect && (this.open = !1);
120
+ },
121
+ unselect() {
122
+ this.$emit("unselect");
123
+ },
124
+ afterShow() {
125
+ var i, s;
126
+ this.$refs.picker.$el.addEventListener("keydown", this.checkKeyEvent);
127
+ const e = (s = (i = this.$refs.search) == null ? void 0 : i.$refs.inputField) == null ? void 0 : s.$refs.input;
128
+ e && e.focus();
129
+ },
130
+ afterHide() {
131
+ this.$refs.picker.$el.removeEventListener("keydown", this.checkKeyEvent);
132
+ },
133
+ checkKeyEvent(t) {
134
+ if (t.key !== "Tab")
135
+ return;
136
+ const i = this.$refs.picker.$el.querySelectorAll(
137
+ "button, input"
138
+ ), s = i.length - 1;
139
+ if (i.length <= 1) {
140
+ t.preventDefault();
141
+ return;
142
+ }
143
+ t.shiftKey === !1 && t.target === i[s] ? (t.preventDefault(), i[0].focus()) : t.shiftKey === !0 && t.target === i[0] && (t.preventDefault(), i[s].focus());
144
+ }
145
+ }
146
+ };
147
+ var _ = function() {
148
+ var e = this, i = e._self._c;
149
+ return i("NcPopover", e._g(e._b({ attrs: { shown: e.open, container: e.container }, on: { "update:shown": function(s) {
150
+ e.open = s;
151
+ }, "after-show": e.afterShow, "after-hide": e.afterHide }, scopedSlots: e._u([{ key: "trigger", fn: function() {
152
+ return [e._t("default")];
153
+ }, proxy: !0 }], null, !0) }, "NcPopover", e.$attrs, !1), e.$listeners), [i("Picker", e._b({ ref: "picker", attrs: { "auto-focus": !1, color: "var(--color-primary-element)", data: e.emojiIndex, emoji: e.previewFallbackEmoji, i18n: e.i18n, native: e.native, "emoji-size": 20, "per-line": 8, "picker-styles": { width: "320px" }, "show-preview": e.showPreview, title: e.previewFallbackName }, on: { select: e.select }, scopedSlots: e._u([{ key: "searchTemplate", fn: function(s) {
154
+ return [i("NcTextField", { ref: "search", staticClass: "search", attrs: { value: e.search, label: e.t("Search"), "label-visible": !0, placeholder: e.i18n.search, "trailing-button-icon": "close", "trailing-button-label": e.t("Clear search"), "show-trailing-button": e.search !== "" }, on: { "update:value": [function(n) {
155
+ e.search = n;
156
+ }, function(n) {
157
+ return s.onSearch(e.search);
158
+ }], "trailing-button-click": function(n) {
159
+ e.clearSearch(), s.onSearch(e.search);
160
+ } } })];
161
+ } }, e.allowUnselect && e.selectedEmoji ? { key: "customCategory", fn: function() {
162
+ return [i("div", { staticClass: "emoji-mart-category-label" }, [i("h3", { staticClass: "emoji-mart-category-label" }, [e._v(" " + e._s(e.t("Selected")) + " ")])]), i("Emoji", { staticClass: "emoji-selected", attrs: { data: e.emojiIndex, emoji: e.selectedEmoji, native: !0, size: 32 }, on: { click: e.unselect } }), i("Emoji", { staticClass: "emoji-delete", attrs: { data: e.emojiIndex, emoji: ":x:", native: !0, size: 10 }, on: { click: e.unselect } })];
163
+ }, proxy: !0 } : null], null, !0) }, "Picker", e.$attrs, !1))], 1);
164
+ }, v = [], y = /* @__PURE__ */ f.normalizeComponent(
165
+ h,
166
+ _,
167
+ v,
168
+ !1,
169
+ null,
170
+ "4d56e499",
171
+ null,
172
+ null
173
+ );
174
+ const k = y.exports;
175
+ module.exports = k;
@@ -1 +1 @@
1
- {"version":3,"file":"NcEmojiPicker.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"NcEmojiPicker.cjs","sources":["../../src/components/NcEmojiPicker/NcEmojiPicker.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n -\n - @author 2020 Georg Ehrke <oc.list@georgehrke.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### General description\n\nThis component allows the user to pick an emoji.\n\n### Usage\n\n* Listen to the select event and pass in an HTML element that will be treated as a trigger:\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker @select=\"select\" style=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n* Showing a preview and keeping it open after a user selected an emoji\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker\n\t\t\t:close-on-select=\"false\"\n\t\t\t:show-preview=\"true\"\n\t\t\t@select=\"select\"\n\t\t\tstyle=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n* Allow unselecting a previously set emoji.\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker\n\t\t\t:show-preview=\"true\"\n\t\t\t:allow-unselect=\"true\"\n\t\t\t:selected-emoji=\"emoji\"\n\t\t\t@select=\"select\"\n\t\t\t@unselect=\"unselect\"\n\t\t\tstyle=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t\tunselect() {\n\t\t\t\tthis.emoji = ''\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n</docs>\n\n<template>\n\t<NcPopover :shown.sync=\"open\"\n\t\t:container=\"container\"\n\t\tv-bind=\"$attrs\"\n\t\tv-on=\"$listeners\"\n\t\t@after-show=\"afterShow\"\n\t\t@after-hide=\"afterHide\">\n\t\t<template #trigger>\n\t\t\t<slot />\n\t\t</template>\n\t\t<Picker ref=\"picker\"\n\t\t\t:auto-focus=\"false /* We manage the input focus ourselves */\"\n\t\t\tcolor=\"var(--color-primary-element)\"\n\t\t\t:data=\"emojiIndex\"\n\t\t\t:emoji=\"previewFallbackEmoji\"\n\t\t\t:i18n=\"i18n\"\n\t\t\t:native=\"native\"\n\t\t\t:emoji-size=\"20\"\n\t\t\t:per-line=\"8\"\n\t\t\t:picker-styles=\"{ width: '320px' }\"\n\t\t\t:show-preview=\"showPreview\"\n\t\t\t:title=\"previewFallbackName\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\t@select=\"select\">\n\t\t\t<template #searchTemplate=\"slotProps\">\n\t\t\t\t<NcTextField ref=\"search\"\n\t\t\t\t\tclass=\"search\"\n\t\t\t\t\t:value.sync=\"search\"\n\t\t\t\t\t:label=\"t('Search')\"\n\t\t\t\t\t:label-visible=\"true\"\n\t\t\t\t\t:placeholder=\"i18n.search\"\n\t\t\t\t\ttrailing-button-icon=\"close\"\n\t\t\t\t\t:trailing-button-label=\"t('Clear search')\"\n\t\t\t\t\t:show-trailing-button=\"search !== ''\"\n\t\t\t\t\t@trailing-button-click=\"clearSearch(); slotProps.onSearch(search);\"\n\t\t\t\t\t@update:value=\"slotProps.onSearch(search)\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"allowUnselect && selectedEmoji\" #customCategory>\n\t\t\t\t<div class=\"emoji-mart-category-label\">\n\t\t\t\t\t<h3 class=\"emoji-mart-category-label\">\n\t\t\t\t\t\t{{ t('Selected') }}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t\t<Emoji class=\"emoji-selected\"\n\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\t:emoji=\"selectedEmoji\"\n\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t:size=\"32\"\n\t\t\t\t\t@click=\"unselect\" />\n\t\t\t\t<Emoji class=\"emoji-delete\"\n\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\temoji=\":x:\"\n\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t:size=\"10\"\n\t\t\t\t\t@click=\"unselect\" />\n\t\t\t</template>\n\t\t</Picker>\n\t</NcPopover>\n</template>\n\n<script>\nimport NcPopover from '../NcPopover/index.js'\nimport NcTextField from '../NcTextField/index.js'\nimport { t } from '../../l10n.js'\n\nimport { Picker, Emoji, EmojiIndex } from 'emoji-mart-vue-fast'\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\n// Shared emoji index for all NcEmojiPicker instances\n// Will be initialized on the first NcEmojiPicker creating\nlet emojiIndex\n\nconst i18n = {\n\tsearch: t('Search emoji'),\n\tnotfound: t('No emoji found'),\n\tcategories: {\n\t\tsearch: t('Search results'),\n\t\trecent: t('Frequently used'),\n\t\tsmileys: t('Smileys & Emotion'),\n\t\tpeople: t('People & Body'),\n\t\tnature: t('Animals & Nature'),\n\t\tfoods: t('Food & Drink'),\n\t\tactivity: t('Activities'),\n\t\tplaces: t('Travel & Places'),\n\t\tobjects: t('Objects'),\n\t\tsymbols: t('Symbols'),\n\t\tflags: t('Flags'),\n\t\tcustom: t('Custom'),\n\t},\n}\n\nexport default {\n\tname: 'NcEmojiPicker',\n\tcomponents: {\n\t\tNcPopover,\n\t\tNcTextField,\n\t\tEmoji,\n\t\tPicker,\n\t},\n\tprops: {\n\t\t/**\n\t\t * The emoji-set\n\t\t */\n\t\tactiveSet: {\n\t\t\ttype: String,\n\t\t\tdefault: 'native',\n\t\t},\n\t\t/**\n\t\t * Show preview section when hovering emoji\n\t\t */\n\t\tshowPreview: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Allow unselecting the selected emoji\n\t\t */\n\t\tallowUnselect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Selected emoji to allow unselecting\n\t\t */\n\t\tselectedEmoji: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The fallback emoji in the preview section\n\t\t */\n\t\tpreviewFallbackEmoji: {\n\t\t\ttype: String,\n\t\t\tdefault: 'grinning',\n\t\t},\n\t\t/**\n\t\t * The fallback text in the preview section\n\t\t */\n\t\tpreviewFallbackName: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Pick an emoji'),\n\t\t},\n\t\t/**\n\t\t * Whether to close the emoji picker after picking one\n\t\t */\n\t\tcloseOnSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover container\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\temits: [\n\t\t'select',\n\t\t'select-data',\n\t\t'unselect',\n\t],\n\n\tsetup() {\n\t\t// If this is the first instance of NcEmojiPicker - setup EmojiIndex\n\t\tif (!emojiIndex) {\n\t\t\temojiIndex = new EmojiIndex(data)\n\t\t}\n\n\t\treturn {\n\t\t\t// Non-reactive constants\n\t\t\temojiIndex,\n\t\t\ti18n,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsearch: '',\n\t\t\topen: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tnative() {\n\t\t\treturn this.activeSet === 'native'\n\t\t},\n\t},\n\tmethods: {\n\t\tt,\n\n\t\tclearSearch() {\n\t\t\tthis.search = ''\n\t\t\tconst input = this.$refs.search?.$refs.inputField?.$refs.input\n\t\t\tif (input) {\n\t\t\t\tinput.focus()\n\t\t\t}\n\t\t},\n\n\t\tselect(emojiObject) {\n\t\t\t/**\n\t\t\t * Emits a string containing the emoji e.g. '👩🏿‍💻'\n\t\t\t */\n\t\t\tthis.$emit('select', emojiObject.native)\n\n\t\t\t/**\n\t\t\t * Emits a object with more data about the picked emoji\n\t\t\t */\n\t\t\tthis.$emit('select-data', emojiObject)\n\n\t\t\tif (this.closeOnSelect) {\n\t\t\t\tthis.open = false\n\t\t\t}\n\t\t},\n\n\t\tunselect() {\n\t\t\tthis.$emit('unselect')\n\t\t},\n\n\t\tafterShow() {\n\t\t\t// add focus trap in modal\n\t\t\tconst picker = this.$refs.picker\n\t\t\tpicker.$el.addEventListener('keydown', this.checkKeyEvent)\n\n\t\t\t// set focus on input search field\n\t\t\tconst input = this.$refs.search?.$refs.inputField?.$refs.input\n\t\t\tif (input) {\n\t\t\t\tinput.focus()\n\t\t\t}\n\t\t},\n\n\t\tafterHide() {\n\t\t\t// remove keydown listner if popover is hidden\n\t\t\tconst picker = this.$refs.picker\n\t\t\tpicker.$el.removeEventListener('keydown', this.checkKeyEvent)\n\t\t},\n\n\t\tcheckKeyEvent(event) {\n\t\t\tif (event.key !== 'Tab') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst picker = this.$refs.picker\n\t\t\tconst focusableList = picker.$el.querySelectorAll(\n\t\t\t\t'button, input',\n\t\t\t)\n\t\t\tconst last = focusableList.length - 1\n\t\t\t// escape early if only 1 or no elements to focus\n\t\t\tif (focusableList.length <= 1) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (event.shiftKey === false && event.target === focusableList[last]) {\n\t\t\t\t// Jump to first item when pressing tab on the latest item\n\t\t\t\tevent.preventDefault()\n\t\t\t\tfocusableList[0].focus()\n\t\t\t} else if (event.shiftKey === true && event.target === focusableList[0]) {\n\t\t\t\t// Jump to the last item if pressing shift+tab on the first item\n\t\t\t\tevent.preventDefault()\n\t\t\t\tfocusableList[last].focus()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n@import 'emoji-mart-vue-fast/css/emoji-mart.css';\n\n.emoji-mart {\n\tbackground-color: var(--color-main-background) !important;\n\tborder: 0;\n\tcolor: var(--color-main-text) !important;\n\n\t// default style reset\n\tbutton {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tfont-size: inherit;\n\t\theight: 36px;\n\t\twidth: auto;\n\n\t\t* {\n\t\t\tcursor: pointer !important;\n\t\t}\n\t}\n\n\t.emoji-mart-bar,\n\t.emoji-mart-anchors,\n\t.emoji-mart-search,\n\t.emoji-mart-search input,\n\t.emoji-mart-category,\n\t.emoji-mart-category-label,\n\t.emoji-mart-category-label span,\n\t.emoji-mart-skin-swatches {\n\t\tbackground-color: transparent !important;\n\t\tborder-color: var(--color-border) !important;\n\t\tcolor: inherit !important;\n\t}\n\n\t.emoji-mart-search input:focus-visible {\n\t\tbox-shadow: inset 0 0 0 2px var(--color-primary-element);\n\t\toutline: none;\n\t}\n\n\t.emoji-mart-bar {\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: var(--border-radius) !important;\n\t\t\tborder-top-right-radius: var(--border-radius) !important;\n\t\t}\n\t}\n\n\t.emoji-mart-anchors {\n\t\tbutton {\n\t\t\tborder-radius: 0;\n\t\t\tpadding: 12px 4px;\n\t\t\theight: auto;\n\t\t\t&:focus-visible {\n\t\t\t\t/* box-shadow: inset 0 0 0 2px var(--color-primary-element); */\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t}\n\n\t.emoji-mart-category {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: start;\n\n\t\t.emoji-mart-category-label,\n\t\t.emoji-mart-emoji {\n\t\t\tuser-select: none;\n\t\t\tflex-grow: 0;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t.emoji-mart-category-label {\n\t\t\tflex-basis: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t.emoji-mart-emoji {\n\t\t\t// 8 emoji per row\n\t\t\tflex-basis: calc(100% / 8);\n\t\t\ttext-align: center;\n\n\t\t\t&:hover::before,\n\t\t\t&.emoji-mart-emoji-selected::before{\n\t\t\t\tbackground-color: var(--color-background-hover) !important;\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t\tbutton {\n\n\t\t\t&:focus-visible {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\tborder: 2px solid var(--color-primary-element) !important;\n\t\t\t\tborder-radius: 50%;\n\t\t\t}\n\t\t}\n\t}\n\n}\n\n.search {\n\tpadding: 4px 8px;\n}\n\n</style>\n\n<style scoped>\n.row-selected span {\n\tvertical-align: middle;\n}\n\n.row-selected button {\n\tvertical-align: middle;\n}\n\n.emoji-delete {\n\tvertical-align: top;\n\tmargin-left: -21px;\n\tmargin-top: -3px;\n}\n</style>\n"],"names":["emojiIndex","i18n","l10n","_sfc_main","Components_NcPopover","Components_NcTextField","emojiMartVueFast","data__default","input","_b","_a","emojiObject","event","focusableList","last"],"mappings":"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"}
@@ -1,62 +1,182 @@
1
- import "../assets/index-66b19339.css";
2
- import a from "./NcPopover.mjs";
3
- import n from "./NcTextField.mjs";
4
- import { t as i } from "../chunks/l10n-9a5a6afc.mjs";
5
- import { Emoji as l, Picker as c, EmojiIndex as u } from "emoji-mart-vue-fast";
6
- import m from "emoji-mart-vue-fast/data/all.json";
7
- import { n as p } from "../chunks/_plugin-vue2_normalizer-5b4c43a4.mjs";
8
- let s;
9
- const f = { search: i("Search emoji"), notfound: i("No emoji found"), categories: { search: i("Search results"), recent: i("Frequently used"), smileys: i("Smileys & Emotion"), people: i("People & Body"), nature: i("Animals & Nature"), foods: i("Food & Drink"), activity: i("Activities"), places: i("Travel & Places"), objects: i("Objects"), symbols: i("Symbols"), flags: i("Flags"), custom: i("Custom") } }, h = { name: "NcEmojiPicker", components: { NcPopover: a, NcTextField: n, Emoji: l, Picker: c }, props: { activeSet: { type: String, default: "native" }, showPreview: { type: Boolean, default: !1 }, allowUnselect: { type: Boolean, default: !1 }, selectedEmoji: { type: String, default: "" }, previewFallbackEmoji: { type: String, default: "grinning" }, previewFallbackName: { type: String, default: i("Pick an emoji") }, closeOnSelect: { type: Boolean, default: !0 }, container: { type: [String, Object, Element, Boolean], default: "body" } }, emits: ["select", "select-data", "unselect"], setup() {
10
- return s || (s = new u(m)), { emojiIndex: s, i18n: f };
11
- }, data() {
12
- return { search: "", open: !1 };
13
- }, computed: { native() {
14
- return this.activeSet === "native";
15
- } }, methods: { t: i, clearSearch() {
16
- var t, r;
17
- this.search = "";
18
- const e = (r = (t = this.$refs.search) == null ? void 0 : t.$refs.inputField) == null ? void 0 : r.$refs.input;
19
- e && e.focus();
20
- }, select(e) {
21
- this.$emit("select", e.native), this.$emit("select-data", e), this.closeOnSelect && (this.open = !1);
22
- }, unselect() {
23
- this.$emit("unselect");
24
- }, afterShow() {
25
- var t, r;
26
- this.$refs.picker.$el.addEventListener("keydown", this.checkKeyEvent);
27
- const e = (r = (t = this.$refs.search) == null ? void 0 : t.$refs.inputField) == null ? void 0 : r.$refs.input;
28
- e && e.focus();
29
- }, afterHide() {
30
- this.$refs.picker.$el.removeEventListener("keydown", this.checkKeyEvent);
31
- }, checkKeyEvent(e) {
32
- if (e.key !== "Tab")
33
- return;
34
- const t = this.$refs.picker.$el.querySelectorAll("button, input"), r = t.length - 1;
35
- if (t.length <= 1) {
36
- e.preventDefault();
37
- return;
1
+ import "../assets/index-2a8e4ca1.css";
2
+ import n from "./NcPopover.mjs";
3
+ import c from "./NcTextField.mjs";
4
+ import { t as r } from "../chunks/l10n-05a09c66.mjs";
5
+ import { Emoji as l, Picker as u, EmojiIndex as f } from "emoji-mart-vue-fast";
6
+ import p from "emoji-mart-vue-fast/data/all.json";
7
+ import { n as m } from "../chunks/_plugin-vue2_normalizer-71e2aa87.mjs";
8
+ let o;
9
+ const d = {
10
+ search: r("Search emoji"),
11
+ notfound: r("No emoji found"),
12
+ categories: {
13
+ search: r("Search results"),
14
+ recent: r("Frequently used"),
15
+ smileys: r("Smileys & Emotion"),
16
+ people: r("People & Body"),
17
+ nature: r("Animals & Nature"),
18
+ foods: r("Food & Drink"),
19
+ activity: r("Activities"),
20
+ places: r("Travel & Places"),
21
+ objects: r("Objects"),
22
+ symbols: r("Symbols"),
23
+ flags: r("Flags"),
24
+ custom: r("Custom")
38
25
  }
39
- e.shiftKey === !1 && e.target === t[r] ? (e.preventDefault(), t[0].focus()) : e.shiftKey === !0 && e.target === t[0] && (e.preventDefault(), t[r].focus());
40
- } } };
41
- var d = function() {
26
+ }, h = {
27
+ name: "NcEmojiPicker",
28
+ components: {
29
+ NcPopover: n,
30
+ NcTextField: c,
31
+ Emoji: l,
32
+ Picker: u
33
+ },
34
+ props: {
35
+ /**
36
+ * The emoji-set
37
+ */
38
+ activeSet: {
39
+ type: String,
40
+ default: "native"
41
+ },
42
+ /**
43
+ * Show preview section when hovering emoji
44
+ */
45
+ showPreview: {
46
+ type: Boolean,
47
+ default: !1
48
+ },
49
+ /**
50
+ * Allow unselecting the selected emoji
51
+ */
52
+ allowUnselect: {
53
+ type: Boolean,
54
+ default: !1
55
+ },
56
+ /**
57
+ * Selected emoji to allow unselecting
58
+ */
59
+ selectedEmoji: {
60
+ type: String,
61
+ default: ""
62
+ },
63
+ /**
64
+ * The fallback emoji in the preview section
65
+ */
66
+ previewFallbackEmoji: {
67
+ type: String,
68
+ default: "grinning"
69
+ },
70
+ /**
71
+ * The fallback text in the preview section
72
+ */
73
+ previewFallbackName: {
74
+ type: String,
75
+ default: r("Pick an emoji")
76
+ },
77
+ /**
78
+ * Whether to close the emoji picker after picking one
79
+ */
80
+ closeOnSelect: {
81
+ type: Boolean,
82
+ default: !0
83
+ },
84
+ /**
85
+ * Selector for the popover container
86
+ */
87
+ container: {
88
+ type: [String, Object, Element, Boolean],
89
+ default: "body"
90
+ }
91
+ },
92
+ emits: [
93
+ "select",
94
+ "select-data",
95
+ "unselect"
96
+ ],
97
+ setup() {
98
+ return o || (o = new f(p)), {
99
+ // Non-reactive constants
100
+ emojiIndex: o,
101
+ i18n: d
102
+ };
103
+ },
104
+ data() {
105
+ return {
106
+ search: "",
107
+ open: !1
108
+ };
109
+ },
110
+ computed: {
111
+ native() {
112
+ return this.activeSet === "native";
113
+ }
114
+ },
115
+ methods: {
116
+ t: r,
117
+ clearSearch() {
118
+ var e, t;
119
+ this.search = "";
120
+ const i = (t = (e = this.$refs.search) == null ? void 0 : e.$refs.inputField) == null ? void 0 : t.$refs.input;
121
+ i && i.focus();
122
+ },
123
+ select(i) {
124
+ this.$emit("select", i.native), this.$emit("select-data", i), this.closeOnSelect && (this.open = !1);
125
+ },
126
+ unselect() {
127
+ this.$emit("unselect");
128
+ },
129
+ afterShow() {
130
+ var t, s;
131
+ this.$refs.picker.$el.addEventListener("keydown", this.checkKeyEvent);
132
+ const e = (s = (t = this.$refs.search) == null ? void 0 : t.$refs.inputField) == null ? void 0 : s.$refs.input;
133
+ e && e.focus();
134
+ },
135
+ afterHide() {
136
+ this.$refs.picker.$el.removeEventListener("keydown", this.checkKeyEvent);
137
+ },
138
+ checkKeyEvent(i) {
139
+ if (i.key !== "Tab")
140
+ return;
141
+ const t = this.$refs.picker.$el.querySelectorAll(
142
+ "button, input"
143
+ ), s = t.length - 1;
144
+ if (t.length <= 1) {
145
+ i.preventDefault();
146
+ return;
147
+ }
148
+ i.shiftKey === !1 && i.target === t[s] ? (i.preventDefault(), t[0].focus()) : i.shiftKey === !0 && i.target === t[0] && (i.preventDefault(), t[s].focus());
149
+ }
150
+ }
151
+ };
152
+ var v = function() {
42
153
  var e = this, t = e._self._c;
43
- return t("NcPopover", e._g(e._b({ attrs: { shown: e.open, container: e.container }, on: { "update:shown": function(r) {
44
- e.open = r;
154
+ return t("NcPopover", e._g(e._b({ attrs: { shown: e.open, container: e.container }, on: { "update:shown": function(s) {
155
+ e.open = s;
45
156
  }, "after-show": e.afterShow, "after-hide": e.afterHide }, scopedSlots: e._u([{ key: "trigger", fn: function() {
46
157
  return [e._t("default")];
47
- }, proxy: !0 }], null, !0) }, "NcPopover", e.$attrs, !1), e.$listeners), [t("Picker", e._b({ ref: "picker", attrs: { "auto-focus": !1, color: "var(--color-primary-element)", data: e.emojiIndex, emoji: e.previewFallbackEmoji, i18n: e.i18n, native: e.native, "emoji-size": 20, "per-line": 8, "picker-styles": { width: "320px" }, "show-preview": e.showPreview, title: e.previewFallbackName }, on: { select: e.select }, scopedSlots: e._u([{ key: "searchTemplate", fn: function(r) {
48
- return [t("NcTextField", { ref: "search", staticClass: "search", attrs: { value: e.search, label: e.t("Search"), "label-visible": !0, placeholder: e.i18n.search, "trailing-button-icon": "close", "trailing-button-label": e.t("Clear search"), "show-trailing-button": e.search !== "" }, on: { "update:value": [function(o) {
49
- e.search = o;
50
- }, function(o) {
51
- return r.onSearch(e.search);
52
- }], "trailing-button-click": function(o) {
53
- e.clearSearch(), r.onSearch(e.search);
158
+ }, proxy: !0 }], null, !0) }, "NcPopover", e.$attrs, !1), e.$listeners), [t("Picker", e._b({ ref: "picker", attrs: { "auto-focus": !1, color: "var(--color-primary-element)", data: e.emojiIndex, emoji: e.previewFallbackEmoji, i18n: e.i18n, native: e.native, "emoji-size": 20, "per-line": 8, "picker-styles": { width: "320px" }, "show-preview": e.showPreview, title: e.previewFallbackName }, on: { select: e.select }, scopedSlots: e._u([{ key: "searchTemplate", fn: function(s) {
159
+ return [t("NcTextField", { ref: "search", staticClass: "search", attrs: { value: e.search, label: e.t("Search"), "label-visible": !0, placeholder: e.i18n.search, "trailing-button-icon": "close", "trailing-button-label": e.t("Clear search"), "show-trailing-button": e.search !== "" }, on: { "update:value": [function(a) {
160
+ e.search = a;
161
+ }, function(a) {
162
+ return s.onSearch(e.search);
163
+ }], "trailing-button-click": function(a) {
164
+ e.clearSearch(), s.onSearch(e.search);
54
165
  } } })];
55
166
  } }, e.allowUnselect && e.selectedEmoji ? { key: "customCategory", fn: function() {
56
167
  return [t("div", { staticClass: "emoji-mart-category-label" }, [t("h3", { staticClass: "emoji-mart-category-label" }, [e._v(" " + e._s(e.t("Selected")) + " ")])]), t("Emoji", { staticClass: "emoji-selected", attrs: { data: e.emojiIndex, emoji: e.selectedEmoji, native: !0, size: 32 }, on: { click: e.unselect } }), t("Emoji", { staticClass: "emoji-delete", attrs: { data: e.emojiIndex, emoji: ":x:", native: !0, size: 10 }, on: { click: e.unselect } })];
57
168
  }, proxy: !0 } : null], null, !0) }, "Picker", e.$attrs, !1))], 1);
58
- }, v = [], y = p(h, d, v, !1, null, "4d56e499", null, null);
59
- const E = y.exports;
169
+ }, y = [], _ = /* @__PURE__ */ m(
170
+ h,
171
+ v,
172
+ y,
173
+ !1,
174
+ null,
175
+ "4d56e499",
176
+ null,
177
+ null
178
+ );
179
+ const $ = _.exports;
60
180
  export {
61
- E as default
181
+ $ as default
62
182
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NcEmojiPicker.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcEmojiPicker.mjs","sources":["../../src/components/NcEmojiPicker/NcEmojiPicker.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n -\n - @author 2020 Georg Ehrke <oc.list@georgehrke.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### General description\n\nThis component allows the user to pick an emoji.\n\n### Usage\n\n* Listen to the select event and pass in an HTML element that will be treated as a trigger:\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker @select=\"select\" style=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n* Showing a preview and keeping it open after a user selected an emoji\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker\n\t\t\t:close-on-select=\"false\"\n\t\t\t:show-preview=\"true\"\n\t\t\t@select=\"select\"\n\t\t\tstyle=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n* Allow unselecting a previously set emoji.\n\n```vue\n<template>\n\t<div>\n\t\t<NcEmojiPicker\n\t\t\t:show-preview=\"true\"\n\t\t\t:allow-unselect=\"true\"\n\t\t\t:selected-emoji=\"emoji\"\n\t\t\t@select=\"select\"\n\t\t\t@unselect=\"unselect\"\n\t\t\tstyle=\"display: inline-block\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcEmojiPicker>\n\t\t<span>selected emoji: {{ emoji }}</span>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\temoji: '',\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tselect(emoji) {\n\t\t\t\tthis.emoji = emoji\n\t\t\t},\n\t\t\tunselect() {\n\t\t\t\tthis.emoji = ''\n\t\t\t},\n\t\t},\n\t}\n</script>\n```\n\n</docs>\n\n<template>\n\t<NcPopover :shown.sync=\"open\"\n\t\t:container=\"container\"\n\t\tv-bind=\"$attrs\"\n\t\tv-on=\"$listeners\"\n\t\t@after-show=\"afterShow\"\n\t\t@after-hide=\"afterHide\">\n\t\t<template #trigger>\n\t\t\t<slot />\n\t\t</template>\n\t\t<Picker ref=\"picker\"\n\t\t\t:auto-focus=\"false /* We manage the input focus ourselves */\"\n\t\t\tcolor=\"var(--color-primary-element)\"\n\t\t\t:data=\"emojiIndex\"\n\t\t\t:emoji=\"previewFallbackEmoji\"\n\t\t\t:i18n=\"i18n\"\n\t\t\t:native=\"native\"\n\t\t\t:emoji-size=\"20\"\n\t\t\t:per-line=\"8\"\n\t\t\t:picker-styles=\"{ width: '320px' }\"\n\t\t\t:show-preview=\"showPreview\"\n\t\t\t:title=\"previewFallbackName\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\t@select=\"select\">\n\t\t\t<template #searchTemplate=\"slotProps\">\n\t\t\t\t<NcTextField ref=\"search\"\n\t\t\t\t\tclass=\"search\"\n\t\t\t\t\t:value.sync=\"search\"\n\t\t\t\t\t:label=\"t('Search')\"\n\t\t\t\t\t:label-visible=\"true\"\n\t\t\t\t\t:placeholder=\"i18n.search\"\n\t\t\t\t\ttrailing-button-icon=\"close\"\n\t\t\t\t\t:trailing-button-label=\"t('Clear search')\"\n\t\t\t\t\t:show-trailing-button=\"search !== ''\"\n\t\t\t\t\t@trailing-button-click=\"clearSearch(); slotProps.onSearch(search);\"\n\t\t\t\t\t@update:value=\"slotProps.onSearch(search)\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"allowUnselect && selectedEmoji\" #customCategory>\n\t\t\t\t<div class=\"emoji-mart-category-label\">\n\t\t\t\t\t<h3 class=\"emoji-mart-category-label\">\n\t\t\t\t\t\t{{ t('Selected') }}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t\t<Emoji class=\"emoji-selected\"\n\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\t:emoji=\"selectedEmoji\"\n\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t:size=\"32\"\n\t\t\t\t\t@click=\"unselect\" />\n\t\t\t\t<Emoji class=\"emoji-delete\"\n\t\t\t\t\t:data=\"emojiIndex\"\n\t\t\t\t\temoji=\":x:\"\n\t\t\t\t\t:native=\"true\"\n\t\t\t\t\t:size=\"10\"\n\t\t\t\t\t@click=\"unselect\" />\n\t\t\t</template>\n\t\t</Picker>\n\t</NcPopover>\n</template>\n\n<script>\nimport NcPopover from '../NcPopover/index.js'\nimport NcTextField from '../NcTextField/index.js'\nimport { t } from '../../l10n.js'\n\nimport { Picker, Emoji, EmojiIndex } from 'emoji-mart-vue-fast'\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\n// Shared emoji index for all NcEmojiPicker instances\n// Will be initialized on the first NcEmojiPicker creating\nlet emojiIndex\n\nconst i18n = {\n\tsearch: t('Search emoji'),\n\tnotfound: t('No emoji found'),\n\tcategories: {\n\t\tsearch: t('Search results'),\n\t\trecent: t('Frequently used'),\n\t\tsmileys: t('Smileys & Emotion'),\n\t\tpeople: t('People & Body'),\n\t\tnature: t('Animals & Nature'),\n\t\tfoods: t('Food & Drink'),\n\t\tactivity: t('Activities'),\n\t\tplaces: t('Travel & Places'),\n\t\tobjects: t('Objects'),\n\t\tsymbols: t('Symbols'),\n\t\tflags: t('Flags'),\n\t\tcustom: t('Custom'),\n\t},\n}\n\nexport default {\n\tname: 'NcEmojiPicker',\n\tcomponents: {\n\t\tNcPopover,\n\t\tNcTextField,\n\t\tEmoji,\n\t\tPicker,\n\t},\n\tprops: {\n\t\t/**\n\t\t * The emoji-set\n\t\t */\n\t\tactiveSet: {\n\t\t\ttype: String,\n\t\t\tdefault: 'native',\n\t\t},\n\t\t/**\n\t\t * Show preview section when hovering emoji\n\t\t */\n\t\tshowPreview: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Allow unselecting the selected emoji\n\t\t */\n\t\tallowUnselect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Selected emoji to allow unselecting\n\t\t */\n\t\tselectedEmoji: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The fallback emoji in the preview section\n\t\t */\n\t\tpreviewFallbackEmoji: {\n\t\t\ttype: String,\n\t\t\tdefault: 'grinning',\n\t\t},\n\t\t/**\n\t\t * The fallback text in the preview section\n\t\t */\n\t\tpreviewFallbackName: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Pick an emoji'),\n\t\t},\n\t\t/**\n\t\t * Whether to close the emoji picker after picking one\n\t\t */\n\t\tcloseOnSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover container\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\temits: [\n\t\t'select',\n\t\t'select-data',\n\t\t'unselect',\n\t],\n\n\tsetup() {\n\t\t// If this is the first instance of NcEmojiPicker - setup EmojiIndex\n\t\tif (!emojiIndex) {\n\t\t\temojiIndex = new EmojiIndex(data)\n\t\t}\n\n\t\treturn {\n\t\t\t// Non-reactive constants\n\t\t\temojiIndex,\n\t\t\ti18n,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsearch: '',\n\t\t\topen: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tnative() {\n\t\t\treturn this.activeSet === 'native'\n\t\t},\n\t},\n\tmethods: {\n\t\tt,\n\n\t\tclearSearch() {\n\t\t\tthis.search = ''\n\t\t\tconst input = this.$refs.search?.$refs.inputField?.$refs.input\n\t\t\tif (input) {\n\t\t\t\tinput.focus()\n\t\t\t}\n\t\t},\n\n\t\tselect(emojiObject) {\n\t\t\t/**\n\t\t\t * Emits a string containing the emoji e.g. '👩🏿‍💻'\n\t\t\t */\n\t\t\tthis.$emit('select', emojiObject.native)\n\n\t\t\t/**\n\t\t\t * Emits a object with more data about the picked emoji\n\t\t\t */\n\t\t\tthis.$emit('select-data', emojiObject)\n\n\t\t\tif (this.closeOnSelect) {\n\t\t\t\tthis.open = false\n\t\t\t}\n\t\t},\n\n\t\tunselect() {\n\t\t\tthis.$emit('unselect')\n\t\t},\n\n\t\tafterShow() {\n\t\t\t// add focus trap in modal\n\t\t\tconst picker = this.$refs.picker\n\t\t\tpicker.$el.addEventListener('keydown', this.checkKeyEvent)\n\n\t\t\t// set focus on input search field\n\t\t\tconst input = this.$refs.search?.$refs.inputField?.$refs.input\n\t\t\tif (input) {\n\t\t\t\tinput.focus()\n\t\t\t}\n\t\t},\n\n\t\tafterHide() {\n\t\t\t// remove keydown listner if popover is hidden\n\t\t\tconst picker = this.$refs.picker\n\t\t\tpicker.$el.removeEventListener('keydown', this.checkKeyEvent)\n\t\t},\n\n\t\tcheckKeyEvent(event) {\n\t\t\tif (event.key !== 'Tab') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst picker = this.$refs.picker\n\t\t\tconst focusableList = picker.$el.querySelectorAll(\n\t\t\t\t'button, input',\n\t\t\t)\n\t\t\tconst last = focusableList.length - 1\n\t\t\t// escape early if only 1 or no elements to focus\n\t\t\tif (focusableList.length <= 1) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (event.shiftKey === false && event.target === focusableList[last]) {\n\t\t\t\t// Jump to first item when pressing tab on the latest item\n\t\t\t\tevent.preventDefault()\n\t\t\t\tfocusableList[0].focus()\n\t\t\t} else if (event.shiftKey === true && event.target === focusableList[0]) {\n\t\t\t\t// Jump to the last item if pressing shift+tab on the first item\n\t\t\t\tevent.preventDefault()\n\t\t\t\tfocusableList[last].focus()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n@import 'emoji-mart-vue-fast/css/emoji-mart.css';\n\n.emoji-mart {\n\tbackground-color: var(--color-main-background) !important;\n\tborder: 0;\n\tcolor: var(--color-main-text) !important;\n\n\t// default style reset\n\tbutton {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tfont-size: inherit;\n\t\theight: 36px;\n\t\twidth: auto;\n\n\t\t* {\n\t\t\tcursor: pointer !important;\n\t\t}\n\t}\n\n\t.emoji-mart-bar,\n\t.emoji-mart-anchors,\n\t.emoji-mart-search,\n\t.emoji-mart-search input,\n\t.emoji-mart-category,\n\t.emoji-mart-category-label,\n\t.emoji-mart-category-label span,\n\t.emoji-mart-skin-swatches {\n\t\tbackground-color: transparent !important;\n\t\tborder-color: var(--color-border) !important;\n\t\tcolor: inherit !important;\n\t}\n\n\t.emoji-mart-search input:focus-visible {\n\t\tbox-shadow: inset 0 0 0 2px var(--color-primary-element);\n\t\toutline: none;\n\t}\n\n\t.emoji-mart-bar {\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: var(--border-radius) !important;\n\t\t\tborder-top-right-radius: var(--border-radius) !important;\n\t\t}\n\t}\n\n\t.emoji-mart-anchors {\n\t\tbutton {\n\t\t\tborder-radius: 0;\n\t\t\tpadding: 12px 4px;\n\t\t\theight: auto;\n\t\t\t&:focus-visible {\n\t\t\t\t/* box-shadow: inset 0 0 0 2px var(--color-primary-element); */\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t}\n\n\t.emoji-mart-category {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: start;\n\n\t\t.emoji-mart-category-label,\n\t\t.emoji-mart-emoji {\n\t\t\tuser-select: none;\n\t\t\tflex-grow: 0;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t.emoji-mart-category-label {\n\t\t\tflex-basis: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t.emoji-mart-emoji {\n\t\t\t// 8 emoji per row\n\t\t\tflex-basis: calc(100% / 8);\n\t\t\ttext-align: center;\n\n\t\t\t&:hover::before,\n\t\t\t&.emoji-mart-emoji-selected::before{\n\t\t\t\tbackground-color: var(--color-background-hover) !important;\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t\tbutton {\n\n\t\t\t&:focus-visible {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\tborder: 2px solid var(--color-primary-element) !important;\n\t\t\t\tborder-radius: 50%;\n\t\t\t}\n\t\t}\n\t}\n\n}\n\n.search {\n\tpadding: 4px 8px;\n}\n\n</style>\n\n<style scoped>\n.row-selected span {\n\tvertical-align: middle;\n}\n\n.row-selected button {\n\tvertical-align: middle;\n}\n\n.emoji-delete {\n\tvertical-align: top;\n\tmargin-left: -21px;\n\tmargin-top: -3px;\n}\n</style>\n"],"names":["emojiIndex","i18n","t","_sfc_main","NcPopover","NcTextField","Emoji","Picker","EmojiIndex","data","input","_b","_a","emojiObject","event","focusableList","last"],"mappings":"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"}
@@ -1 +1,54 @@
1
- var c=require("../assets/index-34f6bb3f.css");const e=require("../chunks/_plugin-vue2_normalizer-764a4c12.cjs");const s={name:"NcEmptyContent",props:{name:{type:String,default:""},description:{type:String,default:""}},computed:{hasName(){return this.name!==""},hasDescription(){var t;return this.description!==""||((t=this.$slots.description)==null?void 0:t[0])}}};var i=function(){var t=this,n=t._self._c;return n("div",{staticClass:"empty-content",attrs:{role:"note"}},[t.$slots.icon?n("div",{staticClass:"empty-content__icon",attrs:{"aria-hidden":"true"}},[t._t("icon")],2):t._e(),t._t("name",function(){return[t.hasName?n("h2",{staticClass:"empty-content__name"},[t._v(" "+t._s(t.name)+" ")]):t._e()]}),t.hasDescription?n("p",[t._t("description",function(){return[t._v(" "+t._s(t.description)+" ")]})],2):t._e(),t.$slots.action?n("div",{staticClass:"empty-content__action"},[t._t("action")],2):t._e()],2)},o=[],r=e.normalizeComponent(s,i,o,!1,null,"d475d4c6",null,null);const a=r.exports;module.exports=a;
1
+ var a = require("../assets/index-c6f0da2e.css");
2
+ const s = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs");
3
+ const i = {
4
+ name: "NcEmptyContent",
5
+ props: {
6
+ /**
7
+ * A header message about an empty content shown
8
+ * @example 'No comments'
9
+ */
10
+ name: {
11
+ type: String,
12
+ default: ""
13
+ },
14
+ /**
15
+ * Desription of the empty content
16
+ * @example 'No comments yet, start the conversation!'
17
+ */
18
+ description: {
19
+ type: String,
20
+ default: ""
21
+ }
22
+ },
23
+ computed: {
24
+ hasName() {
25
+ return this.name !== "";
26
+ },
27
+ /**
28
+ * Check if a description is given as either property or slot
29
+ */
30
+ hasDescription() {
31
+ var e;
32
+ return this.description !== "" || ((e = this.$slots.description) == null ? void 0 : e[0]);
33
+ }
34
+ }
35
+ };
36
+ var c = function() {
37
+ var t = this, n = t._self._c;
38
+ return n("div", { staticClass: "empty-content", attrs: { role: "note" } }, [t.$slots.icon ? n("div", { staticClass: "empty-content__icon", attrs: { "aria-hidden": "true" } }, [t._t("icon")], 2) : t._e(), t._t("name", function() {
39
+ return [t.hasName ? n("h2", { staticClass: "empty-content__name" }, [t._v(" " + t._s(t.name) + " ")]) : t._e()];
40
+ }), t.hasDescription ? n("p", [t._t("description", function() {
41
+ return [t._v(" " + t._s(t.description) + " ")];
42
+ })], 2) : t._e(), t.$slots.action ? n("div", { staticClass: "empty-content__action" }, [t._t("action")], 2) : t._e()], 2);
43
+ }, o = [], r = /* @__PURE__ */ s.normalizeComponent(
44
+ i,
45
+ c,
46
+ o,
47
+ !1,
48
+ null,
49
+ "3c45cf57",
50
+ null,
51
+ null
52
+ );
53
+ const _ = r.exports;
54
+ module.exports = _;
@@ -1 +1 @@
1
- {"version":3,"file":"NcEmptyContent.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"NcEmptyContent.cjs","sources":["../../src/components/NcEmptyContent/NcEmptyContent.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Greta Doci <gretadoci@gmail.com>\n -\n - @author 2020 Greta Doci <gretadoci@gmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### Basic use\n\nUse this component to display a message about an empty content.\nProviding an icon, name, and a description is strongly advised.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No comments\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n#### With custom svg\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No files in here\">\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper :svg=\"folderSvg\" />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport folderSvg from '@mdi/svg/svg/folder.svg?raw'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfolderSvg,\n\t\t}\n\t},\n}\n</script>\n```\n\nYou can also customize the name using the `#name` slot\nand add actions. But to keep the style consistent across Nextcloud\nconsider only using header elements as the root elements for the name slot.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tdescription=\"No comments in here\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #name>\n\t\t\t<h1 class=\"empty-content__name\">\n\t\t\t\tNo comments\n\t\t\t</h1>\n\t\t</template>\n\t\t<template #action>\n\t\t\t<NcButton type=\"primary\">\n\t\t\t\tAdd a comment!\n\t\t\t</NcButton>\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n\nSimilar to the `#name` slot, you could also use the `#description` slot.\nThe content will be rendered within a paragraph so you can use any inline element,\nlike a link.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No comments\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #description>\n\t\t\t<a href=\"https://en.wikipedia.org/wiki/Comment\">What is even a comment?</a>\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div class=\"empty-content\" role=\"note\">\n\t\t<div v-if=\"$slots.icon\" class=\"empty-content__icon\" aria-hidden=\"true\">\n\t\t\t<!-- @slot Optional material design icon -->\n\t\t\t<slot name=\"icon\" />\n\t\t</div>\n\t\t<!-- @slot Optional name if not set as property, shall be enclosed by a header element -->\n\t\t<slot name=\"name\">\n\t\t\t<h2 v-if=\"hasName\" class=\"empty-content__name\">\n\t\t\t\t{{ name }}\n\t\t\t</h2>\n\t\t</slot>\n\t\t<p v-if=\"hasDescription\">\n\t\t\t<!-- @slot Optional formatted description rendered inside a paragraph -->\n\t\t\t<slot name=\"description\">\n\t\t\t\t{{ description }}\n\t\t\t</slot>\n\t\t</p>\n\t\t<div v-if=\"$slots.action\" class=\"empty-content__action\">\n\t\t\t<!-- @slot Optional slot for a button or the like -->\n\t\t\t<slot name=\"action\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcEmptyContent',\n\n\tprops: {\n\t\t/**\n\t\t * A header message about an empty content shown\n\t\t * @example 'No comments'\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Desription of the empty content\n\t\t * @example 'No comments yet, start the conversation!'\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\thasName() {\n\t\t\treturn this.name !== ''\n\t\t},\n\t\t/**\n\t\t * Check if a description is given as either property or slot\n\t\t */\n\t\thasDescription() {\n\t\t\treturn this.description !== '' || this.$slots.description?.[0]\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.empty-content {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n\tjustify-content: center;\n\t/* In case of using in a flex container - flex in advance */\n\tflex-grow: 1;\n\n\t.modal-wrapper & {\n\t\tmargin-top: 5vh;\n\t\tmargin-bottom: 5vh;\n\t}\n\n\t&__icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 64px;\n\t\theight: 64px;\n\t\tmargin: 0 auto 15px;\n\t\topacity: .4;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: 64px;\n\n\t\t:deep(svg) {\n\t\t\twidth: 64px !important;\n\t\t\theight: 64px !important;\n\t\t\tmax-width: 64px !important;\n\t\t\tmax-height: 64px !important;\n\t\t}\n\t}\n\n\t&__name {\n\t\tmargin-bottom: 10px;\n\t\ttext-align: center;\n\t}\n\n\t&__action {\n\t\tmargin-top: 8px;\n\n\t\t.modal-wrapper & {\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","_a"],"mappings":";;AAsKA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,UAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,iBAAA;;AACA,aAAA,KAAA,gBAAA,QAAAC,IAAA,KAAA,OAAA,gBAAA,gBAAAA,EAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
@@ -1,19 +1,55 @@
1
- import "../assets/index-34f6bb3f.css";
2
- import { n as e } from "../chunks/_plugin-vue2_normalizer-5b4c43a4.mjs";
3
- const s = { name: "NcEmptyContent", props: { name: { type: String, default: "" }, description: { type: String, default: "" } }, computed: { hasName() {
4
- return this.name !== "";
5
- }, hasDescription() {
6
- var t;
7
- return this.description !== "" || ((t = this.$slots.description) == null ? void 0 : t[0]);
8
- } } };
9
- var i = function() {
1
+ import "../assets/index-c6f0da2e.css";
2
+ import { n as s } from "../chunks/_plugin-vue2_normalizer-71e2aa87.mjs";
3
+ const i = {
4
+ name: "NcEmptyContent",
5
+ props: {
6
+ /**
7
+ * A header message about an empty content shown
8
+ * @example 'No comments'
9
+ */
10
+ name: {
11
+ type: String,
12
+ default: ""
13
+ },
14
+ /**
15
+ * Desription of the empty content
16
+ * @example 'No comments yet, start the conversation!'
17
+ */
18
+ description: {
19
+ type: String,
20
+ default: ""
21
+ }
22
+ },
23
+ computed: {
24
+ hasName() {
25
+ return this.name !== "";
26
+ },
27
+ /**
28
+ * Check if a description is given as either property or slot
29
+ */
30
+ hasDescription() {
31
+ var e;
32
+ return this.description !== "" || ((e = this.$slots.description) == null ? void 0 : e[0]);
33
+ }
34
+ }
35
+ };
36
+ var o = function() {
10
37
  var t = this, n = t._self._c;
11
38
  return n("div", { staticClass: "empty-content", attrs: { role: "note" } }, [t.$slots.icon ? n("div", { staticClass: "empty-content__icon", attrs: { "aria-hidden": "true" } }, [t._t("icon")], 2) : t._e(), t._t("name", function() {
12
39
  return [t.hasName ? n("h2", { staticClass: "empty-content__name" }, [t._v(" " + t._s(t.name) + " ")]) : t._e()];
13
40
  }), t.hasDescription ? n("p", [t._t("description", function() {
14
41
  return [t._v(" " + t._s(t.description) + " ")];
15
42
  })], 2) : t._e(), t.$slots.action ? n("div", { staticClass: "empty-content__action" }, [t._t("action")], 2) : t._e()], 2);
16
- }, o = [], a = e(s, i, o, !1, null, "d475d4c6", null, null);
43
+ }, c = [], a = /* @__PURE__ */ s(
44
+ i,
45
+ o,
46
+ c,
47
+ !1,
48
+ null,
49
+ "3c45cf57",
50
+ null,
51
+ null
52
+ );
17
53
  const p = a.exports;
18
54
  export {
19
55
  p as default