@nextcloud/vue 8.8.1 → 8.9.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 (580) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/Components/NcActionButton.cjs +3 -3
  3. package/dist/Components/NcActionButton.mjs +6 -6
  4. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  6. package/dist/Components/NcActionCaption.cjs +2 -2
  7. package/dist/Components/NcActionCaption.mjs +2 -2
  8. package/dist/Components/NcActionCheckbox.cjs +2 -2
  9. package/dist/Components/NcActionCheckbox.mjs +4 -4
  10. package/dist/Components/NcActionInput.cjs +1 -1
  11. package/dist/Components/NcActionInput.mjs +1 -1
  12. package/dist/Components/NcActionLink.cjs +3 -3
  13. package/dist/Components/NcActionLink.mjs +4 -4
  14. package/dist/Components/NcActionRadio.cjs +2 -2
  15. package/dist/Components/NcActionRadio.mjs +4 -4
  16. package/dist/Components/NcActionRouter.cjs +3 -3
  17. package/dist/Components/NcActionRouter.mjs +4 -4
  18. package/dist/Components/NcActionSeparator.cjs +2 -2
  19. package/dist/Components/NcActionSeparator.mjs +2 -2
  20. package/dist/Components/NcActionText.cjs +3 -3
  21. package/dist/Components/NcActionText.mjs +4 -4
  22. package/dist/Components/NcActionTextEditable.cjs +3 -3
  23. package/dist/Components/NcActionTextEditable.mjs +6 -6
  24. package/dist/Components/NcActions.cjs +1 -1
  25. package/dist/Components/NcActions.mjs +1 -1
  26. package/dist/Components/NcAppContent.cjs +1 -1
  27. package/dist/Components/NcAppContent.mjs +1 -1
  28. package/dist/Components/NcAppContentDetails.cjs +1 -1
  29. package/dist/Components/NcAppContentDetails.mjs +1 -1
  30. package/dist/Components/NcAppContentList.cjs +1 -1
  31. package/dist/Components/NcAppContentList.mjs +1 -1
  32. package/dist/Components/NcAppNavigation.cjs +1 -1
  33. package/dist/Components/NcAppNavigation.mjs +1 -1
  34. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  35. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  36. package/dist/Components/NcAppNavigationIconBullet.cjs +2 -2
  37. package/dist/Components/NcAppNavigationIconBullet.mjs +2 -2
  38. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  39. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  40. package/dist/Components/NcAppNavigationList.cjs +6 -6
  41. package/dist/Components/NcAppNavigationList.cjs.map +1 -1
  42. package/dist/Components/NcAppNavigationList.mjs +6 -6
  43. package/dist/Components/NcAppNavigationList.mjs.map +1 -1
  44. package/dist/Components/NcAppNavigationNew.cjs +2 -2
  45. package/dist/Components/NcAppNavigationNew.mjs +2 -2
  46. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  47. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  48. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  49. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  50. package/dist/Components/NcAppNavigationSpacer.cjs +2 -2
  51. package/dist/Components/NcAppNavigationSpacer.mjs +2 -2
  52. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  53. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  54. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  55. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  56. package/dist/Components/NcAppSettingsSection.cjs +8 -5
  57. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  58. package/dist/Components/NcAppSettingsSection.mjs +8 -5
  59. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  60. package/dist/Components/NcAppSidebar.cjs +1 -1
  61. package/dist/Components/NcAppSidebar.mjs +1 -1
  62. package/dist/Components/NcAppSidebarTab.cjs +5 -4
  63. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  64. package/dist/Components/NcAppSidebarTab.mjs +5 -4
  65. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  66. package/dist/Components/NcAvatar.cjs +1 -1
  67. package/dist/Components/NcAvatar.mjs +1 -1
  68. package/dist/Components/NcBreadcrumb.cjs +1 -1
  69. package/dist/Components/NcBreadcrumb.mjs +1 -1
  70. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  71. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  72. package/dist/Components/NcButton.cjs +27 -26
  73. package/dist/Components/NcButton.cjs.map +1 -1
  74. package/dist/Components/NcButton.mjs +28 -27
  75. package/dist/Components/NcButton.mjs.map +1 -1
  76. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  77. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  78. package/dist/Components/NcColorPicker.cjs +1 -1
  79. package/dist/Components/NcColorPicker.mjs +1 -1
  80. package/dist/Components/NcContent.cjs +1 -1
  81. package/dist/Components/NcContent.mjs +1 -1
  82. package/dist/Components/NcCounterBubble.cjs +2 -2
  83. package/dist/Components/NcCounterBubble.mjs +2 -2
  84. package/dist/Components/NcDashboardWidget.cjs +1 -1
  85. package/dist/Components/NcDashboardWidget.mjs +1 -1
  86. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  87. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  88. package/dist/Components/NcDateTime.cjs +1 -1
  89. package/dist/Components/NcDateTime.mjs +1 -1
  90. package/dist/Components/NcDateTimePicker.cjs +42 -40
  91. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  92. package/dist/Components/NcDateTimePicker.mjs +27 -25
  93. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  94. package/dist/Components/NcDateTimePickerNative.cjs +11 -11
  95. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  96. package/dist/Components/NcDateTimePickerNative.mjs +12 -12
  97. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  98. package/dist/Components/NcDialog.cjs +1 -1
  99. package/dist/Components/NcDialog.mjs +1 -1
  100. package/dist/Components/NcDialogButton.cjs +1 -1
  101. package/dist/Components/NcDialogButton.mjs +1 -1
  102. package/dist/Components/NcEllipsisedOption.cjs +2 -2
  103. package/dist/Components/NcEllipsisedOption.mjs +3 -3
  104. package/dist/Components/NcEmojiPicker.cjs +1 -1
  105. package/dist/Components/NcEmojiPicker.mjs +1 -1
  106. package/dist/Components/NcEmptyContent.cjs +9 -8
  107. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  108. package/dist/Components/NcEmptyContent.mjs +9 -8
  109. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  110. package/dist/Components/NcGuestContent.cjs +2 -2
  111. package/dist/Components/NcGuestContent.mjs +2 -2
  112. package/dist/Components/NcHeaderMenu.cjs +1 -1
  113. package/dist/Components/NcHeaderMenu.mjs +1 -1
  114. package/dist/Components/NcHighlight.cjs +1 -1
  115. package/dist/Components/NcHighlight.mjs +1 -1
  116. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  117. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  118. package/dist/Components/NcInputField.cjs +4 -4
  119. package/dist/Components/NcInputField.cjs.map +1 -1
  120. package/dist/Components/NcInputField.mjs +7 -7
  121. package/dist/Components/NcInputField.mjs.map +1 -1
  122. package/dist/Components/NcListItem.cjs +1 -1
  123. package/dist/Components/NcListItem.mjs +1 -1
  124. package/dist/Components/NcListItemIcon.cjs +1 -1
  125. package/dist/Components/NcListItemIcon.mjs +1 -1
  126. package/dist/Components/NcLoadingIcon.cjs +2 -2
  127. package/dist/Components/NcLoadingIcon.mjs +2 -2
  128. package/dist/Components/NcModal.cjs +8 -7
  129. package/dist/Components/NcModal.cjs.map +1 -1
  130. package/dist/Components/NcModal.mjs +19 -18
  131. package/dist/Components/NcModal.mjs.map +1 -1
  132. package/dist/Components/NcNoteCard.cjs +3 -3
  133. package/dist/Components/NcNoteCard.mjs +3 -3
  134. package/dist/Components/NcPasswordField.cjs +1 -1
  135. package/dist/Components/NcPasswordField.mjs +1 -1
  136. package/dist/Components/NcPopover.cjs +1 -1
  137. package/dist/Components/NcPopover.mjs +1 -1
  138. package/dist/Components/NcProgressBar.cjs +1 -1
  139. package/dist/Components/NcProgressBar.mjs +1 -1
  140. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  141. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  142. package/dist/Components/NcRichContenteditable.cjs +1 -1
  143. package/dist/Components/NcRichContenteditable.mjs +2 -2
  144. package/dist/Components/NcRichText.cjs +1 -1
  145. package/dist/Components/NcRichText.cjs.map +1 -1
  146. package/dist/Components/NcRichText.mjs +8 -8
  147. package/dist/Components/NcRichText.mjs.map +1 -1
  148. package/dist/Components/NcSavingIndicatorIcon.cjs +1 -1
  149. package/dist/Components/NcSavingIndicatorIcon.mjs +1 -1
  150. package/dist/Components/NcSelect.cjs +1 -1
  151. package/dist/Components/NcSelect.mjs +1 -1
  152. package/dist/Components/NcSelectTags.cjs +1 -1
  153. package/dist/Components/NcSelectTags.mjs +1 -1
  154. package/dist/Components/NcSettingsInputText.cjs +1 -1
  155. package/dist/Components/NcSettingsInputText.mjs +1 -1
  156. package/dist/Components/NcSettingsSection.cjs +1 -1
  157. package/dist/Components/NcSettingsSection.mjs +1 -1
  158. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  159. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  160. package/dist/Components/NcTextArea.cjs +4 -4
  161. package/dist/Components/NcTextArea.cjs.map +1 -1
  162. package/dist/Components/NcTextArea.mjs +7 -7
  163. package/dist/Components/NcTextArea.mjs.map +1 -1
  164. package/dist/Components/NcTextField.cjs +1 -1
  165. package/dist/Components/NcTextField.mjs +1 -1
  166. package/dist/Components/NcTimezonePicker.cjs +1 -1
  167. package/dist/Components/NcTimezonePicker.mjs +1 -1
  168. package/dist/Components/NcUserBubble.cjs +1 -1
  169. package/dist/Components/NcUserBubble.mjs +1 -1
  170. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  171. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  172. package/dist/Components/NcVNodes.cjs +11 -10
  173. package/dist/Components/NcVNodes.cjs.map +1 -1
  174. package/dist/Components/NcVNodes.mjs +12 -11
  175. package/dist/Components/NcVNodes.mjs.map +1 -1
  176. package/dist/Directives/Linkify.cjs +5 -4
  177. package/dist/Directives/Linkify.cjs.map +1 -1
  178. package/dist/Directives/Linkify.mjs +6 -5
  179. package/dist/Directives/Linkify.mjs.map +1 -1
  180. package/dist/Directives/Tooltip.cjs +1 -1
  181. package/dist/Directives/Tooltip.mjs +1 -1
  182. package/dist/Functions/reference.cjs +2 -1
  183. package/dist/Functions/reference.cjs.map +1 -1
  184. package/dist/Functions/reference.mjs +12 -11
  185. package/dist/Functions/registerReference.cjs +11 -69
  186. package/dist/Functions/registerReference.cjs.map +1 -1
  187. package/dist/Functions/registerReference.mjs +9 -67
  188. package/dist/Functions/registerReference.mjs.map +1 -1
  189. package/dist/Functions/usernameToColor.cjs +1 -1
  190. package/dist/Functions/usernameToColor.mjs +1 -1
  191. package/dist/Mixins/richEditor.cjs +2 -2
  192. package/dist/Mixins/richEditor.mjs +2 -2
  193. package/dist/assets/{NcActions-mt8BQ_bn.css → NcActions-CEbgl0_n.css} +12 -12
  194. package/dist/assets/{NcAppContent-SZz3PTd8.css → NcAppContent-Cv8rRTyy.css} +1 -0
  195. package/dist/assets/{NcAppNavigation-9nlYnuUQ.css → NcAppNavigation-D4ZBCJrI.css} +18 -8
  196. package/dist/assets/{NcAppNavigationList-RooPPg4w.css → NcAppNavigationList-Bj9PwL4X.css} +3 -7
  197. package/dist/assets/{NcDateTimePicker-IOou-rT3.css → NcDateTimePicker-BChLYJ5X.css} +10 -10
  198. package/dist/assets/{NcEmojiPicker-hTlSVIq0.css → NcEmojiPicker-B-4WNYcx.css} +1 -0
  199. package/dist/assets/{NcRelatedResourcesPanel-oq5eMIoh.css → NcRelatedResourcesPanel-COW9gzml.css} +72 -6
  200. package/dist/assets/{NcRichText-kDp48Nji.css → NcRichText-BMe-xENJ.css} +5 -2
  201. package/dist/assets/{referencePickerModal-A0PlFUEI.css → referencePickerModal-C1KJzICb.css} +34 -14
  202. package/dist/chunks/{AlertCircleOutline-HYz1lvHU.cjs → AlertCircleOutline-DHFN4OkX.cjs} +1 -1
  203. package/dist/chunks/{AlertCircleOutline-HYz1lvHU.cjs.map → AlertCircleOutline-DHFN4OkX.cjs.map} +1 -1
  204. package/dist/chunks/{AlertCircleOutline-XY0EPUmQ.mjs → AlertCircleOutline-U_bhL30C.mjs} +1 -1
  205. package/dist/chunks/{AlertCircleOutline-XY0EPUmQ.mjs.map → AlertCircleOutline-U_bhL30C.mjs.map} +1 -1
  206. package/dist/chunks/{ArrowLeft-fC5aEWWu.cjs → ArrowLeft-CjNnGIlF.cjs} +1 -1
  207. package/dist/chunks/{ArrowLeft-fC5aEWWu.cjs.map → ArrowLeft-CjNnGIlF.cjs.map} +1 -1
  208. package/dist/chunks/{ArrowLeft-uW5eNVkY.mjs → ArrowLeft-kklNBL9z.mjs} +1 -1
  209. package/dist/chunks/{ArrowLeft-uW5eNVkY.mjs.map → ArrowLeft-kklNBL9z.mjs.map} +1 -1
  210. package/dist/chunks/{ArrowRight-16bLxoZc.mjs → ArrowRight-C3BxTDjF.mjs} +1 -1
  211. package/dist/chunks/{ArrowRight-16bLxoZc.mjs.map → ArrowRight-C3BxTDjF.mjs.map} +1 -1
  212. package/dist/chunks/{ArrowRight-uUC8qW2c.cjs → ArrowRight-CxzzJJQ6.cjs} +1 -1
  213. package/dist/chunks/{ArrowRight-uUC8qW2c.cjs.map → ArrowRight-CxzzJJQ6.cjs.map} +1 -1
  214. package/dist/chunks/{Check-qy5XrF1J.mjs → Check-CRLmJNGG.mjs} +1 -1
  215. package/dist/chunks/{Check-qy5XrF1J.mjs.map → Check-CRLmJNGG.mjs.map} +1 -1
  216. package/dist/chunks/{Check-QBzDcHpr.cjs → Check-CVn5nytg.cjs} +1 -1
  217. package/dist/chunks/{Check-QBzDcHpr.cjs.map → Check-CVn5nytg.cjs.map} +1 -1
  218. package/dist/chunks/{ChevronDown-Hc_DTRav.cjs → ChevronDown-DQPox_nl.cjs} +1 -1
  219. package/dist/chunks/{ChevronDown-Hc_DTRav.cjs.map → ChevronDown-DQPox_nl.cjs.map} +1 -1
  220. package/dist/chunks/{ChevronDown-suAKKmeb.mjs → ChevronDown-HHJdUMN4.mjs} +1 -1
  221. package/dist/chunks/{ChevronDown-suAKKmeb.mjs.map → ChevronDown-HHJdUMN4.mjs.map} +1 -1
  222. package/dist/chunks/{ChevronRight-MdQC55Yq.cjs → ChevronRight-BAJhNawb.cjs} +1 -1
  223. package/dist/chunks/{ChevronRight-MdQC55Yq.cjs.map → ChevronRight-BAJhNawb.cjs.map} +1 -1
  224. package/dist/chunks/{ChevronRight-9owhU_17.mjs → ChevronRight-DL3e8bjj.mjs} +1 -1
  225. package/dist/chunks/{ChevronRight-9owhU_17.mjs.map → ChevronRight-DL3e8bjj.mjs.map} +1 -1
  226. package/dist/chunks/ChevronUp-B6TIgl1a.mjs +37 -0
  227. package/dist/chunks/ChevronUp-B6TIgl1a.mjs.map +1 -0
  228. package/dist/chunks/ChevronUp-kmHRpe7H.cjs +35 -0
  229. package/dist/chunks/ChevronUp-kmHRpe7H.cjs.map +1 -0
  230. package/dist/chunks/{Close-QtH6_3PP.mjs → Close-BtO5TPBO.mjs} +1 -1
  231. package/dist/chunks/{Close-QtH6_3PP.mjs.map → Close-BtO5TPBO.mjs.map} +1 -1
  232. package/dist/chunks/{Close-dotk0707.cjs → Close-DBfrdXMw.cjs} +1 -1
  233. package/dist/chunks/{Close-dotk0707.cjs.map → Close-DBfrdXMw.cjs.map} +1 -1
  234. package/dist/chunks/{DotsHorizontal-6hepLUSS.cjs → DotsHorizontal-B8kTqpHe.cjs} +1 -1
  235. package/dist/chunks/{DotsHorizontal-6hepLUSS.cjs.map → DotsHorizontal-B8kTqpHe.cjs.map} +1 -1
  236. package/dist/chunks/{DotsHorizontal-IbmXTXRA.mjs → DotsHorizontal-DfVgEXgz.mjs} +1 -1
  237. package/dist/chunks/{DotsHorizontal-IbmXTXRA.mjs.map → DotsHorizontal-DfVgEXgz.mjs.map} +1 -1
  238. package/dist/chunks/{GenColors-DI6G7se8.mjs → GenColors-BteFtwOv.mjs} +3 -3
  239. package/dist/chunks/{GenColors-DI6G7se8.mjs.map → GenColors-BteFtwOv.mjs.map} +1 -1
  240. package/dist/chunks/{GenColors-WX-nGJls.cjs → GenColors-vI-bx9ZY.cjs} +3 -3
  241. package/dist/chunks/{GenColors-WX-nGJls.cjs.map → GenColors-vI-bx9ZY.cjs.map} +1 -1
  242. package/dist/chunks/{GenRandomId-ULxaMkkr.cjs.map → GenRandomId-B2O1GMbH.cjs.map} +1 -1
  243. package/dist/chunks/{GenRandomId-VodkdWbp.mjs.map → GenRandomId-BW3iYFf9.mjs.map} +1 -1
  244. package/dist/chunks/{Linkify-V7PfCeZ8.mjs.map → Linkify-BaDLLFxP.mjs.map} +1 -1
  245. package/dist/chunks/{Linkify-f3s3nAe_.cjs.map → Linkify-Dola0NBa.cjs.map} +1 -1
  246. package/dist/chunks/{NcActionButtonGroup-vn4L_-bD.cjs → NcActionButtonGroup-BdxkXNwc.cjs} +3 -3
  247. package/dist/chunks/{NcActionButtonGroup-vn4L_-bD.cjs.map → NcActionButtonGroup-BdxkXNwc.cjs.map} +1 -1
  248. package/dist/chunks/{NcActionButtonGroup-r7iOjoQx.mjs → NcActionButtonGroup-SS3PkUD2.mjs} +5 -5
  249. package/dist/chunks/{NcActionButtonGroup-r7iOjoQx.mjs.map → NcActionButtonGroup-SS3PkUD2.mjs.map} +1 -1
  250. package/dist/chunks/{NcActionInput-rojOjWGA.mjs → NcActionInput-BHq3Le0q.mjs} +9 -9
  251. package/dist/chunks/{NcActionInput-rojOjWGA.mjs.map → NcActionInput-BHq3Le0q.mjs.map} +1 -1
  252. package/dist/chunks/{NcActionInput-iUn4neUB.cjs → NcActionInput-D308ZntG.cjs} +4 -4
  253. package/dist/chunks/{NcActionInput-iUn4neUB.cjs.map → NcActionInput-D308ZntG.cjs.map} +1 -1
  254. package/dist/chunks/{NcActions-4NCnCJdf.mjs → NcActions-CpU9WXzM.mjs} +135 -131
  255. package/dist/chunks/{NcActions-4NCnCJdf.mjs.map → NcActions-CpU9WXzM.mjs.map} +1 -1
  256. package/dist/chunks/{NcActions-tPPh2p8F.cjs → NcActions-Dfkog_G0.cjs} +134 -130
  257. package/dist/chunks/{NcActions-tPPh2p8F.cjs.map → NcActions-Dfkog_G0.cjs.map} +1 -1
  258. package/dist/chunks/{NcAppContent-jkpg6g7U.mjs → NcAppContent-BDwOdxJE.mjs} +6 -6
  259. package/dist/chunks/{NcAppContent-jkpg6g7U.mjs.map → NcAppContent-BDwOdxJE.mjs.map} +1 -1
  260. package/dist/chunks/{NcAppContent-ZjNUuV0Q.cjs → NcAppContent-kqYjKpzU.cjs} +6 -6
  261. package/dist/chunks/{NcAppContent-ZjNUuV0Q.cjs.map → NcAppContent-kqYjKpzU.cjs.map} +1 -1
  262. package/dist/chunks/{NcAppNavigation-jWJsOIts.mjs → NcAppNavigation-BRtyTvKt.mjs} +19 -19
  263. package/dist/chunks/NcAppNavigation-BRtyTvKt.mjs.map +1 -0
  264. package/dist/chunks/{NcAppNavigation-CNOTInDF.cjs → NcAppNavigation-DMxORgkV.cjs} +15 -15
  265. package/dist/chunks/NcAppNavigation-DMxORgkV.cjs.map +1 -0
  266. package/dist/chunks/{NcAppNavigationCaption-HAxOA6LJ.cjs → NcAppNavigationCaption-BKchbDsJ.cjs} +2 -2
  267. package/dist/chunks/{NcAppNavigationCaption-HAxOA6LJ.cjs.map → NcAppNavigationCaption-BKchbDsJ.cjs.map} +1 -1
  268. package/dist/chunks/{NcAppNavigationCaption-t_NRjmPr.mjs → NcAppNavigationCaption-DsT6O4Hx.mjs} +3 -3
  269. package/dist/chunks/{NcAppNavigationCaption-t_NRjmPr.mjs.map → NcAppNavigationCaption-DsT6O4Hx.mjs.map} +1 -1
  270. package/dist/chunks/{NcAppNavigationItem-MA9ORoUF.cjs → NcAppNavigationItem-CABF2T4q.cjs} +47 -79
  271. package/dist/chunks/NcAppNavigationItem-CABF2T4q.cjs.map +1 -0
  272. package/dist/chunks/{NcAppNavigationItem-_F3PGjJA.mjs → NcAppNavigationItem-bjPcEx5D.mjs} +55 -86
  273. package/dist/chunks/NcAppNavigationItem-bjPcEx5D.mjs.map +1 -0
  274. package/dist/chunks/{NcAppNavigationNewItem-AChqGXVZ.mjs → NcAppNavigationNewItem-BHCgaCoK.mjs} +3 -3
  275. package/dist/chunks/{NcAppNavigationNewItem-AChqGXVZ.mjs.map → NcAppNavigationNewItem-BHCgaCoK.mjs.map} +1 -1
  276. package/dist/chunks/{NcAppNavigationNewItem-CDAeQ7VS.cjs → NcAppNavigationNewItem-t45tM5u1.cjs} +2 -2
  277. package/dist/chunks/{NcAppNavigationNewItem-CDAeQ7VS.cjs.map → NcAppNavigationNewItem-t45tM5u1.cjs.map} +1 -1
  278. package/dist/chunks/{NcAppNavigationSettings-1n_Ld521.mjs → NcAppNavigationSettings-BQD7JA4m.mjs} +4 -4
  279. package/dist/chunks/{NcAppNavigationSettings-1n_Ld521.mjs.map → NcAppNavigationSettings-BQD7JA4m.mjs.map} +1 -1
  280. package/dist/chunks/{NcAppNavigationSettings-qW2qjrEY.cjs → NcAppNavigationSettings-CBeUiVLk.cjs} +5 -5
  281. package/dist/chunks/{NcAppNavigationSettings-qW2qjrEY.cjs.map → NcAppNavigationSettings-CBeUiVLk.cjs.map} +1 -1
  282. package/dist/chunks/{NcAppNavigationToggle-H-gUVQa_.mjs → NcAppNavigationToggle-BZxbkhCr.mjs} +3 -3
  283. package/dist/chunks/{NcAppNavigationToggle-H-gUVQa_.mjs.map → NcAppNavigationToggle-BZxbkhCr.mjs.map} +1 -1
  284. package/dist/chunks/{NcAppNavigationToggle-mJ8JlXiA.cjs → NcAppNavigationToggle-DDChOnAq.cjs} +2 -2
  285. package/dist/chunks/{NcAppNavigationToggle-mJ8JlXiA.cjs.map → NcAppNavigationToggle-DDChOnAq.cjs.map} +1 -1
  286. package/dist/chunks/{NcAppSettingsDialog-Sra5JJSN.mjs → NcAppSettingsDialog-DeFBTD2J.mjs} +35 -28
  287. package/dist/chunks/{NcAppSettingsDialog-JAKe849o.cjs.map → NcAppSettingsDialog-DeFBTD2J.mjs.map} +1 -1
  288. package/dist/chunks/{NcAppSettingsDialog-JAKe849o.cjs → NcAppSettingsDialog-EUys9Os_.cjs} +29 -22
  289. package/dist/chunks/{NcAppSettingsDialog-Sra5JJSN.mjs.map → NcAppSettingsDialog-EUys9Os_.cjs.map} +1 -1
  290. package/dist/chunks/{NcAppSidebar-3es9kNNh.mjs → NcAppSidebar-CdSvRI6l.mjs} +26 -22
  291. package/dist/chunks/{NcAppSidebar-3es9kNNh.mjs.map → NcAppSidebar-CdSvRI6l.mjs.map} +1 -1
  292. package/dist/chunks/{NcAppSidebar-8_YcevI9.cjs → NcAppSidebar-Du-IRmEO.cjs} +17 -13
  293. package/dist/chunks/{NcAppSidebar-8_YcevI9.cjs.map → NcAppSidebar-Du-IRmEO.cjs.map} +1 -1
  294. package/dist/chunks/{NcAvatar-Vp4PnmMw.cjs → NcAvatar-BEet_8fB.cjs} +57 -53
  295. package/dist/chunks/{NcAvatar-Vp4PnmMw.cjs.map → NcAvatar-BEet_8fB.cjs.map} +1 -1
  296. package/dist/chunks/{NcAvatar-MHywJkM4.mjs → NcAvatar-e0M-nnF6.mjs} +73 -69
  297. package/dist/chunks/{NcAvatar-MHywJkM4.mjs.map → NcAvatar-e0M-nnF6.mjs.map} +1 -1
  298. package/dist/chunks/{NcBreadcrumb-K8expM4Y.mjs → NcBreadcrumb-CVMyBckA.mjs} +7 -7
  299. package/dist/chunks/{NcBreadcrumb-K8expM4Y.mjs.map → NcBreadcrumb-CVMyBckA.mjs.map} +1 -1
  300. package/dist/chunks/{NcBreadcrumb-lksx7xyQ.cjs → NcBreadcrumb-DVXsgQkE.cjs} +4 -4
  301. package/dist/chunks/{NcBreadcrumb-lksx7xyQ.cjs.map → NcBreadcrumb-DVXsgQkE.cjs.map} +1 -1
  302. package/dist/chunks/{NcBreadcrumbs-cwBxvntJ.cjs → NcBreadcrumbs-DkgzO9f5.cjs} +103 -99
  303. package/dist/chunks/{NcBreadcrumbs-cwBxvntJ.cjs.map → NcBreadcrumbs-DkgzO9f5.cjs.map} +1 -1
  304. package/dist/chunks/{NcBreadcrumbs-rX1BVFSi.mjs → NcBreadcrumbs-DqRU0BfB.mjs} +65 -61
  305. package/dist/chunks/{NcBreadcrumbs-rX1BVFSi.mjs.map → NcBreadcrumbs-DqRU0BfB.mjs.map} +1 -1
  306. package/dist/chunks/{NcCheckboxRadioSwitch-hel9-sAH.mjs → NcCheckboxRadioSwitch-7Yib86y3.mjs} +6 -6
  307. package/dist/chunks/{NcCheckboxRadioSwitch-hel9-sAH.mjs.map → NcCheckboxRadioSwitch-7Yib86y3.mjs.map} +1 -1
  308. package/dist/chunks/{NcCheckboxRadioSwitch-BUIaJMqW.cjs → NcCheckboxRadioSwitch-Dt96X5bR.cjs} +5 -5
  309. package/dist/chunks/{NcCheckboxRadioSwitch-BUIaJMqW.cjs.map → NcCheckboxRadioSwitch-Dt96X5bR.cjs.map} +1 -1
  310. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-C1WLneXl.cjs +4 -0
  311. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-C1WLneXl.cjs.map +1 -0
  312. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CKROuACA.mjs +3 -0
  313. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CKROuACA.mjs.map +1 -0
  314. package/dist/chunks/{NcColorPicker-_OGhRcL2.cjs → NcColorPicker-BVqwn1Fr.cjs} +4 -5
  315. package/dist/chunks/{NcColorPicker-rdotuXIn.mjs.map → NcColorPicker-BVqwn1Fr.cjs.map} +1 -1
  316. package/dist/chunks/{NcColorPicker-rdotuXIn.mjs → NcColorPicker-Dkxeigs5.mjs} +11 -12
  317. package/dist/chunks/{NcColorPicker-_OGhRcL2.cjs.map → NcColorPicker-Dkxeigs5.mjs.map} +1 -1
  318. package/dist/chunks/NcContent-Bmeq8hLO.cjs +80 -0
  319. package/dist/chunks/{NcContent-M9BJMGg0.mjs.map → NcContent-Bmeq8hLO.cjs.map} +1 -1
  320. package/dist/chunks/NcContent-COIw1X7V.mjs +87 -0
  321. package/dist/chunks/{NcContent-qCB26fzT.cjs.map → NcContent-COIw1X7V.mjs.map} +1 -1
  322. package/dist/chunks/{NcDashboardWidget-oK144Mdz.mjs → NcDashboardWidget-Cxz_n1AN.mjs} +6 -6
  323. package/dist/chunks/{NcDashboardWidget-oK144Mdz.mjs.map → NcDashboardWidget-Cxz_n1AN.mjs.map} +1 -1
  324. package/dist/chunks/{NcDashboardWidget-ajzKRBC2.cjs → NcDashboardWidget-DArU3jbL.cjs} +3 -3
  325. package/dist/chunks/{NcDashboardWidget-ajzKRBC2.cjs.map → NcDashboardWidget-DArU3jbL.cjs.map} +1 -1
  326. package/dist/chunks/{NcDashboardWidgetItem-hmytFH9r.cjs → NcDashboardWidgetItem-BAhzcFfs.cjs} +2 -2
  327. package/dist/chunks/{NcDashboardWidgetItem-hmytFH9r.cjs.map → NcDashboardWidgetItem-BAhzcFfs.cjs.map} +1 -1
  328. package/dist/chunks/{NcDashboardWidgetItem-H0TN4xZv.mjs → NcDashboardWidgetItem-BV2tuXoj.mjs} +4 -4
  329. package/dist/chunks/{NcDashboardWidgetItem-H0TN4xZv.mjs.map → NcDashboardWidgetItem-BV2tuXoj.mjs.map} +1 -1
  330. package/dist/chunks/{NcDateTime-FfZJDKud.mjs → NcDateTime-B0oaElJX.mjs} +2 -2
  331. package/dist/chunks/{NcDateTime-FfZJDKud.mjs.map → NcDateTime-B0oaElJX.mjs.map} +1 -1
  332. package/dist/chunks/{NcDateTime-7m58XSm1.cjs → NcDateTime-Dl0XztMt.cjs} +1 -1
  333. package/dist/chunks/{NcDateTime-7m58XSm1.cjs.map → NcDateTime-Dl0XztMt.cjs.map} +1 -1
  334. package/dist/chunks/{NcDialog-f6KwlaqC.cjs → NcDialog-C6nYgBDF.cjs} +3 -3
  335. package/dist/chunks/{NcDialog-f6KwlaqC.cjs.map → NcDialog-C6nYgBDF.cjs.map} +1 -1
  336. package/dist/chunks/{NcDialog-_HZnlBi4.mjs → NcDialog-D6YSjidf.mjs} +5 -5
  337. package/dist/chunks/{NcDialog-_HZnlBi4.mjs.map → NcDialog-D6YSjidf.mjs.map} +1 -1
  338. package/dist/chunks/{NcDialogButton-CtdP0-DO.cjs → NcDialogButton-D7ibBxsQ.cjs} +11 -10
  339. package/dist/chunks/{NcDialogButton-xDZQrfsw.mjs.map → NcDialogButton-D7ibBxsQ.cjs.map} +1 -1
  340. package/dist/chunks/{NcDialogButton-xDZQrfsw.mjs → NcDialogButton-DQFoaN7q.mjs} +14 -13
  341. package/dist/chunks/{NcDialogButton-CtdP0-DO.cjs.map → NcDialogButton-DQFoaN7q.mjs.map} +1 -1
  342. package/dist/chunks/{NcEmojiPicker-fsigxTm2.cjs → NcEmojiPicker-BCdoIKXJ.cjs} +54 -52
  343. package/dist/chunks/{NcEmojiPicker-fsigxTm2.cjs.map → NcEmojiPicker-BCdoIKXJ.cjs.map} +1 -1
  344. package/dist/chunks/{NcEmojiPicker-g4_HENyr.mjs → NcEmojiPicker-fRx7dTTf.mjs} +12 -10
  345. package/dist/chunks/{NcEmojiPicker-g4_HENyr.mjs.map → NcEmojiPicker-fRx7dTTf.mjs.map} +1 -1
  346. package/dist/chunks/{NcHeaderMenu-0d6eqre6.cjs → NcHeaderMenu-BUeI4DGP.cjs} +11 -9
  347. package/dist/chunks/{NcHeaderMenu-0d6eqre6.cjs.map → NcHeaderMenu-BUeI4DGP.cjs.map} +1 -1
  348. package/dist/chunks/{NcHeaderMenu-91qMsRIw.mjs → NcHeaderMenu-CXBimxcN.mjs} +11 -9
  349. package/dist/chunks/{NcHeaderMenu-91qMsRIw.mjs.map → NcHeaderMenu-CXBimxcN.mjs.map} +1 -1
  350. package/dist/chunks/{NcIconSvgWrapper-CvnWKK7h.mjs → NcIconSvgWrapper-BTdzvQGV.mjs} +3 -3
  351. package/dist/chunks/{NcIconSvgWrapper-CvnWKK7h.mjs.map → NcIconSvgWrapper-BTdzvQGV.mjs.map} +1 -1
  352. package/dist/chunks/{NcIconSvgWrapper-RwagV5P9.cjs → NcIconSvgWrapper-kIn1eQyv.cjs} +3 -3
  353. package/dist/chunks/{NcIconSvgWrapper-RwagV5P9.cjs.map → NcIconSvgWrapper-kIn1eQyv.cjs.map} +1 -1
  354. package/dist/chunks/{NcInputConfirmCancel-1G2LMh5T.mjs → NcInputConfirmCancel-BXZqwqY6.mjs} +5 -5
  355. package/dist/chunks/{NcInputConfirmCancel-1G2LMh5T.mjs.map → NcInputConfirmCancel-BXZqwqY6.mjs.map} +1 -1
  356. package/dist/chunks/{NcInputConfirmCancel-9l24xmqk.cjs → NcInputConfirmCancel-DpgXTGmT.cjs} +2 -2
  357. package/dist/chunks/{NcInputConfirmCancel-9l24xmqk.cjs.map → NcInputConfirmCancel-DpgXTGmT.cjs.map} +1 -1
  358. package/dist/chunks/{NcListItem-JO4s1J8T.mjs → NcListItem-C5oWvAZQ.mjs} +5 -5
  359. package/dist/chunks/{NcListItem-JO4s1J8T.mjs.map → NcListItem-C5oWvAZQ.mjs.map} +1 -1
  360. package/dist/chunks/{NcListItem-y9KnglaX.cjs → NcListItem-wxqWqs4s.cjs} +3 -3
  361. package/dist/chunks/{NcListItem-y9KnglaX.cjs.map → NcListItem-wxqWqs4s.cjs.map} +1 -1
  362. package/dist/chunks/{NcListItemIcon-JWu3t5En.cjs → NcListItemIcon-DfdkSCin.cjs} +6 -5
  363. package/dist/chunks/{NcListItemIcon-JWu3t5En.cjs.map → NcListItemIcon-DfdkSCin.cjs.map} +1 -1
  364. package/dist/chunks/{NcListItemIcon-NPSUuwgH.mjs → NcListItemIcon-WH9TUCxb.mjs} +8 -7
  365. package/dist/chunks/{NcListItemIcon-NPSUuwgH.mjs.map → NcListItemIcon-WH9TUCxb.mjs.map} +1 -1
  366. package/dist/chunks/{NcPasswordField-sshf3uoz.mjs → NcPasswordField-BPAivxc_.mjs} +38 -38
  367. package/dist/chunks/{NcPasswordField-sshf3uoz.mjs.map → NcPasswordField-BPAivxc_.mjs.map} +1 -1
  368. package/dist/chunks/{NcPasswordField-r4LxrITz.cjs → NcPasswordField-BgNcvN0V.cjs} +16 -16
  369. package/dist/chunks/{NcPasswordField-r4LxrITz.cjs.map → NcPasswordField-BgNcvN0V.cjs.map} +1 -1
  370. package/dist/chunks/{NcPopover-93ns_0K4.mjs → NcPopover--V3R3EKV.mjs} +39 -33
  371. package/dist/chunks/{NcPopover-93ns_0K4.mjs.map → NcPopover--V3R3EKV.mjs.map} +1 -1
  372. package/dist/chunks/{NcPopover-fv7OFtxM.cjs → NcPopover-h-t7Dnjk.cjs} +16 -10
  373. package/dist/chunks/{NcPopover-fv7OFtxM.cjs.map → NcPopover-h-t7Dnjk.cjs.map} +1 -1
  374. package/dist/chunks/{NcProgressBar-BthaVVHU.cjs → NcProgressBar-BYk5hfPI.cjs} +3 -3
  375. package/dist/chunks/{NcProgressBar-BthaVVHU.cjs.map → NcProgressBar-BYk5hfPI.cjs.map} +1 -1
  376. package/dist/chunks/{NcProgressBar-h2ufKS6c.mjs → NcProgressBar-DDAeXyp8.mjs} +3 -3
  377. package/dist/chunks/{NcProgressBar-h2ufKS6c.mjs.map → NcProgressBar-DDAeXyp8.mjs.map} +1 -1
  378. package/dist/chunks/NcRelatedResourcesPanel-Cp8Au2iI.cjs +371 -0
  379. package/dist/chunks/NcRelatedResourcesPanel-Cp8Au2iI.cjs.map +1 -0
  380. package/dist/chunks/NcRelatedResourcesPanel-LTNqJecS.mjs +381 -0
  381. package/dist/chunks/NcRelatedResourcesPanel-LTNqJecS.mjs.map +1 -0
  382. package/dist/chunks/{NcRichContenteditable-1aWhJhMf.mjs → NcRichContenteditable-CHggLQuR.mjs} +42 -35
  383. package/dist/chunks/{NcRichContenteditable-1aWhJhMf.mjs.map → NcRichContenteditable-CHggLQuR.mjs.map} +1 -1
  384. package/dist/chunks/{NcRichContenteditable-tQi-Ee-6.cjs → NcRichContenteditable-hT5m_2tr.cjs} +120 -113
  385. package/dist/chunks/{NcRichContenteditable-tQi-Ee-6.cjs.map → NcRichContenteditable-hT5m_2tr.cjs.map} +1 -1
  386. package/dist/chunks/{NcRichText-LKlliqlj.mjs → NcRichText-BBXbh0Hh.mjs} +65 -62
  387. package/dist/chunks/NcRichText-BBXbh0Hh.mjs.map +1 -0
  388. package/dist/chunks/{NcRichText-zUTcd9g0.cjs → NcRichText-BWX8BLVh.cjs} +53 -50
  389. package/dist/chunks/NcRichText-BWX8BLVh.cjs.map +1 -0
  390. package/dist/chunks/{NcSavingIndicatorIcon-wcQ0mBIL.cjs → NcSavingIndicatorIcon-BTvUkUn-.cjs} +1 -1
  391. package/dist/chunks/{NcSavingIndicatorIcon-wcQ0mBIL.cjs.map → NcSavingIndicatorIcon-BTvUkUn-.cjs.map} +1 -1
  392. package/dist/chunks/{NcSavingIndicatorIcon-IqoMFcDK.mjs → NcSavingIndicatorIcon-Bf0SEmgS.mjs} +1 -1
  393. package/dist/chunks/{NcSavingIndicatorIcon-IqoMFcDK.mjs.map → NcSavingIndicatorIcon-Bf0SEmgS.mjs.map} +1 -1
  394. package/dist/chunks/{NcSelect-Hw3T6JKO.mjs → NcSelect-BVmjiQFa.mjs} +55 -51
  395. package/dist/chunks/{NcSelect-Hw3T6JKO.mjs.map → NcSelect-BVmjiQFa.mjs.map} +1 -1
  396. package/dist/chunks/{NcSelect-KpQ1z3xL.cjs → NcSelect-DjTSAsNL.cjs} +50 -46
  397. package/dist/chunks/{NcSelect-KpQ1z3xL.cjs.map → NcSelect-DjTSAsNL.cjs.map} +1 -1
  398. package/dist/chunks/{NcSelectTags-dBHEZJKD.cjs → NcSelectTags-BJvxyO8E.cjs} +2 -11
  399. package/dist/chunks/{NcSelectTags-dBHEZJKD.cjs.map → NcSelectTags-BJvxyO8E.cjs.map} +1 -1
  400. package/dist/chunks/{NcSelectTags-_JF5U0z-.mjs → NcSelectTags-Ccv-eQzZ.mjs} +4 -13
  401. package/dist/chunks/{NcSelectTags-_JF5U0z-.mjs.map → NcSelectTags-Ccv-eQzZ.mjs.map} +1 -1
  402. package/dist/chunks/{NcSettingsInputText-8TTOXLUf.cjs → NcSettingsInputText-CcO2Du6E.cjs} +3 -3
  403. package/dist/chunks/{NcSettingsInputText-8TTOXLUf.cjs.map → NcSettingsInputText-CcO2Du6E.cjs.map} +1 -1
  404. package/dist/chunks/{NcSettingsInputText-xNWnltHw.mjs → NcSettingsInputText-DXxmqvcd.mjs} +4 -4
  405. package/dist/chunks/{NcSettingsInputText-xNWnltHw.mjs.map → NcSettingsInputText-DXxmqvcd.mjs.map} +1 -1
  406. package/dist/chunks/{NcSettingsSection-f1NU2FVI.mjs → NcSettingsSection-DBe4fKFA.mjs} +3 -3
  407. package/dist/chunks/{NcSettingsSection-f1NU2FVI.mjs.map → NcSettingsSection-DBe4fKFA.mjs.map} +1 -1
  408. package/dist/chunks/{NcSettingsSection-wQR22_HI.cjs → NcSettingsSection-qgIYSB_M.cjs} +3 -3
  409. package/dist/chunks/{NcSettingsSection-wQR22_HI.cjs.map → NcSettingsSection-qgIYSB_M.cjs.map} +1 -1
  410. package/dist/chunks/{NcSettingsSelectGroup-7rZs5am4.cjs → NcSettingsSelectGroup-DD8PEgvQ.cjs} +6 -6
  411. package/dist/chunks/{NcSettingsSelectGroup-7rZs5am4.cjs.map → NcSettingsSelectGroup-DD8PEgvQ.cjs.map} +1 -1
  412. package/dist/chunks/{NcSettingsSelectGroup-KR0JI731.mjs → NcSettingsSelectGroup-d2TLOW1O.mjs} +8 -8
  413. package/dist/chunks/{NcSettingsSelectGroup-KR0JI731.mjs.map → NcSettingsSelectGroup-d2TLOW1O.mjs.map} +1 -1
  414. package/dist/chunks/{NcTextField-u76gJqK3.mjs → NcTextField-CU-YIhL3.mjs} +4 -4
  415. package/dist/chunks/{NcTextField-u76gJqK3.mjs.map → NcTextField-CU-YIhL3.mjs.map} +1 -1
  416. package/dist/chunks/{NcTextField-ejnIVzP2.cjs → NcTextField-CsnzlYWD.cjs} +2 -2
  417. package/dist/chunks/{NcTextField-ejnIVzP2.cjs.map → NcTextField-CsnzlYWD.cjs.map} +1 -1
  418. package/dist/chunks/NcTimezonePicker-C-Ci2IuC.cjs +3780 -0
  419. package/dist/chunks/{NcTimezonePicker-OON0Y0l1.cjs.map → NcTimezonePicker-C-Ci2IuC.cjs.map} +1 -1
  420. package/dist/chunks/NcTimezonePicker-gvp9MAcg.mjs +3786 -0
  421. package/dist/chunks/{NcTimezonePicker-s9HDKbHx.mjs.map → NcTimezonePicker-gvp9MAcg.mjs.map} +1 -1
  422. package/dist/chunks/{NcUserBubble-cv1Ae_v4.cjs → NcUserBubble-COhpp9l_.cjs} +4 -3
  423. package/dist/chunks/{NcUserBubble-2gGv-0Sv.mjs.map → NcUserBubble-COhpp9l_.cjs.map} +1 -1
  424. package/dist/chunks/{NcUserBubble-2gGv-0Sv.mjs → NcUserBubble-CbufscPi.mjs} +6 -5
  425. package/dist/chunks/{NcUserBubble-cv1Ae_v4.cjs.map → NcUserBubble-CbufscPi.mjs.map} +1 -1
  426. package/dist/chunks/{NcUserStatusIcon-q3okK462.mjs → NcUserStatusIcon-0SGYQL9L.mjs} +37 -54
  427. package/dist/chunks/{NcUserStatusIcon-q3okK462.mjs.map → NcUserStatusIcon-0SGYQL9L.mjs.map} +1 -1
  428. package/dist/chunks/NcUserStatusIcon-C7dfcW39.cjs +150 -0
  429. package/dist/chunks/{NcUserStatusIcon-ydS217hk.cjs.map → NcUserStatusIcon-C7dfcW39.cjs.map} +1 -1
  430. package/dist/chunks/{ScopeComponent-ad_Jva5z.cjs → ScopeComponent-CSd5rNUA.cjs} +1 -1
  431. package/dist/chunks/{ScopeComponent-ad_Jva5z.cjs.map → ScopeComponent-CSd5rNUA.cjs.map} +1 -1
  432. package/dist/chunks/{ScopeComponent-fOJOJbfW.mjs → ScopeComponent-LxI8YPnR.mjs} +1 -1
  433. package/dist/chunks/{ScopeComponent-fOJOJbfW.mjs.map → ScopeComponent-LxI8YPnR.mjs.map} +1 -1
  434. package/dist/chunks/_l10n-B986q8RC.cjs +66 -0
  435. package/dist/chunks/_l10n-B986q8RC.cjs.map +1 -0
  436. package/dist/chunks/_l10n-D8Scz3mH.mjs +68 -0
  437. package/dist/chunks/_l10n-D8Scz3mH.mjs.map +1 -0
  438. package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs.map +1 -0
  439. package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs.map +1 -0
  440. package/dist/chunks/{actionGlobal-fRayfdEK.mjs.map → actionGlobal-D49NL940.mjs.map} +1 -1
  441. package/dist/chunks/{actionGlobal-SGFis4LZ.cjs.map → actionGlobal-DL1VaQzF.cjs.map} +1 -1
  442. package/dist/chunks/{actionText-nj1gFMEY.cjs → actionText-iWNpvZuI.cjs} +1 -1
  443. package/dist/chunks/{actionText-nj1gFMEY.cjs.map → actionText-iWNpvZuI.cjs.map} +1 -1
  444. package/dist/chunks/{actionText-bMy_49i8.mjs → actionText-jLsEBszD.mjs} +1 -1
  445. package/dist/chunks/{actionText-bMy_49i8.mjs.map → actionText-jLsEBszD.mjs.map} +1 -1
  446. package/dist/chunks/{autolink-oKM43mOC.mjs.map → autolink-BtgUDDdk.mjs.map} +1 -1
  447. package/dist/chunks/{autolink-gVCgJtXh.cjs.map → autolink-D0rLUkqm.cjs.map} +1 -1
  448. package/dist/chunks/{emoji-mJIuLpNR.cjs → emoji-DEH9dtOa.cjs} +7 -6
  449. package/dist/chunks/{emoji-mJIuLpNR.cjs.map → emoji-DEH9dtOa.cjs.map} +1 -1
  450. package/dist/chunks/{emoji-tllD0Rvt.mjs → emoji-k4gWHxrE.mjs} +4 -3
  451. package/dist/chunks/{emoji-tllD0Rvt.mjs.map → emoji-k4gWHxrE.mjs.map} +1 -1
  452. package/dist/chunks/{focusTrap-Py2bQ9-r.mjs.map → focusTrap-Be9GEB5C.mjs.map} +1 -1
  453. package/dist/chunks/{focusTrap-n3H52LOw.cjs.map → focusTrap-xauhLvvr.cjs.map} +1 -1
  454. package/dist/chunks/index-Bh9FEWbr.cjs +87 -0
  455. package/dist/chunks/index-Bh9FEWbr.cjs.map +1 -0
  456. package/dist/chunks/{index-XRGLuo0a.cjs → index-CIsMzBte.cjs} +9 -11
  457. package/dist/chunks/{index-XRGLuo0a.cjs.map → index-CIsMzBte.cjs.map} +1 -1
  458. package/dist/chunks/index-CU14QsCg.mjs +88 -0
  459. package/dist/chunks/index-CU14QsCg.mjs.map +1 -0
  460. package/dist/chunks/{index-FO4BaGaF.cjs → index-Cke9rKBg.cjs} +1 -1
  461. package/dist/chunks/{index-FO4BaGaF.cjs.map → index-Cke9rKBg.cjs.map} +1 -1
  462. package/dist/chunks/{index-2phCrsSH.mjs → index-CnpswYi6.mjs} +1 -1
  463. package/dist/chunks/{index-2phCrsSH.mjs.map → index-CnpswYi6.mjs.map} +1 -1
  464. package/dist/chunks/{index-05Rfhge1.mjs → index-DYXjj9ET.mjs} +10 -12
  465. package/dist/chunks/{index-05Rfhge1.mjs.map → index-DYXjj9ET.mjs.map} +1 -1
  466. package/dist/chunks/{logger-3m1eQsSo.mjs.map → logger-C7qcfVW8.mjs.map} +1 -1
  467. package/dist/chunks/{logger-G6OKp5ly.cjs.map → logger-D9RRY4er.cjs.map} +1 -1
  468. package/dist/chunks/{referencePickerModal-02Pa52XN.mjs → referencePickerModal-DUhJWt2e.mjs} +721 -659
  469. package/dist/chunks/referencePickerModal-DUhJWt2e.mjs.map +1 -0
  470. package/dist/chunks/{referencePickerModal-87PoyCB_.cjs → referencePickerModal-DV7-XzCc.cjs} +377 -315
  471. package/dist/chunks/referencePickerModal-DV7-XzCc.cjs.map +1 -0
  472. package/dist/chunks/{usernameToColor-zos-xTTA.cjs → usernameToColor-DibvD_OP.cjs} +1 -1
  473. package/dist/chunks/{usernameToColor-zos-xTTA.cjs.map → usernameToColor-DibvD_OP.cjs.map} +1 -1
  474. package/dist/chunks/{usernameToColor-exoSzo-C.mjs → usernameToColor-iYF-oKTP.mjs} +1 -1
  475. package/dist/chunks/{usernameToColor-exoSzo-C.mjs.map → usernameToColor-iYF-oKTP.mjs.map} +1 -1
  476. package/dist/functions/reference/widgets.d.ts +37 -0
  477. package/dist/index.cjs +18 -17
  478. package/dist/index.cjs.map +1 -1
  479. package/dist/index.mjs +112 -111
  480. package/package.json +13 -13
  481. package/dist/chunks/NcAppNavigation-CNOTInDF.cjs.map +0 -1
  482. package/dist/chunks/NcAppNavigation-jWJsOIts.mjs.map +0 -1
  483. package/dist/chunks/NcAppNavigationItem-MA9ORoUF.cjs.map +0 -1
  484. package/dist/chunks/NcAppNavigationItem-_F3PGjJA.mjs.map +0 -1
  485. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-UbvywlEZ.cjs +0 -4
  486. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-UbvywlEZ.cjs.map +0 -1
  487. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-pNm38e__.mjs +0 -3
  488. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-pNm38e__.mjs.map +0 -1
  489. package/dist/chunks/NcContent-M9BJMGg0.mjs +0 -131
  490. package/dist/chunks/NcContent-qCB26fzT.cjs +0 -124
  491. package/dist/chunks/NcRelatedResourcesPanel-3uGS3Og7.mjs +0 -211
  492. package/dist/chunks/NcRelatedResourcesPanel-3uGS3Og7.mjs.map +0 -1
  493. package/dist/chunks/NcRelatedResourcesPanel-I6QLPffA.cjs +0 -205
  494. package/dist/chunks/NcRelatedResourcesPanel-I6QLPffA.cjs.map +0 -1
  495. package/dist/chunks/NcRichText-LKlliqlj.mjs.map +0 -1
  496. package/dist/chunks/NcRichText-zUTcd9g0.cjs.map +0 -1
  497. package/dist/chunks/NcTimezonePicker-OON0Y0l1.cjs +0 -7195
  498. package/dist/chunks/NcTimezonePicker-s9HDKbHx.mjs +0 -7201
  499. package/dist/chunks/NcUserStatusIcon-ydS217hk.cjs +0 -167
  500. package/dist/chunks/_l10n-9dioj9MT.mjs +0 -66
  501. package/dist/chunks/_l10n-9dioj9MT.mjs.map +0 -1
  502. package/dist/chunks/_l10n-qu3Uu6RR.cjs +0 -64
  503. package/dist/chunks/_l10n-qu3Uu6RR.cjs.map +0 -1
  504. package/dist/chunks/_plugin-vue2_normalizer-DCfUPqga.cjs.map +0 -1
  505. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.mjs.map +0 -1
  506. package/dist/chunks/referencePickerModal-02Pa52XN.mjs.map +0 -1
  507. package/dist/chunks/referencePickerModal-87PoyCB_.cjs.map +0 -1
  508. /package/dist/assets/{NcActionButton-rOZFVQA8.css → NcActionButton-Cs5kVVAD.css} +0 -0
  509. /package/dist/assets/{NcActionButtonGroup-oXobVIqQ.css → NcActionButtonGroup-ChehtUip.css} +0 -0
  510. /package/dist/assets/{NcActionCaption-afJqyJO6.css → NcActionCaption-Bp8mrIk7.css} +0 -0
  511. /package/dist/assets/{NcActionCheckbox-6Pvlr1E7.css → NcActionCheckbox-Do--WvUT.css} +0 -0
  512. /package/dist/assets/{NcActionInput-4zSvDkWm.css → NcActionInput-DjNK8ORa.css} +0 -0
  513. /package/dist/assets/{NcActionLink-zdzQgwtH.css → NcActionLink-DN3NCDC0.css} +0 -0
  514. /package/dist/assets/{NcActionRadio-eOr9Sp-D.css → NcActionRadio-B46v1Kn4.css} +0 -0
  515. /package/dist/assets/{NcActionRouter-MFTD6tYI.css → NcActionRouter-wVMPq1gi.css} +0 -0
  516. /package/dist/assets/{NcActionSeparator-l98xWbiL.css → NcActionSeparator-CX3zFZuI.css} +0 -0
  517. /package/dist/assets/{NcActionText-GJYwsw_U.css → NcActionText-YljCzD9Q.css} +0 -0
  518. /package/dist/assets/{NcActionTextEditable-JrYuWEDd.css → NcActionTextEditable-mti5YQN1.css} +0 -0
  519. /package/dist/assets/{NcAppNavigationCaption-I1dcvB0N.css → NcAppNavigationCaption-jV1y8HQ1.css} +0 -0
  520. /package/dist/assets/{NcAppNavigationIconBullet-Nf3ARMLv.css → NcAppNavigationIconBullet-1_cBEwu8.css} +0 -0
  521. /package/dist/assets/{NcAppNavigationItem-caMsw_N_.css → NcAppNavigationItem-BxoyzD83.css} +0 -0
  522. /package/dist/assets/{NcAppNavigationNew-joyd78FM.css → NcAppNavigationNew-COjJ3vwU.css} +0 -0
  523. /package/dist/assets/{NcAppNavigationNewItem-ue-H4LQY.css → NcAppNavigationNewItem-C574fgtB.css} +0 -0
  524. /package/dist/assets/{NcAppNavigationSettings-Jx_6RpSn.css → NcAppNavigationSettings-nH_pGlKc.css} +0 -0
  525. /package/dist/assets/{NcAppNavigationSpacer-uaft91Uz.css → NcAppNavigationSpacer-C5p-33VT.css} +0 -0
  526. /package/dist/assets/{NcAppNavigationToggle-3vMKtCQL.css → NcAppNavigationToggle-De8wq0JA.css} +0 -0
  527. /package/dist/assets/{NcAppSettingsDialog-0eOo3ERv.css → NcAppSettingsDialog-DR46jcRG.css} +0 -0
  528. /package/dist/assets/{NcAppSettingsSection-ahfdhix_.css → NcAppSettingsSection-BqF92GLH.css} +0 -0
  529. /package/dist/assets/{NcAppSidebar-RkF-tqKy.css → NcAppSidebar-BGQX62or.css} +0 -0
  530. /package/dist/assets/{NcAppSidebarTab-FywbKxqo.css → NcAppSidebarTab-XLBsrGqg.css} +0 -0
  531. /package/dist/assets/{NcAvatar-5H9cqcD1.css → NcAvatar-Dkf1ypwP.css} +0 -0
  532. /package/dist/assets/{NcBreadcrumb-HspaFygg.css → NcBreadcrumb-eyloXKCC.css} +0 -0
  533. /package/dist/assets/{NcBreadcrumbs-KBV0Jccv.css → NcBreadcrumbs-oFXQlxy-.css} +0 -0
  534. /package/dist/assets/{NcButton-4Wj3KJn8.css → NcButton-DhaPcomf.css} +0 -0
  535. /package/dist/assets/{NcCheckboxRadioSwitch-mgKotCbU.css → NcCheckboxRadioSwitch-CaAqi0Jt.css} +0 -0
  536. /package/dist/assets/{NcColorPicker-jW6HOxWA.css → NcColorPicker-CNboc7FY.css} +0 -0
  537. /package/dist/assets/{NcContent-LWR23l9i.css → NcContent-tZHbeX2L.css} +0 -0
  538. /package/dist/assets/{NcCounterBubble-rgkmqN46.css → NcCounterBubble-CuCSao3j.css} +0 -0
  539. /package/dist/assets/{NcDashboardWidget-01deRW9Z.css → NcDashboardWidget-DTV15Fb1.css} +0 -0
  540. /package/dist/assets/{NcDashboardWidgetItem-OL--xR_P.css → NcDashboardWidgetItem-4v77FH89.css} +0 -0
  541. /package/dist/assets/{NcDateTimePickerNative-5yybtvfx.css → NcDateTimePickerNative-DnLJu29_.css} +0 -0
  542. /package/dist/assets/{NcDialog-DN-rY-55.css → NcDialog-M36tj7nk.css} +0 -0
  543. /package/dist/assets/{NcEllipsisedOption-eoI10kvc.css → NcEllipsisedOption-B6gjXSS9.css} +0 -0
  544. /package/dist/assets/{NcEmptyContent-pSz7F6Oe.css → NcEmptyContent-ClLPsXo5.css} +0 -0
  545. /package/dist/assets/{NcGuestContent-mGGTzI2_.css → NcGuestContent-CYYZPMjb.css} +0 -0
  546. /package/dist/assets/{NcHeaderMenu-Srn5iXdL.css → NcHeaderMenu-BKufmJd0.css} +0 -0
  547. /package/dist/assets/{NcIconSvgWrapper-KLotijwU.css → NcIconSvgWrapper-oui2KPBT.css} +0 -0
  548. /package/dist/assets/{NcInputConfirmCancel-ks8z8dIn.css → NcInputConfirmCancel-CSzzPx0i.css} +0 -0
  549. /package/dist/assets/{NcInputField-L2Lld_iG.css → NcInputField-vYuV3-IY.css} +0 -0
  550. /package/dist/assets/{NcListItem-L8LeGwpe.css → NcListItem-vwt4bCl6.css} +0 -0
  551. /package/dist/assets/{NcListItemIcon-PQ2s6ZqX.css → NcListItemIcon-9Dazpmpd.css} +0 -0
  552. /package/dist/assets/{NcLoadingIcon-hZn7TJM8.css → NcLoadingIcon-CFmftMkz.css} +0 -0
  553. /package/dist/assets/{NcMentionBubble-YYl1ib_F.css → NcMentionBubble-BhiXWJv8.css} +0 -0
  554. /package/dist/assets/{NcModal-sIK5sUoC.css → NcModal-CwgrmxSg.css} +0 -0
  555. /package/dist/assets/{NcNoteCard-f0NZpwjL.css → NcNoteCard-B_Q1mnCM.css} +0 -0
  556. /package/dist/assets/{NcPopover-MK4GcuPY.css → NcPopover-wrgZy49g.css} +0 -0
  557. /package/dist/assets/{NcProgressBar-w4-G5gQR.css → NcProgressBar-DDj4bmBB.css} +0 -0
  558. /package/dist/assets/{NcRichContenteditable-rW6l0h3m.css → NcRichContenteditable-CtbqXSHe.css} +0 -0
  559. /package/dist/assets/{NcSelect-OGgZlx4Q.css → NcSelect-4aBmXHhA.css} +0 -0
  560. /package/dist/assets/{NcSettingsInputText-MPi6a3Yy.css → NcSettingsInputText-w-LprdjK.css} +0 -0
  561. /package/dist/assets/{NcSettingsSection-PEWm0eeL.css → NcSettingsSection-8RabR54v.css} +0 -0
  562. /package/dist/assets/{NcSettingsSelectGroup-_Jpb8yE3.css → NcSettingsSelectGroup-D8mlvzIT.css} +0 -0
  563. /package/dist/assets/{NcTextArea-4rVwq6GK.css → NcTextArea-DitXCroY.css} +0 -0
  564. /package/dist/assets/{NcUserBubble-jjzI5imn.css → NcUserBubble-COPMjmKa.css} +0 -0
  565. /package/dist/assets/{NcUserStatusIcon-62u43_6P.css → NcUserStatusIcon-Dra7jf_o.css} +0 -0
  566. /package/dist/assets/{Tooltip-wOLIuz0Q.css → Tooltip-DA4si7PR.css} +0 -0
  567. /package/dist/chunks/{GenRandomId-ULxaMkkr.cjs → GenRandomId-B2O1GMbH.cjs} +0 -0
  568. /package/dist/chunks/{GenRandomId-VodkdWbp.mjs → GenRandomId-BW3iYFf9.mjs} +0 -0
  569. /package/dist/chunks/{Linkify-V7PfCeZ8.mjs → Linkify-BaDLLFxP.mjs} +0 -0
  570. /package/dist/chunks/{Linkify-f3s3nAe_.cjs → Linkify-Dola0NBa.cjs} +0 -0
  571. /package/dist/chunks/{_plugin-vue2_normalizer-u6G_3nkj.mjs → _plugin-vue2_normalizer-Bj5bLKV4.mjs} +0 -0
  572. /package/dist/chunks/{_plugin-vue2_normalizer-DCfUPqga.cjs → _plugin-vue2_normalizer-GXKvuwrq.cjs} +0 -0
  573. /package/dist/chunks/{actionGlobal-fRayfdEK.mjs → actionGlobal-D49NL940.mjs} +0 -0
  574. /package/dist/chunks/{actionGlobal-SGFis4LZ.cjs → actionGlobal-DL1VaQzF.cjs} +0 -0
  575. /package/dist/chunks/{autolink-oKM43mOC.mjs → autolink-BtgUDDdk.mjs} +0 -0
  576. /package/dist/chunks/{autolink-gVCgJtXh.cjs → autolink-D0rLUkqm.cjs} +0 -0
  577. /package/dist/chunks/{focusTrap-Py2bQ9-r.mjs → focusTrap-Be9GEB5C.mjs} +0 -0
  578. /package/dist/chunks/{focusTrap-n3H52LOw.cjs → focusTrap-xauhLvvr.cjs} +0 -0
  579. /package/dist/chunks/{logger-3m1eQsSo.mjs → logger-C7qcfVW8.mjs} +0 -0
  580. /package/dist/chunks/{logger-G6OKp5ly.cjs → logger-D9RRY4er.cjs} +0 -0
@@ -1,10 +1,10 @@
1
- import '../assets/NcPopover-MK4GcuPY.css';
1
+ import '../assets/NcPopover-wrgZy49g.css';
2
2
  import s, { defineComponent as a } from "vue";
3
3
  import { Dropdown as i } from "floating-vue";
4
4
  import { createFocusTrap as p } from "focus-trap";
5
- import { g as l } from "./focusTrap-Py2bQ9-r.mjs";
6
- import { n } from "./_plugin-vue2_normalizer-u6G_3nkj.mjs";
7
- const u = a({
5
+ import { g as u } from "./focusTrap-Be9GEB5C.mjs";
6
+ import { n } from "./_plugin-vue2_normalizer-Bj5bLKV4.mjs";
7
+ const l = a({
8
8
  name: "NcPopoverTriggerProvider",
9
9
  provide() {
10
10
  return {
@@ -31,13 +31,14 @@ const u = a({
31
31
  }
32
32
  },
33
33
  render() {
34
- return this.$scopedSlots.default?.({
34
+ var e, t;
35
+ return (t = (e = this.$scopedSlots).default) == null ? void 0 : t.call(e, {
35
36
  attrs: this.triggerAttrs
36
37
  });
37
38
  }
38
39
  }), c = null, d = null;
39
40
  var g = /* @__PURE__ */ n(
40
- u,
41
+ l,
41
42
  c,
42
43
  d,
43
44
  !1,
@@ -69,7 +70,7 @@ const h = g.exports, f = {
69
70
  popupRole: {
70
71
  type: String,
71
72
  default: void 0,
72
- validator: (t) => ["menu", "listbox", "tree", "grid", "dialog", "true"].includes(t)
73
+ validator: (e) => ["menu", "listbox", "tree", "grid", "dialog", "true"].includes(e)
73
74
  },
74
75
  popoverBaseClass: {
75
76
  type: String,
@@ -106,11 +107,11 @@ const h = g.exports, f = {
106
107
  };
107
108
  },
108
109
  watch: {
109
- shown(t) {
110
- this.internalShown = t;
110
+ shown(e) {
111
+ this.internalShown = e;
111
112
  },
112
- internalShown(t) {
113
- this.$emit("update:shown", t);
113
+ internalShown(e) {
114
+ this.$emit("update:shown", e);
114
115
  }
115
116
  },
116
117
  mounted() {
@@ -125,22 +126,24 @@ const h = g.exports, f = {
125
126
  * Important to check custom trigger button.
126
127
  */
127
128
  checkTriggerA11y() {
128
- window.OC?.debug && (this.getPopoverTriggerContainerElement().querySelector("[aria-expanded]") || s.util.warn("It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example."));
129
+ var e;
130
+ (e = window.OC) != null && e.debug && (this.getPopoverTriggerContainerElement().querySelector("[aria-expanded]") || s.util.warn("It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example."));
129
131
  },
130
132
  /**
131
133
  * Remove incorrect aria-describedby attribute from the trigger.
132
134
  * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734
133
135
  */
134
136
  removeFloatingVueAriaDescribedBy() {
135
- const e = this.getPopoverTriggerContainerElement().querySelectorAll("[data-popper-shown]");
136
- for (const r of e)
137
+ const t = this.getPopoverTriggerContainerElement().querySelectorAll("[data-popper-shown]");
138
+ for (const r of t)
137
139
  r.removeAttribute("aria-describedby");
138
140
  },
139
141
  /**
140
142
  * @return {HTMLElement|undefined}
141
143
  */
142
144
  getPopoverContentElement() {
143
- return this.$refs.popover?.$refs.popperContent?.$el;
145
+ var e, t;
146
+ return (t = (e = this.$refs.popover) == null ? void 0 : e.$refs.popperContent) == null ? void 0 : t.$el;
144
147
  },
145
148
  /**
146
149
  * @return {HTMLElement|undefined}
@@ -154,14 +157,14 @@ const h = g.exports, f = {
154
157
  async useFocusTrap() {
155
158
  if (await this.$nextTick(), !this.focusTrap)
156
159
  return;
157
- const t = this.getPopoverContentElement();
158
- t && (this.$focusTrap = p(t, {
160
+ const e = this.getPopoverContentElement();
161
+ e && (this.$focusTrap = p(e, {
159
162
  // Prevents to lose focus using esc key
160
163
  // Focus will be release when popover be hide
161
164
  escapeDeactivates: !1,
162
165
  allowOutsideClick: !0,
163
166
  setReturnFocus: this.setReturnFocus,
164
- trapStack: l()
167
+ trapStack: u()
165
168
  }), this.$focusTrap.activate());
166
169
  },
167
170
  /**
@@ -169,11 +172,12 @@ const h = g.exports, f = {
169
172
  *
170
173
  * @param {object} options The configuration options for focusTrap
171
174
  */
172
- clearFocusTrap(t = {}) {
175
+ clearFocusTrap(e = {}) {
176
+ var t;
173
177
  try {
174
- this.$focusTrap?.deactivate(t), this.$focusTrap = null;
175
- } catch (e) {
176
- console.warn(e);
178
+ (t = this.$focusTrap) == null || t.deactivate(e), this.$focusTrap = null;
179
+ } catch (r) {
180
+ console.warn(r);
177
181
  }
178
182
  },
179
183
  /**
@@ -184,19 +188,21 @@ const h = g.exports, f = {
184
188
  * Alternative - wrap <template #popover> in a div wrapper.
185
189
  */
186
190
  addEscapeStopPropagation() {
187
- this.getPopoverContentElement()?.addEventListener("keydown", this.stopKeydownEscapeHandler);
191
+ const e = this.getPopoverContentElement();
192
+ e == null || e.addEventListener("keydown", this.stopKeydownEscapeHandler);
188
193
  },
189
194
  /**
190
195
  * Remove stop Escape handler
191
196
  */
192
197
  clearEscapeStopPropagation() {
193
- this.getPopoverContentElement()?.removeEventListener("keydown", this.stopKeydownEscapeHandler);
198
+ const e = this.getPopoverContentElement();
199
+ e == null || e.removeEventListener("keydown", this.stopKeydownEscapeHandler);
194
200
  },
195
201
  /**
196
202
  * @param {KeyboardEvent} event - native keydown event
197
203
  */
198
- stopKeydownEscapeHandler(t) {
199
- t.type === "keydown" && t.key === "Escape" && t.stopPropagation();
204
+ stopKeydownEscapeHandler(e) {
205
+ e.type === "keydown" && e.key === "Escape" && e.stopPropagation();
200
206
  },
201
207
  afterShow() {
202
208
  this.removeFloatingVueAriaDescribedBy(), this.$nextTick(() => {
@@ -209,13 +215,13 @@ const h = g.exports, f = {
209
215
  }
210
216
  };
211
217
  var m = function() {
212
- var e = this, r = e._self._c;
213
- return r("Dropdown", e._g(e._b({ ref: "popover", attrs: { distance: 10, "arrow-padding": 10, "no-auto-focus": !0, "popper-class": e.popoverBaseClass, shown: e.internalShown }, on: { "update:shown": function(o) {
214
- e.internalShown = o;
215
- }, "apply-show": e.afterShow, "apply-hide": e.afterHide }, scopedSlots: e._u([{ key: "popper", fn: function() {
216
- return [e._t("default")];
217
- }, proxy: !0 }], null, !0) }, "Dropdown", e.$attrs, !1), e.$listeners), [r("NcPopoverTriggerProvider", { attrs: { shown: e.internalShown, "popup-role": e.popupRole }, scopedSlots: e._u([{ key: "default", fn: function(o) {
218
- return [e._t("trigger", null, null, o)];
218
+ var t = this, r = t._self._c;
219
+ return r("Dropdown", t._g(t._b({ ref: "popover", attrs: { distance: 10, "arrow-padding": 10, "no-auto-focus": !0, "popper-class": t.popoverBaseClass, shown: t.internalShown }, on: { "update:shown": function(o) {
220
+ t.internalShown = o;
221
+ }, "apply-show": t.afterShow, "apply-hide": t.afterHide }, scopedSlots: t._u([{ key: "popper", fn: function() {
222
+ return [t._t("default")];
223
+ }, proxy: !0 }], null, !0) }, "Dropdown", t.$attrs, !1), t.$listeners), [r("NcPopoverTriggerProvider", { attrs: { shown: t.internalShown, "popup-role": t.popupRole }, scopedSlots: t._u([{ key: "default", fn: function(o) {
224
+ return [t._t("trigger", null, null, o)];
219
225
  } }], null, !0) })], 1);
220
226
  }, w = [], v = /* @__PURE__ */ n(
221
227
  f,
@@ -1 +1 @@
1
- {"version":3,"file":"NcPopover-93ns_0K4.mjs","sources":["../../src/components/NcPopover/NcPopoverTriggerProvider.vue","../../src/components/NcPopover/NcPopover.vue"],"sourcesContent":["<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tname: 'NcPopoverTriggerProvider',\n\n\tprovide() {\n\t\treturn {\n\t\t\t'NcPopover:trigger:shown': () => this.shown,\n\t\t\t'NcPopover:trigger:attrs': () => this.triggerAttrs,\n\t\t}\n\t},\n\n\tprops: {\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\ttriggerAttrs() {\n\t\t\treturn {\n\t\t\t\t'aria-haspopup': this.popupRole,\n\t\t\t\t'aria-expanded': this.shown.toString(),\n\t\t\t}\n\t\t},\n\t},\n\n\trender() {\n\t\t// TODO: Vue 3 - replace with $slots\n\t\treturn this.$scopedSlots.default?.({\n\t\t\tattrs: this.triggerAttrs,\n\t\t})\n\t},\n})\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the floating-vue plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/floating-vue\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\n#### With a `<NcButton>` as a trigger:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\t<form tabindex=\"0\" role=\"dialog\" aria-labelledby=\"popover-example-dialog-header-1\" @submit.prevent>\n\t\t\t\t\t<h2 id=\"popover-example-dialog-header-1\">this is some content</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. <br/>\n\t\t\t\t\t\tVestibulum eget placerat velit.\n\t\t\t\t\t</p>\n\t\t\t\t\t<label>\n\t\t\t\t\t\tLabel element\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"input element\"/>\n\t\t\t\t\t</label>\n\t\t\t\t</form>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Without focus trap:\n\nThe [`focus-trap`](https://github.com/focus-trap/focus-trap) emits an error when used in a non-focusable element tree.\n\nThe prop `:focus-trap=\"false\"` help to prevent it when the default behavior is not relevant.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover :focus-trap=\"false\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Click me!</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\tHi! 🚀\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With passing props to `floating-vue`'s `Dropdown`:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover container=\"body\" :popper-hide-triggers=\"(triggers) => [...triggers, 'click']\" popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template #default>\n\t\t\t\t<NcButton>Click on the button will close NcPopover</NcButton>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With a custom button in as a trigger:\n\nWhen `<NcButton>` is used as a `<NcPopover>` trigger, it injects required for a11y attributes to the button.\n\nIf you are using your own custom button as a trigger make sure to bind `attrs` from the trigger slot props.\nSee code example below.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover>\n\t\t\t<!-- Take \"attrs\" from the slot props -->\n\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t<!-- Bind attrs as the button attrs -->\n\t\t\t\t<button v-bind=\"attrs\">\n\t\t\t\t\tI am a custom button in the trigger\n\t\t\t\t</button>\n\t\t\t</template>\n\n\t\t\tHi! 🚀\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Provide role for the popover content\n\nFor accessibility reasons, popover should have a role. Provide it to the `popup-role` and make sure that the popover content is an element with the same role.\n\nSee: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<!-- Provide popup role -->\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Delete</NcButton>\n\t\t\t</template>\n\n\t\t\t<!-- Popover content should has the same role -->\n\t\t\t<div role=\"dialog\" aria-labelledby=\"popover-example-custom-role-1\" aria-modal=\"true\">\n\t\t\t\t<!-- This is not required but better to provide a label -->\n\t\t\t\t<header id=\"popover-example-custom-role-1\">\n\t\t\t\t\t<strong>Confirm remove</strong>\n\t\t\t\t</header>\n\t\t\t\t<NcButton type=\"danger\">Delete</NcButton>\n\t\t\t</div>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<Dropdown ref=\"popover\"\n\t\t:distance=\"10\"\n\t\t:arrow-padding=\"10\"\n\t\tv-bind=\"$attrs\"\n\t\t:no-auto-focus=\"true /* Handled by the focus trap */\"\n\t\t:popper-class=\"popoverBaseClass\"\n\t\t:shown=\"internalShown\"\n\t\tv-on=\"$listeners\"\n\t\t@update:shown=\"internalShown = $event\"\n\t\t@apply-show=\"afterShow\"\n\t\t@apply-hide=\"afterHide\">\n\t\t<NcPopoverTriggerProvider v-slot=\"slotProps\" :shown=\"internalShown\" :popup-role=\"popupRole\">\n\t\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t\t<slot name=\"trigger\" v-bind=\"slotProps\" />\n\t\t</NcPopoverTriggerProvider>\n\n\t\t<!-- This will be the content of the popover -->\n\t\t<template #popper>\n\t\t\t<slot />\n\t\t</template>\n\t</Dropdown>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { Dropdown } from 'floating-vue'\nimport { createFocusTrap } from 'focus-trap'\nimport { getTrapStack } from '../../utils/focusTrap.js'\nimport NcPopoverTriggerProvider from './NcPopoverTriggerProvider.vue'\n\nexport default {\n\tname: 'NcPopover',\n\n\tcomponents: {\n\t\tDropdown,\n\t\tNcPopoverTriggerProvider,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * Show or hide the popper\n\t\t * @see https://floating-vue.starpad.dev/api/#shown\n\t\t */\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Popup role\n\t\t * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values\n\t\t */\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (value) => ['menu', 'listbox', 'tree', 'grid', 'dialog', 'true'].includes(value),\n\t\t},\n\n\t\tpopoverBaseClass: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Enable popover focus trap\n\t\t */\n\t\tfocusTrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Set element to return focus to after focus trap deactivation\n\t\t *\n\t\t * @type {import('focus-trap').FocusTargetValueOrFalse}\n\t\t */\n\t\tsetReturnFocus: {\n\t\t\tdefault: undefined,\n\t\t\ttype: [HTMLElement, SVGElement, String, Boolean],\n\t\t},\n\t},\n\n\temits: [\n\t\t'after-show',\n\t\t'after-hide',\n\t\t/**\n\t\t * @see https://floating-vue.starpad.dev/api/#update-shown\n\t\t */\n\t\t'update:shown',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tinternalShown: this.shown,\n\t\t}\n\t},\n\n\twatch: {\n\t\tshown(value) {\n\t\t\tthis.internalShown = value\n\t\t},\n\n\t\tinternalShown(value) {\n\t\t\tthis.$emit('update:shown', value)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.checkTriggerA11y()\n\t},\n\n\tbeforeDestroy() {\n\t\tthis.clearFocusTrap()\n\t\tthis.clearEscapeStopPropagation()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if the trigger has all required a11y attributes.\n\t\t * Important to check custom trigger button.\n\t\t */\n\t\tcheckTriggerA11y() {\n\t\t\tif (window.OC?.debug) {\n\t\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\t\tconst requiredTriggerButton = triggerContainer.querySelector('[aria-expanded]')\n\t\t\t\tif (!requiredTriggerButton) {\n\t\t\t\t\tVue.util.warn('It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example.')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove incorrect aria-describedby attribute from the trigger.\n\t\t * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734\n\t\t */\n\t\tremoveFloatingVueAriaDescribedBy() {\n\t\t\t// When the popover is shown, floating-vue mutates the root elements of the trigger adding data-popper-shown and incorrect aria-describedby attributes.\n\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\tconst triggerElements = triggerContainer.querySelectorAll('[data-popper-shown]')\n\t\t\tfor (const el of triggerElements) {\n\t\t\t\tel.removeAttribute('aria-describedby')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverContentElement() {\n\t\t\treturn this.$refs.popover?.$refs.popperContent?.$el\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverTriggerContainerElement() {\n\t\t\t// TODO: Vue 3: should be\n\t\t\t// this.$refs.popover.$refs.popper.$refs.reference\n\t\t\treturn this.$refs.popover.$refs.reference\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tawait this.$nextTick()\n\n\t\t\tif (!this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst el = this.getPopoverContentElement()\n\n\t\t\tif (!el) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Init focus trap\n\t\t\tthis.$focusTrap = createFocusTrap(el, {\n\t\t\t\t// Prevents to lose focus using esc key\n\t\t\t\t// Focus will be release when popover be hide\n\t\t\t\tescapeDeactivates: false,\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tsetReturnFocus: this.setReturnFocus,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t})\n\t\t\tthis.$focusTrap.activate()\n\t\t},\n\n\t\t/**\n\t\t * Remove focus trap\n\t\t *\n\t\t * @param {object} options The configuration options for focusTrap\n\t\t */\n\t\tclearFocusTrap(options = {}) {\n\t\t\ttry {\n\t\t\t\tthis.$focusTrap?.deactivate(options)\n\t\t\t\tthis.$focusTrap = null\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(err)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add stopPropagation for Escape.\n\t\t * It prevents global Escape handling after closing popover.\n\t\t *\n\t\t * Manual event handling is used here instead of v-on because there is no direct access to the node.\n\t\t * Alternative - wrap <template #popover> in a div wrapper.\n\t\t */\n\t\taddEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.addEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * Remove stop Escape handler\n\t\t */\n\t\tclearEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.removeEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * @param {KeyboardEvent} event - native keydown event\n\t\t */\n\t\tstopKeydownEscapeHandler(event) {\n\t\t\tif (event.type === 'keydown' && event.key === 'Escape') {\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\n\t\tafterShow() {\n\t\t\tthis.removeFloatingVueAriaDescribedBy()\n\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t/**\n\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t *\n\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t */\n\t\t\t\tthis.$emit('after-show')\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.addEscapeStopPropagation()\n\t\t\t})\n\t\t},\n\t\tafterHide() {\n\t\t\t/**\n\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t */\n\t\t\tthis.$emit('after-hide')\n\t\t\tthis.clearFocusTrap()\n\t\t\tthis.clearEscapeStopPropagation()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","defineComponent","Dropdown","NcPopoverTriggerProvider","value","Vue","triggerElements","el","createFocusTrap","getTrapStack","options","err","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcPopover--V3R3EKV.mjs","sources":["../../src/components/NcPopover/NcPopoverTriggerProvider.vue","../../src/components/NcPopover/NcPopover.vue"],"sourcesContent":["<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tname: 'NcPopoverTriggerProvider',\n\n\tprovide() {\n\t\treturn {\n\t\t\t'NcPopover:trigger:shown': () => this.shown,\n\t\t\t'NcPopover:trigger:attrs': () => this.triggerAttrs,\n\t\t}\n\t},\n\n\tprops: {\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\ttriggerAttrs() {\n\t\t\treturn {\n\t\t\t\t'aria-haspopup': this.popupRole,\n\t\t\t\t'aria-expanded': this.shown.toString(),\n\t\t\t}\n\t\t},\n\t},\n\n\trender() {\n\t\t// TODO: Vue 3 - replace with $slots\n\t\treturn this.$scopedSlots.default?.({\n\t\t\tattrs: this.triggerAttrs,\n\t\t})\n\t},\n})\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the floating-vue plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/floating-vue\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\n#### With a `<NcButton>` as a trigger:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\t<form tabindex=\"0\" role=\"dialog\" aria-labelledby=\"popover-example-dialog-header-1\" @submit.prevent>\n\t\t\t\t\t<h2 id=\"popover-example-dialog-header-1\">this is some content</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. <br/>\n\t\t\t\t\t\tVestibulum eget placerat velit.\n\t\t\t\t\t</p>\n\t\t\t\t\t<label>\n\t\t\t\t\t\tLabel element\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"input element\"/>\n\t\t\t\t\t</label>\n\t\t\t\t</form>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Without focus trap:\n\nThe [`focus-trap`](https://github.com/focus-trap/focus-trap) emits an error when used in a non-focusable element tree.\n\nThe prop `:focus-trap=\"false\"` help to prevent it when the default behavior is not relevant.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover :focus-trap=\"false\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Click me!</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\tHi! 🚀\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With passing props to `floating-vue`'s `Dropdown`:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover container=\"body\" :popper-hide-triggers=\"(triggers) => [...triggers, 'click']\" popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template #default>\n\t\t\t\t<NcButton>Click on the button will close NcPopover</NcButton>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With a custom button in as a trigger:\n\nWhen `<NcButton>` is used as a `<NcPopover>` trigger, it injects required for a11y attributes to the button.\n\nIf you are using your own custom button as a trigger make sure to bind `attrs` from the trigger slot props.\nSee code example below.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover>\n\t\t\t<!-- Take \"attrs\" from the slot props -->\n\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t<!-- Bind attrs as the button attrs -->\n\t\t\t\t<button v-bind=\"attrs\">\n\t\t\t\t\tI am a custom button in the trigger\n\t\t\t\t</button>\n\t\t\t</template>\n\n\t\t\tHi! 🚀\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Provide role for the popover content\n\nFor accessibility reasons, popover should have a role. Provide it to the `popup-role` and make sure that the popover content is an element with the same role.\n\nSee: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<!-- Provide popup role -->\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Delete</NcButton>\n\t\t\t</template>\n\n\t\t\t<!-- Popover content should has the same role -->\n\t\t\t<div role=\"dialog\" aria-labelledby=\"popover-example-custom-role-1\" aria-modal=\"true\">\n\t\t\t\t<!-- This is not required but better to provide a label -->\n\t\t\t\t<header id=\"popover-example-custom-role-1\">\n\t\t\t\t\t<strong>Confirm remove</strong>\n\t\t\t\t</header>\n\t\t\t\t<NcButton type=\"danger\">Delete</NcButton>\n\t\t\t</div>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<Dropdown ref=\"popover\"\n\t\t:distance=\"10\"\n\t\t:arrow-padding=\"10\"\n\t\tv-bind=\"$attrs\"\n\t\t:no-auto-focus=\"true /* Handled by the focus trap */\"\n\t\t:popper-class=\"popoverBaseClass\"\n\t\t:shown=\"internalShown\"\n\t\tv-on=\"$listeners\"\n\t\t@update:shown=\"internalShown = $event\"\n\t\t@apply-show=\"afterShow\"\n\t\t@apply-hide=\"afterHide\">\n\t\t<NcPopoverTriggerProvider v-slot=\"slotProps\" :shown=\"internalShown\" :popup-role=\"popupRole\">\n\t\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t\t<slot name=\"trigger\" v-bind=\"slotProps\" />\n\t\t</NcPopoverTriggerProvider>\n\n\t\t<!-- This will be the content of the popover -->\n\t\t<template #popper>\n\t\t\t<slot />\n\t\t</template>\n\t</Dropdown>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { Dropdown } from 'floating-vue'\nimport { createFocusTrap } from 'focus-trap'\nimport { getTrapStack } from '../../utils/focusTrap.js'\nimport NcPopoverTriggerProvider from './NcPopoverTriggerProvider.vue'\n\nexport default {\n\tname: 'NcPopover',\n\n\tcomponents: {\n\t\tDropdown,\n\t\tNcPopoverTriggerProvider,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * Show or hide the popper\n\t\t * @see https://floating-vue.starpad.dev/api/#shown\n\t\t */\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Popup role\n\t\t * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values\n\t\t */\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (value) => ['menu', 'listbox', 'tree', 'grid', 'dialog', 'true'].includes(value),\n\t\t},\n\n\t\tpopoverBaseClass: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Enable popover focus trap\n\t\t */\n\t\tfocusTrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Set element to return focus to after focus trap deactivation\n\t\t *\n\t\t * @type {import('focus-trap').FocusTargetValueOrFalse}\n\t\t */\n\t\tsetReturnFocus: {\n\t\t\tdefault: undefined,\n\t\t\ttype: [HTMLElement, SVGElement, String, Boolean],\n\t\t},\n\t},\n\n\temits: [\n\t\t'after-show',\n\t\t'after-hide',\n\t\t/**\n\t\t * @see https://floating-vue.starpad.dev/api/#update-shown\n\t\t */\n\t\t'update:shown',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tinternalShown: this.shown,\n\t\t}\n\t},\n\n\twatch: {\n\t\tshown(value) {\n\t\t\tthis.internalShown = value\n\t\t},\n\n\t\tinternalShown(value) {\n\t\t\tthis.$emit('update:shown', value)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.checkTriggerA11y()\n\t},\n\n\tbeforeDestroy() {\n\t\tthis.clearFocusTrap()\n\t\tthis.clearEscapeStopPropagation()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if the trigger has all required a11y attributes.\n\t\t * Important to check custom trigger button.\n\t\t */\n\t\tcheckTriggerA11y() {\n\t\t\tif (window.OC?.debug) {\n\t\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\t\tconst requiredTriggerButton = triggerContainer.querySelector('[aria-expanded]')\n\t\t\t\tif (!requiredTriggerButton) {\n\t\t\t\t\tVue.util.warn('It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example.')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove incorrect aria-describedby attribute from the trigger.\n\t\t * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734\n\t\t */\n\t\tremoveFloatingVueAriaDescribedBy() {\n\t\t\t// When the popover is shown, floating-vue mutates the root elements of the trigger adding data-popper-shown and incorrect aria-describedby attributes.\n\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\tconst triggerElements = triggerContainer.querySelectorAll('[data-popper-shown]')\n\t\t\tfor (const el of triggerElements) {\n\t\t\t\tel.removeAttribute('aria-describedby')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverContentElement() {\n\t\t\treturn this.$refs.popover?.$refs.popperContent?.$el\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverTriggerContainerElement() {\n\t\t\t// TODO: Vue 3: should be\n\t\t\t// this.$refs.popover.$refs.popper.$refs.reference\n\t\t\treturn this.$refs.popover.$refs.reference\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tawait this.$nextTick()\n\n\t\t\tif (!this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst el = this.getPopoverContentElement()\n\n\t\t\tif (!el) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Init focus trap\n\t\t\tthis.$focusTrap = createFocusTrap(el, {\n\t\t\t\t// Prevents to lose focus using esc key\n\t\t\t\t// Focus will be release when popover be hide\n\t\t\t\tescapeDeactivates: false,\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tsetReturnFocus: this.setReturnFocus,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t})\n\t\t\tthis.$focusTrap.activate()\n\t\t},\n\n\t\t/**\n\t\t * Remove focus trap\n\t\t *\n\t\t * @param {object} options The configuration options for focusTrap\n\t\t */\n\t\tclearFocusTrap(options = {}) {\n\t\t\ttry {\n\t\t\t\tthis.$focusTrap?.deactivate(options)\n\t\t\t\tthis.$focusTrap = null\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(err)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add stopPropagation for Escape.\n\t\t * It prevents global Escape handling after closing popover.\n\t\t *\n\t\t * Manual event handling is used here instead of v-on because there is no direct access to the node.\n\t\t * Alternative - wrap <template #popover> in a div wrapper.\n\t\t */\n\t\taddEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.addEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * Remove stop Escape handler\n\t\t */\n\t\tclearEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.removeEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * @param {KeyboardEvent} event - native keydown event\n\t\t */\n\t\tstopKeydownEscapeHandler(event) {\n\t\t\tif (event.type === 'keydown' && event.key === 'Escape') {\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\n\t\tafterShow() {\n\t\t\tthis.removeFloatingVueAriaDescribedBy()\n\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t/**\n\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t *\n\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t */\n\t\t\t\tthis.$emit('after-show')\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.addEscapeStopPropagation()\n\t\t\t})\n\t\t},\n\t\tafterHide() {\n\t\t\t/**\n\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t */\n\t\t\tthis.$emit('after-hide')\n\t\t\tthis.clearFocusTrap()\n\t\t\tthis.clearEscapeStopPropagation()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","defineComponent","_b","_a","Dropdown","NcPopoverTriggerProvider","value","Vue","triggerElements","el","createFocusTrap","getTrapStack","options","err","event"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- require('../assets/NcPopover-MK4GcuPY.css');
1
+ require('../assets/NcPopover-wrgZy49g.css');
2
2
  "use strict";
3
- const n = require("vue"), a = require("floating-vue"), i = require("focus-trap"), p = require("./focusTrap-n3H52LOw.cjs"), s = require("./_plugin-vue2_normalizer-DCfUPqga.cjs"), u = (e) => e && e.__esModule ? e : { default: e }, l = /* @__PURE__ */ u(n), c = n.defineComponent({
3
+ const n = require("vue"), a = require("floating-vue"), i = require("focus-trap"), p = require("./focusTrap-xauhLvvr.cjs"), s = require("./_plugin-vue2_normalizer-GXKvuwrq.cjs"), u = (e) => e && e.__esModule ? e : { default: e }, l = /* @__PURE__ */ u(n), c = n.defineComponent({
4
4
  name: "NcPopoverTriggerProvider",
5
5
  provide() {
6
6
  return {
@@ -27,7 +27,8 @@ const n = require("vue"), a = require("floating-vue"), i = require("focus-trap")
27
27
  }
28
28
  },
29
29
  render() {
30
- return this.$scopedSlots.default?.({
30
+ var e, t;
31
+ return (t = (e = this.$scopedSlots).default) == null ? void 0 : t.call(e, {
31
32
  attrs: this.triggerAttrs
32
33
  });
33
34
  }
@@ -121,7 +122,8 @@ const f = h.exports, w = {
121
122
  * Important to check custom trigger button.
122
123
  */
123
124
  checkTriggerA11y() {
124
- window.OC?.debug && (this.getPopoverTriggerContainerElement().querySelector("[aria-expanded]") || l.default.util.warn("It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example."));
125
+ var e;
126
+ (e = window.OC) != null && e.debug && (this.getPopoverTriggerContainerElement().querySelector("[aria-expanded]") || l.default.util.warn("It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example."));
125
127
  },
126
128
  /**
127
129
  * Remove incorrect aria-describedby attribute from the trigger.
@@ -136,7 +138,8 @@ const f = h.exports, w = {
136
138
  * @return {HTMLElement|undefined}
137
139
  */
138
140
  getPopoverContentElement() {
139
- return this.$refs.popover?.$refs.popperContent?.$el;
141
+ var e, t;
142
+ return (t = (e = this.$refs.popover) == null ? void 0 : e.$refs.popperContent) == null ? void 0 : t.$el;
140
143
  },
141
144
  /**
142
145
  * @return {HTMLElement|undefined}
@@ -166,10 +169,11 @@ const f = h.exports, w = {
166
169
  * @param {object} options The configuration options for focusTrap
167
170
  */
168
171
  clearFocusTrap(e = {}) {
172
+ var t;
169
173
  try {
170
- this.$focusTrap?.deactivate(e), this.$focusTrap = null;
171
- } catch (t) {
172
- console.warn(t);
174
+ (t = this.$focusTrap) == null || t.deactivate(e), this.$focusTrap = null;
175
+ } catch (r) {
176
+ console.warn(r);
173
177
  }
174
178
  },
175
179
  /**
@@ -180,13 +184,15 @@ const f = h.exports, w = {
180
184
  * Alternative - wrap <template #popover> in a div wrapper.
181
185
  */
182
186
  addEscapeStopPropagation() {
183
- this.getPopoverContentElement()?.addEventListener("keydown", this.stopKeydownEscapeHandler);
187
+ const e = this.getPopoverContentElement();
188
+ e == null || e.addEventListener("keydown", this.stopKeydownEscapeHandler);
184
189
  },
185
190
  /**
186
191
  * Remove stop Escape handler
187
192
  */
188
193
  clearEscapeStopPropagation() {
189
- this.getPopoverContentElement()?.removeEventListener("keydown", this.stopKeydownEscapeHandler);
194
+ const e = this.getPopoverContentElement();
195
+ e == null || e.removeEventListener("keydown", this.stopKeydownEscapeHandler);
190
196
  },
191
197
  /**
192
198
  * @param {KeyboardEvent} event - native keydown event
@@ -1 +1 @@
1
- {"version":3,"file":"NcPopover-fv7OFtxM.cjs","sources":["../../src/components/NcPopover/NcPopoverTriggerProvider.vue","../../src/components/NcPopover/NcPopover.vue"],"sourcesContent":["<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tname: 'NcPopoverTriggerProvider',\n\n\tprovide() {\n\t\treturn {\n\t\t\t'NcPopover:trigger:shown': () => this.shown,\n\t\t\t'NcPopover:trigger:attrs': () => this.triggerAttrs,\n\t\t}\n\t},\n\n\tprops: {\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\ttriggerAttrs() {\n\t\t\treturn {\n\t\t\t\t'aria-haspopup': this.popupRole,\n\t\t\t\t'aria-expanded': this.shown.toString(),\n\t\t\t}\n\t\t},\n\t},\n\n\trender() {\n\t\t// TODO: Vue 3 - replace with $slots\n\t\treturn this.$scopedSlots.default?.({\n\t\t\tattrs: this.triggerAttrs,\n\t\t})\n\t},\n})\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the floating-vue plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/floating-vue\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\n#### With a `<NcButton>` as a trigger:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\t<form tabindex=\"0\" role=\"dialog\" aria-labelledby=\"popover-example-dialog-header-1\" @submit.prevent>\n\t\t\t\t\t<h2 id=\"popover-example-dialog-header-1\">this is some content</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. <br/>\n\t\t\t\t\t\tVestibulum eget placerat velit.\n\t\t\t\t\t</p>\n\t\t\t\t\t<label>\n\t\t\t\t\t\tLabel element\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"input element\"/>\n\t\t\t\t\t</label>\n\t\t\t\t</form>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Without focus trap:\n\nThe [`focus-trap`](https://github.com/focus-trap/focus-trap) emits an error when used in a non-focusable element tree.\n\nThe prop `:focus-trap=\"false\"` help to prevent it when the default behavior is not relevant.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover :focus-trap=\"false\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Click me!</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\tHi! 🚀\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With passing props to `floating-vue`'s `Dropdown`:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover container=\"body\" :popper-hide-triggers=\"(triggers) => [...triggers, 'click']\" popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template #default>\n\t\t\t\t<NcButton>Click on the button will close NcPopover</NcButton>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With a custom button in as a trigger:\n\nWhen `<NcButton>` is used as a `<NcPopover>` trigger, it injects required for a11y attributes to the button.\n\nIf you are using your own custom button as a trigger make sure to bind `attrs` from the trigger slot props.\nSee code example below.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover>\n\t\t\t<!-- Take \"attrs\" from the slot props -->\n\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t<!-- Bind attrs as the button attrs -->\n\t\t\t\t<button v-bind=\"attrs\">\n\t\t\t\t\tI am a custom button in the trigger\n\t\t\t\t</button>\n\t\t\t</template>\n\n\t\t\tHi! 🚀\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Provide role for the popover content\n\nFor accessibility reasons, popover should have a role. Provide it to the `popup-role` and make sure that the popover content is an element with the same role.\n\nSee: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<!-- Provide popup role -->\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Delete</NcButton>\n\t\t\t</template>\n\n\t\t\t<!-- Popover content should has the same role -->\n\t\t\t<div role=\"dialog\" aria-labelledby=\"popover-example-custom-role-1\" aria-modal=\"true\">\n\t\t\t\t<!-- This is not required but better to provide a label -->\n\t\t\t\t<header id=\"popover-example-custom-role-1\">\n\t\t\t\t\t<strong>Confirm remove</strong>\n\t\t\t\t</header>\n\t\t\t\t<NcButton type=\"danger\">Delete</NcButton>\n\t\t\t</div>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<Dropdown ref=\"popover\"\n\t\t:distance=\"10\"\n\t\t:arrow-padding=\"10\"\n\t\tv-bind=\"$attrs\"\n\t\t:no-auto-focus=\"true /* Handled by the focus trap */\"\n\t\t:popper-class=\"popoverBaseClass\"\n\t\t:shown=\"internalShown\"\n\t\tv-on=\"$listeners\"\n\t\t@update:shown=\"internalShown = $event\"\n\t\t@apply-show=\"afterShow\"\n\t\t@apply-hide=\"afterHide\">\n\t\t<NcPopoverTriggerProvider v-slot=\"slotProps\" :shown=\"internalShown\" :popup-role=\"popupRole\">\n\t\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t\t<slot name=\"trigger\" v-bind=\"slotProps\" />\n\t\t</NcPopoverTriggerProvider>\n\n\t\t<!-- This will be the content of the popover -->\n\t\t<template #popper>\n\t\t\t<slot />\n\t\t</template>\n\t</Dropdown>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { Dropdown } from 'floating-vue'\nimport { createFocusTrap } from 'focus-trap'\nimport { getTrapStack } from '../../utils/focusTrap.js'\nimport NcPopoverTriggerProvider from './NcPopoverTriggerProvider.vue'\n\nexport default {\n\tname: 'NcPopover',\n\n\tcomponents: {\n\t\tDropdown,\n\t\tNcPopoverTriggerProvider,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * Show or hide the popper\n\t\t * @see https://floating-vue.starpad.dev/api/#shown\n\t\t */\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Popup role\n\t\t * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values\n\t\t */\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (value) => ['menu', 'listbox', 'tree', 'grid', 'dialog', 'true'].includes(value),\n\t\t},\n\n\t\tpopoverBaseClass: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Enable popover focus trap\n\t\t */\n\t\tfocusTrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Set element to return focus to after focus trap deactivation\n\t\t *\n\t\t * @type {import('focus-trap').FocusTargetValueOrFalse}\n\t\t */\n\t\tsetReturnFocus: {\n\t\t\tdefault: undefined,\n\t\t\ttype: [HTMLElement, SVGElement, String, Boolean],\n\t\t},\n\t},\n\n\temits: [\n\t\t'after-show',\n\t\t'after-hide',\n\t\t/**\n\t\t * @see https://floating-vue.starpad.dev/api/#update-shown\n\t\t */\n\t\t'update:shown',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tinternalShown: this.shown,\n\t\t}\n\t},\n\n\twatch: {\n\t\tshown(value) {\n\t\t\tthis.internalShown = value\n\t\t},\n\n\t\tinternalShown(value) {\n\t\t\tthis.$emit('update:shown', value)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.checkTriggerA11y()\n\t},\n\n\tbeforeDestroy() {\n\t\tthis.clearFocusTrap()\n\t\tthis.clearEscapeStopPropagation()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if the trigger has all required a11y attributes.\n\t\t * Important to check custom trigger button.\n\t\t */\n\t\tcheckTriggerA11y() {\n\t\t\tif (window.OC?.debug) {\n\t\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\t\tconst requiredTriggerButton = triggerContainer.querySelector('[aria-expanded]')\n\t\t\t\tif (!requiredTriggerButton) {\n\t\t\t\t\tVue.util.warn('It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example.')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove incorrect aria-describedby attribute from the trigger.\n\t\t * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734\n\t\t */\n\t\tremoveFloatingVueAriaDescribedBy() {\n\t\t\t// When the popover is shown, floating-vue mutates the root elements of the trigger adding data-popper-shown and incorrect aria-describedby attributes.\n\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\tconst triggerElements = triggerContainer.querySelectorAll('[data-popper-shown]')\n\t\t\tfor (const el of triggerElements) {\n\t\t\t\tel.removeAttribute('aria-describedby')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverContentElement() {\n\t\t\treturn this.$refs.popover?.$refs.popperContent?.$el\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverTriggerContainerElement() {\n\t\t\t// TODO: Vue 3: should be\n\t\t\t// this.$refs.popover.$refs.popper.$refs.reference\n\t\t\treturn this.$refs.popover.$refs.reference\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tawait this.$nextTick()\n\n\t\t\tif (!this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst el = this.getPopoverContentElement()\n\n\t\t\tif (!el) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Init focus trap\n\t\t\tthis.$focusTrap = createFocusTrap(el, {\n\t\t\t\t// Prevents to lose focus using esc key\n\t\t\t\t// Focus will be release when popover be hide\n\t\t\t\tescapeDeactivates: false,\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tsetReturnFocus: this.setReturnFocus,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t})\n\t\t\tthis.$focusTrap.activate()\n\t\t},\n\n\t\t/**\n\t\t * Remove focus trap\n\t\t *\n\t\t * @param {object} options The configuration options for focusTrap\n\t\t */\n\t\tclearFocusTrap(options = {}) {\n\t\t\ttry {\n\t\t\t\tthis.$focusTrap?.deactivate(options)\n\t\t\t\tthis.$focusTrap = null\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(err)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add stopPropagation for Escape.\n\t\t * It prevents global Escape handling after closing popover.\n\t\t *\n\t\t * Manual event handling is used here instead of v-on because there is no direct access to the node.\n\t\t * Alternative - wrap <template #popover> in a div wrapper.\n\t\t */\n\t\taddEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.addEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * Remove stop Escape handler\n\t\t */\n\t\tclearEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.removeEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * @param {KeyboardEvent} event - native keydown event\n\t\t */\n\t\tstopKeydownEscapeHandler(event) {\n\t\t\tif (event.type === 'keydown' && event.key === 'Escape') {\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\n\t\tafterShow() {\n\t\t\tthis.removeFloatingVueAriaDescribedBy()\n\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t/**\n\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t *\n\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t */\n\t\t\t\tthis.$emit('after-show')\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.addEscapeStopPropagation()\n\t\t\t})\n\t\t},\n\t\tafterHide() {\n\t\t\t/**\n\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t */\n\t\t\tthis.$emit('after-hide')\n\t\t\tthis.clearFocusTrap()\n\t\t\tthis.clearEscapeStopPropagation()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","defineComponent","Dropdown","NcPopoverTriggerProvider","value","Vue","triggerElements","el","createFocusTrap","getTrapStack","options","err","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcPopover-h-t7Dnjk.cjs","sources":["../../src/components/NcPopover/NcPopoverTriggerProvider.vue","../../src/components/NcPopover/NcPopover.vue"],"sourcesContent":["<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tname: 'NcPopoverTriggerProvider',\n\n\tprovide() {\n\t\treturn {\n\t\t\t'NcPopover:trigger:shown': () => this.shown,\n\t\t\t'NcPopover:trigger:attrs': () => this.triggerAttrs,\n\t\t}\n\t},\n\n\tprops: {\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\ttriggerAttrs() {\n\t\t\treturn {\n\t\t\t\t'aria-haspopup': this.popupRole,\n\t\t\t\t'aria-expanded': this.shown.toString(),\n\t\t\t}\n\t\t},\n\t},\n\n\trender() {\n\t\t// TODO: Vue 3 - replace with $slots\n\t\treturn this.$scopedSlots.default?.({\n\t\t\tattrs: this.triggerAttrs,\n\t\t})\n\t},\n})\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the floating-vue plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/floating-vue\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\n#### With a `<NcButton>` as a trigger:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\t<form tabindex=\"0\" role=\"dialog\" aria-labelledby=\"popover-example-dialog-header-1\" @submit.prevent>\n\t\t\t\t\t<h2 id=\"popover-example-dialog-header-1\">this is some content</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. <br/>\n\t\t\t\t\t\tVestibulum eget placerat velit.\n\t\t\t\t\t</p>\n\t\t\t\t\t<label>\n\t\t\t\t\t\tLabel element\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"input element\"/>\n\t\t\t\t\t</label>\n\t\t\t\t</form>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Without focus trap:\n\nThe [`focus-trap`](https://github.com/focus-trap/focus-trap) emits an error when used in a non-focusable element tree.\n\nThe prop `:focus-trap=\"false\"` help to prevent it when the default behavior is not relevant.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover :focus-trap=\"false\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Click me!</NcButton>\n\t\t\t</template>\n\t\t\t<template>\n\t\t\t\tHi! 🚀\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With passing props to `floating-vue`'s `Dropdown`:\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover container=\"body\" :popper-hide-triggers=\"(triggers) => [...triggers, 'click']\" popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>I am the trigger</NcButton>\n\t\t\t</template>\n\t\t\t<template #default>\n\t\t\t\t<NcButton>Click on the button will close NcPopover</NcButton>\n\t\t\t</template>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### With a custom button in as a trigger:\n\nWhen `<NcButton>` is used as a `<NcPopover>` trigger, it injects required for a11y attributes to the button.\n\nIf you are using your own custom button as a trigger make sure to bind `attrs` from the trigger slot props.\nSee code example below.\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<NcPopover>\n\t\t\t<!-- Take \"attrs\" from the slot props -->\n\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t<!-- Bind attrs as the button attrs -->\n\t\t\t\t<button v-bind=\"attrs\">\n\t\t\t\t\tI am a custom button in the trigger\n\t\t\t\t</button>\n\t\t\t</template>\n\n\t\t\tHi! 🚀\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n\n#### Provide role for the popover content\n\nFor accessibility reasons, popover should have a role. Provide it to the `popup-role` and make sure that the popover content is an element with the same role.\n\nSee: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup\n\n```vue\n<template>\n\t<div style=\"display: flex\">\n\t\t<!-- Provide popup role -->\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton>Delete</NcButton>\n\t\t\t</template>\n\n\t\t\t<!-- Popover content should has the same role -->\n\t\t\t<div role=\"dialog\" aria-labelledby=\"popover-example-custom-role-1\" aria-modal=\"true\">\n\t\t\t\t<!-- This is not required but better to provide a label -->\n\t\t\t\t<header id=\"popover-example-custom-role-1\">\n\t\t\t\t\t<strong>Confirm remove</strong>\n\t\t\t\t</header>\n\t\t\t\t<NcButton type=\"danger\">Delete</NcButton>\n\t\t\t</div>\n\t\t</NcPopover>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<Dropdown ref=\"popover\"\n\t\t:distance=\"10\"\n\t\t:arrow-padding=\"10\"\n\t\tv-bind=\"$attrs\"\n\t\t:no-auto-focus=\"true /* Handled by the focus trap */\"\n\t\t:popper-class=\"popoverBaseClass\"\n\t\t:shown=\"internalShown\"\n\t\tv-on=\"$listeners\"\n\t\t@update:shown=\"internalShown = $event\"\n\t\t@apply-show=\"afterShow\"\n\t\t@apply-hide=\"afterHide\">\n\t\t<NcPopoverTriggerProvider v-slot=\"slotProps\" :shown=\"internalShown\" :popup-role=\"popupRole\">\n\t\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t\t<slot name=\"trigger\" v-bind=\"slotProps\" />\n\t\t</NcPopoverTriggerProvider>\n\n\t\t<!-- This will be the content of the popover -->\n\t\t<template #popper>\n\t\t\t<slot />\n\t\t</template>\n\t</Dropdown>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { Dropdown } from 'floating-vue'\nimport { createFocusTrap } from 'focus-trap'\nimport { getTrapStack } from '../../utils/focusTrap.js'\nimport NcPopoverTriggerProvider from './NcPopoverTriggerProvider.vue'\n\nexport default {\n\tname: 'NcPopover',\n\n\tcomponents: {\n\t\tDropdown,\n\t\tNcPopoverTriggerProvider,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * Show or hide the popper\n\t\t * @see https://floating-vue.starpad.dev/api/#shown\n\t\t */\n\t\tshown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Popup role\n\t\t * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values\n\t\t */\n\t\tpopupRole: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (value) => ['menu', 'listbox', 'tree', 'grid', 'dialog', 'true'].includes(value),\n\t\t},\n\n\t\tpopoverBaseClass: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Enable popover focus trap\n\t\t */\n\t\tfocusTrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Set element to return focus to after focus trap deactivation\n\t\t *\n\t\t * @type {import('focus-trap').FocusTargetValueOrFalse}\n\t\t */\n\t\tsetReturnFocus: {\n\t\t\tdefault: undefined,\n\t\t\ttype: [HTMLElement, SVGElement, String, Boolean],\n\t\t},\n\t},\n\n\temits: [\n\t\t'after-show',\n\t\t'after-hide',\n\t\t/**\n\t\t * @see https://floating-vue.starpad.dev/api/#update-shown\n\t\t */\n\t\t'update:shown',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tinternalShown: this.shown,\n\t\t}\n\t},\n\n\twatch: {\n\t\tshown(value) {\n\t\t\tthis.internalShown = value\n\t\t},\n\n\t\tinternalShown(value) {\n\t\t\tthis.$emit('update:shown', value)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.checkTriggerA11y()\n\t},\n\n\tbeforeDestroy() {\n\t\tthis.clearFocusTrap()\n\t\tthis.clearEscapeStopPropagation()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if the trigger has all required a11y attributes.\n\t\t * Important to check custom trigger button.\n\t\t */\n\t\tcheckTriggerA11y() {\n\t\t\tif (window.OC?.debug) {\n\t\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\t\tconst requiredTriggerButton = triggerContainer.querySelector('[aria-expanded]')\n\t\t\t\tif (!requiredTriggerButton) {\n\t\t\t\t\tVue.util.warn('It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example.')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove incorrect aria-describedby attribute from the trigger.\n\t\t * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734\n\t\t */\n\t\tremoveFloatingVueAriaDescribedBy() {\n\t\t\t// When the popover is shown, floating-vue mutates the root elements of the trigger adding data-popper-shown and incorrect aria-describedby attributes.\n\t\t\tconst triggerContainer = this.getPopoverTriggerContainerElement()\n\t\t\tconst triggerElements = triggerContainer.querySelectorAll('[data-popper-shown]')\n\t\t\tfor (const el of triggerElements) {\n\t\t\t\tel.removeAttribute('aria-describedby')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverContentElement() {\n\t\t\treturn this.$refs.popover?.$refs.popperContent?.$el\n\t\t},\n\n\t\t/**\n\t\t * @return {HTMLElement|undefined}\n\t\t */\n\t\tgetPopoverTriggerContainerElement() {\n\t\t\t// TODO: Vue 3: should be\n\t\t\t// this.$refs.popover.$refs.popper.$refs.reference\n\t\t\treturn this.$refs.popover.$refs.reference\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tawait this.$nextTick()\n\n\t\t\tif (!this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst el = this.getPopoverContentElement()\n\n\t\t\tif (!el) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Init focus trap\n\t\t\tthis.$focusTrap = createFocusTrap(el, {\n\t\t\t\t// Prevents to lose focus using esc key\n\t\t\t\t// Focus will be release when popover be hide\n\t\t\t\tescapeDeactivates: false,\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tsetReturnFocus: this.setReturnFocus,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t})\n\t\t\tthis.$focusTrap.activate()\n\t\t},\n\n\t\t/**\n\t\t * Remove focus trap\n\t\t *\n\t\t * @param {object} options The configuration options for focusTrap\n\t\t */\n\t\tclearFocusTrap(options = {}) {\n\t\t\ttry {\n\t\t\t\tthis.$focusTrap?.deactivate(options)\n\t\t\t\tthis.$focusTrap = null\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(err)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add stopPropagation for Escape.\n\t\t * It prevents global Escape handling after closing popover.\n\t\t *\n\t\t * Manual event handling is used here instead of v-on because there is no direct access to the node.\n\t\t * Alternative - wrap <template #popover> in a div wrapper.\n\t\t */\n\t\taddEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.addEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * Remove stop Escape handler\n\t\t */\n\t\tclearEscapeStopPropagation() {\n\t\t\tconst el = this.getPopoverContentElement()\n\t\t\tel?.removeEventListener('keydown', this.stopKeydownEscapeHandler)\n\t\t},\n\n\t\t/**\n\t\t * @param {KeyboardEvent} event - native keydown event\n\t\t */\n\t\tstopKeydownEscapeHandler(event) {\n\t\t\tif (event.type === 'keydown' && event.key === 'Escape') {\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\n\t\tafterShow() {\n\t\t\tthis.removeFloatingVueAriaDescribedBy()\n\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t/**\n\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t *\n\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t */\n\t\t\t\tthis.$emit('after-show')\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.addEscapeStopPropagation()\n\t\t\t})\n\t\t},\n\t\tafterHide() {\n\t\t\t/**\n\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t */\n\t\t\tthis.$emit('after-hide')\n\t\t\tthis.clearFocusTrap()\n\t\t\tthis.clearEscapeStopPropagation()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","defineComponent","_b","_a","Dropdown","NcPopoverTriggerProvider","value","Vue","triggerElements","el","createFocusTrap","getTrapStack","options","err","event"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- require('../assets/NcProgressBar-w4-G5gQR.css');
1
+ require('../assets/NcProgressBar-DDj4bmBB.css');
2
2
  "use strict";
3
- const o = require("vue"), u = require("./_plugin-vue2_normalizer-DCfUPqga.cjs"), t = {
3
+ const o = require("vue"), u = require("./_plugin-vue2_normalizer-GXKvuwrq.cjs"), t = {
4
4
  name: "NcProgressBar",
5
5
  props: {
6
6
  /**
@@ -81,7 +81,7 @@ t.setup = i ? (e, r) => (a(), i(e, r)) : a;
81
81
  const c = t;
82
82
  var n = function() {
83
83
  var r = this, s = r._self._c;
84
- return r.type === "circular" ? s("span", { staticClass: "progress-bar progress-bar--circular", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { role: "progressbar", "aria-valuenow": r.value } }, [s("svg", { attrs: { height: r.height, width: r.height } }, [s("circle", { attrs: { stroke: "currentColor", fill: "transparent", "stroke-dasharray": `${r.progress * r.circumference} ${(1 - r.progress) * r.circumference}`, "stroke-dashoffset": 0.25 * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } }), s("circle", { attrs: { stroke: "var(--color-background-darker)", fill: "transparent", "stroke-dasharray": `${(1 - r.progress) * r.circumference} ${r.progress * r.circumference}`, "stroke-dashoffset": (0.25 - r.progress) * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } })])]) : s("progress", { staticClass: "progress-bar progress-bar--linear vue", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { max: "100" }, domProps: { value: r.value } });
84
+ return r.type === "circular" ? s("span", { staticClass: "progress-bar progress-bar--circular", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { role: "progressbar", "aria-valuenow": r.value } }, [s("svg", { attrs: { height: r.height, width: r.height } }, [s("circle", { attrs: { stroke: "currentColor", fill: "transparent", "stroke-dasharray": "".concat(r.progress * r.circumference, " ").concat((1 - r.progress) * r.circumference), "stroke-dashoffset": 0.25 * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } }), s("circle", { attrs: { stroke: "var(--color-background-darker)", fill: "transparent", "stroke-dasharray": "".concat((1 - r.progress) * r.circumference, " ").concat(r.progress * r.circumference), "stroke-dashoffset": (0.25 - r.progress) * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } })])]) : s("progress", { staticClass: "progress-bar progress-bar--linear vue", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { max: "100" }, domProps: { value: r.value } });
85
85
  }, l = [], d = /* @__PURE__ */ u.normalizeComponent(
86
86
  c,
87
87
  n,
@@ -1 +1 @@
1
- {"version":3,"file":"NcProgressBar-BthaVVHU.cjs","sources":["../../src/components/NcProgressBar/NcProgressBar.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @copyright Copyright (c) 2024 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n - @author Raimund Schlüßler\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\nThis is a simple progress bar component.\n## Usage:\n\n### Linear\n```vue\n<template>\n\t<span>\n\t\tSmall\n\t\t<NcProgressBar :value=\"20\" />\n\t\t<br>\n\t\tMedium\n\t\t<NcProgressBar :value=\"60\" size=\"medium\" />\n\t\t<br>\n\t\tMedium with color\n\t\t<NcProgressBar :value=\"55\" size=\"medium\" color=\"green\" />\n\t\t<br>\n\t\tError\n\t\t<NcProgressBar :value=\"80\" :error=\"true\" />\n\t</span>\n</template>\n```\n\n### Circular\n```vue\n<template>\n\t<span>\n\t\tDefault\n\t\t<NcProgressBar type=\"circular\" :value=\"55\" />\n\t\t<br />\n\t\tColor\n\t\t<NcProgressBar type=\"circular\" :value=\"70\" color=\"green\" />\n\t\t<br />\n\t\tError\n\t\t<NcProgressBar type=\"circular\" :value=\"60\" :error=\"true\" />\n\t</span>\n</template>\n```\n</docs>\n\n<template>\n\t<span v-if=\"type === 'circular'\"\n\t\trole=\"progressbar\"\n\t\t:aria-valuenow=\"value\"\n\t\t:style=\"{ '--progress-bar-height': height + 'px' }\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\tclass=\"progress-bar progress-bar--circular\">\n\t\t<svg :height=\"height\"\n\t\t\t:width=\"height\">\n\t\t\t<circle stroke=\"currentColor\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${progress * circumference} ${(1 - progress) * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"0.25*circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t\t<circle stroke=\"var(--color-background-darker)\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${(1 - progress) * circumference} ${progress * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"(0.25 - progress) * circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t</svg>\n\t</span>\n\t<progress v-else\n\t\tclass=\"progress-bar progress-bar--linear vue\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\t:style=\"{'--progress-bar-height': height + 'px' }\"\n\t\t:value=\"value\"\n\t\tmax=\"100\" />\n</template>\n\n<script>\nexport default {\n\n\tname: 'NcProgressBar',\n\n\tprops: {\n\t\t/**\n\t\t * An integer between 1 and 100\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t\tvalidator(value) {\n\t\t\t\treturn value >= 0\n\t\t\t\t\t&& value <= 100\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Determines the height of the progressbar.\n\t\t * Possible values:\n\t\t * - 'small' (default)\n\t\t * - 'medium'\n\t\t * - Number\n\t\t * @type {'small'|'medium'|number}\n\t\t */\n\t\tsize: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 'small',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['small', 'medium'].includes(value) || typeof value === 'number'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Applies an error color to the progressbar if true.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * ProgressBar type\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'linear',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['linear', 'circular'].includes(value)\n\t\t\t},\n\t\t},\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tstroke: 4,\n\t\t}\n\t},\n\tcomputed: {\n\t\theight() {\n\t\t\tif (this.type === 'circular') {\n\t\t\t\tif (Number.isInteger(this.size)) {\n\t\t\t\t\treturn this.size\n\t\t\t\t}\n\t\t\t\treturn 44\n\t\t\t}\n\t\t\tif (this.size === 'small') {\n\t\t\t\treturn 4\n\t\t\t} else if (this.size === 'medium') {\n\t\t\t\treturn 6\n\t\t\t}\n\t\t\treturn this.size\n\t\t},\n\t\tprogress() {\n\t\t\treturn this.value / 100\n\t\t},\n\t\tradius() {\n\t\t\treturn this.height / 2\n\t\t},\n\t\tradiusNormalized() {\n\t\t\treturn this.radius - 3 * this.stroke\n\t\t},\n\t\tcircumference() {\n\t\t\treturn this.radiusNormalized * 2 * Math.PI\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.progress-bar {\n\tdisplay: block;\n\theight: var(--progress-bar-height);\n\n\t--progress-bar-color: v-bind(color);\n\n\t&--linear {\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tbackground: var(--color-background-dark);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\n\t\t// Browser specific rules\n\t\t&::-webkit-progress-bar {\n\t\t\theight: var(--progress-bar-height);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t}\n\t&--circular {\n\t\twidth: var(--progress-bar-height);\n\t\tcolor: var(--progress-bar-color, var(--color-primary-element));\n\t}\n\t&--error {\n\t\tcolor: var(--color-error) !important;\n\t\t// Override previous values\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["__default__","value"],"mappings":";iFAoGAA,IAAA;AAAA,EAEA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAC,GAAA;AACA,eAAAA,KAAA,KACAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,SAAA,QAAA,EAAA,SAAAA,CAAA,KAAA,OAAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,UAAA,UAAA,EAAA,SAAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AACA,WAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA,aACA,OAAA,UAAA,KAAA,IAAA,IACA,KAAA,OAEA,KAEA,KAAA,SAAA,UACA,IACA,KAAA,SAAA,WACA,IAEA,KAAA;AAAA,IACA;AAAA,IACA,WAAA;AACA,aAAA,KAAA,QAAA;AAAA,IACA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,SAAA,IAAA,KAAA;AAAA,IACA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,mBAAA,IAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcProgressBar-BYk5hfPI.cjs","sources":["../../src/components/NcProgressBar/NcProgressBar.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @copyright Copyright (c) 2024 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n - @author Raimund Schlüßler\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\nThis is a simple progress bar component.\n## Usage:\n\n### Linear\n```vue\n<template>\n\t<span>\n\t\tSmall\n\t\t<NcProgressBar :value=\"20\" />\n\t\t<br>\n\t\tMedium\n\t\t<NcProgressBar :value=\"60\" size=\"medium\" />\n\t\t<br>\n\t\tMedium with color\n\t\t<NcProgressBar :value=\"55\" size=\"medium\" color=\"green\" />\n\t\t<br>\n\t\tError\n\t\t<NcProgressBar :value=\"80\" :error=\"true\" />\n\t</span>\n</template>\n```\n\n### Circular\n```vue\n<template>\n\t<span>\n\t\tDefault\n\t\t<NcProgressBar type=\"circular\" :value=\"55\" />\n\t\t<br />\n\t\tColor\n\t\t<NcProgressBar type=\"circular\" :value=\"70\" color=\"green\" />\n\t\t<br />\n\t\tError\n\t\t<NcProgressBar type=\"circular\" :value=\"60\" :error=\"true\" />\n\t</span>\n</template>\n```\n</docs>\n\n<template>\n\t<span v-if=\"type === 'circular'\"\n\t\trole=\"progressbar\"\n\t\t:aria-valuenow=\"value\"\n\t\t:style=\"{ '--progress-bar-height': height + 'px' }\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\tclass=\"progress-bar progress-bar--circular\">\n\t\t<svg :height=\"height\"\n\t\t\t:width=\"height\">\n\t\t\t<circle stroke=\"currentColor\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${progress * circumference} ${(1 - progress) * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"0.25*circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t\t<circle stroke=\"var(--color-background-darker)\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${(1 - progress) * circumference} ${progress * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"(0.25 - progress) * circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t</svg>\n\t</span>\n\t<progress v-else\n\t\tclass=\"progress-bar progress-bar--linear vue\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\t:style=\"{'--progress-bar-height': height + 'px' }\"\n\t\t:value=\"value\"\n\t\tmax=\"100\" />\n</template>\n\n<script>\nexport default {\n\n\tname: 'NcProgressBar',\n\n\tprops: {\n\t\t/**\n\t\t * An integer between 1 and 100\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t\tvalidator(value) {\n\t\t\t\treturn value >= 0\n\t\t\t\t\t&& value <= 100\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Determines the height of the progressbar.\n\t\t * Possible values:\n\t\t * - 'small' (default)\n\t\t * - 'medium'\n\t\t * - Number\n\t\t * @type {'small'|'medium'|number}\n\t\t */\n\t\tsize: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 'small',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['small', 'medium'].includes(value) || typeof value === 'number'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Applies an error color to the progressbar if true.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * ProgressBar type\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'linear',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['linear', 'circular'].includes(value)\n\t\t\t},\n\t\t},\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tstroke: 4,\n\t\t}\n\t},\n\tcomputed: {\n\t\theight() {\n\t\t\tif (this.type === 'circular') {\n\t\t\t\tif (Number.isInteger(this.size)) {\n\t\t\t\t\treturn this.size\n\t\t\t\t}\n\t\t\t\treturn 44\n\t\t\t}\n\t\t\tif (this.size === 'small') {\n\t\t\t\treturn 4\n\t\t\t} else if (this.size === 'medium') {\n\t\t\t\treturn 6\n\t\t\t}\n\t\t\treturn this.size\n\t\t},\n\t\tprogress() {\n\t\t\treturn this.value / 100\n\t\t},\n\t\tradius() {\n\t\t\treturn this.height / 2\n\t\t},\n\t\tradiusNormalized() {\n\t\t\treturn this.radius - 3 * this.stroke\n\t\t},\n\t\tcircumference() {\n\t\t\treturn this.radiusNormalized * 2 * Math.PI\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.progress-bar {\n\tdisplay: block;\n\theight: var(--progress-bar-height);\n\n\t--progress-bar-color: v-bind(color);\n\n\t&--linear {\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tbackground: var(--color-background-dark);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\n\t\t// Browser specific rules\n\t\t&::-webkit-progress-bar {\n\t\t\theight: var(--progress-bar-height);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t}\n\t&--circular {\n\t\twidth: var(--progress-bar-height);\n\t\tcolor: var(--progress-bar-color, var(--color-primary-element));\n\t}\n\t&--error {\n\t\tcolor: var(--color-error) !important;\n\t\t// Override previous values\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["__default__","value"],"mappings":";iFAoGAA,IAAA;AAAA,EAEA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAC,GAAA;AACA,eAAAA,KAAA,KACAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,SAAA,QAAA,EAAA,SAAAA,CAAA,KAAA,OAAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,UAAA,UAAA,EAAA,SAAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AACA,WAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA,aACA,OAAA,UAAA,KAAA,IAAA,IACA,KAAA,OAEA,KAEA,KAAA,SAAA,UACA,IACA,KAAA,SAAA,WACA,IAEA,KAAA;AAAA,IACA;AAAA,IACA,WAAA;AACA,aAAA,KAAA,QAAA;AAAA,IACA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,SAAA,IAAA,KAAA;AAAA,IACA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,mBAAA,IAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
- import '../assets/NcProgressBar-w4-G5gQR.css';
1
+ import '../assets/NcProgressBar-DDj4bmBB.css';
2
2
  import { useCssVars as o } from "vue";
3
- import { n as u } from "./_plugin-vue2_normalizer-u6G_3nkj.mjs";
3
+ import { n as u } from "./_plugin-vue2_normalizer-Bj5bLKV4.mjs";
4
4
  const t = {
5
5
  name: "NcProgressBar",
6
6
  props: {
@@ -82,7 +82,7 @@ t.setup = i ? (e, r) => (a(), i(e, r)) : a;
82
82
  const c = t;
83
83
  var n = function() {
84
84
  var r = this, s = r._self._c;
85
- return r.type === "circular" ? s("span", { staticClass: "progress-bar progress-bar--circular", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { role: "progressbar", "aria-valuenow": r.value } }, [s("svg", { attrs: { height: r.height, width: r.height } }, [s("circle", { attrs: { stroke: "currentColor", fill: "transparent", "stroke-dasharray": `${r.progress * r.circumference} ${(1 - r.progress) * r.circumference}`, "stroke-dashoffset": 0.25 * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } }), s("circle", { attrs: { stroke: "var(--color-background-darker)", fill: "transparent", "stroke-dasharray": `${(1 - r.progress) * r.circumference} ${r.progress * r.circumference}`, "stroke-dashoffset": (0.25 - r.progress) * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } })])]) : s("progress", { staticClass: "progress-bar progress-bar--linear vue", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { max: "100" }, domProps: { value: r.value } });
85
+ return r.type === "circular" ? s("span", { staticClass: "progress-bar progress-bar--circular", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { role: "progressbar", "aria-valuenow": r.value } }, [s("svg", { attrs: { height: r.height, width: r.height } }, [s("circle", { attrs: { stroke: "currentColor", fill: "transparent", "stroke-dasharray": "".concat(r.progress * r.circumference, " ").concat((1 - r.progress) * r.circumference), "stroke-dashoffset": 0.25 * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } }), s("circle", { attrs: { stroke: "var(--color-background-darker)", fill: "transparent", "stroke-dasharray": "".concat((1 - r.progress) * r.circumference, " ").concat(r.progress * r.circumference), "stroke-dashoffset": (0.25 - r.progress) * r.circumference, "stroke-width": r.stroke, r: r.radiusNormalized, cx: r.radius, cy: r.radius } })])]) : s("progress", { staticClass: "progress-bar progress-bar--linear vue", class: { "progress-bar--error": r.error }, style: { "--progress-bar-height": r.height + "px" }, attrs: { max: "100" }, domProps: { value: r.value } });
86
86
  }, l = [], p = /* @__PURE__ */ u(
87
87
  c,
88
88
  n,
@@ -1 +1 @@
1
- {"version":3,"file":"NcProgressBar-h2ufKS6c.mjs","sources":["../../src/components/NcProgressBar/NcProgressBar.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @copyright Copyright (c) 2024 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n - @author Raimund Schlüßler\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\nThis is a simple progress bar component.\n## Usage:\n\n### Linear\n```vue\n<template>\n\t<span>\n\t\tSmall\n\t\t<NcProgressBar :value=\"20\" />\n\t\t<br>\n\t\tMedium\n\t\t<NcProgressBar :value=\"60\" size=\"medium\" />\n\t\t<br>\n\t\tMedium with color\n\t\t<NcProgressBar :value=\"55\" size=\"medium\" color=\"green\" />\n\t\t<br>\n\t\tError\n\t\t<NcProgressBar :value=\"80\" :error=\"true\" />\n\t</span>\n</template>\n```\n\n### Circular\n```vue\n<template>\n\t<span>\n\t\tDefault\n\t\t<NcProgressBar type=\"circular\" :value=\"55\" />\n\t\t<br />\n\t\tColor\n\t\t<NcProgressBar type=\"circular\" :value=\"70\" color=\"green\" />\n\t\t<br />\n\t\tError\n\t\t<NcProgressBar type=\"circular\" :value=\"60\" :error=\"true\" />\n\t</span>\n</template>\n```\n</docs>\n\n<template>\n\t<span v-if=\"type === 'circular'\"\n\t\trole=\"progressbar\"\n\t\t:aria-valuenow=\"value\"\n\t\t:style=\"{ '--progress-bar-height': height + 'px' }\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\tclass=\"progress-bar progress-bar--circular\">\n\t\t<svg :height=\"height\"\n\t\t\t:width=\"height\">\n\t\t\t<circle stroke=\"currentColor\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${progress * circumference} ${(1 - progress) * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"0.25*circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t\t<circle stroke=\"var(--color-background-darker)\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${(1 - progress) * circumference} ${progress * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"(0.25 - progress) * circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t</svg>\n\t</span>\n\t<progress v-else\n\t\tclass=\"progress-bar progress-bar--linear vue\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\t:style=\"{'--progress-bar-height': height + 'px' }\"\n\t\t:value=\"value\"\n\t\tmax=\"100\" />\n</template>\n\n<script>\nexport default {\n\n\tname: 'NcProgressBar',\n\n\tprops: {\n\t\t/**\n\t\t * An integer between 1 and 100\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t\tvalidator(value) {\n\t\t\t\treturn value >= 0\n\t\t\t\t\t&& value <= 100\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Determines the height of the progressbar.\n\t\t * Possible values:\n\t\t * - 'small' (default)\n\t\t * - 'medium'\n\t\t * - Number\n\t\t * @type {'small'|'medium'|number}\n\t\t */\n\t\tsize: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 'small',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['small', 'medium'].includes(value) || typeof value === 'number'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Applies an error color to the progressbar if true.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * ProgressBar type\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'linear',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['linear', 'circular'].includes(value)\n\t\t\t},\n\t\t},\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tstroke: 4,\n\t\t}\n\t},\n\tcomputed: {\n\t\theight() {\n\t\t\tif (this.type === 'circular') {\n\t\t\t\tif (Number.isInteger(this.size)) {\n\t\t\t\t\treturn this.size\n\t\t\t\t}\n\t\t\t\treturn 44\n\t\t\t}\n\t\t\tif (this.size === 'small') {\n\t\t\t\treturn 4\n\t\t\t} else if (this.size === 'medium') {\n\t\t\t\treturn 6\n\t\t\t}\n\t\t\treturn this.size\n\t\t},\n\t\tprogress() {\n\t\t\treturn this.value / 100\n\t\t},\n\t\tradius() {\n\t\t\treturn this.height / 2\n\t\t},\n\t\tradiusNormalized() {\n\t\t\treturn this.radius - 3 * this.stroke\n\t\t},\n\t\tcircumference() {\n\t\t\treturn this.radiusNormalized * 2 * Math.PI\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.progress-bar {\n\tdisplay: block;\n\theight: var(--progress-bar-height);\n\n\t--progress-bar-color: v-bind(color);\n\n\t&--linear {\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tbackground: var(--color-background-dark);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\n\t\t// Browser specific rules\n\t\t&::-webkit-progress-bar {\n\t\t\theight: var(--progress-bar-height);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t}\n\t&--circular {\n\t\twidth: var(--progress-bar-height);\n\t\tcolor: var(--progress-bar-color, var(--color-primary-element));\n\t}\n\t&--error {\n\t\tcolor: var(--color-error) !important;\n\t\t// Override previous values\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["__default__","value"],"mappings":";;AAoGA,MAAAA,IAAA;AAAA,EAEA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAC,GAAA;AACA,eAAAA,KAAA,KACAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,SAAA,QAAA,EAAA,SAAAA,CAAA,KAAA,OAAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,UAAA,UAAA,EAAA,SAAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AACA,WAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA,aACA,OAAA,UAAA,KAAA,IAAA,IACA,KAAA,OAEA,KAEA,KAAA,SAAA,UACA,IACA,KAAA,SAAA,WACA,IAEA,KAAA;AAAA,IACA;AAAA,IACA,WAAA;AACA,aAAA,KAAA,QAAA;AAAA,IACA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,SAAA,IAAA,KAAA;AAAA,IACA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,mBAAA,IAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcProgressBar-DDAeXyp8.mjs","sources":["../../src/components/NcProgressBar/NcProgressBar.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @copyright Copyright (c) 2024 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n - @author Raimund Schlüßler\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\nThis is a simple progress bar component.\n## Usage:\n\n### Linear\n```vue\n<template>\n\t<span>\n\t\tSmall\n\t\t<NcProgressBar :value=\"20\" />\n\t\t<br>\n\t\tMedium\n\t\t<NcProgressBar :value=\"60\" size=\"medium\" />\n\t\t<br>\n\t\tMedium with color\n\t\t<NcProgressBar :value=\"55\" size=\"medium\" color=\"green\" />\n\t\t<br>\n\t\tError\n\t\t<NcProgressBar :value=\"80\" :error=\"true\" />\n\t</span>\n</template>\n```\n\n### Circular\n```vue\n<template>\n\t<span>\n\t\tDefault\n\t\t<NcProgressBar type=\"circular\" :value=\"55\" />\n\t\t<br />\n\t\tColor\n\t\t<NcProgressBar type=\"circular\" :value=\"70\" color=\"green\" />\n\t\t<br />\n\t\tError\n\t\t<NcProgressBar type=\"circular\" :value=\"60\" :error=\"true\" />\n\t</span>\n</template>\n```\n</docs>\n\n<template>\n\t<span v-if=\"type === 'circular'\"\n\t\trole=\"progressbar\"\n\t\t:aria-valuenow=\"value\"\n\t\t:style=\"{ '--progress-bar-height': height + 'px' }\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\tclass=\"progress-bar progress-bar--circular\">\n\t\t<svg :height=\"height\"\n\t\t\t:width=\"height\">\n\t\t\t<circle stroke=\"currentColor\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${progress * circumference} ${(1 - progress) * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"0.25*circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t\t<circle stroke=\"var(--color-background-darker)\"\n\t\t\t\tfill=\"transparent\"\n\t\t\t\t:stroke-dasharray=\"`${(1 - progress) * circumference} ${progress * circumference}`\"\n\t\t\t\t:stroke-dashoffset=\"(0.25 - progress) * circumference\"\n\t\t\t\t:stroke-width=\"stroke\"\n\t\t\t\t:r=\"radiusNormalized\"\n\t\t\t\t:cx=\"radius\"\n\t\t\t\t:cy=\"radius\" />\n\t\t</svg>\n\t</span>\n\t<progress v-else\n\t\tclass=\"progress-bar progress-bar--linear vue\"\n\t\t:class=\"{ 'progress-bar--error': error }\"\n\t\t:style=\"{'--progress-bar-height': height + 'px' }\"\n\t\t:value=\"value\"\n\t\tmax=\"100\" />\n</template>\n\n<script>\nexport default {\n\n\tname: 'NcProgressBar',\n\n\tprops: {\n\t\t/**\n\t\t * An integer between 1 and 100\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t\tvalidator(value) {\n\t\t\t\treturn value >= 0\n\t\t\t\t\t&& value <= 100\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Determines the height of the progressbar.\n\t\t * Possible values:\n\t\t * - 'small' (default)\n\t\t * - 'medium'\n\t\t * - Number\n\t\t * @type {'small'|'medium'|number}\n\t\t */\n\t\tsize: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 'small',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['small', 'medium'].includes(value) || typeof value === 'number'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Applies an error color to the progressbar if true.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * ProgressBar type\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'linear',\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['linear', 'circular'].includes(value)\n\t\t\t},\n\t\t},\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tstroke: 4,\n\t\t}\n\t},\n\tcomputed: {\n\t\theight() {\n\t\t\tif (this.type === 'circular') {\n\t\t\t\tif (Number.isInteger(this.size)) {\n\t\t\t\t\treturn this.size\n\t\t\t\t}\n\t\t\t\treturn 44\n\t\t\t}\n\t\t\tif (this.size === 'small') {\n\t\t\t\treturn 4\n\t\t\t} else if (this.size === 'medium') {\n\t\t\t\treturn 6\n\t\t\t}\n\t\t\treturn this.size\n\t\t},\n\t\tprogress() {\n\t\t\treturn this.value / 100\n\t\t},\n\t\tradius() {\n\t\t\treturn this.height / 2\n\t\t},\n\t\tradiusNormalized() {\n\t\t\treturn this.radius - 3 * this.stroke\n\t\t},\n\t\tcircumference() {\n\t\t\treturn this.radiusNormalized * 2 * Math.PI\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.progress-bar {\n\tdisplay: block;\n\theight: var(--progress-bar-height);\n\n\t--progress-bar-color: v-bind(color);\n\n\t&--linear {\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tbackground: var(--color-background-dark);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\n\t\t// Browser specific rules\n\t\t&::-webkit-progress-bar {\n\t\t\theight: var(--progress-bar-height);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--progress-bar-color, var(--gradient-primary-background));\n\t\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t\t}\n\t}\n\t&--circular {\n\t\twidth: var(--progress-bar-height);\n\t\tcolor: var(--progress-bar-color, var(--color-primary-element));\n\t}\n\t&--error {\n\t\tcolor: var(--color-error) !important;\n\t\t// Override previous values\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["__default__","value"],"mappings":";;AAoGA,MAAAA,IAAA;AAAA,EAEA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAC,GAAA;AACA,eAAAA,KAAA,KACAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,MAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,SAAA,QAAA,EAAA,SAAAA,CAAA,KAAA,OAAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAA,GAAA;AACA,eAAA,CAAA,UAAA,UAAA,EAAA,SAAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AACA,WAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA,aACA,OAAA,UAAA,KAAA,IAAA,IACA,KAAA,OAEA,KAEA,KAAA,SAAA,UACA,IACA,KAAA,SAAA,WACA,IAEA,KAAA;AAAA,IACA;AAAA,IACA,WAAA;AACA,aAAA,KAAA,QAAA;AAAA,IACA;AAAA,IACA,SAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,SAAA,IAAA,KAAA;AAAA,IACA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,mBAAA,IAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}